Patch Detail
Show a patch.
GET /api/1.1/patches/24380/?format=api
{ "id": 24380, "url": "https://patchwork.libcamera.org/api/1.1/patches/24380/?format=api", "web_url": "https://patchwork.libcamera.org/patch/24380/", "project": { "id": 1, "url": "https://patchwork.libcamera.org/api/1.1/projects/1/?format=api", "name": "libcamera", "link_name": "libcamera", "list_id": "libcamera_core", "list_email": "libcamera-devel@lists.libcamera.org", "web_url": "", "scm_url": "", "webscm_url": "" }, "msgid": "<20250917201742.16406-3-laurent.pinchart@ideasonboard.com>", "date": "2025-09-17T20:17:33", "name": "[v3,02/10] Documentation: Add doxygen-awesome-css", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "f986e9fa5dd60df7fce90725c661b312bcac5fbf", "submitter": { "id": 2, "url": "https://patchwork.libcamera.org/api/1.1/people/2/?format=api", "name": "Laurent Pinchart", "email": "laurent.pinchart@ideasonboard.com" }, "delegate": null, "mbox": "https://patchwork.libcamera.org/patch/24380/mbox/", "series": [ { "id": 5448, "url": "https://patchwork.libcamera.org/api/1.1/series/5448/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=5448", "date": "2025-09-17T20:17:31", "name": "Documentation theming update", "version": 3, "mbox": "https://patchwork.libcamera.org/series/5448/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/24380/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/24380/checks/", "tags": {}, "headers": { "Return-Path": "<libcamera-devel-bounces@lists.libcamera.org>", "X-Original-To": "parsemail@patchwork.libcamera.org", "Delivered-To": "parsemail@patchwork.libcamera.org", "Received": [ "from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id B3738C328C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 17 Sep 2025 20:18:21 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id A7E9E6936F;\n\tWed, 17 Sep 2025 22:18:19 +0200 (CEST)", "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 1433C6936E\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 17 Sep 2025 22:18:15 +0200 (CEST)", "from pendragon.ideasonboard.com (81-175-209-231.bb.dnainternet.fi\n\t[81.175.209.231])\n\tby perceval.ideasonboard.com (Postfix) with UTF8SMTPSA id A56616A8;\n\tWed, 17 Sep 2025 22:16:55 +0200 (CEST)" ], "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"UGpMyAEh\"; dkim-atps=neutral", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1758140216;\n\tbh=745inmBe1RlyLeiug21935hYo9v67hBtTW6PDyBhHZY=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=UGpMyAEhd4yBrD58VTcPzyJR3RnF2/YdasfpRf32uaM7904pwdfTin2ZK2B1a5DI3\n\tLz4ND0tkO7vpEQBjEbgQ2B7fAlNMC9iy+6rGc61SdGR8yiUNuKJwBKZXUxGKJmN7PI\n\tSCZc9t+sywrAwK0GWE8EROLtXCWmb1wfzdtDJqH4=", "From": "Laurent Pinchart <laurent.pinchart@ideasonboard.com>", "To": "libcamera-devel@lists.libcamera.org", "Cc": "Stefan Klug <stefan.klug@ideasonboard.com>", "Subject": "[PATCH v3 02/10] Documentation: Add doxygen-awesome-css", "Date": "Wed, 17 Sep 2025 23:17:33 +0300", "Message-ID": "<20250917201742.16406-3-laurent.pinchart@ideasonboard.com>", "X-Mailer": "git-send-email 2.49.1", "In-Reply-To": "<20250917201742.16406-1-laurent.pinchart@ideasonboard.com>", "References": "<20250917201742.16406-1-laurent.pinchart@ideasonboard.com>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=UTF-8", "Content-Transfer-Encoding": "8bit", "X-BeenThere": "libcamera-devel@lists.libcamera.org", "X-Mailman-Version": "2.1.29", "Precedence": "list", "List-Id": "<libcamera-devel.lists.libcamera.org>", "List-Unsubscribe": "<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>", "List-Archive": "<https://lists.libcamera.org/pipermail/libcamera-devel/>", "List-Post": "<mailto:libcamera-devel@lists.libcamera.org>", "List-Help": "<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>", "List-Subscribe": "<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>", "Errors-To": "libcamera-devel-bounces@lists.libcamera.org", "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>" }, "content": "From: Stefan Klug <stefan.klug@ideasonboard.com>\n\nAdd the doxygen-awesome files to the libcamera repository to improve\nthe styling of the doxygen documentation. These are from\n\ncommit 46f0661d13206b0f837784426580c5470ec6d1b7\nAuthor: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\nDate: Thu Sep 11 21:32:39 2025 +0300\n\n Documentation: doxygen-awesome-css: Switch license information to SPDX\n\nof https://github.com/jothepro/doxygen-awesome-css. Only the files\nneeded by libcamera are imported.\n\nSigned-off-by: Stefan Klug <stefan.klug@ideasonboard.com>\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\nSigned-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n---\nChanges since v1:\n\n- Update the doxygen-awesome-css version\n---\n .../doxygen-awesome-sidebar-only.css | 97 +\n .../doxygen-awesome-css/doxygen-awesome.css | 2664 +++++++++++++++++\n 2 files changed, 2761 insertions(+)\n create mode 100644 Documentation/doxygen-awesome-css/doxygen-awesome-sidebar-only.css\n create mode 100644 Documentation/doxygen-awesome-css/doxygen-awesome.css", "diff": "diff --git a/Documentation/doxygen-awesome-css/doxygen-awesome-sidebar-only.css b/Documentation/doxygen-awesome-css/doxygen-awesome-sidebar-only.css\nnew file mode 100644\nindex 000000000000..838fd4aad6ae\n--- /dev/null\n+++ b/Documentation/doxygen-awesome-css/doxygen-awesome-sidebar-only.css\n@@ -0,0 +1,97 @@\n+/* SPDX-License-Identifier: MIT */\n+/**\n+\n+Doxygen Awesome\n+https://github.com/jothepro/doxygen-awesome-css\n+\n+Copyright (c) 2021 - 2023 jothepro\n+\n+ */\n+\n+html {\n+ /* side nav width. MUST be = `TREEVIEW_WIDTH`.\n+ * Make sure it is wide enough to contain the page title (logo + title + version)\n+ */\n+ --side-nav-fixed-width: 335px;\n+ --menu-display: none;\n+\n+ --top-height: 120px;\n+ --toc-sticky-top: -25px;\n+ --toc-max-height: calc(100vh - 2 * var(--spacing-medium) - 25px);\n+}\n+\n+#projectname {\n+ white-space: nowrap;\n+}\n+\n+\n+@media screen and (min-width: 768px) {\n+ html {\n+ --searchbar-background: var(--page-background-color);\n+ }\n+\n+ #side-nav {\n+ min-width: var(--side-nav-fixed-width);\n+ max-width: var(--side-nav-fixed-width);\n+ top: var(--top-height);\n+ overflow: visible;\n+ }\n+\n+ #nav-tree, #side-nav {\n+ height: calc(100vh - var(--top-height)) !important;\n+ }\n+\n+ #nav-tree {\n+ padding: 0;\n+ }\n+\n+ #top {\n+ display: block;\n+ border-bottom: none;\n+ height: var(--top-height);\n+ margin-bottom: calc(0px - var(--top-height));\n+ max-width: var(--side-nav-fixed-width);\n+ overflow: hidden;\n+ background: var(--side-nav-background);\n+ }\n+ #main-nav {\n+ float: left;\n+ padding-right: 0;\n+ }\n+\n+ .ui-resizable-handle {\n+ cursor: default;\n+ width: 1px !important;\n+ background: var(--separator-color);\n+ box-shadow: 0 calc(-2 * var(--top-height)) 0 0 var(--separator-color);\n+ }\n+\n+ #nav-path {\n+ position: fixed;\n+ right: 0;\n+ left: var(--side-nav-fixed-width);\n+ bottom: 0;\n+ width: auto;\n+ }\n+\n+ #doc-content {\n+ height: calc(100vh - 31px) !important;\n+ padding-bottom: calc(3 * var(--spacing-large));\n+ padding-top: calc(var(--top-height) - 80px);\n+ box-sizing: border-box;\n+ margin-left: var(--side-nav-fixed-width) !important;\n+ }\n+\n+ #MSearchBox {\n+ width: calc(var(--side-nav-fixed-width) - calc(2 * var(--spacing-medium)));\n+ }\n+\n+ #MSearchField {\n+ width: calc(var(--side-nav-fixed-width) - calc(2 * var(--spacing-medium)) - 65px);\n+ }\n+\n+ #MSearchResultsWindow {\n+ left: var(--spacing-medium) !important;\n+ right: auto;\n+ }\n+}\ndiff --git a/Documentation/doxygen-awesome-css/doxygen-awesome.css b/Documentation/doxygen-awesome-css/doxygen-awesome.css\nnew file mode 100644\nindex 000000000000..2d5d8352d7cc\n--- /dev/null\n+++ b/Documentation/doxygen-awesome-css/doxygen-awesome.css\n@@ -0,0 +1,2664 @@\n+/* SPDX-License-Identifier: MIT */\n+/**\n+\n+Doxygen Awesome\n+https://github.com/jothepro/doxygen-awesome-css\n+\n+Copyright (c) 2021 - 2023 jothepro\n+\n+*/\n+\n+html {\n+ /* primary theme color. This will affect the entire websites color scheme: links, arrows, labels, ... */\n+ --primary-color: #1779c4;\n+ --primary-dark-color: #335c80;\n+ --primary-light-color: #70b1e9;\n+ --on-primary-color: #ffffff;\n+\n+ /* page base colors */\n+ --page-background-color: #ffffff;\n+ --page-foreground-color: #2f4153;\n+ --page-secondary-foreground-color: #6f7e8e;\n+\n+ /* color for all separators on the website: hr, borders, ... */\n+ --separator-color: #dedede;\n+\n+ /* border radius for all rounded components. Will affect many components, like dropdowns, memitems, codeblocks, ... */\n+ --border-radius-large: 8px;\n+ --border-radius-small: 4px;\n+ --border-radius-medium: 6px;\n+\n+ /* default spacings. Most components reference these values for spacing, to provide uniform spacing on the page. */\n+ --spacing-small: 5px;\n+ --spacing-medium: 10px;\n+ --spacing-large: 16px;\n+\n+ /* default box shadow used for raising an element above the normal content. Used in dropdowns, search result, ... */\n+ --box-shadow: 0 2px 8px 0 rgba(0,0,0,.075);\n+\n+ --odd-color: rgba(0,0,0,.028);\n+\n+ /* font-families. will affect all text on the website\n+ * font-family: the normal font for text, headlines, menus\n+ * font-family-monospace: used for preformatted text in memtitle, code, fragments\n+ */\n+ --font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;\n+ --font-family-monospace: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;\n+\n+ /* font sizes */\n+ --page-font-size: 15.6px;\n+ --navigation-font-size: 14.4px;\n+ --toc-font-size: 13.4px;\n+ --code-font-size: 14px; /* affects code, fragment */\n+ --title-font-size: 22px;\n+\n+ /* content text properties. These only affect the page content, not the navigation or any other ui elements */\n+ --content-line-height: 27px;\n+ /* The content is centered and constraint in it's width. To make the content fill the whole page, set the variable to auto.*/\n+ --content-maxwidth: 1050px;\n+ --table-line-height: 24px;\n+ --toc-sticky-top: var(--spacing-medium);\n+ --toc-width: 200px;\n+ --toc-max-height: calc(100vh - 2 * var(--spacing-medium) - 85px);\n+\n+ /* colors for various content boxes: @warning, @note, @deprecated @bug */\n+ --warning-color: #faf3d8;\n+ --warning-color-dark: #f3a600;\n+ --warning-color-darker: #5f4204;\n+ --note-color: #e4f3ff;\n+ --note-color-dark: #1879C4;\n+ --note-color-darker: #274a5c;\n+ --todo-color: #e4dafd;\n+ --todo-color-dark: #5b2bdd;\n+ --todo-color-darker: #2a0d72;\n+ --deprecated-color: #ecf0f3;\n+ --deprecated-color-dark: #5b6269;\n+ --deprecated-color-darker: #43454a;\n+ --bug-color: #f8d1cc;\n+ --bug-color-dark: #b61825;\n+ --bug-color-darker: #75070f;\n+ --invariant-color: #d8f1e3;\n+ --invariant-color-dark: #44b86f;\n+ --invariant-color-darker: #265532;\n+\n+ /* blockquote colors */\n+ --blockquote-background: #f8f9fa;\n+ --blockquote-foreground: #636568;\n+\n+ /* table colors */\n+ --tablehead-background: #f1f1f1;\n+ --tablehead-foreground: var(--page-foreground-color);\n+\n+ /* menu-display: block | none\n+ * Visibility of the top navigation on screens >= 768px. On smaller screen the menu is always visible.\n+ * `GENERATE_TREEVIEW` MUST be enabled!\n+ */\n+ --menu-display: block;\n+\n+ --menu-focus-foreground: var(--on-primary-color);\n+ --menu-focus-background: var(--primary-color);\n+ --menu-selected-background: rgba(0,0,0,.05);\n+\n+\n+ --header-background: var(--page-background-color);\n+ --header-foreground: var(--page-foreground-color);\n+\n+ /* searchbar colors */\n+ --searchbar-background: var(--side-nav-background);\n+ --searchbar-foreground: var(--page-foreground-color);\n+\n+ /* searchbar size\n+ * (`searchbar-width` is only applied on screens >= 768px.\n+ * on smaller screens the searchbar will always fill the entire screen width) */\n+ --searchbar-height: 33px;\n+ --searchbar-width: 210px;\n+ --searchbar-border-radius: var(--searchbar-height);\n+\n+ /* code block colors */\n+ --code-background: #f5f5f5;\n+ --code-foreground: var(--page-foreground-color);\n+\n+ /* fragment colors */\n+ --fragment-background: #F8F9FA;\n+ --fragment-foreground: #37474F;\n+ --fragment-keyword: #bb6bb2;\n+ --fragment-keywordtype: #8258b3;\n+ --fragment-keywordflow: #d67c3b;\n+ --fragment-token: #438a59;\n+ --fragment-comment: #969696;\n+ --fragment-link: #5383d6;\n+ --fragment-preprocessor: #46aaa5;\n+ --fragment-linenumber-color: #797979;\n+ --fragment-linenumber-background: #f4f4f5;\n+ --fragment-linenumber-border: #e3e5e7;\n+ --fragment-lineheight: 20px;\n+\n+ /* sidebar navigation (treeview) colors */\n+ --side-nav-background: #fbfbfb;\n+ --side-nav-foreground: var(--page-foreground-color);\n+ --side-nav-arrow-opacity: 0;\n+ --side-nav-arrow-hover-opacity: 0.9;\n+\n+ --toc-background: var(--side-nav-background);\n+ --toc-foreground: var(--side-nav-foreground);\n+\n+ /* height of an item in any tree / collapsible table */\n+ --tree-item-height: 30px;\n+\n+ --memname-font-size: var(--code-font-size);\n+ --memtitle-font-size: 18px;\n+\n+ --webkit-scrollbar-size: 7px;\n+ --webkit-scrollbar-padding: 4px;\n+ --webkit-scrollbar-color: var(--separator-color);\n+\n+ --animation-duration: .12s\n+}\n+\n+@media screen and (max-width: 767px) {\n+ html {\n+ --page-font-size: 16px;\n+ --navigation-font-size: 16px;\n+ --toc-font-size: 15px;\n+ --code-font-size: 15px; /* affects code, fragment */\n+ --title-font-size: 22px;\n+ }\n+}\n+\n+@media (prefers-color-scheme: dark) {\n+ html:not(.light-mode) {\n+ color-scheme: dark;\n+\n+ --primary-color: #1982d2;\n+ --primary-dark-color: #86a9c4;\n+ --primary-light-color: #4779ac;\n+\n+ --box-shadow: 0 2px 8px 0 rgba(0,0,0,.35);\n+\n+ --odd-color: rgba(100,100,100,.06);\n+\n+ --menu-selected-background: rgba(0,0,0,.4);\n+\n+ --page-background-color: #1C1D1F;\n+ --page-foreground-color: #d2dbde;\n+ --page-secondary-foreground-color: #859399;\n+ --separator-color: #38393b;\n+ --side-nav-background: #252628;\n+\n+ --code-background: #2a2c2f;\n+\n+ --tablehead-background: #2a2c2f;\n+ \n+ --blockquote-background: #222325;\n+ --blockquote-foreground: #7e8c92;\n+\n+ --warning-color: #3b2e04;\n+ --warning-color-dark: #f1b602;\n+ --warning-color-darker: #ceb670;\n+ --note-color: #163750;\n+ --note-color-dark: #1982D2;\n+ --note-color-darker: #dcf0fa;\n+ --todo-color: #2a2536;\n+ --todo-color-dark: #7661b3;\n+ --todo-color-darker: #ae9ed6;\n+ --deprecated-color: #2e323b;\n+ --deprecated-color-dark: #738396;\n+ --deprecated-color-darker: #abb0bd;\n+ --bug-color: #2e1917;\n+ --bug-color-dark: #ad2617;\n+ --bug-color-darker: #f5b1aa;\n+ --invariant-color: #303a35;\n+ --invariant-color-dark: #76ce96;\n+ --invariant-color-darker: #cceed5;\n+\n+ --fragment-background: #282c34;\n+ --fragment-foreground: #dbe4eb;\n+ --fragment-keyword: #cc99cd;\n+ --fragment-keywordtype: #ab99cd;\n+ --fragment-keywordflow: #e08000;\n+ --fragment-token: #7ec699;\n+ --fragment-comment: #999999;\n+ --fragment-link: #98c0e3;\n+ --fragment-preprocessor: #65cabe;\n+ --fragment-linenumber-color: #cccccc;\n+ --fragment-linenumber-background: #35393c;\n+ --fragment-linenumber-border: #1f1f1f;\n+ }\n+}\n+\n+/* dark mode variables are defined twice, to support both the dark-mode without and with doxygen-awesome-darkmode-toggle.js */\n+html.dark-mode {\n+ color-scheme: dark;\n+\n+ --primary-color: #1982d2;\n+ --primary-dark-color: #86a9c4;\n+ --primary-light-color: #4779ac;\n+\n+ --box-shadow: 0 2px 8px 0 rgba(0,0,0,.30);\n+\n+ --odd-color: rgba(100,100,100,.06);\n+\n+ --menu-selected-background: rgba(0,0,0,.4);\n+\n+ --page-background-color: #1C1D1F;\n+ --page-foreground-color: #d2dbde;\n+ --page-secondary-foreground-color: #859399;\n+ --separator-color: #38393b;\n+ --side-nav-background: #252628;\n+\n+ --code-background: #2a2c2f;\n+\n+ --tablehead-background: #2a2c2f;\n+\n+ --blockquote-background: #222325;\n+ --blockquote-foreground: #7e8c92;\n+\n+ --warning-color: #3b2e04;\n+ --warning-color-dark: #f1b602;\n+ --warning-color-darker: #ceb670;\n+ --note-color: #163750;\n+ --note-color-dark: #1982D2;\n+ --note-color-darker: #dcf0fa;\n+ --todo-color: #2a2536;\n+ --todo-color-dark: #7661b3;\n+ --todo-color-darker: #ae9ed6;\n+ --deprecated-color: #2e323b;\n+ --deprecated-color-dark: #738396;\n+ --deprecated-color-darker: #abb0bd;\n+ --bug-color: #2e1917;\n+ --bug-color-dark: #ad2617;\n+ --bug-color-darker: #f5b1aa;\n+ --invariant-color: #303a35;\n+ --invariant-color-dark: #76ce96;\n+ --invariant-color-darker: #cceed5;\n+\n+ --fragment-background: #282c34;\n+ --fragment-foreground: #dbe4eb;\n+ --fragment-keyword: #cc99cd;\n+ --fragment-keywordtype: #ab99cd;\n+ --fragment-keywordflow: #e08000;\n+ --fragment-token: #7ec699;\n+ --fragment-comment: #999999;\n+ --fragment-link: #98c0e3;\n+ --fragment-preprocessor: #65cabe;\n+ --fragment-linenumber-color: #cccccc;\n+ --fragment-linenumber-background: #35393c;\n+ --fragment-linenumber-border: #1f1f1f;\n+}\n+\n+body {\n+ color: var(--page-foreground-color);\n+ background-color: var(--page-background-color);\n+ font-size: var(--page-font-size);\n+}\n+\n+body, table, div, p, dl, #nav-tree .label, .title,\n+.sm-dox a, .sm-dox a:hover, .sm-dox a:focus, #projectname,\n+.SelectItem, #MSearchField, .navpath li.navelem a,\n+.navpath li.navelem a:hover, p.reference, p.definition, div.toc li, div.toc h3 {\n+ font-family: var(--font-family);\n+}\n+\n+h1, h2, h3, h4, h5 {\n+ margin-top: 1em;\n+ font-weight: 600;\n+ line-height: initial;\n+}\n+\n+p, div, table, dl, p.reference, p.definition {\n+ font-size: var(--page-font-size);\n+}\n+\n+p.reference, p.definition {\n+ color: var(--page-secondary-foreground-color);\n+}\n+\n+a:link, a:visited, a:hover, a:focus, a:active {\n+ color: var(--primary-color) !important;\n+ font-weight: 500;\n+ background: none;\n+}\n+\n+a.anchor {\n+ scroll-margin-top: var(--spacing-large);\n+ display: block;\n+}\n+\n+/*\n+ Title and top navigation\n+ */\n+\n+#top {\n+ background: var(--header-background);\n+ border-bottom: 1px solid var(--separator-color);\n+}\n+\n+@media screen and (min-width: 768px) {\n+ #top {\n+ display: flex;\n+ flex-wrap: wrap;\n+ justify-content: space-between;\n+ align-items: center;\n+ }\n+}\n+\n+#main-nav {\n+ flex-grow: 5;\n+ padding: var(--spacing-small) var(--spacing-medium);\n+}\n+\n+#titlearea {\n+ width: auto;\n+ padding: var(--spacing-medium) var(--spacing-large);\n+ background: none;\n+ color: var(--header-foreground);\n+ border-bottom: none;\n+}\n+\n+@media screen and (max-width: 767px) {\n+ #titlearea {\n+ padding-bottom: var(--spacing-small);\n+ }\n+}\n+\n+#titlearea table tbody tr {\n+ height: auto !important;\n+}\n+\n+#projectname {\n+ font-size: var(--title-font-size);\n+ font-weight: 600;\n+}\n+\n+#projectnumber {\n+ font-family: inherit;\n+ font-size: 60%;\n+}\n+\n+#projectbrief {\n+ font-family: inherit;\n+ font-size: 80%;\n+}\n+\n+#projectlogo {\n+ vertical-align: middle;\n+}\n+\n+#projectlogo img {\n+ max-height: calc(var(--title-font-size) * 2);\n+ margin-right: var(--spacing-small);\n+}\n+\n+.sm-dox, .tabs, .tabs2, .tabs3 {\n+ background: none;\n+ padding: 0;\n+}\n+\n+.tabs, .tabs2, .tabs3 {\n+ border-bottom: 1px solid var(--separator-color);\n+ margin-bottom: -1px;\n+}\n+\n+.main-menu-btn-icon, .main-menu-btn-icon:before, .main-menu-btn-icon:after {\n+ background: var(--page-secondary-foreground-color);\n+}\n+\n+@media screen and (max-width: 767px) {\n+ .sm-dox a span.sub-arrow {\n+ background: var(--code-background);\n+ }\n+\n+ #main-menu a.has-submenu span.sub-arrow {\n+ color: var(--page-secondary-foreground-color);\n+ border-radius: var(--border-radius-medium);\n+ }\n+\n+ #main-menu a.has-submenu:hover span.sub-arrow {\n+ color: var(--page-foreground-color);\n+ }\n+}\n+\n+@media screen and (min-width: 768px) {\n+ .sm-dox li, .tablist li {\n+ display: var(--menu-display);\n+ }\n+\n+ .sm-dox a span.sub-arrow {\n+ border-color: var(--header-foreground) transparent transparent transparent;\n+ }\n+\n+ .sm-dox a:hover span.sub-arrow {\n+ border-color: var(--menu-focus-foreground) transparent transparent transparent;\n+ }\n+\n+ .sm-dox ul a span.sub-arrow {\n+ border-color: transparent transparent transparent var(--page-foreground-color);\n+ }\n+\n+ .sm-dox ul a:hover span.sub-arrow {\n+ border-color: transparent transparent transparent var(--menu-focus-foreground);\n+ }\n+}\n+\n+.sm-dox ul {\n+ background: var(--page-background-color);\n+ box-shadow: var(--box-shadow);\n+ border: 1px solid var(--separator-color);\n+ border-radius: var(--border-radius-medium) !important;\n+ padding: var(--spacing-small);\n+ animation: ease-out 150ms slideInMenu;\n+}\n+\n+@keyframes slideInMenu {\n+ from {\n+ opacity: 0;\n+ transform: translate(0px, -2px);\n+ }\n+\n+ to {\n+ opacity: 1;\n+ transform: translate(0px, 0px);\n+ }\n+}\n+\n+.sm-dox ul a {\n+ color: var(--page-foreground-color) !important;\n+ background: var(--page-background-color);\n+ font-size: var(--navigation-font-size);\n+}\n+\n+.sm-dox>li>ul:after {\n+ border-bottom-color: var(--page-background-color) !important;\n+}\n+\n+.sm-dox>li>ul:before {\n+ border-bottom-color: var(--separator-color) !important;\n+}\n+\n+.sm-dox ul a:hover, .sm-dox ul a:active, .sm-dox ul a:focus {\n+ font-size: var(--navigation-font-size) !important;\n+ color: var(--menu-focus-foreground) !important;\n+ text-shadow: none;\n+ background-color: var(--menu-focus-background);\n+ border-radius: var(--border-radius-small) !important;\n+}\n+\n+.sm-dox a, .sm-dox a:focus, .tablist li, .tablist li a, .tablist li.current a {\n+ text-shadow: none;\n+ background: transparent;\n+ background-image: none !important;\n+ color: var(--header-foreground) !important;\n+ font-weight: normal;\n+ font-size: var(--navigation-font-size);\n+ border-radius: var(--border-radius-small) !important;\n+}\n+\n+.sm-dox a:focus {\n+ outline: auto;\n+}\n+\n+.sm-dox a:hover, .sm-dox a:active, .tablist li a:hover {\n+ text-shadow: none;\n+ font-weight: normal;\n+ background: var(--menu-focus-background);\n+ color: var(--menu-focus-foreground) !important;\n+ border-radius: var(--border-radius-small) !important;\n+ font-size: var(--navigation-font-size);\n+}\n+\n+.tablist li.current {\n+ border-radius: var(--border-radius-small);\n+ background: var(--menu-selected-background);\n+}\n+\n+.tablist li {\n+ margin: var(--spacing-small) 0 var(--spacing-small) var(--spacing-small);\n+}\n+\n+.tablist a {\n+ padding: 0 var(--spacing-large);\n+}\n+\n+\n+/*\n+ Search box\n+ */\n+\n+#MSearchBox {\n+ height: var(--searchbar-height);\n+ background: var(--searchbar-background);\n+ border-radius: var(--searchbar-border-radius);\n+ border: 1px solid var(--separator-color);\n+ overflow: hidden;\n+ width: var(--searchbar-width);\n+ position: relative;\n+ box-shadow: none;\n+ display: block;\n+ margin-top: 0;\n+}\n+\n+/* until Doxygen 1.9.4 */\n+.left img#MSearchSelect {\n+ left: 0;\n+ user-select: none;\n+ padding-left: 8px;\n+}\n+\n+/* Doxygen 1.9.5 */\n+.left span#MSearchSelect {\n+ left: 0;\n+ user-select: none;\n+ margin-left: 8px;\n+ padding: 0;\n+}\n+\n+.left #MSearchSelect[src$=\".png\"] {\n+ padding-left: 0\n+}\n+\n+.SelectionMark {\n+ user-select: none;\n+}\n+\n+.tabs .left #MSearchSelect {\n+ padding-left: 0;\n+}\n+\n+.tabs #MSearchBox {\n+ position: absolute;\n+ right: var(--spacing-medium);\n+}\n+\n+@media screen and (max-width: 767px) {\n+ .tabs #MSearchBox {\n+ position: relative;\n+ right: 0;\n+ margin-left: var(--spacing-medium);\n+ margin-top: 0;\n+ }\n+}\n+\n+#MSearchSelectWindow, #MSearchResultsWindow {\n+ z-index: 9999;\n+}\n+\n+#MSearchBox.MSearchBoxActive {\n+ border-color: var(--primary-color);\n+ box-shadow: inset 0 0 0 1px var(--primary-color);\n+}\n+\n+#main-menu > li:last-child {\n+ margin-right: 0;\n+}\n+\n+@media screen and (max-width: 767px) {\n+ #main-menu > li:last-child {\n+ height: 50px;\n+ }\n+}\n+\n+#MSearchField {\n+ font-size: var(--navigation-font-size);\n+ height: calc(var(--searchbar-height) - 2px);\n+ background: transparent;\n+ width: calc(var(--searchbar-width) - 64px);\n+}\n+\n+.MSearchBoxActive #MSearchField {\n+ color: var(--searchbar-foreground);\n+}\n+\n+#MSearchSelect {\n+ top: calc(calc(var(--searchbar-height) / 2) - 11px);\n+}\n+\n+#MSearchBox span.left, #MSearchBox span.right {\n+ background: none;\n+ background-image: none;\n+}\n+\n+#MSearchBox span.right {\n+ padding-top: calc(calc(var(--searchbar-height) / 2) - 12px);\n+ position: absolute;\n+ right: var(--spacing-small);\n+}\n+\n+.tabs #MSearchBox span.right {\n+ top: calc(calc(var(--searchbar-height) / 2) - 12px);\n+}\n+\n+@keyframes slideInSearchResults {\n+ from {\n+ opacity: 0;\n+ transform: translate(0, 15px);\n+ }\n+\n+ to {\n+ opacity: 1;\n+ transform: translate(0, 20px);\n+ }\n+}\n+\n+#MSearchResultsWindow {\n+ left: auto !important;\n+ right: var(--spacing-medium);\n+ border-radius: var(--border-radius-large);\n+ border: 1px solid var(--separator-color);\n+ transform: translate(0, 20px);\n+ box-shadow: var(--box-shadow);\n+ animation: ease-out 280ms slideInSearchResults;\n+ background: var(--page-background-color);\n+}\n+\n+iframe#MSearchResults {\n+ margin: 4px;\n+}\n+\n+iframe {\n+ color-scheme: normal;\n+}\n+\n+@media (prefers-color-scheme: dark) {\n+ html:not(.light-mode) iframe#MSearchResults {\n+ filter: invert() hue-rotate(180deg);\n+ }\n+}\n+\n+html.dark-mode iframe#MSearchResults {\n+ filter: invert() hue-rotate(180deg);\n+}\n+\n+#MSearchResults .SRPage {\n+ background-color: transparent;\n+}\n+\n+#MSearchResults .SRPage .SREntry {\n+ font-size: 10pt;\n+ padding: var(--spacing-small) var(--spacing-medium);\n+}\n+\n+#MSearchSelectWindow {\n+ border: 1px solid var(--separator-color);\n+ border-radius: var(--border-radius-medium);\n+ box-shadow: var(--box-shadow);\n+ background: var(--page-background-color);\n+ padding-top: var(--spacing-small);\n+ padding-bottom: var(--spacing-small);\n+}\n+\n+#MSearchSelectWindow a.SelectItem {\n+ font-size: var(--navigation-font-size);\n+ line-height: var(--content-line-height);\n+ margin: 0 var(--spacing-small);\n+ border-radius: var(--border-radius-small);\n+ color: var(--page-foreground-color) !important;\n+ font-weight: normal;\n+}\n+\n+#MSearchSelectWindow a.SelectItem:hover {\n+ background: var(--menu-focus-background);\n+ color: var(--menu-focus-foreground) !important;\n+}\n+\n+@media screen and (max-width: 767px) {\n+ #MSearchBox {\n+ margin-top: var(--spacing-medium);\n+ margin-bottom: var(--spacing-medium);\n+ width: calc(100vw - 30px);\n+ }\n+\n+ #main-menu > li:last-child {\n+ float: none !important;\n+ }\n+\n+ #MSearchField {\n+ width: calc(100vw - 110px);\n+ }\n+\n+ @keyframes slideInSearchResultsMobile {\n+ from {\n+ opacity: 0;\n+ transform: translate(0, 15px);\n+ }\n+\n+ to {\n+ opacity: 1;\n+ transform: translate(0, 20px);\n+ }\n+ }\n+\n+ #MSearchResultsWindow {\n+ left: var(--spacing-medium) !important;\n+ right: var(--spacing-medium);\n+ overflow: auto;\n+ transform: translate(0, 20px);\n+ animation: ease-out 280ms slideInSearchResultsMobile;\n+ width: auto !important;\n+ }\n+\n+ /*\n+ * Overwrites for fixing the searchbox on mobile in doxygen 1.9.2\n+ */\n+ label.main-menu-btn ~ #searchBoxPos1 {\n+ top: 3px !important;\n+ right: 6px !important;\n+ left: 45px;\n+ display: flex;\n+ }\n+\n+ label.main-menu-btn ~ #searchBoxPos1 > #MSearchBox {\n+ margin-top: 0;\n+ margin-bottom: 0;\n+ flex-grow: 2;\n+ float: left;\n+ }\n+}\n+\n+/*\n+ Tree view\n+ */\n+\n+#side-nav {\n+ padding: 0 !important;\n+ background: var(--side-nav-background);\n+ min-width: 8px;\n+ max-width: 50vw;\n+}\n+\n+@media screen and (max-width: 767px) {\n+ #side-nav {\n+ display: none;\n+ }\n+\n+ #doc-content {\n+ margin-left: 0 !important;\n+ }\n+}\n+\n+#nav-tree {\n+ background: transparent;\n+ margin-right: 1px;\n+}\n+\n+#nav-tree .label {\n+ font-size: var(--navigation-font-size);\n+}\n+\n+#nav-tree .item {\n+ height: var(--tree-item-height);\n+ line-height: var(--tree-item-height);\n+ overflow: hidden;\n+ text-overflow: ellipsis;\n+}\n+\n+#nav-tree .item > a:focus {\n+ outline: none;\n+}\n+\n+#nav-sync {\n+ bottom: 12px;\n+ right: 12px;\n+ top: auto !important;\n+ user-select: none;\n+}\n+\n+#nav-tree .selected {\n+ text-shadow: none;\n+ background-image: none;\n+ background-color: transparent;\n+ position: relative;\n+ color: var(--primary-color) !important;\n+ font-weight: 500;\n+}\n+\n+#nav-tree .selected::after {\n+ content: \"\";\n+ position: absolute;\n+ top: 1px;\n+ bottom: 1px;\n+ left: 0;\n+ width: 4px;\n+ border-radius: 0 var(--border-radius-small) var(--border-radius-small) 0;\n+ background: var(--primary-color);\n+}\n+\n+\n+#nav-tree a {\n+ color: var(--side-nav-foreground) !important;\n+ font-weight: normal;\n+}\n+\n+#nav-tree a:focus {\n+ outline-style: auto;\n+}\n+\n+#nav-tree .arrow {\n+ opacity: var(--side-nav-arrow-opacity);\n+ background: none;\n+}\n+\n+.arrow {\n+ color: inherit;\n+ cursor: pointer;\n+ font-size: 45%;\n+ vertical-align: middle;\n+ margin-right: 2px;\n+ font-family: serif;\n+ height: auto;\n+ text-align: right;\n+}\n+\n+#nav-tree div.item:hover .arrow, #nav-tree a:focus .arrow {\n+ opacity: var(--side-nav-arrow-hover-opacity);\n+}\n+\n+#nav-tree .selected a {\n+ color: var(--primary-color) !important;\n+ font-weight: bolder;\n+ font-weight: 600;\n+}\n+\n+.ui-resizable-e {\n+ width: 4px;\n+ background: transparent;\n+ box-shadow: inset -1px 0 0 0 var(--separator-color);\n+}\n+\n+/*\n+ Contents\n+ */\n+\n+div.header {\n+ border-bottom: 1px solid var(--separator-color);\n+ background-color: var(--page-background-color);\n+ background-image: none;\n+}\n+\n+@media screen and (min-width: 1000px) {\n+ #doc-content > div > div.contents,\n+ .PageDoc > div.contents {\n+ display: flex;\n+ flex-direction: row-reverse;\n+ flex-wrap: nowrap;\n+ align-items: flex-start;\n+ }\n+ \n+ div.contents .textblock {\n+ min-width: 200px;\n+ flex-grow: 1;\n+ }\n+}\n+\n+div.contents, div.header .title, div.header .summary {\n+ max-width: var(--content-maxwidth);\n+}\n+\n+div.contents, div.header .title {\n+ line-height: initial;\n+ margin: calc(var(--spacing-medium) + .2em) auto var(--spacing-medium) auto;\n+}\n+\n+div.header .summary {\n+ margin: var(--spacing-medium) auto 0 auto;\n+}\n+\n+div.headertitle {\n+ padding: 0;\n+}\n+\n+div.header .title {\n+ font-weight: 600;\n+ font-size: 225%;\n+ padding: var(--spacing-medium) var(--spacing-large);\n+ word-break: break-word;\n+}\n+\n+div.header .summary {\n+ width: auto;\n+ display: block;\n+ float: none;\n+ padding: 0 var(--spacing-large);\n+}\n+\n+td.memSeparator {\n+ border-color: var(--separator-color);\n+}\n+\n+span.mlabel {\n+ background: var(--primary-color);\n+ color: var(--on-primary-color);\n+ border: none;\n+ padding: 4px 9px;\n+ border-radius: 12px;\n+ margin-right: var(--spacing-medium);\n+}\n+\n+span.mlabel:last-of-type {\n+ margin-right: 2px;\n+}\n+\n+div.contents {\n+ padding: 0 var(--spacing-large);\n+}\n+\n+div.contents p, div.contents li {\n+ line-height: var(--content-line-height);\n+}\n+\n+div.contents div.dyncontent {\n+ margin: var(--spacing-medium) 0;\n+}\n+\n+@media (prefers-color-scheme: dark) {\n+ html:not(.light-mode) div.contents div.dyncontent img,\n+ html:not(.light-mode) div.contents center img,\n+ html:not(.light-mode) div.contents > table img,\n+ html:not(.light-mode) div.contents div.dyncontent iframe,\n+ html:not(.light-mode) div.contents center iframe,\n+ html:not(.light-mode) div.contents table iframe,\n+ html:not(.light-mode) div.contents .dotgraph iframe {\n+ filter: brightness(89%) hue-rotate(180deg) invert();\n+ }\n+}\n+\n+html.dark-mode div.contents div.dyncontent img,\n+html.dark-mode div.contents center img,\n+html.dark-mode div.contents > table img,\n+html.dark-mode div.contents div.dyncontent iframe,\n+html.dark-mode div.contents center iframe,\n+html.dark-mode div.contents table iframe,\n+html.dark-mode div.contents .dotgraph iframe\n+ {\n+ filter: brightness(89%) hue-rotate(180deg) invert();\n+}\n+\n+h2.groupheader {\n+ border-bottom: 0px;\n+ color: var(--page-foreground-color);\n+ box-shadow: \n+ 100px 0 var(--page-background-color), \n+ -100px 0 var(--page-background-color),\n+ 100px 0.75px var(--separator-color),\n+ -100px 0.75px var(--separator-color),\n+ 500px 0 var(--page-background-color), \n+ -500px 0 var(--page-background-color),\n+ 500px 0.75px var(--separator-color),\n+ -500px 0.75px var(--separator-color),\n+ 900px 0 var(--page-background-color), \n+ -900px 0 var(--page-background-color),\n+ 900px 0.75px var(--separator-color),\n+ -900px 0.75px var(--separator-color),\n+ 1400px 0 var(--page-background-color),\n+ -1400px 0 var(--page-background-color), \n+ 1400px 0.75px var(--separator-color),\n+ -1400px 0.75px var(--separator-color),\n+ 1900px 0 var(--page-background-color),\n+ -1900px 0 var(--page-background-color),\n+ 1900px 0.75px var(--separator-color),\n+ -1900px 0.75px var(--separator-color);\n+}\n+\n+blockquote {\n+ margin: 0 var(--spacing-medium) 0 var(--spacing-medium);\n+ padding: var(--spacing-small) var(--spacing-large);\n+ background: var(--blockquote-background);\n+ color: var(--blockquote-foreground);\n+ border-left: 0;\n+ overflow: visible;\n+ border-radius: var(--border-radius-medium);\n+ overflow: visible;\n+ position: relative;\n+}\n+\n+blockquote::before, blockquote::after {\n+ font-weight: bold;\n+ font-family: serif;\n+ font-size: 360%;\n+ opacity: .15;\n+ position: absolute;\n+}\n+\n+blockquote::before {\n+ content: \"“\";\n+ left: -10px;\n+ top: 4px;\n+}\n+\n+blockquote::after {\n+ content: \"”\";\n+ right: -8px;\n+ bottom: -25px;\n+}\n+\n+blockquote p {\n+ margin: var(--spacing-small) 0 var(--spacing-medium) 0;\n+}\n+.paramname, .paramname em {\n+ font-weight: 600;\n+ color: var(--primary-dark-color);\n+}\n+\n+.paramname > code {\n+ border: 0;\n+}\n+\n+table.params .paramname {\n+ font-weight: 600;\n+ font-family: var(--font-family-monospace);\n+ font-size: var(--code-font-size);\n+ padding-right: var(--spacing-small);\n+ line-height: var(--table-line-height);\n+}\n+\n+h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow {\n+ text-shadow: 0 0 15px var(--primary-light-color);\n+}\n+\n+.alphachar a {\n+ color: var(--page-foreground-color);\n+}\n+\n+.dotgraph {\n+ max-width: 100%;\n+ overflow-x: scroll;\n+}\n+\n+.dotgraph .caption {\n+ position: sticky;\n+ left: 0;\n+}\n+\n+/* Wrap Graphviz graphs with the `interactive_dotgraph` class if `INTERACTIVE_SVG = YES` */\n+.interactive_dotgraph .dotgraph iframe {\n+ max-width: 100%;\n+}\n+\n+/*\n+ Table of Contents\n+ */\n+\n+div.contents .toc {\n+ max-height: var(--toc-max-height);\n+ min-width: var(--toc-width);\n+ border: 0;\n+ border-left: 1px solid var(--separator-color);\n+ border-radius: 0;\n+ background-color: var(--page-background-color);\n+ box-shadow: none;\n+ position: sticky;\n+ top: var(--toc-sticky-top);\n+ padding: 0 var(--spacing-large);\n+ margin: var(--spacing-small) 0 var(--spacing-large) var(--spacing-large);\n+}\n+\n+div.toc h3 {\n+ color: var(--toc-foreground);\n+ font-size: var(--navigation-font-size);\n+ margin: var(--spacing-large) 0 var(--spacing-medium) 0;\n+}\n+\n+div.toc li {\n+ padding: 0;\n+ background: none;\n+ line-height: var(--toc-font-size);\n+ margin: var(--toc-font-size) 0 0 0;\n+}\n+\n+div.toc li::before {\n+ display: none;\n+}\n+\n+div.toc ul {\n+ margin-top: 0\n+}\n+\n+div.toc li a {\n+ font-size: var(--toc-font-size);\n+ color: var(--page-foreground-color) !important;\n+ text-decoration: none;\n+}\n+\n+div.toc li a:hover, div.toc li a.active {\n+ color: var(--primary-color) !important;\n+}\n+\n+div.toc li a.aboveActive {\n+ color: var(--page-secondary-foreground-color) !important;\n+}\n+\n+\n+@media screen and (max-width: 999px) {\n+ div.contents .toc {\n+ max-height: 45vh;\n+ float: none;\n+ width: auto;\n+ margin: 0 0 var(--spacing-medium) 0;\n+ position: relative;\n+ top: 0;\n+ position: relative;\n+ border: 1px solid var(--separator-color);\n+ border-radius: var(--border-radius-medium);\n+ background-color: var(--toc-background);\n+ box-shadow: var(--box-shadow);\n+ }\n+\n+ div.contents .toc.interactive {\n+ max-height: calc(var(--navigation-font-size) + 2 * var(--spacing-large));\n+ overflow: hidden;\n+ }\n+\n+ div.contents .toc > h3 {\n+ -webkit-tap-highlight-color: transparent;\n+ cursor: pointer;\n+ position: sticky;\n+ top: 0;\n+ background-color: var(--toc-background);\n+ margin: 0;\n+ padding: var(--spacing-large) 0;\n+ display: block;\n+ }\n+\n+ div.contents .toc.interactive > h3::before {\n+ content: \"\";\n+ width: 0; \n+ height: 0; \n+ border-left: 4px solid transparent;\n+ border-right: 4px solid transparent;\n+ border-top: 5px solid var(--primary-color);\n+ display: inline-block;\n+ margin-right: var(--spacing-small);\n+ margin-bottom: calc(var(--navigation-font-size) / 4);\n+ transform: rotate(-90deg);\n+ transition: transform var(--animation-duration) ease-out;\n+ }\n+\n+ div.contents .toc.interactive.open > h3::before {\n+ transform: rotate(0deg);\n+ }\n+\n+ div.contents .toc.interactive.open {\n+ max-height: 45vh;\n+ overflow: auto;\n+ transition: max-height 0.2s ease-in-out;\n+ }\n+\n+ div.contents .toc a, div.contents .toc a.active {\n+ color: var(--primary-color) !important;\n+ }\n+\n+ div.contents .toc a:hover {\n+ text-decoration: underline;\n+ }\n+}\n+\n+/*\n+ Code & Fragments\n+ */\n+\n+code, div.fragment, pre.fragment {\n+ border-radius: var(--border-radius-small);\n+ border: 1px solid var(--separator-color);\n+ overflow: hidden;\n+}\n+\n+code {\n+ display: inline;\n+ background: var(--code-background);\n+ color: var(--code-foreground);\n+ padding: 2px 6px;\n+}\n+\n+div.fragment, pre.fragment {\n+ margin: var(--spacing-medium) 0;\n+ padding: calc(var(--spacing-large) - (var(--spacing-large) / 6)) var(--spacing-large);\n+ background: var(--fragment-background);\n+ color: var(--fragment-foreground);\n+ overflow-x: auto;\n+}\n+\n+@media screen and (max-width: 767px) {\n+ div.fragment, pre.fragment {\n+ border-top-right-radius: 0;\n+ border-bottom-right-radius: 0;\n+ border-right: 0;\n+ }\n+\n+ .contents > div.fragment,\n+ .textblock > div.fragment,\n+ .textblock > pre.fragment,\n+ .textblock > .tabbed > ul > li > div.fragment,\n+ .textblock > .tabbed > ul > li > pre.fragment,\n+ .contents > .doxygen-awesome-fragment-wrapper > div.fragment,\n+ .textblock > .doxygen-awesome-fragment-wrapper > div.fragment,\n+ .textblock > .doxygen-awesome-fragment-wrapper > pre.fragment,\n+ .textblock > .tabbed > ul > li > .doxygen-awesome-fragment-wrapper > div.fragment,\n+ .textblock > .tabbed > ul > li > .doxygen-awesome-fragment-wrapper > pre.fragment {\n+ margin: var(--spacing-medium) calc(0px - var(--spacing-large));\n+ border-radius: 0;\n+ border-left: 0;\n+ }\n+\n+ .textblock li > .fragment,\n+ .textblock li > .doxygen-awesome-fragment-wrapper > .fragment {\n+ margin: var(--spacing-medium) calc(0px - var(--spacing-large));\n+ }\n+\n+ .memdoc li > .fragment,\n+ .memdoc li > .doxygen-awesome-fragment-wrapper > .fragment {\n+ margin: var(--spacing-medium) calc(0px - var(--spacing-medium));\n+ }\n+\n+ .textblock ul, .memdoc ul {\n+ overflow: initial;\n+ }\n+\n+ .memdoc > div.fragment,\n+ .memdoc > pre.fragment,\n+ dl dd > div.fragment,\n+ dl dd pre.fragment,\n+ .memdoc > .doxygen-awesome-fragment-wrapper > div.fragment,\n+ .memdoc > .doxygen-awesome-fragment-wrapper > pre.fragment,\n+ dl dd > .doxygen-awesome-fragment-wrapper > div.fragment,\n+ dl dd .doxygen-awesome-fragment-wrapper > pre.fragment {\n+ margin: var(--spacing-medium) calc(0px - var(--spacing-medium));\n+ border-radius: 0;\n+ border-left: 0;\n+ }\n+}\n+\n+code, code a, pre.fragment, div.fragment, div.fragment .line, div.fragment span, div.fragment .line a, div.fragment .line span {\n+ font-family: var(--font-family-monospace);\n+ font-size: var(--code-font-size) !important;\n+}\n+\n+div.line:after {\n+ margin-right: var(--spacing-medium);\n+}\n+\n+div.fragment .line, pre.fragment {\n+ white-space: pre;\n+ word-wrap: initial;\n+ line-height: var(--fragment-lineheight);\n+}\n+\n+div.fragment span.keyword {\n+ color: var(--fragment-keyword);\n+}\n+\n+div.fragment span.keywordtype {\n+ color: var(--fragment-keywordtype);\n+}\n+\n+div.fragment span.keywordflow {\n+ color: var(--fragment-keywordflow);\n+}\n+\n+div.fragment span.stringliteral {\n+ color: var(--fragment-token)\n+}\n+\n+div.fragment span.comment {\n+ color: var(--fragment-comment);\n+}\n+\n+div.fragment a.code {\n+ color: var(--fragment-link) !important;\n+}\n+\n+div.fragment span.preprocessor {\n+ color: var(--fragment-preprocessor);\n+}\n+\n+div.fragment span.lineno {\n+ display: inline-block;\n+ width: 27px;\n+ border-right: none;\n+ background: var(--fragment-linenumber-background);\n+ color: var(--fragment-linenumber-color);\n+}\n+\n+div.fragment span.lineno a {\n+ background: none;\n+ color: var(--fragment-link) !important;\n+}\n+\n+div.fragment > .line:first-child .lineno {\n+ box-shadow: -999999px 0px 0 999999px var(--fragment-linenumber-background), -999998px 0px 0 999999px var(--fragment-linenumber-border);\n+ background-color: var(--fragment-linenumber-background) !important;\n+}\n+\n+div.line {\n+ border-radius: var(--border-radius-small);\n+}\n+\n+div.line.glow {\n+ background-color: var(--primary-light-color);\n+ box-shadow: none;\n+}\n+\n+/*\n+ dl warning, attention, note, deprecated, bug, ...\n+ */\n+\n+dl.bug dt a, dl.deprecated dt a, dl.todo dt a {\n+ font-weight: bold !important;\n+}\n+\n+dl.warning, dl.attention, dl.note, dl.deprecated, dl.bug, dl.invariant, dl.pre, dl.post, dl.todo, dl.remark {\n+ padding: var(--spacing-medium);\n+ margin: var(--spacing-medium) 0;\n+ color: var(--page-background-color);\n+ overflow: hidden;\n+ margin-left: 0;\n+ border-radius: var(--border-radius-small);\n+}\n+\n+dl.section dd {\n+ margin-bottom: 2px;\n+}\n+\n+dl.warning, dl.attention {\n+ background: var(--warning-color);\n+ border-left: 8px solid var(--warning-color-dark);\n+ color: var(--warning-color-darker);\n+}\n+\n+dl.warning dt, dl.attention dt {\n+ color: var(--warning-color-dark);\n+}\n+\n+dl.note, dl.remark {\n+ background: var(--note-color);\n+ border-left: 8px solid var(--note-color-dark);\n+ color: var(--note-color-darker);\n+}\n+\n+dl.note dt, dl.remark dt {\n+ color: var(--note-color-dark);\n+}\n+\n+dl.todo {\n+ background: var(--todo-color);\n+ border-left: 8px solid var(--todo-color-dark);\n+ color: var(--todo-color-darker);\n+}\n+\n+dl.todo dt a {\n+ color: var(--todo-color-dark) !important;\n+}\n+\n+dl.bug dt a {\n+ color: var(--todo-color-dark) !important;\n+}\n+\n+dl.bug {\n+ background: var(--bug-color);\n+ border-left: 8px solid var(--bug-color-dark);\n+ color: var(--bug-color-darker);\n+}\n+\n+dl.bug dt a {\n+ color: var(--bug-color-dark) !important;\n+}\n+\n+dl.deprecated {\n+ background: var(--deprecated-color);\n+ border-left: 8px solid var(--deprecated-color-dark);\n+ color: var(--deprecated-color-darker);\n+}\n+\n+dl.deprecated dt a {\n+ color: var(--deprecated-color-dark) !important;\n+}\n+\n+dl.section dd, dl.bug dd, dl.deprecated dd, dl.todo dd {\n+ margin-inline-start: 0px;\n+}\n+\n+dl.invariant, dl.pre, dl.post {\n+ background: var(--invariant-color);\n+ border-left: 8px solid var(--invariant-color-dark);\n+ color: var(--invariant-color-darker);\n+}\n+\n+dl.invariant dt, dl.pre dt, dl.post dt {\n+ color: var(--invariant-color-dark);\n+}\n+\n+/*\n+ memitem\n+ */\n+\n+div.memdoc, div.memproto, h2.memtitle {\n+ box-shadow: none;\n+ background-image: none;\n+ border: none;\n+}\n+\n+div.memdoc {\n+ padding: 0 var(--spacing-medium);\n+ background: var(--page-background-color);\n+}\n+\n+h2.memtitle, div.memitem {\n+ border: 1px solid var(--separator-color);\n+ box-shadow: var(--box-shadow);\n+}\n+\n+h2.memtitle {\n+ box-shadow: 0px var(--spacing-medium) 0 -1px var(--fragment-background), var(--box-shadow);\n+}\n+\n+div.memitem {\n+ transition: none;\n+}\n+\n+div.memproto, h2.memtitle {\n+ background: var(--fragment-background);\n+}\n+\n+h2.memtitle {\n+ font-weight: 500;\n+ font-size: var(--memtitle-font-size);\n+ font-family: var(--font-family-monospace);\n+ border-bottom: none;\n+ border-top-left-radius: var(--border-radius-medium);\n+ border-top-right-radius: var(--border-radius-medium);\n+ word-break: break-all;\n+ position: relative;\n+}\n+\n+h2.memtitle:after {\n+ content: \"\";\n+ display: block;\n+ background: var(--fragment-background);\n+ height: var(--spacing-medium);\n+ bottom: calc(0px - var(--spacing-medium));\n+ left: 0;\n+ right: -14px;\n+ position: absolute;\n+ border-top-right-radius: var(--border-radius-medium);\n+}\n+\n+h2.memtitle > span.permalink {\n+ font-size: inherit;\n+}\n+\n+h2.memtitle > span.permalink > a {\n+ text-decoration: none;\n+ padding-left: 3px;\n+ margin-right: -4px;\n+ user-select: none;\n+ display: inline-block;\n+ margin-top: -6px;\n+}\n+\n+h2.memtitle > span.permalink > a:hover {\n+ color: var(--primary-dark-color) !important;\n+}\n+\n+a:target + h2.memtitle, a:target + h2.memtitle + div.memitem {\n+ border-color: var(--primary-light-color);\n+}\n+\n+div.memitem {\n+ border-top-right-radius: var(--border-radius-medium);\n+ border-bottom-right-radius: var(--border-radius-medium);\n+ border-bottom-left-radius: var(--border-radius-medium);\n+ overflow: hidden;\n+ display: block !important;\n+}\n+\n+div.memdoc {\n+ border-radius: 0;\n+}\n+\n+div.memproto {\n+ border-radius: 0 var(--border-radius-small) 0 0;\n+ overflow: auto;\n+ border-bottom: 1px solid var(--separator-color);\n+ padding: var(--spacing-medium);\n+ margin-bottom: -1px;\n+}\n+\n+div.memtitle {\n+ border-top-right-radius: var(--border-radius-medium);\n+ border-top-left-radius: var(--border-radius-medium);\n+}\n+\n+div.memproto table.memname {\n+ font-family: var(--font-family-monospace);\n+ color: var(--page-foreground-color);\n+ font-size: var(--memname-font-size);\n+ text-shadow: none;\n+}\n+\n+div.memproto div.memtemplate {\n+ font-family: var(--font-family-monospace);\n+ color: var(--primary-dark-color);\n+ font-size: var(--memname-font-size);\n+ margin-left: 2px;\n+ text-shadow: none;\n+}\n+\n+table.mlabels, table.mlabels > tbody {\n+ display: block;\n+}\n+\n+td.mlabels-left {\n+ width: auto;\n+}\n+\n+td.mlabels-right {\n+ margin-top: 3px;\n+ position: sticky;\n+ left: 0;\n+}\n+\n+table.mlabels > tbody > tr:first-child {\n+ display: flex;\n+ justify-content: space-between;\n+ flex-wrap: wrap;\n+}\n+\n+.memname, .memitem span.mlabels {\n+ margin: 0\n+}\n+\n+/*\n+ reflist\n+ */\n+\n+dl.reflist {\n+ box-shadow: var(--box-shadow);\n+ border-radius: var(--border-radius-medium);\n+ border: 1px solid var(--separator-color);\n+ overflow: hidden;\n+ padding: 0;\n+}\n+\n+\n+dl.reflist dt, dl.reflist dd {\n+ box-shadow: none;\n+ text-shadow: none;\n+ background-image: none;\n+ border: none;\n+ padding: 12px;\n+}\n+\n+\n+dl.reflist dt {\n+ font-weight: 500;\n+ border-radius: 0;\n+ background: var(--code-background);\n+ border-bottom: 1px solid var(--separator-color);\n+ color: var(--page-foreground-color)\n+}\n+\n+\n+dl.reflist dd {\n+ background: none;\n+}\n+\n+/*\n+ Table\n+ */\n+\n+.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname),\n+.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody {\n+ display: inline-block;\n+ max-width: 100%;\n+}\n+\n+.contents > table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname):not(.classindex) {\n+ margin-left: calc(0px - var(--spacing-large));\n+ margin-right: calc(0px - var(--spacing-large));\n+ max-width: calc(100% + 2 * var(--spacing-large));\n+}\n+\n+table.fieldtable,\n+table.markdownTable tbody,\n+table.doxtable tbody {\n+ border: none;\n+ margin: var(--spacing-medium) 0;\n+ box-shadow: 0 0 0 1px var(--separator-color);\n+ border-radius: var(--border-radius-small);\n+}\n+\n+table.markdownTable, table.doxtable, table.fieldtable {\n+ padding: 1px;\n+}\n+\n+table.doxtable caption {\n+ display: block;\n+}\n+\n+table.fieldtable {\n+ border-collapse: collapse;\n+ width: 100%;\n+}\n+\n+th.markdownTableHeadLeft,\n+th.markdownTableHeadRight,\n+th.markdownTableHeadCenter,\n+th.markdownTableHeadNone,\n+table.doxtable th {\n+ background: var(--tablehead-background);\n+ color: var(--tablehead-foreground);\n+ font-weight: 600;\n+ font-size: var(--page-font-size);\n+}\n+\n+th.markdownTableHeadLeft:first-child,\n+th.markdownTableHeadRight:first-child,\n+th.markdownTableHeadCenter:first-child,\n+th.markdownTableHeadNone:first-child,\n+table.doxtable tr th:first-child {\n+ border-top-left-radius: var(--border-radius-small);\n+}\n+\n+th.markdownTableHeadLeft:last-child,\n+th.markdownTableHeadRight:last-child,\n+th.markdownTableHeadCenter:last-child,\n+th.markdownTableHeadNone:last-child,\n+table.doxtable tr th:last-child {\n+ border-top-right-radius: var(--border-radius-small);\n+}\n+\n+table.markdownTable td,\n+table.markdownTable th,\n+table.fieldtable td,\n+table.fieldtable th,\n+table.doxtable td,\n+table.doxtable th {\n+ border: 1px solid var(--separator-color);\n+ padding: var(--spacing-small) var(--spacing-medium);\n+}\n+\n+table.markdownTable td:last-child,\n+table.markdownTable th:last-child,\n+table.fieldtable td:last-child,\n+table.fieldtable th:last-child,\n+table.doxtable td:last-child,\n+table.doxtable th:last-child {\n+ border-right: none;\n+}\n+\n+table.markdownTable td:first-child,\n+table.markdownTable th:first-child,\n+table.fieldtable td:first-child,\n+table.fieldtable th:first-child,\n+table.doxtable td:first-child,\n+table.doxtable th:first-child {\n+ border-left: none;\n+}\n+\n+table.markdownTable tr:first-child td,\n+table.markdownTable tr:first-child th,\n+table.fieldtable tr:first-child td,\n+table.fieldtable tr:first-child th,\n+table.doxtable tr:first-child td,\n+table.doxtable tr:first-child th {\n+ border-top: none;\n+}\n+\n+table.markdownTable tr:last-child td,\n+table.markdownTable tr:last-child th,\n+table.fieldtable tr:last-child td,\n+table.fieldtable tr:last-child th,\n+table.doxtable tr:last-child td,\n+table.doxtable tr:last-child th {\n+ border-bottom: none;\n+}\n+\n+table.markdownTable tr, table.doxtable tr {\n+ border-bottom: 1px solid var(--separator-color);\n+}\n+\n+table.markdownTable tr:last-child, table.doxtable tr:last-child {\n+ border-bottom: none;\n+}\n+\n+.full_width_table table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) {\n+ display: block;\n+}\n+\n+.full_width_table table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody {\n+ display: table;\n+ width: 100%;\n+}\n+\n+table.fieldtable th {\n+ font-size: var(--page-font-size);\n+ font-weight: 600;\n+ background-image: none;\n+ background-color: var(--tablehead-background);\n+ color: var(--tablehead-foreground);\n+}\n+\n+table.fieldtable td.fieldtype, .fieldtable td.fieldname, .fieldtable td.fieldinit, .fieldtable td.fielddoc, .fieldtable th {\n+ border-bottom: 1px solid var(--separator-color);\n+ border-right: 1px solid var(--separator-color);\n+}\n+\n+table.fieldtable tr:last-child td:first-child {\n+ border-bottom-left-radius: var(--border-radius-small);\n+}\n+\n+table.fieldtable tr:last-child td:last-child {\n+ border-bottom-right-radius: var(--border-radius-small);\n+}\n+\n+.memberdecls td.glow, .fieldtable tr.glow {\n+ background-color: var(--primary-light-color);\n+ box-shadow: none;\n+}\n+\n+table.memberdecls {\n+ display: block;\n+ -webkit-tap-highlight-color: transparent;\n+}\n+\n+table.memberdecls tr[class^='memitem'] {\n+ font-family: var(--font-family-monospace);\n+ font-size: var(--code-font-size);\n+}\n+\n+table.memberdecls tr[class^='memitem'] .memTemplParams {\n+ font-family: var(--font-family-monospace);\n+ font-size: var(--code-font-size);\n+ color: var(--primary-dark-color);\n+ white-space: normal;\n+}\n+\n+table.memberdecls .memItemLeft,\n+table.memberdecls .memItemRight,\n+table.memberdecls .memTemplItemLeft,\n+table.memberdecls .memTemplItemRight,\n+table.memberdecls .memTemplParams {\n+ transition: none;\n+ padding-top: var(--spacing-small);\n+ padding-bottom: var(--spacing-small);\n+ border-top: 1px solid var(--separator-color);\n+ border-bottom: 1px solid var(--separator-color);\n+ background-color: var(--fragment-background);\n+}\n+\n+table.memberdecls .memTemplItemLeft,\n+table.memberdecls .memTemplItemRight {\n+ padding-top: 2px;\n+}\n+\n+table.memberdecls .memTemplParams {\n+ border-bottom: 0;\n+ border-left: 1px solid var(--separator-color);\n+ border-right: 1px solid var(--separator-color);\n+ border-radius: var(--border-radius-small) var(--border-radius-small) 0 0;\n+ padding-bottom: var(--spacing-small);\n+}\n+\n+table.memberdecls .memTemplItemLeft {\n+ border-radius: 0 0 0 var(--border-radius-small);\n+ border-left: 1px solid var(--separator-color);\n+ border-top: 0;\n+}\n+\n+table.memberdecls .memTemplItemRight {\n+ border-radius: 0 0 var(--border-radius-small) 0;\n+ border-right: 1px solid var(--separator-color);\n+ padding-left: 0;\n+ border-top: 0;\n+}\n+\n+table.memberdecls .memItemLeft {\n+ border-radius: var(--border-radius-small) 0 0 var(--border-radius-small);\n+ border-left: 1px solid var(--separator-color);\n+ padding-left: var(--spacing-medium);\n+ padding-right: 0;\n+}\n+\n+table.memberdecls .memItemRight {\n+ border-radius: 0 var(--border-radius-small) var(--border-radius-small) 0;\n+ border-right: 1px solid var(--separator-color);\n+ padding-right: var(--spacing-medium);\n+ padding-left: 0;\n+\n+}\n+\n+table.memberdecls .mdescLeft, table.memberdecls .mdescRight {\n+ background: none;\n+ color: var(--page-foreground-color);\n+ padding: var(--spacing-small) 0;\n+}\n+\n+table.memberdecls .memItemLeft,\n+table.memberdecls .memTemplItemLeft {\n+ padding-right: var(--spacing-medium);\n+}\n+\n+table.memberdecls .memSeparator {\n+ background: var(--page-background-color);\n+ height: var(--spacing-large);\n+ border: 0;\n+ transition: none;\n+}\n+\n+table.memberdecls .groupheader {\n+ margin-bottom: var(--spacing-large);\n+}\n+\n+table.memberdecls .inherit_header td {\n+ padding: 0 0 var(--spacing-medium) 0;\n+ text-indent: -12px;\n+ color: var(--page-secondary-foreground-color);\n+}\n+\n+table.memberdecls img[src=\"closed.png\"],\n+table.memberdecls img[src=\"open.png\"],\n+div.dynheader img[src=\"open.png\"],\n+div.dynheader img[src=\"closed.png\"] {\n+ width: 0; \n+ height: 0; \n+ border-left: 4px solid transparent;\n+ border-right: 4px solid transparent;\n+ border-top: 5px solid var(--primary-color);\n+ margin-top: 8px;\n+ display: block;\n+ float: left;\n+ margin-left: -10px;\n+ transition: transform var(--animation-duration) ease-out;\n+}\n+\n+table.memberdecls img {\n+ margin-right: 10px;\n+}\n+\n+table.memberdecls img[src=\"closed.png\"],\n+div.dynheader img[src=\"closed.png\"] {\n+ transform: rotate(-90deg);\n+ \n+}\n+\n+.compoundTemplParams {\n+ font-family: var(--font-family-monospace);\n+ color: var(--primary-dark-color);\n+ font-size: var(--code-font-size);\n+}\n+\n+@media screen and (max-width: 767px) {\n+\n+ table.memberdecls .memItemLeft,\n+ table.memberdecls .memItemRight,\n+ table.memberdecls .mdescLeft,\n+ table.memberdecls .mdescRight,\n+ table.memberdecls .memTemplItemLeft,\n+ table.memberdecls .memTemplItemRight,\n+ table.memberdecls .memTemplParams {\n+ display: block;\n+ text-align: left;\n+ padding-left: var(--spacing-large);\n+ margin: 0 calc(0px - var(--spacing-large)) 0 calc(0px - var(--spacing-large));\n+ border-right: none;\n+ border-left: none;\n+ border-radius: 0;\n+ white-space: normal;\n+ }\n+\n+ table.memberdecls .memItemLeft,\n+ table.memberdecls .mdescLeft,\n+ table.memberdecls .memTemplItemLeft {\n+ border-bottom: 0;\n+ padding-bottom: 0;\n+ }\n+\n+ table.memberdecls .memTemplItemLeft {\n+ padding-top: 0;\n+ }\n+\n+ table.memberdecls .mdescLeft {\n+ margin-bottom: calc(0px - var(--page-font-size));\n+ }\n+\n+ table.memberdecls .memItemRight, \n+ table.memberdecls .mdescRight,\n+ table.memberdecls .memTemplItemRight {\n+ border-top: 0;\n+ padding-top: 0;\n+ padding-right: var(--spacing-large);\n+ overflow-x: auto;\n+ }\n+\n+ table.memberdecls tr[class^='memitem']:not(.inherit) {\n+ display: block;\n+ width: calc(100vw - 2 * var(--spacing-large));\n+ }\n+\n+ table.memberdecls .mdescRight {\n+ color: var(--page-foreground-color);\n+ }\n+\n+ table.memberdecls tr.inherit {\n+ visibility: hidden;\n+ }\n+\n+ table.memberdecls tr[style=\"display: table-row;\"] {\n+ display: block !important;\n+ visibility: visible;\n+ width: calc(100vw - 2 * var(--spacing-large));\n+ animation: fade .5s;\n+ }\n+\n+ @keyframes fade {\n+ 0% {\n+ opacity: 0;\n+ max-height: 0;\n+ }\n+\n+ 100% {\n+ opacity: 1;\n+ max-height: 200px;\n+ }\n+ }\n+}\n+\n+\n+/*\n+ Horizontal Rule\n+ */\n+\n+hr {\n+ margin-top: var(--spacing-large);\n+ margin-bottom: var(--spacing-large);\n+ height: 1px;\n+ background-color: var(--separator-color);\n+ border: 0;\n+}\n+\n+.contents hr {\n+ box-shadow: 100px 0 var(--separator-color),\n+ -100px 0 var(--separator-color),\n+ 500px 0 var(--separator-color),\n+ -500px 0 var(--separator-color),\n+ 900px 0 var(--separator-color),\n+ -900px 0 var(--separator-color),\n+ 1400px 0 var(--separator-color),\n+ -1400px 0 var(--separator-color),\n+ 1900px 0 var(--separator-color),\n+ -1900px 0 var(--separator-color); \n+}\n+\n+.contents img, .contents .center, .contents center, .contents div.image object {\n+ max-width: 100%;\n+ overflow: auto;\n+}\n+\n+@media screen and (max-width: 767px) {\n+ .contents .dyncontent > .center, .contents > center {\n+ margin-left: calc(0px - var(--spacing-large));\n+ margin-right: calc(0px - var(--spacing-large));\n+ max-width: calc(100% + 2 * var(--spacing-large));\n+ }\n+}\n+\n+/*\n+ Directories\n+ */\n+div.directory {\n+ border-top: 1px solid var(--separator-color);\n+ border-bottom: 1px solid var(--separator-color);\n+ width: auto;\n+}\n+\n+table.directory {\n+ font-family: var(--font-family);\n+ font-size: var(--page-font-size);\n+ font-weight: normal;\n+ width: 100%;\n+}\n+\n+table.directory td.entry, table.directory td.desc {\n+ padding: calc(var(--spacing-small) / 2) var(--spacing-small);\n+ line-height: var(--table-line-height);\n+}\n+\n+table.directory tr.even td:last-child {\n+ border-radius: 0 var(--border-radius-small) var(--border-radius-small) 0;\n+}\n+\n+table.directory tr.even td:first-child {\n+ border-radius: var(--border-radius-small) 0 0 var(--border-radius-small);\n+}\n+\n+table.directory tr.even:last-child td:last-child {\n+ border-radius: 0 var(--border-radius-small) 0 0;\n+}\n+\n+table.directory tr.even:last-child td:first-child {\n+ border-radius: var(--border-radius-small) 0 0 0;\n+}\n+\n+table.directory td.desc {\n+ min-width: 250px;\n+}\n+\n+table.directory tr.even {\n+ background-color: var(--odd-color);\n+}\n+\n+table.directory tr.odd {\n+ background-color: transparent;\n+}\n+\n+.icona {\n+ width: auto;\n+ height: auto;\n+ margin: 0 var(--spacing-small);\n+}\n+\n+.icon {\n+ background: var(--primary-color);\n+ border-radius: var(--border-radius-small);\n+ font-size: var(--page-font-size);\n+ padding: calc(var(--page-font-size) / 5);\n+ line-height: var(--page-font-size);\n+ transform: scale(0.8);\n+ height: auto;\n+ width: var(--page-font-size);\n+ user-select: none;\n+}\n+\n+.iconfopen, .icondoc, .iconfclosed {\n+ background-position: center;\n+ margin-bottom: 0;\n+ height: var(--table-line-height);\n+}\n+\n+.icondoc {\n+ filter: saturate(0.2);\n+}\n+\n+@media screen and (max-width: 767px) {\n+ div.directory {\n+ margin-left: calc(0px - var(--spacing-large));\n+ margin-right: calc(0px - var(--spacing-large));\n+ }\n+}\n+\n+@media (prefers-color-scheme: dark) {\n+ html:not(.light-mode) .iconfopen, html:not(.light-mode) .iconfclosed {\n+ filter: hue-rotate(180deg) invert();\n+ }\n+}\n+\n+html.dark-mode .iconfopen, html.dark-mode .iconfclosed {\n+ filter: hue-rotate(180deg) invert();\n+}\n+\n+/*\n+ Class list\n+ */\n+\n+.classindex dl.odd {\n+ background: var(--odd-color);\n+ border-radius: var(--border-radius-small);\n+}\n+\n+.classindex dl.even {\n+ background-color: transparent;\n+}\n+\n+/* \n+ Class Index Doxygen 1.8 \n+*/\n+\n+table.classindex {\n+ margin-left: 0;\n+ margin-right: 0;\n+ width: 100%;\n+}\n+\n+table.classindex table div.ah {\n+ background-image: none;\n+ background-color: initial;\n+ border-color: var(--separator-color);\n+ color: var(--page-foreground-color);\n+ box-shadow: var(--box-shadow);\n+ border-radius: var(--border-radius-large);\n+ padding: var(--spacing-small);\n+}\n+\n+div.qindex {\n+ background-color: var(--odd-color);\n+ border-radius: var(--border-radius-small);\n+ border: 1px solid var(--separator-color);\n+ padding: var(--spacing-small) 0;\n+}\n+\n+/*\n+ Footer and nav-path\n+ */\n+\n+#nav-path {\n+ width: 100%;\n+}\n+\n+#nav-path ul {\n+ background-image: none;\n+ background: var(--page-background-color);\n+ border: none;\n+ border-top: 1px solid var(--separator-color);\n+ border-bottom: 1px solid var(--separator-color);\n+ border-bottom: 0;\n+ box-shadow: 0 0.75px 0 var(--separator-color);\n+ font-size: var(--navigation-font-size);\n+}\n+\n+img.footer {\n+ width: 60px;\n+}\n+\n+.navpath li.footer {\n+ color: var(--page-secondary-foreground-color);\n+}\n+\n+address.footer {\n+ color: var(--page-secondary-foreground-color);\n+ margin-bottom: var(--spacing-large);\n+}\n+\n+#nav-path li.navelem {\n+ background-image: none;\n+ display: flex;\n+ align-items: center;\n+}\n+\n+.navpath li.navelem a {\n+ text-shadow: none;\n+ display: inline-block;\n+ color: var(--primary-color) !important;\n+}\n+\n+.navpath li.navelem b {\n+ color: var(--primary-dark-color);\n+ font-weight: 500;\n+}\n+\n+li.navelem {\n+ padding: 0;\n+ margin-left: -8px;\n+}\n+\n+li.navelem:first-child {\n+ margin-left: var(--spacing-large);\n+}\n+\n+li.navelem:first-child:before {\n+ display: none;\n+}\n+\n+#nav-path li.navelem:after {\n+ content: '';\n+ border: 5px solid var(--page-background-color);\n+ border-bottom-color: transparent;\n+ border-right-color: transparent;\n+ border-top-color: transparent;\n+ transform: translateY(-1px) scaleY(4.2);\n+ z-index: 10;\n+ margin-left: 6px;\n+}\n+\n+#nav-path li.navelem:before {\n+ content: '';\n+ border: 5px solid var(--separator-color);\n+ border-bottom-color: transparent;\n+ border-right-color: transparent;\n+ border-top-color: transparent;\n+ transform: translateY(-1px) scaleY(3.2);\n+ margin-right: var(--spacing-small);\n+}\n+\n+.navpath li.navelem a:hover {\n+ color: var(--primary-color);\n+}\n+\n+/*\n+ Scrollbars for Webkit\n+*/\n+\n+#nav-tree::-webkit-scrollbar,\n+div.fragment::-webkit-scrollbar,\n+pre.fragment::-webkit-scrollbar,\n+div.memproto::-webkit-scrollbar,\n+.contents center::-webkit-scrollbar,\n+.contents .center::-webkit-scrollbar,\n+.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody::-webkit-scrollbar,\n+div.contents .toc::-webkit-scrollbar,\n+.contents .dotgraph::-webkit-scrollbar,\n+.contents .tabs-overview-container::-webkit-scrollbar {\n+ background: transparent;\n+ width: calc(var(--webkit-scrollbar-size) + var(--webkit-scrollbar-padding) + var(--webkit-scrollbar-padding));\n+ height: calc(var(--webkit-scrollbar-size) + var(--webkit-scrollbar-padding) + var(--webkit-scrollbar-padding));\n+}\n+\n+#nav-tree::-webkit-scrollbar-thumb,\n+div.fragment::-webkit-scrollbar-thumb,\n+pre.fragment::-webkit-scrollbar-thumb,\n+div.memproto::-webkit-scrollbar-thumb,\n+.contents center::-webkit-scrollbar-thumb,\n+.contents .center::-webkit-scrollbar-thumb,\n+.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody::-webkit-scrollbar-thumb,\n+div.contents .toc::-webkit-scrollbar-thumb,\n+.contents .dotgraph::-webkit-scrollbar-thumb,\n+.contents .tabs-overview-container::-webkit-scrollbar-thumb {\n+ background-color: transparent;\n+ border: var(--webkit-scrollbar-padding) solid transparent;\n+ border-radius: calc(var(--webkit-scrollbar-padding) + var(--webkit-scrollbar-padding));\n+ background-clip: padding-box; \n+}\n+\n+#nav-tree:hover::-webkit-scrollbar-thumb,\n+div.fragment:hover::-webkit-scrollbar-thumb,\n+pre.fragment:hover::-webkit-scrollbar-thumb,\n+div.memproto:hover::-webkit-scrollbar-thumb,\n+.contents center:hover::-webkit-scrollbar-thumb,\n+.contents .center:hover::-webkit-scrollbar-thumb,\n+.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody:hover::-webkit-scrollbar-thumb,\n+div.contents .toc:hover::-webkit-scrollbar-thumb,\n+.contents .dotgraph:hover::-webkit-scrollbar-thumb,\n+.contents .tabs-overview-container:hover::-webkit-scrollbar-thumb {\n+ background-color: var(--webkit-scrollbar-color);\n+}\n+\n+#nav-tree::-webkit-scrollbar-track,\n+div.fragment::-webkit-scrollbar-track,\n+pre.fragment::-webkit-scrollbar-track,\n+div.memproto::-webkit-scrollbar-track,\n+.contents center::-webkit-scrollbar-track,\n+.contents .center::-webkit-scrollbar-track,\n+.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody::-webkit-scrollbar-track,\n+div.contents .toc::-webkit-scrollbar-track,\n+.contents .dotgraph::-webkit-scrollbar-track,\n+.contents .tabs-overview-container::-webkit-scrollbar-track {\n+ background: transparent;\n+}\n+\n+#nav-tree::-webkit-scrollbar-corner {\n+ background-color: var(--side-nav-background);\n+}\n+\n+#nav-tree,\n+div.fragment,\n+pre.fragment,\n+div.memproto,\n+.contents center,\n+.contents .center,\n+.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody,\n+div.contents .toc {\n+ overflow-x: auto;\n+ overflow-x: overlay;\n+}\n+\n+#nav-tree {\n+ overflow-x: auto;\n+ overflow-y: auto;\n+ overflow-y: overlay;\n+}\n+\n+/*\n+ Scrollbars for Firefox\n+*/\n+\n+#nav-tree,\n+div.fragment,\n+pre.fragment,\n+div.memproto,\n+.contents center,\n+.contents .center,\n+.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody,\n+div.contents .toc,\n+.contents .dotgraph,\n+.contents .tabs-overview-container {\n+ scrollbar-width: thin;\n+}\n+\n+/*\n+ Optional Dark mode toggle button\n+*/\n+\n+doxygen-awesome-dark-mode-toggle {\n+ display: inline-block;\n+ margin: 0 0 0 var(--spacing-small);\n+ padding: 0;\n+ width: var(--searchbar-height);\n+ height: var(--searchbar-height);\n+ background: none;\n+ border: none;\n+ border-radius: var(--searchbar-height);\n+ vertical-align: middle;\n+ text-align: center;\n+ line-height: var(--searchbar-height);\n+ font-size: 22px;\n+ display: flex;\n+ align-items: center;\n+ justify-content: center;\n+ user-select: none;\n+ cursor: pointer;\n+}\n+\n+doxygen-awesome-dark-mode-toggle > svg {\n+ transition: transform var(--animation-duration) ease-in-out;\n+}\n+\n+doxygen-awesome-dark-mode-toggle:active > svg {\n+ transform: scale(.5);\n+}\n+\n+doxygen-awesome-dark-mode-toggle:hover {\n+ background-color: rgba(0,0,0,.03);\n+}\n+\n+html.dark-mode doxygen-awesome-dark-mode-toggle:hover {\n+ background-color: rgba(0,0,0,.18);\n+}\n+\n+/*\n+ Optional fragment copy button\n+*/\n+.doxygen-awesome-fragment-wrapper {\n+ position: relative;\n+}\n+\n+doxygen-awesome-fragment-copy-button {\n+ opacity: 0;\n+ background: var(--fragment-background);\n+ width: 28px;\n+ height: 28px;\n+ position: absolute;\n+ right: calc(var(--spacing-large) - (var(--spacing-large) / 2.5));\n+ top: calc(var(--spacing-large) - (var(--spacing-large) / 2.5));\n+ border: 1px solid var(--fragment-foreground);\n+ cursor: pointer;\n+ border-radius: var(--border-radius-small);\n+ display: flex;\n+ justify-content: center;\n+ align-items: center;\n+}\n+\n+.doxygen-awesome-fragment-wrapper:hover doxygen-awesome-fragment-copy-button, doxygen-awesome-fragment-copy-button.success {\n+ opacity: .28;\n+}\n+\n+doxygen-awesome-fragment-copy-button:hover, doxygen-awesome-fragment-copy-button.success {\n+ opacity: 1 !important;\n+}\n+\n+doxygen-awesome-fragment-copy-button:active:not([class~=success]) svg {\n+ transform: scale(.91);\n+}\n+\n+doxygen-awesome-fragment-copy-button svg {\n+ fill: var(--fragment-foreground);\n+ width: 18px;\n+ height: 18px;\n+}\n+\n+doxygen-awesome-fragment-copy-button.success svg {\n+ fill: rgb(14, 168, 14);\n+}\n+\n+doxygen-awesome-fragment-copy-button.success {\n+ border-color: rgb(14, 168, 14);\n+}\n+\n+@media screen and (max-width: 767px) {\n+ .textblock > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button,\n+ .textblock li > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button,\n+ .memdoc li > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button,\n+ .memdoc > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button,\n+ dl dd > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button {\n+ right: 0;\n+ }\n+}\n+\n+/*\n+ Optional paragraph link button\n+*/\n+\n+a.anchorlink {\n+ font-size: 90%;\n+ margin-left: var(--spacing-small);\n+ color: var(--page-foreground-color) !important;\n+ text-decoration: none;\n+ opacity: .15;\n+ display: none;\n+ transition: opacity var(--animation-duration) ease-in-out, color var(--animation-duration) ease-in-out;\n+}\n+\n+a.anchorlink svg {\n+ fill: var(--page-foreground-color);\n+}\n+\n+h3 a.anchorlink svg, h4 a.anchorlink svg {\n+ margin-bottom: -3px;\n+ margin-top: -4px;\n+}\n+\n+a.anchorlink:hover {\n+ opacity: .45;\n+}\n+\n+h2:hover a.anchorlink, h1:hover a.anchorlink, h3:hover a.anchorlink, h4:hover a.anchorlink {\n+ display: inline-block;\n+}\n+\n+/*\n+ Optional tab feature\n+*/\n+\n+.tabbed > ul {\n+ padding-inline-start: 0px;\n+ margin: 0;\n+ padding: var(--spacing-small) 0;\n+}\n+\n+.tabbed > ul > li {\n+ display: none;\n+}\n+\n+.tabbed > ul > li.selected {\n+ display: block;\n+}\n+\n+.tabs-overview-container {\n+ overflow-x: auto;\n+ display: block;\n+ overflow-y: visible;\n+}\n+\n+.tabs-overview {\n+ border-bottom: 1px solid var(--separator-color);\n+ display: flex;\n+ flex-direction: row;\n+}\n+\n+@media screen and (max-width: 767px) {\n+ .tabs-overview-container {\n+ margin: 0 calc(0px - var(--spacing-large));\n+ }\n+ .tabs-overview {\n+ padding: 0 var(--spacing-large)\n+ }\n+}\n+\n+.tabs-overview button.tab-button {\n+ color: var(--page-foreground-color);\n+ margin: 0;\n+ border: none;\n+ background: transparent;\n+ padding: calc(var(--spacing-large) / 2) 0;\n+ display: inline-block;\n+ font-size: var(--page-font-size);\n+ cursor: pointer;\n+ box-shadow: 0 1px 0 0 var(--separator-color);\n+ position: relative;\n+ \n+ -webkit-tap-highlight-color: transparent;\n+}\n+\n+.tabs-overview button.tab-button .tab-title::before {\n+ display: block;\n+ content: attr(title);\n+ font-weight: 600;\n+ height: 0;\n+ overflow: hidden;\n+ visibility: hidden;\n+}\n+\n+.tabs-overview button.tab-button .tab-title {\n+ float: left;\n+ white-space: nowrap;\n+ font-weight: normal;\n+ padding: calc(var(--spacing-large) / 2) var(--spacing-large);\n+ border-radius: var(--border-radius-medium);\n+ transition: background-color var(--animation-duration) ease-in-out, font-weight var(--animation-duration) ease-in-out;\n+}\n+\n+.tabs-overview button.tab-button:not(:last-child) .tab-title {\n+ box-shadow: 8px 0 0 -7px var(--separator-color);\n+}\n+\n+.tabs-overview button.tab-button:hover .tab-title {\n+ background: var(--separator-color);\n+ box-shadow: none;\n+}\n+\n+.tabs-overview button.tab-button.active .tab-title {\n+ font-weight: 600;\n+}\n+\n+.tabs-overview button.tab-button::after {\n+ content: '';\n+ display: block;\n+ position: absolute;\n+ left: 0;\n+ bottom: 0;\n+ right: 0;\n+ height: 0;\n+ width: 0%;\n+ margin: 0 auto;\n+ border-radius: var(--border-radius-small) var(--border-radius-small) 0 0;\n+ background-color: var(--primary-color);\n+ transition: width var(--animation-duration) ease-in-out, height var(--animation-duration) ease-in-out;\n+}\n+\n+.tabs-overview button.tab-button.active::after {\n+ width: 100%;\n+ box-sizing: border-box;\n+ height: 3px;\n+}\n+\n+\n+/*\n+ Navigation Buttons\n+*/\n+\n+.section_buttons:not(:empty) {\n+ margin-top: calc(var(--spacing-large) * 3);\n+}\n+\n+.section_buttons table.markdownTable {\n+ display: block;\n+ width: 100%;\n+}\n+\n+.section_buttons table.markdownTable tbody {\n+ display: table !important;\n+ width: 100%;\n+ box-shadow: none;\n+ border-spacing: 10px;\n+}\n+\n+.section_buttons table.markdownTable td {\n+ padding: 0;\n+}\n+\n+.section_buttons table.markdownTable th {\n+ display: none;\n+}\n+\n+.section_buttons table.markdownTable tr.markdownTableHead {\n+ border: none;\n+}\n+\n+.section_buttons tr th, .section_buttons tr td {\n+ background: none;\n+ border: none;\n+ padding: var(--spacing-large) 0 var(--spacing-small);\n+}\n+\n+.section_buttons a {\n+ display: inline-block;\n+ border: 1px solid var(--separator-color);\n+ border-radius: var(--border-radius-medium);\n+ color: var(--page-secondary-foreground-color) !important;\n+ text-decoration: none;\n+ transition: color var(--animation-duration) ease-in-out, background-color var(--animation-duration) ease-in-out;\n+}\n+\n+.section_buttons a:hover {\n+ color: var(--page-foreground-color) !important;\n+ background-color: var(--odd-color);\n+}\n+\n+.section_buttons tr td.markdownTableBodyLeft a {\n+ padding: var(--spacing-medium) var(--spacing-large) var(--spacing-medium) calc(var(--spacing-large) / 2);\n+}\n+\n+.section_buttons tr td.markdownTableBodyRight a {\n+ padding: var(--spacing-medium) calc(var(--spacing-large) / 2) var(--spacing-medium) var(--spacing-large);\n+}\n+\n+.section_buttons tr td.markdownTableBodyLeft a::before,\n+.section_buttons tr td.markdownTableBodyRight a::after {\n+ color: var(--page-secondary-foreground-color) !important;\n+ display: inline-block;\n+ transition: color .08s ease-in-out, transform .09s ease-in-out;\n+}\n+\n+.section_buttons tr td.markdownTableBodyLeft a::before {\n+ content: '〈';\n+ padding-right: var(--spacing-large);\n+}\n+\n+\n+.section_buttons tr td.markdownTableBodyRight a::after {\n+ content: '〉';\n+ padding-left: var(--spacing-large);\n+}\n+\n+\n+.section_buttons tr td.markdownTableBodyLeft a:hover::before {\n+ color: var(--page-foreground-color) !important;\n+ transform: translateX(-3px);\n+}\n+\n+.section_buttons tr td.markdownTableBodyRight a:hover::after {\n+ color: var(--page-foreground-color) !important;\n+ transform: translateX(3px);\n+}\n+\n+@media screen and (max-width: 450px) {\n+ .section_buttons a {\n+ width: 100%;\n+ box-sizing: border-box;\n+ }\n+\n+ .section_buttons tr td:nth-of-type(1).markdownTableBodyLeft a {\n+ border-radius: var(--border-radius-medium) 0 0 var(--border-radius-medium);\n+ border-right: none;\n+ }\n+\n+ .section_buttons tr td:nth-of-type(2).markdownTableBodyRight a {\n+ border-radius: 0 var(--border-radius-medium) var(--border-radius-medium) 0;\n+ }\n+}\n", "prefixes": [ "v3", "02/10" ] }