From 7a120f2bafe7a43f7ed005cb8a12ee8fbe08ad4b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mos=C3=A8=20Giordano?= <mose@gnu.org>
Date: Fri, 6 Sep 2024 14:38:58 +0100
Subject: [PATCH] Delete previews of closed PRs

---
 previews/PR626/assets/documenter.js           |  331 -
 previews/PR626/assets/logo.svg                |   80 -
 previews/PR626/assets/search.js               |  267 -
 .../PR626/assets/themes/documenter-dark.css   | 7702 ----------------
 .../PR626/assets/themes/documenter-light.css  | 7738 -----------------
 previews/PR626/assets/themeswap.js            |   66 -
 previews/PR626/assets/warner.js               |   49 -
 previews/PR626/configuration/index.html       |   20 -
 previews/PR626/examples/01-hello/index.html   |   12 -
 .../PR626/examples/02-broadcast/index.html    |   54 -
 previews/PR626/examples/03-reduce/index.html  |   54 -
 .../PR626/examples/04-sendrecv/index.html     |   37 -
 .../PR626/examples/05-job_schedule/index.html |  172 -
 .../PR626/examples/06-scatterv/index.html     |  101 -
 .../PR626/examples/07-rma_active/index.html   |   71 -
 .../PR626/examples/08-rma_passive/index.html  |   42 -
 .../09-graph_communication/index.html         |  139 -
 previews/PR626/index.html                     |    2 -
 previews/PR626/knownissues/index.html         |   22 -
 previews/PR626/reference/advanced/index.html  |   21 -
 previews/PR626/reference/api/index.html       |    2 -
 previews/PR626/reference/buffers/index.html   |    2 -
 .../PR626/reference/collective/index.html     |   34 -
 previews/PR626/reference/comm/index.html      |    2 -
 .../PR626/reference/environment/index.html    |    7 -
 previews/PR626/reference/group/index.html     |    2 -
 previews/PR626/reference/io/index.html        |    2 -
 previews/PR626/reference/library/index.html   |    2 -
 previews/PR626/reference/misc/index.html      |    2 -
 .../PR626/reference/mpipreferences/index.html |    7 -
 previews/PR626/reference/onesided/index.html  |    2 -
 .../PR626/reference/pointtopoint/index.html   |   41 -
 previews/PR626/reference/topology/index.html  |   24 -
 previews/PR626/refindex/index.html            |    2 -
 previews/PR626/search/index.html              |    2 -
 previews/PR626/search_index.js                |    3 -
 previews/PR626/siteinfo.js                    |    1 -
 previews/PR626/usage/index.html               |   25 -
 previews/PR645/assets/documenter.js           |  331 -
 previews/PR645/assets/logo.svg                |   80 -
 previews/PR645/assets/search.js               |  267 -
 .../PR645/assets/themes/documenter-dark.css   | 7702 ----------------
 .../PR645/assets/themes/documenter-light.css  | 7738 -----------------
 previews/PR645/assets/themeswap.js            |   66 -
 previews/PR645/assets/warner.js               |   49 -
 previews/PR645/configuration/index.html       |   18 -
 previews/PR645/examples/01-hello/index.html   |   12 -
 .../PR645/examples/02-broadcast/index.html    |   54 -
 previews/PR645/examples/03-reduce/index.html  |   54 -
 .../PR645/examples/04-sendrecv/index.html     |   37 -
 .../PR645/examples/05-job_schedule/index.html |  172 -
 .../PR645/examples/06-scatterv/index.html     |  101 -
 .../PR645/examples/07-rma_active/index.html   |   71 -
 .../PR645/examples/08-rma_passive/index.html  |   42 -
 .../09-graph_communication/index.html         |  139 -
 previews/PR645/index.html                     |    2 -
 previews/PR645/knownissues/index.html         |   19 -
 previews/PR645/reference/advanced/index.html  |   20 -
 previews/PR645/reference/buffers/index.html   |    2 -
 .../PR645/reference/collective/index.html     |   34 -
 previews/PR645/reference/comm/index.html      |    2 -
 .../PR645/reference/environment/index.html    |    7 -
 previews/PR645/reference/group/index.html     |    2 -
 previews/PR645/reference/io/index.html        |    2 -
 previews/PR645/reference/library/index.html   |    2 -
 .../PR645/reference/mpipreferences/index.html |    7 -
 previews/PR645/reference/onesided/index.html  |    2 -
 .../PR645/reference/pointtopoint/index.html   |   23 -
 previews/PR645/reference/topology/index.html  |   24 -
 previews/PR645/refindex/index.html            |    2 -
 previews/PR645/search/index.html              |    2 -
 previews/PR645/search_index.js                |    3 -
 previews/PR645/siteinfo.js                    |    1 -
 previews/PR645/usage/index.html               |   25 -
 previews/PR676/assets/documenter.js           |  331 -
 previews/PR676/assets/logo.svg                |   80 -
 previews/PR676/assets/search.js               |  267 -
 .../PR676/assets/themes/documenter-dark.css   | 7702 ----------------
 .../PR676/assets/themes/documenter-light.css  | 7738 -----------------
 previews/PR676/assets/themeswap.js            |   66 -
 previews/PR676/assets/warner.js               |   49 -
 previews/PR676/configuration/index.html       |   20 -
 previews/PR676/examples/01-hello/index.html   |   12 -
 .../PR676/examples/02-broadcast/index.html    |   54 -
 previews/PR676/examples/03-reduce/index.html  |   54 -
 .../PR676/examples/04-sendrecv/index.html     |   37 -
 .../PR676/examples/05-job_schedule/index.html |  172 -
 .../PR676/examples/06-scatterv/index.html     |  101 -
 .../PR676/examples/07-rma_active/index.html   |   71 -
 .../PR676/examples/08-rma_passive/index.html  |   42 -
 .../09-graph_communication/index.html         |  139 -
 previews/PR676/index.html                     |    2 -
 previews/PR676/knownissues/index.html         |   19 -
 previews/PR676/reference/advanced/index.html  |   21 -
 previews/PR676/reference/api/index.html       |    2 -
 previews/PR676/reference/buffers/index.html   |    2 -
 .../PR676/reference/collective/index.html     |   34 -
 previews/PR676/reference/comm/index.html      |    2 -
 .../PR676/reference/environment/index.html    |    7 -
 previews/PR676/reference/group/index.html     |    2 -
 previews/PR676/reference/io/index.html        |    2 -
 previews/PR676/reference/library/index.html   |    2 -
 previews/PR676/reference/misc/index.html      |    2 -
 .../PR676/reference/mpipreferences/index.html |    7 -
 previews/PR676/reference/onesided/index.html  |    2 -
 .../PR676/reference/pointtopoint/index.html   |   28 -
 previews/PR676/reference/topology/index.html  |   24 -
 previews/PR676/refindex/index.html            |    2 -
 previews/PR676/search/index.html              |    2 -
 previews/PR676/search_index.js                |    3 -
 previews/PR676/siteinfo.js                    |    1 -
 previews/PR676/usage/index.html               |   25 -
 previews/PR747/assets/documenter.js           |  331 -
 previews/PR747/assets/logo.svg                |   80 -
 previews/PR747/assets/search.js               |  267 -
 .../PR747/assets/themes/documenter-dark.css   |    7 -
 .../PR747/assets/themes/documenter-light.css  |    9 -
 previews/PR747/assets/themeswap.js            |   66 -
 previews/PR747/assets/warner.js               |   49 -
 previews/PR747/configuration/index.html       |   20 -
 previews/PR747/examples/01-hello/index.html   |   12 -
 .../PR747/examples/02-broadcast/index.html    |   54 -
 previews/PR747/examples/03-reduce/index.html  |   54 -
 .../PR747/examples/04-sendrecv/index.html     |   37 -
 .../PR747/examples/05-job_schedule/index.html |  172 -
 .../PR747/examples/06-scatterv/index.html     |  101 -
 .../PR747/examples/07-rma_active/index.html   |   71 -
 .../PR747/examples/08-rma_passive/index.html  |   42 -
 .../09-graph_communication/index.html         |  103 -
 previews/PR747/external/index.html            |   22 -
 previews/PR747/index.html                     |    2 -
 previews/PR747/knownissues/index.html         |   22 -
 previews/PR747/reference/advanced/index.html  |   21 -
 previews/PR747/reference/api/index.html       |    2 -
 previews/PR747/reference/buffers/index.html   |    2 -
 .../PR747/reference/collective/index.html     |   34 -
 previews/PR747/reference/comm/index.html      |    2 -
 .../PR747/reference/environment/index.html    |    7 -
 previews/PR747/reference/group/index.html     |    2 -
 previews/PR747/reference/io/index.html        |    2 -
 previews/PR747/reference/library/index.html   |    2 -
 previews/PR747/reference/misc/index.html      |    2 -
 .../PR747/reference/mpipreferences/index.html |    7 -
 previews/PR747/reference/onesided/index.html  |    2 -
 .../PR747/reference/pointtopoint/index.html   |   41 -
 previews/PR747/reference/topology/index.html  |   28 -
 previews/PR747/refindex/index.html            |    2 -
 previews/PR747/search/index.html              |    2 -
 previews/PR747/search_index.js                |    3 -
 previews/PR747/siteinfo.js                    |    1 -
 previews/PR747/usage/index.html               |   25 -
 151 files changed, 53090 deletions(-)
 delete mode 100644 previews/PR626/assets/documenter.js
 delete mode 100644 previews/PR626/assets/logo.svg
 delete mode 100644 previews/PR626/assets/search.js
 delete mode 100644 previews/PR626/assets/themes/documenter-dark.css
 delete mode 100644 previews/PR626/assets/themes/documenter-light.css
 delete mode 100644 previews/PR626/assets/themeswap.js
 delete mode 100644 previews/PR626/assets/warner.js
 delete mode 100644 previews/PR626/configuration/index.html
 delete mode 100644 previews/PR626/examples/01-hello/index.html
 delete mode 100644 previews/PR626/examples/02-broadcast/index.html
 delete mode 100644 previews/PR626/examples/03-reduce/index.html
 delete mode 100644 previews/PR626/examples/04-sendrecv/index.html
 delete mode 100644 previews/PR626/examples/05-job_schedule/index.html
 delete mode 100644 previews/PR626/examples/06-scatterv/index.html
 delete mode 100644 previews/PR626/examples/07-rma_active/index.html
 delete mode 100644 previews/PR626/examples/08-rma_passive/index.html
 delete mode 100644 previews/PR626/examples/09-graph_communication/index.html
 delete mode 100644 previews/PR626/index.html
 delete mode 100644 previews/PR626/knownissues/index.html
 delete mode 100644 previews/PR626/reference/advanced/index.html
 delete mode 100644 previews/PR626/reference/api/index.html
 delete mode 100644 previews/PR626/reference/buffers/index.html
 delete mode 100644 previews/PR626/reference/collective/index.html
 delete mode 100644 previews/PR626/reference/comm/index.html
 delete mode 100644 previews/PR626/reference/environment/index.html
 delete mode 100644 previews/PR626/reference/group/index.html
 delete mode 100644 previews/PR626/reference/io/index.html
 delete mode 100644 previews/PR626/reference/library/index.html
 delete mode 100644 previews/PR626/reference/misc/index.html
 delete mode 100644 previews/PR626/reference/mpipreferences/index.html
 delete mode 100644 previews/PR626/reference/onesided/index.html
 delete mode 100644 previews/PR626/reference/pointtopoint/index.html
 delete mode 100644 previews/PR626/reference/topology/index.html
 delete mode 100644 previews/PR626/refindex/index.html
 delete mode 100644 previews/PR626/search/index.html
 delete mode 100644 previews/PR626/search_index.js
 delete mode 100644 previews/PR626/siteinfo.js
 delete mode 100644 previews/PR626/usage/index.html
 delete mode 100644 previews/PR645/assets/documenter.js
 delete mode 100644 previews/PR645/assets/logo.svg
 delete mode 100644 previews/PR645/assets/search.js
 delete mode 100644 previews/PR645/assets/themes/documenter-dark.css
 delete mode 100644 previews/PR645/assets/themes/documenter-light.css
 delete mode 100644 previews/PR645/assets/themeswap.js
 delete mode 100644 previews/PR645/assets/warner.js
 delete mode 100644 previews/PR645/configuration/index.html
 delete mode 100644 previews/PR645/examples/01-hello/index.html
 delete mode 100644 previews/PR645/examples/02-broadcast/index.html
 delete mode 100644 previews/PR645/examples/03-reduce/index.html
 delete mode 100644 previews/PR645/examples/04-sendrecv/index.html
 delete mode 100644 previews/PR645/examples/05-job_schedule/index.html
 delete mode 100644 previews/PR645/examples/06-scatterv/index.html
 delete mode 100644 previews/PR645/examples/07-rma_active/index.html
 delete mode 100644 previews/PR645/examples/08-rma_passive/index.html
 delete mode 100644 previews/PR645/examples/09-graph_communication/index.html
 delete mode 100644 previews/PR645/index.html
 delete mode 100644 previews/PR645/knownissues/index.html
 delete mode 100644 previews/PR645/reference/advanced/index.html
 delete mode 100644 previews/PR645/reference/buffers/index.html
 delete mode 100644 previews/PR645/reference/collective/index.html
 delete mode 100644 previews/PR645/reference/comm/index.html
 delete mode 100644 previews/PR645/reference/environment/index.html
 delete mode 100644 previews/PR645/reference/group/index.html
 delete mode 100644 previews/PR645/reference/io/index.html
 delete mode 100644 previews/PR645/reference/library/index.html
 delete mode 100644 previews/PR645/reference/mpipreferences/index.html
 delete mode 100644 previews/PR645/reference/onesided/index.html
 delete mode 100644 previews/PR645/reference/pointtopoint/index.html
 delete mode 100644 previews/PR645/reference/topology/index.html
 delete mode 100644 previews/PR645/refindex/index.html
 delete mode 100644 previews/PR645/search/index.html
 delete mode 100644 previews/PR645/search_index.js
 delete mode 100644 previews/PR645/siteinfo.js
 delete mode 100644 previews/PR645/usage/index.html
 delete mode 100644 previews/PR676/assets/documenter.js
 delete mode 100644 previews/PR676/assets/logo.svg
 delete mode 100644 previews/PR676/assets/search.js
 delete mode 100644 previews/PR676/assets/themes/documenter-dark.css
 delete mode 100644 previews/PR676/assets/themes/documenter-light.css
 delete mode 100644 previews/PR676/assets/themeswap.js
 delete mode 100644 previews/PR676/assets/warner.js
 delete mode 100644 previews/PR676/configuration/index.html
 delete mode 100644 previews/PR676/examples/01-hello/index.html
 delete mode 100644 previews/PR676/examples/02-broadcast/index.html
 delete mode 100644 previews/PR676/examples/03-reduce/index.html
 delete mode 100644 previews/PR676/examples/04-sendrecv/index.html
 delete mode 100644 previews/PR676/examples/05-job_schedule/index.html
 delete mode 100644 previews/PR676/examples/06-scatterv/index.html
 delete mode 100644 previews/PR676/examples/07-rma_active/index.html
 delete mode 100644 previews/PR676/examples/08-rma_passive/index.html
 delete mode 100644 previews/PR676/examples/09-graph_communication/index.html
 delete mode 100644 previews/PR676/index.html
 delete mode 100644 previews/PR676/knownissues/index.html
 delete mode 100644 previews/PR676/reference/advanced/index.html
 delete mode 100644 previews/PR676/reference/api/index.html
 delete mode 100644 previews/PR676/reference/buffers/index.html
 delete mode 100644 previews/PR676/reference/collective/index.html
 delete mode 100644 previews/PR676/reference/comm/index.html
 delete mode 100644 previews/PR676/reference/environment/index.html
 delete mode 100644 previews/PR676/reference/group/index.html
 delete mode 100644 previews/PR676/reference/io/index.html
 delete mode 100644 previews/PR676/reference/library/index.html
 delete mode 100644 previews/PR676/reference/misc/index.html
 delete mode 100644 previews/PR676/reference/mpipreferences/index.html
 delete mode 100644 previews/PR676/reference/onesided/index.html
 delete mode 100644 previews/PR676/reference/pointtopoint/index.html
 delete mode 100644 previews/PR676/reference/topology/index.html
 delete mode 100644 previews/PR676/refindex/index.html
 delete mode 100644 previews/PR676/search/index.html
 delete mode 100644 previews/PR676/search_index.js
 delete mode 100644 previews/PR676/siteinfo.js
 delete mode 100644 previews/PR676/usage/index.html
 delete mode 100644 previews/PR747/assets/documenter.js
 delete mode 100644 previews/PR747/assets/logo.svg
 delete mode 100644 previews/PR747/assets/search.js
 delete mode 100644 previews/PR747/assets/themes/documenter-dark.css
 delete mode 100644 previews/PR747/assets/themes/documenter-light.css
 delete mode 100644 previews/PR747/assets/themeswap.js
 delete mode 100644 previews/PR747/assets/warner.js
 delete mode 100644 previews/PR747/configuration/index.html
 delete mode 100644 previews/PR747/examples/01-hello/index.html
 delete mode 100644 previews/PR747/examples/02-broadcast/index.html
 delete mode 100644 previews/PR747/examples/03-reduce/index.html
 delete mode 100644 previews/PR747/examples/04-sendrecv/index.html
 delete mode 100644 previews/PR747/examples/05-job_schedule/index.html
 delete mode 100644 previews/PR747/examples/06-scatterv/index.html
 delete mode 100644 previews/PR747/examples/07-rma_active/index.html
 delete mode 100644 previews/PR747/examples/08-rma_passive/index.html
 delete mode 100644 previews/PR747/examples/09-graph_communication/index.html
 delete mode 100644 previews/PR747/external/index.html
 delete mode 100644 previews/PR747/index.html
 delete mode 100644 previews/PR747/knownissues/index.html
 delete mode 100644 previews/PR747/reference/advanced/index.html
 delete mode 100644 previews/PR747/reference/api/index.html
 delete mode 100644 previews/PR747/reference/buffers/index.html
 delete mode 100644 previews/PR747/reference/collective/index.html
 delete mode 100644 previews/PR747/reference/comm/index.html
 delete mode 100644 previews/PR747/reference/environment/index.html
 delete mode 100644 previews/PR747/reference/group/index.html
 delete mode 100644 previews/PR747/reference/io/index.html
 delete mode 100644 previews/PR747/reference/library/index.html
 delete mode 100644 previews/PR747/reference/misc/index.html
 delete mode 100644 previews/PR747/reference/mpipreferences/index.html
 delete mode 100644 previews/PR747/reference/onesided/index.html
 delete mode 100644 previews/PR747/reference/pointtopoint/index.html
 delete mode 100644 previews/PR747/reference/topology/index.html
 delete mode 100644 previews/PR747/refindex/index.html
 delete mode 100644 previews/PR747/search/index.html
 delete mode 100644 previews/PR747/search_index.js
 delete mode 100644 previews/PR747/siteinfo.js
 delete mode 100644 previews/PR747/usage/index.html

diff --git a/previews/PR626/assets/documenter.js b/previews/PR626/assets/documenter.js
deleted file mode 100644
index 6adfbbbf4..000000000
--- a/previews/PR626/assets/documenter.js
+++ /dev/null
@@ -1,331 +0,0 @@
-// Generated by Documenter.jl
-requirejs.config({
-  paths: {
-    'highlight-julia': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.5.1/languages/julia.min',
-    'headroom': 'https://cdnjs.cloudflare.com/ajax/libs/headroom/0.12.0/headroom.min',
-    'jqueryui': 'https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min',
-    'katex-auto-render': 'https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/contrib/auto-render.min',
-    'jquery': 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min',
-    'headroom-jquery': 'https://cdnjs.cloudflare.com/ajax/libs/headroom/0.12.0/jQuery.headroom.min',
-    'katex': 'https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min',
-    'highlight': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.5.1/highlight.min',
-    'highlight-julia-repl': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.5.1/languages/julia-repl.min',
-  },
-  shim: {
-  "highlight-julia": {
-    "deps": [
-      "highlight"
-    ]
-  },
-  "katex-auto-render": {
-    "deps": [
-      "katex"
-    ]
-  },
-  "headroom-jquery": {
-    "deps": [
-      "jquery",
-      "headroom"
-    ]
-  },
-  "highlight-julia-repl": {
-    "deps": [
-      "highlight"
-    ]
-  }
-}
-});
-////////////////////////////////////////////////////////////////////////////////
-require(['jquery', 'katex', 'katex-auto-render'], function($, katex, renderMathInElement) {
-$(document).ready(function() {
-  renderMathInElement(
-    document.body,
-    {
-  "delimiters": [
-    {
-      "left": "$",
-      "right": "$",
-      "display": false
-    },
-    {
-      "left": "$$",
-      "right": "$$",
-      "display": true
-    },
-    {
-      "left": "\\[",
-      "right": "\\]",
-      "display": true
-    }
-  ]
-}
-
-  );
-})
-
-})
-////////////////////////////////////////////////////////////////////////////////
-require(['jquery', 'highlight', 'highlight-julia', 'highlight-julia-repl'], function($) {
-$(document).ready(function() {
-    hljs.highlightAll();
-})
-
-})
-////////////////////////////////////////////////////////////////////////////////
-require([], function() {
-function addCopyButtonCallbacks() {
-  for (const el of document.getElementsByTagName("pre")) {
-    const button = document.createElement("button");
-    button.classList.add("copy-button", "fas", "fa-copy");
-    el.appendChild(button);
-
-    const success = function () {
-      button.classList.add("success", "fa-check");
-      button.classList.remove("fa-copy");
-    };
-
-    const failure = function () {
-      button.classList.add("error", "fa-times");
-      button.classList.remove("fa-copy");
-    };
-
-    button.addEventListener("click", function () {
-      copyToClipboard(el.innerText).then(success, failure);
-
-      setTimeout(function () {
-        button.classList.add("fa-copy");
-        button.classList.remove("success", "fa-check", "fa-times");
-      }, 5000);
-    });
-  }
-}
-
-function copyToClipboard(text) {
-  // clipboard API is only available in secure contexts
-  if (window.navigator && window.navigator.clipboard) {
-    return window.navigator.clipboard.writeText(text);
-  } else {
-    return new Promise(function (resolve, reject) {
-      try {
-        const el = document.createElement("textarea");
-        el.textContent = text;
-        el.style.position = "fixed";
-        el.style.opacity = 0;
-        document.body.appendChild(el);
-        el.select();
-        document.execCommand("copy");
-
-        resolve();
-      } catch (err) {
-        reject(err);
-      } finally {
-        document.body.removeChild(el);
-      }
-    });
-  }
-}
-
-if (document.readyState === "loading") {
-  document.addEventListener("DOMContentLoaded", addCopyButtonCallbacks);
-} else {
-  addCopyButtonCallbacks();
-}
-
-})
-////////////////////////////////////////////////////////////////////////////////
-require(['jquery', 'headroom', 'headroom-jquery'], function($, Headroom) {
-
-// Manages the top navigation bar (hides it when the user starts scrolling down on the
-// mobile).
-window.Headroom = Headroom; // work around buggy module loading?
-$(document).ready(function() {
-  $('#documenter .docs-navbar').headroom({
-    "tolerance": {"up": 10, "down": 10},
-  });
-})
-
-})
-////////////////////////////////////////////////////////////////////////////////
-require(['jquery'], function($) {
-
-// Modal settings dialog
-$(document).ready(function() {
-  var settings = $('#documenter-settings');
-  $('#documenter-settings-button').click(function(){
-    settings.toggleClass('is-active');
-  });
-  // Close the dialog if X is clicked
-  $('#documenter-settings button.delete').click(function(){
-    settings.removeClass('is-active');
-  });
-  // Close dialog if ESC is pressed
-  $(document).keyup(function(e) {
-    if (e.keyCode == 27) settings.removeClass('is-active');
-  });
-});
-
-})
-////////////////////////////////////////////////////////////////////////////////
-require(['jquery'], function($) {
-
-// Manages the showing and hiding of the sidebar.
-$(document).ready(function() {
-  var sidebar = $("#documenter > .docs-sidebar");
-  var sidebar_button = $("#documenter-sidebar-button")
-  sidebar_button.click(function(ev) {
-    ev.preventDefault();
-    sidebar.toggleClass('visible');
-    if (sidebar.hasClass('visible')) {
-      // Makes sure that the current menu item is visible in the sidebar.
-      $("#documenter .docs-menu a.is-active").focus();
-    }
-  });
-  $("#documenter > .docs-main").bind('click', function(ev) {
-    if ($(ev.target).is(sidebar_button)) {
-      return;
-    }
-    if (sidebar.hasClass('visible')) {
-      sidebar.removeClass('visible');
-    }
-  });
-})
-
-// Resizes the package name / sitename in the sidebar if it is too wide.
-// Inspired by: https://github.com/davatron5000/FitText.js
-$(document).ready(function() {
-  e = $("#documenter .docs-autofit");
-  function resize() {
-    var L = parseInt(e.css('max-width'), 10);
-    var L0 = e.width();
-    if(L0 > L) {
-      var h0 = parseInt(e.css('font-size'), 10);
-      e.css('font-size', L * h0 / L0);
-      // TODO: make sure it survives resizes?
-    }
-  }
-  // call once and then register events
-  resize();
-  $(window).resize(resize);
-  $(window).on('orientationchange', resize);
-});
-
-// Scroll the navigation bar to the currently selected menu item
-$(document).ready(function() {
-  var sidebar = $("#documenter .docs-menu").get(0);
-  var active = $("#documenter .docs-menu .is-active").get(0);
-  if(typeof active !== 'undefined') {
-    sidebar.scrollTop = active.offsetTop - sidebar.offsetTop - 15;
-  }
-})
-
-})
-////////////////////////////////////////////////////////////////////////////////
-require(['jquery'], function($) {
-
-function set_theme(theme) {
-  var active = null;
-  var disabled = [];
-  for (var i = 0; i < document.styleSheets.length; i++) {
-    var ss = document.styleSheets[i];
-    var themename = ss.ownerNode.getAttribute("data-theme-name");
-    if(themename === null) continue; // ignore non-theme stylesheets
-    // Find the active theme
-    if(themename === theme) active = ss;
-    else disabled.push(ss);
-  }
-  if(active !== null) {
-    active.disabled = false;
-    if(active.ownerNode.getAttribute("data-theme-primary") === null) {
-      document.getElementsByTagName('html')[0].className = "theme--" + theme;
-    } else {
-      document.getElementsByTagName('html')[0].className = "";
-    }
-    disabled.forEach(function(ss){
-      ss.disabled = true;
-    });
-  }
-
-  // Store the theme in localStorage
-  if(typeof(window.localStorage) !== "undefined") {
-    window.localStorage.setItem("documenter-theme", theme);
-  } else {
-    console.error("Browser does not support window.localStorage");
-  }
-}
-
-// Theme picker setup
-$(document).ready(function() {
-  // onchange callback
-  $('#documenter-themepicker').change(function themepick_callback(ev){
-    var themename = $('#documenter-themepicker option:selected').attr('value');
-    set_theme(themename);
-  });
-
-  // Make sure that the themepicker displays the correct theme when the theme is retrieved
-  // from localStorage
-  if(typeof(window.localStorage) !== "undefined") {
-    var theme =  window.localStorage.getItem("documenter-theme");
-    if(theme !== null) {
-      $('#documenter-themepicker option').each(function(i,e) {
-        e.selected = (e.value === theme);
-      })
-    } else {
-      $('#documenter-themepicker option').each(function(i,e) {
-        e.selected = $("html").hasClass(`theme--${e.value}`);
-      })
-    }
-  }
-})
-
-})
-////////////////////////////////////////////////////////////////////////////////
-require(['jquery'], function($) {
-
-// update the version selector with info from the siteinfo.js and ../versions.js files
-$(document).ready(function() {
-  // If the version selector is disabled with DOCUMENTER_VERSION_SELECTOR_DISABLED in the
-  // siteinfo.js file, we just return immediately and not display the version selector.
-  if (typeof DOCUMENTER_VERSION_SELECTOR_DISABLED === 'boolean' && DOCUMENTER_VERSION_SELECTOR_DISABLED) {
-    return;
-  }
-
-  var version_selector = $("#documenter .docs-version-selector");
-  var version_selector_select = $("#documenter .docs-version-selector select");
-
-  version_selector_select.change(function(x) {
-    target_href = version_selector_select.children("option:selected").get(0).value;
-    window.location.href = target_href;
-  });
-
-  // add the current version to the selector based on siteinfo.js, but only if the selector is empty
-  if (typeof DOCUMENTER_CURRENT_VERSION !== 'undefined' && $('#version-selector > option').length == 0) {
-    var option = $("<option value='#' selected='selected'>" + DOCUMENTER_CURRENT_VERSION + "</option>");
-    version_selector_select.append(option);
-  }
-
-  if (typeof DOC_VERSIONS !== 'undefined') {
-    var existing_versions = version_selector_select.children("option");
-    var existing_versions_texts = existing_versions.map(function(i,x){return x.text});
-    DOC_VERSIONS.forEach(function(each) {
-      var version_url = documenterBaseURL + "/../" + each;
-      var existing_id = $.inArray(each, existing_versions_texts);
-      // if not already in the version selector, add it as a new option,
-      // otherwise update the old option with the URL and enable it
-      if (existing_id == -1) {
-        var option = $("<option value='" + version_url + "'>" + each + "</option>");
-        version_selector_select.append(option);
-      } else {
-        var option = existing_versions[existing_id];
-        option.value = version_url;
-        option.disabled = false;
-      }
-    });
-  }
-
-  // only show the version selector if the selector has been populated
-  if (version_selector_select.children("option").length > 0) {
-    version_selector.toggleClass("visible");
-  }
-})
-
-})
diff --git a/previews/PR626/assets/logo.svg b/previews/PR626/assets/logo.svg
deleted file mode 100644
index 0b01097a2..000000000
--- a/previews/PR626/assets/logo.svg
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   inkscape:version="1.0rc1 (09960d6, 2020-04-09)"
-   sodipodi:docname="mpi_jl.svg"
-   viewBox="0 0 275.6608 198.06421"
-   height="198.06421"
-   width="275.6608"
-   id="svg80"
-   version="1.1">
-  <metadata
-     id="metadata86">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title></dc:title>
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <defs
-     id="defs84" />
-  <sodipodi:namedview
-     inkscape:current-layer="g88"
-     inkscape:window-maximized="0"
-     inkscape:window-y="44"
-     inkscape:window-x="1763"
-     inkscape:cy="145.35694"
-     inkscape:cx="280.32616"
-     inkscape:zoom="1.1"
-     showgrid="false"
-     id="namedview82"
-     inkscape:window-height="853"
-     inkscape:window-width="1418"
-     inkscape:pageshadow="2"
-     inkscape:pageopacity="0"
-     guidetolerance="10"
-     gridtolerance="10"
-     objecttolerance="10"
-     borderopacity="1"
-     bordercolor="#666666"
-     pagecolor="#ffffff" />
-  <g
-     id="g88"
-     inkscape:label="Image"
-     inkscape:groupmode="layer">
-    <rect
-       transform="matrix(0.99981558,0.01920454,-0.32803664,0.944665,0,0)"
-       y="-2.7273855"
-       x="134.15919"
-       height="141.78041"
-       width="140.65759"
-       id="rect94-6-7"
-       style="fill:#9558b2;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.13111" />
-    <rect
-       style="fill:#389826;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.13111;stroke-opacity:1"
-       id="rect94-6"
-       width="140.65759"
-       height="141.78041"
-       x="100.75105"
-       y="30.745317"
-       transform="matrix(0.99981558,0.01920454,-0.32803664,0.944665,0,0)" />
-    <rect
-       transform="matrix(0.99981558,0.01920454,-0.32803664,0.944665,0,0)"
-       y="63.65591"
-       x="67.403069"
-       height="141.78041"
-       width="140.65759"
-       id="rect94"
-       style="fill:#cb3c33;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.13111" />
-  </g>
-</svg>
diff --git a/previews/PR626/assets/search.js b/previews/PR626/assets/search.js
deleted file mode 100644
index c133f7410..000000000
--- a/previews/PR626/assets/search.js
+++ /dev/null
@@ -1,267 +0,0 @@
-// Generated by Documenter.jl
-requirejs.config({
-  paths: {
-    'lunr': 'https://cdnjs.cloudflare.com/ajax/libs/lunr.js/2.3.9/lunr.min',
-    'lodash': 'https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min',
-    'jquery': 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min',
-  }
-});
-////////////////////////////////////////////////////////////////////////////////
-require(['jquery', 'lunr', 'lodash'], function($, lunr, _) {
-
-$(document).ready(function() {
-  // parseUri 1.2.2
-  // (c) Steven Levithan <stevenlevithan.com>
-  // MIT License
-  function parseUri (str) {
-    var  o   = parseUri.options,
-      m   = o.parser[o.strictMode ? "strict" : "loose"].exec(str),
-      uri = {},
-      i   = 14;
-
-    while (i--) uri[o.key[i]] = m[i] || "";
-
-    uri[o.q.name] = {};
-    uri[o.key[12]].replace(o.q.parser, function ($0, $1, $2) {
-      if ($1) uri[o.q.name][$1] = $2;
-    });
-
-    return uri;
-  };
-  parseUri.options = {
-    strictMode: false,
-    key: ["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],
-    q:   {
-      name:   "queryKey",
-      parser: /(?:^|&)([^&=]*)=?([^&]*)/g
-    },
-    parser: {
-      strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,
-      loose:  /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/
-    }
-  };
-
-  $("#search-form").submit(function(e) {
-    e.preventDefault()
-  })
-
-  // list below is the lunr 2.1.3 list minus the intersect with names(Base)
-  // (all, any, get, in, is, only, which) and (do, else, for, let, where, while, with)
-  // ideally we'd just filter the original list but it's not available as a variable
-  lunr.stopWordFilter = lunr.generateStopWordFilter([
-    'a',
-    'able',
-    'about',
-    'across',
-    'after',
-    'almost',
-    'also',
-    'am',
-    'among',
-    'an',
-    'and',
-    'are',
-    'as',
-    'at',
-    'be',
-    'because',
-    'been',
-    'but',
-    'by',
-    'can',
-    'cannot',
-    'could',
-    'dear',
-    'did',
-    'does',
-    'either',
-    'ever',
-    'every',
-    'from',
-    'got',
-    'had',
-    'has',
-    'have',
-    'he',
-    'her',
-    'hers',
-    'him',
-    'his',
-    'how',
-    'however',
-    'i',
-    'if',
-    'into',
-    'it',
-    'its',
-    'just',
-    'least',
-    'like',
-    'likely',
-    'may',
-    'me',
-    'might',
-    'most',
-    'must',
-    'my',
-    'neither',
-    'no',
-    'nor',
-    'not',
-    'of',
-    'off',
-    'often',
-    'on',
-    'or',
-    'other',
-    'our',
-    'own',
-    'rather',
-    'said',
-    'say',
-    'says',
-    'she',
-    'should',
-    'since',
-    'so',
-    'some',
-    'than',
-    'that',
-    'the',
-    'their',
-    'them',
-    'then',
-    'there',
-    'these',
-    'they',
-    'this',
-    'tis',
-    'to',
-    'too',
-    'twas',
-    'us',
-    'wants',
-    'was',
-    'we',
-    'were',
-    'what',
-    'when',
-    'who',
-    'whom',
-    'why',
-    'will',
-    'would',
-    'yet',
-    'you',
-    'your'
-  ])
-
-  // add . as a separator, because otherwise "title": "Documenter.Anchors.add!"
-  // would not find anything if searching for "add!", only for the entire qualification
-  lunr.tokenizer.separator = /[\s\-\.]+/
-
-  // custom trimmer that doesn't strip @ and !, which are used in julia macro and function names
-  lunr.trimmer = function (token) {
-    return token.update(function (s) {
-      return s.replace(/^[^a-zA-Z0-9@!]+/, '').replace(/[^a-zA-Z0-9@!]+$/, '')
-    })
-  }
-
-  lunr.Pipeline.registerFunction(lunr.stopWordFilter, 'juliaStopWordFilter')
-  lunr.Pipeline.registerFunction(lunr.trimmer, 'juliaTrimmer')
-
-  var index = lunr(function () {
-    this.ref('location')
-    this.field('title',{boost: 100})
-    this.field('text')
-    documenterSearchIndex['docs'].forEach(function(e) {
-        this.add(e)
-    }, this)
-  })
-  var store = {}
-
-  documenterSearchIndex['docs'].forEach(function(e) {
-      store[e.location] = {title: e.title, category: e.category, page: e.page}
-  })
-
-  $(function(){
-    searchresults = $('#documenter-search-results');
-    searchinfo = $('#documenter-search-info');
-    searchbox = $('#documenter-search-query');
-    searchform = $('.docs-search');
-    sidebar = $('.docs-sidebar');
-    function update_search(querystring) {
-      tokens = lunr.tokenizer(querystring)
-      results = index.query(function (q) {
-        tokens.forEach(function (t) {
-          q.term(t.toString(), {
-            fields: ["title"],
-            boost: 100,
-            usePipeline: true,
-            editDistance: 0,
-            wildcard: lunr.Query.wildcard.NONE
-          })
-          q.term(t.toString(), {
-            fields: ["title"],
-            boost: 10,
-            usePipeline: true,
-            editDistance: 2,
-            wildcard: lunr.Query.wildcard.NONE
-          })
-          q.term(t.toString(), {
-            fields: ["text"],
-            boost: 1,
-            usePipeline: true,
-            editDistance: 0,
-            wildcard: lunr.Query.wildcard.NONE
-          })
-        })
-      })
-      searchinfo.text("Number of results: " + results.length)
-      searchresults.empty()
-      results.forEach(function(result) {
-        data = store[result.ref]
-        link = $('<a class="docs-label">'+data.title+'</a>')
-        link.attr('href', documenterBaseURL+'/'+result.ref)
-        if (data.category != "page"){
-          cat = $('<span class="docs-category">('+data.category+', '+data.page+')</span>')
-        } else {
-          cat = $('<span class="docs-category">('+data.category+')</span>')
-        }
-        li = $('<li>').append(link).append(" ").append(cat)
-        searchresults.append(li)
-      })
-    }
-
-    function update_search_box() {
-      querystring = searchbox.val()
-      update_search(querystring)
-    }
-
-    searchbox.keyup(_.debounce(update_search_box, 250))
-    searchbox.change(update_search_box)
-
-    // Disable enter-key form submission for the searchbox on the search page
-    // and just re-run search rather than refresh the whole page.
-    searchform.keypress(
-      function(event){
-        if (event.which == '13') {
-          if (sidebar.hasClass('visible')) {
-            sidebar.removeClass('visible');
-          }
-          update_search_box();
-          event.preventDefault();
-        }
-      }
-    );
-
-    search_query_uri = parseUri(window.location).queryKey["q"]
-    if(search_query_uri !== undefined) {
-      search_query = decodeURIComponent(search_query_uri.replace(/\+/g, '%20'))
-      searchbox.val(search_query)
-    }
-    update_search_box();
-  })
-})
-
-})
diff --git a/previews/PR626/assets/themes/documenter-dark.css b/previews/PR626/assets/themes/documenter-dark.css
deleted file mode 100644
index 0bf1af7d5..000000000
--- a/previews/PR626/assets/themes/documenter-dark.css
+++ /dev/null
@@ -1,7702 +0,0 @@
-@charset "UTF-8";
-/* Font Awesome 5 mixin. Can be included in any rule that should render Font Awesome icons. */
-@keyframes spinAround {
-  from {
-    transform: rotate(0deg); }
-  to {
-    transform: rotate(359deg); } }
-
-html.theme--documenter-dark .tabs, html.theme--documenter-dark .pagination-previous,
-html.theme--documenter-dark .pagination-next,
-html.theme--documenter-dark .pagination-link,
-html.theme--documenter-dark .pagination-ellipsis, html.theme--documenter-dark .breadcrumb, html.theme--documenter-dark .file, html.theme--documenter-dark .button, .is-unselectable, html.theme--documenter-dark .modal-close, html.theme--documenter-dark .delete {
-  -webkit-touch-callout: none;
-  -webkit-user-select: none;
-  -moz-user-select: none;
-  -ms-user-select: none;
-  user-select: none; }
-
-html.theme--documenter-dark .navbar-link:not(.is-arrowless)::after, html.theme--documenter-dark .select:not(.is-multiple):not(.is-loading)::after {
-  border: 3px solid transparent;
-  border-radius: 2px;
-  border-right: 0;
-  border-top: 0;
-  content: " ";
-  display: block;
-  height: 0.625em;
-  margin-top: -0.4375em;
-  pointer-events: none;
-  position: absolute;
-  top: 50%;
-  transform: rotate(-45deg);
-  transform-origin: center;
-  width: 0.625em; }
-
-html.theme--documenter-dark .admonition:not(:last-child), html.theme--documenter-dark .tabs:not(:last-child), html.theme--documenter-dark .message:not(:last-child), html.theme--documenter-dark .list:not(:last-child), html.theme--documenter-dark .level:not(:last-child), html.theme--documenter-dark .breadcrumb:not(:last-child), html.theme--documenter-dark .highlight:not(:last-child), html.theme--documenter-dark .block:not(:last-child), html.theme--documenter-dark .title:not(:last-child),
-html.theme--documenter-dark .subtitle:not(:last-child), html.theme--documenter-dark .table-container:not(:last-child), html.theme--documenter-dark .table:not(:last-child), html.theme--documenter-dark .progress:not(:last-child), html.theme--documenter-dark .notification:not(:last-child), html.theme--documenter-dark .content:not(:last-child), html.theme--documenter-dark .box:not(:last-child) {
-  margin-bottom: 1.5rem; }
-
-html.theme--documenter-dark .modal-close, html.theme--documenter-dark .delete {
-  -moz-appearance: none;
-  -webkit-appearance: none;
-  background-color: rgba(10, 10, 10, 0.2);
-  border: none;
-  border-radius: 290486px;
-  cursor: pointer;
-  pointer-events: auto;
-  display: inline-block;
-  flex-grow: 0;
-  flex-shrink: 0;
-  font-size: 0;
-  height: 20px;
-  max-height: 20px;
-  max-width: 20px;
-  min-height: 20px;
-  min-width: 20px;
-  outline: none;
-  position: relative;
-  vertical-align: top;
-  width: 20px; }
-  html.theme--documenter-dark .modal-close::before, html.theme--documenter-dark .delete::before, html.theme--documenter-dark .modal-close::after, html.theme--documenter-dark .delete::after {
-    background-color: white;
-    content: "";
-    display: block;
-    left: 50%;
-    position: absolute;
-    top: 50%;
-    transform: translateX(-50%) translateY(-50%) rotate(45deg);
-    transform-origin: center center; }
-  html.theme--documenter-dark .modal-close::before, html.theme--documenter-dark .delete::before {
-    height: 2px;
-    width: 50%; }
-  html.theme--documenter-dark .modal-close::after, html.theme--documenter-dark .delete::after {
-    height: 50%;
-    width: 2px; }
-  html.theme--documenter-dark .modal-close:hover, html.theme--documenter-dark .delete:hover, html.theme--documenter-dark .modal-close:focus, html.theme--documenter-dark .delete:focus {
-    background-color: rgba(10, 10, 10, 0.3); }
-  html.theme--documenter-dark .modal-close:active, html.theme--documenter-dark .delete:active {
-    background-color: rgba(10, 10, 10, 0.4); }
-  html.theme--documenter-dark .is-small.modal-close, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.modal-close, html.theme--documenter-dark .is-small.delete, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.delete {
-    height: 16px;
-    max-height: 16px;
-    max-width: 16px;
-    min-height: 16px;
-    min-width: 16px;
-    width: 16px; }
-  html.theme--documenter-dark .is-medium.modal-close, html.theme--documenter-dark .is-medium.delete {
-    height: 24px;
-    max-height: 24px;
-    max-width: 24px;
-    min-height: 24px;
-    min-width: 24px;
-    width: 24px; }
-  html.theme--documenter-dark .is-large.modal-close, html.theme--documenter-dark .is-large.delete {
-    height: 32px;
-    max-height: 32px;
-    max-width: 32px;
-    min-height: 32px;
-    min-width: 32px;
-    width: 32px; }
-
-html.theme--documenter-dark .control.is-loading::after, html.theme--documenter-dark .select.is-loading::after, html.theme--documenter-dark .loader, html.theme--documenter-dark .button.is-loading::after {
-  animation: spinAround 500ms infinite linear;
-  border: 2px solid #dbdee0;
-  border-radius: 290486px;
-  border-right-color: transparent;
-  border-top-color: transparent;
-  content: "";
-  display: block;
-  height: 1em;
-  position: relative;
-  width: 1em; }
-
-html.theme--documenter-dark .hero-video, html.theme--documenter-dark .modal-background, html.theme--documenter-dark .modal, html.theme--documenter-dark .image.is-square img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-square img,
-html.theme--documenter-dark .image.is-square .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-square .has-ratio, html.theme--documenter-dark .image.is-1by1 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by1 img,
-html.theme--documenter-dark .image.is-1by1 .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by1 .has-ratio, html.theme--documenter-dark .image.is-5by4 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by4 img,
-html.theme--documenter-dark .image.is-5by4 .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by4 .has-ratio, html.theme--documenter-dark .image.is-4by3 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by3 img,
-html.theme--documenter-dark .image.is-4by3 .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by3 .has-ratio, html.theme--documenter-dark .image.is-3by2 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by2 img,
-html.theme--documenter-dark .image.is-3by2 .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by2 .has-ratio, html.theme--documenter-dark .image.is-5by3 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by3 img,
-html.theme--documenter-dark .image.is-5by3 .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by3 .has-ratio, html.theme--documenter-dark .image.is-16by9 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-16by9 img,
-html.theme--documenter-dark .image.is-16by9 .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-16by9 .has-ratio, html.theme--documenter-dark .image.is-2by1 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by1 img,
-html.theme--documenter-dark .image.is-2by1 .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by1 .has-ratio, html.theme--documenter-dark .image.is-3by1 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by1 img,
-html.theme--documenter-dark .image.is-3by1 .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by1 .has-ratio, html.theme--documenter-dark .image.is-4by5 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by5 img,
-html.theme--documenter-dark .image.is-4by5 .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by5 .has-ratio, html.theme--documenter-dark .image.is-3by4 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by4 img,
-html.theme--documenter-dark .image.is-3by4 .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by4 .has-ratio, html.theme--documenter-dark .image.is-2by3 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by3 img,
-html.theme--documenter-dark .image.is-2by3 .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by3 .has-ratio, html.theme--documenter-dark .image.is-3by5 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by5 img,
-html.theme--documenter-dark .image.is-3by5 .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by5 .has-ratio, html.theme--documenter-dark .image.is-9by16 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-9by16 img,
-html.theme--documenter-dark .image.is-9by16 .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-9by16 .has-ratio, html.theme--documenter-dark .image.is-1by2 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by2 img,
-html.theme--documenter-dark .image.is-1by2 .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by2 .has-ratio, html.theme--documenter-dark .image.is-1by3 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by3 img,
-html.theme--documenter-dark .image.is-1by3 .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by3 .has-ratio, .is-overlay {
-  bottom: 0;
-  left: 0;
-  position: absolute;
-  right: 0;
-  top: 0; }
-
-html.theme--documenter-dark .pagination-previous,
-html.theme--documenter-dark .pagination-next,
-html.theme--documenter-dark .pagination-link,
-html.theme--documenter-dark .pagination-ellipsis, html.theme--documenter-dark .file-cta,
-html.theme--documenter-dark .file-name, html.theme--documenter-dark .select select, html.theme--documenter-dark .textarea, html.theme--documenter-dark .input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input, html.theme--documenter-dark .button {
-  -moz-appearance: none;
-  -webkit-appearance: none;
-  align-items: center;
-  border: 1px solid transparent;
-  border-radius: 0.4em;
-  box-shadow: none;
-  display: inline-flex;
-  font-size: 15px;
-  height: 2.25em;
-  justify-content: flex-start;
-  line-height: 1.5;
-  padding-bottom: calc(0.375em - 1px);
-  padding-left: calc(0.625em - 1px);
-  padding-right: calc(0.625em - 1px);
-  padding-top: calc(0.375em - 1px);
-  position: relative;
-  vertical-align: top; }
-  html.theme--documenter-dark .pagination-previous:focus,
-  html.theme--documenter-dark .pagination-next:focus,
-  html.theme--documenter-dark .pagination-link:focus,
-  html.theme--documenter-dark .pagination-ellipsis:focus, html.theme--documenter-dark .file-cta:focus,
-  html.theme--documenter-dark .file-name:focus, html.theme--documenter-dark .select select:focus, html.theme--documenter-dark .textarea:focus, html.theme--documenter-dark .input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:focus, html.theme--documenter-dark .button:focus, html.theme--documenter-dark .is-focused.pagination-previous,
-  html.theme--documenter-dark .is-focused.pagination-next,
-  html.theme--documenter-dark .is-focused.pagination-link,
-  html.theme--documenter-dark .is-focused.pagination-ellipsis, html.theme--documenter-dark .is-focused.file-cta,
-  html.theme--documenter-dark .is-focused.file-name, html.theme--documenter-dark .select select.is-focused, html.theme--documenter-dark .is-focused.textarea, html.theme--documenter-dark .is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .is-focused.button, html.theme--documenter-dark .pagination-previous:active,
-  html.theme--documenter-dark .pagination-next:active,
-  html.theme--documenter-dark .pagination-link:active,
-  html.theme--documenter-dark .pagination-ellipsis:active, html.theme--documenter-dark .file-cta:active,
-  html.theme--documenter-dark .file-name:active, html.theme--documenter-dark .select select:active, html.theme--documenter-dark .textarea:active, html.theme--documenter-dark .input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:active, html.theme--documenter-dark .button:active, html.theme--documenter-dark .is-active.pagination-previous,
-  html.theme--documenter-dark .is-active.pagination-next,
-  html.theme--documenter-dark .is-active.pagination-link,
-  html.theme--documenter-dark .is-active.pagination-ellipsis, html.theme--documenter-dark .is-active.file-cta,
-  html.theme--documenter-dark .is-active.file-name, html.theme--documenter-dark .select select.is-active, html.theme--documenter-dark .is-active.textarea, html.theme--documenter-dark .is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active, html.theme--documenter-dark .is-active.button {
-    outline: none; }
-  html.theme--documenter-dark .pagination-previous[disabled],
-  html.theme--documenter-dark .pagination-next[disabled],
-  html.theme--documenter-dark .pagination-link[disabled],
-  html.theme--documenter-dark .pagination-ellipsis[disabled], html.theme--documenter-dark .file-cta[disabled],
-  html.theme--documenter-dark .file-name[disabled], html.theme--documenter-dark .select select[disabled], html.theme--documenter-dark .textarea[disabled], html.theme--documenter-dark .input[disabled], html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input[disabled], html.theme--documenter-dark .button[disabled], fieldset[disabled] html.theme--documenter-dark .pagination-previous, html.theme--documenter-dark fieldset[disabled] .pagination-previous,
-  fieldset[disabled] html.theme--documenter-dark .pagination-next,
-  html.theme--documenter-dark fieldset[disabled] .pagination-next,
-  fieldset[disabled] html.theme--documenter-dark .pagination-link,
-  html.theme--documenter-dark fieldset[disabled] .pagination-link,
-  fieldset[disabled] html.theme--documenter-dark .pagination-ellipsis,
-  html.theme--documenter-dark fieldset[disabled] .pagination-ellipsis, fieldset[disabled] html.theme--documenter-dark .file-cta, html.theme--documenter-dark fieldset[disabled] .file-cta,
-  fieldset[disabled] html.theme--documenter-dark .file-name,
-  html.theme--documenter-dark fieldset[disabled] .file-name, fieldset[disabled] html.theme--documenter-dark .select select, fieldset[disabled] html.theme--documenter-dark .textarea, fieldset[disabled] html.theme--documenter-dark .input, fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input, html.theme--documenter-dark fieldset[disabled] .select select, html.theme--documenter-dark .select fieldset[disabled] select, html.theme--documenter-dark fieldset[disabled] .textarea, html.theme--documenter-dark fieldset[disabled] .input, html.theme--documenter-dark fieldset[disabled] #documenter .docs-sidebar form.docs-search > input, html.theme--documenter-dark #documenter .docs-sidebar fieldset[disabled] form.docs-search > input, fieldset[disabled] html.theme--documenter-dark .button, html.theme--documenter-dark fieldset[disabled] .button {
-    cursor: not-allowed; }
-
-/*! minireset.css v0.0.4 | MIT License | github.com/jgthms/minireset.css */
-html,
-body,
-p,
-ol,
-ul,
-li,
-dl,
-dt,
-dd,
-blockquote,
-figure,
-fieldset,
-legend,
-textarea,
-pre,
-iframe,
-hr,
-h1,
-h2,
-h3,
-h4,
-h5,
-h6 {
-  margin: 0;
-  padding: 0; }
-
-h1,
-h2,
-h3,
-h4,
-h5,
-h6 {
-  font-size: 100%;
-  font-weight: normal; }
-
-ul {
-  list-style: none; }
-
-button,
-input,
-select,
-textarea {
-  margin: 0; }
-
-html {
-  box-sizing: border-box; }
-
-*, *::before, *::after {
-  box-sizing: inherit; }
-
-img,
-embed,
-iframe,
-object,
-video {
-  height: auto;
-  max-width: 100%; }
-
-audio {
-  max-width: 100%; }
-
-iframe {
-  border: 0; }
-
-table {
-  border-collapse: collapse;
-  border-spacing: 0; }
-
-td,
-th {
-  padding: 0; }
-  td:not([align]),
-  th:not([align]) {
-    text-align: left; }
-
-.is-clearfix::after {
-  clear: both;
-  content: " ";
-  display: table; }
-
-.is-pulled-left {
-  float: left !important; }
-
-.is-pulled-right {
-  float: right !important; }
-
-.is-clipped {
-  overflow: hidden !important; }
-
-.is-size-1 {
-  font-size: 3rem !important; }
-
-.is-size-2 {
-  font-size: 2.5rem !important; }
-
-.is-size-3 {
-  font-size: 2rem !important; }
-
-.is-size-4 {
-  font-size: 1.5rem !important; }
-
-.is-size-5 {
-  font-size: 1.25rem !important; }
-
-.is-size-6 {
-  font-size: 15px !important; }
-
-.is-size-7, html.theme--documenter-dark .docstring > section > a.docs-sourcelink {
-  font-size: 0.85em !important; }
-
-@media screen and (max-width: 768px) {
-  .is-size-1-mobile {
-    font-size: 3rem !important; }
-  .is-size-2-mobile {
-    font-size: 2.5rem !important; }
-  .is-size-3-mobile {
-    font-size: 2rem !important; }
-  .is-size-4-mobile {
-    font-size: 1.5rem !important; }
-  .is-size-5-mobile {
-    font-size: 1.25rem !important; }
-  .is-size-6-mobile {
-    font-size: 15px !important; }
-  .is-size-7-mobile {
-    font-size: 0.85em !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-size-1-tablet {
-    font-size: 3rem !important; }
-  .is-size-2-tablet {
-    font-size: 2.5rem !important; }
-  .is-size-3-tablet {
-    font-size: 2rem !important; }
-  .is-size-4-tablet {
-    font-size: 1.5rem !important; }
-  .is-size-5-tablet {
-    font-size: 1.25rem !important; }
-  .is-size-6-tablet {
-    font-size: 15px !important; }
-  .is-size-7-tablet {
-    font-size: 0.85em !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-size-1-touch {
-    font-size: 3rem !important; }
-  .is-size-2-touch {
-    font-size: 2.5rem !important; }
-  .is-size-3-touch {
-    font-size: 2rem !important; }
-  .is-size-4-touch {
-    font-size: 1.5rem !important; }
-  .is-size-5-touch {
-    font-size: 1.25rem !important; }
-  .is-size-6-touch {
-    font-size: 15px !important; }
-  .is-size-7-touch {
-    font-size: 0.85em !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-size-1-desktop {
-    font-size: 3rem !important; }
-  .is-size-2-desktop {
-    font-size: 2.5rem !important; }
-  .is-size-3-desktop {
-    font-size: 2rem !important; }
-  .is-size-4-desktop {
-    font-size: 1.5rem !important; }
-  .is-size-5-desktop {
-    font-size: 1.25rem !important; }
-  .is-size-6-desktop {
-    font-size: 15px !important; }
-  .is-size-7-desktop {
-    font-size: 0.85em !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-size-1-widescreen {
-    font-size: 3rem !important; }
-  .is-size-2-widescreen {
-    font-size: 2.5rem !important; }
-  .is-size-3-widescreen {
-    font-size: 2rem !important; }
-  .is-size-4-widescreen {
-    font-size: 1.5rem !important; }
-  .is-size-5-widescreen {
-    font-size: 1.25rem !important; }
-  .is-size-6-widescreen {
-    font-size: 15px !important; }
-  .is-size-7-widescreen {
-    font-size: 0.85em !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-size-1-fullhd {
-    font-size: 3rem !important; }
-  .is-size-2-fullhd {
-    font-size: 2.5rem !important; }
-  .is-size-3-fullhd {
-    font-size: 2rem !important; }
-  .is-size-4-fullhd {
-    font-size: 1.5rem !important; }
-  .is-size-5-fullhd {
-    font-size: 1.25rem !important; }
-  .is-size-6-fullhd {
-    font-size: 15px !important; }
-  .is-size-7-fullhd {
-    font-size: 0.85em !important; } }
-
-.has-text-centered {
-  text-align: center !important; }
-
-.has-text-justified {
-  text-align: justify !important; }
-
-.has-text-left {
-  text-align: left !important; }
-
-.has-text-right {
-  text-align: right !important; }
-
-@media screen and (max-width: 768px) {
-  .has-text-centered-mobile {
-    text-align: center !important; } }
-
-@media screen and (min-width: 769px), print {
-  .has-text-centered-tablet {
-    text-align: center !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .has-text-centered-tablet-only {
-    text-align: center !important; } }
-
-@media screen and (max-width: 1055px) {
-  .has-text-centered-touch {
-    text-align: center !important; } }
-
-@media screen and (min-width: 1056px) {
-  .has-text-centered-desktop {
-    text-align: center !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .has-text-centered-desktop-only {
-    text-align: center !important; } }
-
-@media screen and (min-width: 1216px) {
-  .has-text-centered-widescreen {
-    text-align: center !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .has-text-centered-widescreen-only {
-    text-align: center !important; } }
-
-@media screen and (min-width: 1408px) {
-  .has-text-centered-fullhd {
-    text-align: center !important; } }
-
-@media screen and (max-width: 768px) {
-  .has-text-justified-mobile {
-    text-align: justify !important; } }
-
-@media screen and (min-width: 769px), print {
-  .has-text-justified-tablet {
-    text-align: justify !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .has-text-justified-tablet-only {
-    text-align: justify !important; } }
-
-@media screen and (max-width: 1055px) {
-  .has-text-justified-touch {
-    text-align: justify !important; } }
-
-@media screen and (min-width: 1056px) {
-  .has-text-justified-desktop {
-    text-align: justify !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .has-text-justified-desktop-only {
-    text-align: justify !important; } }
-
-@media screen and (min-width: 1216px) {
-  .has-text-justified-widescreen {
-    text-align: justify !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .has-text-justified-widescreen-only {
-    text-align: justify !important; } }
-
-@media screen and (min-width: 1408px) {
-  .has-text-justified-fullhd {
-    text-align: justify !important; } }
-
-@media screen and (max-width: 768px) {
-  .has-text-left-mobile {
-    text-align: left !important; } }
-
-@media screen and (min-width: 769px), print {
-  .has-text-left-tablet {
-    text-align: left !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .has-text-left-tablet-only {
-    text-align: left !important; } }
-
-@media screen and (max-width: 1055px) {
-  .has-text-left-touch {
-    text-align: left !important; } }
-
-@media screen and (min-width: 1056px) {
-  .has-text-left-desktop {
-    text-align: left !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .has-text-left-desktop-only {
-    text-align: left !important; } }
-
-@media screen and (min-width: 1216px) {
-  .has-text-left-widescreen {
-    text-align: left !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .has-text-left-widescreen-only {
-    text-align: left !important; } }
-
-@media screen and (min-width: 1408px) {
-  .has-text-left-fullhd {
-    text-align: left !important; } }
-
-@media screen and (max-width: 768px) {
-  .has-text-right-mobile {
-    text-align: right !important; } }
-
-@media screen and (min-width: 769px), print {
-  .has-text-right-tablet {
-    text-align: right !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .has-text-right-tablet-only {
-    text-align: right !important; } }
-
-@media screen and (max-width: 1055px) {
-  .has-text-right-touch {
-    text-align: right !important; } }
-
-@media screen and (min-width: 1056px) {
-  .has-text-right-desktop {
-    text-align: right !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .has-text-right-desktop-only {
-    text-align: right !important; } }
-
-@media screen and (min-width: 1216px) {
-  .has-text-right-widescreen {
-    text-align: right !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .has-text-right-widescreen-only {
-    text-align: right !important; } }
-
-@media screen and (min-width: 1408px) {
-  .has-text-right-fullhd {
-    text-align: right !important; } }
-
-.is-capitalized {
-  text-transform: capitalize !important; }
-
-.is-lowercase {
-  text-transform: lowercase !important; }
-
-.is-uppercase {
-  text-transform: uppercase !important; }
-
-.is-italic {
-  font-style: italic !important; }
-
-.has-text-white {
-  color: white !important; }
-
-a.has-text-white:hover, a.has-text-white:focus {
-  color: #e6e6e6 !important; }
-
-.has-background-white {
-  background-color: white !important; }
-
-.has-text-black {
-  color: #0a0a0a !important; }
-
-a.has-text-black:hover, a.has-text-black:focus {
-  color: black !important; }
-
-.has-background-black {
-  background-color: #0a0a0a !important; }
-
-.has-text-light {
-  color: #ecf0f1 !important; }
-
-a.has-text-light:hover, a.has-text-light:focus {
-  color: #cfd9db !important; }
-
-.has-background-light {
-  background-color: #ecf0f1 !important; }
-
-.has-text-dark {
-  color: #282f2f !important; }
-
-a.has-text-dark:hover, a.has-text-dark:focus {
-  color: #111414 !important; }
-
-.has-background-dark {
-  background-color: #282f2f !important; }
-
-.has-text-primary {
-  color: #375a7f !important; }
-
-a.has-text-primary:hover, a.has-text-primary:focus {
-  color: #28415b !important; }
-
-.has-background-primary {
-  background-color: #375a7f !important; }
-
-.has-text-link {
-  color: #1abc9c !important; }
-
-a.has-text-link:hover, a.has-text-link:focus {
-  color: #148f77 !important; }
-
-.has-background-link {
-  background-color: #1abc9c !important; }
-
-.has-text-info {
-  color: #024c7d !important; }
-
-a.has-text-info:hover, a.has-text-info:focus {
-  color: #012d4b !important; }
-
-.has-background-info {
-  background-color: #024c7d !important; }
-
-.has-text-success {
-  color: #008438 !important; }
-
-a.has-text-success:hover, a.has-text-success:focus {
-  color: #005122 !important; }
-
-.has-background-success {
-  background-color: #008438 !important; }
-
-.has-text-warning {
-  color: #ad8100 !important; }
-
-a.has-text-warning:hover, a.has-text-warning:focus {
-  color: #7a5b00 !important; }
-
-.has-background-warning {
-  background-color: #ad8100 !important; }
-
-.has-text-danger {
-  color: #9e1b0d !important; }
-
-a.has-text-danger:hover, a.has-text-danger:focus {
-  color: #6f1309 !important; }
-
-.has-background-danger {
-  background-color: #9e1b0d !important; }
-
-.has-text-black-bis {
-  color: #121212 !important; }
-
-.has-background-black-bis {
-  background-color: #121212 !important; }
-
-.has-text-black-ter {
-  color: #242424 !important; }
-
-.has-background-black-ter {
-  background-color: #242424 !important; }
-
-.has-text-grey-darker {
-  color: #282f2f !important; }
-
-.has-background-grey-darker {
-  background-color: #282f2f !important; }
-
-.has-text-grey-dark {
-  color: #343c3d !important; }
-
-.has-background-grey-dark {
-  background-color: #343c3d !important; }
-
-.has-text-grey {
-  color: #5e6d6f !important; }
-
-.has-background-grey {
-  background-color: #5e6d6f !important; }
-
-.has-text-grey-light {
-  color: #8c9b9d !important; }
-
-.has-background-grey-light {
-  background-color: #8c9b9d !important; }
-
-.has-text-grey-lighter {
-  color: #dbdee0 !important; }
-
-.has-background-grey-lighter {
-  background-color: #dbdee0 !important; }
-
-.has-text-white-ter {
-  color: #ecf0f1 !important; }
-
-.has-background-white-ter {
-  background-color: #ecf0f1 !important; }
-
-.has-text-white-bis {
-  color: #fafafa !important; }
-
-.has-background-white-bis {
-  background-color: #fafafa !important; }
-
-.has-text-weight-light {
-  font-weight: 300 !important; }
-
-.has-text-weight-normal {
-  font-weight: 400 !important; }
-
-.has-text-weight-medium {
-  font-weight: 500 !important; }
-
-.has-text-weight-semibold {
-  font-weight: 600 !important; }
-
-.has-text-weight-bold {
-  font-weight: 700 !important; }
-
-.is-family-primary {
-  font-family: "Lato Medium", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; }
-
-.is-family-secondary {
-  font-family: "Lato Medium", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; }
-
-.is-family-sans-serif {
-  font-family: "Lato Medium", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; }
-
-.is-family-monospace {
-  font-family: "JuliaMono", "SFMono-Regular", "Menlo", "Consolas", "Liberation Mono", "DejaVu Sans Mono", monospace !important; }
-
-.is-family-code {
-  font-family: "JuliaMono", "SFMono-Regular", "Menlo", "Consolas", "Liberation Mono", "DejaVu Sans Mono", monospace !important; }
-
-.is-block {
-  display: block !important; }
-
-@media screen and (max-width: 768px) {
-  .is-block-mobile {
-    display: block !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-block-tablet {
-    display: block !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .is-block-tablet-only {
-    display: block !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-block-touch {
-    display: block !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-block-desktop {
-    display: block !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .is-block-desktop-only {
-    display: block !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-block-widescreen {
-    display: block !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .is-block-widescreen-only {
-    display: block !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-block-fullhd {
-    display: block !important; } }
-
-.is-flex {
-  display: flex !important; }
-
-@media screen and (max-width: 768px) {
-  .is-flex-mobile {
-    display: flex !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-flex-tablet {
-    display: flex !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .is-flex-tablet-only {
-    display: flex !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-flex-touch {
-    display: flex !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-flex-desktop {
-    display: flex !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .is-flex-desktop-only {
-    display: flex !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-flex-widescreen {
-    display: flex !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .is-flex-widescreen-only {
-    display: flex !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-flex-fullhd {
-    display: flex !important; } }
-
-.is-inline {
-  display: inline !important; }
-
-@media screen and (max-width: 768px) {
-  .is-inline-mobile {
-    display: inline !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-inline-tablet {
-    display: inline !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .is-inline-tablet-only {
-    display: inline !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-inline-touch {
-    display: inline !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-inline-desktop {
-    display: inline !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .is-inline-desktop-only {
-    display: inline !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-inline-widescreen {
-    display: inline !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .is-inline-widescreen-only {
-    display: inline !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-inline-fullhd {
-    display: inline !important; } }
-
-.is-inline-block {
-  display: inline-block !important; }
-
-@media screen and (max-width: 768px) {
-  .is-inline-block-mobile {
-    display: inline-block !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-inline-block-tablet {
-    display: inline-block !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .is-inline-block-tablet-only {
-    display: inline-block !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-inline-block-touch {
-    display: inline-block !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-inline-block-desktop {
-    display: inline-block !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .is-inline-block-desktop-only {
-    display: inline-block !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-inline-block-widescreen {
-    display: inline-block !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .is-inline-block-widescreen-only {
-    display: inline-block !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-inline-block-fullhd {
-    display: inline-block !important; } }
-
-.is-inline-flex {
-  display: inline-flex !important; }
-
-@media screen and (max-width: 768px) {
-  .is-inline-flex-mobile {
-    display: inline-flex !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-inline-flex-tablet {
-    display: inline-flex !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .is-inline-flex-tablet-only {
-    display: inline-flex !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-inline-flex-touch {
-    display: inline-flex !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-inline-flex-desktop {
-    display: inline-flex !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .is-inline-flex-desktop-only {
-    display: inline-flex !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-inline-flex-widescreen {
-    display: inline-flex !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .is-inline-flex-widescreen-only {
-    display: inline-flex !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-inline-flex-fullhd {
-    display: inline-flex !important; } }
-
-.is-hidden {
-  display: none !important; }
-
-.is-sr-only {
-  border: none !important;
-  clip: rect(0, 0, 0, 0) !important;
-  height: 0.01em !important;
-  overflow: hidden !important;
-  padding: 0 !important;
-  position: absolute !important;
-  white-space: nowrap !important;
-  width: 0.01em !important; }
-
-@media screen and (max-width: 768px) {
-  .is-hidden-mobile {
-    display: none !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-hidden-tablet {
-    display: none !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .is-hidden-tablet-only {
-    display: none !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-hidden-touch {
-    display: none !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-hidden-desktop {
-    display: none !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .is-hidden-desktop-only {
-    display: none !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-hidden-widescreen {
-    display: none !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .is-hidden-widescreen-only {
-    display: none !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-hidden-fullhd {
-    display: none !important; } }
-
-.is-invisible {
-  visibility: hidden !important; }
-
-@media screen and (max-width: 768px) {
-  .is-invisible-mobile {
-    visibility: hidden !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-invisible-tablet {
-    visibility: hidden !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .is-invisible-tablet-only {
-    visibility: hidden !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-invisible-touch {
-    visibility: hidden !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-invisible-desktop {
-    visibility: hidden !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .is-invisible-desktop-only {
-    visibility: hidden !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-invisible-widescreen {
-    visibility: hidden !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .is-invisible-widescreen-only {
-    visibility: hidden !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-invisible-fullhd {
-    visibility: hidden !important; } }
-
-.is-marginless {
-  margin: 0 !important; }
-
-.is-paddingless {
-  padding: 0 !important; }
-
-.is-radiusless {
-  border-radius: 0 !important; }
-
-.is-shadowless {
-  box-shadow: none !important; }
-
-.is-relative {
-  position: relative !important; }
-
-html.theme--documenter-dark {
-  /* This file contain the overall layout.
- *
- * The main container is <div> that is identified by id #documenter.
- */
-  /*!
-  Theme: a11y-dark
-  Author: @ericwbailey
-  Maintainer: @ericwbailey
-
-  Based on the Tomorrow Night Eighties theme: https://github.com/isagalaev/highlight.js/blob/master/src/styles/tomorrow-night-eighties.css
-*/
-  /* Comment */
-  /* Red */
-  /* Orange */
-  /* Yellow */
-  /* Green */
-  /* Blue */
-  /* Purple */ }
-  html.theme--documenter-dark html {
-    background-color: #1f2424;
-    font-size: 16px;
-    -moz-osx-font-smoothing: grayscale;
-    -webkit-font-smoothing: antialiased;
-    min-width: 300px;
-    overflow-x: auto;
-    overflow-y: scroll;
-    text-rendering: optimizeLegibility;
-    text-size-adjust: 100%; }
-  html.theme--documenter-dark article,
-  html.theme--documenter-dark aside,
-  html.theme--documenter-dark figure,
-  html.theme--documenter-dark footer,
-  html.theme--documenter-dark header,
-  html.theme--documenter-dark hgroup,
-  html.theme--documenter-dark section {
-    display: block; }
-  html.theme--documenter-dark body,
-  html.theme--documenter-dark button,
-  html.theme--documenter-dark input,
-  html.theme--documenter-dark select,
-  html.theme--documenter-dark textarea {
-    font-family: "Lato Medium", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
-  html.theme--documenter-dark code,
-  html.theme--documenter-dark pre {
-    -moz-osx-font-smoothing: auto;
-    -webkit-font-smoothing: auto;
-    font-family: "JuliaMono", "SFMono-Regular", "Menlo", "Consolas", "Liberation Mono", "DejaVu Sans Mono", monospace; }
-  html.theme--documenter-dark body {
-    color: #fff;
-    font-size: 1em;
-    font-weight: 400;
-    line-height: 1.5; }
-  html.theme--documenter-dark a {
-    color: #1abc9c;
-    cursor: pointer;
-    text-decoration: none; }
-    html.theme--documenter-dark a strong {
-      color: currentColor; }
-    html.theme--documenter-dark a:hover {
-      color: #1dd2af; }
-  html.theme--documenter-dark code {
-    background-color: rgba(255, 255, 255, 0.05);
-    color: #ececec;
-    font-size: 0.875em;
-    font-weight: normal;
-    padding: 0.1em; }
-  html.theme--documenter-dark hr {
-    background-color: #282f2f;
-    border: none;
-    display: block;
-    height: 2px;
-    margin: 1.5rem 0; }
-  html.theme--documenter-dark img {
-    height: auto;
-    max-width: 100%; }
-  html.theme--documenter-dark input[type="checkbox"],
-  html.theme--documenter-dark input[type="radio"] {
-    vertical-align: baseline; }
-  html.theme--documenter-dark small {
-    font-size: 0.875em; }
-  html.theme--documenter-dark span {
-    font-style: inherit;
-    font-weight: inherit; }
-  html.theme--documenter-dark strong {
-    color: #f2f2f2;
-    font-weight: 700; }
-  html.theme--documenter-dark fieldset {
-    border: none; }
-  html.theme--documenter-dark pre {
-    -webkit-overflow-scrolling: touch;
-    background-color: #282f2f;
-    color: #fff;
-    font-size: 0.875em;
-    overflow-x: auto;
-    padding: 1.25rem 1.5rem;
-    white-space: pre;
-    word-wrap: normal; }
-    html.theme--documenter-dark pre code {
-      background-color: transparent;
-      color: currentColor;
-      font-size: 1em;
-      padding: 0; }
-  html.theme--documenter-dark table td,
-  html.theme--documenter-dark table th {
-    vertical-align: top; }
-    html.theme--documenter-dark table td:not([align]),
-    html.theme--documenter-dark table th:not([align]) {
-      text-align: left; }
-  html.theme--documenter-dark table th {
-    color: #f2f2f2; }
-  html.theme--documenter-dark .box {
-    background-color: #343c3d;
-    border-radius: 8px;
-    box-shadow: none;
-    color: #fff;
-    display: block;
-    padding: 1.25rem; }
-  html.theme--documenter-dark a.box:hover, html.theme--documenter-dark a.box:focus {
-    box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px #1abc9c; }
-  html.theme--documenter-dark a.box:active {
-    box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2), 0 0 0 1px #1abc9c; }
-  html.theme--documenter-dark .button {
-    background-color: #282f2f;
-    border-color: #4c5759;
-    border-width: 1px;
-    color: #375a7f;
-    cursor: pointer;
-    justify-content: center;
-    padding-bottom: calc(0.375em - 1px);
-    padding-left: 0.75em;
-    padding-right: 0.75em;
-    padding-top: calc(0.375em - 1px);
-    text-align: center;
-    white-space: nowrap; }
-    html.theme--documenter-dark .button strong {
-      color: inherit; }
-    html.theme--documenter-dark .button .icon, html.theme--documenter-dark .button .icon.is-small, html.theme--documenter-dark .button #documenter .docs-sidebar form.docs-search > input.icon, html.theme--documenter-dark #documenter .docs-sidebar .button form.docs-search > input.icon, html.theme--documenter-dark .button .icon.is-medium, html.theme--documenter-dark .button .icon.is-large {
-      height: 1.5em;
-      width: 1.5em; }
-    html.theme--documenter-dark .button .icon:first-child:not(:last-child) {
-      margin-left: calc(-0.375em - 1px);
-      margin-right: 0.1875em; }
-    html.theme--documenter-dark .button .icon:last-child:not(:first-child) {
-      margin-left: 0.1875em;
-      margin-right: calc(-0.375em - 1px); }
-    html.theme--documenter-dark .button .icon:first-child:last-child {
-      margin-left: calc(-0.375em - 1px);
-      margin-right: calc(-0.375em - 1px); }
-    html.theme--documenter-dark .button:hover, html.theme--documenter-dark .button.is-hovered {
-      border-color: #8c9b9d;
-      color: #f2f2f2; }
-    html.theme--documenter-dark .button:focus, html.theme--documenter-dark .button.is-focused {
-      border-color: #8c9b9d;
-      color: #17a689; }
-      html.theme--documenter-dark .button:focus:not(:active), html.theme--documenter-dark .button.is-focused:not(:active) {
-        box-shadow: 0 0 0 0.125em rgba(26, 188, 156, 0.25); }
-    html.theme--documenter-dark .button:active, html.theme--documenter-dark .button.is-active {
-      border-color: #343c3d;
-      color: #f2f2f2; }
-    html.theme--documenter-dark .button.is-text {
-      background-color: transparent;
-      border-color: transparent;
-      color: #fff;
-      text-decoration: underline; }
-      html.theme--documenter-dark .button.is-text:hover, html.theme--documenter-dark .button.is-text.is-hovered, html.theme--documenter-dark .button.is-text:focus, html.theme--documenter-dark .button.is-text.is-focused {
-        background-color: #282f2f;
-        color: #f2f2f2; }
-      html.theme--documenter-dark .button.is-text:active, html.theme--documenter-dark .button.is-text.is-active {
-        background-color: #1d2122;
-        color: #f2f2f2; }
-      html.theme--documenter-dark .button.is-text[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-text {
-        background-color: transparent;
-        border-color: transparent;
-        box-shadow: none; }
-    html.theme--documenter-dark .button.is-white {
-      background-color: white;
-      border-color: transparent;
-      color: #0a0a0a; }
-      html.theme--documenter-dark .button.is-white:hover, html.theme--documenter-dark .button.is-white.is-hovered {
-        background-color: #f9f9f9;
-        border-color: transparent;
-        color: #0a0a0a; }
-      html.theme--documenter-dark .button.is-white:focus, html.theme--documenter-dark .button.is-white.is-focused {
-        border-color: transparent;
-        color: #0a0a0a; }
-        html.theme--documenter-dark .button.is-white:focus:not(:active), html.theme--documenter-dark .button.is-white.is-focused:not(:active) {
-          box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); }
-      html.theme--documenter-dark .button.is-white:active, html.theme--documenter-dark .button.is-white.is-active {
-        background-color: #f2f2f2;
-        border-color: transparent;
-        color: #0a0a0a; }
-      html.theme--documenter-dark .button.is-white[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-white {
-        background-color: white;
-        border-color: transparent;
-        box-shadow: none; }
-      html.theme--documenter-dark .button.is-white.is-inverted {
-        background-color: #0a0a0a;
-        color: white; }
-        html.theme--documenter-dark .button.is-white.is-inverted:hover, html.theme--documenter-dark .button.is-white.is-inverted.is-hovered {
-          background-color: black; }
-        html.theme--documenter-dark .button.is-white.is-inverted[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-white.is-inverted {
-          background-color: #0a0a0a;
-          border-color: transparent;
-          box-shadow: none;
-          color: white; }
-      html.theme--documenter-dark .button.is-white.is-loading::after {
-        border-color: transparent transparent #0a0a0a #0a0a0a !important; }
-      html.theme--documenter-dark .button.is-white.is-outlined {
-        background-color: transparent;
-        border-color: white;
-        color: white; }
-        html.theme--documenter-dark .button.is-white.is-outlined:hover, html.theme--documenter-dark .button.is-white.is-outlined.is-hovered, html.theme--documenter-dark .button.is-white.is-outlined:focus, html.theme--documenter-dark .button.is-white.is-outlined.is-focused {
-          background-color: white;
-          border-color: white;
-          color: #0a0a0a; }
-        html.theme--documenter-dark .button.is-white.is-outlined.is-loading::after {
-          border-color: transparent transparent white white !important; }
-        html.theme--documenter-dark .button.is-white.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-white.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-white.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-white.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #0a0a0a #0a0a0a !important; }
-        html.theme--documenter-dark .button.is-white.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-white.is-outlined {
-          background-color: transparent;
-          border-color: white;
-          box-shadow: none;
-          color: white; }
-      html.theme--documenter-dark .button.is-white.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: #0a0a0a;
-        color: #0a0a0a; }
-        html.theme--documenter-dark .button.is-white.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-white.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-focused {
-          background-color: #0a0a0a;
-          color: white; }
-        html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent white white !important; }
-        html.theme--documenter-dark .button.is-white.is-inverted.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-white.is-inverted.is-outlined {
-          background-color: transparent;
-          border-color: #0a0a0a;
-          box-shadow: none;
-          color: #0a0a0a; }
-    html.theme--documenter-dark .button.is-black {
-      background-color: #0a0a0a;
-      border-color: transparent;
-      color: white; }
-      html.theme--documenter-dark .button.is-black:hover, html.theme--documenter-dark .button.is-black.is-hovered {
-        background-color: #040404;
-        border-color: transparent;
-        color: white; }
-      html.theme--documenter-dark .button.is-black:focus, html.theme--documenter-dark .button.is-black.is-focused {
-        border-color: transparent;
-        color: white; }
-        html.theme--documenter-dark .button.is-black:focus:not(:active), html.theme--documenter-dark .button.is-black.is-focused:not(:active) {
-          box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); }
-      html.theme--documenter-dark .button.is-black:active, html.theme--documenter-dark .button.is-black.is-active {
-        background-color: black;
-        border-color: transparent;
-        color: white; }
-      html.theme--documenter-dark .button.is-black[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-black {
-        background-color: #0a0a0a;
-        border-color: transparent;
-        box-shadow: none; }
-      html.theme--documenter-dark .button.is-black.is-inverted {
-        background-color: white;
-        color: #0a0a0a; }
-        html.theme--documenter-dark .button.is-black.is-inverted:hover, html.theme--documenter-dark .button.is-black.is-inverted.is-hovered {
-          background-color: #f2f2f2; }
-        html.theme--documenter-dark .button.is-black.is-inverted[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-black.is-inverted {
-          background-color: white;
-          border-color: transparent;
-          box-shadow: none;
-          color: #0a0a0a; }
-      html.theme--documenter-dark .button.is-black.is-loading::after {
-        border-color: transparent transparent white white !important; }
-      html.theme--documenter-dark .button.is-black.is-outlined {
-        background-color: transparent;
-        border-color: #0a0a0a;
-        color: #0a0a0a; }
-        html.theme--documenter-dark .button.is-black.is-outlined:hover, html.theme--documenter-dark .button.is-black.is-outlined.is-hovered, html.theme--documenter-dark .button.is-black.is-outlined:focus, html.theme--documenter-dark .button.is-black.is-outlined.is-focused {
-          background-color: #0a0a0a;
-          border-color: #0a0a0a;
-          color: white; }
-        html.theme--documenter-dark .button.is-black.is-outlined.is-loading::after {
-          border-color: transparent transparent #0a0a0a #0a0a0a !important; }
-        html.theme--documenter-dark .button.is-black.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-black.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-black.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-black.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent white white !important; }
-        html.theme--documenter-dark .button.is-black.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-black.is-outlined {
-          background-color: transparent;
-          border-color: #0a0a0a;
-          box-shadow: none;
-          color: #0a0a0a; }
-      html.theme--documenter-dark .button.is-black.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: white;
-        color: white; }
-        html.theme--documenter-dark .button.is-black.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-black.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-focused {
-          background-color: white;
-          color: #0a0a0a; }
-        html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #0a0a0a #0a0a0a !important; }
-        html.theme--documenter-dark .button.is-black.is-inverted.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-black.is-inverted.is-outlined {
-          background-color: transparent;
-          border-color: white;
-          box-shadow: none;
-          color: white; }
-    html.theme--documenter-dark .button.is-light {
-      background-color: #ecf0f1;
-      border-color: transparent;
-      color: #282f2f; }
-      html.theme--documenter-dark .button.is-light:hover, html.theme--documenter-dark .button.is-light.is-hovered {
-        background-color: #e5eaec;
-        border-color: transparent;
-        color: #282f2f; }
-      html.theme--documenter-dark .button.is-light:focus, html.theme--documenter-dark .button.is-light.is-focused {
-        border-color: transparent;
-        color: #282f2f; }
-        html.theme--documenter-dark .button.is-light:focus:not(:active), html.theme--documenter-dark .button.is-light.is-focused:not(:active) {
-          box-shadow: 0 0 0 0.125em rgba(236, 240, 241, 0.25); }
-      html.theme--documenter-dark .button.is-light:active, html.theme--documenter-dark .button.is-light.is-active {
-        background-color: #dde4e6;
-        border-color: transparent;
-        color: #282f2f; }
-      html.theme--documenter-dark .button.is-light[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-light {
-        background-color: #ecf0f1;
-        border-color: transparent;
-        box-shadow: none; }
-      html.theme--documenter-dark .button.is-light.is-inverted {
-        background-color: #282f2f;
-        color: #ecf0f1; }
-        html.theme--documenter-dark .button.is-light.is-inverted:hover, html.theme--documenter-dark .button.is-light.is-inverted.is-hovered {
-          background-color: #1d2122; }
-        html.theme--documenter-dark .button.is-light.is-inverted[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-light.is-inverted {
-          background-color: #282f2f;
-          border-color: transparent;
-          box-shadow: none;
-          color: #ecf0f1; }
-      html.theme--documenter-dark .button.is-light.is-loading::after {
-        border-color: transparent transparent #282f2f #282f2f !important; }
-      html.theme--documenter-dark .button.is-light.is-outlined {
-        background-color: transparent;
-        border-color: #ecf0f1;
-        color: #ecf0f1; }
-        html.theme--documenter-dark .button.is-light.is-outlined:hover, html.theme--documenter-dark .button.is-light.is-outlined.is-hovered, html.theme--documenter-dark .button.is-light.is-outlined:focus, html.theme--documenter-dark .button.is-light.is-outlined.is-focused {
-          background-color: #ecf0f1;
-          border-color: #ecf0f1;
-          color: #282f2f; }
-        html.theme--documenter-dark .button.is-light.is-outlined.is-loading::after {
-          border-color: transparent transparent #ecf0f1 #ecf0f1 !important; }
-        html.theme--documenter-dark .button.is-light.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-light.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-light.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-light.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #282f2f #282f2f !important; }
-        html.theme--documenter-dark .button.is-light.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-light.is-outlined {
-          background-color: transparent;
-          border-color: #ecf0f1;
-          box-shadow: none;
-          color: #ecf0f1; }
-      html.theme--documenter-dark .button.is-light.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: #282f2f;
-        color: #282f2f; }
-        html.theme--documenter-dark .button.is-light.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-light.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-focused {
-          background-color: #282f2f;
-          color: #ecf0f1; }
-        html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #ecf0f1 #ecf0f1 !important; }
-        html.theme--documenter-dark .button.is-light.is-inverted.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-light.is-inverted.is-outlined {
-          background-color: transparent;
-          border-color: #282f2f;
-          box-shadow: none;
-          color: #282f2f; }
-    html.theme--documenter-dark .button.is-dark, html.theme--documenter-dark .content kbd.button {
-      background-color: #282f2f;
-      border-color: transparent;
-      color: #ecf0f1; }
-      html.theme--documenter-dark .button.is-dark:hover, html.theme--documenter-dark .content kbd.button:hover, html.theme--documenter-dark .button.is-dark.is-hovered, html.theme--documenter-dark .content kbd.button.is-hovered {
-        background-color: #232829;
-        border-color: transparent;
-        color: #ecf0f1; }
-      html.theme--documenter-dark .button.is-dark:focus, html.theme--documenter-dark .content kbd.button:focus, html.theme--documenter-dark .button.is-dark.is-focused, html.theme--documenter-dark .content kbd.button.is-focused {
-        border-color: transparent;
-        color: #ecf0f1; }
-        html.theme--documenter-dark .button.is-dark:focus:not(:active), html.theme--documenter-dark .content kbd.button:focus:not(:active), html.theme--documenter-dark .button.is-dark.is-focused:not(:active), html.theme--documenter-dark .content kbd.button.is-focused:not(:active) {
-          box-shadow: 0 0 0 0.125em rgba(40, 47, 47, 0.25); }
-      html.theme--documenter-dark .button.is-dark:active, html.theme--documenter-dark .content kbd.button:active, html.theme--documenter-dark .button.is-dark.is-active, html.theme--documenter-dark .content kbd.button.is-active {
-        background-color: #1d2122;
-        border-color: transparent;
-        color: #ecf0f1; }
-      html.theme--documenter-dark .button.is-dark[disabled], html.theme--documenter-dark .content kbd.button[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-dark, fieldset[disabled] html.theme--documenter-dark .content kbd.button {
-        background-color: #282f2f;
-        border-color: transparent;
-        box-shadow: none; }
-      html.theme--documenter-dark .button.is-dark.is-inverted, html.theme--documenter-dark .content kbd.button.is-inverted {
-        background-color: #ecf0f1;
-        color: #282f2f; }
-        html.theme--documenter-dark .button.is-dark.is-inverted:hover, html.theme--documenter-dark .content kbd.button.is-inverted:hover, html.theme--documenter-dark .button.is-dark.is-inverted.is-hovered, html.theme--documenter-dark .content kbd.button.is-inverted.is-hovered {
-          background-color: #dde4e6; }
-        html.theme--documenter-dark .button.is-dark.is-inverted[disabled], html.theme--documenter-dark .content kbd.button.is-inverted[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-dark.is-inverted, fieldset[disabled] html.theme--documenter-dark .content kbd.button.is-inverted {
-          background-color: #ecf0f1;
-          border-color: transparent;
-          box-shadow: none;
-          color: #282f2f; }
-      html.theme--documenter-dark .button.is-dark.is-loading::after, html.theme--documenter-dark .content kbd.button.is-loading::after {
-        border-color: transparent transparent #ecf0f1 #ecf0f1 !important; }
-      html.theme--documenter-dark .button.is-dark.is-outlined, html.theme--documenter-dark .content kbd.button.is-outlined {
-        background-color: transparent;
-        border-color: #282f2f;
-        color: #282f2f; }
-        html.theme--documenter-dark .button.is-dark.is-outlined:hover, html.theme--documenter-dark .content kbd.button.is-outlined:hover, html.theme--documenter-dark .button.is-dark.is-outlined.is-hovered, html.theme--documenter-dark .content kbd.button.is-outlined.is-hovered, html.theme--documenter-dark .button.is-dark.is-outlined:focus, html.theme--documenter-dark .content kbd.button.is-outlined:focus, html.theme--documenter-dark .button.is-dark.is-outlined.is-focused, html.theme--documenter-dark .content kbd.button.is-outlined.is-focused {
-          background-color: #282f2f;
-          border-color: #282f2f;
-          color: #ecf0f1; }
-        html.theme--documenter-dark .button.is-dark.is-outlined.is-loading::after, html.theme--documenter-dark .content kbd.button.is-outlined.is-loading::after {
-          border-color: transparent transparent #282f2f #282f2f !important; }
-        html.theme--documenter-dark .button.is-dark.is-outlined.is-loading:hover::after, html.theme--documenter-dark .content kbd.button.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-dark.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .content kbd.button.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-dark.is-outlined.is-loading:focus::after, html.theme--documenter-dark .content kbd.button.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-dark.is-outlined.is-loading.is-focused::after, html.theme--documenter-dark .content kbd.button.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #ecf0f1 #ecf0f1 !important; }
-        html.theme--documenter-dark .button.is-dark.is-outlined[disabled], html.theme--documenter-dark .content kbd.button.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-dark.is-outlined, fieldset[disabled] html.theme--documenter-dark .content kbd.button.is-outlined {
-          background-color: transparent;
-          border-color: #282f2f;
-          box-shadow: none;
-          color: #282f2f; }
-      html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: #ecf0f1;
-        color: #ecf0f1; }
-        html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined:hover, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined:focus, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-focused, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-focused {
-          background-color: #ecf0f1;
-          color: #282f2f; }
-        html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-loading.is-focused::after, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #282f2f #282f2f !important; }
-        html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined[disabled], html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined, fieldset[disabled] html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined {
-          background-color: transparent;
-          border-color: #ecf0f1;
-          box-shadow: none;
-          color: #ecf0f1; }
-    html.theme--documenter-dark .button.is-primary, html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink {
-      background-color: #375a7f;
-      border-color: transparent;
-      color: #fff; }
-      html.theme--documenter-dark .button.is-primary:hover, html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink:hover, html.theme--documenter-dark .button.is-primary.is-hovered, html.theme--documenter-dark .docstring > section > a.button.is-hovered.docs-sourcelink {
-        background-color: #335476;
-        border-color: transparent;
-        color: #fff; }
-      html.theme--documenter-dark .button.is-primary:focus, html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink:focus, html.theme--documenter-dark .button.is-primary.is-focused, html.theme--documenter-dark .docstring > section > a.button.is-focused.docs-sourcelink {
-        border-color: transparent;
-        color: #fff; }
-        html.theme--documenter-dark .button.is-primary:focus:not(:active), html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink:focus:not(:active), html.theme--documenter-dark .button.is-primary.is-focused:not(:active), html.theme--documenter-dark .docstring > section > a.button.is-focused.docs-sourcelink:not(:active) {
-          box-shadow: 0 0 0 0.125em rgba(55, 90, 127, 0.25); }
-      html.theme--documenter-dark .button.is-primary:active, html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink:active, html.theme--documenter-dark .button.is-primary.is-active, html.theme--documenter-dark .docstring > section > a.button.is-active.docs-sourcelink {
-        background-color: #2f4d6d;
-        border-color: transparent;
-        color: #fff; }
-      html.theme--documenter-dark .button.is-primary[disabled], html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-primary, fieldset[disabled] html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink {
-        background-color: #375a7f;
-        border-color: transparent;
-        box-shadow: none; }
-      html.theme--documenter-dark .button.is-primary.is-inverted, html.theme--documenter-dark .docstring > section > a.button.is-inverted.docs-sourcelink {
-        background-color: #fff;
-        color: #375a7f; }
-        html.theme--documenter-dark .button.is-primary.is-inverted:hover, html.theme--documenter-dark .docstring > section > a.button.is-inverted.docs-sourcelink:hover, html.theme--documenter-dark .button.is-primary.is-inverted.is-hovered, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-hovered.docs-sourcelink {
-          background-color: #f2f2f2; }
-        html.theme--documenter-dark .button.is-primary.is-inverted[disabled], html.theme--documenter-dark .docstring > section > a.button.is-inverted.docs-sourcelink[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-primary.is-inverted, fieldset[disabled] html.theme--documenter-dark .docstring > section > a.button.is-inverted.docs-sourcelink {
-          background-color: #fff;
-          border-color: transparent;
-          box-shadow: none;
-          color: #375a7f; }
-      html.theme--documenter-dark .button.is-primary.is-loading::after, html.theme--documenter-dark .docstring > section > a.button.is-loading.docs-sourcelink::after {
-        border-color: transparent transparent #fff #fff !important; }
-      html.theme--documenter-dark .button.is-primary.is-outlined, html.theme--documenter-dark .docstring > section > a.button.is-outlined.docs-sourcelink {
-        background-color: transparent;
-        border-color: #375a7f;
-        color: #375a7f; }
-        html.theme--documenter-dark .button.is-primary.is-outlined:hover, html.theme--documenter-dark .docstring > section > a.button.is-outlined.docs-sourcelink:hover, html.theme--documenter-dark .button.is-primary.is-outlined.is-hovered, html.theme--documenter-dark .docstring > section > a.button.is-outlined.is-hovered.docs-sourcelink, html.theme--documenter-dark .button.is-primary.is-outlined:focus, html.theme--documenter-dark .docstring > section > a.button.is-outlined.docs-sourcelink:focus, html.theme--documenter-dark .button.is-primary.is-outlined.is-focused, html.theme--documenter-dark .docstring > section > a.button.is-outlined.is-focused.docs-sourcelink {
-          background-color: #375a7f;
-          border-color: #375a7f;
-          color: #fff; }
-        html.theme--documenter-dark .button.is-primary.is-outlined.is-loading::after, html.theme--documenter-dark .docstring > section > a.button.is-outlined.is-loading.docs-sourcelink::after {
-          border-color: transparent transparent #375a7f #375a7f !important; }
-        html.theme--documenter-dark .button.is-primary.is-outlined.is-loading:hover::after, html.theme--documenter-dark .docstring > section > a.button.is-outlined.is-loading.docs-sourcelink:hover::after, html.theme--documenter-dark .button.is-primary.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .docstring > section > a.button.is-outlined.is-loading.is-hovered.docs-sourcelink::after, html.theme--documenter-dark .button.is-primary.is-outlined.is-loading:focus::after, html.theme--documenter-dark .docstring > section > a.button.is-outlined.is-loading.docs-sourcelink:focus::after, html.theme--documenter-dark .button.is-primary.is-outlined.is-loading.is-focused::after, html.theme--documenter-dark .docstring > section > a.button.is-outlined.is-loading.is-focused.docs-sourcelink::after {
-          border-color: transparent transparent #fff #fff !important; }
-        html.theme--documenter-dark .button.is-primary.is-outlined[disabled], html.theme--documenter-dark .docstring > section > a.button.is-outlined.docs-sourcelink[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-primary.is-outlined, fieldset[disabled] html.theme--documenter-dark .docstring > section > a.button.is-outlined.docs-sourcelink {
-          background-color: transparent;
-          border-color: #375a7f;
-          box-shadow: none;
-          color: #375a7f; }
-      html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink {
-        background-color: transparent;
-        border-color: #fff;
-        color: #fff; }
-        html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined:hover, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink:hover, html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.is-hovered.docs-sourcelink, html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined:focus, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink:focus, html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-focused, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.is-focused.docs-sourcelink {
-          background-color: #fff;
-          color: #375a7f; }
-        html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.is-loading.docs-sourcelink:hover::after, html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.is-loading.is-hovered.docs-sourcelink::after, html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.is-loading.docs-sourcelink:focus::after, html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-loading.is-focused::after, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.is-loading.is-focused.docs-sourcelink::after {
-          border-color: transparent transparent #375a7f #375a7f !important; }
-        html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined[disabled], html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined, fieldset[disabled] html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink {
-          background-color: transparent;
-          border-color: #fff;
-          box-shadow: none;
-          color: #fff; }
-    html.theme--documenter-dark .button.is-link {
-      background-color: #1abc9c;
-      border-color: transparent;
-      color: #fff; }
-      html.theme--documenter-dark .button.is-link:hover, html.theme--documenter-dark .button.is-link.is-hovered {
-        background-color: #18b193;
-        border-color: transparent;
-        color: #fff; }
-      html.theme--documenter-dark .button.is-link:focus, html.theme--documenter-dark .button.is-link.is-focused {
-        border-color: transparent;
-        color: #fff; }
-        html.theme--documenter-dark .button.is-link:focus:not(:active), html.theme--documenter-dark .button.is-link.is-focused:not(:active) {
-          box-shadow: 0 0 0 0.125em rgba(26, 188, 156, 0.25); }
-      html.theme--documenter-dark .button.is-link:active, html.theme--documenter-dark .button.is-link.is-active {
-        background-color: #17a689;
-        border-color: transparent;
-        color: #fff; }
-      html.theme--documenter-dark .button.is-link[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-link {
-        background-color: #1abc9c;
-        border-color: transparent;
-        box-shadow: none; }
-      html.theme--documenter-dark .button.is-link.is-inverted {
-        background-color: #fff;
-        color: #1abc9c; }
-        html.theme--documenter-dark .button.is-link.is-inverted:hover, html.theme--documenter-dark .button.is-link.is-inverted.is-hovered {
-          background-color: #f2f2f2; }
-        html.theme--documenter-dark .button.is-link.is-inverted[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-link.is-inverted {
-          background-color: #fff;
-          border-color: transparent;
-          box-shadow: none;
-          color: #1abc9c; }
-      html.theme--documenter-dark .button.is-link.is-loading::after {
-        border-color: transparent transparent #fff #fff !important; }
-      html.theme--documenter-dark .button.is-link.is-outlined {
-        background-color: transparent;
-        border-color: #1abc9c;
-        color: #1abc9c; }
-        html.theme--documenter-dark .button.is-link.is-outlined:hover, html.theme--documenter-dark .button.is-link.is-outlined.is-hovered, html.theme--documenter-dark .button.is-link.is-outlined:focus, html.theme--documenter-dark .button.is-link.is-outlined.is-focused {
-          background-color: #1abc9c;
-          border-color: #1abc9c;
-          color: #fff; }
-        html.theme--documenter-dark .button.is-link.is-outlined.is-loading::after {
-          border-color: transparent transparent #1abc9c #1abc9c !important; }
-        html.theme--documenter-dark .button.is-link.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-link.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-link.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-link.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #fff #fff !important; }
-        html.theme--documenter-dark .button.is-link.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-link.is-outlined {
-          background-color: transparent;
-          border-color: #1abc9c;
-          box-shadow: none;
-          color: #1abc9c; }
-      html.theme--documenter-dark .button.is-link.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: #fff;
-        color: #fff; }
-        html.theme--documenter-dark .button.is-link.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-link.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-focused {
-          background-color: #fff;
-          color: #1abc9c; }
-        html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #1abc9c #1abc9c !important; }
-        html.theme--documenter-dark .button.is-link.is-inverted.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-link.is-inverted.is-outlined {
-          background-color: transparent;
-          border-color: #fff;
-          box-shadow: none;
-          color: #fff; }
-    html.theme--documenter-dark .button.is-info {
-      background-color: #024c7d;
-      border-color: transparent;
-      color: #fff; }
-      html.theme--documenter-dark .button.is-info:hover, html.theme--documenter-dark .button.is-info.is-hovered {
-        background-color: #024470;
-        border-color: transparent;
-        color: #fff; }
-      html.theme--documenter-dark .button.is-info:focus, html.theme--documenter-dark .button.is-info.is-focused {
-        border-color: transparent;
-        color: #fff; }
-        html.theme--documenter-dark .button.is-info:focus:not(:active), html.theme--documenter-dark .button.is-info.is-focused:not(:active) {
-          box-shadow: 0 0 0 0.125em rgba(2, 76, 125, 0.25); }
-      html.theme--documenter-dark .button.is-info:active, html.theme--documenter-dark .button.is-info.is-active {
-        background-color: #023d64;
-        border-color: transparent;
-        color: #fff; }
-      html.theme--documenter-dark .button.is-info[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-info {
-        background-color: #024c7d;
-        border-color: transparent;
-        box-shadow: none; }
-      html.theme--documenter-dark .button.is-info.is-inverted {
-        background-color: #fff;
-        color: #024c7d; }
-        html.theme--documenter-dark .button.is-info.is-inverted:hover, html.theme--documenter-dark .button.is-info.is-inverted.is-hovered {
-          background-color: #f2f2f2; }
-        html.theme--documenter-dark .button.is-info.is-inverted[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-info.is-inverted {
-          background-color: #fff;
-          border-color: transparent;
-          box-shadow: none;
-          color: #024c7d; }
-      html.theme--documenter-dark .button.is-info.is-loading::after {
-        border-color: transparent transparent #fff #fff !important; }
-      html.theme--documenter-dark .button.is-info.is-outlined {
-        background-color: transparent;
-        border-color: #024c7d;
-        color: #024c7d; }
-        html.theme--documenter-dark .button.is-info.is-outlined:hover, html.theme--documenter-dark .button.is-info.is-outlined.is-hovered, html.theme--documenter-dark .button.is-info.is-outlined:focus, html.theme--documenter-dark .button.is-info.is-outlined.is-focused {
-          background-color: #024c7d;
-          border-color: #024c7d;
-          color: #fff; }
-        html.theme--documenter-dark .button.is-info.is-outlined.is-loading::after {
-          border-color: transparent transparent #024c7d #024c7d !important; }
-        html.theme--documenter-dark .button.is-info.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-info.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-info.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-info.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #fff #fff !important; }
-        html.theme--documenter-dark .button.is-info.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-info.is-outlined {
-          background-color: transparent;
-          border-color: #024c7d;
-          box-shadow: none;
-          color: #024c7d; }
-      html.theme--documenter-dark .button.is-info.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: #fff;
-        color: #fff; }
-        html.theme--documenter-dark .button.is-info.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-info.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-focused {
-          background-color: #fff;
-          color: #024c7d; }
-        html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #024c7d #024c7d !important; }
-        html.theme--documenter-dark .button.is-info.is-inverted.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-info.is-inverted.is-outlined {
-          background-color: transparent;
-          border-color: #fff;
-          box-shadow: none;
-          color: #fff; }
-    html.theme--documenter-dark .button.is-success {
-      background-color: #008438;
-      border-color: transparent;
-      color: #fff; }
-      html.theme--documenter-dark .button.is-success:hover, html.theme--documenter-dark .button.is-success.is-hovered {
-        background-color: #007733;
-        border-color: transparent;
-        color: #fff; }
-      html.theme--documenter-dark .button.is-success:focus, html.theme--documenter-dark .button.is-success.is-focused {
-        border-color: transparent;
-        color: #fff; }
-        html.theme--documenter-dark .button.is-success:focus:not(:active), html.theme--documenter-dark .button.is-success.is-focused:not(:active) {
-          box-shadow: 0 0 0 0.125em rgba(0, 132, 56, 0.25); }
-      html.theme--documenter-dark .button.is-success:active, html.theme--documenter-dark .button.is-success.is-active {
-        background-color: #006b2d;
-        border-color: transparent;
-        color: #fff; }
-      html.theme--documenter-dark .button.is-success[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-success {
-        background-color: #008438;
-        border-color: transparent;
-        box-shadow: none; }
-      html.theme--documenter-dark .button.is-success.is-inverted {
-        background-color: #fff;
-        color: #008438; }
-        html.theme--documenter-dark .button.is-success.is-inverted:hover, html.theme--documenter-dark .button.is-success.is-inverted.is-hovered {
-          background-color: #f2f2f2; }
-        html.theme--documenter-dark .button.is-success.is-inverted[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-success.is-inverted {
-          background-color: #fff;
-          border-color: transparent;
-          box-shadow: none;
-          color: #008438; }
-      html.theme--documenter-dark .button.is-success.is-loading::after {
-        border-color: transparent transparent #fff #fff !important; }
-      html.theme--documenter-dark .button.is-success.is-outlined {
-        background-color: transparent;
-        border-color: #008438;
-        color: #008438; }
-        html.theme--documenter-dark .button.is-success.is-outlined:hover, html.theme--documenter-dark .button.is-success.is-outlined.is-hovered, html.theme--documenter-dark .button.is-success.is-outlined:focus, html.theme--documenter-dark .button.is-success.is-outlined.is-focused {
-          background-color: #008438;
-          border-color: #008438;
-          color: #fff; }
-        html.theme--documenter-dark .button.is-success.is-outlined.is-loading::after {
-          border-color: transparent transparent #008438 #008438 !important; }
-        html.theme--documenter-dark .button.is-success.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-success.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-success.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-success.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #fff #fff !important; }
-        html.theme--documenter-dark .button.is-success.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-success.is-outlined {
-          background-color: transparent;
-          border-color: #008438;
-          box-shadow: none;
-          color: #008438; }
-      html.theme--documenter-dark .button.is-success.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: #fff;
-        color: #fff; }
-        html.theme--documenter-dark .button.is-success.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-success.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-focused {
-          background-color: #fff;
-          color: #008438; }
-        html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #008438 #008438 !important; }
-        html.theme--documenter-dark .button.is-success.is-inverted.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-success.is-inverted.is-outlined {
-          background-color: transparent;
-          border-color: #fff;
-          box-shadow: none;
-          color: #fff; }
-    html.theme--documenter-dark .button.is-warning {
-      background-color: #ad8100;
-      border-color: transparent;
-      color: #fff; }
-      html.theme--documenter-dark .button.is-warning:hover, html.theme--documenter-dark .button.is-warning.is-hovered {
-        background-color: #a07700;
-        border-color: transparent;
-        color: #fff; }
-      html.theme--documenter-dark .button.is-warning:focus, html.theme--documenter-dark .button.is-warning.is-focused {
-        border-color: transparent;
-        color: #fff; }
-        html.theme--documenter-dark .button.is-warning:focus:not(:active), html.theme--documenter-dark .button.is-warning.is-focused:not(:active) {
-          box-shadow: 0 0 0 0.125em rgba(173, 129, 0, 0.25); }
-      html.theme--documenter-dark .button.is-warning:active, html.theme--documenter-dark .button.is-warning.is-active {
-        background-color: #946e00;
-        border-color: transparent;
-        color: #fff; }
-      html.theme--documenter-dark .button.is-warning[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-warning {
-        background-color: #ad8100;
-        border-color: transparent;
-        box-shadow: none; }
-      html.theme--documenter-dark .button.is-warning.is-inverted {
-        background-color: #fff;
-        color: #ad8100; }
-        html.theme--documenter-dark .button.is-warning.is-inverted:hover, html.theme--documenter-dark .button.is-warning.is-inverted.is-hovered {
-          background-color: #f2f2f2; }
-        html.theme--documenter-dark .button.is-warning.is-inverted[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-warning.is-inverted {
-          background-color: #fff;
-          border-color: transparent;
-          box-shadow: none;
-          color: #ad8100; }
-      html.theme--documenter-dark .button.is-warning.is-loading::after {
-        border-color: transparent transparent #fff #fff !important; }
-      html.theme--documenter-dark .button.is-warning.is-outlined {
-        background-color: transparent;
-        border-color: #ad8100;
-        color: #ad8100; }
-        html.theme--documenter-dark .button.is-warning.is-outlined:hover, html.theme--documenter-dark .button.is-warning.is-outlined.is-hovered, html.theme--documenter-dark .button.is-warning.is-outlined:focus, html.theme--documenter-dark .button.is-warning.is-outlined.is-focused {
-          background-color: #ad8100;
-          border-color: #ad8100;
-          color: #fff; }
-        html.theme--documenter-dark .button.is-warning.is-outlined.is-loading::after {
-          border-color: transparent transparent #ad8100 #ad8100 !important; }
-        html.theme--documenter-dark .button.is-warning.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-warning.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-warning.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-warning.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #fff #fff !important; }
-        html.theme--documenter-dark .button.is-warning.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-warning.is-outlined {
-          background-color: transparent;
-          border-color: #ad8100;
-          box-shadow: none;
-          color: #ad8100; }
-      html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: #fff;
-        color: #fff; }
-        html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-focused {
-          background-color: #fff;
-          color: #ad8100; }
-        html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #ad8100 #ad8100 !important; }
-        html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined {
-          background-color: transparent;
-          border-color: #fff;
-          box-shadow: none;
-          color: #fff; }
-    html.theme--documenter-dark .button.is-danger {
-      background-color: #9e1b0d;
-      border-color: transparent;
-      color: #fff; }
-      html.theme--documenter-dark .button.is-danger:hover, html.theme--documenter-dark .button.is-danger.is-hovered {
-        background-color: #92190c;
-        border-color: transparent;
-        color: #fff; }
-      html.theme--documenter-dark .button.is-danger:focus, html.theme--documenter-dark .button.is-danger.is-focused {
-        border-color: transparent;
-        color: #fff; }
-        html.theme--documenter-dark .button.is-danger:focus:not(:active), html.theme--documenter-dark .button.is-danger.is-focused:not(:active) {
-          box-shadow: 0 0 0 0.125em rgba(158, 27, 13, 0.25); }
-      html.theme--documenter-dark .button.is-danger:active, html.theme--documenter-dark .button.is-danger.is-active {
-        background-color: #86170b;
-        border-color: transparent;
-        color: #fff; }
-      html.theme--documenter-dark .button.is-danger[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-danger {
-        background-color: #9e1b0d;
-        border-color: transparent;
-        box-shadow: none; }
-      html.theme--documenter-dark .button.is-danger.is-inverted {
-        background-color: #fff;
-        color: #9e1b0d; }
-        html.theme--documenter-dark .button.is-danger.is-inverted:hover, html.theme--documenter-dark .button.is-danger.is-inverted.is-hovered {
-          background-color: #f2f2f2; }
-        html.theme--documenter-dark .button.is-danger.is-inverted[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-danger.is-inverted {
-          background-color: #fff;
-          border-color: transparent;
-          box-shadow: none;
-          color: #9e1b0d; }
-      html.theme--documenter-dark .button.is-danger.is-loading::after {
-        border-color: transparent transparent #fff #fff !important; }
-      html.theme--documenter-dark .button.is-danger.is-outlined {
-        background-color: transparent;
-        border-color: #9e1b0d;
-        color: #9e1b0d; }
-        html.theme--documenter-dark .button.is-danger.is-outlined:hover, html.theme--documenter-dark .button.is-danger.is-outlined.is-hovered, html.theme--documenter-dark .button.is-danger.is-outlined:focus, html.theme--documenter-dark .button.is-danger.is-outlined.is-focused {
-          background-color: #9e1b0d;
-          border-color: #9e1b0d;
-          color: #fff; }
-        html.theme--documenter-dark .button.is-danger.is-outlined.is-loading::after {
-          border-color: transparent transparent #9e1b0d #9e1b0d !important; }
-        html.theme--documenter-dark .button.is-danger.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-danger.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-danger.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-danger.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #fff #fff !important; }
-        html.theme--documenter-dark .button.is-danger.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-danger.is-outlined {
-          background-color: transparent;
-          border-color: #9e1b0d;
-          box-shadow: none;
-          color: #9e1b0d; }
-      html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: #fff;
-        color: #fff; }
-        html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-focused {
-          background-color: #fff;
-          color: #9e1b0d; }
-        html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #9e1b0d #9e1b0d !important; }
-        html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined {
-          background-color: transparent;
-          border-color: #fff;
-          box-shadow: none;
-          color: #fff; }
-    html.theme--documenter-dark .button.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.button {
-      border-radius: 3px;
-      font-size: 0.85em; }
-    html.theme--documenter-dark .button.is-normal {
-      font-size: 15px; }
-    html.theme--documenter-dark .button.is-medium {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .button.is-large {
-      font-size: 1.5rem; }
-    html.theme--documenter-dark .button[disabled], fieldset[disabled] html.theme--documenter-dark .button {
-      background-color: #8c9b9d;
-      border-color: #dbdee0;
-      box-shadow: none;
-      opacity: 0.5; }
-    html.theme--documenter-dark .button.is-fullwidth {
-      display: flex;
-      width: 100%; }
-    html.theme--documenter-dark .button.is-loading {
-      color: transparent !important;
-      pointer-events: none; }
-      html.theme--documenter-dark .button.is-loading::after {
-        position: absolute;
-        left: calc(50% - (1em / 2));
-        top: calc(50% - (1em / 2));
-        position: absolute !important; }
-    html.theme--documenter-dark .button.is-static {
-      background-color: #282f2f;
-      border-color: #5e6d6f;
-      color: #dbdee0;
-      box-shadow: none;
-      pointer-events: none; }
-    html.theme--documenter-dark .button.is-rounded, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.button {
-      border-radius: 290486px;
-      padding-left: 1em;
-      padding-right: 1em; }
-  html.theme--documenter-dark .buttons {
-    align-items: center;
-    display: flex;
-    flex-wrap: wrap;
-    justify-content: flex-start; }
-    html.theme--documenter-dark .buttons .button {
-      margin-bottom: 0.5rem; }
-      html.theme--documenter-dark .buttons .button:not(:last-child):not(.is-fullwidth) {
-        margin-right: 0.5rem; }
-    html.theme--documenter-dark .buttons:last-child {
-      margin-bottom: -0.5rem; }
-    html.theme--documenter-dark .buttons:not(:last-child) {
-      margin-bottom: 1rem; }
-    html.theme--documenter-dark .buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large) {
-      border-radius: 3px;
-      font-size: 0.85em; }
-    html.theme--documenter-dark .buttons.are-medium .button:not(.is-small):not(.is-normal):not(.is-large) {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .buttons.are-large .button:not(.is-small):not(.is-normal):not(.is-medium) {
-      font-size: 1.5rem; }
-    html.theme--documenter-dark .buttons.has-addons .button:not(:first-child) {
-      border-bottom-left-radius: 0;
-      border-top-left-radius: 0; }
-    html.theme--documenter-dark .buttons.has-addons .button:not(:last-child) {
-      border-bottom-right-radius: 0;
-      border-top-right-radius: 0;
-      margin-right: -1px; }
-    html.theme--documenter-dark .buttons.has-addons .button:last-child {
-      margin-right: 0; }
-    html.theme--documenter-dark .buttons.has-addons .button:hover, html.theme--documenter-dark .buttons.has-addons .button.is-hovered {
-      z-index: 2; }
-    html.theme--documenter-dark .buttons.has-addons .button:focus, html.theme--documenter-dark .buttons.has-addons .button.is-focused, html.theme--documenter-dark .buttons.has-addons .button:active, html.theme--documenter-dark .buttons.has-addons .button.is-active, html.theme--documenter-dark .buttons.has-addons .button.is-selected {
-      z-index: 3; }
-      html.theme--documenter-dark .buttons.has-addons .button:focus:hover, html.theme--documenter-dark .buttons.has-addons .button.is-focused:hover, html.theme--documenter-dark .buttons.has-addons .button:active:hover, html.theme--documenter-dark .buttons.has-addons .button.is-active:hover, html.theme--documenter-dark .buttons.has-addons .button.is-selected:hover {
-        z-index: 4; }
-    html.theme--documenter-dark .buttons.has-addons .button.is-expanded {
-      flex-grow: 1;
-      flex-shrink: 1; }
-    html.theme--documenter-dark .buttons.is-centered {
-      justify-content: center; }
-      html.theme--documenter-dark .buttons.is-centered:not(.has-addons) .button:not(.is-fullwidth) {
-        margin-left: 0.25rem;
-        margin-right: 0.25rem; }
-    html.theme--documenter-dark .buttons.is-right {
-      justify-content: flex-end; }
-      html.theme--documenter-dark .buttons.is-right:not(.has-addons) .button:not(.is-fullwidth) {
-        margin-left: 0.25rem;
-        margin-right: 0.25rem; }
-  html.theme--documenter-dark .container {
-    flex-grow: 1;
-    margin: 0 auto;
-    position: relative;
-    width: auto; }
-    @media screen and (min-width: 1056px) {
-      html.theme--documenter-dark .container {
-        max-width: 992px; }
-        html.theme--documenter-dark .container.is-fluid {
-          margin-left: 32px;
-          margin-right: 32px;
-          max-width: none; } }
-    @media screen and (max-width: 1215px) {
-      html.theme--documenter-dark .container.is-widescreen {
-        max-width: 1152px; } }
-    @media screen and (max-width: 1407px) {
-      html.theme--documenter-dark .container.is-fullhd {
-        max-width: 1344px; } }
-    @media screen and (min-width: 1216px) {
-      html.theme--documenter-dark .container {
-        max-width: 1152px; } }
-    @media screen and (min-width: 1408px) {
-      html.theme--documenter-dark .container {
-        max-width: 1344px; } }
-  html.theme--documenter-dark .content li + li {
-    margin-top: 0.25em; }
-  html.theme--documenter-dark .content p:not(:last-child),
-  html.theme--documenter-dark .content dl:not(:last-child),
-  html.theme--documenter-dark .content ol:not(:last-child),
-  html.theme--documenter-dark .content ul:not(:last-child),
-  html.theme--documenter-dark .content blockquote:not(:last-child),
-  html.theme--documenter-dark .content pre:not(:last-child),
-  html.theme--documenter-dark .content table:not(:last-child) {
-    margin-bottom: 1em; }
-  html.theme--documenter-dark .content h1,
-  html.theme--documenter-dark .content h2,
-  html.theme--documenter-dark .content h3,
-  html.theme--documenter-dark .content h4,
-  html.theme--documenter-dark .content h5,
-  html.theme--documenter-dark .content h6 {
-    color: #f2f2f2;
-    font-weight: 600;
-    line-height: 1.125; }
-  html.theme--documenter-dark .content h1 {
-    font-size: 2em;
-    margin-bottom: 0.5em; }
-    html.theme--documenter-dark .content h1:not(:first-child) {
-      margin-top: 1em; }
-  html.theme--documenter-dark .content h2 {
-    font-size: 1.75em;
-    margin-bottom: 0.5714em; }
-    html.theme--documenter-dark .content h2:not(:first-child) {
-      margin-top: 1.1428em; }
-  html.theme--documenter-dark .content h3 {
-    font-size: 1.5em;
-    margin-bottom: 0.6666em; }
-    html.theme--documenter-dark .content h3:not(:first-child) {
-      margin-top: 1.3333em; }
-  html.theme--documenter-dark .content h4 {
-    font-size: 1.25em;
-    margin-bottom: 0.8em; }
-  html.theme--documenter-dark .content h5 {
-    font-size: 1.125em;
-    margin-bottom: 0.8888em; }
-  html.theme--documenter-dark .content h6 {
-    font-size: 1em;
-    margin-bottom: 1em; }
-  html.theme--documenter-dark .content blockquote {
-    background-color: #282f2f;
-    border-left: 5px solid #5e6d6f;
-    padding: 1.25em 1.5em; }
-  html.theme--documenter-dark .content ol {
-    list-style-position: outside;
-    margin-left: 2em;
-    margin-top: 1em; }
-    html.theme--documenter-dark .content ol:not([type]) {
-      list-style-type: decimal; }
-      html.theme--documenter-dark .content ol.is-lower-alpha:not([type]) {
-        list-style-type: lower-alpha; }
-      html.theme--documenter-dark .content ol.is-lower-roman:not([type]) {
-        list-style-type: lower-roman; }
-      html.theme--documenter-dark .content ol.is-upper-alpha:not([type]) {
-        list-style-type: upper-alpha; }
-      html.theme--documenter-dark .content ol.is-upper-roman:not([type]) {
-        list-style-type: upper-roman; }
-  html.theme--documenter-dark .content ul {
-    list-style: disc outside;
-    margin-left: 2em;
-    margin-top: 1em; }
-    html.theme--documenter-dark .content ul ul {
-      list-style-type: circle;
-      margin-top: 0.5em; }
-      html.theme--documenter-dark .content ul ul ul {
-        list-style-type: square; }
-  html.theme--documenter-dark .content dd {
-    margin-left: 2em; }
-  html.theme--documenter-dark .content figure {
-    margin-left: 2em;
-    margin-right: 2em;
-    text-align: center; }
-    html.theme--documenter-dark .content figure:not(:first-child) {
-      margin-top: 2em; }
-    html.theme--documenter-dark .content figure:not(:last-child) {
-      margin-bottom: 2em; }
-    html.theme--documenter-dark .content figure img {
-      display: inline-block; }
-    html.theme--documenter-dark .content figure figcaption {
-      font-style: italic; }
-  html.theme--documenter-dark .content pre {
-    -webkit-overflow-scrolling: touch;
-    overflow-x: auto;
-    padding: 0;
-    white-space: pre;
-    word-wrap: normal; }
-  html.theme--documenter-dark .content sup,
-  html.theme--documenter-dark .content sub {
-    font-size: 75%; }
-  html.theme--documenter-dark .content table {
-    width: 100%; }
-    html.theme--documenter-dark .content table td,
-    html.theme--documenter-dark .content table th {
-      border: 1px solid #5e6d6f;
-      border-width: 0 0 1px;
-      padding: 0.5em 0.75em;
-      vertical-align: top; }
-    html.theme--documenter-dark .content table th {
-      color: #f2f2f2; }
-      html.theme--documenter-dark .content table th:not([align]) {
-        text-align: left; }
-    html.theme--documenter-dark .content table thead td,
-    html.theme--documenter-dark .content table thead th {
-      border-width: 0 0 2px;
-      color: #f2f2f2; }
-    html.theme--documenter-dark .content table tfoot td,
-    html.theme--documenter-dark .content table tfoot th {
-      border-width: 2px 0 0;
-      color: #f2f2f2; }
-    html.theme--documenter-dark .content table tbody tr:last-child td,
-    html.theme--documenter-dark .content table tbody tr:last-child th {
-      border-bottom-width: 0; }
-  html.theme--documenter-dark .content .tabs li + li {
-    margin-top: 0; }
-  html.theme--documenter-dark .content.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.content {
-    font-size: 0.85em; }
-  html.theme--documenter-dark .content.is-medium {
-    font-size: 1.25rem; }
-  html.theme--documenter-dark .content.is-large {
-    font-size: 1.5rem; }
-  html.theme--documenter-dark .icon {
-    align-items: center;
-    display: inline-flex;
-    justify-content: center;
-    height: 1.5rem;
-    width: 1.5rem; }
-    html.theme--documenter-dark .icon.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.icon {
-      height: 1rem;
-      width: 1rem; }
-    html.theme--documenter-dark .icon.is-medium {
-      height: 2rem;
-      width: 2rem; }
-    html.theme--documenter-dark .icon.is-large {
-      height: 3rem;
-      width: 3rem; }
-  html.theme--documenter-dark .image, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img {
-    display: block;
-    position: relative; }
-    html.theme--documenter-dark .image img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img img {
-      display: block;
-      height: auto;
-      width: 100%; }
-      html.theme--documenter-dark .image img.is-rounded, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img img.is-rounded {
-        border-radius: 290486px; }
-    html.theme--documenter-dark .image.is-square img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-square img,
-    html.theme--documenter-dark .image.is-square .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-square .has-ratio, html.theme--documenter-dark .image.is-1by1 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by1 img,
-    html.theme--documenter-dark .image.is-1by1 .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by1 .has-ratio, html.theme--documenter-dark .image.is-5by4 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by4 img,
-    html.theme--documenter-dark .image.is-5by4 .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by4 .has-ratio, html.theme--documenter-dark .image.is-4by3 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by3 img,
-    html.theme--documenter-dark .image.is-4by3 .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by3 .has-ratio, html.theme--documenter-dark .image.is-3by2 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by2 img,
-    html.theme--documenter-dark .image.is-3by2 .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by2 .has-ratio, html.theme--documenter-dark .image.is-5by3 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by3 img,
-    html.theme--documenter-dark .image.is-5by3 .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by3 .has-ratio, html.theme--documenter-dark .image.is-16by9 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-16by9 img,
-    html.theme--documenter-dark .image.is-16by9 .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-16by9 .has-ratio, html.theme--documenter-dark .image.is-2by1 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by1 img,
-    html.theme--documenter-dark .image.is-2by1 .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by1 .has-ratio, html.theme--documenter-dark .image.is-3by1 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by1 img,
-    html.theme--documenter-dark .image.is-3by1 .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by1 .has-ratio, html.theme--documenter-dark .image.is-4by5 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by5 img,
-    html.theme--documenter-dark .image.is-4by5 .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by5 .has-ratio, html.theme--documenter-dark .image.is-3by4 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by4 img,
-    html.theme--documenter-dark .image.is-3by4 .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by4 .has-ratio, html.theme--documenter-dark .image.is-2by3 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by3 img,
-    html.theme--documenter-dark .image.is-2by3 .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by3 .has-ratio, html.theme--documenter-dark .image.is-3by5 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by5 img,
-    html.theme--documenter-dark .image.is-3by5 .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by5 .has-ratio, html.theme--documenter-dark .image.is-9by16 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-9by16 img,
-    html.theme--documenter-dark .image.is-9by16 .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-9by16 .has-ratio, html.theme--documenter-dark .image.is-1by2 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by2 img,
-    html.theme--documenter-dark .image.is-1by2 .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by2 .has-ratio, html.theme--documenter-dark .image.is-1by3 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by3 img,
-    html.theme--documenter-dark .image.is-1by3 .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by3 .has-ratio {
-      height: 100%;
-      width: 100%; }
-    html.theme--documenter-dark .image.is-square, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-square, html.theme--documenter-dark .image.is-1by1, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by1 {
-      padding-top: 100%; }
-    html.theme--documenter-dark .image.is-5by4, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by4 {
-      padding-top: 80%; }
-    html.theme--documenter-dark .image.is-4by3, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by3 {
-      padding-top: 75%; }
-    html.theme--documenter-dark .image.is-3by2, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by2 {
-      padding-top: 66.6666%; }
-    html.theme--documenter-dark .image.is-5by3, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by3 {
-      padding-top: 60%; }
-    html.theme--documenter-dark .image.is-16by9, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-16by9 {
-      padding-top: 56.25%; }
-    html.theme--documenter-dark .image.is-2by1, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by1 {
-      padding-top: 50%; }
-    html.theme--documenter-dark .image.is-3by1, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by1 {
-      padding-top: 33.3333%; }
-    html.theme--documenter-dark .image.is-4by5, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by5 {
-      padding-top: 125%; }
-    html.theme--documenter-dark .image.is-3by4, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by4 {
-      padding-top: 133.3333%; }
-    html.theme--documenter-dark .image.is-2by3, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by3 {
-      padding-top: 150%; }
-    html.theme--documenter-dark .image.is-3by5, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by5 {
-      padding-top: 166.6666%; }
-    html.theme--documenter-dark .image.is-9by16, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-9by16 {
-      padding-top: 177.7777%; }
-    html.theme--documenter-dark .image.is-1by2, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by2 {
-      padding-top: 200%; }
-    html.theme--documenter-dark .image.is-1by3, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by3 {
-      padding-top: 300%; }
-    html.theme--documenter-dark .image.is-16x16, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-16x16 {
-      height: 16px;
-      width: 16px; }
-    html.theme--documenter-dark .image.is-24x24, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-24x24 {
-      height: 24px;
-      width: 24px; }
-    html.theme--documenter-dark .image.is-32x32, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-32x32 {
-      height: 32px;
-      width: 32px; }
-    html.theme--documenter-dark .image.is-48x48, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-48x48 {
-      height: 48px;
-      width: 48px; }
-    html.theme--documenter-dark .image.is-64x64, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-64x64 {
-      height: 64px;
-      width: 64px; }
-    html.theme--documenter-dark .image.is-96x96, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-96x96 {
-      height: 96px;
-      width: 96px; }
-    html.theme--documenter-dark .image.is-128x128, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-128x128 {
-      height: 128px;
-      width: 128px; }
-  html.theme--documenter-dark .notification {
-    background-color: #282f2f;
-    border-radius: 0.4em;
-    padding: 1.25rem 2.5rem 1.25rem 1.5rem;
-    position: relative; }
-    html.theme--documenter-dark .notification a:not(.button):not(.dropdown-item) {
-      color: currentColor;
-      text-decoration: underline; }
-    html.theme--documenter-dark .notification strong {
-      color: currentColor; }
-    html.theme--documenter-dark .notification code,
-    html.theme--documenter-dark .notification pre {
-      background: white; }
-    html.theme--documenter-dark .notification pre code {
-      background: transparent; }
-    html.theme--documenter-dark .notification > .delete {
-      position: absolute;
-      right: 0.5rem;
-      top: 0.5rem; }
-    html.theme--documenter-dark .notification .title,
-    html.theme--documenter-dark .notification .subtitle,
-    html.theme--documenter-dark .notification .content {
-      color: currentColor; }
-    html.theme--documenter-dark .notification.is-white {
-      background-color: white;
-      color: #0a0a0a; }
-    html.theme--documenter-dark .notification.is-black {
-      background-color: #0a0a0a;
-      color: white; }
-    html.theme--documenter-dark .notification.is-light {
-      background-color: #ecf0f1;
-      color: #282f2f; }
-    html.theme--documenter-dark .notification.is-dark, html.theme--documenter-dark .content kbd.notification {
-      background-color: #282f2f;
-      color: #ecf0f1; }
-    html.theme--documenter-dark .notification.is-primary, html.theme--documenter-dark .docstring > section > a.notification.docs-sourcelink {
-      background-color: #375a7f;
-      color: #fff; }
-    html.theme--documenter-dark .notification.is-link {
-      background-color: #1abc9c;
-      color: #fff; }
-    html.theme--documenter-dark .notification.is-info {
-      background-color: #024c7d;
-      color: #fff; }
-    html.theme--documenter-dark .notification.is-success {
-      background-color: #008438;
-      color: #fff; }
-    html.theme--documenter-dark .notification.is-warning {
-      background-color: #ad8100;
-      color: #fff; }
-    html.theme--documenter-dark .notification.is-danger {
-      background-color: #9e1b0d;
-      color: #fff; }
-  html.theme--documenter-dark .progress {
-    -moz-appearance: none;
-    -webkit-appearance: none;
-    border: none;
-    border-radius: 290486px;
-    display: block;
-    height: 15px;
-    overflow: hidden;
-    padding: 0;
-    width: 100%; }
-    html.theme--documenter-dark .progress::-webkit-progress-bar {
-      background-color: #5e6d6f; }
-    html.theme--documenter-dark .progress::-webkit-progress-value {
-      background-color: #dbdee0; }
-    html.theme--documenter-dark .progress::-moz-progress-bar {
-      background-color: #dbdee0; }
-    html.theme--documenter-dark .progress::-ms-fill {
-      background-color: #dbdee0;
-      border: none; }
-    html.theme--documenter-dark .progress.is-white::-webkit-progress-value {
-      background-color: white; }
-    html.theme--documenter-dark .progress.is-white::-moz-progress-bar {
-      background-color: white; }
-    html.theme--documenter-dark .progress.is-white::-ms-fill {
-      background-color: white; }
-    html.theme--documenter-dark .progress.is-white:indeterminate {
-      background-image: linear-gradient(to right, white 30%, #5e6d6f 30%); }
-    html.theme--documenter-dark .progress.is-black::-webkit-progress-value {
-      background-color: #0a0a0a; }
-    html.theme--documenter-dark .progress.is-black::-moz-progress-bar {
-      background-color: #0a0a0a; }
-    html.theme--documenter-dark .progress.is-black::-ms-fill {
-      background-color: #0a0a0a; }
-    html.theme--documenter-dark .progress.is-black:indeterminate {
-      background-image: linear-gradient(to right, #0a0a0a 30%, #5e6d6f 30%); }
-    html.theme--documenter-dark .progress.is-light::-webkit-progress-value {
-      background-color: #ecf0f1; }
-    html.theme--documenter-dark .progress.is-light::-moz-progress-bar {
-      background-color: #ecf0f1; }
-    html.theme--documenter-dark .progress.is-light::-ms-fill {
-      background-color: #ecf0f1; }
-    html.theme--documenter-dark .progress.is-light:indeterminate {
-      background-image: linear-gradient(to right, #ecf0f1 30%, #5e6d6f 30%); }
-    html.theme--documenter-dark .progress.is-dark::-webkit-progress-value, html.theme--documenter-dark .content kbd.progress::-webkit-progress-value {
-      background-color: #282f2f; }
-    html.theme--documenter-dark .progress.is-dark::-moz-progress-bar, html.theme--documenter-dark .content kbd.progress::-moz-progress-bar {
-      background-color: #282f2f; }
-    html.theme--documenter-dark .progress.is-dark::-ms-fill, html.theme--documenter-dark .content kbd.progress::-ms-fill {
-      background-color: #282f2f; }
-    html.theme--documenter-dark .progress.is-dark:indeterminate, html.theme--documenter-dark .content kbd.progress:indeterminate {
-      background-image: linear-gradient(to right, #282f2f 30%, #5e6d6f 30%); }
-    html.theme--documenter-dark .progress.is-primary::-webkit-progress-value, html.theme--documenter-dark .docstring > section > a.progress.docs-sourcelink::-webkit-progress-value {
-      background-color: #375a7f; }
-    html.theme--documenter-dark .progress.is-primary::-moz-progress-bar, html.theme--documenter-dark .docstring > section > a.progress.docs-sourcelink::-moz-progress-bar {
-      background-color: #375a7f; }
-    html.theme--documenter-dark .progress.is-primary::-ms-fill, html.theme--documenter-dark .docstring > section > a.progress.docs-sourcelink::-ms-fill {
-      background-color: #375a7f; }
-    html.theme--documenter-dark .progress.is-primary:indeterminate, html.theme--documenter-dark .docstring > section > a.progress.docs-sourcelink:indeterminate {
-      background-image: linear-gradient(to right, #375a7f 30%, #5e6d6f 30%); }
-    html.theme--documenter-dark .progress.is-link::-webkit-progress-value {
-      background-color: #1abc9c; }
-    html.theme--documenter-dark .progress.is-link::-moz-progress-bar {
-      background-color: #1abc9c; }
-    html.theme--documenter-dark .progress.is-link::-ms-fill {
-      background-color: #1abc9c; }
-    html.theme--documenter-dark .progress.is-link:indeterminate {
-      background-image: linear-gradient(to right, #1abc9c 30%, #5e6d6f 30%); }
-    html.theme--documenter-dark .progress.is-info::-webkit-progress-value {
-      background-color: #024c7d; }
-    html.theme--documenter-dark .progress.is-info::-moz-progress-bar {
-      background-color: #024c7d; }
-    html.theme--documenter-dark .progress.is-info::-ms-fill {
-      background-color: #024c7d; }
-    html.theme--documenter-dark .progress.is-info:indeterminate {
-      background-image: linear-gradient(to right, #024c7d 30%, #5e6d6f 30%); }
-    html.theme--documenter-dark .progress.is-success::-webkit-progress-value {
-      background-color: #008438; }
-    html.theme--documenter-dark .progress.is-success::-moz-progress-bar {
-      background-color: #008438; }
-    html.theme--documenter-dark .progress.is-success::-ms-fill {
-      background-color: #008438; }
-    html.theme--documenter-dark .progress.is-success:indeterminate {
-      background-image: linear-gradient(to right, #008438 30%, #5e6d6f 30%); }
-    html.theme--documenter-dark .progress.is-warning::-webkit-progress-value {
-      background-color: #ad8100; }
-    html.theme--documenter-dark .progress.is-warning::-moz-progress-bar {
-      background-color: #ad8100; }
-    html.theme--documenter-dark .progress.is-warning::-ms-fill {
-      background-color: #ad8100; }
-    html.theme--documenter-dark .progress.is-warning:indeterminate {
-      background-image: linear-gradient(to right, #ad8100 30%, #5e6d6f 30%); }
-    html.theme--documenter-dark .progress.is-danger::-webkit-progress-value {
-      background-color: #9e1b0d; }
-    html.theme--documenter-dark .progress.is-danger::-moz-progress-bar {
-      background-color: #9e1b0d; }
-    html.theme--documenter-dark .progress.is-danger::-ms-fill {
-      background-color: #9e1b0d; }
-    html.theme--documenter-dark .progress.is-danger:indeterminate {
-      background-image: linear-gradient(to right, #9e1b0d 30%, #5e6d6f 30%); }
-    html.theme--documenter-dark .progress:indeterminate {
-      animation-duration: 1.5s;
-      animation-iteration-count: infinite;
-      animation-name: moveIndeterminate;
-      animation-timing-function: linear;
-      background-color: #5e6d6f;
-      background-image: linear-gradient(to right, #fff 30%, #5e6d6f 30%);
-      background-position: top left;
-      background-repeat: no-repeat;
-      background-size: 150% 150%; }
-      html.theme--documenter-dark .progress:indeterminate::-webkit-progress-bar {
-        background-color: transparent; }
-      html.theme--documenter-dark .progress:indeterminate::-moz-progress-bar {
-        background-color: transparent; }
-    html.theme--documenter-dark .progress.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.progress {
-      height: 0.85em; }
-    html.theme--documenter-dark .progress.is-medium {
-      height: 1.25rem; }
-    html.theme--documenter-dark .progress.is-large {
-      height: 1.5rem; }
-
-@keyframes moveIndeterminate {
-  from {
-    background-position: 200% 0; }
-  to {
-    background-position: -200% 0; } }
-  html.theme--documenter-dark .table {
-    background-color: #343c3d;
-    color: #fff; }
-    html.theme--documenter-dark .table td,
-    html.theme--documenter-dark .table th {
-      border: 1px solid #5e6d6f;
-      border-width: 0 0 1px;
-      padding: 0.5em 0.75em;
-      vertical-align: top; }
-      html.theme--documenter-dark .table td.is-white,
-      html.theme--documenter-dark .table th.is-white {
-        background-color: white;
-        border-color: white;
-        color: #0a0a0a; }
-      html.theme--documenter-dark .table td.is-black,
-      html.theme--documenter-dark .table th.is-black {
-        background-color: #0a0a0a;
-        border-color: #0a0a0a;
-        color: white; }
-      html.theme--documenter-dark .table td.is-light,
-      html.theme--documenter-dark .table th.is-light {
-        background-color: #ecf0f1;
-        border-color: #ecf0f1;
-        color: #282f2f; }
-      html.theme--documenter-dark .table td.is-dark,
-      html.theme--documenter-dark .table th.is-dark {
-        background-color: #282f2f;
-        border-color: #282f2f;
-        color: #ecf0f1; }
-      html.theme--documenter-dark .table td.is-primary,
-      html.theme--documenter-dark .table th.is-primary {
-        background-color: #375a7f;
-        border-color: #375a7f;
-        color: #fff; }
-      html.theme--documenter-dark .table td.is-link,
-      html.theme--documenter-dark .table th.is-link {
-        background-color: #1abc9c;
-        border-color: #1abc9c;
-        color: #fff; }
-      html.theme--documenter-dark .table td.is-info,
-      html.theme--documenter-dark .table th.is-info {
-        background-color: #024c7d;
-        border-color: #024c7d;
-        color: #fff; }
-      html.theme--documenter-dark .table td.is-success,
-      html.theme--documenter-dark .table th.is-success {
-        background-color: #008438;
-        border-color: #008438;
-        color: #fff; }
-      html.theme--documenter-dark .table td.is-warning,
-      html.theme--documenter-dark .table th.is-warning {
-        background-color: #ad8100;
-        border-color: #ad8100;
-        color: #fff; }
-      html.theme--documenter-dark .table td.is-danger,
-      html.theme--documenter-dark .table th.is-danger {
-        background-color: #9e1b0d;
-        border-color: #9e1b0d;
-        color: #fff; }
-      html.theme--documenter-dark .table td.is-narrow,
-      html.theme--documenter-dark .table th.is-narrow {
-        white-space: nowrap;
-        width: 1%; }
-      html.theme--documenter-dark .table td.is-selected,
-      html.theme--documenter-dark .table th.is-selected {
-        background-color: #375a7f;
-        color: #fff; }
-        html.theme--documenter-dark .table td.is-selected a,
-        html.theme--documenter-dark .table td.is-selected strong,
-        html.theme--documenter-dark .table th.is-selected a,
-        html.theme--documenter-dark .table th.is-selected strong {
-          color: currentColor; }
-    html.theme--documenter-dark .table th {
-      color: #f2f2f2; }
-      html.theme--documenter-dark .table th:not([align]) {
-        text-align: left; }
-    html.theme--documenter-dark .table tr.is-selected {
-      background-color: #375a7f;
-      color: #fff; }
-      html.theme--documenter-dark .table tr.is-selected a,
-      html.theme--documenter-dark .table tr.is-selected strong {
-        color: currentColor; }
-      html.theme--documenter-dark .table tr.is-selected td,
-      html.theme--documenter-dark .table tr.is-selected th {
-        border-color: #fff;
-        color: currentColor; }
-    html.theme--documenter-dark .table thead {
-      background-color: transparent; }
-      html.theme--documenter-dark .table thead td,
-      html.theme--documenter-dark .table thead th {
-        border-width: 0 0 2px;
-        color: #f2f2f2; }
-    html.theme--documenter-dark .table tfoot {
-      background-color: transparent; }
-      html.theme--documenter-dark .table tfoot td,
-      html.theme--documenter-dark .table tfoot th {
-        border-width: 2px 0 0;
-        color: #f2f2f2; }
-    html.theme--documenter-dark .table tbody {
-      background-color: transparent; }
-      html.theme--documenter-dark .table tbody tr:last-child td,
-      html.theme--documenter-dark .table tbody tr:last-child th {
-        border-bottom-width: 0; }
-    html.theme--documenter-dark .table.is-bordered td,
-    html.theme--documenter-dark .table.is-bordered th {
-      border-width: 1px; }
-    html.theme--documenter-dark .table.is-bordered tr:last-child td,
-    html.theme--documenter-dark .table.is-bordered tr:last-child th {
-      border-bottom-width: 1px; }
-    html.theme--documenter-dark .table.is-fullwidth {
-      width: 100%; }
-    html.theme--documenter-dark .table.is-hoverable tbody tr:not(.is-selected):hover {
-      background-color: #282f2f; }
-    html.theme--documenter-dark .table.is-hoverable.is-striped tbody tr:not(.is-selected):hover {
-      background-color: #282f2f; }
-      html.theme--documenter-dark .table.is-hoverable.is-striped tbody tr:not(.is-selected):hover:nth-child(even) {
-        background-color: #2d3435; }
-    html.theme--documenter-dark .table.is-narrow td,
-    html.theme--documenter-dark .table.is-narrow th {
-      padding: 0.25em 0.5em; }
-    html.theme--documenter-dark .table.is-striped tbody tr:not(.is-selected):nth-child(even) {
-      background-color: #282f2f; }
-  html.theme--documenter-dark .table-container {
-    -webkit-overflow-scrolling: touch;
-    overflow: auto;
-    overflow-y: hidden;
-    max-width: 100%; }
-  html.theme--documenter-dark .tags {
-    align-items: center;
-    display: flex;
-    flex-wrap: wrap;
-    justify-content: flex-start; }
-    html.theme--documenter-dark .tags .tag, html.theme--documenter-dark .tags .content kbd, html.theme--documenter-dark .content .tags kbd, html.theme--documenter-dark .tags .docstring > section > a.docs-sourcelink {
-      margin-bottom: 0.5rem; }
-      html.theme--documenter-dark .tags .tag:not(:last-child), html.theme--documenter-dark .tags .content kbd:not(:last-child), html.theme--documenter-dark .content .tags kbd:not(:last-child), html.theme--documenter-dark .tags .docstring > section > a.docs-sourcelink:not(:last-child) {
-        margin-right: 0.5rem; }
-    html.theme--documenter-dark .tags:last-child {
-      margin-bottom: -0.5rem; }
-    html.theme--documenter-dark .tags:not(:last-child) {
-      margin-bottom: 1rem; }
-    html.theme--documenter-dark .tags.are-medium .tag:not(.is-normal):not(.is-large), html.theme--documenter-dark .tags.are-medium .content kbd:not(.is-normal):not(.is-large), html.theme--documenter-dark .content .tags.are-medium kbd:not(.is-normal):not(.is-large), html.theme--documenter-dark .tags.are-medium .docstring > section > a.docs-sourcelink:not(.is-normal):not(.is-large) {
-      font-size: 15px; }
-    html.theme--documenter-dark .tags.are-large .tag:not(.is-normal):not(.is-medium), html.theme--documenter-dark .tags.are-large .content kbd:not(.is-normal):not(.is-medium), html.theme--documenter-dark .content .tags.are-large kbd:not(.is-normal):not(.is-medium), html.theme--documenter-dark .tags.are-large .docstring > section > a.docs-sourcelink:not(.is-normal):not(.is-medium) {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .tags.is-centered {
-      justify-content: center; }
-      html.theme--documenter-dark .tags.is-centered .tag, html.theme--documenter-dark .tags.is-centered .content kbd, html.theme--documenter-dark .content .tags.is-centered kbd, html.theme--documenter-dark .tags.is-centered .docstring > section > a.docs-sourcelink {
-        margin-right: 0.25rem;
-        margin-left: 0.25rem; }
-    html.theme--documenter-dark .tags.is-right {
-      justify-content: flex-end; }
-      html.theme--documenter-dark .tags.is-right .tag:not(:first-child), html.theme--documenter-dark .tags.is-right .content kbd:not(:first-child), html.theme--documenter-dark .content .tags.is-right kbd:not(:first-child), html.theme--documenter-dark .tags.is-right .docstring > section > a.docs-sourcelink:not(:first-child) {
-        margin-left: 0.5rem; }
-      html.theme--documenter-dark .tags.is-right .tag:not(:last-child), html.theme--documenter-dark .tags.is-right .content kbd:not(:last-child), html.theme--documenter-dark .content .tags.is-right kbd:not(:last-child), html.theme--documenter-dark .tags.is-right .docstring > section > a.docs-sourcelink:not(:last-child) {
-        margin-right: 0; }
-    html.theme--documenter-dark .tags.has-addons .tag, html.theme--documenter-dark .tags.has-addons .content kbd, html.theme--documenter-dark .content .tags.has-addons kbd, html.theme--documenter-dark .tags.has-addons .docstring > section > a.docs-sourcelink {
-      margin-right: 0; }
-      html.theme--documenter-dark .tags.has-addons .tag:not(:first-child), html.theme--documenter-dark .tags.has-addons .content kbd:not(:first-child), html.theme--documenter-dark .content .tags.has-addons kbd:not(:first-child), html.theme--documenter-dark .tags.has-addons .docstring > section > a.docs-sourcelink:not(:first-child) {
-        margin-left: 0;
-        border-bottom-left-radius: 0;
-        border-top-left-radius: 0; }
-      html.theme--documenter-dark .tags.has-addons .tag:not(:last-child), html.theme--documenter-dark .tags.has-addons .content kbd:not(:last-child), html.theme--documenter-dark .content .tags.has-addons kbd:not(:last-child), html.theme--documenter-dark .tags.has-addons .docstring > section > a.docs-sourcelink:not(:last-child) {
-        border-bottom-right-radius: 0;
-        border-top-right-radius: 0; }
-  html.theme--documenter-dark .tag:not(body), html.theme--documenter-dark .content kbd:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body) {
-    align-items: center;
-    background-color: #282f2f;
-    border-radius: 0.4em;
-    color: #fff;
-    display: inline-flex;
-    font-size: 0.85em;
-    height: 2em;
-    justify-content: center;
-    line-height: 1.5;
-    padding-left: 0.75em;
-    padding-right: 0.75em;
-    white-space: nowrap; }
-    html.theme--documenter-dark .tag:not(body) .delete, html.theme--documenter-dark .content kbd:not(body) .delete, html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body) .delete {
-      margin-left: 0.25rem;
-      margin-right: -0.375rem; }
-    html.theme--documenter-dark .tag.is-white:not(body), html.theme--documenter-dark .content kbd.is-white:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-white:not(body) {
-      background-color: white;
-      color: #0a0a0a; }
-    html.theme--documenter-dark .tag.is-black:not(body), html.theme--documenter-dark .content kbd.is-black:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-black:not(body) {
-      background-color: #0a0a0a;
-      color: white; }
-    html.theme--documenter-dark .tag.is-light:not(body), html.theme--documenter-dark .content kbd.is-light:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-light:not(body) {
-      background-color: #ecf0f1;
-      color: #282f2f; }
-    html.theme--documenter-dark .tag.is-dark:not(body), html.theme--documenter-dark .content kbd:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-dark:not(body), html.theme--documenter-dark .content .docstring > section > kbd:not(body) {
-      background-color: #282f2f;
-      color: #ecf0f1; }
-    html.theme--documenter-dark .tag.is-primary:not(body), html.theme--documenter-dark .content kbd.is-primary:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body) {
-      background-color: #375a7f;
-      color: #fff; }
-    html.theme--documenter-dark .tag.is-link:not(body), html.theme--documenter-dark .content kbd.is-link:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-link:not(body) {
-      background-color: #1abc9c;
-      color: #fff; }
-    html.theme--documenter-dark .tag.is-info:not(body), html.theme--documenter-dark .content kbd.is-info:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-info:not(body) {
-      background-color: #024c7d;
-      color: #fff; }
-    html.theme--documenter-dark .tag.is-success:not(body), html.theme--documenter-dark .content kbd.is-success:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-success:not(body) {
-      background-color: #008438;
-      color: #fff; }
-    html.theme--documenter-dark .tag.is-warning:not(body), html.theme--documenter-dark .content kbd.is-warning:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-warning:not(body) {
-      background-color: #ad8100;
-      color: #fff; }
-    html.theme--documenter-dark .tag.is-danger:not(body), html.theme--documenter-dark .content kbd.is-danger:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-danger:not(body) {
-      background-color: #9e1b0d;
-      color: #fff; }
-    html.theme--documenter-dark .tag.is-normal:not(body), html.theme--documenter-dark .content kbd.is-normal:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-normal:not(body) {
-      font-size: 0.85em; }
-    html.theme--documenter-dark .tag.is-medium:not(body), html.theme--documenter-dark .content kbd.is-medium:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-medium:not(body) {
-      font-size: 15px; }
-    html.theme--documenter-dark .tag.is-large:not(body), html.theme--documenter-dark .content kbd.is-large:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-large:not(body) {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .tag:not(body) .icon:first-child:not(:last-child), html.theme--documenter-dark .content kbd:not(body) .icon:first-child:not(:last-child), html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body) .icon:first-child:not(:last-child) {
-      margin-left: -0.375em;
-      margin-right: 0.1875em; }
-    html.theme--documenter-dark .tag:not(body) .icon:last-child:not(:first-child), html.theme--documenter-dark .content kbd:not(body) .icon:last-child:not(:first-child), html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body) .icon:last-child:not(:first-child) {
-      margin-left: 0.1875em;
-      margin-right: -0.375em; }
-    html.theme--documenter-dark .tag:not(body) .icon:first-child:last-child, html.theme--documenter-dark .content kbd:not(body) .icon:first-child:last-child, html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body) .icon:first-child:last-child {
-      margin-left: -0.375em;
-      margin-right: -0.375em; }
-    html.theme--documenter-dark .tag.is-delete:not(body), html.theme--documenter-dark .content kbd.is-delete:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-delete:not(body) {
-      margin-left: 1px;
-      padding: 0;
-      position: relative;
-      width: 2em; }
-      html.theme--documenter-dark .tag.is-delete:not(body)::before, html.theme--documenter-dark .content kbd.is-delete:not(body)::before, html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-delete:not(body)::before, html.theme--documenter-dark .tag.is-delete:not(body)::after, html.theme--documenter-dark .content kbd.is-delete:not(body)::after, html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-delete:not(body)::after {
-        background-color: currentColor;
-        content: "";
-        display: block;
-        left: 50%;
-        position: absolute;
-        top: 50%;
-        transform: translateX(-50%) translateY(-50%) rotate(45deg);
-        transform-origin: center center; }
-      html.theme--documenter-dark .tag.is-delete:not(body)::before, html.theme--documenter-dark .content kbd.is-delete:not(body)::before, html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-delete:not(body)::before {
-        height: 1px;
-        width: 50%; }
-      html.theme--documenter-dark .tag.is-delete:not(body)::after, html.theme--documenter-dark .content kbd.is-delete:not(body)::after, html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-delete:not(body)::after {
-        height: 50%;
-        width: 1px; }
-      html.theme--documenter-dark .tag.is-delete:not(body):hover, html.theme--documenter-dark .content kbd.is-delete:not(body):hover, html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-delete:not(body):hover, html.theme--documenter-dark .tag.is-delete:not(body):focus, html.theme--documenter-dark .content kbd.is-delete:not(body):focus, html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-delete:not(body):focus {
-        background-color: #1d2122; }
-      html.theme--documenter-dark .tag.is-delete:not(body):active, html.theme--documenter-dark .content kbd.is-delete:not(body):active, html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-delete:not(body):active {
-        background-color: #111414; }
-    html.theme--documenter-dark .tag.is-rounded:not(body), html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:not(body), html.theme--documenter-dark .content kbd.is-rounded:not(body), html.theme--documenter-dark #documenter .docs-sidebar .content form.docs-search > input:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-rounded:not(body) {
-      border-radius: 290486px; }
-  html.theme--documenter-dark a.tag:hover, html.theme--documenter-dark .docstring > section > a.docs-sourcelink:hover {
-    text-decoration: underline; }
-  html.theme--documenter-dark .title,
-  html.theme--documenter-dark .subtitle {
-    word-break: break-word; }
-    html.theme--documenter-dark .title em,
-    html.theme--documenter-dark .title span,
-    html.theme--documenter-dark .subtitle em,
-    html.theme--documenter-dark .subtitle span {
-      font-weight: inherit; }
-    html.theme--documenter-dark .title sub,
-    html.theme--documenter-dark .subtitle sub {
-      font-size: 0.75em; }
-    html.theme--documenter-dark .title sup,
-    html.theme--documenter-dark .subtitle sup {
-      font-size: 0.75em; }
-    html.theme--documenter-dark .title .tag, html.theme--documenter-dark .title .content kbd, html.theme--documenter-dark .content .title kbd, html.theme--documenter-dark .title .docstring > section > a.docs-sourcelink,
-    html.theme--documenter-dark .subtitle .tag,
-    html.theme--documenter-dark .subtitle .content kbd,
-    html.theme--documenter-dark .content .subtitle kbd,
-    html.theme--documenter-dark .subtitle .docstring > section > a.docs-sourcelink {
-      vertical-align: middle; }
-  html.theme--documenter-dark .title {
-    color: #fff;
-    font-size: 2rem;
-    font-weight: 500;
-    line-height: 1.125; }
-    html.theme--documenter-dark .title strong {
-      color: inherit;
-      font-weight: inherit; }
-    html.theme--documenter-dark .title + .highlight {
-      margin-top: -0.75rem; }
-    html.theme--documenter-dark .title:not(.is-spaced) + .subtitle {
-      margin-top: -1.25rem; }
-    html.theme--documenter-dark .title.is-1 {
-      font-size: 3rem; }
-    html.theme--documenter-dark .title.is-2 {
-      font-size: 2.5rem; }
-    html.theme--documenter-dark .title.is-3 {
-      font-size: 2rem; }
-    html.theme--documenter-dark .title.is-4 {
-      font-size: 1.5rem; }
-    html.theme--documenter-dark .title.is-5 {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .title.is-6 {
-      font-size: 15px; }
-    html.theme--documenter-dark .title.is-7 {
-      font-size: 0.85em; }
-  html.theme--documenter-dark .subtitle {
-    color: #8c9b9d;
-    font-size: 1.25rem;
-    font-weight: 400;
-    line-height: 1.25; }
-    html.theme--documenter-dark .subtitle strong {
-      color: #8c9b9d;
-      font-weight: 600; }
-    html.theme--documenter-dark .subtitle:not(.is-spaced) + .title {
-      margin-top: -1.25rem; }
-    html.theme--documenter-dark .subtitle.is-1 {
-      font-size: 3rem; }
-    html.theme--documenter-dark .subtitle.is-2 {
-      font-size: 2.5rem; }
-    html.theme--documenter-dark .subtitle.is-3 {
-      font-size: 2rem; }
-    html.theme--documenter-dark .subtitle.is-4 {
-      font-size: 1.5rem; }
-    html.theme--documenter-dark .subtitle.is-5 {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .subtitle.is-6 {
-      font-size: 15px; }
-    html.theme--documenter-dark .subtitle.is-7 {
-      font-size: 0.85em; }
-  html.theme--documenter-dark .heading {
-    display: block;
-    font-size: 11px;
-    letter-spacing: 1px;
-    margin-bottom: 5px;
-    text-transform: uppercase; }
-  html.theme--documenter-dark .highlight {
-    font-weight: 400;
-    max-width: 100%;
-    overflow: hidden;
-    padding: 0; }
-    html.theme--documenter-dark .highlight pre {
-      overflow: auto;
-      max-width: 100%; }
-  html.theme--documenter-dark .number {
-    align-items: center;
-    background-color: #282f2f;
-    border-radius: 290486px;
-    display: inline-flex;
-    font-size: 1.25rem;
-    height: 2em;
-    justify-content: center;
-    margin-right: 1.5rem;
-    min-width: 2.5em;
-    padding: 0.25rem 0.5rem;
-    text-align: center;
-    vertical-align: top; }
-  html.theme--documenter-dark .select select, html.theme--documenter-dark .textarea, html.theme--documenter-dark .input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input {
-    background-color: #1f2424;
-    border-color: #5e6d6f;
-    border-radius: 0.4em;
-    color: #dbdee0; }
-    html.theme--documenter-dark .select select::-moz-placeholder, html.theme--documenter-dark .textarea::-moz-placeholder, html.theme--documenter-dark .input::-moz-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input::-moz-placeholder {
-      color: rgba(219, 222, 224, 0.3); }
-    html.theme--documenter-dark .select select::-webkit-input-placeholder, html.theme--documenter-dark .textarea::-webkit-input-placeholder, html.theme--documenter-dark .input::-webkit-input-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input::-webkit-input-placeholder {
-      color: rgba(219, 222, 224, 0.3); }
-    html.theme--documenter-dark .select select:-moz-placeholder, html.theme--documenter-dark .textarea:-moz-placeholder, html.theme--documenter-dark .input:-moz-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:-moz-placeholder {
-      color: rgba(219, 222, 224, 0.3); }
-    html.theme--documenter-dark .select select:-ms-input-placeholder, html.theme--documenter-dark .textarea:-ms-input-placeholder, html.theme--documenter-dark .input:-ms-input-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:-ms-input-placeholder {
-      color: rgba(219, 222, 224, 0.3); }
-    html.theme--documenter-dark .select select:hover, html.theme--documenter-dark .textarea:hover, html.theme--documenter-dark .input:hover, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:hover, html.theme--documenter-dark .select select.is-hovered, html.theme--documenter-dark .is-hovered.textarea, html.theme--documenter-dark .is-hovered.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-hovered {
-      border-color: #8c9b9d; }
-    html.theme--documenter-dark .select select:focus, html.theme--documenter-dark .textarea:focus, html.theme--documenter-dark .input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:focus, html.theme--documenter-dark .select select.is-focused, html.theme--documenter-dark .is-focused.textarea, html.theme--documenter-dark .is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .select select:active, html.theme--documenter-dark .textarea:active, html.theme--documenter-dark .input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:active, html.theme--documenter-dark .select select.is-active, html.theme--documenter-dark .is-active.textarea, html.theme--documenter-dark .is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active {
-      border-color: #1abc9c;
-      box-shadow: 0 0 0 0.125em rgba(26, 188, 156, 0.25); }
-    html.theme--documenter-dark .select select[disabled], html.theme--documenter-dark .textarea[disabled], html.theme--documenter-dark .input[disabled], html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input[disabled], fieldset[disabled] html.theme--documenter-dark .select select, fieldset[disabled] html.theme--documenter-dark .textarea, fieldset[disabled] html.theme--documenter-dark .input, fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input {
-      background-color: #8c9b9d;
-      border-color: #282f2f;
-      box-shadow: none;
-      color: white; }
-      html.theme--documenter-dark .select select[disabled]::-moz-placeholder, html.theme--documenter-dark .textarea[disabled]::-moz-placeholder, html.theme--documenter-dark .input[disabled]::-moz-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input[disabled]::-moz-placeholder, fieldset[disabled] html.theme--documenter-dark .select select::-moz-placeholder, fieldset[disabled] html.theme--documenter-dark .textarea::-moz-placeholder, fieldset[disabled] html.theme--documenter-dark .input::-moz-placeholder, fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input::-moz-placeholder {
-        color: rgba(255, 255, 255, 0.3); }
-      html.theme--documenter-dark .select select[disabled]::-webkit-input-placeholder, html.theme--documenter-dark .textarea[disabled]::-webkit-input-placeholder, html.theme--documenter-dark .input[disabled]::-webkit-input-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input[disabled]::-webkit-input-placeholder, fieldset[disabled] html.theme--documenter-dark .select select::-webkit-input-placeholder, fieldset[disabled] html.theme--documenter-dark .textarea::-webkit-input-placeholder, fieldset[disabled] html.theme--documenter-dark .input::-webkit-input-placeholder, fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input::-webkit-input-placeholder {
-        color: rgba(255, 255, 255, 0.3); }
-      html.theme--documenter-dark .select select[disabled]:-moz-placeholder, html.theme--documenter-dark .textarea[disabled]:-moz-placeholder, html.theme--documenter-dark .input[disabled]:-moz-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input[disabled]:-moz-placeholder, fieldset[disabled] html.theme--documenter-dark .select select:-moz-placeholder, fieldset[disabled] html.theme--documenter-dark .textarea:-moz-placeholder, fieldset[disabled] html.theme--documenter-dark .input:-moz-placeholder, fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:-moz-placeholder {
-        color: rgba(255, 255, 255, 0.3); }
-      html.theme--documenter-dark .select select[disabled]:-ms-input-placeholder, html.theme--documenter-dark .textarea[disabled]:-ms-input-placeholder, html.theme--documenter-dark .input[disabled]:-ms-input-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input[disabled]:-ms-input-placeholder, fieldset[disabled] html.theme--documenter-dark .select select:-ms-input-placeholder, fieldset[disabled] html.theme--documenter-dark .textarea:-ms-input-placeholder, fieldset[disabled] html.theme--documenter-dark .input:-ms-input-placeholder, fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:-ms-input-placeholder {
-        color: rgba(255, 255, 255, 0.3); }
-  html.theme--documenter-dark .textarea, html.theme--documenter-dark .input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input {
-    box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
-    max-width: 100%;
-    width: 100%; }
-    html.theme--documenter-dark .textarea[readonly], html.theme--documenter-dark .input[readonly], html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input[readonly] {
-      box-shadow: none; }
-    html.theme--documenter-dark .is-white.textarea, html.theme--documenter-dark .is-white.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-white {
-      border-color: white; }
-      html.theme--documenter-dark .is-white.textarea:focus, html.theme--documenter-dark .is-white.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-white:focus, html.theme--documenter-dark .is-white.is-focused.textarea, html.theme--documenter-dark .is-white.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .is-white.textarea:active, html.theme--documenter-dark .is-white.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-white:active, html.theme--documenter-dark .is-white.is-active.textarea, html.theme--documenter-dark .is-white.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active {
-        box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); }
-    html.theme--documenter-dark .is-black.textarea, html.theme--documenter-dark .is-black.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-black {
-      border-color: #0a0a0a; }
-      html.theme--documenter-dark .is-black.textarea:focus, html.theme--documenter-dark .is-black.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-black:focus, html.theme--documenter-dark .is-black.is-focused.textarea, html.theme--documenter-dark .is-black.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .is-black.textarea:active, html.theme--documenter-dark .is-black.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-black:active, html.theme--documenter-dark .is-black.is-active.textarea, html.theme--documenter-dark .is-black.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active {
-        box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); }
-    html.theme--documenter-dark .is-light.textarea, html.theme--documenter-dark .is-light.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-light {
-      border-color: #ecf0f1; }
-      html.theme--documenter-dark .is-light.textarea:focus, html.theme--documenter-dark .is-light.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-light:focus, html.theme--documenter-dark .is-light.is-focused.textarea, html.theme--documenter-dark .is-light.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .is-light.textarea:active, html.theme--documenter-dark .is-light.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-light:active, html.theme--documenter-dark .is-light.is-active.textarea, html.theme--documenter-dark .is-light.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active {
-        box-shadow: 0 0 0 0.125em rgba(236, 240, 241, 0.25); }
-    html.theme--documenter-dark .is-dark.textarea, html.theme--documenter-dark .content kbd.textarea, html.theme--documenter-dark .is-dark.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-dark, html.theme--documenter-dark .content kbd.input {
-      border-color: #282f2f; }
-      html.theme--documenter-dark .is-dark.textarea:focus, html.theme--documenter-dark .content kbd.textarea:focus, html.theme--documenter-dark .is-dark.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-dark:focus, html.theme--documenter-dark .content kbd.input:focus, html.theme--documenter-dark .is-dark.is-focused.textarea, html.theme--documenter-dark .content kbd.is-focused.textarea, html.theme--documenter-dark .is-dark.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .content kbd.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar .content form.docs-search > input.is-focused, html.theme--documenter-dark .is-dark.textarea:active, html.theme--documenter-dark .content kbd.textarea:active, html.theme--documenter-dark .is-dark.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-dark:active, html.theme--documenter-dark .content kbd.input:active, html.theme--documenter-dark .is-dark.is-active.textarea, html.theme--documenter-dark .content kbd.is-active.textarea, html.theme--documenter-dark .is-dark.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active, html.theme--documenter-dark .content kbd.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar .content form.docs-search > input.is-active {
-        box-shadow: 0 0 0 0.125em rgba(40, 47, 47, 0.25); }
-    html.theme--documenter-dark .is-primary.textarea, html.theme--documenter-dark .docstring > section > a.textarea.docs-sourcelink, html.theme--documenter-dark .is-primary.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-primary, html.theme--documenter-dark .docstring > section > a.input.docs-sourcelink {
-      border-color: #375a7f; }
-      html.theme--documenter-dark .is-primary.textarea:focus, html.theme--documenter-dark .docstring > section > a.textarea.docs-sourcelink:focus, html.theme--documenter-dark .is-primary.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-primary:focus, html.theme--documenter-dark .docstring > section > a.input.docs-sourcelink:focus, html.theme--documenter-dark .is-primary.is-focused.textarea, html.theme--documenter-dark .docstring > section > a.is-focused.textarea.docs-sourcelink, html.theme--documenter-dark .is-primary.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .docstring > section > a.is-focused.input.docs-sourcelink, html.theme--documenter-dark .is-primary.textarea:active, html.theme--documenter-dark .docstring > section > a.textarea.docs-sourcelink:active, html.theme--documenter-dark .is-primary.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-primary:active, html.theme--documenter-dark .docstring > section > a.input.docs-sourcelink:active, html.theme--documenter-dark .is-primary.is-active.textarea, html.theme--documenter-dark .docstring > section > a.is-active.textarea.docs-sourcelink, html.theme--documenter-dark .is-primary.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active, html.theme--documenter-dark .docstring > section > a.is-active.input.docs-sourcelink {
-        box-shadow: 0 0 0 0.125em rgba(55, 90, 127, 0.25); }
-    html.theme--documenter-dark .is-link.textarea, html.theme--documenter-dark .is-link.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-link {
-      border-color: #1abc9c; }
-      html.theme--documenter-dark .is-link.textarea:focus, html.theme--documenter-dark .is-link.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-link:focus, html.theme--documenter-dark .is-link.is-focused.textarea, html.theme--documenter-dark .is-link.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .is-link.textarea:active, html.theme--documenter-dark .is-link.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-link:active, html.theme--documenter-dark .is-link.is-active.textarea, html.theme--documenter-dark .is-link.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active {
-        box-shadow: 0 0 0 0.125em rgba(26, 188, 156, 0.25); }
-    html.theme--documenter-dark .is-info.textarea, html.theme--documenter-dark .is-info.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-info {
-      border-color: #024c7d; }
-      html.theme--documenter-dark .is-info.textarea:focus, html.theme--documenter-dark .is-info.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-info:focus, html.theme--documenter-dark .is-info.is-focused.textarea, html.theme--documenter-dark .is-info.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .is-info.textarea:active, html.theme--documenter-dark .is-info.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-info:active, html.theme--documenter-dark .is-info.is-active.textarea, html.theme--documenter-dark .is-info.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active {
-        box-shadow: 0 0 0 0.125em rgba(2, 76, 125, 0.25); }
-    html.theme--documenter-dark .is-success.textarea, html.theme--documenter-dark .is-success.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-success {
-      border-color: #008438; }
-      html.theme--documenter-dark .is-success.textarea:focus, html.theme--documenter-dark .is-success.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-success:focus, html.theme--documenter-dark .is-success.is-focused.textarea, html.theme--documenter-dark .is-success.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .is-success.textarea:active, html.theme--documenter-dark .is-success.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-success:active, html.theme--documenter-dark .is-success.is-active.textarea, html.theme--documenter-dark .is-success.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active {
-        box-shadow: 0 0 0 0.125em rgba(0, 132, 56, 0.25); }
-    html.theme--documenter-dark .is-warning.textarea, html.theme--documenter-dark .is-warning.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-warning {
-      border-color: #ad8100; }
-      html.theme--documenter-dark .is-warning.textarea:focus, html.theme--documenter-dark .is-warning.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-warning:focus, html.theme--documenter-dark .is-warning.is-focused.textarea, html.theme--documenter-dark .is-warning.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .is-warning.textarea:active, html.theme--documenter-dark .is-warning.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-warning:active, html.theme--documenter-dark .is-warning.is-active.textarea, html.theme--documenter-dark .is-warning.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active {
-        box-shadow: 0 0 0 0.125em rgba(173, 129, 0, 0.25); }
-    html.theme--documenter-dark .is-danger.textarea, html.theme--documenter-dark .is-danger.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-danger {
-      border-color: #9e1b0d; }
-      html.theme--documenter-dark .is-danger.textarea:focus, html.theme--documenter-dark .is-danger.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-danger:focus, html.theme--documenter-dark .is-danger.is-focused.textarea, html.theme--documenter-dark .is-danger.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .is-danger.textarea:active, html.theme--documenter-dark .is-danger.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-danger:active, html.theme--documenter-dark .is-danger.is-active.textarea, html.theme--documenter-dark .is-danger.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active {
-        box-shadow: 0 0 0 0.125em rgba(158, 27, 13, 0.25); }
-    html.theme--documenter-dark .is-small.textarea, html.theme--documenter-dark .is-small.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input {
-      border-radius: 3px;
-      font-size: 0.85em; }
-    html.theme--documenter-dark .is-medium.textarea, html.theme--documenter-dark .is-medium.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-medium {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .is-large.textarea, html.theme--documenter-dark .is-large.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-large {
-      font-size: 1.5rem; }
-    html.theme--documenter-dark .is-fullwidth.textarea, html.theme--documenter-dark .is-fullwidth.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-fullwidth {
-      display: block;
-      width: 100%; }
-    html.theme--documenter-dark .is-inline.textarea, html.theme--documenter-dark .is-inline.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-inline {
-      display: inline;
-      width: auto; }
-  html.theme--documenter-dark .input.is-rounded, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input {
-    border-radius: 290486px;
-    padding-left: 1em;
-    padding-right: 1em; }
-  html.theme--documenter-dark .input.is-static, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-static {
-    background-color: transparent;
-    border-color: transparent;
-    box-shadow: none;
-    padding-left: 0;
-    padding-right: 0; }
-  html.theme--documenter-dark .textarea {
-    display: block;
-    max-width: 100%;
-    min-width: 100%;
-    padding: 0.625em;
-    resize: vertical; }
-    html.theme--documenter-dark .textarea:not([rows]) {
-      max-height: 600px;
-      min-height: 120px; }
-    html.theme--documenter-dark .textarea[rows] {
-      height: initial; }
-    html.theme--documenter-dark .textarea.has-fixed-size {
-      resize: none; }
-  html.theme--documenter-dark .radio, html.theme--documenter-dark .checkbox {
-    cursor: pointer;
-    display: inline-block;
-    line-height: 1.25;
-    position: relative; }
-    html.theme--documenter-dark .radio input, html.theme--documenter-dark .checkbox input {
-      cursor: pointer; }
-    html.theme--documenter-dark .radio:hover, html.theme--documenter-dark .checkbox:hover {
-      color: #8c9b9d; }
-    html.theme--documenter-dark .radio[disabled], html.theme--documenter-dark .checkbox[disabled], fieldset[disabled] html.theme--documenter-dark .radio, fieldset[disabled] html.theme--documenter-dark .checkbox {
-      color: white;
-      cursor: not-allowed; }
-  html.theme--documenter-dark .radio + .radio {
-    margin-left: 0.5em; }
-  html.theme--documenter-dark .select {
-    display: inline-block;
-    max-width: 100%;
-    position: relative;
-    vertical-align: top; }
-    html.theme--documenter-dark .select:not(.is-multiple) {
-      height: 2.25em; }
-    html.theme--documenter-dark .select:not(.is-multiple):not(.is-loading)::after {
-      border-color: #1abc9c;
-      right: 1.125em;
-      z-index: 4; }
-    html.theme--documenter-dark .select.is-rounded select, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.select select {
-      border-radius: 290486px;
-      padding-left: 1em; }
-    html.theme--documenter-dark .select select {
-      cursor: pointer;
-      display: block;
-      font-size: 1em;
-      max-width: 100%;
-      outline: none; }
-      html.theme--documenter-dark .select select::-ms-expand {
-        display: none; }
-      html.theme--documenter-dark .select select[disabled]:hover, fieldset[disabled] html.theme--documenter-dark .select select:hover {
-        border-color: #282f2f; }
-      html.theme--documenter-dark .select select:not([multiple]) {
-        padding-right: 2.5em; }
-      html.theme--documenter-dark .select select[multiple] {
-        height: auto;
-        padding: 0; }
-        html.theme--documenter-dark .select select[multiple] option {
-          padding: 0.5em 1em; }
-    html.theme--documenter-dark .select:not(.is-multiple):not(.is-loading):hover::after {
-      border-color: #8c9b9d; }
-    html.theme--documenter-dark .select.is-white:not(:hover)::after {
-      border-color: white; }
-    html.theme--documenter-dark .select.is-white select {
-      border-color: white; }
-      html.theme--documenter-dark .select.is-white select:hover, html.theme--documenter-dark .select.is-white select.is-hovered {
-        border-color: #f2f2f2; }
-      html.theme--documenter-dark .select.is-white select:focus, html.theme--documenter-dark .select.is-white select.is-focused, html.theme--documenter-dark .select.is-white select:active, html.theme--documenter-dark .select.is-white select.is-active {
-        box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); }
-    html.theme--documenter-dark .select.is-black:not(:hover)::after {
-      border-color: #0a0a0a; }
-    html.theme--documenter-dark .select.is-black select {
-      border-color: #0a0a0a; }
-      html.theme--documenter-dark .select.is-black select:hover, html.theme--documenter-dark .select.is-black select.is-hovered {
-        border-color: black; }
-      html.theme--documenter-dark .select.is-black select:focus, html.theme--documenter-dark .select.is-black select.is-focused, html.theme--documenter-dark .select.is-black select:active, html.theme--documenter-dark .select.is-black select.is-active {
-        box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); }
-    html.theme--documenter-dark .select.is-light:not(:hover)::after {
-      border-color: #ecf0f1; }
-    html.theme--documenter-dark .select.is-light select {
-      border-color: #ecf0f1; }
-      html.theme--documenter-dark .select.is-light select:hover, html.theme--documenter-dark .select.is-light select.is-hovered {
-        border-color: #dde4e6; }
-      html.theme--documenter-dark .select.is-light select:focus, html.theme--documenter-dark .select.is-light select.is-focused, html.theme--documenter-dark .select.is-light select:active, html.theme--documenter-dark .select.is-light select.is-active {
-        box-shadow: 0 0 0 0.125em rgba(236, 240, 241, 0.25); }
-    html.theme--documenter-dark .select.is-dark:not(:hover)::after, html.theme--documenter-dark .content kbd.select:not(:hover)::after {
-      border-color: #282f2f; }
-    html.theme--documenter-dark .select.is-dark select, html.theme--documenter-dark .content kbd.select select {
-      border-color: #282f2f; }
-      html.theme--documenter-dark .select.is-dark select:hover, html.theme--documenter-dark .content kbd.select select:hover, html.theme--documenter-dark .select.is-dark select.is-hovered, html.theme--documenter-dark .content kbd.select select.is-hovered {
-        border-color: #1d2122; }
-      html.theme--documenter-dark .select.is-dark select:focus, html.theme--documenter-dark .content kbd.select select:focus, html.theme--documenter-dark .select.is-dark select.is-focused, html.theme--documenter-dark .content kbd.select select.is-focused, html.theme--documenter-dark .select.is-dark select:active, html.theme--documenter-dark .content kbd.select select:active, html.theme--documenter-dark .select.is-dark select.is-active, html.theme--documenter-dark .content kbd.select select.is-active {
-        box-shadow: 0 0 0 0.125em rgba(40, 47, 47, 0.25); }
-    html.theme--documenter-dark .select.is-primary:not(:hover)::after, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink:not(:hover)::after {
-      border-color: #375a7f; }
-    html.theme--documenter-dark .select.is-primary select, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink select {
-      border-color: #375a7f; }
-      html.theme--documenter-dark .select.is-primary select:hover, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink select:hover, html.theme--documenter-dark .select.is-primary select.is-hovered, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink select.is-hovered {
-        border-color: #2f4d6d; }
-      html.theme--documenter-dark .select.is-primary select:focus, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink select:focus, html.theme--documenter-dark .select.is-primary select.is-focused, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink select.is-focused, html.theme--documenter-dark .select.is-primary select:active, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink select:active, html.theme--documenter-dark .select.is-primary select.is-active, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink select.is-active {
-        box-shadow: 0 0 0 0.125em rgba(55, 90, 127, 0.25); }
-    html.theme--documenter-dark .select.is-link:not(:hover)::after {
-      border-color: #1abc9c; }
-    html.theme--documenter-dark .select.is-link select {
-      border-color: #1abc9c; }
-      html.theme--documenter-dark .select.is-link select:hover, html.theme--documenter-dark .select.is-link select.is-hovered {
-        border-color: #17a689; }
-      html.theme--documenter-dark .select.is-link select:focus, html.theme--documenter-dark .select.is-link select.is-focused, html.theme--documenter-dark .select.is-link select:active, html.theme--documenter-dark .select.is-link select.is-active {
-        box-shadow: 0 0 0 0.125em rgba(26, 188, 156, 0.25); }
-    html.theme--documenter-dark .select.is-info:not(:hover)::after {
-      border-color: #024c7d; }
-    html.theme--documenter-dark .select.is-info select {
-      border-color: #024c7d; }
-      html.theme--documenter-dark .select.is-info select:hover, html.theme--documenter-dark .select.is-info select.is-hovered {
-        border-color: #023d64; }
-      html.theme--documenter-dark .select.is-info select:focus, html.theme--documenter-dark .select.is-info select.is-focused, html.theme--documenter-dark .select.is-info select:active, html.theme--documenter-dark .select.is-info select.is-active {
-        box-shadow: 0 0 0 0.125em rgba(2, 76, 125, 0.25); }
-    html.theme--documenter-dark .select.is-success:not(:hover)::after {
-      border-color: #008438; }
-    html.theme--documenter-dark .select.is-success select {
-      border-color: #008438; }
-      html.theme--documenter-dark .select.is-success select:hover, html.theme--documenter-dark .select.is-success select.is-hovered {
-        border-color: #006b2d; }
-      html.theme--documenter-dark .select.is-success select:focus, html.theme--documenter-dark .select.is-success select.is-focused, html.theme--documenter-dark .select.is-success select:active, html.theme--documenter-dark .select.is-success select.is-active {
-        box-shadow: 0 0 0 0.125em rgba(0, 132, 56, 0.25); }
-    html.theme--documenter-dark .select.is-warning:not(:hover)::after {
-      border-color: #ad8100; }
-    html.theme--documenter-dark .select.is-warning select {
-      border-color: #ad8100; }
-      html.theme--documenter-dark .select.is-warning select:hover, html.theme--documenter-dark .select.is-warning select.is-hovered {
-        border-color: #946e00; }
-      html.theme--documenter-dark .select.is-warning select:focus, html.theme--documenter-dark .select.is-warning select.is-focused, html.theme--documenter-dark .select.is-warning select:active, html.theme--documenter-dark .select.is-warning select.is-active {
-        box-shadow: 0 0 0 0.125em rgba(173, 129, 0, 0.25); }
-    html.theme--documenter-dark .select.is-danger:not(:hover)::after {
-      border-color: #9e1b0d; }
-    html.theme--documenter-dark .select.is-danger select {
-      border-color: #9e1b0d; }
-      html.theme--documenter-dark .select.is-danger select:hover, html.theme--documenter-dark .select.is-danger select.is-hovered {
-        border-color: #86170b; }
-      html.theme--documenter-dark .select.is-danger select:focus, html.theme--documenter-dark .select.is-danger select.is-focused, html.theme--documenter-dark .select.is-danger select:active, html.theme--documenter-dark .select.is-danger select.is-active {
-        box-shadow: 0 0 0 0.125em rgba(158, 27, 13, 0.25); }
-    html.theme--documenter-dark .select.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.select {
-      border-radius: 3px;
-      font-size: 0.85em; }
-    html.theme--documenter-dark .select.is-medium {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .select.is-large {
-      font-size: 1.5rem; }
-    html.theme--documenter-dark .select.is-disabled::after {
-      border-color: white; }
-    html.theme--documenter-dark .select.is-fullwidth {
-      width: 100%; }
-      html.theme--documenter-dark .select.is-fullwidth select {
-        width: 100%; }
-    html.theme--documenter-dark .select.is-loading::after {
-      margin-top: 0;
-      position: absolute;
-      right: 0.625em;
-      top: 0.625em;
-      transform: none; }
-    html.theme--documenter-dark .select.is-loading.is-small:after, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-loading:after {
-      font-size: 0.85em; }
-    html.theme--documenter-dark .select.is-loading.is-medium:after {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .select.is-loading.is-large:after {
-      font-size: 1.5rem; }
-  html.theme--documenter-dark .file {
-    align-items: stretch;
-    display: flex;
-    justify-content: flex-start;
-    position: relative; }
-    html.theme--documenter-dark .file.is-white .file-cta {
-      background-color: white;
-      border-color: transparent;
-      color: #0a0a0a; }
-    html.theme--documenter-dark .file.is-white:hover .file-cta, html.theme--documenter-dark .file.is-white.is-hovered .file-cta {
-      background-color: #f9f9f9;
-      border-color: transparent;
-      color: #0a0a0a; }
-    html.theme--documenter-dark .file.is-white:focus .file-cta, html.theme--documenter-dark .file.is-white.is-focused .file-cta {
-      border-color: transparent;
-      box-shadow: 0 0 0.5em rgba(255, 255, 255, 0.25);
-      color: #0a0a0a; }
-    html.theme--documenter-dark .file.is-white:active .file-cta, html.theme--documenter-dark .file.is-white.is-active .file-cta {
-      background-color: #f2f2f2;
-      border-color: transparent;
-      color: #0a0a0a; }
-    html.theme--documenter-dark .file.is-black .file-cta {
-      background-color: #0a0a0a;
-      border-color: transparent;
-      color: white; }
-    html.theme--documenter-dark .file.is-black:hover .file-cta, html.theme--documenter-dark .file.is-black.is-hovered .file-cta {
-      background-color: #040404;
-      border-color: transparent;
-      color: white; }
-    html.theme--documenter-dark .file.is-black:focus .file-cta, html.theme--documenter-dark .file.is-black.is-focused .file-cta {
-      border-color: transparent;
-      box-shadow: 0 0 0.5em rgba(10, 10, 10, 0.25);
-      color: white; }
-    html.theme--documenter-dark .file.is-black:active .file-cta, html.theme--documenter-dark .file.is-black.is-active .file-cta {
-      background-color: black;
-      border-color: transparent;
-      color: white; }
-    html.theme--documenter-dark .file.is-light .file-cta {
-      background-color: #ecf0f1;
-      border-color: transparent;
-      color: #282f2f; }
-    html.theme--documenter-dark .file.is-light:hover .file-cta, html.theme--documenter-dark .file.is-light.is-hovered .file-cta {
-      background-color: #e5eaec;
-      border-color: transparent;
-      color: #282f2f; }
-    html.theme--documenter-dark .file.is-light:focus .file-cta, html.theme--documenter-dark .file.is-light.is-focused .file-cta {
-      border-color: transparent;
-      box-shadow: 0 0 0.5em rgba(236, 240, 241, 0.25);
-      color: #282f2f; }
-    html.theme--documenter-dark .file.is-light:active .file-cta, html.theme--documenter-dark .file.is-light.is-active .file-cta {
-      background-color: #dde4e6;
-      border-color: transparent;
-      color: #282f2f; }
-    html.theme--documenter-dark .file.is-dark .file-cta, html.theme--documenter-dark .content kbd.file .file-cta {
-      background-color: #282f2f;
-      border-color: transparent;
-      color: #ecf0f1; }
-    html.theme--documenter-dark .file.is-dark:hover .file-cta, html.theme--documenter-dark .content kbd.file:hover .file-cta, html.theme--documenter-dark .file.is-dark.is-hovered .file-cta, html.theme--documenter-dark .content kbd.file.is-hovered .file-cta {
-      background-color: #232829;
-      border-color: transparent;
-      color: #ecf0f1; }
-    html.theme--documenter-dark .file.is-dark:focus .file-cta, html.theme--documenter-dark .content kbd.file:focus .file-cta, html.theme--documenter-dark .file.is-dark.is-focused .file-cta, html.theme--documenter-dark .content kbd.file.is-focused .file-cta {
-      border-color: transparent;
-      box-shadow: 0 0 0.5em rgba(40, 47, 47, 0.25);
-      color: #ecf0f1; }
-    html.theme--documenter-dark .file.is-dark:active .file-cta, html.theme--documenter-dark .content kbd.file:active .file-cta, html.theme--documenter-dark .file.is-dark.is-active .file-cta, html.theme--documenter-dark .content kbd.file.is-active .file-cta {
-      background-color: #1d2122;
-      border-color: transparent;
-      color: #ecf0f1; }
-    html.theme--documenter-dark .file.is-primary .file-cta, html.theme--documenter-dark .docstring > section > a.file.docs-sourcelink .file-cta {
-      background-color: #375a7f;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-primary:hover .file-cta, html.theme--documenter-dark .docstring > section > a.file.docs-sourcelink:hover .file-cta, html.theme--documenter-dark .file.is-primary.is-hovered .file-cta, html.theme--documenter-dark .docstring > section > a.file.is-hovered.docs-sourcelink .file-cta {
-      background-color: #335476;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-primary:focus .file-cta, html.theme--documenter-dark .docstring > section > a.file.docs-sourcelink:focus .file-cta, html.theme--documenter-dark .file.is-primary.is-focused .file-cta, html.theme--documenter-dark .docstring > section > a.file.is-focused.docs-sourcelink .file-cta {
-      border-color: transparent;
-      box-shadow: 0 0 0.5em rgba(55, 90, 127, 0.25);
-      color: #fff; }
-    html.theme--documenter-dark .file.is-primary:active .file-cta, html.theme--documenter-dark .docstring > section > a.file.docs-sourcelink:active .file-cta, html.theme--documenter-dark .file.is-primary.is-active .file-cta, html.theme--documenter-dark .docstring > section > a.file.is-active.docs-sourcelink .file-cta {
-      background-color: #2f4d6d;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-link .file-cta {
-      background-color: #1abc9c;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-link:hover .file-cta, html.theme--documenter-dark .file.is-link.is-hovered .file-cta {
-      background-color: #18b193;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-link:focus .file-cta, html.theme--documenter-dark .file.is-link.is-focused .file-cta {
-      border-color: transparent;
-      box-shadow: 0 0 0.5em rgba(26, 188, 156, 0.25);
-      color: #fff; }
-    html.theme--documenter-dark .file.is-link:active .file-cta, html.theme--documenter-dark .file.is-link.is-active .file-cta {
-      background-color: #17a689;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-info .file-cta {
-      background-color: #024c7d;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-info:hover .file-cta, html.theme--documenter-dark .file.is-info.is-hovered .file-cta {
-      background-color: #024470;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-info:focus .file-cta, html.theme--documenter-dark .file.is-info.is-focused .file-cta {
-      border-color: transparent;
-      box-shadow: 0 0 0.5em rgba(2, 76, 125, 0.25);
-      color: #fff; }
-    html.theme--documenter-dark .file.is-info:active .file-cta, html.theme--documenter-dark .file.is-info.is-active .file-cta {
-      background-color: #023d64;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-success .file-cta {
-      background-color: #008438;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-success:hover .file-cta, html.theme--documenter-dark .file.is-success.is-hovered .file-cta {
-      background-color: #007733;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-success:focus .file-cta, html.theme--documenter-dark .file.is-success.is-focused .file-cta {
-      border-color: transparent;
-      box-shadow: 0 0 0.5em rgba(0, 132, 56, 0.25);
-      color: #fff; }
-    html.theme--documenter-dark .file.is-success:active .file-cta, html.theme--documenter-dark .file.is-success.is-active .file-cta {
-      background-color: #006b2d;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-warning .file-cta {
-      background-color: #ad8100;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-warning:hover .file-cta, html.theme--documenter-dark .file.is-warning.is-hovered .file-cta {
-      background-color: #a07700;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-warning:focus .file-cta, html.theme--documenter-dark .file.is-warning.is-focused .file-cta {
-      border-color: transparent;
-      box-shadow: 0 0 0.5em rgba(173, 129, 0, 0.25);
-      color: #fff; }
-    html.theme--documenter-dark .file.is-warning:active .file-cta, html.theme--documenter-dark .file.is-warning.is-active .file-cta {
-      background-color: #946e00;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-danger .file-cta {
-      background-color: #9e1b0d;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-danger:hover .file-cta, html.theme--documenter-dark .file.is-danger.is-hovered .file-cta {
-      background-color: #92190c;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-danger:focus .file-cta, html.theme--documenter-dark .file.is-danger.is-focused .file-cta {
-      border-color: transparent;
-      box-shadow: 0 0 0.5em rgba(158, 27, 13, 0.25);
-      color: #fff; }
-    html.theme--documenter-dark .file.is-danger:active .file-cta, html.theme--documenter-dark .file.is-danger.is-active .file-cta {
-      background-color: #86170b;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.file {
-      font-size: 0.85em; }
-    html.theme--documenter-dark .file.is-medium {
-      font-size: 1.25rem; }
-      html.theme--documenter-dark .file.is-medium .file-icon .fa {
-        font-size: 21px; }
-    html.theme--documenter-dark .file.is-large {
-      font-size: 1.5rem; }
-      html.theme--documenter-dark .file.is-large .file-icon .fa {
-        font-size: 28px; }
-    html.theme--documenter-dark .file.has-name .file-cta {
-      border-bottom-right-radius: 0;
-      border-top-right-radius: 0; }
-    html.theme--documenter-dark .file.has-name .file-name {
-      border-bottom-left-radius: 0;
-      border-top-left-radius: 0; }
-    html.theme--documenter-dark .file.has-name.is-empty .file-cta {
-      border-radius: 0.4em; }
-    html.theme--documenter-dark .file.has-name.is-empty .file-name {
-      display: none; }
-    html.theme--documenter-dark .file.is-boxed .file-label {
-      flex-direction: column; }
-    html.theme--documenter-dark .file.is-boxed .file-cta {
-      flex-direction: column;
-      height: auto;
-      padding: 1em 3em; }
-    html.theme--documenter-dark .file.is-boxed .file-name {
-      border-width: 0 1px 1px; }
-    html.theme--documenter-dark .file.is-boxed .file-icon {
-      height: 1.5em;
-      width: 1.5em; }
-      html.theme--documenter-dark .file.is-boxed .file-icon .fa {
-        font-size: 21px; }
-    html.theme--documenter-dark .file.is-boxed.is-small .file-icon .fa, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-boxed .file-icon .fa {
-      font-size: 14px; }
-    html.theme--documenter-dark .file.is-boxed.is-medium .file-icon .fa {
-      font-size: 28px; }
-    html.theme--documenter-dark .file.is-boxed.is-large .file-icon .fa {
-      font-size: 35px; }
-    html.theme--documenter-dark .file.is-boxed.has-name .file-cta {
-      border-radius: 0.4em 0.4em 0 0; }
-    html.theme--documenter-dark .file.is-boxed.has-name .file-name {
-      border-radius: 0 0 0.4em 0.4em;
-      border-width: 0 1px 1px; }
-    html.theme--documenter-dark .file.is-centered {
-      justify-content: center; }
-    html.theme--documenter-dark .file.is-fullwidth .file-label {
-      width: 100%; }
-    html.theme--documenter-dark .file.is-fullwidth .file-name {
-      flex-grow: 1;
-      max-width: none; }
-    html.theme--documenter-dark .file.is-right {
-      justify-content: flex-end; }
-      html.theme--documenter-dark .file.is-right .file-cta {
-        border-radius: 0 0.4em 0.4em 0; }
-      html.theme--documenter-dark .file.is-right .file-name {
-        border-radius: 0.4em 0 0 0.4em;
-        border-width: 1px 0 1px 1px;
-        order: -1; }
-  html.theme--documenter-dark .file-label {
-    align-items: stretch;
-    display: flex;
-    cursor: pointer;
-    justify-content: flex-start;
-    overflow: hidden;
-    position: relative; }
-    html.theme--documenter-dark .file-label:hover .file-cta {
-      background-color: #e5eaec;
-      color: #282f2f; }
-    html.theme--documenter-dark .file-label:hover .file-name {
-      border-color: #596668; }
-    html.theme--documenter-dark .file-label:active .file-cta {
-      background-color: #dde4e6;
-      color: #282f2f; }
-    html.theme--documenter-dark .file-label:active .file-name {
-      border-color: #535f61; }
-  html.theme--documenter-dark .file-input {
-    height: 100%;
-    left: 0;
-    opacity: 0;
-    outline: none;
-    position: absolute;
-    top: 0;
-    width: 100%; }
-  html.theme--documenter-dark .file-cta,
-  html.theme--documenter-dark .file-name {
-    border-color: #5e6d6f;
-    border-radius: 0.4em;
-    font-size: 1em;
-    padding-left: 1em;
-    padding-right: 1em;
-    white-space: nowrap; }
-  html.theme--documenter-dark .file-cta {
-    background-color: #ecf0f1;
-    color: #343c3d; }
-  html.theme--documenter-dark .file-name {
-    border-color: #5e6d6f;
-    border-style: solid;
-    border-width: 1px 1px 1px 0;
-    display: block;
-    max-width: 16em;
-    overflow: hidden;
-    text-align: left;
-    text-overflow: ellipsis; }
-  html.theme--documenter-dark .file-icon {
-    align-items: center;
-    display: flex;
-    height: 1em;
-    justify-content: center;
-    margin-right: 0.5em;
-    width: 1em; }
-    html.theme--documenter-dark .file-icon .fa {
-      font-size: 14px; }
-  html.theme--documenter-dark .label {
-    color: #282f2f;
-    display: block;
-    font-size: 15px;
-    font-weight: 700; }
-    html.theme--documenter-dark .label:not(:last-child) {
-      margin-bottom: 0.5em; }
-    html.theme--documenter-dark .label.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.label {
-      font-size: 0.85em; }
-    html.theme--documenter-dark .label.is-medium {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .label.is-large {
-      font-size: 1.5rem; }
-  html.theme--documenter-dark .help {
-    display: block;
-    font-size: 0.85em;
-    margin-top: 0.25rem; }
-    html.theme--documenter-dark .help.is-white {
-      color: white; }
-    html.theme--documenter-dark .help.is-black {
-      color: #0a0a0a; }
-    html.theme--documenter-dark .help.is-light {
-      color: #ecf0f1; }
-    html.theme--documenter-dark .help.is-dark, html.theme--documenter-dark .content kbd.help {
-      color: #282f2f; }
-    html.theme--documenter-dark .help.is-primary, html.theme--documenter-dark .docstring > section > a.help.docs-sourcelink {
-      color: #375a7f; }
-    html.theme--documenter-dark .help.is-link {
-      color: #1abc9c; }
-    html.theme--documenter-dark .help.is-info {
-      color: #024c7d; }
-    html.theme--documenter-dark .help.is-success {
-      color: #008438; }
-    html.theme--documenter-dark .help.is-warning {
-      color: #ad8100; }
-    html.theme--documenter-dark .help.is-danger {
-      color: #9e1b0d; }
-  html.theme--documenter-dark .field:not(:last-child) {
-    margin-bottom: 0.75rem; }
-  html.theme--documenter-dark .field.has-addons {
-    display: flex;
-    justify-content: flex-start; }
-    html.theme--documenter-dark .field.has-addons .control:not(:last-child) {
-      margin-right: -1px; }
-    html.theme--documenter-dark .field.has-addons .control:not(:first-child):not(:last-child) .button,
-    html.theme--documenter-dark .field.has-addons .control:not(:first-child):not(:last-child) .input,
-    html.theme--documenter-dark .field.has-addons .control:not(:first-child):not(:last-child) #documenter .docs-sidebar form.docs-search > input,
-    html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control:not(:first-child):not(:last-child) form.docs-search > input,
-    html.theme--documenter-dark .field.has-addons .control:not(:first-child):not(:last-child) .select select {
-      border-radius: 0; }
-    html.theme--documenter-dark .field.has-addons .control:first-child:not(:only-child) .button,
-    html.theme--documenter-dark .field.has-addons .control:first-child:not(:only-child) .input,
-    html.theme--documenter-dark .field.has-addons .control:first-child:not(:only-child) #documenter .docs-sidebar form.docs-search > input,
-    html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control:first-child:not(:only-child) form.docs-search > input,
-    html.theme--documenter-dark .field.has-addons .control:first-child:not(:only-child) .select select {
-      border-bottom-right-radius: 0;
-      border-top-right-radius: 0; }
-    html.theme--documenter-dark .field.has-addons .control:last-child:not(:only-child) .button,
-    html.theme--documenter-dark .field.has-addons .control:last-child:not(:only-child) .input,
-    html.theme--documenter-dark .field.has-addons .control:last-child:not(:only-child) #documenter .docs-sidebar form.docs-search > input,
-    html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control:last-child:not(:only-child) form.docs-search > input,
-    html.theme--documenter-dark .field.has-addons .control:last-child:not(:only-child) .select select {
-      border-bottom-left-radius: 0;
-      border-top-left-radius: 0; }
-    html.theme--documenter-dark .field.has-addons .control .button:not([disabled]):hover, html.theme--documenter-dark .field.has-addons .control .button.is-hovered:not([disabled]),
-    html.theme--documenter-dark .field.has-addons .control .input:not([disabled]):hover,
-    html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):hover,
-    html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):hover,
-    html.theme--documenter-dark .field.has-addons .control .input.is-hovered:not([disabled]),
-    html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-hovered:not([disabled]),
-    html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-hovered:not([disabled]),
-    html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]):hover,
-    html.theme--documenter-dark .field.has-addons .control .select select.is-hovered:not([disabled]) {
-      z-index: 2; }
-    html.theme--documenter-dark .field.has-addons .control .button:not([disabled]):focus, html.theme--documenter-dark .field.has-addons .control .button.is-focused:not([disabled]), html.theme--documenter-dark .field.has-addons .control .button:not([disabled]):active, html.theme--documenter-dark .field.has-addons .control .button.is-active:not([disabled]),
-    html.theme--documenter-dark .field.has-addons .control .input:not([disabled]):focus,
-    html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):focus,
-    html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):focus,
-    html.theme--documenter-dark .field.has-addons .control .input.is-focused:not([disabled]),
-    html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-focused:not([disabled]),
-    html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-focused:not([disabled]),
-    html.theme--documenter-dark .field.has-addons .control .input:not([disabled]):active,
-    html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):active,
-    html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):active,
-    html.theme--documenter-dark .field.has-addons .control .input.is-active:not([disabled]),
-    html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-active:not([disabled]),
-    html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-active:not([disabled]),
-    html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]):focus,
-    html.theme--documenter-dark .field.has-addons .control .select select.is-focused:not([disabled]),
-    html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]):active,
-    html.theme--documenter-dark .field.has-addons .control .select select.is-active:not([disabled]) {
-      z-index: 3; }
-      html.theme--documenter-dark .field.has-addons .control .button:not([disabled]):focus:hover, html.theme--documenter-dark .field.has-addons .control .button.is-focused:not([disabled]):hover, html.theme--documenter-dark .field.has-addons .control .button:not([disabled]):active:hover, html.theme--documenter-dark .field.has-addons .control .button.is-active:not([disabled]):hover,
-      html.theme--documenter-dark .field.has-addons .control .input:not([disabled]):focus:hover,
-      html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):focus:hover,
-      html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):focus:hover,
-      html.theme--documenter-dark .field.has-addons .control .input.is-focused:not([disabled]):hover,
-      html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-focused:not([disabled]):hover,
-      html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-focused:not([disabled]):hover,
-      html.theme--documenter-dark .field.has-addons .control .input:not([disabled]):active:hover,
-      html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):active:hover,
-      html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):active:hover,
-      html.theme--documenter-dark .field.has-addons .control .input.is-active:not([disabled]):hover,
-      html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-active:not([disabled]):hover,
-      html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-active:not([disabled]):hover,
-      html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]):focus:hover,
-      html.theme--documenter-dark .field.has-addons .control .select select.is-focused:not([disabled]):hover,
-      html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]):active:hover,
-      html.theme--documenter-dark .field.has-addons .control .select select.is-active:not([disabled]):hover {
-        z-index: 4; }
-    html.theme--documenter-dark .field.has-addons .control.is-expanded {
-      flex-grow: 1;
-      flex-shrink: 1; }
-    html.theme--documenter-dark .field.has-addons.has-addons-centered {
-      justify-content: center; }
-    html.theme--documenter-dark .field.has-addons.has-addons-right {
-      justify-content: flex-end; }
-    html.theme--documenter-dark .field.has-addons.has-addons-fullwidth .control {
-      flex-grow: 1;
-      flex-shrink: 0; }
-  html.theme--documenter-dark .field.is-grouped {
-    display: flex;
-    justify-content: flex-start; }
-    html.theme--documenter-dark .field.is-grouped > .control {
-      flex-shrink: 0; }
-      html.theme--documenter-dark .field.is-grouped > .control:not(:last-child) {
-        margin-bottom: 0;
-        margin-right: 0.75rem; }
-      html.theme--documenter-dark .field.is-grouped > .control.is-expanded {
-        flex-grow: 1;
-        flex-shrink: 1; }
-    html.theme--documenter-dark .field.is-grouped.is-grouped-centered {
-      justify-content: center; }
-    html.theme--documenter-dark .field.is-grouped.is-grouped-right {
-      justify-content: flex-end; }
-    html.theme--documenter-dark .field.is-grouped.is-grouped-multiline {
-      flex-wrap: wrap; }
-      html.theme--documenter-dark .field.is-grouped.is-grouped-multiline > .control:last-child, html.theme--documenter-dark .field.is-grouped.is-grouped-multiline > .control:not(:last-child) {
-        margin-bottom: 0.75rem; }
-      html.theme--documenter-dark .field.is-grouped.is-grouped-multiline:last-child {
-        margin-bottom: -0.75rem; }
-      html.theme--documenter-dark .field.is-grouped.is-grouped-multiline:not(:last-child) {
-        margin-bottom: 0; }
-  @media screen and (min-width: 769px), print {
-    html.theme--documenter-dark .field.is-horizontal {
-      display: flex; } }
-  html.theme--documenter-dark .field-label .label {
-    font-size: inherit; }
-  @media screen and (max-width: 768px) {
-    html.theme--documenter-dark .field-label {
-      margin-bottom: 0.5rem; } }
-  @media screen and (min-width: 769px), print {
-    html.theme--documenter-dark .field-label {
-      flex-basis: 0;
-      flex-grow: 1;
-      flex-shrink: 0;
-      margin-right: 1.5rem;
-      text-align: right; }
-      html.theme--documenter-dark .field-label.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.field-label {
-        font-size: 0.85em;
-        padding-top: 0.375em; }
-      html.theme--documenter-dark .field-label.is-normal {
-        padding-top: 0.375em; }
-      html.theme--documenter-dark .field-label.is-medium {
-        font-size: 1.25rem;
-        padding-top: 0.375em; }
-      html.theme--documenter-dark .field-label.is-large {
-        font-size: 1.5rem;
-        padding-top: 0.375em; } }
-  html.theme--documenter-dark .field-body .field .field {
-    margin-bottom: 0; }
-  @media screen and (min-width: 769px), print {
-    html.theme--documenter-dark .field-body {
-      display: flex;
-      flex-basis: 0;
-      flex-grow: 5;
-      flex-shrink: 1; }
-      html.theme--documenter-dark .field-body .field {
-        margin-bottom: 0; }
-      html.theme--documenter-dark .field-body > .field {
-        flex-shrink: 1; }
-        html.theme--documenter-dark .field-body > .field:not(.is-narrow) {
-          flex-grow: 1; }
-        html.theme--documenter-dark .field-body > .field:not(:last-child) {
-          margin-right: 0.75rem; } }
-  html.theme--documenter-dark .control {
-    box-sizing: border-box;
-    clear: both;
-    font-size: 15px;
-    position: relative;
-    text-align: left; }
-    html.theme--documenter-dark .control.has-icons-left .input:focus ~ .icon, html.theme--documenter-dark .control.has-icons-left #documenter .docs-sidebar form.docs-search > input:focus ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-left form.docs-search > input:focus ~ .icon,
-    html.theme--documenter-dark .control.has-icons-left .select:focus ~ .icon, html.theme--documenter-dark .control.has-icons-right .input:focus ~ .icon, html.theme--documenter-dark .control.has-icons-right #documenter .docs-sidebar form.docs-search > input:focus ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-right form.docs-search > input:focus ~ .icon,
-    html.theme--documenter-dark .control.has-icons-right .select:focus ~ .icon {
-      color: #5e6d6f; }
-    html.theme--documenter-dark .control.has-icons-left .input.is-small ~ .icon, html.theme--documenter-dark .control.has-icons-left #documenter .docs-sidebar form.docs-search > input ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-left form.docs-search > input ~ .icon,
-    html.theme--documenter-dark .control.has-icons-left .select.is-small ~ .icon, html.theme--documenter-dark .control.has-icons-right .input.is-small ~ .icon, html.theme--documenter-dark .control.has-icons-right #documenter .docs-sidebar form.docs-search > input ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-right form.docs-search > input ~ .icon,
-    html.theme--documenter-dark .control.has-icons-right .select.is-small ~ .icon {
-      font-size: 0.85em; }
-    html.theme--documenter-dark .control.has-icons-left .input.is-medium ~ .icon, html.theme--documenter-dark .control.has-icons-left #documenter .docs-sidebar form.docs-search > input.is-medium ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-left form.docs-search > input.is-medium ~ .icon,
-    html.theme--documenter-dark .control.has-icons-left .select.is-medium ~ .icon, html.theme--documenter-dark .control.has-icons-right .input.is-medium ~ .icon, html.theme--documenter-dark .control.has-icons-right #documenter .docs-sidebar form.docs-search > input.is-medium ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-right form.docs-search > input.is-medium ~ .icon,
-    html.theme--documenter-dark .control.has-icons-right .select.is-medium ~ .icon {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .control.has-icons-left .input.is-large ~ .icon, html.theme--documenter-dark .control.has-icons-left #documenter .docs-sidebar form.docs-search > input.is-large ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-left form.docs-search > input.is-large ~ .icon,
-    html.theme--documenter-dark .control.has-icons-left .select.is-large ~ .icon, html.theme--documenter-dark .control.has-icons-right .input.is-large ~ .icon, html.theme--documenter-dark .control.has-icons-right #documenter .docs-sidebar form.docs-search > input.is-large ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-right form.docs-search > input.is-large ~ .icon,
-    html.theme--documenter-dark .control.has-icons-right .select.is-large ~ .icon {
-      font-size: 1.5rem; }
-    html.theme--documenter-dark .control.has-icons-left .icon, html.theme--documenter-dark .control.has-icons-right .icon {
-      color: #dbdee0;
-      height: 2.25em;
-      pointer-events: none;
-      position: absolute;
-      top: 0;
-      width: 2.25em;
-      z-index: 4; }
-    html.theme--documenter-dark .control.has-icons-left .input, html.theme--documenter-dark .control.has-icons-left #documenter .docs-sidebar form.docs-search > input, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-left form.docs-search > input,
-    html.theme--documenter-dark .control.has-icons-left .select select {
-      padding-left: 2.25em; }
-    html.theme--documenter-dark .control.has-icons-left .icon.is-left {
-      left: 0; }
-    html.theme--documenter-dark .control.has-icons-right .input, html.theme--documenter-dark .control.has-icons-right #documenter .docs-sidebar form.docs-search > input, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-right form.docs-search > input,
-    html.theme--documenter-dark .control.has-icons-right .select select {
-      padding-right: 2.25em; }
-    html.theme--documenter-dark .control.has-icons-right .icon.is-right {
-      right: 0; }
-    html.theme--documenter-dark .control.is-loading::after {
-      position: absolute !important;
-      right: 0.625em;
-      top: 0.625em;
-      z-index: 4; }
-    html.theme--documenter-dark .control.is-loading.is-small:after, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-loading:after {
-      font-size: 0.85em; }
-    html.theme--documenter-dark .control.is-loading.is-medium:after {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .control.is-loading.is-large:after {
-      font-size: 1.5rem; }
-  html.theme--documenter-dark .breadcrumb {
-    font-size: 15px;
-    white-space: nowrap; }
-    html.theme--documenter-dark .breadcrumb a {
-      align-items: center;
-      color: #1abc9c;
-      display: flex;
-      justify-content: center;
-      padding: 0 0.75em; }
-      html.theme--documenter-dark .breadcrumb a:hover {
-        color: #1dd2af; }
-    html.theme--documenter-dark .breadcrumb li {
-      align-items: center;
-      display: flex; }
-      html.theme--documenter-dark .breadcrumb li:first-child a {
-        padding-left: 0; }
-      html.theme--documenter-dark .breadcrumb li.is-active a {
-        color: #f2f2f2;
-        cursor: default;
-        pointer-events: none; }
-      html.theme--documenter-dark .breadcrumb li + li::before {
-        color: #8c9b9d;
-        content: "\0002f"; }
-    html.theme--documenter-dark .breadcrumb ul,
-    html.theme--documenter-dark .breadcrumb ol {
-      align-items: flex-start;
-      display: flex;
-      flex-wrap: wrap;
-      justify-content: flex-start; }
-    html.theme--documenter-dark .breadcrumb .icon:first-child {
-      margin-right: 0.5em; }
-    html.theme--documenter-dark .breadcrumb .icon:last-child {
-      margin-left: 0.5em; }
-    html.theme--documenter-dark .breadcrumb.is-centered ol,
-    html.theme--documenter-dark .breadcrumb.is-centered ul {
-      justify-content: center; }
-    html.theme--documenter-dark .breadcrumb.is-right ol,
-    html.theme--documenter-dark .breadcrumb.is-right ul {
-      justify-content: flex-end; }
-    html.theme--documenter-dark .breadcrumb.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.breadcrumb {
-      font-size: 0.85em; }
-    html.theme--documenter-dark .breadcrumb.is-medium {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .breadcrumb.is-large {
-      font-size: 1.5rem; }
-    html.theme--documenter-dark .breadcrumb.has-arrow-separator li + li::before {
-      content: "\02192"; }
-    html.theme--documenter-dark .breadcrumb.has-bullet-separator li + li::before {
-      content: "\02022"; }
-    html.theme--documenter-dark .breadcrumb.has-dot-separator li + li::before {
-      content: "\000b7"; }
-    html.theme--documenter-dark .breadcrumb.has-succeeds-separator li + li::before {
-      content: "\0227B"; }
-  html.theme--documenter-dark .card {
-    background-color: white;
-    box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
-    color: #fff;
-    max-width: 100%;
-    position: relative; }
-  html.theme--documenter-dark .card-header {
-    background-color: transparent;
-    align-items: stretch;
-    box-shadow: 0 1px 2px rgba(10, 10, 10, 0.1);
-    display: flex; }
-  html.theme--documenter-dark .card-header-title {
-    align-items: center;
-    color: #f2f2f2;
-    display: flex;
-    flex-grow: 1;
-    font-weight: 700;
-    padding: 0.75rem; }
-    html.theme--documenter-dark .card-header-title.is-centered {
-      justify-content: center; }
-  html.theme--documenter-dark .card-header-icon {
-    align-items: center;
-    cursor: pointer;
-    display: flex;
-    justify-content: center;
-    padding: 0.75rem; }
-  html.theme--documenter-dark .card-image {
-    display: block;
-    position: relative; }
-  html.theme--documenter-dark .card-content {
-    background-color: transparent;
-    padding: 1.5rem; }
-  html.theme--documenter-dark .card-footer {
-    background-color: transparent;
-    border-top: 1px solid #5e6d6f;
-    align-items: stretch;
-    display: flex; }
-  html.theme--documenter-dark .card-footer-item {
-    align-items: center;
-    display: flex;
-    flex-basis: 0;
-    flex-grow: 1;
-    flex-shrink: 0;
-    justify-content: center;
-    padding: 0.75rem; }
-    html.theme--documenter-dark .card-footer-item:not(:last-child) {
-      border-right: 1px solid #5e6d6f; }
-  html.theme--documenter-dark .card .media:not(:last-child) {
-    margin-bottom: 1.5rem; }
-  html.theme--documenter-dark .dropdown {
-    display: inline-flex;
-    position: relative;
-    vertical-align: top; }
-    html.theme--documenter-dark .dropdown.is-active .dropdown-menu, html.theme--documenter-dark .dropdown.is-hoverable:hover .dropdown-menu {
-      display: block; }
-    html.theme--documenter-dark .dropdown.is-right .dropdown-menu {
-      left: auto;
-      right: 0; }
-    html.theme--documenter-dark .dropdown.is-up .dropdown-menu {
-      bottom: 100%;
-      padding-bottom: 4px;
-      padding-top: initial;
-      top: auto; }
-  html.theme--documenter-dark .dropdown-menu {
-    display: none;
-    left: 0;
-    min-width: 12rem;
-    padding-top: 4px;
-    position: absolute;
-    top: 100%;
-    z-index: 20; }
-  html.theme--documenter-dark .dropdown-content {
-    background-color: #282f2f;
-    border-radius: 0.4em;
-    box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
-    padding-bottom: 0.5rem;
-    padding-top: 0.5rem; }
-  html.theme--documenter-dark .dropdown-item {
-    color: #fff;
-    display: block;
-    font-size: 0.875rem;
-    line-height: 1.5;
-    padding: 0.375rem 1rem;
-    position: relative; }
-  html.theme--documenter-dark a.dropdown-item,
-  html.theme--documenter-dark button.dropdown-item {
-    padding-right: 3rem;
-    text-align: left;
-    white-space: nowrap;
-    width: 100%; }
-    html.theme--documenter-dark a.dropdown-item:hover,
-    html.theme--documenter-dark button.dropdown-item:hover {
-      background-color: #282f2f;
-      color: #0a0a0a; }
-    html.theme--documenter-dark a.dropdown-item.is-active,
-    html.theme--documenter-dark button.dropdown-item.is-active {
-      background-color: #1abc9c;
-      color: #fff; }
-  html.theme--documenter-dark .dropdown-divider {
-    background-color: #5e6d6f;
-    border: none;
-    display: block;
-    height: 1px;
-    margin: 0.5rem 0; }
-  html.theme--documenter-dark .level {
-    align-items: center;
-    justify-content: space-between; }
-    html.theme--documenter-dark .level code {
-      border-radius: 0.4em; }
-    html.theme--documenter-dark .level img {
-      display: inline-block;
-      vertical-align: top; }
-    html.theme--documenter-dark .level.is-mobile {
-      display: flex; }
-      html.theme--documenter-dark .level.is-mobile .level-left,
-      html.theme--documenter-dark .level.is-mobile .level-right {
-        display: flex; }
-      html.theme--documenter-dark .level.is-mobile .level-left + .level-right {
-        margin-top: 0; }
-      html.theme--documenter-dark .level.is-mobile .level-item:not(:last-child) {
-        margin-bottom: 0;
-        margin-right: 0.75rem; }
-      html.theme--documenter-dark .level.is-mobile .level-item:not(.is-narrow) {
-        flex-grow: 1; }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .level {
-        display: flex; }
-        html.theme--documenter-dark .level > .level-item:not(.is-narrow) {
-          flex-grow: 1; } }
-  html.theme--documenter-dark .level-item {
-    align-items: center;
-    display: flex;
-    flex-basis: auto;
-    flex-grow: 0;
-    flex-shrink: 0;
-    justify-content: center; }
-    html.theme--documenter-dark .level-item .title,
-    html.theme--documenter-dark .level-item .subtitle {
-      margin-bottom: 0; }
-    @media screen and (max-width: 768px) {
-      html.theme--documenter-dark .level-item:not(:last-child) {
-        margin-bottom: 0.75rem; } }
-  html.theme--documenter-dark .level-left,
-  html.theme--documenter-dark .level-right {
-    flex-basis: auto;
-    flex-grow: 0;
-    flex-shrink: 0; }
-    html.theme--documenter-dark .level-left .level-item.is-flexible,
-    html.theme--documenter-dark .level-right .level-item.is-flexible {
-      flex-grow: 1; }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .level-left .level-item:not(:last-child),
-      html.theme--documenter-dark .level-right .level-item:not(:last-child) {
-        margin-right: 0.75rem; } }
-  html.theme--documenter-dark .level-left {
-    align-items: center;
-    justify-content: flex-start; }
-    @media screen and (max-width: 768px) {
-      html.theme--documenter-dark .level-left + .level-right {
-        margin-top: 1.5rem; } }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .level-left {
-        display: flex; } }
-  html.theme--documenter-dark .level-right {
-    align-items: center;
-    justify-content: flex-end; }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .level-right {
-        display: flex; } }
-  html.theme--documenter-dark .list {
-    background-color: white;
-    border-radius: 0.4em;
-    box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1); }
-  html.theme--documenter-dark .list-item {
-    display: block;
-    padding: 0.5em 1em; }
-    html.theme--documenter-dark .list-item:not(a) {
-      color: #fff; }
-    html.theme--documenter-dark .list-item:first-child {
-      border-top-left-radius: 0.4em;
-      border-top-right-radius: 0.4em; }
-    html.theme--documenter-dark .list-item:last-child {
-      border-bottom-left-radius: 0.4em;
-      border-bottom-right-radius: 0.4em; }
-    html.theme--documenter-dark .list-item:not(:last-child) {
-      border-bottom: 1px solid #5e6d6f; }
-    html.theme--documenter-dark .list-item.is-active {
-      background-color: #1abc9c;
-      color: #fff; }
-  html.theme--documenter-dark a.list-item {
-    background-color: #282f2f;
-    cursor: pointer; }
-  html.theme--documenter-dark .media {
-    align-items: flex-start;
-    display: flex;
-    text-align: left; }
-    html.theme--documenter-dark .media .content:not(:last-child) {
-      margin-bottom: 0.75rem; }
-    html.theme--documenter-dark .media .media {
-      border-top: 1px solid rgba(94, 109, 111, 0.5);
-      display: flex;
-      padding-top: 0.75rem; }
-      html.theme--documenter-dark .media .media .content:not(:last-child),
-      html.theme--documenter-dark .media .media .control:not(:last-child) {
-        margin-bottom: 0.5rem; }
-      html.theme--documenter-dark .media .media .media {
-        padding-top: 0.5rem; }
-        html.theme--documenter-dark .media .media .media + .media {
-          margin-top: 0.5rem; }
-    html.theme--documenter-dark .media + .media {
-      border-top: 1px solid rgba(94, 109, 111, 0.5);
-      margin-top: 1rem;
-      padding-top: 1rem; }
-    html.theme--documenter-dark .media.is-large + .media {
-      margin-top: 1.5rem;
-      padding-top: 1.5rem; }
-  html.theme--documenter-dark .media-left,
-  html.theme--documenter-dark .media-right {
-    flex-basis: auto;
-    flex-grow: 0;
-    flex-shrink: 0; }
-  html.theme--documenter-dark .media-left {
-    margin-right: 1rem; }
-  html.theme--documenter-dark .media-right {
-    margin-left: 1rem; }
-  html.theme--documenter-dark .media-content {
-    flex-basis: auto;
-    flex-grow: 1;
-    flex-shrink: 1;
-    text-align: left; }
-  @media screen and (max-width: 768px) {
-    html.theme--documenter-dark .media-content {
-      overflow-x: auto; } }
-  html.theme--documenter-dark .menu {
-    font-size: 15px; }
-    html.theme--documenter-dark .menu.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.menu {
-      font-size: 0.85em; }
-    html.theme--documenter-dark .menu.is-medium {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .menu.is-large {
-      font-size: 1.5rem; }
-  html.theme--documenter-dark .menu-list {
-    line-height: 1.25; }
-    html.theme--documenter-dark .menu-list a {
-      border-radius: 3px;
-      color: #fff;
-      display: block;
-      padding: 0.5em 0.75em; }
-      html.theme--documenter-dark .menu-list a:hover {
-        background-color: #282f2f;
-        color: #f2f2f2; }
-      html.theme--documenter-dark .menu-list a.is-active {
-        background-color: #1abc9c;
-        color: #fff; }
-    html.theme--documenter-dark .menu-list li ul {
-      border-left: 1px solid #5e6d6f;
-      margin: 0.75em;
-      padding-left: 0.75em; }
-  html.theme--documenter-dark .menu-label {
-    color: white;
-    font-size: 0.75em;
-    letter-spacing: 0.1em;
-    text-transform: uppercase; }
-    html.theme--documenter-dark .menu-label:not(:first-child) {
-      margin-top: 1em; }
-    html.theme--documenter-dark .menu-label:not(:last-child) {
-      margin-bottom: 1em; }
-  html.theme--documenter-dark .message {
-    background-color: #282f2f;
-    border-radius: 0.4em;
-    font-size: 15px; }
-    html.theme--documenter-dark .message strong {
-      color: currentColor; }
-    html.theme--documenter-dark .message a:not(.button):not(.tag):not(.dropdown-item) {
-      color: currentColor;
-      text-decoration: underline; }
-    html.theme--documenter-dark .message.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.message {
-      font-size: 0.85em; }
-    html.theme--documenter-dark .message.is-medium {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .message.is-large {
-      font-size: 1.5rem; }
-    html.theme--documenter-dark .message.is-white {
-      background-color: white; }
-      html.theme--documenter-dark .message.is-white .message-header {
-        background-color: white;
-        color: #0a0a0a; }
-      html.theme--documenter-dark .message.is-white .message-body {
-        border-color: white;
-        color: #4d4d4d; }
-    html.theme--documenter-dark .message.is-black {
-      background-color: #fafafa; }
-      html.theme--documenter-dark .message.is-black .message-header {
-        background-color: #0a0a0a;
-        color: white; }
-      html.theme--documenter-dark .message.is-black .message-body {
-        border-color: #0a0a0a;
-        color: #090909; }
-    html.theme--documenter-dark .message.is-light {
-      background-color: #f9fafb; }
-      html.theme--documenter-dark .message.is-light .message-header {
-        background-color: #ecf0f1;
-        color: #282f2f; }
-      html.theme--documenter-dark .message.is-light .message-body {
-        border-color: #ecf0f1;
-        color: #505050; }
-    html.theme--documenter-dark .message.is-dark, html.theme--documenter-dark .content kbd.message {
-      background-color: #f9fafa; }
-      html.theme--documenter-dark .message.is-dark .message-header, html.theme--documenter-dark .content kbd.message .message-header {
-        background-color: #282f2f;
-        color: #ecf0f1; }
-      html.theme--documenter-dark .message.is-dark .message-body, html.theme--documenter-dark .content kbd.message .message-body {
-        border-color: #282f2f;
-        color: #212526; }
-    html.theme--documenter-dark .message.is-primary, html.theme--documenter-dark .docstring > section > a.message.docs-sourcelink {
-      background-color: #f8fafc; }
-      html.theme--documenter-dark .message.is-primary .message-header, html.theme--documenter-dark .docstring > section > a.message.docs-sourcelink .message-header {
-        background-color: #375a7f;
-        color: #fff; }
-      html.theme--documenter-dark .message.is-primary .message-body, html.theme--documenter-dark .docstring > section > a.message.docs-sourcelink .message-body {
-        border-color: #375a7f;
-        color: #2b4159; }
-    html.theme--documenter-dark .message.is-link {
-      background-color: #f6fefc; }
-      html.theme--documenter-dark .message.is-link .message-header {
-        background-color: #1abc9c;
-        color: #fff; }
-      html.theme--documenter-dark .message.is-link .message-body {
-        border-color: #1abc9c;
-        color: #0b2f28; }
-    html.theme--documenter-dark .message.is-info {
-      background-color: #f5fbff; }
-      html.theme--documenter-dark .message.is-info .message-header {
-        background-color: #024c7d;
-        color: #fff; }
-      html.theme--documenter-dark .message.is-info .message-body {
-        border-color: #024c7d;
-        color: #033659; }
-    html.theme--documenter-dark .message.is-success {
-      background-color: #f5fff9; }
-      html.theme--documenter-dark .message.is-success .message-header {
-        background-color: #008438;
-        color: #fff; }
-      html.theme--documenter-dark .message.is-success .message-body {
-        border-color: #008438;
-        color: #023518; }
-    html.theme--documenter-dark .message.is-warning {
-      background-color: #fffcf5; }
-      html.theme--documenter-dark .message.is-warning .message-header {
-        background-color: #ad8100;
-        color: #fff; }
-      html.theme--documenter-dark .message.is-warning .message-body {
-        border-color: #ad8100;
-        color: #3d2e03; }
-    html.theme--documenter-dark .message.is-danger {
-      background-color: #fef6f6; }
-      html.theme--documenter-dark .message.is-danger .message-header {
-        background-color: #9e1b0d;
-        color: #fff; }
-      html.theme--documenter-dark .message.is-danger .message-body {
-        border-color: #9e1b0d;
-        color: #7a170c; }
-  html.theme--documenter-dark .message-header {
-    align-items: center;
-    background-color: #fff;
-    border-radius: 0.4em 0.4em 0 0;
-    color: rgba(0, 0, 0, 0.7);
-    display: flex;
-    font-weight: 700;
-    justify-content: space-between;
-    line-height: 1.25;
-    padding: 0.75em 1em;
-    position: relative; }
-    html.theme--documenter-dark .message-header .delete {
-      flex-grow: 0;
-      flex-shrink: 0;
-      margin-left: 0.75em; }
-    html.theme--documenter-dark .message-header + .message-body {
-      border-width: 0;
-      border-top-left-radius: 0;
-      border-top-right-radius: 0; }
-  html.theme--documenter-dark .message-body {
-    border-color: #5e6d6f;
-    border-radius: 0.4em;
-    border-style: solid;
-    border-width: 0 0 0 4px;
-    color: #fff;
-    padding: 1.25em 1.5em; }
-    html.theme--documenter-dark .message-body code,
-    html.theme--documenter-dark .message-body pre {
-      background-color: white; }
-    html.theme--documenter-dark .message-body pre code {
-      background-color: transparent; }
-  html.theme--documenter-dark .modal {
-    align-items: center;
-    display: none;
-    flex-direction: column;
-    justify-content: center;
-    overflow: hidden;
-    position: fixed;
-    z-index: 40; }
-    html.theme--documenter-dark .modal.is-active {
-      display: flex; }
-  html.theme--documenter-dark .modal-background {
-    background-color: rgba(10, 10, 10, 0.86); }
-  html.theme--documenter-dark .modal-content,
-  html.theme--documenter-dark .modal-card {
-    margin: 0 20px;
-    max-height: calc(100vh - 160px);
-    overflow: auto;
-    position: relative;
-    width: 100%; }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .modal-content,
-      html.theme--documenter-dark .modal-card {
-        margin: 0 auto;
-        max-height: calc(100vh - 40px);
-        width: 640px; } }
-  html.theme--documenter-dark .modal-close {
-    background: none;
-    height: 40px;
-    position: fixed;
-    right: 20px;
-    top: 20px;
-    width: 40px; }
-  html.theme--documenter-dark .modal-card {
-    display: flex;
-    flex-direction: column;
-    max-height: calc(100vh - 40px);
-    overflow: hidden;
-    -ms-overflow-y: visible; }
-  html.theme--documenter-dark .modal-card-head,
-  html.theme--documenter-dark .modal-card-foot {
-    align-items: center;
-    background-color: #282f2f;
-    display: flex;
-    flex-shrink: 0;
-    justify-content: flex-start;
-    padding: 20px;
-    position: relative; }
-  html.theme--documenter-dark .modal-card-head {
-    border-bottom: 1px solid #5e6d6f;
-    border-top-left-radius: 8px;
-    border-top-right-radius: 8px; }
-  html.theme--documenter-dark .modal-card-title {
-    color: #f2f2f2;
-    flex-grow: 1;
-    flex-shrink: 0;
-    font-size: 1.5rem;
-    line-height: 1; }
-  html.theme--documenter-dark .modal-card-foot {
-    border-bottom-left-radius: 8px;
-    border-bottom-right-radius: 8px;
-    border-top: 1px solid #5e6d6f; }
-    html.theme--documenter-dark .modal-card-foot .button:not(:last-child) {
-      margin-right: 0.5em; }
-  html.theme--documenter-dark .modal-card-body {
-    -webkit-overflow-scrolling: touch;
-    background-color: white;
-    flex-grow: 1;
-    flex-shrink: 1;
-    overflow: auto;
-    padding: 20px; }
-  html.theme--documenter-dark .navbar {
-    background-color: #375a7f;
-    min-height: 4rem;
-    position: relative;
-    z-index: 30; }
-    html.theme--documenter-dark .navbar.is-white {
-      background-color: white;
-      color: #0a0a0a; }
-      html.theme--documenter-dark .navbar.is-white .navbar-brand > .navbar-item,
-      html.theme--documenter-dark .navbar.is-white .navbar-brand .navbar-link {
-        color: #0a0a0a; }
-      html.theme--documenter-dark .navbar.is-white .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-white .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-white .navbar-brand > a.navbar-item.is-active,
-      html.theme--documenter-dark .navbar.is-white .navbar-brand .navbar-link:focus,
-      html.theme--documenter-dark .navbar.is-white .navbar-brand .navbar-link:hover,
-      html.theme--documenter-dark .navbar.is-white .navbar-brand .navbar-link.is-active {
-        background-color: #f2f2f2;
-        color: #0a0a0a; }
-      html.theme--documenter-dark .navbar.is-white .navbar-brand .navbar-link::after {
-        border-color: #0a0a0a; }
-      html.theme--documenter-dark .navbar.is-white .navbar-burger {
-        color: #0a0a0a; }
-      @media screen and (min-width: 1056px) {
-        html.theme--documenter-dark .navbar.is-white .navbar-start > .navbar-item,
-        html.theme--documenter-dark .navbar.is-white .navbar-start .navbar-link,
-        html.theme--documenter-dark .navbar.is-white .navbar-end > .navbar-item,
-        html.theme--documenter-dark .navbar.is-white .navbar-end .navbar-link {
-          color: #0a0a0a; }
-        html.theme--documenter-dark .navbar.is-white .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-white .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-white .navbar-start > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-white .navbar-start .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-white .navbar-start .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-white .navbar-start .navbar-link.is-active,
-        html.theme--documenter-dark .navbar.is-white .navbar-end > a.navbar-item:focus,
-        html.theme--documenter-dark .navbar.is-white .navbar-end > a.navbar-item:hover,
-        html.theme--documenter-dark .navbar.is-white .navbar-end > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-white .navbar-end .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-white .navbar-end .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-white .navbar-end .navbar-link.is-active {
-          background-color: #f2f2f2;
-          color: #0a0a0a; }
-        html.theme--documenter-dark .navbar.is-white .navbar-start .navbar-link::after,
-        html.theme--documenter-dark .navbar.is-white .navbar-end .navbar-link::after {
-          border-color: #0a0a0a; }
-        html.theme--documenter-dark .navbar.is-white .navbar-item.has-dropdown:focus .navbar-link,
-        html.theme--documenter-dark .navbar.is-white .navbar-item.has-dropdown:hover .navbar-link,
-        html.theme--documenter-dark .navbar.is-white .navbar-item.has-dropdown.is-active .navbar-link {
-          background-color: #f2f2f2;
-          color: #0a0a0a; }
-        html.theme--documenter-dark .navbar.is-white .navbar-dropdown a.navbar-item.is-active {
-          background-color: white;
-          color: #0a0a0a; } }
-    html.theme--documenter-dark .navbar.is-black {
-      background-color: #0a0a0a;
-      color: white; }
-      html.theme--documenter-dark .navbar.is-black .navbar-brand > .navbar-item,
-      html.theme--documenter-dark .navbar.is-black .navbar-brand .navbar-link {
-        color: white; }
-      html.theme--documenter-dark .navbar.is-black .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-black .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-black .navbar-brand > a.navbar-item.is-active,
-      html.theme--documenter-dark .navbar.is-black .navbar-brand .navbar-link:focus,
-      html.theme--documenter-dark .navbar.is-black .navbar-brand .navbar-link:hover,
-      html.theme--documenter-dark .navbar.is-black .navbar-brand .navbar-link.is-active {
-        background-color: black;
-        color: white; }
-      html.theme--documenter-dark .navbar.is-black .navbar-brand .navbar-link::after {
-        border-color: white; }
-      html.theme--documenter-dark .navbar.is-black .navbar-burger {
-        color: white; }
-      @media screen and (min-width: 1056px) {
-        html.theme--documenter-dark .navbar.is-black .navbar-start > .navbar-item,
-        html.theme--documenter-dark .navbar.is-black .navbar-start .navbar-link,
-        html.theme--documenter-dark .navbar.is-black .navbar-end > .navbar-item,
-        html.theme--documenter-dark .navbar.is-black .navbar-end .navbar-link {
-          color: white; }
-        html.theme--documenter-dark .navbar.is-black .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-black .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-black .navbar-start > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-black .navbar-start .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-black .navbar-start .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-black .navbar-start .navbar-link.is-active,
-        html.theme--documenter-dark .navbar.is-black .navbar-end > a.navbar-item:focus,
-        html.theme--documenter-dark .navbar.is-black .navbar-end > a.navbar-item:hover,
-        html.theme--documenter-dark .navbar.is-black .navbar-end > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-black .navbar-end .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-black .navbar-end .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-black .navbar-end .navbar-link.is-active {
-          background-color: black;
-          color: white; }
-        html.theme--documenter-dark .navbar.is-black .navbar-start .navbar-link::after,
-        html.theme--documenter-dark .navbar.is-black .navbar-end .navbar-link::after {
-          border-color: white; }
-        html.theme--documenter-dark .navbar.is-black .navbar-item.has-dropdown:focus .navbar-link,
-        html.theme--documenter-dark .navbar.is-black .navbar-item.has-dropdown:hover .navbar-link,
-        html.theme--documenter-dark .navbar.is-black .navbar-item.has-dropdown.is-active .navbar-link {
-          background-color: black;
-          color: white; }
-        html.theme--documenter-dark .navbar.is-black .navbar-dropdown a.navbar-item.is-active {
-          background-color: #0a0a0a;
-          color: white; } }
-    html.theme--documenter-dark .navbar.is-light {
-      background-color: #ecf0f1;
-      color: #282f2f; }
-      html.theme--documenter-dark .navbar.is-light .navbar-brand > .navbar-item,
-      html.theme--documenter-dark .navbar.is-light .navbar-brand .navbar-link {
-        color: #282f2f; }
-      html.theme--documenter-dark .navbar.is-light .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-light .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-light .navbar-brand > a.navbar-item.is-active,
-      html.theme--documenter-dark .navbar.is-light .navbar-brand .navbar-link:focus,
-      html.theme--documenter-dark .navbar.is-light .navbar-brand .navbar-link:hover,
-      html.theme--documenter-dark .navbar.is-light .navbar-brand .navbar-link.is-active {
-        background-color: #dde4e6;
-        color: #282f2f; }
-      html.theme--documenter-dark .navbar.is-light .navbar-brand .navbar-link::after {
-        border-color: #282f2f; }
-      html.theme--documenter-dark .navbar.is-light .navbar-burger {
-        color: #282f2f; }
-      @media screen and (min-width: 1056px) {
-        html.theme--documenter-dark .navbar.is-light .navbar-start > .navbar-item,
-        html.theme--documenter-dark .navbar.is-light .navbar-start .navbar-link,
-        html.theme--documenter-dark .navbar.is-light .navbar-end > .navbar-item,
-        html.theme--documenter-dark .navbar.is-light .navbar-end .navbar-link {
-          color: #282f2f; }
-        html.theme--documenter-dark .navbar.is-light .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-light .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-light .navbar-start > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-light .navbar-start .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-light .navbar-start .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-light .navbar-start .navbar-link.is-active,
-        html.theme--documenter-dark .navbar.is-light .navbar-end > a.navbar-item:focus,
-        html.theme--documenter-dark .navbar.is-light .navbar-end > a.navbar-item:hover,
-        html.theme--documenter-dark .navbar.is-light .navbar-end > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-light .navbar-end .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-light .navbar-end .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-light .navbar-end .navbar-link.is-active {
-          background-color: #dde4e6;
-          color: #282f2f; }
-        html.theme--documenter-dark .navbar.is-light .navbar-start .navbar-link::after,
-        html.theme--documenter-dark .navbar.is-light .navbar-end .navbar-link::after {
-          border-color: #282f2f; }
-        html.theme--documenter-dark .navbar.is-light .navbar-item.has-dropdown:focus .navbar-link,
-        html.theme--documenter-dark .navbar.is-light .navbar-item.has-dropdown:hover .navbar-link,
-        html.theme--documenter-dark .navbar.is-light .navbar-item.has-dropdown.is-active .navbar-link {
-          background-color: #dde4e6;
-          color: #282f2f; }
-        html.theme--documenter-dark .navbar.is-light .navbar-dropdown a.navbar-item.is-active {
-          background-color: #ecf0f1;
-          color: #282f2f; } }
-    html.theme--documenter-dark .navbar.is-dark, html.theme--documenter-dark .content kbd.navbar {
-      background-color: #282f2f;
-      color: #ecf0f1; }
-      html.theme--documenter-dark .navbar.is-dark .navbar-brand > .navbar-item, html.theme--documenter-dark .content kbd.navbar .navbar-brand > .navbar-item,
-      html.theme--documenter-dark .navbar.is-dark .navbar-brand .navbar-link,
-      html.theme--documenter-dark .content kbd.navbar .navbar-brand .navbar-link {
-        color: #ecf0f1; }
-      html.theme--documenter-dark .navbar.is-dark .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .content kbd.navbar .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-dark .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .content kbd.navbar .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-dark .navbar-brand > a.navbar-item.is-active, html.theme--documenter-dark .content kbd.navbar .navbar-brand > a.navbar-item.is-active,
-      html.theme--documenter-dark .navbar.is-dark .navbar-brand .navbar-link:focus,
-      html.theme--documenter-dark .content kbd.navbar .navbar-brand .navbar-link:focus,
-      html.theme--documenter-dark .navbar.is-dark .navbar-brand .navbar-link:hover,
-      html.theme--documenter-dark .content kbd.navbar .navbar-brand .navbar-link:hover,
-      html.theme--documenter-dark .navbar.is-dark .navbar-brand .navbar-link.is-active,
-      html.theme--documenter-dark .content kbd.navbar .navbar-brand .navbar-link.is-active {
-        background-color: #1d2122;
-        color: #ecf0f1; }
-      html.theme--documenter-dark .navbar.is-dark .navbar-brand .navbar-link::after, html.theme--documenter-dark .content kbd.navbar .navbar-brand .navbar-link::after {
-        border-color: #ecf0f1; }
-      html.theme--documenter-dark .navbar.is-dark .navbar-burger, html.theme--documenter-dark .content kbd.navbar .navbar-burger {
-        color: #ecf0f1; }
-      @media screen and (min-width: 1056px) {
-        html.theme--documenter-dark .navbar.is-dark .navbar-start > .navbar-item, html.theme--documenter-dark .content kbd.navbar .navbar-start > .navbar-item,
-        html.theme--documenter-dark .navbar.is-dark .navbar-start .navbar-link,
-        html.theme--documenter-dark .content kbd.navbar .navbar-start .navbar-link,
-        html.theme--documenter-dark .navbar.is-dark .navbar-end > .navbar-item,
-        html.theme--documenter-dark .content kbd.navbar .navbar-end > .navbar-item,
-        html.theme--documenter-dark .navbar.is-dark .navbar-end .navbar-link,
-        html.theme--documenter-dark .content kbd.navbar .navbar-end .navbar-link {
-          color: #ecf0f1; }
-        html.theme--documenter-dark .navbar.is-dark .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .content kbd.navbar .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-dark .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .content kbd.navbar .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-dark .navbar-start > a.navbar-item.is-active, html.theme--documenter-dark .content kbd.navbar .navbar-start > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-dark .navbar-start .navbar-link:focus,
-        html.theme--documenter-dark .content kbd.navbar .navbar-start .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-dark .navbar-start .navbar-link:hover,
-        html.theme--documenter-dark .content kbd.navbar .navbar-start .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-dark .navbar-start .navbar-link.is-active,
-        html.theme--documenter-dark .content kbd.navbar .navbar-start .navbar-link.is-active,
-        html.theme--documenter-dark .navbar.is-dark .navbar-end > a.navbar-item:focus,
-        html.theme--documenter-dark .content kbd.navbar .navbar-end > a.navbar-item:focus,
-        html.theme--documenter-dark .navbar.is-dark .navbar-end > a.navbar-item:hover,
-        html.theme--documenter-dark .content kbd.navbar .navbar-end > a.navbar-item:hover,
-        html.theme--documenter-dark .navbar.is-dark .navbar-end > a.navbar-item.is-active,
-        html.theme--documenter-dark .content kbd.navbar .navbar-end > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-dark .navbar-end .navbar-link:focus,
-        html.theme--documenter-dark .content kbd.navbar .navbar-end .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-dark .navbar-end .navbar-link:hover,
-        html.theme--documenter-dark .content kbd.navbar .navbar-end .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-dark .navbar-end .navbar-link.is-active,
-        html.theme--documenter-dark .content kbd.navbar .navbar-end .navbar-link.is-active {
-          background-color: #1d2122;
-          color: #ecf0f1; }
-        html.theme--documenter-dark .navbar.is-dark .navbar-start .navbar-link::after, html.theme--documenter-dark .content kbd.navbar .navbar-start .navbar-link::after,
-        html.theme--documenter-dark .navbar.is-dark .navbar-end .navbar-link::after,
-        html.theme--documenter-dark .content kbd.navbar .navbar-end .navbar-link::after {
-          border-color: #ecf0f1; }
-        html.theme--documenter-dark .navbar.is-dark .navbar-item.has-dropdown:focus .navbar-link, html.theme--documenter-dark .content kbd.navbar .navbar-item.has-dropdown:focus .navbar-link,
-        html.theme--documenter-dark .navbar.is-dark .navbar-item.has-dropdown:hover .navbar-link,
-        html.theme--documenter-dark .content kbd.navbar .navbar-item.has-dropdown:hover .navbar-link,
-        html.theme--documenter-dark .navbar.is-dark .navbar-item.has-dropdown.is-active .navbar-link,
-        html.theme--documenter-dark .content kbd.navbar .navbar-item.has-dropdown.is-active .navbar-link {
-          background-color: #1d2122;
-          color: #ecf0f1; }
-        html.theme--documenter-dark .navbar.is-dark .navbar-dropdown a.navbar-item.is-active, html.theme--documenter-dark .content kbd.navbar .navbar-dropdown a.navbar-item.is-active {
-          background-color: #282f2f;
-          color: #ecf0f1; } }
-    html.theme--documenter-dark .navbar.is-primary, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink {
-      background-color: #375a7f;
-      color: #fff; }
-      html.theme--documenter-dark .navbar.is-primary .navbar-brand > .navbar-item, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand > .navbar-item,
-      html.theme--documenter-dark .navbar.is-primary .navbar-brand .navbar-link,
-      html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link {
-        color: #fff; }
-      html.theme--documenter-dark .navbar.is-primary .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-primary .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-primary .navbar-brand > a.navbar-item.is-active, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand > a.navbar-item.is-active,
-      html.theme--documenter-dark .navbar.is-primary .navbar-brand .navbar-link:focus,
-      html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link:focus,
-      html.theme--documenter-dark .navbar.is-primary .navbar-brand .navbar-link:hover,
-      html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link:hover,
-      html.theme--documenter-dark .navbar.is-primary .navbar-brand .navbar-link.is-active,
-      html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link.is-active {
-        background-color: #2f4d6d;
-        color: #fff; }
-      html.theme--documenter-dark .navbar.is-primary .navbar-brand .navbar-link::after, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link::after {
-        border-color: #fff; }
-      html.theme--documenter-dark .navbar.is-primary .navbar-burger, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-burger {
-        color: #fff; }
-      @media screen and (min-width: 1056px) {
-        html.theme--documenter-dark .navbar.is-primary .navbar-start > .navbar-item, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start > .navbar-item,
-        html.theme--documenter-dark .navbar.is-primary .navbar-start .navbar-link,
-        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link,
-        html.theme--documenter-dark .navbar.is-primary .navbar-end > .navbar-item,
-        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end > .navbar-item,
-        html.theme--documenter-dark .navbar.is-primary .navbar-end .navbar-link,
-        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link {
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-primary .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-primary .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-primary .navbar-start > a.navbar-item.is-active, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-primary .navbar-start .navbar-link:focus,
-        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-primary .navbar-start .navbar-link:hover,
-        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-primary .navbar-start .navbar-link.is-active,
-        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link.is-active,
-        html.theme--documenter-dark .navbar.is-primary .navbar-end > a.navbar-item:focus,
-        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end > a.navbar-item:focus,
-        html.theme--documenter-dark .navbar.is-primary .navbar-end > a.navbar-item:hover,
-        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end > a.navbar-item:hover,
-        html.theme--documenter-dark .navbar.is-primary .navbar-end > a.navbar-item.is-active,
-        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-primary .navbar-end .navbar-link:focus,
-        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-primary .navbar-end .navbar-link:hover,
-        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-primary .navbar-end .navbar-link.is-active,
-        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link.is-active {
-          background-color: #2f4d6d;
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-primary .navbar-start .navbar-link::after, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link::after,
-        html.theme--documenter-dark .navbar.is-primary .navbar-end .navbar-link::after,
-        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link::after {
-          border-color: #fff; }
-        html.theme--documenter-dark .navbar.is-primary .navbar-item.has-dropdown:focus .navbar-link, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-item.has-dropdown:focus .navbar-link,
-        html.theme--documenter-dark .navbar.is-primary .navbar-item.has-dropdown:hover .navbar-link,
-        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-item.has-dropdown:hover .navbar-link,
-        html.theme--documenter-dark .navbar.is-primary .navbar-item.has-dropdown.is-active .navbar-link,
-        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-item.has-dropdown.is-active .navbar-link {
-          background-color: #2f4d6d;
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-primary .navbar-dropdown a.navbar-item.is-active, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-dropdown a.navbar-item.is-active {
-          background-color: #375a7f;
-          color: #fff; } }
-    html.theme--documenter-dark .navbar.is-link {
-      background-color: #1abc9c;
-      color: #fff; }
-      html.theme--documenter-dark .navbar.is-link .navbar-brand > .navbar-item,
-      html.theme--documenter-dark .navbar.is-link .navbar-brand .navbar-link {
-        color: #fff; }
-      html.theme--documenter-dark .navbar.is-link .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-link .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-link .navbar-brand > a.navbar-item.is-active,
-      html.theme--documenter-dark .navbar.is-link .navbar-brand .navbar-link:focus,
-      html.theme--documenter-dark .navbar.is-link .navbar-brand .navbar-link:hover,
-      html.theme--documenter-dark .navbar.is-link .navbar-brand .navbar-link.is-active {
-        background-color: #17a689;
-        color: #fff; }
-      html.theme--documenter-dark .navbar.is-link .navbar-brand .navbar-link::after {
-        border-color: #fff; }
-      html.theme--documenter-dark .navbar.is-link .navbar-burger {
-        color: #fff; }
-      @media screen and (min-width: 1056px) {
-        html.theme--documenter-dark .navbar.is-link .navbar-start > .navbar-item,
-        html.theme--documenter-dark .navbar.is-link .navbar-start .navbar-link,
-        html.theme--documenter-dark .navbar.is-link .navbar-end > .navbar-item,
-        html.theme--documenter-dark .navbar.is-link .navbar-end .navbar-link {
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-link .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-link .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-link .navbar-start > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-link .navbar-start .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-link .navbar-start .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-link .navbar-start .navbar-link.is-active,
-        html.theme--documenter-dark .navbar.is-link .navbar-end > a.navbar-item:focus,
-        html.theme--documenter-dark .navbar.is-link .navbar-end > a.navbar-item:hover,
-        html.theme--documenter-dark .navbar.is-link .navbar-end > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-link .navbar-end .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-link .navbar-end .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-link .navbar-end .navbar-link.is-active {
-          background-color: #17a689;
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-link .navbar-start .navbar-link::after,
-        html.theme--documenter-dark .navbar.is-link .navbar-end .navbar-link::after {
-          border-color: #fff; }
-        html.theme--documenter-dark .navbar.is-link .navbar-item.has-dropdown:focus .navbar-link,
-        html.theme--documenter-dark .navbar.is-link .navbar-item.has-dropdown:hover .navbar-link,
-        html.theme--documenter-dark .navbar.is-link .navbar-item.has-dropdown.is-active .navbar-link {
-          background-color: #17a689;
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-link .navbar-dropdown a.navbar-item.is-active {
-          background-color: #1abc9c;
-          color: #fff; } }
-    html.theme--documenter-dark .navbar.is-info {
-      background-color: #024c7d;
-      color: #fff; }
-      html.theme--documenter-dark .navbar.is-info .navbar-brand > .navbar-item,
-      html.theme--documenter-dark .navbar.is-info .navbar-brand .navbar-link {
-        color: #fff; }
-      html.theme--documenter-dark .navbar.is-info .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-info .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-info .navbar-brand > a.navbar-item.is-active,
-      html.theme--documenter-dark .navbar.is-info .navbar-brand .navbar-link:focus,
-      html.theme--documenter-dark .navbar.is-info .navbar-brand .navbar-link:hover,
-      html.theme--documenter-dark .navbar.is-info .navbar-brand .navbar-link.is-active {
-        background-color: #023d64;
-        color: #fff; }
-      html.theme--documenter-dark .navbar.is-info .navbar-brand .navbar-link::after {
-        border-color: #fff; }
-      html.theme--documenter-dark .navbar.is-info .navbar-burger {
-        color: #fff; }
-      @media screen and (min-width: 1056px) {
-        html.theme--documenter-dark .navbar.is-info .navbar-start > .navbar-item,
-        html.theme--documenter-dark .navbar.is-info .navbar-start .navbar-link,
-        html.theme--documenter-dark .navbar.is-info .navbar-end > .navbar-item,
-        html.theme--documenter-dark .navbar.is-info .navbar-end .navbar-link {
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-info .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-info .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-info .navbar-start > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-info .navbar-start .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-info .navbar-start .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-info .navbar-start .navbar-link.is-active,
-        html.theme--documenter-dark .navbar.is-info .navbar-end > a.navbar-item:focus,
-        html.theme--documenter-dark .navbar.is-info .navbar-end > a.navbar-item:hover,
-        html.theme--documenter-dark .navbar.is-info .navbar-end > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-info .navbar-end .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-info .navbar-end .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-info .navbar-end .navbar-link.is-active {
-          background-color: #023d64;
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-info .navbar-start .navbar-link::after,
-        html.theme--documenter-dark .navbar.is-info .navbar-end .navbar-link::after {
-          border-color: #fff; }
-        html.theme--documenter-dark .navbar.is-info .navbar-item.has-dropdown:focus .navbar-link,
-        html.theme--documenter-dark .navbar.is-info .navbar-item.has-dropdown:hover .navbar-link,
-        html.theme--documenter-dark .navbar.is-info .navbar-item.has-dropdown.is-active .navbar-link {
-          background-color: #023d64;
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-info .navbar-dropdown a.navbar-item.is-active {
-          background-color: #024c7d;
-          color: #fff; } }
-    html.theme--documenter-dark .navbar.is-success {
-      background-color: #008438;
-      color: #fff; }
-      html.theme--documenter-dark .navbar.is-success .navbar-brand > .navbar-item,
-      html.theme--documenter-dark .navbar.is-success .navbar-brand .navbar-link {
-        color: #fff; }
-      html.theme--documenter-dark .navbar.is-success .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-success .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-success .navbar-brand > a.navbar-item.is-active,
-      html.theme--documenter-dark .navbar.is-success .navbar-brand .navbar-link:focus,
-      html.theme--documenter-dark .navbar.is-success .navbar-brand .navbar-link:hover,
-      html.theme--documenter-dark .navbar.is-success .navbar-brand .navbar-link.is-active {
-        background-color: #006b2d;
-        color: #fff; }
-      html.theme--documenter-dark .navbar.is-success .navbar-brand .navbar-link::after {
-        border-color: #fff; }
-      html.theme--documenter-dark .navbar.is-success .navbar-burger {
-        color: #fff; }
-      @media screen and (min-width: 1056px) {
-        html.theme--documenter-dark .navbar.is-success .navbar-start > .navbar-item,
-        html.theme--documenter-dark .navbar.is-success .navbar-start .navbar-link,
-        html.theme--documenter-dark .navbar.is-success .navbar-end > .navbar-item,
-        html.theme--documenter-dark .navbar.is-success .navbar-end .navbar-link {
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-success .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-success .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-success .navbar-start > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-success .navbar-start .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-success .navbar-start .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-success .navbar-start .navbar-link.is-active,
-        html.theme--documenter-dark .navbar.is-success .navbar-end > a.navbar-item:focus,
-        html.theme--documenter-dark .navbar.is-success .navbar-end > a.navbar-item:hover,
-        html.theme--documenter-dark .navbar.is-success .navbar-end > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-success .navbar-end .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-success .navbar-end .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-success .navbar-end .navbar-link.is-active {
-          background-color: #006b2d;
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-success .navbar-start .navbar-link::after,
-        html.theme--documenter-dark .navbar.is-success .navbar-end .navbar-link::after {
-          border-color: #fff; }
-        html.theme--documenter-dark .navbar.is-success .navbar-item.has-dropdown:focus .navbar-link,
-        html.theme--documenter-dark .navbar.is-success .navbar-item.has-dropdown:hover .navbar-link,
-        html.theme--documenter-dark .navbar.is-success .navbar-item.has-dropdown.is-active .navbar-link {
-          background-color: #006b2d;
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-success .navbar-dropdown a.navbar-item.is-active {
-          background-color: #008438;
-          color: #fff; } }
-    html.theme--documenter-dark .navbar.is-warning {
-      background-color: #ad8100;
-      color: #fff; }
-      html.theme--documenter-dark .navbar.is-warning .navbar-brand > .navbar-item,
-      html.theme--documenter-dark .navbar.is-warning .navbar-brand .navbar-link {
-        color: #fff; }
-      html.theme--documenter-dark .navbar.is-warning .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-warning .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-warning .navbar-brand > a.navbar-item.is-active,
-      html.theme--documenter-dark .navbar.is-warning .navbar-brand .navbar-link:focus,
-      html.theme--documenter-dark .navbar.is-warning .navbar-brand .navbar-link:hover,
-      html.theme--documenter-dark .navbar.is-warning .navbar-brand .navbar-link.is-active {
-        background-color: #946e00;
-        color: #fff; }
-      html.theme--documenter-dark .navbar.is-warning .navbar-brand .navbar-link::after {
-        border-color: #fff; }
-      html.theme--documenter-dark .navbar.is-warning .navbar-burger {
-        color: #fff; }
-      @media screen and (min-width: 1056px) {
-        html.theme--documenter-dark .navbar.is-warning .navbar-start > .navbar-item,
-        html.theme--documenter-dark .navbar.is-warning .navbar-start .navbar-link,
-        html.theme--documenter-dark .navbar.is-warning .navbar-end > .navbar-item,
-        html.theme--documenter-dark .navbar.is-warning .navbar-end .navbar-link {
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-warning .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-warning .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-warning .navbar-start > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-warning .navbar-start .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-warning .navbar-start .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-warning .navbar-start .navbar-link.is-active,
-        html.theme--documenter-dark .navbar.is-warning .navbar-end > a.navbar-item:focus,
-        html.theme--documenter-dark .navbar.is-warning .navbar-end > a.navbar-item:hover,
-        html.theme--documenter-dark .navbar.is-warning .navbar-end > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-warning .navbar-end .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-warning .navbar-end .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-warning .navbar-end .navbar-link.is-active {
-          background-color: #946e00;
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-warning .navbar-start .navbar-link::after,
-        html.theme--documenter-dark .navbar.is-warning .navbar-end .navbar-link::after {
-          border-color: #fff; }
-        html.theme--documenter-dark .navbar.is-warning .navbar-item.has-dropdown:focus .navbar-link,
-        html.theme--documenter-dark .navbar.is-warning .navbar-item.has-dropdown:hover .navbar-link,
-        html.theme--documenter-dark .navbar.is-warning .navbar-item.has-dropdown.is-active .navbar-link {
-          background-color: #946e00;
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-warning .navbar-dropdown a.navbar-item.is-active {
-          background-color: #ad8100;
-          color: #fff; } }
-    html.theme--documenter-dark .navbar.is-danger {
-      background-color: #9e1b0d;
-      color: #fff; }
-      html.theme--documenter-dark .navbar.is-danger .navbar-brand > .navbar-item,
-      html.theme--documenter-dark .navbar.is-danger .navbar-brand .navbar-link {
-        color: #fff; }
-      html.theme--documenter-dark .navbar.is-danger .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-danger .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-danger .navbar-brand > a.navbar-item.is-active,
-      html.theme--documenter-dark .navbar.is-danger .navbar-brand .navbar-link:focus,
-      html.theme--documenter-dark .navbar.is-danger .navbar-brand .navbar-link:hover,
-      html.theme--documenter-dark .navbar.is-danger .navbar-brand .navbar-link.is-active {
-        background-color: #86170b;
-        color: #fff; }
-      html.theme--documenter-dark .navbar.is-danger .navbar-brand .navbar-link::after {
-        border-color: #fff; }
-      html.theme--documenter-dark .navbar.is-danger .navbar-burger {
-        color: #fff; }
-      @media screen and (min-width: 1056px) {
-        html.theme--documenter-dark .navbar.is-danger .navbar-start > .navbar-item,
-        html.theme--documenter-dark .navbar.is-danger .navbar-start .navbar-link,
-        html.theme--documenter-dark .navbar.is-danger .navbar-end > .navbar-item,
-        html.theme--documenter-dark .navbar.is-danger .navbar-end .navbar-link {
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-danger .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-danger .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-danger .navbar-start > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-danger .navbar-start .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-danger .navbar-start .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-danger .navbar-start .navbar-link.is-active,
-        html.theme--documenter-dark .navbar.is-danger .navbar-end > a.navbar-item:focus,
-        html.theme--documenter-dark .navbar.is-danger .navbar-end > a.navbar-item:hover,
-        html.theme--documenter-dark .navbar.is-danger .navbar-end > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-danger .navbar-end .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-danger .navbar-end .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-danger .navbar-end .navbar-link.is-active {
-          background-color: #86170b;
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-danger .navbar-start .navbar-link::after,
-        html.theme--documenter-dark .navbar.is-danger .navbar-end .navbar-link::after {
-          border-color: #fff; }
-        html.theme--documenter-dark .navbar.is-danger .navbar-item.has-dropdown:focus .navbar-link,
-        html.theme--documenter-dark .navbar.is-danger .navbar-item.has-dropdown:hover .navbar-link,
-        html.theme--documenter-dark .navbar.is-danger .navbar-item.has-dropdown.is-active .navbar-link {
-          background-color: #86170b;
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-danger .navbar-dropdown a.navbar-item.is-active {
-          background-color: #9e1b0d;
-          color: #fff; } }
-    html.theme--documenter-dark .navbar > .container {
-      align-items: stretch;
-      display: flex;
-      min-height: 4rem;
-      width: 100%; }
-    html.theme--documenter-dark .navbar.has-shadow {
-      box-shadow: 0 2px 0 0 #282f2f; }
-    html.theme--documenter-dark .navbar.is-fixed-bottom, html.theme--documenter-dark .navbar.is-fixed-top {
-      left: 0;
-      position: fixed;
-      right: 0;
-      z-index: 30; }
-    html.theme--documenter-dark .navbar.is-fixed-bottom {
-      bottom: 0; }
-      html.theme--documenter-dark .navbar.is-fixed-bottom.has-shadow {
-        box-shadow: 0 -2px 0 0 #282f2f; }
-    html.theme--documenter-dark .navbar.is-fixed-top {
-      top: 0; }
-  html.theme--documenter-dark html.has-navbar-fixed-top,
-  html.theme--documenter-dark body.has-navbar-fixed-top {
-    padding-top: 4rem; }
-  html.theme--documenter-dark html.has-navbar-fixed-bottom,
-  html.theme--documenter-dark body.has-navbar-fixed-bottom {
-    padding-bottom: 4rem; }
-  html.theme--documenter-dark .navbar-brand,
-  html.theme--documenter-dark .navbar-tabs {
-    align-items: stretch;
-    display: flex;
-    flex-shrink: 0;
-    min-height: 4rem; }
-  html.theme--documenter-dark .navbar-brand a.navbar-item:focus, html.theme--documenter-dark .navbar-brand a.navbar-item:hover {
-    background-color: transparent; }
-  html.theme--documenter-dark .navbar-tabs {
-    -webkit-overflow-scrolling: touch;
-    max-width: 100vw;
-    overflow-x: auto;
-    overflow-y: hidden; }
-  html.theme--documenter-dark .navbar-burger {
-    color: #fff;
-    cursor: pointer;
-    display: block;
-    height: 4rem;
-    position: relative;
-    width: 4rem;
-    margin-left: auto; }
-    html.theme--documenter-dark .navbar-burger span {
-      background-color: currentColor;
-      display: block;
-      height: 1px;
-      left: calc(50% - 8px);
-      position: absolute;
-      transform-origin: center;
-      transition-duration: 86ms;
-      transition-property: background-color, opacity, transform;
-      transition-timing-function: ease-out;
-      width: 16px; }
-      html.theme--documenter-dark .navbar-burger span:nth-child(1) {
-        top: calc(50% - 6px); }
-      html.theme--documenter-dark .navbar-burger span:nth-child(2) {
-        top: calc(50% - 1px); }
-      html.theme--documenter-dark .navbar-burger span:nth-child(3) {
-        top: calc(50% + 4px); }
-    html.theme--documenter-dark .navbar-burger:hover {
-      background-color: rgba(0, 0, 0, 0.05); }
-    html.theme--documenter-dark .navbar-burger.is-active span:nth-child(1) {
-      transform: translateY(5px) rotate(45deg); }
-    html.theme--documenter-dark .navbar-burger.is-active span:nth-child(2) {
-      opacity: 0; }
-    html.theme--documenter-dark .navbar-burger.is-active span:nth-child(3) {
-      transform: translateY(-5px) rotate(-45deg); }
-  html.theme--documenter-dark .navbar-menu {
-    display: none; }
-  html.theme--documenter-dark .navbar-item,
-  html.theme--documenter-dark .navbar-link {
-    color: #fff;
-    display: block;
-    line-height: 1.5;
-    padding: 0.5rem 0.75rem;
-    position: relative; }
-    html.theme--documenter-dark .navbar-item .icon:only-child,
-    html.theme--documenter-dark .navbar-link .icon:only-child {
-      margin-left: -0.25rem;
-      margin-right: -0.25rem; }
-  html.theme--documenter-dark a.navbar-item,
-  html.theme--documenter-dark .navbar-link {
-    cursor: pointer; }
-    html.theme--documenter-dark a.navbar-item:focus, html.theme--documenter-dark a.navbar-item:focus-within, html.theme--documenter-dark a.navbar-item:hover, html.theme--documenter-dark a.navbar-item.is-active,
-    html.theme--documenter-dark .navbar-link:focus,
-    html.theme--documenter-dark .navbar-link:focus-within,
-    html.theme--documenter-dark .navbar-link:hover,
-    html.theme--documenter-dark .navbar-link.is-active {
-      background-color: transparent;
-      color: #1abc9c; }
-  html.theme--documenter-dark .navbar-item {
-    display: block;
-    flex-grow: 0;
-    flex-shrink: 0; }
-    html.theme--documenter-dark .navbar-item img {
-      max-height: 1.75rem; }
-    html.theme--documenter-dark .navbar-item.has-dropdown {
-      padding: 0; }
-    html.theme--documenter-dark .navbar-item.is-expanded {
-      flex-grow: 1;
-      flex-shrink: 1; }
-    html.theme--documenter-dark .navbar-item.is-tab {
-      border-bottom: 1px solid transparent;
-      min-height: 4rem;
-      padding-bottom: calc(0.5rem - 1px); }
-      html.theme--documenter-dark .navbar-item.is-tab:focus, html.theme--documenter-dark .navbar-item.is-tab:hover {
-        background-color: transparent;
-        border-bottom-color: #1abc9c; }
-      html.theme--documenter-dark .navbar-item.is-tab.is-active {
-        background-color: transparent;
-        border-bottom-color: #1abc9c;
-        border-bottom-style: solid;
-        border-bottom-width: 3px;
-        color: #1abc9c;
-        padding-bottom: calc(0.5rem - 3px); }
-  html.theme--documenter-dark .navbar-content {
-    flex-grow: 1;
-    flex-shrink: 1; }
-  html.theme--documenter-dark .navbar-link:not(.is-arrowless) {
-    padding-right: 2.5em; }
-    html.theme--documenter-dark .navbar-link:not(.is-arrowless)::after {
-      border-color: #fff;
-      margin-top: -0.375em;
-      right: 1.125em; }
-  html.theme--documenter-dark .navbar-dropdown {
-    font-size: 0.875rem;
-    padding-bottom: 0.5rem;
-    padding-top: 0.5rem; }
-    html.theme--documenter-dark .navbar-dropdown .navbar-item {
-      padding-left: 1.5rem;
-      padding-right: 1.5rem; }
-  html.theme--documenter-dark .navbar-divider {
-    background-color: rgba(0, 0, 0, 0.2);
-    border: none;
-    display: none;
-    height: 2px;
-    margin: 0.5rem 0; }
-  @media screen and (max-width: 1055px) {
-    html.theme--documenter-dark .navbar > .container {
-      display: block; }
-    html.theme--documenter-dark .navbar-brand .navbar-item,
-    html.theme--documenter-dark .navbar-tabs .navbar-item {
-      align-items: center;
-      display: flex; }
-    html.theme--documenter-dark .navbar-link::after {
-      display: none; }
-    html.theme--documenter-dark .navbar-menu {
-      background-color: #375a7f;
-      box-shadow: 0 8px 16px rgba(10, 10, 10, 0.1);
-      padding: 0.5rem 0; }
-      html.theme--documenter-dark .navbar-menu.is-active {
-        display: block; }
-    html.theme--documenter-dark .navbar.is-fixed-bottom-touch, html.theme--documenter-dark .navbar.is-fixed-top-touch {
-      left: 0;
-      position: fixed;
-      right: 0;
-      z-index: 30; }
-    html.theme--documenter-dark .navbar.is-fixed-bottom-touch {
-      bottom: 0; }
-      html.theme--documenter-dark .navbar.is-fixed-bottom-touch.has-shadow {
-        box-shadow: 0 -2px 3px rgba(10, 10, 10, 0.1); }
-    html.theme--documenter-dark .navbar.is-fixed-top-touch {
-      top: 0; }
-    html.theme--documenter-dark .navbar.is-fixed-top .navbar-menu, html.theme--documenter-dark .navbar.is-fixed-top-touch .navbar-menu {
-      -webkit-overflow-scrolling: touch;
-      max-height: calc(100vh - 4rem);
-      overflow: auto; }
-    html.theme--documenter-dark html.has-navbar-fixed-top-touch,
-    html.theme--documenter-dark body.has-navbar-fixed-top-touch {
-      padding-top: 4rem; }
-    html.theme--documenter-dark html.has-navbar-fixed-bottom-touch,
-    html.theme--documenter-dark body.has-navbar-fixed-bottom-touch {
-      padding-bottom: 4rem; } }
-  @media screen and (min-width: 1056px) {
-    html.theme--documenter-dark .navbar,
-    html.theme--documenter-dark .navbar-menu,
-    html.theme--documenter-dark .navbar-start,
-    html.theme--documenter-dark .navbar-end {
-      align-items: stretch;
-      display: flex; }
-    html.theme--documenter-dark .navbar {
-      min-height: 4rem; }
-      html.theme--documenter-dark .navbar.is-spaced {
-        padding: 1rem 2rem; }
-        html.theme--documenter-dark .navbar.is-spaced .navbar-start,
-        html.theme--documenter-dark .navbar.is-spaced .navbar-end {
-          align-items: center; }
-        html.theme--documenter-dark .navbar.is-spaced a.navbar-item,
-        html.theme--documenter-dark .navbar.is-spaced .navbar-link {
-          border-radius: 0.4em; }
-      html.theme--documenter-dark .navbar.is-transparent a.navbar-item:focus, html.theme--documenter-dark .navbar.is-transparent a.navbar-item:hover, html.theme--documenter-dark .navbar.is-transparent a.navbar-item.is-active,
-      html.theme--documenter-dark .navbar.is-transparent .navbar-link:focus,
-      html.theme--documenter-dark .navbar.is-transparent .navbar-link:hover,
-      html.theme--documenter-dark .navbar.is-transparent .navbar-link.is-active {
-        background-color: transparent !important; }
-      html.theme--documenter-dark .navbar.is-transparent .navbar-item.has-dropdown.is-active .navbar-link, html.theme--documenter-dark .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus .navbar-link, html.theme--documenter-dark .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus-within .navbar-link, html.theme--documenter-dark .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:hover .navbar-link {
-        background-color: transparent !important; }
-      html.theme--documenter-dark .navbar.is-transparent .navbar-dropdown a.navbar-item:focus, html.theme--documenter-dark .navbar.is-transparent .navbar-dropdown a.navbar-item:hover {
-        background-color: transparent;
-        color: #dbdee0; }
-      html.theme--documenter-dark .navbar.is-transparent .navbar-dropdown a.navbar-item.is-active {
-        background-color: transparent;
-        color: #1abc9c; }
-    html.theme--documenter-dark .navbar-burger {
-      display: none; }
-    html.theme--documenter-dark .navbar-item,
-    html.theme--documenter-dark .navbar-link {
-      align-items: center;
-      display: flex; }
-    html.theme--documenter-dark .navbar-item {
-      display: flex; }
-      html.theme--documenter-dark .navbar-item.has-dropdown {
-        align-items: stretch; }
-      html.theme--documenter-dark .navbar-item.has-dropdown-up .navbar-link::after {
-        transform: rotate(135deg) translate(0.25em, -0.25em); }
-      html.theme--documenter-dark .navbar-item.has-dropdown-up .navbar-dropdown {
-        border-bottom: 1px solid rgba(0, 0, 0, 0.2);
-        border-radius: 8px 8px 0 0;
-        border-top: none;
-        bottom: 100%;
-        box-shadow: 0 -8px 8px rgba(10, 10, 10, 0.1);
-        top: auto; }
-      html.theme--documenter-dark .navbar-item.is-active .navbar-dropdown, html.theme--documenter-dark .navbar-item.is-hoverable:focus .navbar-dropdown, html.theme--documenter-dark .navbar-item.is-hoverable:focus-within .navbar-dropdown, html.theme--documenter-dark .navbar-item.is-hoverable:hover .navbar-dropdown {
-        display: block; }
-        .navbar.is-spaced html.theme--documenter-dark .navbar-item.is-active .navbar-dropdown, html.theme--documenter-dark .navbar-item.is-active .navbar-dropdown.is-boxed, .navbar.is-spaced html.theme--documenter-dark .navbar-item.is-hoverable:focus .navbar-dropdown, html.theme--documenter-dark .navbar-item.is-hoverable:focus .navbar-dropdown.is-boxed, .navbar.is-spaced html.theme--documenter-dark .navbar-item.is-hoverable:focus-within .navbar-dropdown, html.theme--documenter-dark .navbar-item.is-hoverable:focus-within .navbar-dropdown.is-boxed, .navbar.is-spaced html.theme--documenter-dark .navbar-item.is-hoverable:hover .navbar-dropdown, html.theme--documenter-dark .navbar-item.is-hoverable:hover .navbar-dropdown.is-boxed {
-          opacity: 1;
-          pointer-events: auto;
-          transform: translateY(0); }
-    html.theme--documenter-dark .navbar-menu {
-      flex-grow: 1;
-      flex-shrink: 0; }
-    html.theme--documenter-dark .navbar-start {
-      justify-content: flex-start;
-      margin-right: auto; }
-    html.theme--documenter-dark .navbar-end {
-      justify-content: flex-end;
-      margin-left: auto; }
-    html.theme--documenter-dark .navbar-dropdown {
-      background-color: #375a7f;
-      border-bottom-left-radius: 8px;
-      border-bottom-right-radius: 8px;
-      border-top: 1px solid rgba(0, 0, 0, 0.2);
-      box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1);
-      display: none;
-      font-size: 0.875rem;
-      left: 0;
-      min-width: 100%;
-      position: absolute;
-      top: 100%;
-      z-index: 20; }
-      html.theme--documenter-dark .navbar-dropdown .navbar-item {
-        padding: 0.375rem 1rem;
-        white-space: nowrap; }
-      html.theme--documenter-dark .navbar-dropdown a.navbar-item {
-        padding-right: 3rem; }
-        html.theme--documenter-dark .navbar-dropdown a.navbar-item:focus, html.theme--documenter-dark .navbar-dropdown a.navbar-item:hover {
-          background-color: transparent;
-          color: #dbdee0; }
-        html.theme--documenter-dark .navbar-dropdown a.navbar-item.is-active {
-          background-color: transparent;
-          color: #1abc9c; }
-      .navbar.is-spaced html.theme--documenter-dark .navbar-dropdown, html.theme--documenter-dark .navbar-dropdown.is-boxed {
-        border-radius: 8px;
-        border-top: none;
-        box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
-        display: block;
-        opacity: 0;
-        pointer-events: none;
-        top: calc(100% + (-4px));
-        transform: translateY(-5px);
-        transition-duration: 86ms;
-        transition-property: opacity, transform; }
-      html.theme--documenter-dark .navbar-dropdown.is-right {
-        left: auto;
-        right: 0; }
-    html.theme--documenter-dark .navbar-divider {
-      display: block; }
-    html.theme--documenter-dark .navbar > .container .navbar-brand,
-    html.theme--documenter-dark .container > .navbar .navbar-brand {
-      margin-left: -.75rem; }
-    html.theme--documenter-dark .navbar > .container .navbar-menu,
-    html.theme--documenter-dark .container > .navbar .navbar-menu {
-      margin-right: -.75rem; }
-    html.theme--documenter-dark .navbar.is-fixed-bottom-desktop, html.theme--documenter-dark .navbar.is-fixed-top-desktop {
-      left: 0;
-      position: fixed;
-      right: 0;
-      z-index: 30; }
-    html.theme--documenter-dark .navbar.is-fixed-bottom-desktop {
-      bottom: 0; }
-      html.theme--documenter-dark .navbar.is-fixed-bottom-desktop.has-shadow {
-        box-shadow: 0 -2px 3px rgba(10, 10, 10, 0.1); }
-    html.theme--documenter-dark .navbar.is-fixed-top-desktop {
-      top: 0; }
-    html.theme--documenter-dark html.has-navbar-fixed-top-desktop,
-    html.theme--documenter-dark body.has-navbar-fixed-top-desktop {
-      padding-top: 4rem; }
-    html.theme--documenter-dark html.has-navbar-fixed-bottom-desktop,
-    html.theme--documenter-dark body.has-navbar-fixed-bottom-desktop {
-      padding-bottom: 4rem; }
-    html.theme--documenter-dark html.has-spaced-navbar-fixed-top,
-    html.theme--documenter-dark body.has-spaced-navbar-fixed-top {
-      padding-top: 6rem; }
-    html.theme--documenter-dark html.has-spaced-navbar-fixed-bottom,
-    html.theme--documenter-dark body.has-spaced-navbar-fixed-bottom {
-      padding-bottom: 6rem; }
-    html.theme--documenter-dark a.navbar-item.is-active,
-    html.theme--documenter-dark .navbar-link.is-active {
-      color: #1abc9c; }
-    html.theme--documenter-dark a.navbar-item.is-active:not(:focus):not(:hover),
-    html.theme--documenter-dark .navbar-link.is-active:not(:focus):not(:hover) {
-      background-color: transparent; }
-    html.theme--documenter-dark .navbar-item.has-dropdown:focus .navbar-link, html.theme--documenter-dark .navbar-item.has-dropdown:hover .navbar-link, html.theme--documenter-dark .navbar-item.has-dropdown.is-active .navbar-link {
-      background-color: transparent; } }
-  html.theme--documenter-dark .hero.is-fullheight-with-navbar {
-    min-height: calc(100vh - 4rem); }
-  html.theme--documenter-dark .pagination {
-    font-size: 15px;
-    margin: -0.25rem; }
-    html.theme--documenter-dark .pagination.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.pagination {
-      font-size: 0.85em; }
-    html.theme--documenter-dark .pagination.is-medium {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .pagination.is-large {
-      font-size: 1.5rem; }
-    html.theme--documenter-dark .pagination.is-rounded .pagination-previous, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.pagination .pagination-previous,
-    html.theme--documenter-dark .pagination.is-rounded .pagination-next,
-    html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.pagination .pagination-next {
-      padding-left: 1em;
-      padding-right: 1em;
-      border-radius: 290486px; }
-    html.theme--documenter-dark .pagination.is-rounded .pagination-link, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.pagination .pagination-link {
-      border-radius: 290486px; }
-  html.theme--documenter-dark .pagination,
-  html.theme--documenter-dark .pagination-list {
-    align-items: center;
-    display: flex;
-    justify-content: center;
-    text-align: center; }
-  html.theme--documenter-dark .pagination-previous,
-  html.theme--documenter-dark .pagination-next,
-  html.theme--documenter-dark .pagination-link,
-  html.theme--documenter-dark .pagination-ellipsis {
-    font-size: 1em;
-    justify-content: center;
-    margin: 0.25rem;
-    padding-left: 0.5em;
-    padding-right: 0.5em;
-    text-align: center; }
-  html.theme--documenter-dark .pagination-previous,
-  html.theme--documenter-dark .pagination-next,
-  html.theme--documenter-dark .pagination-link {
-    border-color: #5e6d6f;
-    color: #1abc9c;
-    min-width: 2.25em; }
-    html.theme--documenter-dark .pagination-previous:hover,
-    html.theme--documenter-dark .pagination-next:hover,
-    html.theme--documenter-dark .pagination-link:hover {
-      border-color: #8c9b9d;
-      color: #1dd2af; }
-    html.theme--documenter-dark .pagination-previous:focus,
-    html.theme--documenter-dark .pagination-next:focus,
-    html.theme--documenter-dark .pagination-link:focus {
-      border-color: #8c9b9d; }
-    html.theme--documenter-dark .pagination-previous:active,
-    html.theme--documenter-dark .pagination-next:active,
-    html.theme--documenter-dark .pagination-link:active {
-      box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2); }
-    html.theme--documenter-dark .pagination-previous[disabled],
-    html.theme--documenter-dark .pagination-next[disabled],
-    html.theme--documenter-dark .pagination-link[disabled] {
-      background-color: #dbdee0;
-      border-color: #dbdee0;
-      box-shadow: none;
-      color: #5e6d6f;
-      opacity: 0.5; }
-  html.theme--documenter-dark .pagination-previous,
-  html.theme--documenter-dark .pagination-next {
-    padding-left: 0.75em;
-    padding-right: 0.75em;
-    white-space: nowrap; }
-  html.theme--documenter-dark .pagination-link.is-current {
-    background-color: #1abc9c;
-    border-color: #1abc9c;
-    color: #fff; }
-  html.theme--documenter-dark .pagination-ellipsis {
-    color: #8c9b9d;
-    pointer-events: none; }
-  html.theme--documenter-dark .pagination-list {
-    flex-wrap: wrap; }
-  @media screen and (max-width: 768px) {
-    html.theme--documenter-dark .pagination {
-      flex-wrap: wrap; }
-    html.theme--documenter-dark .pagination-previous,
-    html.theme--documenter-dark .pagination-next {
-      flex-grow: 1;
-      flex-shrink: 1; }
-    html.theme--documenter-dark .pagination-list li {
-      flex-grow: 1;
-      flex-shrink: 1; } }
-  @media screen and (min-width: 769px), print {
-    html.theme--documenter-dark .pagination-list {
-      flex-grow: 1;
-      flex-shrink: 1;
-      justify-content: flex-start;
-      order: 1; }
-    html.theme--documenter-dark .pagination-previous {
-      order: 2; }
-    html.theme--documenter-dark .pagination-next {
-      order: 3; }
-    html.theme--documenter-dark .pagination {
-      justify-content: space-between; }
-      html.theme--documenter-dark .pagination.is-centered .pagination-previous {
-        order: 1; }
-      html.theme--documenter-dark .pagination.is-centered .pagination-list {
-        justify-content: center;
-        order: 2; }
-      html.theme--documenter-dark .pagination.is-centered .pagination-next {
-        order: 3; }
-      html.theme--documenter-dark .pagination.is-right .pagination-previous {
-        order: 1; }
-      html.theme--documenter-dark .pagination.is-right .pagination-next {
-        order: 2; }
-      html.theme--documenter-dark .pagination.is-right .pagination-list {
-        justify-content: flex-end;
-        order: 3; } }
-  html.theme--documenter-dark .panel {
-    font-size: 15px; }
-    html.theme--documenter-dark .panel:not(:last-child) {
-      margin-bottom: 1.5rem; }
-  html.theme--documenter-dark .panel-heading,
-  html.theme--documenter-dark .panel-tabs,
-  html.theme--documenter-dark .panel-block {
-    border-bottom: 1px solid #5e6d6f;
-    border-left: 1px solid #5e6d6f;
-    border-right: 1px solid #5e6d6f; }
-    html.theme--documenter-dark .panel-heading:first-child,
-    html.theme--documenter-dark .panel-tabs:first-child,
-    html.theme--documenter-dark .panel-block:first-child {
-      border-top: 1px solid #5e6d6f; }
-  html.theme--documenter-dark .panel-heading {
-    background-color: #282f2f;
-    border-radius: 0.4em 0.4em 0 0;
-    color: #f2f2f2;
-    font-size: 1.25em;
-    font-weight: 300;
-    line-height: 1.25;
-    padding: 0.5em 0.75em; }
-  html.theme--documenter-dark .panel-tabs {
-    align-items: flex-end;
-    display: flex;
-    font-size: 0.875em;
-    justify-content: center; }
-    html.theme--documenter-dark .panel-tabs a {
-      border-bottom: 1px solid #5e6d6f;
-      margin-bottom: -1px;
-      padding: 0.5em; }
-      html.theme--documenter-dark .panel-tabs a.is-active {
-        border-bottom-color: #343c3d;
-        color: #17a689; }
-  html.theme--documenter-dark .panel-list a {
-    color: #fff; }
-    html.theme--documenter-dark .panel-list a:hover {
-      color: #1abc9c; }
-  html.theme--documenter-dark .panel-block {
-    align-items: center;
-    color: #f2f2f2;
-    display: flex;
-    justify-content: flex-start;
-    padding: 0.5em 0.75em; }
-    html.theme--documenter-dark .panel-block input[type="checkbox"] {
-      margin-right: 0.75em; }
-    html.theme--documenter-dark .panel-block > .control {
-      flex-grow: 1;
-      flex-shrink: 1;
-      width: 100%; }
-    html.theme--documenter-dark .panel-block.is-wrapped {
-      flex-wrap: wrap; }
-    html.theme--documenter-dark .panel-block.is-active {
-      border-left-color: #1abc9c;
-      color: #17a689; }
-      html.theme--documenter-dark .panel-block.is-active .panel-icon {
-        color: #1abc9c; }
-  html.theme--documenter-dark a.panel-block,
-  html.theme--documenter-dark label.panel-block {
-    cursor: pointer; }
-    html.theme--documenter-dark a.panel-block:hover,
-    html.theme--documenter-dark label.panel-block:hover {
-      background-color: #282f2f; }
-  html.theme--documenter-dark .panel-icon {
-    display: inline-block;
-    font-size: 14px;
-    height: 1em;
-    line-height: 1em;
-    text-align: center;
-    vertical-align: top;
-    width: 1em;
-    color: white;
-    margin-right: 0.75em; }
-    html.theme--documenter-dark .panel-icon .fa {
-      font-size: inherit;
-      line-height: inherit; }
-  html.theme--documenter-dark .tabs {
-    -webkit-overflow-scrolling: touch;
-    align-items: stretch;
-    display: flex;
-    font-size: 15px;
-    justify-content: space-between;
-    overflow: hidden;
-    overflow-x: auto;
-    white-space: nowrap; }
-    html.theme--documenter-dark .tabs a {
-      align-items: center;
-      border-bottom-color: #5e6d6f;
-      border-bottom-style: solid;
-      border-bottom-width: 1px;
-      color: #fff;
-      display: flex;
-      justify-content: center;
-      margin-bottom: -1px;
-      padding: 0.5em 1em;
-      vertical-align: top; }
-      html.theme--documenter-dark .tabs a:hover {
-        border-bottom-color: #f2f2f2;
-        color: #f2f2f2; }
-    html.theme--documenter-dark .tabs li {
-      display: block; }
-      html.theme--documenter-dark .tabs li.is-active a {
-        border-bottom-color: #1abc9c;
-        color: #1abc9c; }
-    html.theme--documenter-dark .tabs ul {
-      align-items: center;
-      border-bottom-color: #5e6d6f;
-      border-bottom-style: solid;
-      border-bottom-width: 1px;
-      display: flex;
-      flex-grow: 1;
-      flex-shrink: 0;
-      justify-content: flex-start; }
-      html.theme--documenter-dark .tabs ul.is-left {
-        padding-right: 0.75em; }
-      html.theme--documenter-dark .tabs ul.is-center {
-        flex: none;
-        justify-content: center;
-        padding-left: 0.75em;
-        padding-right: 0.75em; }
-      html.theme--documenter-dark .tabs ul.is-right {
-        justify-content: flex-end;
-        padding-left: 0.75em; }
-    html.theme--documenter-dark .tabs .icon:first-child {
-      margin-right: 0.5em; }
-    html.theme--documenter-dark .tabs .icon:last-child {
-      margin-left: 0.5em; }
-    html.theme--documenter-dark .tabs.is-centered ul {
-      justify-content: center; }
-    html.theme--documenter-dark .tabs.is-right ul {
-      justify-content: flex-end; }
-    html.theme--documenter-dark .tabs.is-boxed a {
-      border: 1px solid transparent;
-      border-radius: 0.4em 0.4em 0 0; }
-      html.theme--documenter-dark .tabs.is-boxed a:hover {
-        background-color: #282f2f;
-        border-bottom-color: #5e6d6f; }
-    html.theme--documenter-dark .tabs.is-boxed li.is-active a {
-      background-color: white;
-      border-color: #5e6d6f;
-      border-bottom-color: transparent !important; }
-    html.theme--documenter-dark .tabs.is-fullwidth li {
-      flex-grow: 1;
-      flex-shrink: 0; }
-    html.theme--documenter-dark .tabs.is-toggle a {
-      border-color: #5e6d6f;
-      border-style: solid;
-      border-width: 1px;
-      margin-bottom: 0;
-      position: relative; }
-      html.theme--documenter-dark .tabs.is-toggle a:hover {
-        background-color: #282f2f;
-        border-color: #8c9b9d;
-        z-index: 2; }
-    html.theme--documenter-dark .tabs.is-toggle li + li {
-      margin-left: -1px; }
-    html.theme--documenter-dark .tabs.is-toggle li:first-child a {
-      border-radius: 0.4em 0 0 0.4em; }
-    html.theme--documenter-dark .tabs.is-toggle li:last-child a {
-      border-radius: 0 0.4em 0.4em 0; }
-    html.theme--documenter-dark .tabs.is-toggle li.is-active a {
-      background-color: #1abc9c;
-      border-color: #1abc9c;
-      color: #fff;
-      z-index: 1; }
-    html.theme--documenter-dark .tabs.is-toggle ul {
-      border-bottom: none; }
-    html.theme--documenter-dark .tabs.is-toggle.is-toggle-rounded li:first-child a {
-      border-bottom-left-radius: 290486px;
-      border-top-left-radius: 290486px;
-      padding-left: 1.25em; }
-    html.theme--documenter-dark .tabs.is-toggle.is-toggle-rounded li:last-child a {
-      border-bottom-right-radius: 290486px;
-      border-top-right-radius: 290486px;
-      padding-right: 1.25em; }
-    html.theme--documenter-dark .tabs.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.tabs {
-      font-size: 0.85em; }
-    html.theme--documenter-dark .tabs.is-medium {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .tabs.is-large {
-      font-size: 1.5rem; }
-  html.theme--documenter-dark .column {
-    display: block;
-    flex-basis: 0;
-    flex-grow: 1;
-    flex-shrink: 1;
-    padding: 0.75rem; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-narrow {
-      flex: none; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-full {
-      flex: none;
-      width: 100%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-three-quarters {
-      flex: none;
-      width: 75%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-two-thirds {
-      flex: none;
-      width: 66.6666%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-half {
-      flex: none;
-      width: 50%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-one-third {
-      flex: none;
-      width: 33.3333%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-one-quarter {
-      flex: none;
-      width: 25%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-one-fifth {
-      flex: none;
-      width: 20%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-two-fifths {
-      flex: none;
-      width: 40%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-three-fifths {
-      flex: none;
-      width: 60%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-four-fifths {
-      flex: none;
-      width: 80%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-three-quarters {
-      margin-left: 75%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-two-thirds {
-      margin-left: 66.6666%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-half {
-      margin-left: 50%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-one-third {
-      margin-left: 33.3333%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-one-quarter {
-      margin-left: 25%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-one-fifth {
-      margin-left: 20%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-two-fifths {
-      margin-left: 40%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-three-fifths {
-      margin-left: 60%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-four-fifths {
-      margin-left: 80%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-0 {
-      flex: none;
-      width: 0%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-0 {
-      margin-left: 0%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-1 {
-      flex: none;
-      width: 8.3333333333%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-1 {
-      margin-left: 8.3333333333%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-2 {
-      flex: none;
-      width: 16.6666666667%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-2 {
-      margin-left: 16.6666666667%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-3 {
-      flex: none;
-      width: 25%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-3 {
-      margin-left: 25%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-4 {
-      flex: none;
-      width: 33.3333333333%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-4 {
-      margin-left: 33.3333333333%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-5 {
-      flex: none;
-      width: 41.6666666667%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-5 {
-      margin-left: 41.6666666667%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-6 {
-      flex: none;
-      width: 50%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-6 {
-      margin-left: 50%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-7 {
-      flex: none;
-      width: 58.3333333333%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-7 {
-      margin-left: 58.3333333333%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-8 {
-      flex: none;
-      width: 66.6666666667%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-8 {
-      margin-left: 66.6666666667%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-9 {
-      flex: none;
-      width: 75%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-9 {
-      margin-left: 75%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-10 {
-      flex: none;
-      width: 83.3333333333%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-10 {
-      margin-left: 83.3333333333%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-11 {
-      flex: none;
-      width: 91.6666666667%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-11 {
-      margin-left: 91.6666666667%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-12 {
-      flex: none;
-      width: 100%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-12 {
-      margin-left: 100%; }
-    @media screen and (max-width: 768px) {
-      html.theme--documenter-dark .column.is-narrow-mobile {
-        flex: none; }
-      html.theme--documenter-dark .column.is-full-mobile {
-        flex: none;
-        width: 100%; }
-      html.theme--documenter-dark .column.is-three-quarters-mobile {
-        flex: none;
-        width: 75%; }
-      html.theme--documenter-dark .column.is-two-thirds-mobile {
-        flex: none;
-        width: 66.6666%; }
-      html.theme--documenter-dark .column.is-half-mobile {
-        flex: none;
-        width: 50%; }
-      html.theme--documenter-dark .column.is-one-third-mobile {
-        flex: none;
-        width: 33.3333%; }
-      html.theme--documenter-dark .column.is-one-quarter-mobile {
-        flex: none;
-        width: 25%; }
-      html.theme--documenter-dark .column.is-one-fifth-mobile {
-        flex: none;
-        width: 20%; }
-      html.theme--documenter-dark .column.is-two-fifths-mobile {
-        flex: none;
-        width: 40%; }
-      html.theme--documenter-dark .column.is-three-fifths-mobile {
-        flex: none;
-        width: 60%; }
-      html.theme--documenter-dark .column.is-four-fifths-mobile {
-        flex: none;
-        width: 80%; }
-      html.theme--documenter-dark .column.is-offset-three-quarters-mobile {
-        margin-left: 75%; }
-      html.theme--documenter-dark .column.is-offset-two-thirds-mobile {
-        margin-left: 66.6666%; }
-      html.theme--documenter-dark .column.is-offset-half-mobile {
-        margin-left: 50%; }
-      html.theme--documenter-dark .column.is-offset-one-third-mobile {
-        margin-left: 33.3333%; }
-      html.theme--documenter-dark .column.is-offset-one-quarter-mobile {
-        margin-left: 25%; }
-      html.theme--documenter-dark .column.is-offset-one-fifth-mobile {
-        margin-left: 20%; }
-      html.theme--documenter-dark .column.is-offset-two-fifths-mobile {
-        margin-left: 40%; }
-      html.theme--documenter-dark .column.is-offset-three-fifths-mobile {
-        margin-left: 60%; }
-      html.theme--documenter-dark .column.is-offset-four-fifths-mobile {
-        margin-left: 80%; }
-      html.theme--documenter-dark .column.is-0-mobile {
-        flex: none;
-        width: 0%; }
-      html.theme--documenter-dark .column.is-offset-0-mobile {
-        margin-left: 0%; }
-      html.theme--documenter-dark .column.is-1-mobile {
-        flex: none;
-        width: 8.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-1-mobile {
-        margin-left: 8.3333333333%; }
-      html.theme--documenter-dark .column.is-2-mobile {
-        flex: none;
-        width: 16.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-2-mobile {
-        margin-left: 16.6666666667%; }
-      html.theme--documenter-dark .column.is-3-mobile {
-        flex: none;
-        width: 25%; }
-      html.theme--documenter-dark .column.is-offset-3-mobile {
-        margin-left: 25%; }
-      html.theme--documenter-dark .column.is-4-mobile {
-        flex: none;
-        width: 33.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-4-mobile {
-        margin-left: 33.3333333333%; }
-      html.theme--documenter-dark .column.is-5-mobile {
-        flex: none;
-        width: 41.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-5-mobile {
-        margin-left: 41.6666666667%; }
-      html.theme--documenter-dark .column.is-6-mobile {
-        flex: none;
-        width: 50%; }
-      html.theme--documenter-dark .column.is-offset-6-mobile {
-        margin-left: 50%; }
-      html.theme--documenter-dark .column.is-7-mobile {
-        flex: none;
-        width: 58.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-7-mobile {
-        margin-left: 58.3333333333%; }
-      html.theme--documenter-dark .column.is-8-mobile {
-        flex: none;
-        width: 66.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-8-mobile {
-        margin-left: 66.6666666667%; }
-      html.theme--documenter-dark .column.is-9-mobile {
-        flex: none;
-        width: 75%; }
-      html.theme--documenter-dark .column.is-offset-9-mobile {
-        margin-left: 75%; }
-      html.theme--documenter-dark .column.is-10-mobile {
-        flex: none;
-        width: 83.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-10-mobile {
-        margin-left: 83.3333333333%; }
-      html.theme--documenter-dark .column.is-11-mobile {
-        flex: none;
-        width: 91.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-11-mobile {
-        margin-left: 91.6666666667%; }
-      html.theme--documenter-dark .column.is-12-mobile {
-        flex: none;
-        width: 100%; }
-      html.theme--documenter-dark .column.is-offset-12-mobile {
-        margin-left: 100%; } }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .column.is-narrow, html.theme--documenter-dark .column.is-narrow-tablet {
-        flex: none; }
-      html.theme--documenter-dark .column.is-full, html.theme--documenter-dark .column.is-full-tablet {
-        flex: none;
-        width: 100%; }
-      html.theme--documenter-dark .column.is-three-quarters, html.theme--documenter-dark .column.is-three-quarters-tablet {
-        flex: none;
-        width: 75%; }
-      html.theme--documenter-dark .column.is-two-thirds, html.theme--documenter-dark .column.is-two-thirds-tablet {
-        flex: none;
-        width: 66.6666%; }
-      html.theme--documenter-dark .column.is-half, html.theme--documenter-dark .column.is-half-tablet {
-        flex: none;
-        width: 50%; }
-      html.theme--documenter-dark .column.is-one-third, html.theme--documenter-dark .column.is-one-third-tablet {
-        flex: none;
-        width: 33.3333%; }
-      html.theme--documenter-dark .column.is-one-quarter, html.theme--documenter-dark .column.is-one-quarter-tablet {
-        flex: none;
-        width: 25%; }
-      html.theme--documenter-dark .column.is-one-fifth, html.theme--documenter-dark .column.is-one-fifth-tablet {
-        flex: none;
-        width: 20%; }
-      html.theme--documenter-dark .column.is-two-fifths, html.theme--documenter-dark .column.is-two-fifths-tablet {
-        flex: none;
-        width: 40%; }
-      html.theme--documenter-dark .column.is-three-fifths, html.theme--documenter-dark .column.is-three-fifths-tablet {
-        flex: none;
-        width: 60%; }
-      html.theme--documenter-dark .column.is-four-fifths, html.theme--documenter-dark .column.is-four-fifths-tablet {
-        flex: none;
-        width: 80%; }
-      html.theme--documenter-dark .column.is-offset-three-quarters, html.theme--documenter-dark .column.is-offset-three-quarters-tablet {
-        margin-left: 75%; }
-      html.theme--documenter-dark .column.is-offset-two-thirds, html.theme--documenter-dark .column.is-offset-two-thirds-tablet {
-        margin-left: 66.6666%; }
-      html.theme--documenter-dark .column.is-offset-half, html.theme--documenter-dark .column.is-offset-half-tablet {
-        margin-left: 50%; }
-      html.theme--documenter-dark .column.is-offset-one-third, html.theme--documenter-dark .column.is-offset-one-third-tablet {
-        margin-left: 33.3333%; }
-      html.theme--documenter-dark .column.is-offset-one-quarter, html.theme--documenter-dark .column.is-offset-one-quarter-tablet {
-        margin-left: 25%; }
-      html.theme--documenter-dark .column.is-offset-one-fifth, html.theme--documenter-dark .column.is-offset-one-fifth-tablet {
-        margin-left: 20%; }
-      html.theme--documenter-dark .column.is-offset-two-fifths, html.theme--documenter-dark .column.is-offset-two-fifths-tablet {
-        margin-left: 40%; }
-      html.theme--documenter-dark .column.is-offset-three-fifths, html.theme--documenter-dark .column.is-offset-three-fifths-tablet {
-        margin-left: 60%; }
-      html.theme--documenter-dark .column.is-offset-four-fifths, html.theme--documenter-dark .column.is-offset-four-fifths-tablet {
-        margin-left: 80%; }
-      html.theme--documenter-dark .column.is-0, html.theme--documenter-dark .column.is-0-tablet {
-        flex: none;
-        width: 0%; }
-      html.theme--documenter-dark .column.is-offset-0, html.theme--documenter-dark .column.is-offset-0-tablet {
-        margin-left: 0%; }
-      html.theme--documenter-dark .column.is-1, html.theme--documenter-dark .column.is-1-tablet {
-        flex: none;
-        width: 8.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-1, html.theme--documenter-dark .column.is-offset-1-tablet {
-        margin-left: 8.3333333333%; }
-      html.theme--documenter-dark .column.is-2, html.theme--documenter-dark .column.is-2-tablet {
-        flex: none;
-        width: 16.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-2, html.theme--documenter-dark .column.is-offset-2-tablet {
-        margin-left: 16.6666666667%; }
-      html.theme--documenter-dark .column.is-3, html.theme--documenter-dark .column.is-3-tablet {
-        flex: none;
-        width: 25%; }
-      html.theme--documenter-dark .column.is-offset-3, html.theme--documenter-dark .column.is-offset-3-tablet {
-        margin-left: 25%; }
-      html.theme--documenter-dark .column.is-4, html.theme--documenter-dark .column.is-4-tablet {
-        flex: none;
-        width: 33.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-4, html.theme--documenter-dark .column.is-offset-4-tablet {
-        margin-left: 33.3333333333%; }
-      html.theme--documenter-dark .column.is-5, html.theme--documenter-dark .column.is-5-tablet {
-        flex: none;
-        width: 41.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-5, html.theme--documenter-dark .column.is-offset-5-tablet {
-        margin-left: 41.6666666667%; }
-      html.theme--documenter-dark .column.is-6, html.theme--documenter-dark .column.is-6-tablet {
-        flex: none;
-        width: 50%; }
-      html.theme--documenter-dark .column.is-offset-6, html.theme--documenter-dark .column.is-offset-6-tablet {
-        margin-left: 50%; }
-      html.theme--documenter-dark .column.is-7, html.theme--documenter-dark .column.is-7-tablet {
-        flex: none;
-        width: 58.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-7, html.theme--documenter-dark .column.is-offset-7-tablet {
-        margin-left: 58.3333333333%; }
-      html.theme--documenter-dark .column.is-8, html.theme--documenter-dark .column.is-8-tablet {
-        flex: none;
-        width: 66.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-8, html.theme--documenter-dark .column.is-offset-8-tablet {
-        margin-left: 66.6666666667%; }
-      html.theme--documenter-dark .column.is-9, html.theme--documenter-dark .column.is-9-tablet {
-        flex: none;
-        width: 75%; }
-      html.theme--documenter-dark .column.is-offset-9, html.theme--documenter-dark .column.is-offset-9-tablet {
-        margin-left: 75%; }
-      html.theme--documenter-dark .column.is-10, html.theme--documenter-dark .column.is-10-tablet {
-        flex: none;
-        width: 83.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-10, html.theme--documenter-dark .column.is-offset-10-tablet {
-        margin-left: 83.3333333333%; }
-      html.theme--documenter-dark .column.is-11, html.theme--documenter-dark .column.is-11-tablet {
-        flex: none;
-        width: 91.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-11, html.theme--documenter-dark .column.is-offset-11-tablet {
-        margin-left: 91.6666666667%; }
-      html.theme--documenter-dark .column.is-12, html.theme--documenter-dark .column.is-12-tablet {
-        flex: none;
-        width: 100%; }
-      html.theme--documenter-dark .column.is-offset-12, html.theme--documenter-dark .column.is-offset-12-tablet {
-        margin-left: 100%; } }
-    @media screen and (max-width: 1055px) {
-      html.theme--documenter-dark .column.is-narrow-touch {
-        flex: none; }
-      html.theme--documenter-dark .column.is-full-touch {
-        flex: none;
-        width: 100%; }
-      html.theme--documenter-dark .column.is-three-quarters-touch {
-        flex: none;
-        width: 75%; }
-      html.theme--documenter-dark .column.is-two-thirds-touch {
-        flex: none;
-        width: 66.6666%; }
-      html.theme--documenter-dark .column.is-half-touch {
-        flex: none;
-        width: 50%; }
-      html.theme--documenter-dark .column.is-one-third-touch {
-        flex: none;
-        width: 33.3333%; }
-      html.theme--documenter-dark .column.is-one-quarter-touch {
-        flex: none;
-        width: 25%; }
-      html.theme--documenter-dark .column.is-one-fifth-touch {
-        flex: none;
-        width: 20%; }
-      html.theme--documenter-dark .column.is-two-fifths-touch {
-        flex: none;
-        width: 40%; }
-      html.theme--documenter-dark .column.is-three-fifths-touch {
-        flex: none;
-        width: 60%; }
-      html.theme--documenter-dark .column.is-four-fifths-touch {
-        flex: none;
-        width: 80%; }
-      html.theme--documenter-dark .column.is-offset-three-quarters-touch {
-        margin-left: 75%; }
-      html.theme--documenter-dark .column.is-offset-two-thirds-touch {
-        margin-left: 66.6666%; }
-      html.theme--documenter-dark .column.is-offset-half-touch {
-        margin-left: 50%; }
-      html.theme--documenter-dark .column.is-offset-one-third-touch {
-        margin-left: 33.3333%; }
-      html.theme--documenter-dark .column.is-offset-one-quarter-touch {
-        margin-left: 25%; }
-      html.theme--documenter-dark .column.is-offset-one-fifth-touch {
-        margin-left: 20%; }
-      html.theme--documenter-dark .column.is-offset-two-fifths-touch {
-        margin-left: 40%; }
-      html.theme--documenter-dark .column.is-offset-three-fifths-touch {
-        margin-left: 60%; }
-      html.theme--documenter-dark .column.is-offset-four-fifths-touch {
-        margin-left: 80%; }
-      html.theme--documenter-dark .column.is-0-touch {
-        flex: none;
-        width: 0%; }
-      html.theme--documenter-dark .column.is-offset-0-touch {
-        margin-left: 0%; }
-      html.theme--documenter-dark .column.is-1-touch {
-        flex: none;
-        width: 8.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-1-touch {
-        margin-left: 8.3333333333%; }
-      html.theme--documenter-dark .column.is-2-touch {
-        flex: none;
-        width: 16.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-2-touch {
-        margin-left: 16.6666666667%; }
-      html.theme--documenter-dark .column.is-3-touch {
-        flex: none;
-        width: 25%; }
-      html.theme--documenter-dark .column.is-offset-3-touch {
-        margin-left: 25%; }
-      html.theme--documenter-dark .column.is-4-touch {
-        flex: none;
-        width: 33.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-4-touch {
-        margin-left: 33.3333333333%; }
-      html.theme--documenter-dark .column.is-5-touch {
-        flex: none;
-        width: 41.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-5-touch {
-        margin-left: 41.6666666667%; }
-      html.theme--documenter-dark .column.is-6-touch {
-        flex: none;
-        width: 50%; }
-      html.theme--documenter-dark .column.is-offset-6-touch {
-        margin-left: 50%; }
-      html.theme--documenter-dark .column.is-7-touch {
-        flex: none;
-        width: 58.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-7-touch {
-        margin-left: 58.3333333333%; }
-      html.theme--documenter-dark .column.is-8-touch {
-        flex: none;
-        width: 66.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-8-touch {
-        margin-left: 66.6666666667%; }
-      html.theme--documenter-dark .column.is-9-touch {
-        flex: none;
-        width: 75%; }
-      html.theme--documenter-dark .column.is-offset-9-touch {
-        margin-left: 75%; }
-      html.theme--documenter-dark .column.is-10-touch {
-        flex: none;
-        width: 83.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-10-touch {
-        margin-left: 83.3333333333%; }
-      html.theme--documenter-dark .column.is-11-touch {
-        flex: none;
-        width: 91.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-11-touch {
-        margin-left: 91.6666666667%; }
-      html.theme--documenter-dark .column.is-12-touch {
-        flex: none;
-        width: 100%; }
-      html.theme--documenter-dark .column.is-offset-12-touch {
-        margin-left: 100%; } }
-    @media screen and (min-width: 1056px) {
-      html.theme--documenter-dark .column.is-narrow-desktop {
-        flex: none; }
-      html.theme--documenter-dark .column.is-full-desktop {
-        flex: none;
-        width: 100%; }
-      html.theme--documenter-dark .column.is-three-quarters-desktop {
-        flex: none;
-        width: 75%; }
-      html.theme--documenter-dark .column.is-two-thirds-desktop {
-        flex: none;
-        width: 66.6666%; }
-      html.theme--documenter-dark .column.is-half-desktop {
-        flex: none;
-        width: 50%; }
-      html.theme--documenter-dark .column.is-one-third-desktop {
-        flex: none;
-        width: 33.3333%; }
-      html.theme--documenter-dark .column.is-one-quarter-desktop {
-        flex: none;
-        width: 25%; }
-      html.theme--documenter-dark .column.is-one-fifth-desktop {
-        flex: none;
-        width: 20%; }
-      html.theme--documenter-dark .column.is-two-fifths-desktop {
-        flex: none;
-        width: 40%; }
-      html.theme--documenter-dark .column.is-three-fifths-desktop {
-        flex: none;
-        width: 60%; }
-      html.theme--documenter-dark .column.is-four-fifths-desktop {
-        flex: none;
-        width: 80%; }
-      html.theme--documenter-dark .column.is-offset-three-quarters-desktop {
-        margin-left: 75%; }
-      html.theme--documenter-dark .column.is-offset-two-thirds-desktop {
-        margin-left: 66.6666%; }
-      html.theme--documenter-dark .column.is-offset-half-desktop {
-        margin-left: 50%; }
-      html.theme--documenter-dark .column.is-offset-one-third-desktop {
-        margin-left: 33.3333%; }
-      html.theme--documenter-dark .column.is-offset-one-quarter-desktop {
-        margin-left: 25%; }
-      html.theme--documenter-dark .column.is-offset-one-fifth-desktop {
-        margin-left: 20%; }
-      html.theme--documenter-dark .column.is-offset-two-fifths-desktop {
-        margin-left: 40%; }
-      html.theme--documenter-dark .column.is-offset-three-fifths-desktop {
-        margin-left: 60%; }
-      html.theme--documenter-dark .column.is-offset-four-fifths-desktop {
-        margin-left: 80%; }
-      html.theme--documenter-dark .column.is-0-desktop {
-        flex: none;
-        width: 0%; }
-      html.theme--documenter-dark .column.is-offset-0-desktop {
-        margin-left: 0%; }
-      html.theme--documenter-dark .column.is-1-desktop {
-        flex: none;
-        width: 8.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-1-desktop {
-        margin-left: 8.3333333333%; }
-      html.theme--documenter-dark .column.is-2-desktop {
-        flex: none;
-        width: 16.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-2-desktop {
-        margin-left: 16.6666666667%; }
-      html.theme--documenter-dark .column.is-3-desktop {
-        flex: none;
-        width: 25%; }
-      html.theme--documenter-dark .column.is-offset-3-desktop {
-        margin-left: 25%; }
-      html.theme--documenter-dark .column.is-4-desktop {
-        flex: none;
-        width: 33.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-4-desktop {
-        margin-left: 33.3333333333%; }
-      html.theme--documenter-dark .column.is-5-desktop {
-        flex: none;
-        width: 41.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-5-desktop {
-        margin-left: 41.6666666667%; }
-      html.theme--documenter-dark .column.is-6-desktop {
-        flex: none;
-        width: 50%; }
-      html.theme--documenter-dark .column.is-offset-6-desktop {
-        margin-left: 50%; }
-      html.theme--documenter-dark .column.is-7-desktop {
-        flex: none;
-        width: 58.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-7-desktop {
-        margin-left: 58.3333333333%; }
-      html.theme--documenter-dark .column.is-8-desktop {
-        flex: none;
-        width: 66.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-8-desktop {
-        margin-left: 66.6666666667%; }
-      html.theme--documenter-dark .column.is-9-desktop {
-        flex: none;
-        width: 75%; }
-      html.theme--documenter-dark .column.is-offset-9-desktop {
-        margin-left: 75%; }
-      html.theme--documenter-dark .column.is-10-desktop {
-        flex: none;
-        width: 83.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-10-desktop {
-        margin-left: 83.3333333333%; }
-      html.theme--documenter-dark .column.is-11-desktop {
-        flex: none;
-        width: 91.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-11-desktop {
-        margin-left: 91.6666666667%; }
-      html.theme--documenter-dark .column.is-12-desktop {
-        flex: none;
-        width: 100%; }
-      html.theme--documenter-dark .column.is-offset-12-desktop {
-        margin-left: 100%; } }
-    @media screen and (min-width: 1216px) {
-      html.theme--documenter-dark .column.is-narrow-widescreen {
-        flex: none; }
-      html.theme--documenter-dark .column.is-full-widescreen {
-        flex: none;
-        width: 100%; }
-      html.theme--documenter-dark .column.is-three-quarters-widescreen {
-        flex: none;
-        width: 75%; }
-      html.theme--documenter-dark .column.is-two-thirds-widescreen {
-        flex: none;
-        width: 66.6666%; }
-      html.theme--documenter-dark .column.is-half-widescreen {
-        flex: none;
-        width: 50%; }
-      html.theme--documenter-dark .column.is-one-third-widescreen {
-        flex: none;
-        width: 33.3333%; }
-      html.theme--documenter-dark .column.is-one-quarter-widescreen {
-        flex: none;
-        width: 25%; }
-      html.theme--documenter-dark .column.is-one-fifth-widescreen {
-        flex: none;
-        width: 20%; }
-      html.theme--documenter-dark .column.is-two-fifths-widescreen {
-        flex: none;
-        width: 40%; }
-      html.theme--documenter-dark .column.is-three-fifths-widescreen {
-        flex: none;
-        width: 60%; }
-      html.theme--documenter-dark .column.is-four-fifths-widescreen {
-        flex: none;
-        width: 80%; }
-      html.theme--documenter-dark .column.is-offset-three-quarters-widescreen {
-        margin-left: 75%; }
-      html.theme--documenter-dark .column.is-offset-two-thirds-widescreen {
-        margin-left: 66.6666%; }
-      html.theme--documenter-dark .column.is-offset-half-widescreen {
-        margin-left: 50%; }
-      html.theme--documenter-dark .column.is-offset-one-third-widescreen {
-        margin-left: 33.3333%; }
-      html.theme--documenter-dark .column.is-offset-one-quarter-widescreen {
-        margin-left: 25%; }
-      html.theme--documenter-dark .column.is-offset-one-fifth-widescreen {
-        margin-left: 20%; }
-      html.theme--documenter-dark .column.is-offset-two-fifths-widescreen {
-        margin-left: 40%; }
-      html.theme--documenter-dark .column.is-offset-three-fifths-widescreen {
-        margin-left: 60%; }
-      html.theme--documenter-dark .column.is-offset-four-fifths-widescreen {
-        margin-left: 80%; }
-      html.theme--documenter-dark .column.is-0-widescreen {
-        flex: none;
-        width: 0%; }
-      html.theme--documenter-dark .column.is-offset-0-widescreen {
-        margin-left: 0%; }
-      html.theme--documenter-dark .column.is-1-widescreen {
-        flex: none;
-        width: 8.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-1-widescreen {
-        margin-left: 8.3333333333%; }
-      html.theme--documenter-dark .column.is-2-widescreen {
-        flex: none;
-        width: 16.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-2-widescreen {
-        margin-left: 16.6666666667%; }
-      html.theme--documenter-dark .column.is-3-widescreen {
-        flex: none;
-        width: 25%; }
-      html.theme--documenter-dark .column.is-offset-3-widescreen {
-        margin-left: 25%; }
-      html.theme--documenter-dark .column.is-4-widescreen {
-        flex: none;
-        width: 33.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-4-widescreen {
-        margin-left: 33.3333333333%; }
-      html.theme--documenter-dark .column.is-5-widescreen {
-        flex: none;
-        width: 41.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-5-widescreen {
-        margin-left: 41.6666666667%; }
-      html.theme--documenter-dark .column.is-6-widescreen {
-        flex: none;
-        width: 50%; }
-      html.theme--documenter-dark .column.is-offset-6-widescreen {
-        margin-left: 50%; }
-      html.theme--documenter-dark .column.is-7-widescreen {
-        flex: none;
-        width: 58.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-7-widescreen {
-        margin-left: 58.3333333333%; }
-      html.theme--documenter-dark .column.is-8-widescreen {
-        flex: none;
-        width: 66.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-8-widescreen {
-        margin-left: 66.6666666667%; }
-      html.theme--documenter-dark .column.is-9-widescreen {
-        flex: none;
-        width: 75%; }
-      html.theme--documenter-dark .column.is-offset-9-widescreen {
-        margin-left: 75%; }
-      html.theme--documenter-dark .column.is-10-widescreen {
-        flex: none;
-        width: 83.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-10-widescreen {
-        margin-left: 83.3333333333%; }
-      html.theme--documenter-dark .column.is-11-widescreen {
-        flex: none;
-        width: 91.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-11-widescreen {
-        margin-left: 91.6666666667%; }
-      html.theme--documenter-dark .column.is-12-widescreen {
-        flex: none;
-        width: 100%; }
-      html.theme--documenter-dark .column.is-offset-12-widescreen {
-        margin-left: 100%; } }
-    @media screen and (min-width: 1408px) {
-      html.theme--documenter-dark .column.is-narrow-fullhd {
-        flex: none; }
-      html.theme--documenter-dark .column.is-full-fullhd {
-        flex: none;
-        width: 100%; }
-      html.theme--documenter-dark .column.is-three-quarters-fullhd {
-        flex: none;
-        width: 75%; }
-      html.theme--documenter-dark .column.is-two-thirds-fullhd {
-        flex: none;
-        width: 66.6666%; }
-      html.theme--documenter-dark .column.is-half-fullhd {
-        flex: none;
-        width: 50%; }
-      html.theme--documenter-dark .column.is-one-third-fullhd {
-        flex: none;
-        width: 33.3333%; }
-      html.theme--documenter-dark .column.is-one-quarter-fullhd {
-        flex: none;
-        width: 25%; }
-      html.theme--documenter-dark .column.is-one-fifth-fullhd {
-        flex: none;
-        width: 20%; }
-      html.theme--documenter-dark .column.is-two-fifths-fullhd {
-        flex: none;
-        width: 40%; }
-      html.theme--documenter-dark .column.is-three-fifths-fullhd {
-        flex: none;
-        width: 60%; }
-      html.theme--documenter-dark .column.is-four-fifths-fullhd {
-        flex: none;
-        width: 80%; }
-      html.theme--documenter-dark .column.is-offset-three-quarters-fullhd {
-        margin-left: 75%; }
-      html.theme--documenter-dark .column.is-offset-two-thirds-fullhd {
-        margin-left: 66.6666%; }
-      html.theme--documenter-dark .column.is-offset-half-fullhd {
-        margin-left: 50%; }
-      html.theme--documenter-dark .column.is-offset-one-third-fullhd {
-        margin-left: 33.3333%; }
-      html.theme--documenter-dark .column.is-offset-one-quarter-fullhd {
-        margin-left: 25%; }
-      html.theme--documenter-dark .column.is-offset-one-fifth-fullhd {
-        margin-left: 20%; }
-      html.theme--documenter-dark .column.is-offset-two-fifths-fullhd {
-        margin-left: 40%; }
-      html.theme--documenter-dark .column.is-offset-three-fifths-fullhd {
-        margin-left: 60%; }
-      html.theme--documenter-dark .column.is-offset-four-fifths-fullhd {
-        margin-left: 80%; }
-      html.theme--documenter-dark .column.is-0-fullhd {
-        flex: none;
-        width: 0%; }
-      html.theme--documenter-dark .column.is-offset-0-fullhd {
-        margin-left: 0%; }
-      html.theme--documenter-dark .column.is-1-fullhd {
-        flex: none;
-        width: 8.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-1-fullhd {
-        margin-left: 8.3333333333%; }
-      html.theme--documenter-dark .column.is-2-fullhd {
-        flex: none;
-        width: 16.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-2-fullhd {
-        margin-left: 16.6666666667%; }
-      html.theme--documenter-dark .column.is-3-fullhd {
-        flex: none;
-        width: 25%; }
-      html.theme--documenter-dark .column.is-offset-3-fullhd {
-        margin-left: 25%; }
-      html.theme--documenter-dark .column.is-4-fullhd {
-        flex: none;
-        width: 33.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-4-fullhd {
-        margin-left: 33.3333333333%; }
-      html.theme--documenter-dark .column.is-5-fullhd {
-        flex: none;
-        width: 41.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-5-fullhd {
-        margin-left: 41.6666666667%; }
-      html.theme--documenter-dark .column.is-6-fullhd {
-        flex: none;
-        width: 50%; }
-      html.theme--documenter-dark .column.is-offset-6-fullhd {
-        margin-left: 50%; }
-      html.theme--documenter-dark .column.is-7-fullhd {
-        flex: none;
-        width: 58.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-7-fullhd {
-        margin-left: 58.3333333333%; }
-      html.theme--documenter-dark .column.is-8-fullhd {
-        flex: none;
-        width: 66.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-8-fullhd {
-        margin-left: 66.6666666667%; }
-      html.theme--documenter-dark .column.is-9-fullhd {
-        flex: none;
-        width: 75%; }
-      html.theme--documenter-dark .column.is-offset-9-fullhd {
-        margin-left: 75%; }
-      html.theme--documenter-dark .column.is-10-fullhd {
-        flex: none;
-        width: 83.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-10-fullhd {
-        margin-left: 83.3333333333%; }
-      html.theme--documenter-dark .column.is-11-fullhd {
-        flex: none;
-        width: 91.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-11-fullhd {
-        margin-left: 91.6666666667%; }
-      html.theme--documenter-dark .column.is-12-fullhd {
-        flex: none;
-        width: 100%; }
-      html.theme--documenter-dark .column.is-offset-12-fullhd {
-        margin-left: 100%; } }
-  html.theme--documenter-dark .columns {
-    margin-left: -0.75rem;
-    margin-right: -0.75rem;
-    margin-top: -0.75rem; }
-    html.theme--documenter-dark .columns:last-child {
-      margin-bottom: -0.75rem; }
-    html.theme--documenter-dark .columns:not(:last-child) {
-      margin-bottom: calc(1.5rem - 0.75rem); }
-    html.theme--documenter-dark .columns.is-centered {
-      justify-content: center; }
-    html.theme--documenter-dark .columns.is-gapless {
-      margin-left: 0;
-      margin-right: 0;
-      margin-top: 0; }
-      html.theme--documenter-dark .columns.is-gapless > .column {
-        margin: 0;
-        padding: 0 !important; }
-      html.theme--documenter-dark .columns.is-gapless:not(:last-child) {
-        margin-bottom: 1.5rem; }
-      html.theme--documenter-dark .columns.is-gapless:last-child {
-        margin-bottom: 0; }
-    html.theme--documenter-dark .columns.is-mobile {
-      display: flex; }
-    html.theme--documenter-dark .columns.is-multiline {
-      flex-wrap: wrap; }
-    html.theme--documenter-dark .columns.is-vcentered {
-      align-items: center; }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .columns:not(.is-desktop) {
-        display: flex; } }
-    @media screen and (min-width: 1056px) {
-      html.theme--documenter-dark .columns.is-desktop {
-        display: flex; } }
-  html.theme--documenter-dark .columns.is-variable {
-    --columnGap: 0.75rem;
-    margin-left: calc(-1 * var(--columnGap));
-    margin-right: calc(-1 * var(--columnGap)); }
-    html.theme--documenter-dark .columns.is-variable .column {
-      padding-left: var(--columnGap);
-      padding-right: var(--columnGap); }
-    html.theme--documenter-dark .columns.is-variable.is-0 {
-      --columnGap: 0rem; }
-    @media screen and (max-width: 768px) {
-      html.theme--documenter-dark .columns.is-variable.is-0-mobile {
-        --columnGap: 0rem; } }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .columns.is-variable.is-0-tablet {
-        --columnGap: 0rem; } }
-    @media screen and (min-width: 769px) and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-0-tablet-only {
-        --columnGap: 0rem; } }
-    @media screen and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-0-touch {
-        --columnGap: 0rem; } }
-    @media screen and (min-width: 1056px) {
-      html.theme--documenter-dark .columns.is-variable.is-0-desktop {
-        --columnGap: 0rem; } }
-    @media screen and (min-width: 1056px) and (max-width: 1215px) {
-      html.theme--documenter-dark .columns.is-variable.is-0-desktop-only {
-        --columnGap: 0rem; } }
-    @media screen and (min-width: 1216px) {
-      html.theme--documenter-dark .columns.is-variable.is-0-widescreen {
-        --columnGap: 0rem; } }
-    @media screen and (min-width: 1216px) and (max-width: 1407px) {
-      html.theme--documenter-dark .columns.is-variable.is-0-widescreen-only {
-        --columnGap: 0rem; } }
-    @media screen and (min-width: 1408px) {
-      html.theme--documenter-dark .columns.is-variable.is-0-fullhd {
-        --columnGap: 0rem; } }
-    html.theme--documenter-dark .columns.is-variable.is-1 {
-      --columnGap: 0.25rem; }
-    @media screen and (max-width: 768px) {
-      html.theme--documenter-dark .columns.is-variable.is-1-mobile {
-        --columnGap: 0.25rem; } }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .columns.is-variable.is-1-tablet {
-        --columnGap: 0.25rem; } }
-    @media screen and (min-width: 769px) and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-1-tablet-only {
-        --columnGap: 0.25rem; } }
-    @media screen and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-1-touch {
-        --columnGap: 0.25rem; } }
-    @media screen and (min-width: 1056px) {
-      html.theme--documenter-dark .columns.is-variable.is-1-desktop {
-        --columnGap: 0.25rem; } }
-    @media screen and (min-width: 1056px) and (max-width: 1215px) {
-      html.theme--documenter-dark .columns.is-variable.is-1-desktop-only {
-        --columnGap: 0.25rem; } }
-    @media screen and (min-width: 1216px) {
-      html.theme--documenter-dark .columns.is-variable.is-1-widescreen {
-        --columnGap: 0.25rem; } }
-    @media screen and (min-width: 1216px) and (max-width: 1407px) {
-      html.theme--documenter-dark .columns.is-variable.is-1-widescreen-only {
-        --columnGap: 0.25rem; } }
-    @media screen and (min-width: 1408px) {
-      html.theme--documenter-dark .columns.is-variable.is-1-fullhd {
-        --columnGap: 0.25rem; } }
-    html.theme--documenter-dark .columns.is-variable.is-2 {
-      --columnGap: 0.5rem; }
-    @media screen and (max-width: 768px) {
-      html.theme--documenter-dark .columns.is-variable.is-2-mobile {
-        --columnGap: 0.5rem; } }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .columns.is-variable.is-2-tablet {
-        --columnGap: 0.5rem; } }
-    @media screen and (min-width: 769px) and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-2-tablet-only {
-        --columnGap: 0.5rem; } }
-    @media screen and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-2-touch {
-        --columnGap: 0.5rem; } }
-    @media screen and (min-width: 1056px) {
-      html.theme--documenter-dark .columns.is-variable.is-2-desktop {
-        --columnGap: 0.5rem; } }
-    @media screen and (min-width: 1056px) and (max-width: 1215px) {
-      html.theme--documenter-dark .columns.is-variable.is-2-desktop-only {
-        --columnGap: 0.5rem; } }
-    @media screen and (min-width: 1216px) {
-      html.theme--documenter-dark .columns.is-variable.is-2-widescreen {
-        --columnGap: 0.5rem; } }
-    @media screen and (min-width: 1216px) and (max-width: 1407px) {
-      html.theme--documenter-dark .columns.is-variable.is-2-widescreen-only {
-        --columnGap: 0.5rem; } }
-    @media screen and (min-width: 1408px) {
-      html.theme--documenter-dark .columns.is-variable.is-2-fullhd {
-        --columnGap: 0.5rem; } }
-    html.theme--documenter-dark .columns.is-variable.is-3 {
-      --columnGap: 0.75rem; }
-    @media screen and (max-width: 768px) {
-      html.theme--documenter-dark .columns.is-variable.is-3-mobile {
-        --columnGap: 0.75rem; } }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .columns.is-variable.is-3-tablet {
-        --columnGap: 0.75rem; } }
-    @media screen and (min-width: 769px) and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-3-tablet-only {
-        --columnGap: 0.75rem; } }
-    @media screen and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-3-touch {
-        --columnGap: 0.75rem; } }
-    @media screen and (min-width: 1056px) {
-      html.theme--documenter-dark .columns.is-variable.is-3-desktop {
-        --columnGap: 0.75rem; } }
-    @media screen and (min-width: 1056px) and (max-width: 1215px) {
-      html.theme--documenter-dark .columns.is-variable.is-3-desktop-only {
-        --columnGap: 0.75rem; } }
-    @media screen and (min-width: 1216px) {
-      html.theme--documenter-dark .columns.is-variable.is-3-widescreen {
-        --columnGap: 0.75rem; } }
-    @media screen and (min-width: 1216px) and (max-width: 1407px) {
-      html.theme--documenter-dark .columns.is-variable.is-3-widescreen-only {
-        --columnGap: 0.75rem; } }
-    @media screen and (min-width: 1408px) {
-      html.theme--documenter-dark .columns.is-variable.is-3-fullhd {
-        --columnGap: 0.75rem; } }
-    html.theme--documenter-dark .columns.is-variable.is-4 {
-      --columnGap: 1rem; }
-    @media screen and (max-width: 768px) {
-      html.theme--documenter-dark .columns.is-variable.is-4-mobile {
-        --columnGap: 1rem; } }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .columns.is-variable.is-4-tablet {
-        --columnGap: 1rem; } }
-    @media screen and (min-width: 769px) and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-4-tablet-only {
-        --columnGap: 1rem; } }
-    @media screen and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-4-touch {
-        --columnGap: 1rem; } }
-    @media screen and (min-width: 1056px) {
-      html.theme--documenter-dark .columns.is-variable.is-4-desktop {
-        --columnGap: 1rem; } }
-    @media screen and (min-width: 1056px) and (max-width: 1215px) {
-      html.theme--documenter-dark .columns.is-variable.is-4-desktop-only {
-        --columnGap: 1rem; } }
-    @media screen and (min-width: 1216px) {
-      html.theme--documenter-dark .columns.is-variable.is-4-widescreen {
-        --columnGap: 1rem; } }
-    @media screen and (min-width: 1216px) and (max-width: 1407px) {
-      html.theme--documenter-dark .columns.is-variable.is-4-widescreen-only {
-        --columnGap: 1rem; } }
-    @media screen and (min-width: 1408px) {
-      html.theme--documenter-dark .columns.is-variable.is-4-fullhd {
-        --columnGap: 1rem; } }
-    html.theme--documenter-dark .columns.is-variable.is-5 {
-      --columnGap: 1.25rem; }
-    @media screen and (max-width: 768px) {
-      html.theme--documenter-dark .columns.is-variable.is-5-mobile {
-        --columnGap: 1.25rem; } }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .columns.is-variable.is-5-tablet {
-        --columnGap: 1.25rem; } }
-    @media screen and (min-width: 769px) and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-5-tablet-only {
-        --columnGap: 1.25rem; } }
-    @media screen and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-5-touch {
-        --columnGap: 1.25rem; } }
-    @media screen and (min-width: 1056px) {
-      html.theme--documenter-dark .columns.is-variable.is-5-desktop {
-        --columnGap: 1.25rem; } }
-    @media screen and (min-width: 1056px) and (max-width: 1215px) {
-      html.theme--documenter-dark .columns.is-variable.is-5-desktop-only {
-        --columnGap: 1.25rem; } }
-    @media screen and (min-width: 1216px) {
-      html.theme--documenter-dark .columns.is-variable.is-5-widescreen {
-        --columnGap: 1.25rem; } }
-    @media screen and (min-width: 1216px) and (max-width: 1407px) {
-      html.theme--documenter-dark .columns.is-variable.is-5-widescreen-only {
-        --columnGap: 1.25rem; } }
-    @media screen and (min-width: 1408px) {
-      html.theme--documenter-dark .columns.is-variable.is-5-fullhd {
-        --columnGap: 1.25rem; } }
-    html.theme--documenter-dark .columns.is-variable.is-6 {
-      --columnGap: 1.5rem; }
-    @media screen and (max-width: 768px) {
-      html.theme--documenter-dark .columns.is-variable.is-6-mobile {
-        --columnGap: 1.5rem; } }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .columns.is-variable.is-6-tablet {
-        --columnGap: 1.5rem; } }
-    @media screen and (min-width: 769px) and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-6-tablet-only {
-        --columnGap: 1.5rem; } }
-    @media screen and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-6-touch {
-        --columnGap: 1.5rem; } }
-    @media screen and (min-width: 1056px) {
-      html.theme--documenter-dark .columns.is-variable.is-6-desktop {
-        --columnGap: 1.5rem; } }
-    @media screen and (min-width: 1056px) and (max-width: 1215px) {
-      html.theme--documenter-dark .columns.is-variable.is-6-desktop-only {
-        --columnGap: 1.5rem; } }
-    @media screen and (min-width: 1216px) {
-      html.theme--documenter-dark .columns.is-variable.is-6-widescreen {
-        --columnGap: 1.5rem; } }
-    @media screen and (min-width: 1216px) and (max-width: 1407px) {
-      html.theme--documenter-dark .columns.is-variable.is-6-widescreen-only {
-        --columnGap: 1.5rem; } }
-    @media screen and (min-width: 1408px) {
-      html.theme--documenter-dark .columns.is-variable.is-6-fullhd {
-        --columnGap: 1.5rem; } }
-    html.theme--documenter-dark .columns.is-variable.is-7 {
-      --columnGap: 1.75rem; }
-    @media screen and (max-width: 768px) {
-      html.theme--documenter-dark .columns.is-variable.is-7-mobile {
-        --columnGap: 1.75rem; } }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .columns.is-variable.is-7-tablet {
-        --columnGap: 1.75rem; } }
-    @media screen and (min-width: 769px) and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-7-tablet-only {
-        --columnGap: 1.75rem; } }
-    @media screen and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-7-touch {
-        --columnGap: 1.75rem; } }
-    @media screen and (min-width: 1056px) {
-      html.theme--documenter-dark .columns.is-variable.is-7-desktop {
-        --columnGap: 1.75rem; } }
-    @media screen and (min-width: 1056px) and (max-width: 1215px) {
-      html.theme--documenter-dark .columns.is-variable.is-7-desktop-only {
-        --columnGap: 1.75rem; } }
-    @media screen and (min-width: 1216px) {
-      html.theme--documenter-dark .columns.is-variable.is-7-widescreen {
-        --columnGap: 1.75rem; } }
-    @media screen and (min-width: 1216px) and (max-width: 1407px) {
-      html.theme--documenter-dark .columns.is-variable.is-7-widescreen-only {
-        --columnGap: 1.75rem; } }
-    @media screen and (min-width: 1408px) {
-      html.theme--documenter-dark .columns.is-variable.is-7-fullhd {
-        --columnGap: 1.75rem; } }
-    html.theme--documenter-dark .columns.is-variable.is-8 {
-      --columnGap: 2rem; }
-    @media screen and (max-width: 768px) {
-      html.theme--documenter-dark .columns.is-variable.is-8-mobile {
-        --columnGap: 2rem; } }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .columns.is-variable.is-8-tablet {
-        --columnGap: 2rem; } }
-    @media screen and (min-width: 769px) and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-8-tablet-only {
-        --columnGap: 2rem; } }
-    @media screen and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-8-touch {
-        --columnGap: 2rem; } }
-    @media screen and (min-width: 1056px) {
-      html.theme--documenter-dark .columns.is-variable.is-8-desktop {
-        --columnGap: 2rem; } }
-    @media screen and (min-width: 1056px) and (max-width: 1215px) {
-      html.theme--documenter-dark .columns.is-variable.is-8-desktop-only {
-        --columnGap: 2rem; } }
-    @media screen and (min-width: 1216px) {
-      html.theme--documenter-dark .columns.is-variable.is-8-widescreen {
-        --columnGap: 2rem; } }
-    @media screen and (min-width: 1216px) and (max-width: 1407px) {
-      html.theme--documenter-dark .columns.is-variable.is-8-widescreen-only {
-        --columnGap: 2rem; } }
-    @media screen and (min-width: 1408px) {
-      html.theme--documenter-dark .columns.is-variable.is-8-fullhd {
-        --columnGap: 2rem; } }
-  html.theme--documenter-dark .tile {
-    align-items: stretch;
-    display: block;
-    flex-basis: 0;
-    flex-grow: 1;
-    flex-shrink: 1;
-    min-height: min-content; }
-    html.theme--documenter-dark .tile.is-ancestor {
-      margin-left: -0.75rem;
-      margin-right: -0.75rem;
-      margin-top: -0.75rem; }
-      html.theme--documenter-dark .tile.is-ancestor:last-child {
-        margin-bottom: -0.75rem; }
-      html.theme--documenter-dark .tile.is-ancestor:not(:last-child) {
-        margin-bottom: 0.75rem; }
-    html.theme--documenter-dark .tile.is-child {
-      margin: 0 !important; }
-    html.theme--documenter-dark .tile.is-parent {
-      padding: 0.75rem; }
-    html.theme--documenter-dark .tile.is-vertical {
-      flex-direction: column; }
-      html.theme--documenter-dark .tile.is-vertical > .tile.is-child:not(:last-child) {
-        margin-bottom: 1.5rem !important; }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .tile:not(.is-child) {
-        display: flex; }
-      html.theme--documenter-dark .tile.is-1 {
-        flex: none;
-        width: 8.3333333333%; }
-      html.theme--documenter-dark .tile.is-2 {
-        flex: none;
-        width: 16.6666666667%; }
-      html.theme--documenter-dark .tile.is-3 {
-        flex: none;
-        width: 25%; }
-      html.theme--documenter-dark .tile.is-4 {
-        flex: none;
-        width: 33.3333333333%; }
-      html.theme--documenter-dark .tile.is-5 {
-        flex: none;
-        width: 41.6666666667%; }
-      html.theme--documenter-dark .tile.is-6 {
-        flex: none;
-        width: 50%; }
-      html.theme--documenter-dark .tile.is-7 {
-        flex: none;
-        width: 58.3333333333%; }
-      html.theme--documenter-dark .tile.is-8 {
-        flex: none;
-        width: 66.6666666667%; }
-      html.theme--documenter-dark .tile.is-9 {
-        flex: none;
-        width: 75%; }
-      html.theme--documenter-dark .tile.is-10 {
-        flex: none;
-        width: 83.3333333333%; }
-      html.theme--documenter-dark .tile.is-11 {
-        flex: none;
-        width: 91.6666666667%; }
-      html.theme--documenter-dark .tile.is-12 {
-        flex: none;
-        width: 100%; } }
-  html.theme--documenter-dark .hero {
-    align-items: stretch;
-    display: flex;
-    flex-direction: column;
-    justify-content: space-between; }
-    html.theme--documenter-dark .hero .navbar {
-      background: none; }
-    html.theme--documenter-dark .hero .tabs ul {
-      border-bottom: none; }
-    html.theme--documenter-dark .hero.is-white {
-      background-color: white;
-      color: #0a0a0a; }
-      html.theme--documenter-dark .hero.is-white a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-      html.theme--documenter-dark .hero.is-white strong {
-        color: inherit; }
-      html.theme--documenter-dark .hero.is-white .title {
-        color: #0a0a0a; }
-      html.theme--documenter-dark .hero.is-white .subtitle {
-        color: rgba(10, 10, 10, 0.9); }
-        html.theme--documenter-dark .hero.is-white .subtitle a:not(.button),
-        html.theme--documenter-dark .hero.is-white .subtitle strong {
-          color: #0a0a0a; }
-      @media screen and (max-width: 1055px) {
-        html.theme--documenter-dark .hero.is-white .navbar-menu {
-          background-color: white; } }
-      html.theme--documenter-dark .hero.is-white .navbar-item,
-      html.theme--documenter-dark .hero.is-white .navbar-link {
-        color: rgba(10, 10, 10, 0.7); }
-      html.theme--documenter-dark .hero.is-white a.navbar-item:hover, html.theme--documenter-dark .hero.is-white a.navbar-item.is-active,
-      html.theme--documenter-dark .hero.is-white .navbar-link:hover,
-      html.theme--documenter-dark .hero.is-white .navbar-link.is-active {
-        background-color: #f2f2f2;
-        color: #0a0a0a; }
-      html.theme--documenter-dark .hero.is-white .tabs a {
-        color: #0a0a0a;
-        opacity: 0.9; }
-        html.theme--documenter-dark .hero.is-white .tabs a:hover {
-          opacity: 1; }
-      html.theme--documenter-dark .hero.is-white .tabs li.is-active a {
-        opacity: 1; }
-      html.theme--documenter-dark .hero.is-white .tabs.is-boxed a, html.theme--documenter-dark .hero.is-white .tabs.is-toggle a {
-        color: #0a0a0a; }
-        html.theme--documenter-dark .hero.is-white .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-white .tabs.is-toggle a:hover {
-          background-color: rgba(10, 10, 10, 0.1); }
-      html.theme--documenter-dark .hero.is-white .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-white .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-white .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-white .tabs.is-toggle li.is-active a:hover {
-        background-color: #0a0a0a;
-        border-color: #0a0a0a;
-        color: white; }
-      html.theme--documenter-dark .hero.is-white.is-bold {
-        background-image: linear-gradient(141deg, #e8e3e4 0%, white 71%, white 100%); }
-        @media screen and (max-width: 768px) {
-          html.theme--documenter-dark .hero.is-white.is-bold .navbar-menu {
-            background-image: linear-gradient(141deg, #e8e3e4 0%, white 71%, white 100%); } }
-    html.theme--documenter-dark .hero.is-black {
-      background-color: #0a0a0a;
-      color: white; }
-      html.theme--documenter-dark .hero.is-black a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-      html.theme--documenter-dark .hero.is-black strong {
-        color: inherit; }
-      html.theme--documenter-dark .hero.is-black .title {
-        color: white; }
-      html.theme--documenter-dark .hero.is-black .subtitle {
-        color: rgba(255, 255, 255, 0.9); }
-        html.theme--documenter-dark .hero.is-black .subtitle a:not(.button),
-        html.theme--documenter-dark .hero.is-black .subtitle strong {
-          color: white; }
-      @media screen and (max-width: 1055px) {
-        html.theme--documenter-dark .hero.is-black .navbar-menu {
-          background-color: #0a0a0a; } }
-      html.theme--documenter-dark .hero.is-black .navbar-item,
-      html.theme--documenter-dark .hero.is-black .navbar-link {
-        color: rgba(255, 255, 255, 0.7); }
-      html.theme--documenter-dark .hero.is-black a.navbar-item:hover, html.theme--documenter-dark .hero.is-black a.navbar-item.is-active,
-      html.theme--documenter-dark .hero.is-black .navbar-link:hover,
-      html.theme--documenter-dark .hero.is-black .navbar-link.is-active {
-        background-color: black;
-        color: white; }
-      html.theme--documenter-dark .hero.is-black .tabs a {
-        color: white;
-        opacity: 0.9; }
-        html.theme--documenter-dark .hero.is-black .tabs a:hover {
-          opacity: 1; }
-      html.theme--documenter-dark .hero.is-black .tabs li.is-active a {
-        opacity: 1; }
-      html.theme--documenter-dark .hero.is-black .tabs.is-boxed a, html.theme--documenter-dark .hero.is-black .tabs.is-toggle a {
-        color: white; }
-        html.theme--documenter-dark .hero.is-black .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-black .tabs.is-toggle a:hover {
-          background-color: rgba(10, 10, 10, 0.1); }
-      html.theme--documenter-dark .hero.is-black .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-black .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-black .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-black .tabs.is-toggle li.is-active a:hover {
-        background-color: white;
-        border-color: white;
-        color: #0a0a0a; }
-      html.theme--documenter-dark .hero.is-black.is-bold {
-        background-image: linear-gradient(141deg, black 0%, #0a0a0a 71%, #181616 100%); }
-        @media screen and (max-width: 768px) {
-          html.theme--documenter-dark .hero.is-black.is-bold .navbar-menu {
-            background-image: linear-gradient(141deg, black 0%, #0a0a0a 71%, #181616 100%); } }
-    html.theme--documenter-dark .hero.is-light {
-      background-color: #ecf0f1;
-      color: #282f2f; }
-      html.theme--documenter-dark .hero.is-light a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-      html.theme--documenter-dark .hero.is-light strong {
-        color: inherit; }
-      html.theme--documenter-dark .hero.is-light .title {
-        color: #282f2f; }
-      html.theme--documenter-dark .hero.is-light .subtitle {
-        color: rgba(40, 47, 47, 0.9); }
-        html.theme--documenter-dark .hero.is-light .subtitle a:not(.button),
-        html.theme--documenter-dark .hero.is-light .subtitle strong {
-          color: #282f2f; }
-      @media screen and (max-width: 1055px) {
-        html.theme--documenter-dark .hero.is-light .navbar-menu {
-          background-color: #ecf0f1; } }
-      html.theme--documenter-dark .hero.is-light .navbar-item,
-      html.theme--documenter-dark .hero.is-light .navbar-link {
-        color: rgba(40, 47, 47, 0.7); }
-      html.theme--documenter-dark .hero.is-light a.navbar-item:hover, html.theme--documenter-dark .hero.is-light a.navbar-item.is-active,
-      html.theme--documenter-dark .hero.is-light .navbar-link:hover,
-      html.theme--documenter-dark .hero.is-light .navbar-link.is-active {
-        background-color: #dde4e6;
-        color: #282f2f; }
-      html.theme--documenter-dark .hero.is-light .tabs a {
-        color: #282f2f;
-        opacity: 0.9; }
-        html.theme--documenter-dark .hero.is-light .tabs a:hover {
-          opacity: 1; }
-      html.theme--documenter-dark .hero.is-light .tabs li.is-active a {
-        opacity: 1; }
-      html.theme--documenter-dark .hero.is-light .tabs.is-boxed a, html.theme--documenter-dark .hero.is-light .tabs.is-toggle a {
-        color: #282f2f; }
-        html.theme--documenter-dark .hero.is-light .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-light .tabs.is-toggle a:hover {
-          background-color: rgba(10, 10, 10, 0.1); }
-      html.theme--documenter-dark .hero.is-light .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-light .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-light .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-light .tabs.is-toggle li.is-active a:hover {
-        background-color: #282f2f;
-        border-color: #282f2f;
-        color: #ecf0f1; }
-      html.theme--documenter-dark .hero.is-light.is-bold {
-        background-image: linear-gradient(141deg, #cadfe0 0%, #ecf0f1 71%, #fafbfc 100%); }
-        @media screen and (max-width: 768px) {
-          html.theme--documenter-dark .hero.is-light.is-bold .navbar-menu {
-            background-image: linear-gradient(141deg, #cadfe0 0%, #ecf0f1 71%, #fafbfc 100%); } }
-    html.theme--documenter-dark .hero.is-dark, html.theme--documenter-dark .content kbd.hero {
-      background-color: #282f2f;
-      color: #ecf0f1; }
-      html.theme--documenter-dark .hero.is-dark a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), html.theme--documenter-dark .content kbd.hero a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-      html.theme--documenter-dark .hero.is-dark strong,
-      html.theme--documenter-dark .content kbd.hero strong {
-        color: inherit; }
-      html.theme--documenter-dark .hero.is-dark .title, html.theme--documenter-dark .content kbd.hero .title {
-        color: #ecf0f1; }
-      html.theme--documenter-dark .hero.is-dark .subtitle, html.theme--documenter-dark .content kbd.hero .subtitle {
-        color: rgba(236, 240, 241, 0.9); }
-        html.theme--documenter-dark .hero.is-dark .subtitle a:not(.button), html.theme--documenter-dark .content kbd.hero .subtitle a:not(.button),
-        html.theme--documenter-dark .hero.is-dark .subtitle strong,
-        html.theme--documenter-dark .content kbd.hero .subtitle strong {
-          color: #ecf0f1; }
-      @media screen and (max-width: 1055px) {
-        html.theme--documenter-dark .hero.is-dark .navbar-menu, html.theme--documenter-dark .content kbd.hero .navbar-menu {
-          background-color: #282f2f; } }
-      html.theme--documenter-dark .hero.is-dark .navbar-item, html.theme--documenter-dark .content kbd.hero .navbar-item,
-      html.theme--documenter-dark .hero.is-dark .navbar-link,
-      html.theme--documenter-dark .content kbd.hero .navbar-link {
-        color: rgba(236, 240, 241, 0.7); }
-      html.theme--documenter-dark .hero.is-dark a.navbar-item:hover, html.theme--documenter-dark .content kbd.hero a.navbar-item:hover, html.theme--documenter-dark .hero.is-dark a.navbar-item.is-active, html.theme--documenter-dark .content kbd.hero a.navbar-item.is-active,
-      html.theme--documenter-dark .hero.is-dark .navbar-link:hover,
-      html.theme--documenter-dark .content kbd.hero .navbar-link:hover,
-      html.theme--documenter-dark .hero.is-dark .navbar-link.is-active,
-      html.theme--documenter-dark .content kbd.hero .navbar-link.is-active {
-        background-color: #1d2122;
-        color: #ecf0f1; }
-      html.theme--documenter-dark .hero.is-dark .tabs a, html.theme--documenter-dark .content kbd.hero .tabs a {
-        color: #ecf0f1;
-        opacity: 0.9; }
-        html.theme--documenter-dark .hero.is-dark .tabs a:hover, html.theme--documenter-dark .content kbd.hero .tabs a:hover {
-          opacity: 1; }
-      html.theme--documenter-dark .hero.is-dark .tabs li.is-active a, html.theme--documenter-dark .content kbd.hero .tabs li.is-active a {
-        opacity: 1; }
-      html.theme--documenter-dark .hero.is-dark .tabs.is-boxed a, html.theme--documenter-dark .content kbd.hero .tabs.is-boxed a, html.theme--documenter-dark .hero.is-dark .tabs.is-toggle a, html.theme--documenter-dark .content kbd.hero .tabs.is-toggle a {
-        color: #ecf0f1; }
-        html.theme--documenter-dark .hero.is-dark .tabs.is-boxed a:hover, html.theme--documenter-dark .content kbd.hero .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-dark .tabs.is-toggle a:hover, html.theme--documenter-dark .content kbd.hero .tabs.is-toggle a:hover {
-          background-color: rgba(10, 10, 10, 0.1); }
-      html.theme--documenter-dark .hero.is-dark .tabs.is-boxed li.is-active a, html.theme--documenter-dark .content kbd.hero .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-dark .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-dark .tabs.is-toggle li.is-active a, html.theme--documenter-dark .content kbd.hero .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-dark .tabs.is-toggle li.is-active a:hover {
-        background-color: #ecf0f1;
-        border-color: #ecf0f1;
-        color: #282f2f; }
-      html.theme--documenter-dark .hero.is-dark.is-bold, html.theme--documenter-dark .content kbd.hero.is-bold {
-        background-image: linear-gradient(141deg, #0f1615 0%, #282f2f 71%, #313c40 100%); }
-        @media screen and (max-width: 768px) {
-          html.theme--documenter-dark .hero.is-dark.is-bold .navbar-menu, html.theme--documenter-dark .content kbd.hero.is-bold .navbar-menu {
-            background-image: linear-gradient(141deg, #0f1615 0%, #282f2f 71%, #313c40 100%); } }
-    html.theme--documenter-dark .hero.is-primary, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink {
-      background-color: #375a7f;
-      color: #fff; }
-      html.theme--documenter-dark .hero.is-primary a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-      html.theme--documenter-dark .hero.is-primary strong,
-      html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink strong {
-        color: inherit; }
-      html.theme--documenter-dark .hero.is-primary .title, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .title {
-        color: #fff; }
-      html.theme--documenter-dark .hero.is-primary .subtitle, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .subtitle {
-        color: rgba(255, 255, 255, 0.9); }
-        html.theme--documenter-dark .hero.is-primary .subtitle a:not(.button), html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .subtitle a:not(.button),
-        html.theme--documenter-dark .hero.is-primary .subtitle strong,
-        html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .subtitle strong {
-          color: #fff; }
-      @media screen and (max-width: 1055px) {
-        html.theme--documenter-dark .hero.is-primary .navbar-menu, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .navbar-menu {
-          background-color: #375a7f; } }
-      html.theme--documenter-dark .hero.is-primary .navbar-item, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .navbar-item,
-      html.theme--documenter-dark .hero.is-primary .navbar-link,
-      html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .navbar-link {
-        color: rgba(255, 255, 255, 0.7); }
-      html.theme--documenter-dark .hero.is-primary a.navbar-item:hover, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink a.navbar-item:hover, html.theme--documenter-dark .hero.is-primary a.navbar-item.is-active, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink a.navbar-item.is-active,
-      html.theme--documenter-dark .hero.is-primary .navbar-link:hover,
-      html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .navbar-link:hover,
-      html.theme--documenter-dark .hero.is-primary .navbar-link.is-active,
-      html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .navbar-link.is-active {
-        background-color: #2f4d6d;
-        color: #fff; }
-      html.theme--documenter-dark .hero.is-primary .tabs a, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs a {
-        color: #fff;
-        opacity: 0.9; }
-        html.theme--documenter-dark .hero.is-primary .tabs a:hover, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs a:hover {
-          opacity: 1; }
-      html.theme--documenter-dark .hero.is-primary .tabs li.is-active a, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs li.is-active a {
-        opacity: 1; }
-      html.theme--documenter-dark .hero.is-primary .tabs.is-boxed a, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs.is-boxed a, html.theme--documenter-dark .hero.is-primary .tabs.is-toggle a, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs.is-toggle a {
-        color: #fff; }
-        html.theme--documenter-dark .hero.is-primary .tabs.is-boxed a:hover, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-primary .tabs.is-toggle a:hover, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs.is-toggle a:hover {
-          background-color: rgba(10, 10, 10, 0.1); }
-      html.theme--documenter-dark .hero.is-primary .tabs.is-boxed li.is-active a, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-primary .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-primary .tabs.is-toggle li.is-active a, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-primary .tabs.is-toggle li.is-active a:hover {
-        background-color: #fff;
-        border-color: #fff;
-        color: #375a7f; }
-      html.theme--documenter-dark .hero.is-primary.is-bold, html.theme--documenter-dark .docstring > section > a.hero.is-bold.docs-sourcelink {
-        background-image: linear-gradient(141deg, #214b62 0%, #375a7f 71%, #3a5796 100%); }
-        @media screen and (max-width: 768px) {
-          html.theme--documenter-dark .hero.is-primary.is-bold .navbar-menu, html.theme--documenter-dark .docstring > section > a.hero.is-bold.docs-sourcelink .navbar-menu {
-            background-image: linear-gradient(141deg, #214b62 0%, #375a7f 71%, #3a5796 100%); } }
-    html.theme--documenter-dark .hero.is-link {
-      background-color: #1abc9c;
-      color: #fff; }
-      html.theme--documenter-dark .hero.is-link a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-      html.theme--documenter-dark .hero.is-link strong {
-        color: inherit; }
-      html.theme--documenter-dark .hero.is-link .title {
-        color: #fff; }
-      html.theme--documenter-dark .hero.is-link .subtitle {
-        color: rgba(255, 255, 255, 0.9); }
-        html.theme--documenter-dark .hero.is-link .subtitle a:not(.button),
-        html.theme--documenter-dark .hero.is-link .subtitle strong {
-          color: #fff; }
-      @media screen and (max-width: 1055px) {
-        html.theme--documenter-dark .hero.is-link .navbar-menu {
-          background-color: #1abc9c; } }
-      html.theme--documenter-dark .hero.is-link .navbar-item,
-      html.theme--documenter-dark .hero.is-link .navbar-link {
-        color: rgba(255, 255, 255, 0.7); }
-      html.theme--documenter-dark .hero.is-link a.navbar-item:hover, html.theme--documenter-dark .hero.is-link a.navbar-item.is-active,
-      html.theme--documenter-dark .hero.is-link .navbar-link:hover,
-      html.theme--documenter-dark .hero.is-link .navbar-link.is-active {
-        background-color: #17a689;
-        color: #fff; }
-      html.theme--documenter-dark .hero.is-link .tabs a {
-        color: #fff;
-        opacity: 0.9; }
-        html.theme--documenter-dark .hero.is-link .tabs a:hover {
-          opacity: 1; }
-      html.theme--documenter-dark .hero.is-link .tabs li.is-active a {
-        opacity: 1; }
-      html.theme--documenter-dark .hero.is-link .tabs.is-boxed a, html.theme--documenter-dark .hero.is-link .tabs.is-toggle a {
-        color: #fff; }
-        html.theme--documenter-dark .hero.is-link .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-link .tabs.is-toggle a:hover {
-          background-color: rgba(10, 10, 10, 0.1); }
-      html.theme--documenter-dark .hero.is-link .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-link .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-link .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-link .tabs.is-toggle li.is-active a:hover {
-        background-color: #fff;
-        border-color: #fff;
-        color: #1abc9c; }
-      html.theme--documenter-dark .hero.is-link.is-bold {
-        background-image: linear-gradient(141deg, #0c9764 0%, #1abc9c 71%, #17d8d2 100%); }
-        @media screen and (max-width: 768px) {
-          html.theme--documenter-dark .hero.is-link.is-bold .navbar-menu {
-            background-image: linear-gradient(141deg, #0c9764 0%, #1abc9c 71%, #17d8d2 100%); } }
-    html.theme--documenter-dark .hero.is-info {
-      background-color: #024c7d;
-      color: #fff; }
-      html.theme--documenter-dark .hero.is-info a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-      html.theme--documenter-dark .hero.is-info strong {
-        color: inherit; }
-      html.theme--documenter-dark .hero.is-info .title {
-        color: #fff; }
-      html.theme--documenter-dark .hero.is-info .subtitle {
-        color: rgba(255, 255, 255, 0.9); }
-        html.theme--documenter-dark .hero.is-info .subtitle a:not(.button),
-        html.theme--documenter-dark .hero.is-info .subtitle strong {
-          color: #fff; }
-      @media screen and (max-width: 1055px) {
-        html.theme--documenter-dark .hero.is-info .navbar-menu {
-          background-color: #024c7d; } }
-      html.theme--documenter-dark .hero.is-info .navbar-item,
-      html.theme--documenter-dark .hero.is-info .navbar-link {
-        color: rgba(255, 255, 255, 0.7); }
-      html.theme--documenter-dark .hero.is-info a.navbar-item:hover, html.theme--documenter-dark .hero.is-info a.navbar-item.is-active,
-      html.theme--documenter-dark .hero.is-info .navbar-link:hover,
-      html.theme--documenter-dark .hero.is-info .navbar-link.is-active {
-        background-color: #023d64;
-        color: #fff; }
-      html.theme--documenter-dark .hero.is-info .tabs a {
-        color: #fff;
-        opacity: 0.9; }
-        html.theme--documenter-dark .hero.is-info .tabs a:hover {
-          opacity: 1; }
-      html.theme--documenter-dark .hero.is-info .tabs li.is-active a {
-        opacity: 1; }
-      html.theme--documenter-dark .hero.is-info .tabs.is-boxed a, html.theme--documenter-dark .hero.is-info .tabs.is-toggle a {
-        color: #fff; }
-        html.theme--documenter-dark .hero.is-info .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-info .tabs.is-toggle a:hover {
-          background-color: rgba(10, 10, 10, 0.1); }
-      html.theme--documenter-dark .hero.is-info .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-info .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-info .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-info .tabs.is-toggle li.is-active a:hover {
-        background-color: #fff;
-        border-color: #fff;
-        color: #024c7d; }
-      html.theme--documenter-dark .hero.is-info.is-bold {
-        background-image: linear-gradient(141deg, #003a4c 0%, #024c7d 71%, #004299 100%); }
-        @media screen and (max-width: 768px) {
-          html.theme--documenter-dark .hero.is-info.is-bold .navbar-menu {
-            background-image: linear-gradient(141deg, #003a4c 0%, #024c7d 71%, #004299 100%); } }
-    html.theme--documenter-dark .hero.is-success {
-      background-color: #008438;
-      color: #fff; }
-      html.theme--documenter-dark .hero.is-success a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-      html.theme--documenter-dark .hero.is-success strong {
-        color: inherit; }
-      html.theme--documenter-dark .hero.is-success .title {
-        color: #fff; }
-      html.theme--documenter-dark .hero.is-success .subtitle {
-        color: rgba(255, 255, 255, 0.9); }
-        html.theme--documenter-dark .hero.is-success .subtitle a:not(.button),
-        html.theme--documenter-dark .hero.is-success .subtitle strong {
-          color: #fff; }
-      @media screen and (max-width: 1055px) {
-        html.theme--documenter-dark .hero.is-success .navbar-menu {
-          background-color: #008438; } }
-      html.theme--documenter-dark .hero.is-success .navbar-item,
-      html.theme--documenter-dark .hero.is-success .navbar-link {
-        color: rgba(255, 255, 255, 0.7); }
-      html.theme--documenter-dark .hero.is-success a.navbar-item:hover, html.theme--documenter-dark .hero.is-success a.navbar-item.is-active,
-      html.theme--documenter-dark .hero.is-success .navbar-link:hover,
-      html.theme--documenter-dark .hero.is-success .navbar-link.is-active {
-        background-color: #006b2d;
-        color: #fff; }
-      html.theme--documenter-dark .hero.is-success .tabs a {
-        color: #fff;
-        opacity: 0.9; }
-        html.theme--documenter-dark .hero.is-success .tabs a:hover {
-          opacity: 1; }
-      html.theme--documenter-dark .hero.is-success .tabs li.is-active a {
-        opacity: 1; }
-      html.theme--documenter-dark .hero.is-success .tabs.is-boxed a, html.theme--documenter-dark .hero.is-success .tabs.is-toggle a {
-        color: #fff; }
-        html.theme--documenter-dark .hero.is-success .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-success .tabs.is-toggle a:hover {
-          background-color: rgba(10, 10, 10, 0.1); }
-      html.theme--documenter-dark .hero.is-success .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-success .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-success .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-success .tabs.is-toggle li.is-active a:hover {
-        background-color: #fff;
-        border-color: #fff;
-        color: #008438; }
-      html.theme--documenter-dark .hero.is-success.is-bold {
-        background-image: linear-gradient(141deg, #005115 0%, #008438 71%, #009e5d 100%); }
-        @media screen and (max-width: 768px) {
-          html.theme--documenter-dark .hero.is-success.is-bold .navbar-menu {
-            background-image: linear-gradient(141deg, #005115 0%, #008438 71%, #009e5d 100%); } }
-    html.theme--documenter-dark .hero.is-warning {
-      background-color: #ad8100;
-      color: #fff; }
-      html.theme--documenter-dark .hero.is-warning a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-      html.theme--documenter-dark .hero.is-warning strong {
-        color: inherit; }
-      html.theme--documenter-dark .hero.is-warning .title {
-        color: #fff; }
-      html.theme--documenter-dark .hero.is-warning .subtitle {
-        color: rgba(255, 255, 255, 0.9); }
-        html.theme--documenter-dark .hero.is-warning .subtitle a:not(.button),
-        html.theme--documenter-dark .hero.is-warning .subtitle strong {
-          color: #fff; }
-      @media screen and (max-width: 1055px) {
-        html.theme--documenter-dark .hero.is-warning .navbar-menu {
-          background-color: #ad8100; } }
-      html.theme--documenter-dark .hero.is-warning .navbar-item,
-      html.theme--documenter-dark .hero.is-warning .navbar-link {
-        color: rgba(255, 255, 255, 0.7); }
-      html.theme--documenter-dark .hero.is-warning a.navbar-item:hover, html.theme--documenter-dark .hero.is-warning a.navbar-item.is-active,
-      html.theme--documenter-dark .hero.is-warning .navbar-link:hover,
-      html.theme--documenter-dark .hero.is-warning .navbar-link.is-active {
-        background-color: #946e00;
-        color: #fff; }
-      html.theme--documenter-dark .hero.is-warning .tabs a {
-        color: #fff;
-        opacity: 0.9; }
-        html.theme--documenter-dark .hero.is-warning .tabs a:hover {
-          opacity: 1; }
-      html.theme--documenter-dark .hero.is-warning .tabs li.is-active a {
-        opacity: 1; }
-      html.theme--documenter-dark .hero.is-warning .tabs.is-boxed a, html.theme--documenter-dark .hero.is-warning .tabs.is-toggle a {
-        color: #fff; }
-        html.theme--documenter-dark .hero.is-warning .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-warning .tabs.is-toggle a:hover {
-          background-color: rgba(10, 10, 10, 0.1); }
-      html.theme--documenter-dark .hero.is-warning .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-warning .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-warning .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-warning .tabs.is-toggle li.is-active a:hover {
-        background-color: #fff;
-        border-color: #fff;
-        color: #ad8100; }
-      html.theme--documenter-dark .hero.is-warning.is-bold {
-        background-image: linear-gradient(141deg, #7a4700 0%, #ad8100 71%, #c7b500 100%); }
-        @media screen and (max-width: 768px) {
-          html.theme--documenter-dark .hero.is-warning.is-bold .navbar-menu {
-            background-image: linear-gradient(141deg, #7a4700 0%, #ad8100 71%, #c7b500 100%); } }
-    html.theme--documenter-dark .hero.is-danger {
-      background-color: #9e1b0d;
-      color: #fff; }
-      html.theme--documenter-dark .hero.is-danger a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-      html.theme--documenter-dark .hero.is-danger strong {
-        color: inherit; }
-      html.theme--documenter-dark .hero.is-danger .title {
-        color: #fff; }
-      html.theme--documenter-dark .hero.is-danger .subtitle {
-        color: rgba(255, 255, 255, 0.9); }
-        html.theme--documenter-dark .hero.is-danger .subtitle a:not(.button),
-        html.theme--documenter-dark .hero.is-danger .subtitle strong {
-          color: #fff; }
-      @media screen and (max-width: 1055px) {
-        html.theme--documenter-dark .hero.is-danger .navbar-menu {
-          background-color: #9e1b0d; } }
-      html.theme--documenter-dark .hero.is-danger .navbar-item,
-      html.theme--documenter-dark .hero.is-danger .navbar-link {
-        color: rgba(255, 255, 255, 0.7); }
-      html.theme--documenter-dark .hero.is-danger a.navbar-item:hover, html.theme--documenter-dark .hero.is-danger a.navbar-item.is-active,
-      html.theme--documenter-dark .hero.is-danger .navbar-link:hover,
-      html.theme--documenter-dark .hero.is-danger .navbar-link.is-active {
-        background-color: #86170b;
-        color: #fff; }
-      html.theme--documenter-dark .hero.is-danger .tabs a {
-        color: #fff;
-        opacity: 0.9; }
-        html.theme--documenter-dark .hero.is-danger .tabs a:hover {
-          opacity: 1; }
-      html.theme--documenter-dark .hero.is-danger .tabs li.is-active a {
-        opacity: 1; }
-      html.theme--documenter-dark .hero.is-danger .tabs.is-boxed a, html.theme--documenter-dark .hero.is-danger .tabs.is-toggle a {
-        color: #fff; }
-        html.theme--documenter-dark .hero.is-danger .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-danger .tabs.is-toggle a:hover {
-          background-color: rgba(10, 10, 10, 0.1); }
-      html.theme--documenter-dark .hero.is-danger .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-danger .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-danger .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-danger .tabs.is-toggle li.is-active a:hover {
-        background-color: #fff;
-        border-color: #fff;
-        color: #9e1b0d; }
-      html.theme--documenter-dark .hero.is-danger.is-bold {
-        background-image: linear-gradient(141deg, #75030b 0%, #9e1b0d 71%, #ba380a 100%); }
-        @media screen and (max-width: 768px) {
-          html.theme--documenter-dark .hero.is-danger.is-bold .navbar-menu {
-            background-image: linear-gradient(141deg, #75030b 0%, #9e1b0d 71%, #ba380a 100%); } }
-    html.theme--documenter-dark .hero.is-small .hero-body, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.hero .hero-body {
-      padding-bottom: 1.5rem;
-      padding-top: 1.5rem; }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .hero.is-medium .hero-body {
-        padding-bottom: 9rem;
-        padding-top: 9rem; } }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .hero.is-large .hero-body {
-        padding-bottom: 18rem;
-        padding-top: 18rem; } }
-    html.theme--documenter-dark .hero.is-halfheight .hero-body, html.theme--documenter-dark .hero.is-fullheight .hero-body, html.theme--documenter-dark .hero.is-fullheight-with-navbar .hero-body {
-      align-items: center;
-      display: flex; }
-      html.theme--documenter-dark .hero.is-halfheight .hero-body > .container, html.theme--documenter-dark .hero.is-fullheight .hero-body > .container, html.theme--documenter-dark .hero.is-fullheight-with-navbar .hero-body > .container {
-        flex-grow: 1;
-        flex-shrink: 1; }
-    html.theme--documenter-dark .hero.is-halfheight {
-      min-height: 50vh; }
-    html.theme--documenter-dark .hero.is-fullheight {
-      min-height: 100vh; }
-  html.theme--documenter-dark .hero-video {
-    overflow: hidden; }
-    html.theme--documenter-dark .hero-video video {
-      left: 50%;
-      min-height: 100%;
-      min-width: 100%;
-      position: absolute;
-      top: 50%;
-      transform: translate3d(-50%, -50%, 0); }
-    html.theme--documenter-dark .hero-video.is-transparent {
-      opacity: 0.3; }
-    @media screen and (max-width: 768px) {
-      html.theme--documenter-dark .hero-video {
-        display: none; } }
-  html.theme--documenter-dark .hero-buttons {
-    margin-top: 1.5rem; }
-    @media screen and (max-width: 768px) {
-      html.theme--documenter-dark .hero-buttons .button {
-        display: flex; }
-        html.theme--documenter-dark .hero-buttons .button:not(:last-child) {
-          margin-bottom: 0.75rem; } }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .hero-buttons {
-        display: flex;
-        justify-content: center; }
-        html.theme--documenter-dark .hero-buttons .button:not(:last-child) {
-          margin-right: 1.5rem; } }
-  html.theme--documenter-dark .hero-head,
-  html.theme--documenter-dark .hero-foot {
-    flex-grow: 0;
-    flex-shrink: 0; }
-  html.theme--documenter-dark .hero-body {
-    flex-grow: 1;
-    flex-shrink: 0;
-    padding: 3rem 1.5rem; }
-  html.theme--documenter-dark .section {
-    padding: 3rem 1.5rem; }
-    @media screen and (min-width: 1056px) {
-      html.theme--documenter-dark .section.is-medium {
-        padding: 9rem 1.5rem; }
-      html.theme--documenter-dark .section.is-large {
-        padding: 18rem 1.5rem; } }
-  html.theme--documenter-dark .footer {
-    background-color: #282f2f;
-    padding: 3rem 1.5rem 6rem; }
-  html.theme--documenter-dark hr {
-    height: 1px; }
-  html.theme--documenter-dark h6 {
-    text-transform: uppercase;
-    letter-spacing: 0.5px; }
-  html.theme--documenter-dark .hero {
-    background-color: #343c3d; }
-  html.theme--documenter-dark a {
-    transition: all 200ms ease; }
-  html.theme--documenter-dark .button {
-    transition: all 200ms ease;
-    border-width: 1px;
-    color: white; }
-    html.theme--documenter-dark .button.is-active, html.theme--documenter-dark .button.is-focused, html.theme--documenter-dark .button:active, html.theme--documenter-dark .button:focus {
-      box-shadow: 0 0 0 2px rgba(140, 155, 157, 0.5); }
-    html.theme--documenter-dark .button.is-white.is-hovered, html.theme--documenter-dark .button.is-white:hover {
-      background-color: white; }
-    html.theme--documenter-dark .button.is-white.is-active, html.theme--documenter-dark .button.is-white.is-focused, html.theme--documenter-dark .button.is-white:active, html.theme--documenter-dark .button.is-white:focus {
-      border-color: white;
-      box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5); }
-    html.theme--documenter-dark .button.is-black.is-hovered, html.theme--documenter-dark .button.is-black:hover {
-      background-color: #1d1d1d; }
-    html.theme--documenter-dark .button.is-black.is-active, html.theme--documenter-dark .button.is-black.is-focused, html.theme--documenter-dark .button.is-black:active, html.theme--documenter-dark .button.is-black:focus {
-      border-color: #0a0a0a;
-      box-shadow: 0 0 0 2px rgba(10, 10, 10, 0.5); }
-    html.theme--documenter-dark .button.is-light.is-hovered, html.theme--documenter-dark .button.is-light:hover {
-      background-color: white; }
-    html.theme--documenter-dark .button.is-light.is-active, html.theme--documenter-dark .button.is-light.is-focused, html.theme--documenter-dark .button.is-light:active, html.theme--documenter-dark .button.is-light:focus {
-      border-color: #ecf0f1;
-      box-shadow: 0 0 0 2px rgba(236, 240, 241, 0.5); }
-    html.theme--documenter-dark .button.is-dark.is-hovered, html.theme--documenter-dark .content kbd.button.is-hovered, html.theme--documenter-dark .button.is-dark:hover, html.theme--documenter-dark .content kbd.button:hover {
-      background-color: #3a4344; }
-    html.theme--documenter-dark .button.is-dark.is-active, html.theme--documenter-dark .content kbd.button.is-active, html.theme--documenter-dark .button.is-dark.is-focused, html.theme--documenter-dark .content kbd.button.is-focused, html.theme--documenter-dark .button.is-dark:active, html.theme--documenter-dark .content kbd.button:active, html.theme--documenter-dark .button.is-dark:focus, html.theme--documenter-dark .content kbd.button:focus {
-      border-color: #282f2f;
-      box-shadow: 0 0 0 2px rgba(40, 47, 47, 0.5); }
-    html.theme--documenter-dark .button.is-primary.is-hovered, html.theme--documenter-dark .docstring > section > a.button.is-hovered.docs-sourcelink, html.theme--documenter-dark .button.is-primary:hover, html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink:hover {
-      background-color: #436d9a; }
-    html.theme--documenter-dark .button.is-primary.is-active, html.theme--documenter-dark .docstring > section > a.button.is-active.docs-sourcelink, html.theme--documenter-dark .button.is-primary.is-focused, html.theme--documenter-dark .docstring > section > a.button.is-focused.docs-sourcelink, html.theme--documenter-dark .button.is-primary:active, html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink:active, html.theme--documenter-dark .button.is-primary:focus, html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink:focus {
-      border-color: #375a7f;
-      box-shadow: 0 0 0 2px rgba(55, 90, 127, 0.5); }
-    html.theme--documenter-dark .button.is-link.is-hovered, html.theme--documenter-dark .button.is-link:hover {
-      background-color: #1fdeb8; }
-    html.theme--documenter-dark .button.is-link.is-active, html.theme--documenter-dark .button.is-link.is-focused, html.theme--documenter-dark .button.is-link:active, html.theme--documenter-dark .button.is-link:focus {
-      border-color: #1abc9c;
-      box-shadow: 0 0 0 2px rgba(26, 188, 156, 0.5); }
-    html.theme--documenter-dark .button.is-info.is-hovered, html.theme--documenter-dark .button.is-info:hover {
-      background-color: #0363a3; }
-    html.theme--documenter-dark .button.is-info.is-active, html.theme--documenter-dark .button.is-info.is-focused, html.theme--documenter-dark .button.is-info:active, html.theme--documenter-dark .button.is-info:focus {
-      border-color: #024c7d;
-      box-shadow: 0 0 0 2px rgba(2, 76, 125, 0.5); }
-    html.theme--documenter-dark .button.is-success.is-hovered, html.theme--documenter-dark .button.is-success:hover {
-      background-color: #00aa48; }
-    html.theme--documenter-dark .button.is-success.is-active, html.theme--documenter-dark .button.is-success.is-focused, html.theme--documenter-dark .button.is-success:active, html.theme--documenter-dark .button.is-success:focus {
-      border-color: #008438;
-      box-shadow: 0 0 0 2px rgba(0, 132, 56, 0.5); }
-    html.theme--documenter-dark .button.is-warning.is-hovered, html.theme--documenter-dark .button.is-warning:hover {
-      background-color: #d39e00; }
-    html.theme--documenter-dark .button.is-warning.is-active, html.theme--documenter-dark .button.is-warning.is-focused, html.theme--documenter-dark .button.is-warning:active, html.theme--documenter-dark .button.is-warning:focus {
-      border-color: #ad8100;
-      box-shadow: 0 0 0 2px rgba(173, 129, 0, 0.5); }
-    html.theme--documenter-dark .button.is-danger.is-hovered, html.theme--documenter-dark .button.is-danger:hover {
-      background-color: #c12110; }
-    html.theme--documenter-dark .button.is-danger.is-active, html.theme--documenter-dark .button.is-danger.is-focused, html.theme--documenter-dark .button.is-danger:active, html.theme--documenter-dark .button.is-danger:focus {
-      border-color: #9e1b0d;
-      box-shadow: 0 0 0 2px rgba(158, 27, 13, 0.5); }
-  html.theme--documenter-dark .label {
-    color: #dbdee0; }
-  html.theme--documenter-dark .button,
-  html.theme--documenter-dark .control.has-icons-left .icon,
-  html.theme--documenter-dark .control.has-icons-right .icon,
-  html.theme--documenter-dark .input,
-  html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input,
-  html.theme--documenter-dark .pagination-ellipsis,
-  html.theme--documenter-dark .pagination-link,
-  html.theme--documenter-dark .pagination-next,
-  html.theme--documenter-dark .pagination-previous,
-  html.theme--documenter-dark .select,
-  html.theme--documenter-dark .select select,
-  html.theme--documenter-dark .textarea {
-    height: 2.5em; }
-  html.theme--documenter-dark .input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input,
-  html.theme--documenter-dark .textarea {
-    transition: all 200ms ease;
-    box-shadow: none;
-    border-width: 1px;
-    padding-left: 1em;
-    padding-right: 1em; }
-  html.theme--documenter-dark .select:after,
-  html.theme--documenter-dark .select select {
-    border-width: 1px; }
-  html.theme--documenter-dark .control.has-addons .button,
-  html.theme--documenter-dark .control.has-addons .input,
-  html.theme--documenter-dark .control.has-addons #documenter .docs-sidebar form.docs-search > input,
-  html.theme--documenter-dark #documenter .docs-sidebar .control.has-addons form.docs-search > input,
-  html.theme--documenter-dark .control.has-addons .select {
-    margin-right: -1px; }
-  html.theme--documenter-dark .notification {
-    background-color: #343c3d; }
-  html.theme--documenter-dark .card {
-    box-shadow: none;
-    border: 1px solid #343c3d;
-    background-color: #282f2f;
-    border-radius: 0.4em; }
-    html.theme--documenter-dark .card .card-image img {
-      border-radius: 0.4em 0.4em 0 0; }
-    html.theme--documenter-dark .card .card-header {
-      box-shadow: none;
-      background-color: rgba(18, 18, 18, 0.2);
-      border-radius: 0.4em 0.4em 0 0; }
-    html.theme--documenter-dark .card .card-footer {
-      background-color: rgba(18, 18, 18, 0.2); }
-    html.theme--documenter-dark .card .card-footer,
-    html.theme--documenter-dark .card .card-footer-item {
-      border-width: 1px;
-      border-color: #343c3d; }
-  html.theme--documenter-dark .notification.is-white a:not(.button) {
-    color: #0a0a0a;
-    text-decoration: underline; }
-  html.theme--documenter-dark .notification.is-black a:not(.button) {
-    color: white;
-    text-decoration: underline; }
-  html.theme--documenter-dark .notification.is-light a:not(.button) {
-    color: #282f2f;
-    text-decoration: underline; }
-  html.theme--documenter-dark .notification.is-dark a:not(.button), html.theme--documenter-dark .content kbd.notification a:not(.button) {
-    color: #ecf0f1;
-    text-decoration: underline; }
-  html.theme--documenter-dark .notification.is-primary a:not(.button), html.theme--documenter-dark .docstring > section > a.notification.docs-sourcelink a:not(.button) {
-    color: #fff;
-    text-decoration: underline; }
-  html.theme--documenter-dark .notification.is-link a:not(.button) {
-    color: #fff;
-    text-decoration: underline; }
-  html.theme--documenter-dark .notification.is-info a:not(.button) {
-    color: #fff;
-    text-decoration: underline; }
-  html.theme--documenter-dark .notification.is-success a:not(.button) {
-    color: #fff;
-    text-decoration: underline; }
-  html.theme--documenter-dark .notification.is-warning a:not(.button) {
-    color: #fff;
-    text-decoration: underline; }
-  html.theme--documenter-dark .notification.is-danger a:not(.button) {
-    color: #fff;
-    text-decoration: underline; }
-  html.theme--documenter-dark .tag, html.theme--documenter-dark .content kbd, html.theme--documenter-dark .docstring > section > a.docs-sourcelink {
-    border-radius: 0.4em; }
-  html.theme--documenter-dark .menu-list a {
-    transition: all 300ms ease; }
-  html.theme--documenter-dark .modal-card-body {
-    background-color: #282f2f; }
-  html.theme--documenter-dark .modal-card-foot,
-  html.theme--documenter-dark .modal-card-head {
-    border-color: #343c3d; }
-  html.theme--documenter-dark .message-header {
-    font-weight: 700;
-    background-color: #343c3d;
-    color: white; }
-  html.theme--documenter-dark .message-body {
-    border-width: 1px;
-    border-color: #343c3d; }
-  html.theme--documenter-dark .navbar {
-    border-radius: 0.4em; }
-    html.theme--documenter-dark .navbar.is-transparent {
-      background: none; }
-    html.theme--documenter-dark .navbar.is-primary .navbar-dropdown a.navbar-item.is-active, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-dropdown a.navbar-item.is-active {
-      background-color: #1abc9c; }
-    @media screen and (max-width: 1055px) {
-      html.theme--documenter-dark .navbar .navbar-menu {
-        background-color: #375a7f;
-        border-radius: 0 0 0.4em 0.4em; } }
-  html.theme--documenter-dark .hero .navbar,
-  html.theme--documenter-dark body > .navbar {
-    border-radius: 0; }
-  html.theme--documenter-dark .pagination-link,
-  html.theme--documenter-dark .pagination-next,
-  html.theme--documenter-dark .pagination-previous {
-    border-width: 1px; }
-  html.theme--documenter-dark .panel-block,
-  html.theme--documenter-dark .panel-heading,
-  html.theme--documenter-dark .panel-tabs {
-    border-width: 1px; }
-    html.theme--documenter-dark .panel-block:first-child,
-    html.theme--documenter-dark .panel-heading:first-child,
-    html.theme--documenter-dark .panel-tabs:first-child {
-      border-top-width: 1px; }
-  html.theme--documenter-dark .panel-heading {
-    font-weight: 700; }
-  html.theme--documenter-dark .panel-tabs a {
-    border-width: 1px;
-    margin-bottom: -1px; }
-    html.theme--documenter-dark .panel-tabs a.is-active {
-      border-bottom-color: #17a689; }
-  html.theme--documenter-dark .panel-block:hover {
-    color: #1dd2af; }
-    html.theme--documenter-dark .panel-block:hover .panel-icon {
-      color: #1dd2af; }
-  html.theme--documenter-dark .panel-block.is-active .panel-icon {
-    color: #17a689; }
-  html.theme--documenter-dark .tabs a {
-    border-bottom-width: 1px;
-    margin-bottom: -1px; }
-  html.theme--documenter-dark .tabs ul {
-    border-bottom-width: 1px; }
-  html.theme--documenter-dark .tabs.is-boxed a {
-    border-width: 1px; }
-  html.theme--documenter-dark .tabs.is-boxed li.is-active a {
-    background-color: #1f2424; }
-  html.theme--documenter-dark .tabs.is-toggle li a {
-    border-width: 1px;
-    margin-bottom: 0; }
-  html.theme--documenter-dark .tabs.is-toggle li + li {
-    margin-left: -1px; }
-  html.theme--documenter-dark .hero.is-white .navbar .navbar-dropdown .navbar-item:hover {
-    background-color: transparent; }
-  html.theme--documenter-dark .hero.is-black .navbar .navbar-dropdown .navbar-item:hover {
-    background-color: transparent; }
-  html.theme--documenter-dark .hero.is-light .navbar .navbar-dropdown .navbar-item:hover {
-    background-color: transparent; }
-  html.theme--documenter-dark .hero.is-dark .navbar .navbar-dropdown .navbar-item:hover, html.theme--documenter-dark .content kbd.hero .navbar .navbar-dropdown .navbar-item:hover {
-    background-color: transparent; }
-  html.theme--documenter-dark .hero.is-primary .navbar .navbar-dropdown .navbar-item:hover, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .navbar .navbar-dropdown .navbar-item:hover {
-    background-color: transparent; }
-  html.theme--documenter-dark .hero.is-link .navbar .navbar-dropdown .navbar-item:hover {
-    background-color: transparent; }
-  html.theme--documenter-dark .hero.is-info .navbar .navbar-dropdown .navbar-item:hover {
-    background-color: transparent; }
-  html.theme--documenter-dark .hero.is-success .navbar .navbar-dropdown .navbar-item:hover {
-    background-color: transparent; }
-  html.theme--documenter-dark .hero.is-warning .navbar .navbar-dropdown .navbar-item:hover {
-    background-color: transparent; }
-  html.theme--documenter-dark .hero.is-danger .navbar .navbar-dropdown .navbar-item:hover {
-    background-color: transparent; }
-  html.theme--documenter-dark h1 .docs-heading-anchor, html.theme--documenter-dark h1 .docs-heading-anchor:hover, html.theme--documenter-dark h1 .docs-heading-anchor:visited, html.theme--documenter-dark h2 .docs-heading-anchor, html.theme--documenter-dark h2 .docs-heading-anchor:hover, html.theme--documenter-dark h2 .docs-heading-anchor:visited, html.theme--documenter-dark h3 .docs-heading-anchor, html.theme--documenter-dark h3 .docs-heading-anchor:hover, html.theme--documenter-dark h3 .docs-heading-anchor:visited, html.theme--documenter-dark h4 .docs-heading-anchor, html.theme--documenter-dark h4 .docs-heading-anchor:hover, html.theme--documenter-dark h4 .docs-heading-anchor:visited, html.theme--documenter-dark h5 .docs-heading-anchor, html.theme--documenter-dark h5 .docs-heading-anchor:hover, html.theme--documenter-dark h5 .docs-heading-anchor:visited, html.theme--documenter-dark h6 .docs-heading-anchor, html.theme--documenter-dark h6 .docs-heading-anchor:hover, html.theme--documenter-dark h6 .docs-heading-anchor:visited {
-    color: #f2f2f2; }
-  html.theme--documenter-dark h1 .docs-heading-anchor-permalink, html.theme--documenter-dark h2 .docs-heading-anchor-permalink, html.theme--documenter-dark h3 .docs-heading-anchor-permalink, html.theme--documenter-dark h4 .docs-heading-anchor-permalink, html.theme--documenter-dark h5 .docs-heading-anchor-permalink, html.theme--documenter-dark h6 .docs-heading-anchor-permalink {
-    visibility: hidden;
-    vertical-align: middle;
-    margin-left: 0.5em;
-    font-size: 0.7rem; }
-    html.theme--documenter-dark h1 .docs-heading-anchor-permalink::before, html.theme--documenter-dark h2 .docs-heading-anchor-permalink::before, html.theme--documenter-dark h3 .docs-heading-anchor-permalink::before, html.theme--documenter-dark h4 .docs-heading-anchor-permalink::before, html.theme--documenter-dark h5 .docs-heading-anchor-permalink::before, html.theme--documenter-dark h6 .docs-heading-anchor-permalink::before {
-      font-family: "Font Awesome 5 Free";
-      font-weight: 900;
-      content: "\f0c1"; }
-  html.theme--documenter-dark h1:hover .docs-heading-anchor-permalink, html.theme--documenter-dark h2:hover .docs-heading-anchor-permalink, html.theme--documenter-dark h3:hover .docs-heading-anchor-permalink, html.theme--documenter-dark h4:hover .docs-heading-anchor-permalink, html.theme--documenter-dark h5:hover .docs-heading-anchor-permalink, html.theme--documenter-dark h6:hover .docs-heading-anchor-permalink {
-    visibility: visible; }
-  html.theme--documenter-dark .docs-light-only {
-    display: none !important; }
-  html.theme--documenter-dark pre {
-    position: relative;
-    overflow: hidden; }
-    html.theme--documenter-dark pre code, html.theme--documenter-dark pre code.hljs {
-      padding: 0 0.75rem !important;
-      overflow: auto;
-      display: block; }
-    html.theme--documenter-dark pre code:first-of-type, html.theme--documenter-dark pre code.hljs:first-of-type {
-      padding-top: 0.5rem !important; }
-    html.theme--documenter-dark pre code:last-of-type, html.theme--documenter-dark pre code.hljs:last-of-type {
-      padding-bottom: 0.5rem !important; }
-    html.theme--documenter-dark pre .copy-button {
-      opacity: 0.2;
-      transition: opacity 0.2s;
-      position: absolute;
-      right: 0em;
-      top: 0em;
-      padding: 0.5em;
-      width: 2.5em;
-      height: 2.5em;
-      background: transparent;
-      border: none;
-      font-family: "Font Awesome 5 Free";
-      color: #fff;
-      cursor: pointer;
-      text-align: center; }
-      html.theme--documenter-dark pre .copy-button:focus, html.theme--documenter-dark pre .copy-button:hover {
-        opacity: 1;
-        background: rgba(255, 255, 255, 0.1);
-        color: #1abc9c; }
-      html.theme--documenter-dark pre .copy-button.success {
-        color: #259a12;
-        opacity: 1; }
-      html.theme--documenter-dark pre .copy-button.error {
-        color: #cb3c33;
-        opacity: 1; }
-    html.theme--documenter-dark pre:hover .copy-button {
-      opacity: 1; }
-  html.theme--documenter-dark .admonition {
-    background-color: #282f2f;
-    border-style: solid;
-    border-width: 1px;
-    border-color: #5e6d6f;
-    border-radius: 0.4em;
-    font-size: 15px; }
-    html.theme--documenter-dark .admonition strong {
-      color: currentColor; }
-    html.theme--documenter-dark .admonition.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.admonition {
-      font-size: 0.85em; }
-    html.theme--documenter-dark .admonition.is-medium {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .admonition.is-large {
-      font-size: 1.5rem; }
-    html.theme--documenter-dark .admonition.is-default {
-      background-color: #282f2f;
-      border-color: #5e6d6f; }
-      html.theme--documenter-dark .admonition.is-default > .admonition-header {
-        background-color: #5e6d6f; }
-    html.theme--documenter-dark .admonition.is-info {
-      background-color: #282f2f;
-      border-color: #024c7d; }
-      html.theme--documenter-dark .admonition.is-info > .admonition-header {
-        background-color: #024c7d; }
-    html.theme--documenter-dark .admonition.is-success {
-      background-color: #282f2f;
-      border-color: #008438; }
-      html.theme--documenter-dark .admonition.is-success > .admonition-header {
-        background-color: #008438; }
-    html.theme--documenter-dark .admonition.is-warning {
-      background-color: #282f2f;
-      border-color: #ad8100; }
-      html.theme--documenter-dark .admonition.is-warning > .admonition-header {
-        background-color: #ad8100; }
-    html.theme--documenter-dark .admonition.is-danger {
-      background-color: #282f2f;
-      border-color: #9e1b0d; }
-      html.theme--documenter-dark .admonition.is-danger > .admonition-header {
-        background-color: #9e1b0d; }
-    html.theme--documenter-dark .admonition.is-compat {
-      background-color: #282f2f;
-      border-color: #137886; }
-      html.theme--documenter-dark .admonition.is-compat > .admonition-header {
-        background-color: #137886; }
-  html.theme--documenter-dark .admonition-header {
-    background-color: #5e6d6f;
-    align-items: center;
-    font-weight: 700;
-    justify-content: space-between;
-    line-height: 1.25;
-    padding: 0.5rem 0.75rem;
-    position: relative; }
-    html.theme--documenter-dark .admonition-header:before {
-      font-family: "Font Awesome 5 Free";
-      font-weight: 900;
-      margin-right: 0.75rem;
-      content: "\f06a"; }
-  html.theme--documenter-dark .admonition-body {
-    color: #fff;
-    padding: 0.5rem 0.75rem; }
-    html.theme--documenter-dark .admonition-body pre {
-      background-color: #282f2f; }
-    html.theme--documenter-dark .admonition-body code {
-      background-color: rgba(255, 255, 255, 0.05); }
-  html.theme--documenter-dark .docstring {
-    margin-bottom: 1em;
-    background-color: transparent;
-    border: 1px solid #5e6d6f;
-    box-shadow: none;
-    max-width: 100%; }
-    html.theme--documenter-dark .docstring > header {
-      display: flex;
-      flex-grow: 1;
-      align-items: stretch;
-      padding: 0.5rem 0.75rem;
-      background-color: #282f2f;
-      box-shadow: 0 1px 2px rgba(10, 10, 10, 0.1);
-      box-shadow: none;
-      border-bottom: 1px solid #5e6d6f; }
-      html.theme--documenter-dark .docstring > header code {
-        background-color: transparent; }
-      html.theme--documenter-dark .docstring > header .docstring-binding {
-        margin-right: 0.3em; }
-      html.theme--documenter-dark .docstring > header .docstring-category {
-        margin-left: 0.3em; }
-    html.theme--documenter-dark .docstring > section {
-      position: relative;
-      padding: 0.75rem 0.75rem;
-      border-bottom: 1px solid #5e6d6f; }
-      html.theme--documenter-dark .docstring > section:last-child {
-        border-bottom: none; }
-      html.theme--documenter-dark .docstring > section > a.docs-sourcelink {
-        transition: opacity 0.3s;
-        opacity: 0;
-        position: absolute;
-        right: 0.375rem;
-        bottom: 0.375rem; }
-        html.theme--documenter-dark .docstring > section > a.docs-sourcelink:focus {
-          opacity: 1 !important; }
-    html.theme--documenter-dark .docstring:hover > section > a.docs-sourcelink {
-      opacity: 0.2; }
-    html.theme--documenter-dark .docstring:focus-within > section > a.docs-sourcelink {
-      opacity: 0.2; }
-    html.theme--documenter-dark .docstring > section:hover a.docs-sourcelink {
-      opacity: 1; }
-  html.theme--documenter-dark .documenter-example-output {
-    background-color: #1f2424; }
-  html.theme--documenter-dark .outdated-warning-overlay {
-    position: fixed;
-    top: 0;
-    left: 0;
-    right: 0;
-    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
-    z-index: 999;
-    background-color: #282f2f;
-    border-bottom: 3px solid #9e1b0d;
-    padding: 10px 35px;
-    text-align: center;
-    font-size: 15px; }
-    html.theme--documenter-dark .outdated-warning-overlay .outdated-warning-closer {
-      position: absolute;
-      top: calc(50% - 10px);
-      right: 18px;
-      cursor: pointer;
-      width: 12px; }
-    html.theme--documenter-dark .outdated-warning-overlay a {
-      color: #1abc9c; }
-      html.theme--documenter-dark .outdated-warning-overlay a:hover {
-        color: #1dd2af; }
-  html.theme--documenter-dark .content pre {
-    border: 1px solid #5e6d6f; }
-  html.theme--documenter-dark .content code {
-    font-weight: inherit; }
-  html.theme--documenter-dark .content a code {
-    color: #1abc9c; }
-  html.theme--documenter-dark .content h1 code, html.theme--documenter-dark .content h2 code, html.theme--documenter-dark .content h3 code, html.theme--documenter-dark .content h4 code, html.theme--documenter-dark .content h5 code, html.theme--documenter-dark .content h6 code {
-    color: #f2f2f2; }
-  html.theme--documenter-dark .content table {
-    display: block;
-    width: initial;
-    max-width: 100%;
-    overflow-x: auto; }
-  html.theme--documenter-dark .content blockquote > ul:first-child, html.theme--documenter-dark .content blockquote > ol:first-child, html.theme--documenter-dark .content .admonition-body > ul:first-child, html.theme--documenter-dark .content .admonition-body > ol:first-child {
-    margin-top: 0; }
-  html.theme--documenter-dark pre, html.theme--documenter-dark code {
-    font-variant-ligatures: no-contextual; }
-  html.theme--documenter-dark .breadcrumb a.is-disabled {
-    cursor: default;
-    pointer-events: none; }
-    html.theme--documenter-dark .breadcrumb a.is-disabled, html.theme--documenter-dark .breadcrumb a.is-disabled:hover {
-      color: #f2f2f2; }
-  html.theme--documenter-dark .hljs {
-    background: initial !important; }
-  html.theme--documenter-dark .katex .katex-mathml {
-    top: 0;
-    right: 0; }
-  html.theme--documenter-dark .katex-display, html.theme--documenter-dark mjx-container, html.theme--documenter-dark .MathJax_Display {
-    margin: 0.5em 0 !important; }
-  html.theme--documenter-dark html {
-    -moz-osx-font-smoothing: auto;
-    -webkit-font-smoothing: auto; }
-  html.theme--documenter-dark li.no-marker {
-    list-style: none; }
-  html.theme--documenter-dark #documenter .docs-main > article {
-    overflow-wrap: break-word; }
-    html.theme--documenter-dark #documenter .docs-main > article .math-container {
-      overflow-x: auto;
-      overflow-y: hidden; }
-  @media screen and (min-width: 1056px) {
-    html.theme--documenter-dark #documenter .docs-main {
-      max-width: 52rem;
-      margin-left: 20rem;
-      padding-right: 1rem; } }
-  @media screen and (max-width: 1055px) {
-    html.theme--documenter-dark #documenter .docs-main {
-      width: 100%; }
-      html.theme--documenter-dark #documenter .docs-main > article {
-        max-width: 52rem;
-        margin-left: auto;
-        margin-right: auto;
-        margin-bottom: 1rem;
-        padding: 0 1rem; }
-      html.theme--documenter-dark #documenter .docs-main > header, html.theme--documenter-dark #documenter .docs-main > nav {
-        max-width: 100%;
-        width: 100%;
-        margin: 0; } }
-  html.theme--documenter-dark #documenter .docs-main header.docs-navbar {
-    background-color: #1f2424;
-    border-bottom: 1px solid #5e6d6f;
-    z-index: 2;
-    min-height: 4rem;
-    margin-bottom: 1rem;
-    display: flex; }
-    html.theme--documenter-dark #documenter .docs-main header.docs-navbar .breadcrumb {
-      flex-grow: 1; }
-    html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right {
-      display: flex;
-      white-space: nowrap; }
-      html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-icon, html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-label, html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-sidebar-button {
-        display: inline-block; }
-      html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-label {
-        padding: 0;
-        margin-left: 0.3em; }
-      html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-settings-button {
-        margin: auto 0 auto 1rem; }
-      html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-sidebar-button {
-        font-size: 1.5rem;
-        margin: auto 0 auto 1rem; }
-    html.theme--documenter-dark #documenter .docs-main header.docs-navbar > * {
-      margin: auto 0; }
-    @media screen and (max-width: 1055px) {
-      html.theme--documenter-dark #documenter .docs-main header.docs-navbar {
-        position: sticky;
-        top: 0;
-        padding: 0 1rem;
-        /* For Headroom.js */
-        transition-property: top, box-shadow;
-        -webkit-transition-property: top, box-shadow;
-        /* Safari */
-        transition-duration: 0.3s;
-        -webkit-transition-duration: 0.3s;
-        /* Safari */ }
-        html.theme--documenter-dark #documenter .docs-main header.docs-navbar.headroom--not-top {
-          box-shadow: 0.2rem 0rem 0.4rem #171717;
-          transition-duration: 0.7s;
-          -webkit-transition-duration: 0.7s;
-          /* Safari */ }
-        html.theme--documenter-dark #documenter .docs-main header.docs-navbar.headroom--unpinned.headroom--not-top.headroom--not-bottom {
-          top: -4.5rem;
-          transition-duration: 0.7s;
-          -webkit-transition-duration: 0.7s;
-          /* Safari */ } }
-  html.theme--documenter-dark #documenter .docs-main section.footnotes {
-    border-top: 1px solid #5e6d6f; }
-    html.theme--documenter-dark #documenter .docs-main section.footnotes li .tag:first-child, html.theme--documenter-dark #documenter .docs-main section.footnotes li .docstring > section > a.docs-sourcelink:first-child, html.theme--documenter-dark #documenter .docs-main section.footnotes li .content kbd:first-child, html.theme--documenter-dark .content #documenter .docs-main section.footnotes li kbd:first-child {
-      margin-right: 1em;
-      margin-bottom: 0.4em; }
-  html.theme--documenter-dark #documenter .docs-main .docs-footer {
-    display: flex;
-    flex-wrap: wrap;
-    margin-left: 0;
-    margin-right: 0;
-    border-top: 1px solid #5e6d6f;
-    padding-top: 1rem;
-    padding-bottom: 1rem; }
-    @media screen and (max-width: 1055px) {
-      html.theme--documenter-dark #documenter .docs-main .docs-footer {
-        padding-left: 1rem;
-        padding-right: 1rem; } }
-    html.theme--documenter-dark #documenter .docs-main .docs-footer .docs-footer-nextpage, html.theme--documenter-dark #documenter .docs-main .docs-footer .docs-footer-prevpage {
-      flex-grow: 1; }
-    html.theme--documenter-dark #documenter .docs-main .docs-footer .docs-footer-nextpage {
-      text-align: right; }
-    html.theme--documenter-dark #documenter .docs-main .docs-footer .flexbox-break {
-      flex-basis: 100%;
-      height: 0; }
-    html.theme--documenter-dark #documenter .docs-main .docs-footer .footer-message {
-      font-size: 0.8em;
-      margin: 0.5em auto 0 auto;
-      text-align: center; }
-  html.theme--documenter-dark #documenter .docs-sidebar {
-    display: flex;
-    flex-direction: column;
-    color: #fff;
-    background-color: #282f2f;
-    border-right: 1px solid #5e6d6f;
-    padding: 0;
-    flex: 0 0 18rem;
-    z-index: 5;
-    font-size: 15px;
-    position: fixed;
-    left: -18rem;
-    width: 18rem;
-    height: 100%;
-    transition: left 0.3s;
-    /* Setting up a nicer theme style for the scrollbar */ }
-    html.theme--documenter-dark #documenter .docs-sidebar.visible {
-      left: 0;
-      box-shadow: 0.4rem 0rem 0.8rem #171717; }
-      @media screen and (min-width: 1056px) {
-        html.theme--documenter-dark #documenter .docs-sidebar.visible {
-          box-shadow: none; } }
-    @media screen and (min-width: 1056px) {
-      html.theme--documenter-dark #documenter .docs-sidebar {
-        left: 0;
-        top: 0; } }
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo {
-      margin-top: 1rem;
-      padding: 0 1rem; }
-      html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img {
-        max-height: 6rem;
-        margin: auto; }
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-package-name {
-      flex-shrink: 0;
-      font-size: 1.5rem;
-      font-weight: 700;
-      text-align: center;
-      white-space: nowrap;
-      overflow: hidden;
-      padding: 0.5rem 0; }
-      html.theme--documenter-dark #documenter .docs-sidebar .docs-package-name .docs-autofit {
-        max-width: 16.2rem; }
-      html.theme--documenter-dark #documenter .docs-sidebar .docs-package-name a, html.theme--documenter-dark #documenter .docs-sidebar .docs-package-name a:hover {
-        color: #fff; }
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-version-selector {
-      border-top: 1px solid #5e6d6f;
-      display: none;
-      padding: 0.5rem; }
-      html.theme--documenter-dark #documenter .docs-sidebar .docs-version-selector.visible {
-        display: flex; }
-    html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu {
-      flex-grow: 1;
-      user-select: none;
-      border-top: 1px solid #5e6d6f;
-      padding-bottom: 1.5rem;
-      /* Managing collapsible submenus */ }
-      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu > li > .tocitem {
-        font-weight: bold; }
-      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu > li li {
-        font-size: 14.25px;
-        margin-left: 1em;
-        border-left: 1px solid #5e6d6f; }
-      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu input.collapse-toggle {
-        display: none; }
-      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu ul.collapsed {
-        display: none; }
-      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu input:checked ~ ul.collapsed {
-        display: block; }
-      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu label.tocitem {
-        display: flex; }
-        html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu label.tocitem .docs-label {
-          flex-grow: 2; }
-        html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu label.tocitem .docs-chevron {
-          display: inline-block;
-          font-style: normal;
-          font-variant: normal;
-          text-rendering: auto;
-          line-height: 1;
-          font-size: 11.25px;
-          margin-left: 1rem;
-          margin-top: auto;
-          margin-bottom: auto; }
-          html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu label.tocitem .docs-chevron::before {
-            font-family: "Font Awesome 5 Free";
-            font-weight: 900;
-            content: "\f054"; }
-      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu input:checked ~ label.tocitem .docs-chevron::before {
-        content: "\f078"; }
-      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu .tocitem {
-        display: block;
-        padding: 0.5rem 0.5rem; }
-        html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu .tocitem, html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu .tocitem:hover {
-          color: #fff;
-          background: #282f2f; }
-      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu a.tocitem:hover, html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu label.tocitem:hover {
-        color: #fff;
-        background-color: #32393a; }
-      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu li.is-active {
-        border-top: 1px solid #5e6d6f;
-        border-bottom: 1px solid #5e6d6f;
-        background-color: #1f2424; }
-        html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu li.is-active .tocitem, html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu li.is-active .tocitem:hover {
-          background-color: #1f2424;
-          color: #fff; }
-        html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu li.is-active ul.internal .tocitem:hover {
-          background-color: #32393a;
-          color: #fff; }
-      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu > li.is-active:first-child {
-        border-top: none; }
-      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu ul.internal {
-        margin: 0 0.5rem 0.5rem;
-        border-top: 1px solid #5e6d6f; }
-        html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu ul.internal li {
-          font-size: 12.75px;
-          border-left: none;
-          margin-left: 0;
-          margin-top: 0.5rem; }
-        html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu ul.internal .tocitem {
-          width: 100%;
-          padding: 0; }
-          html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu ul.internal .tocitem::before {
-            content: "⚬";
-            margin-right: 0.4em; }
-    html.theme--documenter-dark #documenter .docs-sidebar form.docs-search {
-      margin: auto;
-      margin-top: 0.5rem;
-      margin-bottom: 0.5rem; }
-      html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input {
-        width: 14.4rem; }
-    @media screen and (min-width: 1056px) {
-      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu {
-        overflow-y: auto;
-        -webkit-overflow-scroll: touch; }
-        html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar {
-          width: .3rem;
-          background: none; }
-        html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar-thumb {
-          border-radius: 5px 0px 0px 5px;
-          background: #3b4445; }
-        html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar-thumb:hover {
-          background: #4e5a5c; } }
-    @media screen and (max-width: 1055px) {
-      html.theme--documenter-dark #documenter .docs-sidebar {
-        overflow-y: auto;
-        -webkit-overflow-scroll: touch; }
-        html.theme--documenter-dark #documenter .docs-sidebar::-webkit-scrollbar {
-          width: .3rem;
-          background: none; }
-        html.theme--documenter-dark #documenter .docs-sidebar::-webkit-scrollbar-thumb {
-          border-radius: 5px 0px 0px 5px;
-          background: #3b4445; }
-        html.theme--documenter-dark #documenter .docs-sidebar::-webkit-scrollbar-thumb:hover {
-          background: #4e5a5c; } }
-  html.theme--documenter-dark #documenter .docs-main #documenter-search-info {
-    margin-bottom: 1rem; }
-  html.theme--documenter-dark #documenter .docs-main #documenter-search-results {
-    list-style-type: circle;
-    list-style-position: outside; }
-    html.theme--documenter-dark #documenter .docs-main #documenter-search-results li {
-      margin-left: 2rem; }
-    html.theme--documenter-dark #documenter .docs-main #documenter-search-results .docs-highlight {
-      background-color: yellow; }
-  html.theme--documenter-dark {
-    background-color: #1f2424;
-    font-size: 16px;
-    min-width: 300px;
-    overflow-x: auto;
-    overflow-y: scroll;
-    text-rendering: optimizeLegibility;
-    text-size-adjust: 100%; }
-  html.theme--documenter-dark .ansi span.sgr1 {
-    font-weight: bolder; }
-  html.theme--documenter-dark .ansi span.sgr2 {
-    font-weight: lighter; }
-  html.theme--documenter-dark .ansi span.sgr3 {
-    font-style: italic; }
-  html.theme--documenter-dark .ansi span.sgr4 {
-    text-decoration: underline; }
-  html.theme--documenter-dark .ansi span.sgr7 {
-    color: #1f2424;
-    background-color: #fff; }
-  html.theme--documenter-dark .ansi span.sgr8 {
-    color: transparent; }
-    html.theme--documenter-dark .ansi span.sgr8 span {
-      color: transparent; }
-  html.theme--documenter-dark .ansi span.sgr9 {
-    text-decoration: line-through; }
-  html.theme--documenter-dark .ansi span.sgr30 {
-    color: #242424; }
-  html.theme--documenter-dark .ansi span.sgr31 {
-    color: #f6705f; }
-  html.theme--documenter-dark .ansi span.sgr32 {
-    color: #4fb43a; }
-  html.theme--documenter-dark .ansi span.sgr33 {
-    color: #f4c72f; }
-  html.theme--documenter-dark .ansi span.sgr34 {
-    color: #7587f0; }
-  html.theme--documenter-dark .ansi span.sgr35 {
-    color: #bc89d3; }
-  html.theme--documenter-dark .ansi span.sgr36 {
-    color: #49b6ca; }
-  html.theme--documenter-dark .ansi span.sgr37 {
-    color: #b3bdbe; }
-  html.theme--documenter-dark .ansi span.sgr40 {
-    background-color: #242424; }
-  html.theme--documenter-dark .ansi span.sgr41 {
-    background-color: #f6705f; }
-  html.theme--documenter-dark .ansi span.sgr42 {
-    background-color: #4fb43a; }
-  html.theme--documenter-dark .ansi span.sgr43 {
-    background-color: #f4c72f; }
-  html.theme--documenter-dark .ansi span.sgr44 {
-    background-color: #7587f0; }
-  html.theme--documenter-dark .ansi span.sgr45 {
-    background-color: #bc89d3; }
-  html.theme--documenter-dark .ansi span.sgr46 {
-    background-color: #49b6ca; }
-  html.theme--documenter-dark .ansi span.sgr47 {
-    background-color: #b3bdbe; }
-  html.theme--documenter-dark .ansi span.sgr90 {
-    color: #92a0a2; }
-  html.theme--documenter-dark .ansi span.sgr91 {
-    color: #ff8674; }
-  html.theme--documenter-dark .ansi span.sgr92 {
-    color: #79d462; }
-  html.theme--documenter-dark .ansi span.sgr93 {
-    color: #ffe76b; }
-  html.theme--documenter-dark .ansi span.sgr94 {
-    color: #8a98ff; }
-  html.theme--documenter-dark .ansi span.sgr95 {
-    color: #d2a4e6; }
-  html.theme--documenter-dark .ansi span.sgr96 {
-    color: #6bc8db; }
-  html.theme--documenter-dark .ansi span.sgr97 {
-    color: #ecf0f1; }
-  html.theme--documenter-dark .ansi span.sgr100 {
-    background-color: #92a0a2; }
-  html.theme--documenter-dark .ansi span.sgr101 {
-    background-color: #ff8674; }
-  html.theme--documenter-dark .ansi span.sgr102 {
-    background-color: #79d462; }
-  html.theme--documenter-dark .ansi span.sgr103 {
-    background-color: #ffe76b; }
-  html.theme--documenter-dark .ansi span.sgr104 {
-    background-color: #8a98ff; }
-  html.theme--documenter-dark .ansi span.sgr105 {
-    background-color: #d2a4e6; }
-  html.theme--documenter-dark .ansi span.sgr106 {
-    background-color: #6bc8db; }
-  html.theme--documenter-dark .ansi span.sgr107 {
-    background-color: #ecf0f1; }
-  html.theme--documenter-dark code.language-julia-repl > span.hljs-meta {
-    color: #4fb43a;
-    font-weight: bolder; }
-  html.theme--documenter-dark .hljs {
-    background: #2b2b2b;
-    color: #f8f8f2; }
-  html.theme--documenter-dark .hljs-comment,
-  html.theme--documenter-dark .hljs-quote {
-    color: #d4d0ab; }
-  html.theme--documenter-dark .hljs-variable,
-  html.theme--documenter-dark .hljs-template-variable,
-  html.theme--documenter-dark .hljs-tag,
-  html.theme--documenter-dark .hljs-name,
-  html.theme--documenter-dark .hljs-selector-id,
-  html.theme--documenter-dark .hljs-selector-class,
-  html.theme--documenter-dark .hljs-regexp,
-  html.theme--documenter-dark .hljs-deletion {
-    color: #ffa07a; }
-  html.theme--documenter-dark .hljs-number,
-  html.theme--documenter-dark .hljs-built_in,
-  html.theme--documenter-dark .hljs-literal,
-  html.theme--documenter-dark .hljs-type,
-  html.theme--documenter-dark .hljs-params,
-  html.theme--documenter-dark .hljs-meta,
-  html.theme--documenter-dark .hljs-link {
-    color: #f5ab35; }
-  html.theme--documenter-dark .hljs-attribute {
-    color: #ffd700; }
-  html.theme--documenter-dark .hljs-string,
-  html.theme--documenter-dark .hljs-symbol,
-  html.theme--documenter-dark .hljs-bullet,
-  html.theme--documenter-dark .hljs-addition {
-    color: #abe338; }
-  html.theme--documenter-dark .hljs-title,
-  html.theme--documenter-dark .hljs-section {
-    color: #00e0e0; }
-  html.theme--documenter-dark .hljs-keyword,
-  html.theme--documenter-dark .hljs-selector-tag {
-    color: #dcc6e0; }
-  html.theme--documenter-dark .hljs-emphasis {
-    font-style: italic; }
-  html.theme--documenter-dark .hljs-strong {
-    font-weight: bold; }
-  @media screen and (-ms-high-contrast: active) {
-    html.theme--documenter-dark .hljs-addition,
-    html.theme--documenter-dark .hljs-attribute,
-    html.theme--documenter-dark .hljs-built_in,
-    html.theme--documenter-dark .hljs-bullet,
-    html.theme--documenter-dark .hljs-comment,
-    html.theme--documenter-dark .hljs-link,
-    html.theme--documenter-dark .hljs-literal,
-    html.theme--documenter-dark .hljs-meta,
-    html.theme--documenter-dark .hljs-number,
-    html.theme--documenter-dark .hljs-params,
-    html.theme--documenter-dark .hljs-string,
-    html.theme--documenter-dark .hljs-symbol,
-    html.theme--documenter-dark .hljs-type,
-    html.theme--documenter-dark .hljs-quote {
-      color: highlight; }
-    html.theme--documenter-dark .hljs-keyword,
-    html.theme--documenter-dark .hljs-selector-tag {
-      font-weight: bold; } }
-  html.theme--documenter-dark .hljs-subst {
-    color: #f8f8f2; }
diff --git a/previews/PR626/assets/themes/documenter-light.css b/previews/PR626/assets/themes/documenter-light.css
deleted file mode 100644
index 9595d5b8e..000000000
--- a/previews/PR626/assets/themes/documenter-light.css
+++ /dev/null
@@ -1,7738 +0,0 @@
-@charset "UTF-8";
-/* Font Awesome 5 mixin. Can be included in any rule that should render Font Awesome icons. */
-@keyframes spinAround {
-  from {
-    transform: rotate(0deg); }
-  to {
-    transform: rotate(359deg); } }
-
-.tabs, .pagination-previous,
-.pagination-next,
-.pagination-link,
-.pagination-ellipsis, .breadcrumb, .file, .button, .is-unselectable, .modal-close, .delete {
-  -webkit-touch-callout: none;
-  -webkit-user-select: none;
-  -moz-user-select: none;
-  -ms-user-select: none;
-  user-select: none; }
-
-.navbar-link:not(.is-arrowless)::after, .select:not(.is-multiple):not(.is-loading)::after {
-  border: 3px solid transparent;
-  border-radius: 2px;
-  border-right: 0;
-  border-top: 0;
-  content: " ";
-  display: block;
-  height: 0.625em;
-  margin-top: -0.4375em;
-  pointer-events: none;
-  position: absolute;
-  top: 50%;
-  transform: rotate(-45deg);
-  transform-origin: center;
-  width: 0.625em; }
-
-.admonition:not(:last-child), .tabs:not(:last-child), .message:not(:last-child), .list:not(:last-child), .level:not(:last-child), .breadcrumb:not(:last-child), .highlight:not(:last-child), .block:not(:last-child), .title:not(:last-child),
-.subtitle:not(:last-child), .table-container:not(:last-child), .table:not(:last-child), .progress:not(:last-child), .notification:not(:last-child), .content:not(:last-child), .box:not(:last-child) {
-  margin-bottom: 1.5rem; }
-
-.modal-close, .delete {
-  -moz-appearance: none;
-  -webkit-appearance: none;
-  background-color: rgba(10, 10, 10, 0.2);
-  border: none;
-  border-radius: 290486px;
-  cursor: pointer;
-  pointer-events: auto;
-  display: inline-block;
-  flex-grow: 0;
-  flex-shrink: 0;
-  font-size: 0;
-  height: 20px;
-  max-height: 20px;
-  max-width: 20px;
-  min-height: 20px;
-  min-width: 20px;
-  outline: none;
-  position: relative;
-  vertical-align: top;
-  width: 20px; }
-  .modal-close::before, .delete::before, .modal-close::after, .delete::after {
-    background-color: white;
-    content: "";
-    display: block;
-    left: 50%;
-    position: absolute;
-    top: 50%;
-    transform: translateX(-50%) translateY(-50%) rotate(45deg);
-    transform-origin: center center; }
-  .modal-close::before, .delete::before {
-    height: 2px;
-    width: 50%; }
-  .modal-close::after, .delete::after {
-    height: 50%;
-    width: 2px; }
-  .modal-close:hover, .delete:hover, .modal-close:focus, .delete:focus {
-    background-color: rgba(10, 10, 10, 0.3); }
-  .modal-close:active, .delete:active {
-    background-color: rgba(10, 10, 10, 0.4); }
-  .is-small.modal-close, #documenter .docs-sidebar form.docs-search > input.modal-close, .is-small.delete, #documenter .docs-sidebar form.docs-search > input.delete {
-    height: 16px;
-    max-height: 16px;
-    max-width: 16px;
-    min-height: 16px;
-    min-width: 16px;
-    width: 16px; }
-  .is-medium.modal-close, .is-medium.delete {
-    height: 24px;
-    max-height: 24px;
-    max-width: 24px;
-    min-height: 24px;
-    min-width: 24px;
-    width: 24px; }
-  .is-large.modal-close, .is-large.delete {
-    height: 32px;
-    max-height: 32px;
-    max-width: 32px;
-    min-height: 32px;
-    min-width: 32px;
-    width: 32px; }
-
-.control.is-loading::after, .select.is-loading::after, .loader, .button.is-loading::after {
-  animation: spinAround 500ms infinite linear;
-  border: 2px solid #dbdbdb;
-  border-radius: 290486px;
-  border-right-color: transparent;
-  border-top-color: transparent;
-  content: "";
-  display: block;
-  height: 1em;
-  position: relative;
-  width: 1em; }
-
-.hero-video, .modal-background, .modal, .image.is-square img, #documenter .docs-sidebar .docs-logo > img.is-square img,
-.image.is-square .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-square .has-ratio, .image.is-1by1 img, #documenter .docs-sidebar .docs-logo > img.is-1by1 img,
-.image.is-1by1 .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-1by1 .has-ratio, .image.is-5by4 img, #documenter .docs-sidebar .docs-logo > img.is-5by4 img,
-.image.is-5by4 .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-5by4 .has-ratio, .image.is-4by3 img, #documenter .docs-sidebar .docs-logo > img.is-4by3 img,
-.image.is-4by3 .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-4by3 .has-ratio, .image.is-3by2 img, #documenter .docs-sidebar .docs-logo > img.is-3by2 img,
-.image.is-3by2 .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-3by2 .has-ratio, .image.is-5by3 img, #documenter .docs-sidebar .docs-logo > img.is-5by3 img,
-.image.is-5by3 .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-5by3 .has-ratio, .image.is-16by9 img, #documenter .docs-sidebar .docs-logo > img.is-16by9 img,
-.image.is-16by9 .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-16by9 .has-ratio, .image.is-2by1 img, #documenter .docs-sidebar .docs-logo > img.is-2by1 img,
-.image.is-2by1 .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-2by1 .has-ratio, .image.is-3by1 img, #documenter .docs-sidebar .docs-logo > img.is-3by1 img,
-.image.is-3by1 .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-3by1 .has-ratio, .image.is-4by5 img, #documenter .docs-sidebar .docs-logo > img.is-4by5 img,
-.image.is-4by5 .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-4by5 .has-ratio, .image.is-3by4 img, #documenter .docs-sidebar .docs-logo > img.is-3by4 img,
-.image.is-3by4 .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-3by4 .has-ratio, .image.is-2by3 img, #documenter .docs-sidebar .docs-logo > img.is-2by3 img,
-.image.is-2by3 .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-2by3 .has-ratio, .image.is-3by5 img, #documenter .docs-sidebar .docs-logo > img.is-3by5 img,
-.image.is-3by5 .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-3by5 .has-ratio, .image.is-9by16 img, #documenter .docs-sidebar .docs-logo > img.is-9by16 img,
-.image.is-9by16 .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-9by16 .has-ratio, .image.is-1by2 img, #documenter .docs-sidebar .docs-logo > img.is-1by2 img,
-.image.is-1by2 .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-1by2 .has-ratio, .image.is-1by3 img, #documenter .docs-sidebar .docs-logo > img.is-1by3 img,
-.image.is-1by3 .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-1by3 .has-ratio, .is-overlay {
-  bottom: 0;
-  left: 0;
-  position: absolute;
-  right: 0;
-  top: 0; }
-
-.pagination-previous,
-.pagination-next,
-.pagination-link,
-.pagination-ellipsis, .file-cta,
-.file-name, .select select, .textarea, .input, #documenter .docs-sidebar form.docs-search > input, .button {
-  -moz-appearance: none;
-  -webkit-appearance: none;
-  align-items: center;
-  border: 1px solid transparent;
-  border-radius: 4px;
-  box-shadow: none;
-  display: inline-flex;
-  font-size: 1rem;
-  height: 2.25em;
-  justify-content: flex-start;
-  line-height: 1.5;
-  padding-bottom: calc(0.375em - 1px);
-  padding-left: calc(0.625em - 1px);
-  padding-right: calc(0.625em - 1px);
-  padding-top: calc(0.375em - 1px);
-  position: relative;
-  vertical-align: top; }
-  .pagination-previous:focus,
-  .pagination-next:focus,
-  .pagination-link:focus,
-  .pagination-ellipsis:focus, .file-cta:focus,
-  .file-name:focus, .select select:focus, .textarea:focus, .input:focus, #documenter .docs-sidebar form.docs-search > input:focus, .button:focus, .is-focused.pagination-previous,
-  .is-focused.pagination-next,
-  .is-focused.pagination-link,
-  .is-focused.pagination-ellipsis, .is-focused.file-cta,
-  .is-focused.file-name, .select select.is-focused, .is-focused.textarea, .is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-focused.button, .pagination-previous:active,
-  .pagination-next:active,
-  .pagination-link:active,
-  .pagination-ellipsis:active, .file-cta:active,
-  .file-name:active, .select select:active, .textarea:active, .input:active, #documenter .docs-sidebar form.docs-search > input:active, .button:active, .is-active.pagination-previous,
-  .is-active.pagination-next,
-  .is-active.pagination-link,
-  .is-active.pagination-ellipsis, .is-active.file-cta,
-  .is-active.file-name, .select select.is-active, .is-active.textarea, .is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active, .is-active.button {
-    outline: none; }
-  .pagination-previous[disabled],
-  .pagination-next[disabled],
-  .pagination-link[disabled],
-  .pagination-ellipsis[disabled], .file-cta[disabled],
-  .file-name[disabled], .select select[disabled], .textarea[disabled], .input[disabled], #documenter .docs-sidebar form.docs-search > input[disabled], .button[disabled], fieldset[disabled] .pagination-previous,
-  fieldset[disabled] .pagination-next,
-  fieldset[disabled] .pagination-link,
-  fieldset[disabled] .pagination-ellipsis, fieldset[disabled] .file-cta,
-  fieldset[disabled] .file-name, fieldset[disabled] .select select, .select fieldset[disabled] select, fieldset[disabled] .textarea, fieldset[disabled] .input, fieldset[disabled] #documenter .docs-sidebar form.docs-search > input, #documenter .docs-sidebar fieldset[disabled] form.docs-search > input, fieldset[disabled] .button {
-    cursor: not-allowed; }
-
-/*! minireset.css v0.0.4 | MIT License | github.com/jgthms/minireset.css */
-html,
-body,
-p,
-ol,
-ul,
-li,
-dl,
-dt,
-dd,
-blockquote,
-figure,
-fieldset,
-legend,
-textarea,
-pre,
-iframe,
-hr,
-h1,
-h2,
-h3,
-h4,
-h5,
-h6 {
-  margin: 0;
-  padding: 0; }
-
-h1,
-h2,
-h3,
-h4,
-h5,
-h6 {
-  font-size: 100%;
-  font-weight: normal; }
-
-ul {
-  list-style: none; }
-
-button,
-input,
-select,
-textarea {
-  margin: 0; }
-
-html {
-  box-sizing: border-box; }
-
-*, *::before, *::after {
-  box-sizing: inherit; }
-
-img,
-embed,
-iframe,
-object,
-video {
-  height: auto;
-  max-width: 100%; }
-
-audio {
-  max-width: 100%; }
-
-iframe {
-  border: 0; }
-
-table {
-  border-collapse: collapse;
-  border-spacing: 0; }
-
-td,
-th {
-  padding: 0; }
-  td:not([align]),
-  th:not([align]) {
-    text-align: left; }
-
-html {
-  background-color: white;
-  font-size: 16px;
-  -moz-osx-font-smoothing: grayscale;
-  -webkit-font-smoothing: antialiased;
-  min-width: 300px;
-  overflow-x: auto;
-  overflow-y: scroll;
-  text-rendering: optimizeLegibility;
-  text-size-adjust: 100%; }
-
-article,
-aside,
-figure,
-footer,
-header,
-hgroup,
-section {
-  display: block; }
-
-body,
-button,
-input,
-select,
-textarea {
-  font-family: "Lato Medium", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
-
-code,
-pre {
-  -moz-osx-font-smoothing: auto;
-  -webkit-font-smoothing: auto;
-  font-family: "JuliaMono", "SFMono-Regular", "Menlo", "Consolas", "Liberation Mono", "DejaVu Sans Mono", monospace; }
-
-body {
-  color: #222222;
-  font-size: 1em;
-  font-weight: 400;
-  line-height: 1.5; }
-
-a {
-  color: #2e63b8;
-  cursor: pointer;
-  text-decoration: none; }
-  a strong {
-    color: currentColor; }
-  a:hover {
-    color: #363636; }
-
-code {
-  background-color: rgba(0, 0, 0, 0.05);
-  color: #000000;
-  font-size: 0.875em;
-  font-weight: normal;
-  padding: 0.1em; }
-
-hr {
-  background-color: whitesmoke;
-  border: none;
-  display: block;
-  height: 2px;
-  margin: 1.5rem 0; }
-
-img {
-  height: auto;
-  max-width: 100%; }
-
-input[type="checkbox"],
-input[type="radio"] {
-  vertical-align: baseline; }
-
-small {
-  font-size: 0.875em; }
-
-span {
-  font-style: inherit;
-  font-weight: inherit; }
-
-strong {
-  color: #222222;
-  font-weight: 700; }
-
-fieldset {
-  border: none; }
-
-pre {
-  -webkit-overflow-scrolling: touch;
-  background-color: whitesmoke;
-  color: #222222;
-  font-size: 0.875em;
-  overflow-x: auto;
-  padding: 1.25rem 1.5rem;
-  white-space: pre;
-  word-wrap: normal; }
-  pre code {
-    background-color: transparent;
-    color: currentColor;
-    font-size: 1em;
-    padding: 0; }
-
-table td,
-table th {
-  vertical-align: top; }
-  table td:not([align]),
-  table th:not([align]) {
-    text-align: left; }
-
-table th {
-  color: #222222; }
-
-.is-clearfix::after {
-  clear: both;
-  content: " ";
-  display: table; }
-
-.is-pulled-left {
-  float: left !important; }
-
-.is-pulled-right {
-  float: right !important; }
-
-.is-clipped {
-  overflow: hidden !important; }
-
-.is-size-1 {
-  font-size: 3rem !important; }
-
-.is-size-2 {
-  font-size: 2.5rem !important; }
-
-.is-size-3 {
-  font-size: 2rem !important; }
-
-.is-size-4 {
-  font-size: 1.5rem !important; }
-
-.is-size-5 {
-  font-size: 1.25rem !important; }
-
-.is-size-6 {
-  font-size: 1rem !important; }
-
-.is-size-7, .docstring > section > a.docs-sourcelink {
-  font-size: 0.75rem !important; }
-
-@media screen and (max-width: 768px) {
-  .is-size-1-mobile {
-    font-size: 3rem !important; }
-  .is-size-2-mobile {
-    font-size: 2.5rem !important; }
-  .is-size-3-mobile {
-    font-size: 2rem !important; }
-  .is-size-4-mobile {
-    font-size: 1.5rem !important; }
-  .is-size-5-mobile {
-    font-size: 1.25rem !important; }
-  .is-size-6-mobile {
-    font-size: 1rem !important; }
-  .is-size-7-mobile {
-    font-size: 0.75rem !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-size-1-tablet {
-    font-size: 3rem !important; }
-  .is-size-2-tablet {
-    font-size: 2.5rem !important; }
-  .is-size-3-tablet {
-    font-size: 2rem !important; }
-  .is-size-4-tablet {
-    font-size: 1.5rem !important; }
-  .is-size-5-tablet {
-    font-size: 1.25rem !important; }
-  .is-size-6-tablet {
-    font-size: 1rem !important; }
-  .is-size-7-tablet {
-    font-size: 0.75rem !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-size-1-touch {
-    font-size: 3rem !important; }
-  .is-size-2-touch {
-    font-size: 2.5rem !important; }
-  .is-size-3-touch {
-    font-size: 2rem !important; }
-  .is-size-4-touch {
-    font-size: 1.5rem !important; }
-  .is-size-5-touch {
-    font-size: 1.25rem !important; }
-  .is-size-6-touch {
-    font-size: 1rem !important; }
-  .is-size-7-touch {
-    font-size: 0.75rem !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-size-1-desktop {
-    font-size: 3rem !important; }
-  .is-size-2-desktop {
-    font-size: 2.5rem !important; }
-  .is-size-3-desktop {
-    font-size: 2rem !important; }
-  .is-size-4-desktop {
-    font-size: 1.5rem !important; }
-  .is-size-5-desktop {
-    font-size: 1.25rem !important; }
-  .is-size-6-desktop {
-    font-size: 1rem !important; }
-  .is-size-7-desktop {
-    font-size: 0.75rem !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-size-1-widescreen {
-    font-size: 3rem !important; }
-  .is-size-2-widescreen {
-    font-size: 2.5rem !important; }
-  .is-size-3-widescreen {
-    font-size: 2rem !important; }
-  .is-size-4-widescreen {
-    font-size: 1.5rem !important; }
-  .is-size-5-widescreen {
-    font-size: 1.25rem !important; }
-  .is-size-6-widescreen {
-    font-size: 1rem !important; }
-  .is-size-7-widescreen {
-    font-size: 0.75rem !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-size-1-fullhd {
-    font-size: 3rem !important; }
-  .is-size-2-fullhd {
-    font-size: 2.5rem !important; }
-  .is-size-3-fullhd {
-    font-size: 2rem !important; }
-  .is-size-4-fullhd {
-    font-size: 1.5rem !important; }
-  .is-size-5-fullhd {
-    font-size: 1.25rem !important; }
-  .is-size-6-fullhd {
-    font-size: 1rem !important; }
-  .is-size-7-fullhd {
-    font-size: 0.75rem !important; } }
-
-.has-text-centered {
-  text-align: center !important; }
-
-.has-text-justified {
-  text-align: justify !important; }
-
-.has-text-left {
-  text-align: left !important; }
-
-.has-text-right {
-  text-align: right !important; }
-
-@media screen and (max-width: 768px) {
-  .has-text-centered-mobile {
-    text-align: center !important; } }
-
-@media screen and (min-width: 769px), print {
-  .has-text-centered-tablet {
-    text-align: center !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .has-text-centered-tablet-only {
-    text-align: center !important; } }
-
-@media screen and (max-width: 1055px) {
-  .has-text-centered-touch {
-    text-align: center !important; } }
-
-@media screen and (min-width: 1056px) {
-  .has-text-centered-desktop {
-    text-align: center !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .has-text-centered-desktop-only {
-    text-align: center !important; } }
-
-@media screen and (min-width: 1216px) {
-  .has-text-centered-widescreen {
-    text-align: center !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .has-text-centered-widescreen-only {
-    text-align: center !important; } }
-
-@media screen and (min-width: 1408px) {
-  .has-text-centered-fullhd {
-    text-align: center !important; } }
-
-@media screen and (max-width: 768px) {
-  .has-text-justified-mobile {
-    text-align: justify !important; } }
-
-@media screen and (min-width: 769px), print {
-  .has-text-justified-tablet {
-    text-align: justify !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .has-text-justified-tablet-only {
-    text-align: justify !important; } }
-
-@media screen and (max-width: 1055px) {
-  .has-text-justified-touch {
-    text-align: justify !important; } }
-
-@media screen and (min-width: 1056px) {
-  .has-text-justified-desktop {
-    text-align: justify !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .has-text-justified-desktop-only {
-    text-align: justify !important; } }
-
-@media screen and (min-width: 1216px) {
-  .has-text-justified-widescreen {
-    text-align: justify !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .has-text-justified-widescreen-only {
-    text-align: justify !important; } }
-
-@media screen and (min-width: 1408px) {
-  .has-text-justified-fullhd {
-    text-align: justify !important; } }
-
-@media screen and (max-width: 768px) {
-  .has-text-left-mobile {
-    text-align: left !important; } }
-
-@media screen and (min-width: 769px), print {
-  .has-text-left-tablet {
-    text-align: left !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .has-text-left-tablet-only {
-    text-align: left !important; } }
-
-@media screen and (max-width: 1055px) {
-  .has-text-left-touch {
-    text-align: left !important; } }
-
-@media screen and (min-width: 1056px) {
-  .has-text-left-desktop {
-    text-align: left !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .has-text-left-desktop-only {
-    text-align: left !important; } }
-
-@media screen and (min-width: 1216px) {
-  .has-text-left-widescreen {
-    text-align: left !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .has-text-left-widescreen-only {
-    text-align: left !important; } }
-
-@media screen and (min-width: 1408px) {
-  .has-text-left-fullhd {
-    text-align: left !important; } }
-
-@media screen and (max-width: 768px) {
-  .has-text-right-mobile {
-    text-align: right !important; } }
-
-@media screen and (min-width: 769px), print {
-  .has-text-right-tablet {
-    text-align: right !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .has-text-right-tablet-only {
-    text-align: right !important; } }
-
-@media screen and (max-width: 1055px) {
-  .has-text-right-touch {
-    text-align: right !important; } }
-
-@media screen and (min-width: 1056px) {
-  .has-text-right-desktop {
-    text-align: right !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .has-text-right-desktop-only {
-    text-align: right !important; } }
-
-@media screen and (min-width: 1216px) {
-  .has-text-right-widescreen {
-    text-align: right !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .has-text-right-widescreen-only {
-    text-align: right !important; } }
-
-@media screen and (min-width: 1408px) {
-  .has-text-right-fullhd {
-    text-align: right !important; } }
-
-.is-capitalized {
-  text-transform: capitalize !important; }
-
-.is-lowercase {
-  text-transform: lowercase !important; }
-
-.is-uppercase {
-  text-transform: uppercase !important; }
-
-.is-italic {
-  font-style: italic !important; }
-
-.has-text-white {
-  color: white !important; }
-
-a.has-text-white:hover, a.has-text-white:focus {
-  color: #e6e6e6 !important; }
-
-.has-background-white {
-  background-color: white !important; }
-
-.has-text-black {
-  color: #0a0a0a !important; }
-
-a.has-text-black:hover, a.has-text-black:focus {
-  color: black !important; }
-
-.has-background-black {
-  background-color: #0a0a0a !important; }
-
-.has-text-light {
-  color: whitesmoke !important; }
-
-a.has-text-light:hover, a.has-text-light:focus {
-  color: #dbdbdb !important; }
-
-.has-background-light {
-  background-color: whitesmoke !important; }
-
-.has-text-dark {
-  color: #363636 !important; }
-
-a.has-text-dark:hover, a.has-text-dark:focus {
-  color: #1c1c1c !important; }
-
-.has-background-dark {
-  background-color: #363636 !important; }
-
-.has-text-primary {
-  color: #4eb5de !important; }
-
-a.has-text-primary:hover, a.has-text-primary:focus {
-  color: #27a1d2 !important; }
-
-.has-background-primary {
-  background-color: #4eb5de !important; }
-
-.has-text-link {
-  color: #2e63b8 !important; }
-
-a.has-text-link:hover, a.has-text-link:focus {
-  color: #244d8f !important; }
-
-.has-background-link {
-  background-color: #2e63b8 !important; }
-
-.has-text-info {
-  color: #209cee !important; }
-
-a.has-text-info:hover, a.has-text-info:focus {
-  color: #1081cb !important; }
-
-.has-background-info {
-  background-color: #209cee !important; }
-
-.has-text-success {
-  color: #22c35b !important; }
-
-a.has-text-success:hover, a.has-text-success:focus {
-  color: #1a9847 !important; }
-
-.has-background-success {
-  background-color: #22c35b !important; }
-
-.has-text-warning {
-  color: #ffdd57 !important; }
-
-a.has-text-warning:hover, a.has-text-warning:focus {
-  color: #ffd324 !important; }
-
-.has-background-warning {
-  background-color: #ffdd57 !important; }
-
-.has-text-danger {
-  color: #da0b00 !important; }
-
-a.has-text-danger:hover, a.has-text-danger:focus {
-  color: #a70800 !important; }
-
-.has-background-danger {
-  background-color: #da0b00 !important; }
-
-.has-text-black-bis {
-  color: #121212 !important; }
-
-.has-background-black-bis {
-  background-color: #121212 !important; }
-
-.has-text-black-ter {
-  color: #242424 !important; }
-
-.has-background-black-ter {
-  background-color: #242424 !important; }
-
-.has-text-grey-darker {
-  color: #363636 !important; }
-
-.has-background-grey-darker {
-  background-color: #363636 !important; }
-
-.has-text-grey-dark {
-  color: #4a4a4a !important; }
-
-.has-background-grey-dark {
-  background-color: #4a4a4a !important; }
-
-.has-text-grey {
-  color: #6b6b6b !important; }
-
-.has-background-grey {
-  background-color: #6b6b6b !important; }
-
-.has-text-grey-light {
-  color: #b5b5b5 !important; }
-
-.has-background-grey-light {
-  background-color: #b5b5b5 !important; }
-
-.has-text-grey-lighter {
-  color: #dbdbdb !important; }
-
-.has-background-grey-lighter {
-  background-color: #dbdbdb !important; }
-
-.has-text-white-ter {
-  color: whitesmoke !important; }
-
-.has-background-white-ter {
-  background-color: whitesmoke !important; }
-
-.has-text-white-bis {
-  color: #fafafa !important; }
-
-.has-background-white-bis {
-  background-color: #fafafa !important; }
-
-.has-text-weight-light {
-  font-weight: 300 !important; }
-
-.has-text-weight-normal {
-  font-weight: 400 !important; }
-
-.has-text-weight-medium {
-  font-weight: 500 !important; }
-
-.has-text-weight-semibold {
-  font-weight: 600 !important; }
-
-.has-text-weight-bold {
-  font-weight: 700 !important; }
-
-.is-family-primary {
-  font-family: "Lato Medium", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; }
-
-.is-family-secondary {
-  font-family: "Lato Medium", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; }
-
-.is-family-sans-serif {
-  font-family: "Lato Medium", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; }
-
-.is-family-monospace {
-  font-family: "JuliaMono", "SFMono-Regular", "Menlo", "Consolas", "Liberation Mono", "DejaVu Sans Mono", monospace !important; }
-
-.is-family-code {
-  font-family: "JuliaMono", "SFMono-Regular", "Menlo", "Consolas", "Liberation Mono", "DejaVu Sans Mono", monospace !important; }
-
-.is-block {
-  display: block !important; }
-
-@media screen and (max-width: 768px) {
-  .is-block-mobile {
-    display: block !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-block-tablet {
-    display: block !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .is-block-tablet-only {
-    display: block !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-block-touch {
-    display: block !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-block-desktop {
-    display: block !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .is-block-desktop-only {
-    display: block !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-block-widescreen {
-    display: block !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .is-block-widescreen-only {
-    display: block !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-block-fullhd {
-    display: block !important; } }
-
-.is-flex {
-  display: flex !important; }
-
-@media screen and (max-width: 768px) {
-  .is-flex-mobile {
-    display: flex !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-flex-tablet {
-    display: flex !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .is-flex-tablet-only {
-    display: flex !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-flex-touch {
-    display: flex !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-flex-desktop {
-    display: flex !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .is-flex-desktop-only {
-    display: flex !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-flex-widescreen {
-    display: flex !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .is-flex-widescreen-only {
-    display: flex !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-flex-fullhd {
-    display: flex !important; } }
-
-.is-inline {
-  display: inline !important; }
-
-@media screen and (max-width: 768px) {
-  .is-inline-mobile {
-    display: inline !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-inline-tablet {
-    display: inline !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .is-inline-tablet-only {
-    display: inline !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-inline-touch {
-    display: inline !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-inline-desktop {
-    display: inline !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .is-inline-desktop-only {
-    display: inline !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-inline-widescreen {
-    display: inline !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .is-inline-widescreen-only {
-    display: inline !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-inline-fullhd {
-    display: inline !important; } }
-
-.is-inline-block {
-  display: inline-block !important; }
-
-@media screen and (max-width: 768px) {
-  .is-inline-block-mobile {
-    display: inline-block !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-inline-block-tablet {
-    display: inline-block !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .is-inline-block-tablet-only {
-    display: inline-block !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-inline-block-touch {
-    display: inline-block !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-inline-block-desktop {
-    display: inline-block !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .is-inline-block-desktop-only {
-    display: inline-block !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-inline-block-widescreen {
-    display: inline-block !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .is-inline-block-widescreen-only {
-    display: inline-block !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-inline-block-fullhd {
-    display: inline-block !important; } }
-
-.is-inline-flex {
-  display: inline-flex !important; }
-
-@media screen and (max-width: 768px) {
-  .is-inline-flex-mobile {
-    display: inline-flex !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-inline-flex-tablet {
-    display: inline-flex !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .is-inline-flex-tablet-only {
-    display: inline-flex !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-inline-flex-touch {
-    display: inline-flex !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-inline-flex-desktop {
-    display: inline-flex !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .is-inline-flex-desktop-only {
-    display: inline-flex !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-inline-flex-widescreen {
-    display: inline-flex !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .is-inline-flex-widescreen-only {
-    display: inline-flex !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-inline-flex-fullhd {
-    display: inline-flex !important; } }
-
-.is-hidden {
-  display: none !important; }
-
-.is-sr-only {
-  border: none !important;
-  clip: rect(0, 0, 0, 0) !important;
-  height: 0.01em !important;
-  overflow: hidden !important;
-  padding: 0 !important;
-  position: absolute !important;
-  white-space: nowrap !important;
-  width: 0.01em !important; }
-
-@media screen and (max-width: 768px) {
-  .is-hidden-mobile {
-    display: none !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-hidden-tablet {
-    display: none !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .is-hidden-tablet-only {
-    display: none !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-hidden-touch {
-    display: none !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-hidden-desktop {
-    display: none !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .is-hidden-desktop-only {
-    display: none !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-hidden-widescreen {
-    display: none !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .is-hidden-widescreen-only {
-    display: none !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-hidden-fullhd {
-    display: none !important; } }
-
-.is-invisible {
-  visibility: hidden !important; }
-
-@media screen and (max-width: 768px) {
-  .is-invisible-mobile {
-    visibility: hidden !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-invisible-tablet {
-    visibility: hidden !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .is-invisible-tablet-only {
-    visibility: hidden !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-invisible-touch {
-    visibility: hidden !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-invisible-desktop {
-    visibility: hidden !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .is-invisible-desktop-only {
-    visibility: hidden !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-invisible-widescreen {
-    visibility: hidden !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .is-invisible-widescreen-only {
-    visibility: hidden !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-invisible-fullhd {
-    visibility: hidden !important; } }
-
-.is-marginless {
-  margin: 0 !important; }
-
-.is-paddingless {
-  padding: 0 !important; }
-
-.is-radiusless {
-  border-radius: 0 !important; }
-
-.is-shadowless {
-  box-shadow: none !important; }
-
-.is-relative {
-  position: relative !important; }
-
-.box {
-  background-color: white;
-  border-radius: 6px;
-  box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
-  color: #222222;
-  display: block;
-  padding: 1.25rem; }
-
-a.box:hover, a.box:focus {
-  box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px #2e63b8; }
-
-a.box:active {
-  box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2), 0 0 0 1px #2e63b8; }
-
-.button {
-  background-color: white;
-  border-color: #dbdbdb;
-  border-width: 1px;
-  color: #363636;
-  cursor: pointer;
-  justify-content: center;
-  padding-bottom: calc(0.375em - 1px);
-  padding-left: 0.75em;
-  padding-right: 0.75em;
-  padding-top: calc(0.375em - 1px);
-  text-align: center;
-  white-space: nowrap; }
-  .button strong {
-    color: inherit; }
-  .button .icon, .button .icon.is-small, .button #documenter .docs-sidebar form.docs-search > input.icon, #documenter .docs-sidebar .button form.docs-search > input.icon, .button .icon.is-medium, .button .icon.is-large {
-    height: 1.5em;
-    width: 1.5em; }
-  .button .icon:first-child:not(:last-child) {
-    margin-left: calc(-0.375em - 1px);
-    margin-right: 0.1875em; }
-  .button .icon:last-child:not(:first-child) {
-    margin-left: 0.1875em;
-    margin-right: calc(-0.375em - 1px); }
-  .button .icon:first-child:last-child {
-    margin-left: calc(-0.375em - 1px);
-    margin-right: calc(-0.375em - 1px); }
-  .button:hover, .button.is-hovered {
-    border-color: #b5b5b5;
-    color: #363636; }
-  .button:focus, .button.is-focused {
-    border-color: #3c5dcd;
-    color: #363636; }
-    .button:focus:not(:active), .button.is-focused:not(:active) {
-      box-shadow: 0 0 0 0.125em rgba(46, 99, 184, 0.25); }
-  .button:active, .button.is-active {
-    border-color: #4a4a4a;
-    color: #363636; }
-  .button.is-text {
-    background-color: transparent;
-    border-color: transparent;
-    color: #222222;
-    text-decoration: underline; }
-    .button.is-text:hover, .button.is-text.is-hovered, .button.is-text:focus, .button.is-text.is-focused {
-      background-color: whitesmoke;
-      color: #222222; }
-    .button.is-text:active, .button.is-text.is-active {
-      background-color: #e8e8e8;
-      color: #222222; }
-    .button.is-text[disabled], fieldset[disabled] .button.is-text {
-      background-color: transparent;
-      border-color: transparent;
-      box-shadow: none; }
-  .button.is-white {
-    background-color: white;
-    border-color: transparent;
-    color: #0a0a0a; }
-    .button.is-white:hover, .button.is-white.is-hovered {
-      background-color: #f9f9f9;
-      border-color: transparent;
-      color: #0a0a0a; }
-    .button.is-white:focus, .button.is-white.is-focused {
-      border-color: transparent;
-      color: #0a0a0a; }
-      .button.is-white:focus:not(:active), .button.is-white.is-focused:not(:active) {
-        box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); }
-    .button.is-white:active, .button.is-white.is-active {
-      background-color: #f2f2f2;
-      border-color: transparent;
-      color: #0a0a0a; }
-    .button.is-white[disabled], fieldset[disabled] .button.is-white {
-      background-color: white;
-      border-color: transparent;
-      box-shadow: none; }
-    .button.is-white.is-inverted {
-      background-color: #0a0a0a;
-      color: white; }
-      .button.is-white.is-inverted:hover, .button.is-white.is-inverted.is-hovered {
-        background-color: black; }
-      .button.is-white.is-inverted[disabled], fieldset[disabled] .button.is-white.is-inverted {
-        background-color: #0a0a0a;
-        border-color: transparent;
-        box-shadow: none;
-        color: white; }
-    .button.is-white.is-loading::after {
-      border-color: transparent transparent #0a0a0a #0a0a0a !important; }
-    .button.is-white.is-outlined {
-      background-color: transparent;
-      border-color: white;
-      color: white; }
-      .button.is-white.is-outlined:hover, .button.is-white.is-outlined.is-hovered, .button.is-white.is-outlined:focus, .button.is-white.is-outlined.is-focused {
-        background-color: white;
-        border-color: white;
-        color: #0a0a0a; }
-      .button.is-white.is-outlined.is-loading::after {
-        border-color: transparent transparent white white !important; }
-      .button.is-white.is-outlined.is-loading:hover::after, .button.is-white.is-outlined.is-loading.is-hovered::after, .button.is-white.is-outlined.is-loading:focus::after, .button.is-white.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent #0a0a0a #0a0a0a !important; }
-      .button.is-white.is-outlined[disabled], fieldset[disabled] .button.is-white.is-outlined {
-        background-color: transparent;
-        border-color: white;
-        box-shadow: none;
-        color: white; }
-    .button.is-white.is-inverted.is-outlined {
-      background-color: transparent;
-      border-color: #0a0a0a;
-      color: #0a0a0a; }
-      .button.is-white.is-inverted.is-outlined:hover, .button.is-white.is-inverted.is-outlined.is-hovered, .button.is-white.is-inverted.is-outlined:focus, .button.is-white.is-inverted.is-outlined.is-focused {
-        background-color: #0a0a0a;
-        color: white; }
-      .button.is-white.is-inverted.is-outlined.is-loading:hover::after, .button.is-white.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-white.is-inverted.is-outlined.is-loading:focus::after, .button.is-white.is-inverted.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent white white !important; }
-      .button.is-white.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-white.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: #0a0a0a;
-        box-shadow: none;
-        color: #0a0a0a; }
-  .button.is-black {
-    background-color: #0a0a0a;
-    border-color: transparent;
-    color: white; }
-    .button.is-black:hover, .button.is-black.is-hovered {
-      background-color: #040404;
-      border-color: transparent;
-      color: white; }
-    .button.is-black:focus, .button.is-black.is-focused {
-      border-color: transparent;
-      color: white; }
-      .button.is-black:focus:not(:active), .button.is-black.is-focused:not(:active) {
-        box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); }
-    .button.is-black:active, .button.is-black.is-active {
-      background-color: black;
-      border-color: transparent;
-      color: white; }
-    .button.is-black[disabled], fieldset[disabled] .button.is-black {
-      background-color: #0a0a0a;
-      border-color: transparent;
-      box-shadow: none; }
-    .button.is-black.is-inverted {
-      background-color: white;
-      color: #0a0a0a; }
-      .button.is-black.is-inverted:hover, .button.is-black.is-inverted.is-hovered {
-        background-color: #f2f2f2; }
-      .button.is-black.is-inverted[disabled], fieldset[disabled] .button.is-black.is-inverted {
-        background-color: white;
-        border-color: transparent;
-        box-shadow: none;
-        color: #0a0a0a; }
-    .button.is-black.is-loading::after {
-      border-color: transparent transparent white white !important; }
-    .button.is-black.is-outlined {
-      background-color: transparent;
-      border-color: #0a0a0a;
-      color: #0a0a0a; }
-      .button.is-black.is-outlined:hover, .button.is-black.is-outlined.is-hovered, .button.is-black.is-outlined:focus, .button.is-black.is-outlined.is-focused {
-        background-color: #0a0a0a;
-        border-color: #0a0a0a;
-        color: white; }
-      .button.is-black.is-outlined.is-loading::after {
-        border-color: transparent transparent #0a0a0a #0a0a0a !important; }
-      .button.is-black.is-outlined.is-loading:hover::after, .button.is-black.is-outlined.is-loading.is-hovered::after, .button.is-black.is-outlined.is-loading:focus::after, .button.is-black.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent white white !important; }
-      .button.is-black.is-outlined[disabled], fieldset[disabled] .button.is-black.is-outlined {
-        background-color: transparent;
-        border-color: #0a0a0a;
-        box-shadow: none;
-        color: #0a0a0a; }
-    .button.is-black.is-inverted.is-outlined {
-      background-color: transparent;
-      border-color: white;
-      color: white; }
-      .button.is-black.is-inverted.is-outlined:hover, .button.is-black.is-inverted.is-outlined.is-hovered, .button.is-black.is-inverted.is-outlined:focus, .button.is-black.is-inverted.is-outlined.is-focused {
-        background-color: white;
-        color: #0a0a0a; }
-      .button.is-black.is-inverted.is-outlined.is-loading:hover::after, .button.is-black.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-black.is-inverted.is-outlined.is-loading:focus::after, .button.is-black.is-inverted.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent #0a0a0a #0a0a0a !important; }
-      .button.is-black.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-black.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: white;
-        box-shadow: none;
-        color: white; }
-  .button.is-light {
-    background-color: whitesmoke;
-    border-color: transparent;
-    color: #363636; }
-    .button.is-light:hover, .button.is-light.is-hovered {
-      background-color: #eeeeee;
-      border-color: transparent;
-      color: #363636; }
-    .button.is-light:focus, .button.is-light.is-focused {
-      border-color: transparent;
-      color: #363636; }
-      .button.is-light:focus:not(:active), .button.is-light.is-focused:not(:active) {
-        box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); }
-    .button.is-light:active, .button.is-light.is-active {
-      background-color: #e8e8e8;
-      border-color: transparent;
-      color: #363636; }
-    .button.is-light[disabled], fieldset[disabled] .button.is-light {
-      background-color: whitesmoke;
-      border-color: transparent;
-      box-shadow: none; }
-    .button.is-light.is-inverted {
-      background-color: #363636;
-      color: whitesmoke; }
-      .button.is-light.is-inverted:hover, .button.is-light.is-inverted.is-hovered {
-        background-color: #292929; }
-      .button.is-light.is-inverted[disabled], fieldset[disabled] .button.is-light.is-inverted {
-        background-color: #363636;
-        border-color: transparent;
-        box-shadow: none;
-        color: whitesmoke; }
-    .button.is-light.is-loading::after {
-      border-color: transparent transparent #363636 #363636 !important; }
-    .button.is-light.is-outlined {
-      background-color: transparent;
-      border-color: whitesmoke;
-      color: whitesmoke; }
-      .button.is-light.is-outlined:hover, .button.is-light.is-outlined.is-hovered, .button.is-light.is-outlined:focus, .button.is-light.is-outlined.is-focused {
-        background-color: whitesmoke;
-        border-color: whitesmoke;
-        color: #363636; }
-      .button.is-light.is-outlined.is-loading::after {
-        border-color: transparent transparent whitesmoke whitesmoke !important; }
-      .button.is-light.is-outlined.is-loading:hover::after, .button.is-light.is-outlined.is-loading.is-hovered::after, .button.is-light.is-outlined.is-loading:focus::after, .button.is-light.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent #363636 #363636 !important; }
-      .button.is-light.is-outlined[disabled], fieldset[disabled] .button.is-light.is-outlined {
-        background-color: transparent;
-        border-color: whitesmoke;
-        box-shadow: none;
-        color: whitesmoke; }
-    .button.is-light.is-inverted.is-outlined {
-      background-color: transparent;
-      border-color: #363636;
-      color: #363636; }
-      .button.is-light.is-inverted.is-outlined:hover, .button.is-light.is-inverted.is-outlined.is-hovered, .button.is-light.is-inverted.is-outlined:focus, .button.is-light.is-inverted.is-outlined.is-focused {
-        background-color: #363636;
-        color: whitesmoke; }
-      .button.is-light.is-inverted.is-outlined.is-loading:hover::after, .button.is-light.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-light.is-inverted.is-outlined.is-loading:focus::after, .button.is-light.is-inverted.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent whitesmoke whitesmoke !important; }
-      .button.is-light.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-light.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: #363636;
-        box-shadow: none;
-        color: #363636; }
-  .button.is-dark, .content kbd.button {
-    background-color: #363636;
-    border-color: transparent;
-    color: whitesmoke; }
-    .button.is-dark:hover, .content kbd.button:hover, .button.is-dark.is-hovered, .content kbd.button.is-hovered {
-      background-color: #2f2f2f;
-      border-color: transparent;
-      color: whitesmoke; }
-    .button.is-dark:focus, .content kbd.button:focus, .button.is-dark.is-focused, .content kbd.button.is-focused {
-      border-color: transparent;
-      color: whitesmoke; }
-      .button.is-dark:focus:not(:active), .content kbd.button:focus:not(:active), .button.is-dark.is-focused:not(:active), .content kbd.button.is-focused:not(:active) {
-        box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25); }
-    .button.is-dark:active, .content kbd.button:active, .button.is-dark.is-active, .content kbd.button.is-active {
-      background-color: #292929;
-      border-color: transparent;
-      color: whitesmoke; }
-    .button.is-dark[disabled], .content kbd.button[disabled], fieldset[disabled] .button.is-dark, fieldset[disabled] .content kbd.button, .content fieldset[disabled] kbd.button {
-      background-color: #363636;
-      border-color: transparent;
-      box-shadow: none; }
-    .button.is-dark.is-inverted, .content kbd.button.is-inverted {
-      background-color: whitesmoke;
-      color: #363636; }
-      .button.is-dark.is-inverted:hover, .content kbd.button.is-inverted:hover, .button.is-dark.is-inverted.is-hovered, .content kbd.button.is-inverted.is-hovered {
-        background-color: #e8e8e8; }
-      .button.is-dark.is-inverted[disabled], .content kbd.button.is-inverted[disabled], fieldset[disabled] .button.is-dark.is-inverted, fieldset[disabled] .content kbd.button.is-inverted, .content fieldset[disabled] kbd.button.is-inverted {
-        background-color: whitesmoke;
-        border-color: transparent;
-        box-shadow: none;
-        color: #363636; }
-    .button.is-dark.is-loading::after, .content kbd.button.is-loading::after {
-      border-color: transparent transparent whitesmoke whitesmoke !important; }
-    .button.is-dark.is-outlined, .content kbd.button.is-outlined {
-      background-color: transparent;
-      border-color: #363636;
-      color: #363636; }
-      .button.is-dark.is-outlined:hover, .content kbd.button.is-outlined:hover, .button.is-dark.is-outlined.is-hovered, .content kbd.button.is-outlined.is-hovered, .button.is-dark.is-outlined:focus, .content kbd.button.is-outlined:focus, .button.is-dark.is-outlined.is-focused, .content kbd.button.is-outlined.is-focused {
-        background-color: #363636;
-        border-color: #363636;
-        color: whitesmoke; }
-      .button.is-dark.is-outlined.is-loading::after, .content kbd.button.is-outlined.is-loading::after {
-        border-color: transparent transparent #363636 #363636 !important; }
-      .button.is-dark.is-outlined.is-loading:hover::after, .content kbd.button.is-outlined.is-loading:hover::after, .button.is-dark.is-outlined.is-loading.is-hovered::after, .content kbd.button.is-outlined.is-loading.is-hovered::after, .button.is-dark.is-outlined.is-loading:focus::after, .content kbd.button.is-outlined.is-loading:focus::after, .button.is-dark.is-outlined.is-loading.is-focused::after, .content kbd.button.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent whitesmoke whitesmoke !important; }
-      .button.is-dark.is-outlined[disabled], .content kbd.button.is-outlined[disabled], fieldset[disabled] .button.is-dark.is-outlined, fieldset[disabled] .content kbd.button.is-outlined, .content fieldset[disabled] kbd.button.is-outlined {
-        background-color: transparent;
-        border-color: #363636;
-        box-shadow: none;
-        color: #363636; }
-    .button.is-dark.is-inverted.is-outlined, .content kbd.button.is-inverted.is-outlined {
-      background-color: transparent;
-      border-color: whitesmoke;
-      color: whitesmoke; }
-      .button.is-dark.is-inverted.is-outlined:hover, .content kbd.button.is-inverted.is-outlined:hover, .button.is-dark.is-inverted.is-outlined.is-hovered, .content kbd.button.is-inverted.is-outlined.is-hovered, .button.is-dark.is-inverted.is-outlined:focus, .content kbd.button.is-inverted.is-outlined:focus, .button.is-dark.is-inverted.is-outlined.is-focused, .content kbd.button.is-inverted.is-outlined.is-focused {
-        background-color: whitesmoke;
-        color: #363636; }
-      .button.is-dark.is-inverted.is-outlined.is-loading:hover::after, .content kbd.button.is-inverted.is-outlined.is-loading:hover::after, .button.is-dark.is-inverted.is-outlined.is-loading.is-hovered::after, .content kbd.button.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-dark.is-inverted.is-outlined.is-loading:focus::after, .content kbd.button.is-inverted.is-outlined.is-loading:focus::after, .button.is-dark.is-inverted.is-outlined.is-loading.is-focused::after, .content kbd.button.is-inverted.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent #363636 #363636 !important; }
-      .button.is-dark.is-inverted.is-outlined[disabled], .content kbd.button.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-dark.is-inverted.is-outlined, fieldset[disabled] .content kbd.button.is-inverted.is-outlined, .content fieldset[disabled] kbd.button.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: whitesmoke;
-        box-shadow: none;
-        color: whitesmoke; }
-  .button.is-primary, .docstring > section > a.button.docs-sourcelink {
-    background-color: #4eb5de;
-    border-color: transparent;
-    color: #fff; }
-    .button.is-primary:hover, .docstring > section > a.button.docs-sourcelink:hover, .button.is-primary.is-hovered, .docstring > section > a.button.is-hovered.docs-sourcelink {
-      background-color: #43b1dc;
-      border-color: transparent;
-      color: #fff; }
-    .button.is-primary:focus, .docstring > section > a.button.docs-sourcelink:focus, .button.is-primary.is-focused, .docstring > section > a.button.is-focused.docs-sourcelink {
-      border-color: transparent;
-      color: #fff; }
-      .button.is-primary:focus:not(:active), .docstring > section > a.button.docs-sourcelink:focus:not(:active), .button.is-primary.is-focused:not(:active), .docstring > section > a.button.is-focused.docs-sourcelink:not(:active) {
-        box-shadow: 0 0 0 0.125em rgba(78, 181, 222, 0.25); }
-    .button.is-primary:active, .docstring > section > a.button.docs-sourcelink:active, .button.is-primary.is-active, .docstring > section > a.button.is-active.docs-sourcelink {
-      background-color: #39acda;
-      border-color: transparent;
-      color: #fff; }
-    .button.is-primary[disabled], .docstring > section > a.button.docs-sourcelink[disabled], fieldset[disabled] .button.is-primary, fieldset[disabled] .docstring > section > a.button.docs-sourcelink {
-      background-color: #4eb5de;
-      border-color: transparent;
-      box-shadow: none; }
-    .button.is-primary.is-inverted, .docstring > section > a.button.is-inverted.docs-sourcelink {
-      background-color: #fff;
-      color: #4eb5de; }
-      .button.is-primary.is-inverted:hover, .docstring > section > a.button.is-inverted.docs-sourcelink:hover, .button.is-primary.is-inverted.is-hovered, .docstring > section > a.button.is-inverted.is-hovered.docs-sourcelink {
-        background-color: #f2f2f2; }
-      .button.is-primary.is-inverted[disabled], .docstring > section > a.button.is-inverted.docs-sourcelink[disabled], fieldset[disabled] .button.is-primary.is-inverted, fieldset[disabled] .docstring > section > a.button.is-inverted.docs-sourcelink {
-        background-color: #fff;
-        border-color: transparent;
-        box-shadow: none;
-        color: #4eb5de; }
-    .button.is-primary.is-loading::after, .docstring > section > a.button.is-loading.docs-sourcelink::after {
-      border-color: transparent transparent #fff #fff !important; }
-    .button.is-primary.is-outlined, .docstring > section > a.button.is-outlined.docs-sourcelink {
-      background-color: transparent;
-      border-color: #4eb5de;
-      color: #4eb5de; }
-      .button.is-primary.is-outlined:hover, .docstring > section > a.button.is-outlined.docs-sourcelink:hover, .button.is-primary.is-outlined.is-hovered, .docstring > section > a.button.is-outlined.is-hovered.docs-sourcelink, .button.is-primary.is-outlined:focus, .docstring > section > a.button.is-outlined.docs-sourcelink:focus, .button.is-primary.is-outlined.is-focused, .docstring > section > a.button.is-outlined.is-focused.docs-sourcelink {
-        background-color: #4eb5de;
-        border-color: #4eb5de;
-        color: #fff; }
-      .button.is-primary.is-outlined.is-loading::after, .docstring > section > a.button.is-outlined.is-loading.docs-sourcelink::after {
-        border-color: transparent transparent #4eb5de #4eb5de !important; }
-      .button.is-primary.is-outlined.is-loading:hover::after, .docstring > section > a.button.is-outlined.is-loading.docs-sourcelink:hover::after, .button.is-primary.is-outlined.is-loading.is-hovered::after, .docstring > section > a.button.is-outlined.is-loading.is-hovered.docs-sourcelink::after, .button.is-primary.is-outlined.is-loading:focus::after, .docstring > section > a.button.is-outlined.is-loading.docs-sourcelink:focus::after, .button.is-primary.is-outlined.is-loading.is-focused::after, .docstring > section > a.button.is-outlined.is-loading.is-focused.docs-sourcelink::after {
-        border-color: transparent transparent #fff #fff !important; }
-      .button.is-primary.is-outlined[disabled], .docstring > section > a.button.is-outlined.docs-sourcelink[disabled], fieldset[disabled] .button.is-primary.is-outlined, fieldset[disabled] .docstring > section > a.button.is-outlined.docs-sourcelink {
-        background-color: transparent;
-        border-color: #4eb5de;
-        box-shadow: none;
-        color: #4eb5de; }
-    .button.is-primary.is-inverted.is-outlined, .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink {
-      background-color: transparent;
-      border-color: #fff;
-      color: #fff; }
-      .button.is-primary.is-inverted.is-outlined:hover, .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink:hover, .button.is-primary.is-inverted.is-outlined.is-hovered, .docstring > section > a.button.is-inverted.is-outlined.is-hovered.docs-sourcelink, .button.is-primary.is-inverted.is-outlined:focus, .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink:focus, .button.is-primary.is-inverted.is-outlined.is-focused, .docstring > section > a.button.is-inverted.is-outlined.is-focused.docs-sourcelink {
-        background-color: #fff;
-        color: #4eb5de; }
-      .button.is-primary.is-inverted.is-outlined.is-loading:hover::after, .docstring > section > a.button.is-inverted.is-outlined.is-loading.docs-sourcelink:hover::after, .button.is-primary.is-inverted.is-outlined.is-loading.is-hovered::after, .docstring > section > a.button.is-inverted.is-outlined.is-loading.is-hovered.docs-sourcelink::after, .button.is-primary.is-inverted.is-outlined.is-loading:focus::after, .docstring > section > a.button.is-inverted.is-outlined.is-loading.docs-sourcelink:focus::after, .button.is-primary.is-inverted.is-outlined.is-loading.is-focused::after, .docstring > section > a.button.is-inverted.is-outlined.is-loading.is-focused.docs-sourcelink::after {
-        border-color: transparent transparent #4eb5de #4eb5de !important; }
-      .button.is-primary.is-inverted.is-outlined[disabled], .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink[disabled], fieldset[disabled] .button.is-primary.is-inverted.is-outlined, fieldset[disabled] .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink {
-        background-color: transparent;
-        border-color: #fff;
-        box-shadow: none;
-        color: #fff; }
-  .button.is-link {
-    background-color: #2e63b8;
-    border-color: transparent;
-    color: #fff; }
-    .button.is-link:hover, .button.is-link.is-hovered {
-      background-color: #2b5eae;
-      border-color: transparent;
-      color: #fff; }
-    .button.is-link:focus, .button.is-link.is-focused {
-      border-color: transparent;
-      color: #fff; }
-      .button.is-link:focus:not(:active), .button.is-link.is-focused:not(:active) {
-        box-shadow: 0 0 0 0.125em rgba(46, 99, 184, 0.25); }
-    .button.is-link:active, .button.is-link.is-active {
-      background-color: #2958a4;
-      border-color: transparent;
-      color: #fff; }
-    .button.is-link[disabled], fieldset[disabled] .button.is-link {
-      background-color: #2e63b8;
-      border-color: transparent;
-      box-shadow: none; }
-    .button.is-link.is-inverted {
-      background-color: #fff;
-      color: #2e63b8; }
-      .button.is-link.is-inverted:hover, .button.is-link.is-inverted.is-hovered {
-        background-color: #f2f2f2; }
-      .button.is-link.is-inverted[disabled], fieldset[disabled] .button.is-link.is-inverted {
-        background-color: #fff;
-        border-color: transparent;
-        box-shadow: none;
-        color: #2e63b8; }
-    .button.is-link.is-loading::after {
-      border-color: transparent transparent #fff #fff !important; }
-    .button.is-link.is-outlined {
-      background-color: transparent;
-      border-color: #2e63b8;
-      color: #2e63b8; }
-      .button.is-link.is-outlined:hover, .button.is-link.is-outlined.is-hovered, .button.is-link.is-outlined:focus, .button.is-link.is-outlined.is-focused {
-        background-color: #2e63b8;
-        border-color: #2e63b8;
-        color: #fff; }
-      .button.is-link.is-outlined.is-loading::after {
-        border-color: transparent transparent #2e63b8 #2e63b8 !important; }
-      .button.is-link.is-outlined.is-loading:hover::after, .button.is-link.is-outlined.is-loading.is-hovered::after, .button.is-link.is-outlined.is-loading:focus::after, .button.is-link.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent #fff #fff !important; }
-      .button.is-link.is-outlined[disabled], fieldset[disabled] .button.is-link.is-outlined {
-        background-color: transparent;
-        border-color: #2e63b8;
-        box-shadow: none;
-        color: #2e63b8; }
-    .button.is-link.is-inverted.is-outlined {
-      background-color: transparent;
-      border-color: #fff;
-      color: #fff; }
-      .button.is-link.is-inverted.is-outlined:hover, .button.is-link.is-inverted.is-outlined.is-hovered, .button.is-link.is-inverted.is-outlined:focus, .button.is-link.is-inverted.is-outlined.is-focused {
-        background-color: #fff;
-        color: #2e63b8; }
-      .button.is-link.is-inverted.is-outlined.is-loading:hover::after, .button.is-link.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-link.is-inverted.is-outlined.is-loading:focus::after, .button.is-link.is-inverted.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent #2e63b8 #2e63b8 !important; }
-      .button.is-link.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-link.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: #fff;
-        box-shadow: none;
-        color: #fff; }
-  .button.is-info {
-    background-color: #209cee;
-    border-color: transparent;
-    color: #fff; }
-    .button.is-info:hover, .button.is-info.is-hovered {
-      background-color: #1497ed;
-      border-color: transparent;
-      color: #fff; }
-    .button.is-info:focus, .button.is-info.is-focused {
-      border-color: transparent;
-      color: #fff; }
-      .button.is-info:focus:not(:active), .button.is-info.is-focused:not(:active) {
-        box-shadow: 0 0 0 0.125em rgba(32, 156, 238, 0.25); }
-    .button.is-info:active, .button.is-info.is-active {
-      background-color: #1190e3;
-      border-color: transparent;
-      color: #fff; }
-    .button.is-info[disabled], fieldset[disabled] .button.is-info {
-      background-color: #209cee;
-      border-color: transparent;
-      box-shadow: none; }
-    .button.is-info.is-inverted {
-      background-color: #fff;
-      color: #209cee; }
-      .button.is-info.is-inverted:hover, .button.is-info.is-inverted.is-hovered {
-        background-color: #f2f2f2; }
-      .button.is-info.is-inverted[disabled], fieldset[disabled] .button.is-info.is-inverted {
-        background-color: #fff;
-        border-color: transparent;
-        box-shadow: none;
-        color: #209cee; }
-    .button.is-info.is-loading::after {
-      border-color: transparent transparent #fff #fff !important; }
-    .button.is-info.is-outlined {
-      background-color: transparent;
-      border-color: #209cee;
-      color: #209cee; }
-      .button.is-info.is-outlined:hover, .button.is-info.is-outlined.is-hovered, .button.is-info.is-outlined:focus, .button.is-info.is-outlined.is-focused {
-        background-color: #209cee;
-        border-color: #209cee;
-        color: #fff; }
-      .button.is-info.is-outlined.is-loading::after {
-        border-color: transparent transparent #209cee #209cee !important; }
-      .button.is-info.is-outlined.is-loading:hover::after, .button.is-info.is-outlined.is-loading.is-hovered::after, .button.is-info.is-outlined.is-loading:focus::after, .button.is-info.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent #fff #fff !important; }
-      .button.is-info.is-outlined[disabled], fieldset[disabled] .button.is-info.is-outlined {
-        background-color: transparent;
-        border-color: #209cee;
-        box-shadow: none;
-        color: #209cee; }
-    .button.is-info.is-inverted.is-outlined {
-      background-color: transparent;
-      border-color: #fff;
-      color: #fff; }
-      .button.is-info.is-inverted.is-outlined:hover, .button.is-info.is-inverted.is-outlined.is-hovered, .button.is-info.is-inverted.is-outlined:focus, .button.is-info.is-inverted.is-outlined.is-focused {
-        background-color: #fff;
-        color: #209cee; }
-      .button.is-info.is-inverted.is-outlined.is-loading:hover::after, .button.is-info.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-info.is-inverted.is-outlined.is-loading:focus::after, .button.is-info.is-inverted.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent #209cee #209cee !important; }
-      .button.is-info.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-info.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: #fff;
-        box-shadow: none;
-        color: #fff; }
-  .button.is-success {
-    background-color: #22c35b;
-    border-color: transparent;
-    color: #fff; }
-    .button.is-success:hover, .button.is-success.is-hovered {
-      background-color: #20b856;
-      border-color: transparent;
-      color: #fff; }
-    .button.is-success:focus, .button.is-success.is-focused {
-      border-color: transparent;
-      color: #fff; }
-      .button.is-success:focus:not(:active), .button.is-success.is-focused:not(:active) {
-        box-shadow: 0 0 0 0.125em rgba(34, 195, 91, 0.25); }
-    .button.is-success:active, .button.is-success.is-active {
-      background-color: #1ead51;
-      border-color: transparent;
-      color: #fff; }
-    .button.is-success[disabled], fieldset[disabled] .button.is-success {
-      background-color: #22c35b;
-      border-color: transparent;
-      box-shadow: none; }
-    .button.is-success.is-inverted {
-      background-color: #fff;
-      color: #22c35b; }
-      .button.is-success.is-inverted:hover, .button.is-success.is-inverted.is-hovered {
-        background-color: #f2f2f2; }
-      .button.is-success.is-inverted[disabled], fieldset[disabled] .button.is-success.is-inverted {
-        background-color: #fff;
-        border-color: transparent;
-        box-shadow: none;
-        color: #22c35b; }
-    .button.is-success.is-loading::after {
-      border-color: transparent transparent #fff #fff !important; }
-    .button.is-success.is-outlined {
-      background-color: transparent;
-      border-color: #22c35b;
-      color: #22c35b; }
-      .button.is-success.is-outlined:hover, .button.is-success.is-outlined.is-hovered, .button.is-success.is-outlined:focus, .button.is-success.is-outlined.is-focused {
-        background-color: #22c35b;
-        border-color: #22c35b;
-        color: #fff; }
-      .button.is-success.is-outlined.is-loading::after {
-        border-color: transparent transparent #22c35b #22c35b !important; }
-      .button.is-success.is-outlined.is-loading:hover::after, .button.is-success.is-outlined.is-loading.is-hovered::after, .button.is-success.is-outlined.is-loading:focus::after, .button.is-success.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent #fff #fff !important; }
-      .button.is-success.is-outlined[disabled], fieldset[disabled] .button.is-success.is-outlined {
-        background-color: transparent;
-        border-color: #22c35b;
-        box-shadow: none;
-        color: #22c35b; }
-    .button.is-success.is-inverted.is-outlined {
-      background-color: transparent;
-      border-color: #fff;
-      color: #fff; }
-      .button.is-success.is-inverted.is-outlined:hover, .button.is-success.is-inverted.is-outlined.is-hovered, .button.is-success.is-inverted.is-outlined:focus, .button.is-success.is-inverted.is-outlined.is-focused {
-        background-color: #fff;
-        color: #22c35b; }
-      .button.is-success.is-inverted.is-outlined.is-loading:hover::after, .button.is-success.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-success.is-inverted.is-outlined.is-loading:focus::after, .button.is-success.is-inverted.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent #22c35b #22c35b !important; }
-      .button.is-success.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-success.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: #fff;
-        box-shadow: none;
-        color: #fff; }
-  .button.is-warning {
-    background-color: #ffdd57;
-    border-color: transparent;
-    color: rgba(0, 0, 0, 0.7); }
-    .button.is-warning:hover, .button.is-warning.is-hovered {
-      background-color: #ffda4a;
-      border-color: transparent;
-      color: rgba(0, 0, 0, 0.7); }
-    .button.is-warning:focus, .button.is-warning.is-focused {
-      border-color: transparent;
-      color: rgba(0, 0, 0, 0.7); }
-      .button.is-warning:focus:not(:active), .button.is-warning.is-focused:not(:active) {
-        box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25); }
-    .button.is-warning:active, .button.is-warning.is-active {
-      background-color: #ffd83e;
-      border-color: transparent;
-      color: rgba(0, 0, 0, 0.7); }
-    .button.is-warning[disabled], fieldset[disabled] .button.is-warning {
-      background-color: #ffdd57;
-      border-color: transparent;
-      box-shadow: none; }
-    .button.is-warning.is-inverted {
-      background-color: rgba(0, 0, 0, 0.7);
-      color: #ffdd57; }
-      .button.is-warning.is-inverted:hover, .button.is-warning.is-inverted.is-hovered {
-        background-color: rgba(0, 0, 0, 0.7); }
-      .button.is-warning.is-inverted[disabled], fieldset[disabled] .button.is-warning.is-inverted {
-        background-color: rgba(0, 0, 0, 0.7);
-        border-color: transparent;
-        box-shadow: none;
-        color: #ffdd57; }
-    .button.is-warning.is-loading::after {
-      border-color: transparent transparent rgba(0, 0, 0, 0.7) rgba(0, 0, 0, 0.7) !important; }
-    .button.is-warning.is-outlined {
-      background-color: transparent;
-      border-color: #ffdd57;
-      color: #ffdd57; }
-      .button.is-warning.is-outlined:hover, .button.is-warning.is-outlined.is-hovered, .button.is-warning.is-outlined:focus, .button.is-warning.is-outlined.is-focused {
-        background-color: #ffdd57;
-        border-color: #ffdd57;
-        color: rgba(0, 0, 0, 0.7); }
-      .button.is-warning.is-outlined.is-loading::after {
-        border-color: transparent transparent #ffdd57 #ffdd57 !important; }
-      .button.is-warning.is-outlined.is-loading:hover::after, .button.is-warning.is-outlined.is-loading.is-hovered::after, .button.is-warning.is-outlined.is-loading:focus::after, .button.is-warning.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent rgba(0, 0, 0, 0.7) rgba(0, 0, 0, 0.7) !important; }
-      .button.is-warning.is-outlined[disabled], fieldset[disabled] .button.is-warning.is-outlined {
-        background-color: transparent;
-        border-color: #ffdd57;
-        box-shadow: none;
-        color: #ffdd57; }
-    .button.is-warning.is-inverted.is-outlined {
-      background-color: transparent;
-      border-color: rgba(0, 0, 0, 0.7);
-      color: rgba(0, 0, 0, 0.7); }
-      .button.is-warning.is-inverted.is-outlined:hover, .button.is-warning.is-inverted.is-outlined.is-hovered, .button.is-warning.is-inverted.is-outlined:focus, .button.is-warning.is-inverted.is-outlined.is-focused {
-        background-color: rgba(0, 0, 0, 0.7);
-        color: #ffdd57; }
-      .button.is-warning.is-inverted.is-outlined.is-loading:hover::after, .button.is-warning.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-warning.is-inverted.is-outlined.is-loading:focus::after, .button.is-warning.is-inverted.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent #ffdd57 #ffdd57 !important; }
-      .button.is-warning.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-warning.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: rgba(0, 0, 0, 0.7);
-        box-shadow: none;
-        color: rgba(0, 0, 0, 0.7); }
-  .button.is-danger {
-    background-color: #da0b00;
-    border-color: transparent;
-    color: #fff; }
-    .button.is-danger:hover, .button.is-danger.is-hovered {
-      background-color: #cd0a00;
-      border-color: transparent;
-      color: #fff; }
-    .button.is-danger:focus, .button.is-danger.is-focused {
-      border-color: transparent;
-      color: #fff; }
-      .button.is-danger:focus:not(:active), .button.is-danger.is-focused:not(:active) {
-        box-shadow: 0 0 0 0.125em rgba(218, 11, 0, 0.25); }
-    .button.is-danger:active, .button.is-danger.is-active {
-      background-color: #c10a00;
-      border-color: transparent;
-      color: #fff; }
-    .button.is-danger[disabled], fieldset[disabled] .button.is-danger {
-      background-color: #da0b00;
-      border-color: transparent;
-      box-shadow: none; }
-    .button.is-danger.is-inverted {
-      background-color: #fff;
-      color: #da0b00; }
-      .button.is-danger.is-inverted:hover, .button.is-danger.is-inverted.is-hovered {
-        background-color: #f2f2f2; }
-      .button.is-danger.is-inverted[disabled], fieldset[disabled] .button.is-danger.is-inverted {
-        background-color: #fff;
-        border-color: transparent;
-        box-shadow: none;
-        color: #da0b00; }
-    .button.is-danger.is-loading::after {
-      border-color: transparent transparent #fff #fff !important; }
-    .button.is-danger.is-outlined {
-      background-color: transparent;
-      border-color: #da0b00;
-      color: #da0b00; }
-      .button.is-danger.is-outlined:hover, .button.is-danger.is-outlined.is-hovered, .button.is-danger.is-outlined:focus, .button.is-danger.is-outlined.is-focused {
-        background-color: #da0b00;
-        border-color: #da0b00;
-        color: #fff; }
-      .button.is-danger.is-outlined.is-loading::after {
-        border-color: transparent transparent #da0b00 #da0b00 !important; }
-      .button.is-danger.is-outlined.is-loading:hover::after, .button.is-danger.is-outlined.is-loading.is-hovered::after, .button.is-danger.is-outlined.is-loading:focus::after, .button.is-danger.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent #fff #fff !important; }
-      .button.is-danger.is-outlined[disabled], fieldset[disabled] .button.is-danger.is-outlined {
-        background-color: transparent;
-        border-color: #da0b00;
-        box-shadow: none;
-        color: #da0b00; }
-    .button.is-danger.is-inverted.is-outlined {
-      background-color: transparent;
-      border-color: #fff;
-      color: #fff; }
-      .button.is-danger.is-inverted.is-outlined:hover, .button.is-danger.is-inverted.is-outlined.is-hovered, .button.is-danger.is-inverted.is-outlined:focus, .button.is-danger.is-inverted.is-outlined.is-focused {
-        background-color: #fff;
-        color: #da0b00; }
-      .button.is-danger.is-inverted.is-outlined.is-loading:hover::after, .button.is-danger.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-danger.is-inverted.is-outlined.is-loading:focus::after, .button.is-danger.is-inverted.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent #da0b00 #da0b00 !important; }
-      .button.is-danger.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-danger.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: #fff;
-        box-shadow: none;
-        color: #fff; }
-  .button.is-small, #documenter .docs-sidebar form.docs-search > input.button {
-    border-radius: 2px;
-    font-size: 0.75rem; }
-  .button.is-normal {
-    font-size: 1rem; }
-  .button.is-medium {
-    font-size: 1.25rem; }
-  .button.is-large {
-    font-size: 1.5rem; }
-  .button[disabled], fieldset[disabled] .button {
-    background-color: white;
-    border-color: #dbdbdb;
-    box-shadow: none;
-    opacity: 0.5; }
-  .button.is-fullwidth {
-    display: flex;
-    width: 100%; }
-  .button.is-loading {
-    color: transparent !important;
-    pointer-events: none; }
-    .button.is-loading::after {
-      position: absolute;
-      left: calc(50% - (1em / 2));
-      top: calc(50% - (1em / 2));
-      position: absolute !important; }
-  .button.is-static {
-    background-color: whitesmoke;
-    border-color: #dbdbdb;
-    color: #6b6b6b;
-    box-shadow: none;
-    pointer-events: none; }
-  .button.is-rounded, #documenter .docs-sidebar form.docs-search > input.button {
-    border-radius: 290486px;
-    padding-left: 1em;
-    padding-right: 1em; }
-
-.buttons {
-  align-items: center;
-  display: flex;
-  flex-wrap: wrap;
-  justify-content: flex-start; }
-  .buttons .button {
-    margin-bottom: 0.5rem; }
-    .buttons .button:not(:last-child):not(.is-fullwidth) {
-      margin-right: 0.5rem; }
-  .buttons:last-child {
-    margin-bottom: -0.5rem; }
-  .buttons:not(:last-child) {
-    margin-bottom: 1rem; }
-  .buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large) {
-    border-radius: 2px;
-    font-size: 0.75rem; }
-  .buttons.are-medium .button:not(.is-small):not(.is-normal):not(.is-large) {
-    font-size: 1.25rem; }
-  .buttons.are-large .button:not(.is-small):not(.is-normal):not(.is-medium) {
-    font-size: 1.5rem; }
-  .buttons.has-addons .button:not(:first-child) {
-    border-bottom-left-radius: 0;
-    border-top-left-radius: 0; }
-  .buttons.has-addons .button:not(:last-child) {
-    border-bottom-right-radius: 0;
-    border-top-right-radius: 0;
-    margin-right: -1px; }
-  .buttons.has-addons .button:last-child {
-    margin-right: 0; }
-  .buttons.has-addons .button:hover, .buttons.has-addons .button.is-hovered {
-    z-index: 2; }
-  .buttons.has-addons .button:focus, .buttons.has-addons .button.is-focused, .buttons.has-addons .button:active, .buttons.has-addons .button.is-active, .buttons.has-addons .button.is-selected {
-    z-index: 3; }
-    .buttons.has-addons .button:focus:hover, .buttons.has-addons .button.is-focused:hover, .buttons.has-addons .button:active:hover, .buttons.has-addons .button.is-active:hover, .buttons.has-addons .button.is-selected:hover {
-      z-index: 4; }
-  .buttons.has-addons .button.is-expanded {
-    flex-grow: 1;
-    flex-shrink: 1; }
-  .buttons.is-centered {
-    justify-content: center; }
-    .buttons.is-centered:not(.has-addons) .button:not(.is-fullwidth) {
-      margin-left: 0.25rem;
-      margin-right: 0.25rem; }
-  .buttons.is-right {
-    justify-content: flex-end; }
-    .buttons.is-right:not(.has-addons) .button:not(.is-fullwidth) {
-      margin-left: 0.25rem;
-      margin-right: 0.25rem; }
-
-.container {
-  flex-grow: 1;
-  margin: 0 auto;
-  position: relative;
-  width: auto; }
-  @media screen and (min-width: 1056px) {
-    .container {
-      max-width: 992px; }
-      .container.is-fluid {
-        margin-left: 32px;
-        margin-right: 32px;
-        max-width: none; } }
-  @media screen and (max-width: 1215px) {
-    .container.is-widescreen {
-      max-width: 1152px; } }
-  @media screen and (max-width: 1407px) {
-    .container.is-fullhd {
-      max-width: 1344px; } }
-  @media screen and (min-width: 1216px) {
-    .container {
-      max-width: 1152px; } }
-  @media screen and (min-width: 1408px) {
-    .container {
-      max-width: 1344px; } }
-.content li + li {
-  margin-top: 0.25em; }
-
-.content p:not(:last-child),
-.content dl:not(:last-child),
-.content ol:not(:last-child),
-.content ul:not(:last-child),
-.content blockquote:not(:last-child),
-.content pre:not(:last-child),
-.content table:not(:last-child) {
-  margin-bottom: 1em; }
-
-.content h1,
-.content h2,
-.content h3,
-.content h4,
-.content h5,
-.content h6 {
-  color: #222222;
-  font-weight: 600;
-  line-height: 1.125; }
-
-.content h1 {
-  font-size: 2em;
-  margin-bottom: 0.5em; }
-  .content h1:not(:first-child) {
-    margin-top: 1em; }
-
-.content h2 {
-  font-size: 1.75em;
-  margin-bottom: 0.5714em; }
-  .content h2:not(:first-child) {
-    margin-top: 1.1428em; }
-
-.content h3 {
-  font-size: 1.5em;
-  margin-bottom: 0.6666em; }
-  .content h3:not(:first-child) {
-    margin-top: 1.3333em; }
-
-.content h4 {
-  font-size: 1.25em;
-  margin-bottom: 0.8em; }
-
-.content h5 {
-  font-size: 1.125em;
-  margin-bottom: 0.8888em; }
-
-.content h6 {
-  font-size: 1em;
-  margin-bottom: 1em; }
-
-.content blockquote {
-  background-color: whitesmoke;
-  border-left: 5px solid #dbdbdb;
-  padding: 1.25em 1.5em; }
-
-.content ol {
-  list-style-position: outside;
-  margin-left: 2em;
-  margin-top: 1em; }
-  .content ol:not([type]) {
-    list-style-type: decimal; }
-    .content ol.is-lower-alpha:not([type]) {
-      list-style-type: lower-alpha; }
-    .content ol.is-lower-roman:not([type]) {
-      list-style-type: lower-roman; }
-    .content ol.is-upper-alpha:not([type]) {
-      list-style-type: upper-alpha; }
-    .content ol.is-upper-roman:not([type]) {
-      list-style-type: upper-roman; }
-
-.content ul {
-  list-style: disc outside;
-  margin-left: 2em;
-  margin-top: 1em; }
-  .content ul ul {
-    list-style-type: circle;
-    margin-top: 0.5em; }
-    .content ul ul ul {
-      list-style-type: square; }
-
-.content dd {
-  margin-left: 2em; }
-
-.content figure {
-  margin-left: 2em;
-  margin-right: 2em;
-  text-align: center; }
-  .content figure:not(:first-child) {
-    margin-top: 2em; }
-  .content figure:not(:last-child) {
-    margin-bottom: 2em; }
-  .content figure img {
-    display: inline-block; }
-  .content figure figcaption {
-    font-style: italic; }
-
-.content pre {
-  -webkit-overflow-scrolling: touch;
-  overflow-x: auto;
-  padding: 0;
-  white-space: pre;
-  word-wrap: normal; }
-
-.content sup,
-.content sub {
-  font-size: 75%; }
-
-.content table {
-  width: 100%; }
-  .content table td,
-  .content table th {
-    border: 1px solid #dbdbdb;
-    border-width: 0 0 1px;
-    padding: 0.5em 0.75em;
-    vertical-align: top; }
-  .content table th {
-    color: #222222; }
-    .content table th:not([align]) {
-      text-align: left; }
-  .content table thead td,
-  .content table thead th {
-    border-width: 0 0 2px;
-    color: #222222; }
-  .content table tfoot td,
-  .content table tfoot th {
-    border-width: 2px 0 0;
-    color: #222222; }
-  .content table tbody tr:last-child td,
-  .content table tbody tr:last-child th {
-    border-bottom-width: 0; }
-
-.content .tabs li + li {
-  margin-top: 0; }
-
-.content.is-small, #documenter .docs-sidebar form.docs-search > input.content {
-  font-size: 0.75rem; }
-
-.content.is-medium {
-  font-size: 1.25rem; }
-
-.content.is-large {
-  font-size: 1.5rem; }
-
-.icon {
-  align-items: center;
-  display: inline-flex;
-  justify-content: center;
-  height: 1.5rem;
-  width: 1.5rem; }
-  .icon.is-small, #documenter .docs-sidebar form.docs-search > input.icon {
-    height: 1rem;
-    width: 1rem; }
-  .icon.is-medium {
-    height: 2rem;
-    width: 2rem; }
-  .icon.is-large {
-    height: 3rem;
-    width: 3rem; }
-
-.image, #documenter .docs-sidebar .docs-logo > img {
-  display: block;
-  position: relative; }
-  .image img, #documenter .docs-sidebar .docs-logo > img img {
-    display: block;
-    height: auto;
-    width: 100%; }
-    .image img.is-rounded, #documenter .docs-sidebar .docs-logo > img img.is-rounded {
-      border-radius: 290486px; }
-  .image.is-square img, #documenter .docs-sidebar .docs-logo > img.is-square img,
-  .image.is-square .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-square .has-ratio, .image.is-1by1 img, #documenter .docs-sidebar .docs-logo > img.is-1by1 img,
-  .image.is-1by1 .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-1by1 .has-ratio, .image.is-5by4 img, #documenter .docs-sidebar .docs-logo > img.is-5by4 img,
-  .image.is-5by4 .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-5by4 .has-ratio, .image.is-4by3 img, #documenter .docs-sidebar .docs-logo > img.is-4by3 img,
-  .image.is-4by3 .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-4by3 .has-ratio, .image.is-3by2 img, #documenter .docs-sidebar .docs-logo > img.is-3by2 img,
-  .image.is-3by2 .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-3by2 .has-ratio, .image.is-5by3 img, #documenter .docs-sidebar .docs-logo > img.is-5by3 img,
-  .image.is-5by3 .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-5by3 .has-ratio, .image.is-16by9 img, #documenter .docs-sidebar .docs-logo > img.is-16by9 img,
-  .image.is-16by9 .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-16by9 .has-ratio, .image.is-2by1 img, #documenter .docs-sidebar .docs-logo > img.is-2by1 img,
-  .image.is-2by1 .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-2by1 .has-ratio, .image.is-3by1 img, #documenter .docs-sidebar .docs-logo > img.is-3by1 img,
-  .image.is-3by1 .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-3by1 .has-ratio, .image.is-4by5 img, #documenter .docs-sidebar .docs-logo > img.is-4by5 img,
-  .image.is-4by5 .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-4by5 .has-ratio, .image.is-3by4 img, #documenter .docs-sidebar .docs-logo > img.is-3by4 img,
-  .image.is-3by4 .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-3by4 .has-ratio, .image.is-2by3 img, #documenter .docs-sidebar .docs-logo > img.is-2by3 img,
-  .image.is-2by3 .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-2by3 .has-ratio, .image.is-3by5 img, #documenter .docs-sidebar .docs-logo > img.is-3by5 img,
-  .image.is-3by5 .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-3by5 .has-ratio, .image.is-9by16 img, #documenter .docs-sidebar .docs-logo > img.is-9by16 img,
-  .image.is-9by16 .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-9by16 .has-ratio, .image.is-1by2 img, #documenter .docs-sidebar .docs-logo > img.is-1by2 img,
-  .image.is-1by2 .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-1by2 .has-ratio, .image.is-1by3 img, #documenter .docs-sidebar .docs-logo > img.is-1by3 img,
-  .image.is-1by3 .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-1by3 .has-ratio {
-    height: 100%;
-    width: 100%; }
-  .image.is-square, #documenter .docs-sidebar .docs-logo > img.is-square, .image.is-1by1, #documenter .docs-sidebar .docs-logo > img.is-1by1 {
-    padding-top: 100%; }
-  .image.is-5by4, #documenter .docs-sidebar .docs-logo > img.is-5by4 {
-    padding-top: 80%; }
-  .image.is-4by3, #documenter .docs-sidebar .docs-logo > img.is-4by3 {
-    padding-top: 75%; }
-  .image.is-3by2, #documenter .docs-sidebar .docs-logo > img.is-3by2 {
-    padding-top: 66.6666%; }
-  .image.is-5by3, #documenter .docs-sidebar .docs-logo > img.is-5by3 {
-    padding-top: 60%; }
-  .image.is-16by9, #documenter .docs-sidebar .docs-logo > img.is-16by9 {
-    padding-top: 56.25%; }
-  .image.is-2by1, #documenter .docs-sidebar .docs-logo > img.is-2by1 {
-    padding-top: 50%; }
-  .image.is-3by1, #documenter .docs-sidebar .docs-logo > img.is-3by1 {
-    padding-top: 33.3333%; }
-  .image.is-4by5, #documenter .docs-sidebar .docs-logo > img.is-4by5 {
-    padding-top: 125%; }
-  .image.is-3by4, #documenter .docs-sidebar .docs-logo > img.is-3by4 {
-    padding-top: 133.3333%; }
-  .image.is-2by3, #documenter .docs-sidebar .docs-logo > img.is-2by3 {
-    padding-top: 150%; }
-  .image.is-3by5, #documenter .docs-sidebar .docs-logo > img.is-3by5 {
-    padding-top: 166.6666%; }
-  .image.is-9by16, #documenter .docs-sidebar .docs-logo > img.is-9by16 {
-    padding-top: 177.7777%; }
-  .image.is-1by2, #documenter .docs-sidebar .docs-logo > img.is-1by2 {
-    padding-top: 200%; }
-  .image.is-1by3, #documenter .docs-sidebar .docs-logo > img.is-1by3 {
-    padding-top: 300%; }
-  .image.is-16x16, #documenter .docs-sidebar .docs-logo > img.is-16x16 {
-    height: 16px;
-    width: 16px; }
-  .image.is-24x24, #documenter .docs-sidebar .docs-logo > img.is-24x24 {
-    height: 24px;
-    width: 24px; }
-  .image.is-32x32, #documenter .docs-sidebar .docs-logo > img.is-32x32 {
-    height: 32px;
-    width: 32px; }
-  .image.is-48x48, #documenter .docs-sidebar .docs-logo > img.is-48x48 {
-    height: 48px;
-    width: 48px; }
-  .image.is-64x64, #documenter .docs-sidebar .docs-logo > img.is-64x64 {
-    height: 64px;
-    width: 64px; }
-  .image.is-96x96, #documenter .docs-sidebar .docs-logo > img.is-96x96 {
-    height: 96px;
-    width: 96px; }
-  .image.is-128x128, #documenter .docs-sidebar .docs-logo > img.is-128x128 {
-    height: 128px;
-    width: 128px; }
-
-.notification {
-  background-color: whitesmoke;
-  border-radius: 4px;
-  padding: 1.25rem 2.5rem 1.25rem 1.5rem;
-  position: relative; }
-  .notification a:not(.button):not(.dropdown-item) {
-    color: currentColor;
-    text-decoration: underline; }
-  .notification strong {
-    color: currentColor; }
-  .notification code,
-  .notification pre {
-    background: white; }
-  .notification pre code {
-    background: transparent; }
-  .notification > .delete {
-    position: absolute;
-    right: 0.5rem;
-    top: 0.5rem; }
-  .notification .title,
-  .notification .subtitle,
-  .notification .content {
-    color: currentColor; }
-  .notification.is-white {
-    background-color: white;
-    color: #0a0a0a; }
-  .notification.is-black {
-    background-color: #0a0a0a;
-    color: white; }
-  .notification.is-light {
-    background-color: whitesmoke;
-    color: #363636; }
-  .notification.is-dark, .content kbd.notification {
-    background-color: #363636;
-    color: whitesmoke; }
-  .notification.is-primary, .docstring > section > a.notification.docs-sourcelink {
-    background-color: #4eb5de;
-    color: #fff; }
-  .notification.is-link {
-    background-color: #2e63b8;
-    color: #fff; }
-  .notification.is-info {
-    background-color: #209cee;
-    color: #fff; }
-  .notification.is-success {
-    background-color: #22c35b;
-    color: #fff; }
-  .notification.is-warning {
-    background-color: #ffdd57;
-    color: rgba(0, 0, 0, 0.7); }
-  .notification.is-danger {
-    background-color: #da0b00;
-    color: #fff; }
-
-.progress {
-  -moz-appearance: none;
-  -webkit-appearance: none;
-  border: none;
-  border-radius: 290486px;
-  display: block;
-  height: 1rem;
-  overflow: hidden;
-  padding: 0;
-  width: 100%; }
-  .progress::-webkit-progress-bar {
-    background-color: #dbdbdb; }
-  .progress::-webkit-progress-value {
-    background-color: #222222; }
-  .progress::-moz-progress-bar {
-    background-color: #222222; }
-  .progress::-ms-fill {
-    background-color: #222222;
-    border: none; }
-  .progress.is-white::-webkit-progress-value {
-    background-color: white; }
-  .progress.is-white::-moz-progress-bar {
-    background-color: white; }
-  .progress.is-white::-ms-fill {
-    background-color: white; }
-  .progress.is-white:indeterminate {
-    background-image: linear-gradient(to right, white 30%, #dbdbdb 30%); }
-  .progress.is-black::-webkit-progress-value {
-    background-color: #0a0a0a; }
-  .progress.is-black::-moz-progress-bar {
-    background-color: #0a0a0a; }
-  .progress.is-black::-ms-fill {
-    background-color: #0a0a0a; }
-  .progress.is-black:indeterminate {
-    background-image: linear-gradient(to right, #0a0a0a 30%, #dbdbdb 30%); }
-  .progress.is-light::-webkit-progress-value {
-    background-color: whitesmoke; }
-  .progress.is-light::-moz-progress-bar {
-    background-color: whitesmoke; }
-  .progress.is-light::-ms-fill {
-    background-color: whitesmoke; }
-  .progress.is-light:indeterminate {
-    background-image: linear-gradient(to right, whitesmoke 30%, #dbdbdb 30%); }
-  .progress.is-dark::-webkit-progress-value, .content kbd.progress::-webkit-progress-value {
-    background-color: #363636; }
-  .progress.is-dark::-moz-progress-bar, .content kbd.progress::-moz-progress-bar {
-    background-color: #363636; }
-  .progress.is-dark::-ms-fill, .content kbd.progress::-ms-fill {
-    background-color: #363636; }
-  .progress.is-dark:indeterminate, .content kbd.progress:indeterminate {
-    background-image: linear-gradient(to right, #363636 30%, #dbdbdb 30%); }
-  .progress.is-primary::-webkit-progress-value, .docstring > section > a.progress.docs-sourcelink::-webkit-progress-value {
-    background-color: #4eb5de; }
-  .progress.is-primary::-moz-progress-bar, .docstring > section > a.progress.docs-sourcelink::-moz-progress-bar {
-    background-color: #4eb5de; }
-  .progress.is-primary::-ms-fill, .docstring > section > a.progress.docs-sourcelink::-ms-fill {
-    background-color: #4eb5de; }
-  .progress.is-primary:indeterminate, .docstring > section > a.progress.docs-sourcelink:indeterminate {
-    background-image: linear-gradient(to right, #4eb5de 30%, #dbdbdb 30%); }
-  .progress.is-link::-webkit-progress-value {
-    background-color: #2e63b8; }
-  .progress.is-link::-moz-progress-bar {
-    background-color: #2e63b8; }
-  .progress.is-link::-ms-fill {
-    background-color: #2e63b8; }
-  .progress.is-link:indeterminate {
-    background-image: linear-gradient(to right, #2e63b8 30%, #dbdbdb 30%); }
-  .progress.is-info::-webkit-progress-value {
-    background-color: #209cee; }
-  .progress.is-info::-moz-progress-bar {
-    background-color: #209cee; }
-  .progress.is-info::-ms-fill {
-    background-color: #209cee; }
-  .progress.is-info:indeterminate {
-    background-image: linear-gradient(to right, #209cee 30%, #dbdbdb 30%); }
-  .progress.is-success::-webkit-progress-value {
-    background-color: #22c35b; }
-  .progress.is-success::-moz-progress-bar {
-    background-color: #22c35b; }
-  .progress.is-success::-ms-fill {
-    background-color: #22c35b; }
-  .progress.is-success:indeterminate {
-    background-image: linear-gradient(to right, #22c35b 30%, #dbdbdb 30%); }
-  .progress.is-warning::-webkit-progress-value {
-    background-color: #ffdd57; }
-  .progress.is-warning::-moz-progress-bar {
-    background-color: #ffdd57; }
-  .progress.is-warning::-ms-fill {
-    background-color: #ffdd57; }
-  .progress.is-warning:indeterminate {
-    background-image: linear-gradient(to right, #ffdd57 30%, #dbdbdb 30%); }
-  .progress.is-danger::-webkit-progress-value {
-    background-color: #da0b00; }
-  .progress.is-danger::-moz-progress-bar {
-    background-color: #da0b00; }
-  .progress.is-danger::-ms-fill {
-    background-color: #da0b00; }
-  .progress.is-danger:indeterminate {
-    background-image: linear-gradient(to right, #da0b00 30%, #dbdbdb 30%); }
-  .progress:indeterminate {
-    animation-duration: 1.5s;
-    animation-iteration-count: infinite;
-    animation-name: moveIndeterminate;
-    animation-timing-function: linear;
-    background-color: #dbdbdb;
-    background-image: linear-gradient(to right, #222222 30%, #dbdbdb 30%);
-    background-position: top left;
-    background-repeat: no-repeat;
-    background-size: 150% 150%; }
-    .progress:indeterminate::-webkit-progress-bar {
-      background-color: transparent; }
-    .progress:indeterminate::-moz-progress-bar {
-      background-color: transparent; }
-  .progress.is-small, #documenter .docs-sidebar form.docs-search > input.progress {
-    height: 0.75rem; }
-  .progress.is-medium {
-    height: 1.25rem; }
-  .progress.is-large {
-    height: 1.5rem; }
-
-@keyframes moveIndeterminate {
-  from {
-    background-position: 200% 0; }
-  to {
-    background-position: -200% 0; } }
-
-.table {
-  background-color: white;
-  color: #363636; }
-  .table td,
-  .table th {
-    border: 1px solid #dbdbdb;
-    border-width: 0 0 1px;
-    padding: 0.5em 0.75em;
-    vertical-align: top; }
-    .table td.is-white,
-    .table th.is-white {
-      background-color: white;
-      border-color: white;
-      color: #0a0a0a; }
-    .table td.is-black,
-    .table th.is-black {
-      background-color: #0a0a0a;
-      border-color: #0a0a0a;
-      color: white; }
-    .table td.is-light,
-    .table th.is-light {
-      background-color: whitesmoke;
-      border-color: whitesmoke;
-      color: #363636; }
-    .table td.is-dark,
-    .table th.is-dark {
-      background-color: #363636;
-      border-color: #363636;
-      color: whitesmoke; }
-    .table td.is-primary,
-    .table th.is-primary {
-      background-color: #4eb5de;
-      border-color: #4eb5de;
-      color: #fff; }
-    .table td.is-link,
-    .table th.is-link {
-      background-color: #2e63b8;
-      border-color: #2e63b8;
-      color: #fff; }
-    .table td.is-info,
-    .table th.is-info {
-      background-color: #209cee;
-      border-color: #209cee;
-      color: #fff; }
-    .table td.is-success,
-    .table th.is-success {
-      background-color: #22c35b;
-      border-color: #22c35b;
-      color: #fff; }
-    .table td.is-warning,
-    .table th.is-warning {
-      background-color: #ffdd57;
-      border-color: #ffdd57;
-      color: rgba(0, 0, 0, 0.7); }
-    .table td.is-danger,
-    .table th.is-danger {
-      background-color: #da0b00;
-      border-color: #da0b00;
-      color: #fff; }
-    .table td.is-narrow,
-    .table th.is-narrow {
-      white-space: nowrap;
-      width: 1%; }
-    .table td.is-selected,
-    .table th.is-selected {
-      background-color: #4eb5de;
-      color: #fff; }
-      .table td.is-selected a,
-      .table td.is-selected strong,
-      .table th.is-selected a,
-      .table th.is-selected strong {
-        color: currentColor; }
-  .table th {
-    color: #222222; }
-    .table th:not([align]) {
-      text-align: left; }
-  .table tr.is-selected {
-    background-color: #4eb5de;
-    color: #fff; }
-    .table tr.is-selected a,
-    .table tr.is-selected strong {
-      color: currentColor; }
-    .table tr.is-selected td,
-    .table tr.is-selected th {
-      border-color: #fff;
-      color: currentColor; }
-  .table thead {
-    background-color: transparent; }
-    .table thead td,
-    .table thead th {
-      border-width: 0 0 2px;
-      color: #222222; }
-  .table tfoot {
-    background-color: transparent; }
-    .table tfoot td,
-    .table tfoot th {
-      border-width: 2px 0 0;
-      color: #222222; }
-  .table tbody {
-    background-color: transparent; }
-    .table tbody tr:last-child td,
-    .table tbody tr:last-child th {
-      border-bottom-width: 0; }
-  .table.is-bordered td,
-  .table.is-bordered th {
-    border-width: 1px; }
-  .table.is-bordered tr:last-child td,
-  .table.is-bordered tr:last-child th {
-    border-bottom-width: 1px; }
-  .table.is-fullwidth {
-    width: 100%; }
-  .table.is-hoverable tbody tr:not(.is-selected):hover {
-    background-color: #fafafa; }
-  .table.is-hoverable.is-striped tbody tr:not(.is-selected):hover {
-    background-color: #fafafa; }
-    .table.is-hoverable.is-striped tbody tr:not(.is-selected):hover:nth-child(even) {
-      background-color: whitesmoke; }
-  .table.is-narrow td,
-  .table.is-narrow th {
-    padding: 0.25em 0.5em; }
-  .table.is-striped tbody tr:not(.is-selected):nth-child(even) {
-    background-color: #fafafa; }
-
-.table-container {
-  -webkit-overflow-scrolling: touch;
-  overflow: auto;
-  overflow-y: hidden;
-  max-width: 100%; }
-
-.tags {
-  align-items: center;
-  display: flex;
-  flex-wrap: wrap;
-  justify-content: flex-start; }
-  .tags .tag, .tags .content kbd, .content .tags kbd, .tags .docstring > section > a.docs-sourcelink {
-    margin-bottom: 0.5rem; }
-    .tags .tag:not(:last-child), .tags .content kbd:not(:last-child), .content .tags kbd:not(:last-child), .tags .docstring > section > a.docs-sourcelink:not(:last-child) {
-      margin-right: 0.5rem; }
-  .tags:last-child {
-    margin-bottom: -0.5rem; }
-  .tags:not(:last-child) {
-    margin-bottom: 1rem; }
-  .tags.are-medium .tag:not(.is-normal):not(.is-large), .tags.are-medium .content kbd:not(.is-normal):not(.is-large), .content .tags.are-medium kbd:not(.is-normal):not(.is-large), .tags.are-medium .docstring > section > a.docs-sourcelink:not(.is-normal):not(.is-large) {
-    font-size: 1rem; }
-  .tags.are-large .tag:not(.is-normal):not(.is-medium), .tags.are-large .content kbd:not(.is-normal):not(.is-medium), .content .tags.are-large kbd:not(.is-normal):not(.is-medium), .tags.are-large .docstring > section > a.docs-sourcelink:not(.is-normal):not(.is-medium) {
-    font-size: 1.25rem; }
-  .tags.is-centered {
-    justify-content: center; }
-    .tags.is-centered .tag, .tags.is-centered .content kbd, .content .tags.is-centered kbd, .tags.is-centered .docstring > section > a.docs-sourcelink {
-      margin-right: 0.25rem;
-      margin-left: 0.25rem; }
-  .tags.is-right {
-    justify-content: flex-end; }
-    .tags.is-right .tag:not(:first-child), .tags.is-right .content kbd:not(:first-child), .content .tags.is-right kbd:not(:first-child), .tags.is-right .docstring > section > a.docs-sourcelink:not(:first-child) {
-      margin-left: 0.5rem; }
-    .tags.is-right .tag:not(:last-child), .tags.is-right .content kbd:not(:last-child), .content .tags.is-right kbd:not(:last-child), .tags.is-right .docstring > section > a.docs-sourcelink:not(:last-child) {
-      margin-right: 0; }
-  .tags.has-addons .tag, .tags.has-addons .content kbd, .content .tags.has-addons kbd, .tags.has-addons .docstring > section > a.docs-sourcelink {
-    margin-right: 0; }
-    .tags.has-addons .tag:not(:first-child), .tags.has-addons .content kbd:not(:first-child), .content .tags.has-addons kbd:not(:first-child), .tags.has-addons .docstring > section > a.docs-sourcelink:not(:first-child) {
-      margin-left: 0;
-      border-bottom-left-radius: 0;
-      border-top-left-radius: 0; }
-    .tags.has-addons .tag:not(:last-child), .tags.has-addons .content kbd:not(:last-child), .content .tags.has-addons kbd:not(:last-child), .tags.has-addons .docstring > section > a.docs-sourcelink:not(:last-child) {
-      border-bottom-right-radius: 0;
-      border-top-right-radius: 0; }
-
-.tag:not(body), .content kbd:not(body), .docstring > section > a.docs-sourcelink:not(body) {
-  align-items: center;
-  background-color: whitesmoke;
-  border-radius: 4px;
-  color: #222222;
-  display: inline-flex;
-  font-size: 0.75rem;
-  height: 2em;
-  justify-content: center;
-  line-height: 1.5;
-  padding-left: 0.75em;
-  padding-right: 0.75em;
-  white-space: nowrap; }
-  .tag:not(body) .delete, .content kbd:not(body) .delete, .docstring > section > a.docs-sourcelink:not(body) .delete {
-    margin-left: 0.25rem;
-    margin-right: -0.375rem; }
-  .tag.is-white:not(body), .content kbd.is-white:not(body), .docstring > section > a.docs-sourcelink.is-white:not(body) {
-    background-color: white;
-    color: #0a0a0a; }
-  .tag.is-black:not(body), .content kbd.is-black:not(body), .docstring > section > a.docs-sourcelink.is-black:not(body) {
-    background-color: #0a0a0a;
-    color: white; }
-  .tag.is-light:not(body), .content kbd.is-light:not(body), .docstring > section > a.docs-sourcelink.is-light:not(body) {
-    background-color: whitesmoke;
-    color: #363636; }
-  .tag.is-dark:not(body), .content kbd:not(body), .docstring > section > a.docs-sourcelink.is-dark:not(body), .content .docstring > section > kbd:not(body) {
-    background-color: #363636;
-    color: whitesmoke; }
-  .tag.is-primary:not(body), .content kbd.is-primary:not(body), .docstring > section > a.docs-sourcelink:not(body) {
-    background-color: #4eb5de;
-    color: #fff; }
-  .tag.is-link:not(body), .content kbd.is-link:not(body), .docstring > section > a.docs-sourcelink.is-link:not(body) {
-    background-color: #2e63b8;
-    color: #fff; }
-  .tag.is-info:not(body), .content kbd.is-info:not(body), .docstring > section > a.docs-sourcelink.is-info:not(body) {
-    background-color: #209cee;
-    color: #fff; }
-  .tag.is-success:not(body), .content kbd.is-success:not(body), .docstring > section > a.docs-sourcelink.is-success:not(body) {
-    background-color: #22c35b;
-    color: #fff; }
-  .tag.is-warning:not(body), .content kbd.is-warning:not(body), .docstring > section > a.docs-sourcelink.is-warning:not(body) {
-    background-color: #ffdd57;
-    color: rgba(0, 0, 0, 0.7); }
-  .tag.is-danger:not(body), .content kbd.is-danger:not(body), .docstring > section > a.docs-sourcelink.is-danger:not(body) {
-    background-color: #da0b00;
-    color: #fff; }
-  .tag.is-normal:not(body), .content kbd.is-normal:not(body), .docstring > section > a.docs-sourcelink.is-normal:not(body) {
-    font-size: 0.75rem; }
-  .tag.is-medium:not(body), .content kbd.is-medium:not(body), .docstring > section > a.docs-sourcelink.is-medium:not(body) {
-    font-size: 1rem; }
-  .tag.is-large:not(body), .content kbd.is-large:not(body), .docstring > section > a.docs-sourcelink.is-large:not(body) {
-    font-size: 1.25rem; }
-  .tag:not(body) .icon:first-child:not(:last-child), .content kbd:not(body) .icon:first-child:not(:last-child), .docstring > section > a.docs-sourcelink:not(body) .icon:first-child:not(:last-child) {
-    margin-left: -0.375em;
-    margin-right: 0.1875em; }
-  .tag:not(body) .icon:last-child:not(:first-child), .content kbd:not(body) .icon:last-child:not(:first-child), .docstring > section > a.docs-sourcelink:not(body) .icon:last-child:not(:first-child) {
-    margin-left: 0.1875em;
-    margin-right: -0.375em; }
-  .tag:not(body) .icon:first-child:last-child, .content kbd:not(body) .icon:first-child:last-child, .docstring > section > a.docs-sourcelink:not(body) .icon:first-child:last-child {
-    margin-left: -0.375em;
-    margin-right: -0.375em; }
-  .tag.is-delete:not(body), .content kbd.is-delete:not(body), .docstring > section > a.docs-sourcelink.is-delete:not(body) {
-    margin-left: 1px;
-    padding: 0;
-    position: relative;
-    width: 2em; }
-    .tag.is-delete:not(body)::before, .content kbd.is-delete:not(body)::before, .docstring > section > a.docs-sourcelink.is-delete:not(body)::before, .tag.is-delete:not(body)::after, .content kbd.is-delete:not(body)::after, .docstring > section > a.docs-sourcelink.is-delete:not(body)::after {
-      background-color: currentColor;
-      content: "";
-      display: block;
-      left: 50%;
-      position: absolute;
-      top: 50%;
-      transform: translateX(-50%) translateY(-50%) rotate(45deg);
-      transform-origin: center center; }
-    .tag.is-delete:not(body)::before, .content kbd.is-delete:not(body)::before, .docstring > section > a.docs-sourcelink.is-delete:not(body)::before {
-      height: 1px;
-      width: 50%; }
-    .tag.is-delete:not(body)::after, .content kbd.is-delete:not(body)::after, .docstring > section > a.docs-sourcelink.is-delete:not(body)::after {
-      height: 50%;
-      width: 1px; }
-    .tag.is-delete:not(body):hover, .content kbd.is-delete:not(body):hover, .docstring > section > a.docs-sourcelink.is-delete:not(body):hover, .tag.is-delete:not(body):focus, .content kbd.is-delete:not(body):focus, .docstring > section > a.docs-sourcelink.is-delete:not(body):focus {
-      background-color: #e8e8e8; }
-    .tag.is-delete:not(body):active, .content kbd.is-delete:not(body):active, .docstring > section > a.docs-sourcelink.is-delete:not(body):active {
-      background-color: #dbdbdb; }
-  .tag.is-rounded:not(body), #documenter .docs-sidebar form.docs-search > input:not(body), .content kbd.is-rounded:not(body), #documenter .docs-sidebar .content form.docs-search > input:not(body), .docstring > section > a.docs-sourcelink.is-rounded:not(body) {
-    border-radius: 290486px; }
-
-a.tag:hover, .docstring > section > a.docs-sourcelink:hover {
-  text-decoration: underline; }
-
-.title,
-.subtitle {
-  word-break: break-word; }
-  .title em,
-  .title span,
-  .subtitle em,
-  .subtitle span {
-    font-weight: inherit; }
-  .title sub,
-  .subtitle sub {
-    font-size: 0.75em; }
-  .title sup,
-  .subtitle sup {
-    font-size: 0.75em; }
-  .title .tag, .title .content kbd, .content .title kbd, .title .docstring > section > a.docs-sourcelink,
-  .subtitle .tag,
-  .subtitle .content kbd,
-  .content .subtitle kbd,
-  .subtitle .docstring > section > a.docs-sourcelink {
-    vertical-align: middle; }
-
-.title {
-  color: #363636;
-  font-size: 2rem;
-  font-weight: 600;
-  line-height: 1.125; }
-  .title strong {
-    color: inherit;
-    font-weight: inherit; }
-  .title + .highlight {
-    margin-top: -0.75rem; }
-  .title:not(.is-spaced) + .subtitle {
-    margin-top: -1.25rem; }
-  .title.is-1 {
-    font-size: 3rem; }
-  .title.is-2 {
-    font-size: 2.5rem; }
-  .title.is-3 {
-    font-size: 2rem; }
-  .title.is-4 {
-    font-size: 1.5rem; }
-  .title.is-5 {
-    font-size: 1.25rem; }
-  .title.is-6 {
-    font-size: 1rem; }
-  .title.is-7 {
-    font-size: 0.75rem; }
-
-.subtitle {
-  color: #4a4a4a;
-  font-size: 1.25rem;
-  font-weight: 400;
-  line-height: 1.25; }
-  .subtitle strong {
-    color: #363636;
-    font-weight: 600; }
-  .subtitle:not(.is-spaced) + .title {
-    margin-top: -1.25rem; }
-  .subtitle.is-1 {
-    font-size: 3rem; }
-  .subtitle.is-2 {
-    font-size: 2.5rem; }
-  .subtitle.is-3 {
-    font-size: 2rem; }
-  .subtitle.is-4 {
-    font-size: 1.5rem; }
-  .subtitle.is-5 {
-    font-size: 1.25rem; }
-  .subtitle.is-6 {
-    font-size: 1rem; }
-  .subtitle.is-7 {
-    font-size: 0.75rem; }
-
-.heading {
-  display: block;
-  font-size: 11px;
-  letter-spacing: 1px;
-  margin-bottom: 5px;
-  text-transform: uppercase; }
-
-.highlight {
-  font-weight: 400;
-  max-width: 100%;
-  overflow: hidden;
-  padding: 0; }
-  .highlight pre {
-    overflow: auto;
-    max-width: 100%; }
-
-.number {
-  align-items: center;
-  background-color: whitesmoke;
-  border-radius: 290486px;
-  display: inline-flex;
-  font-size: 1.25rem;
-  height: 2em;
-  justify-content: center;
-  margin-right: 1.5rem;
-  min-width: 2.5em;
-  padding: 0.25rem 0.5rem;
-  text-align: center;
-  vertical-align: top; }
-
-.select select, .textarea, .input, #documenter .docs-sidebar form.docs-search > input {
-  background-color: white;
-  border-color: #dbdbdb;
-  border-radius: 4px;
-  color: #363636; }
-  .select select::-moz-placeholder, .textarea::-moz-placeholder, .input::-moz-placeholder, #documenter .docs-sidebar form.docs-search > input::-moz-placeholder {
-    color: rgba(54, 54, 54, 0.3); }
-  .select select::-webkit-input-placeholder, .textarea::-webkit-input-placeholder, .input::-webkit-input-placeholder, #documenter .docs-sidebar form.docs-search > input::-webkit-input-placeholder {
-    color: rgba(54, 54, 54, 0.3); }
-  .select select:-moz-placeholder, .textarea:-moz-placeholder, .input:-moz-placeholder, #documenter .docs-sidebar form.docs-search > input:-moz-placeholder {
-    color: rgba(54, 54, 54, 0.3); }
-  .select select:-ms-input-placeholder, .textarea:-ms-input-placeholder, .input:-ms-input-placeholder, #documenter .docs-sidebar form.docs-search > input:-ms-input-placeholder {
-    color: rgba(54, 54, 54, 0.3); }
-  .select select:hover, .textarea:hover, .input:hover, #documenter .docs-sidebar form.docs-search > input:hover, .select select.is-hovered, .is-hovered.textarea, .is-hovered.input, #documenter .docs-sidebar form.docs-search > input.is-hovered {
-    border-color: #b5b5b5; }
-  .select select:focus, .textarea:focus, .input:focus, #documenter .docs-sidebar form.docs-search > input:focus, .select select.is-focused, .is-focused.textarea, .is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .select select:active, .textarea:active, .input:active, #documenter .docs-sidebar form.docs-search > input:active, .select select.is-active, .is-active.textarea, .is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active {
-    border-color: #2e63b8;
-    box-shadow: 0 0 0 0.125em rgba(46, 99, 184, 0.25); }
-  .select select[disabled], .textarea[disabled], .input[disabled], #documenter .docs-sidebar form.docs-search > input[disabled], fieldset[disabled] .select select, .select fieldset[disabled] select, fieldset[disabled] .textarea, fieldset[disabled] .input, fieldset[disabled] #documenter .docs-sidebar form.docs-search > input, #documenter .docs-sidebar fieldset[disabled] form.docs-search > input {
-    background-color: whitesmoke;
-    border-color: whitesmoke;
-    box-shadow: none;
-    color: #6b6b6b; }
-    .select select[disabled]::-moz-placeholder, .textarea[disabled]::-moz-placeholder, .input[disabled]::-moz-placeholder, #documenter .docs-sidebar form.docs-search > input[disabled]::-moz-placeholder, fieldset[disabled] .select select::-moz-placeholder, .select fieldset[disabled] select::-moz-placeholder, fieldset[disabled] .textarea::-moz-placeholder, fieldset[disabled] .input::-moz-placeholder, fieldset[disabled] #documenter .docs-sidebar form.docs-search > input::-moz-placeholder, #documenter .docs-sidebar fieldset[disabled] form.docs-search > input::-moz-placeholder {
-      color: rgba(107, 107, 107, 0.3); }
-    .select select[disabled]::-webkit-input-placeholder, .textarea[disabled]::-webkit-input-placeholder, .input[disabled]::-webkit-input-placeholder, #documenter .docs-sidebar form.docs-search > input[disabled]::-webkit-input-placeholder, fieldset[disabled] .select select::-webkit-input-placeholder, .select fieldset[disabled] select::-webkit-input-placeholder, fieldset[disabled] .textarea::-webkit-input-placeholder, fieldset[disabled] .input::-webkit-input-placeholder, fieldset[disabled] #documenter .docs-sidebar form.docs-search > input::-webkit-input-placeholder, #documenter .docs-sidebar fieldset[disabled] form.docs-search > input::-webkit-input-placeholder {
-      color: rgba(107, 107, 107, 0.3); }
-    .select select[disabled]:-moz-placeholder, .textarea[disabled]:-moz-placeholder, .input[disabled]:-moz-placeholder, #documenter .docs-sidebar form.docs-search > input[disabled]:-moz-placeholder, fieldset[disabled] .select select:-moz-placeholder, .select fieldset[disabled] select:-moz-placeholder, fieldset[disabled] .textarea:-moz-placeholder, fieldset[disabled] .input:-moz-placeholder, fieldset[disabled] #documenter .docs-sidebar form.docs-search > input:-moz-placeholder, #documenter .docs-sidebar fieldset[disabled] form.docs-search > input:-moz-placeholder {
-      color: rgba(107, 107, 107, 0.3); }
-    .select select[disabled]:-ms-input-placeholder, .textarea[disabled]:-ms-input-placeholder, .input[disabled]:-ms-input-placeholder, #documenter .docs-sidebar form.docs-search > input[disabled]:-ms-input-placeholder, fieldset[disabled] .select select:-ms-input-placeholder, .select fieldset[disabled] select:-ms-input-placeholder, fieldset[disabled] .textarea:-ms-input-placeholder, fieldset[disabled] .input:-ms-input-placeholder, fieldset[disabled] #documenter .docs-sidebar form.docs-search > input:-ms-input-placeholder, #documenter .docs-sidebar fieldset[disabled] form.docs-search > input:-ms-input-placeholder {
-      color: rgba(107, 107, 107, 0.3); }
-
-.textarea, .input, #documenter .docs-sidebar form.docs-search > input {
-  box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
-  max-width: 100%;
-  width: 100%; }
-  .textarea[readonly], .input[readonly], #documenter .docs-sidebar form.docs-search > input[readonly] {
-    box-shadow: none; }
-  .is-white.textarea, .is-white.input, #documenter .docs-sidebar form.docs-search > input.is-white {
-    border-color: white; }
-    .is-white.textarea:focus, .is-white.input:focus, #documenter .docs-sidebar form.docs-search > input.is-white:focus, .is-white.is-focused.textarea, .is-white.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-white.textarea:active, .is-white.input:active, #documenter .docs-sidebar form.docs-search > input.is-white:active, .is-white.is-active.textarea, .is-white.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active {
-      box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); }
-  .is-black.textarea, .is-black.input, #documenter .docs-sidebar form.docs-search > input.is-black {
-    border-color: #0a0a0a; }
-    .is-black.textarea:focus, .is-black.input:focus, #documenter .docs-sidebar form.docs-search > input.is-black:focus, .is-black.is-focused.textarea, .is-black.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-black.textarea:active, .is-black.input:active, #documenter .docs-sidebar form.docs-search > input.is-black:active, .is-black.is-active.textarea, .is-black.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active {
-      box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); }
-  .is-light.textarea, .is-light.input, #documenter .docs-sidebar form.docs-search > input.is-light {
-    border-color: whitesmoke; }
-    .is-light.textarea:focus, .is-light.input:focus, #documenter .docs-sidebar form.docs-search > input.is-light:focus, .is-light.is-focused.textarea, .is-light.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-light.textarea:active, .is-light.input:active, #documenter .docs-sidebar form.docs-search > input.is-light:active, .is-light.is-active.textarea, .is-light.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active {
-      box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); }
-  .is-dark.textarea, .content kbd.textarea, .is-dark.input, #documenter .docs-sidebar form.docs-search > input.is-dark, .content kbd.input {
-    border-color: #363636; }
-    .is-dark.textarea:focus, .content kbd.textarea:focus, .is-dark.input:focus, #documenter .docs-sidebar form.docs-search > input.is-dark:focus, .content kbd.input:focus, .is-dark.is-focused.textarea, .content kbd.is-focused.textarea, .is-dark.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .content kbd.is-focused.input, #documenter .docs-sidebar .content form.docs-search > input.is-focused, .is-dark.textarea:active, .content kbd.textarea:active, .is-dark.input:active, #documenter .docs-sidebar form.docs-search > input.is-dark:active, .content kbd.input:active, .is-dark.is-active.textarea, .content kbd.is-active.textarea, .is-dark.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active, .content kbd.is-active.input, #documenter .docs-sidebar .content form.docs-search > input.is-active {
-      box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25); }
-  .is-primary.textarea, .docstring > section > a.textarea.docs-sourcelink, .is-primary.input, #documenter .docs-sidebar form.docs-search > input.is-primary, .docstring > section > a.input.docs-sourcelink {
-    border-color: #4eb5de; }
-    .is-primary.textarea:focus, .docstring > section > a.textarea.docs-sourcelink:focus, .is-primary.input:focus, #documenter .docs-sidebar form.docs-search > input.is-primary:focus, .docstring > section > a.input.docs-sourcelink:focus, .is-primary.is-focused.textarea, .docstring > section > a.is-focused.textarea.docs-sourcelink, .is-primary.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .docstring > section > a.is-focused.input.docs-sourcelink, .is-primary.textarea:active, .docstring > section > a.textarea.docs-sourcelink:active, .is-primary.input:active, #documenter .docs-sidebar form.docs-search > input.is-primary:active, .docstring > section > a.input.docs-sourcelink:active, .is-primary.is-active.textarea, .docstring > section > a.is-active.textarea.docs-sourcelink, .is-primary.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active, .docstring > section > a.is-active.input.docs-sourcelink {
-      box-shadow: 0 0 0 0.125em rgba(78, 181, 222, 0.25); }
-  .is-link.textarea, .is-link.input, #documenter .docs-sidebar form.docs-search > input.is-link {
-    border-color: #2e63b8; }
-    .is-link.textarea:focus, .is-link.input:focus, #documenter .docs-sidebar form.docs-search > input.is-link:focus, .is-link.is-focused.textarea, .is-link.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-link.textarea:active, .is-link.input:active, #documenter .docs-sidebar form.docs-search > input.is-link:active, .is-link.is-active.textarea, .is-link.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active {
-      box-shadow: 0 0 0 0.125em rgba(46, 99, 184, 0.25); }
-  .is-info.textarea, .is-info.input, #documenter .docs-sidebar form.docs-search > input.is-info {
-    border-color: #209cee; }
-    .is-info.textarea:focus, .is-info.input:focus, #documenter .docs-sidebar form.docs-search > input.is-info:focus, .is-info.is-focused.textarea, .is-info.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-info.textarea:active, .is-info.input:active, #documenter .docs-sidebar form.docs-search > input.is-info:active, .is-info.is-active.textarea, .is-info.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active {
-      box-shadow: 0 0 0 0.125em rgba(32, 156, 238, 0.25); }
-  .is-success.textarea, .is-success.input, #documenter .docs-sidebar form.docs-search > input.is-success {
-    border-color: #22c35b; }
-    .is-success.textarea:focus, .is-success.input:focus, #documenter .docs-sidebar form.docs-search > input.is-success:focus, .is-success.is-focused.textarea, .is-success.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-success.textarea:active, .is-success.input:active, #documenter .docs-sidebar form.docs-search > input.is-success:active, .is-success.is-active.textarea, .is-success.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active {
-      box-shadow: 0 0 0 0.125em rgba(34, 195, 91, 0.25); }
-  .is-warning.textarea, .is-warning.input, #documenter .docs-sidebar form.docs-search > input.is-warning {
-    border-color: #ffdd57; }
-    .is-warning.textarea:focus, .is-warning.input:focus, #documenter .docs-sidebar form.docs-search > input.is-warning:focus, .is-warning.is-focused.textarea, .is-warning.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-warning.textarea:active, .is-warning.input:active, #documenter .docs-sidebar form.docs-search > input.is-warning:active, .is-warning.is-active.textarea, .is-warning.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active {
-      box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25); }
-  .is-danger.textarea, .is-danger.input, #documenter .docs-sidebar form.docs-search > input.is-danger {
-    border-color: #da0b00; }
-    .is-danger.textarea:focus, .is-danger.input:focus, #documenter .docs-sidebar form.docs-search > input.is-danger:focus, .is-danger.is-focused.textarea, .is-danger.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-danger.textarea:active, .is-danger.input:active, #documenter .docs-sidebar form.docs-search > input.is-danger:active, .is-danger.is-active.textarea, .is-danger.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active {
-      box-shadow: 0 0 0 0.125em rgba(218, 11, 0, 0.25); }
-  .is-small.textarea, .is-small.input, #documenter .docs-sidebar form.docs-search > input {
-    border-radius: 2px;
-    font-size: 0.75rem; }
-  .is-medium.textarea, .is-medium.input, #documenter .docs-sidebar form.docs-search > input.is-medium {
-    font-size: 1.25rem; }
-  .is-large.textarea, .is-large.input, #documenter .docs-sidebar form.docs-search > input.is-large {
-    font-size: 1.5rem; }
-  .is-fullwidth.textarea, .is-fullwidth.input, #documenter .docs-sidebar form.docs-search > input.is-fullwidth {
-    display: block;
-    width: 100%; }
-  .is-inline.textarea, .is-inline.input, #documenter .docs-sidebar form.docs-search > input.is-inline {
-    display: inline;
-    width: auto; }
-
-.input.is-rounded, #documenter .docs-sidebar form.docs-search > input {
-  border-radius: 290486px;
-  padding-left: 1em;
-  padding-right: 1em; }
-
-.input.is-static, #documenter .docs-sidebar form.docs-search > input.is-static {
-  background-color: transparent;
-  border-color: transparent;
-  box-shadow: none;
-  padding-left: 0;
-  padding-right: 0; }
-
-.textarea {
-  display: block;
-  max-width: 100%;
-  min-width: 100%;
-  padding: 0.625em;
-  resize: vertical; }
-  .textarea:not([rows]) {
-    max-height: 600px;
-    min-height: 120px; }
-  .textarea[rows] {
-    height: initial; }
-  .textarea.has-fixed-size {
-    resize: none; }
-
-.radio, .checkbox {
-  cursor: pointer;
-  display: inline-block;
-  line-height: 1.25;
-  position: relative; }
-  .radio input, .checkbox input {
-    cursor: pointer; }
-  .radio:hover, .checkbox:hover {
-    color: #363636; }
-  .radio[disabled], .checkbox[disabled], fieldset[disabled] .radio, fieldset[disabled] .checkbox {
-    color: #6b6b6b;
-    cursor: not-allowed; }
-
-.radio + .radio {
-  margin-left: 0.5em; }
-
-.select {
-  display: inline-block;
-  max-width: 100%;
-  position: relative;
-  vertical-align: top; }
-  .select:not(.is-multiple) {
-    height: 2.25em; }
-  .select:not(.is-multiple):not(.is-loading)::after {
-    border-color: #2e63b8;
-    right: 1.125em;
-    z-index: 4; }
-  .select.is-rounded select, #documenter .docs-sidebar form.docs-search > input.select select {
-    border-radius: 290486px;
-    padding-left: 1em; }
-  .select select {
-    cursor: pointer;
-    display: block;
-    font-size: 1em;
-    max-width: 100%;
-    outline: none; }
-    .select select::-ms-expand {
-      display: none; }
-    .select select[disabled]:hover, fieldset[disabled] .select select:hover {
-      border-color: whitesmoke; }
-    .select select:not([multiple]) {
-      padding-right: 2.5em; }
-    .select select[multiple] {
-      height: auto;
-      padding: 0; }
-      .select select[multiple] option {
-        padding: 0.5em 1em; }
-  .select:not(.is-multiple):not(.is-loading):hover::after {
-    border-color: #363636; }
-  .select.is-white:not(:hover)::after {
-    border-color: white; }
-  .select.is-white select {
-    border-color: white; }
-    .select.is-white select:hover, .select.is-white select.is-hovered {
-      border-color: #f2f2f2; }
-    .select.is-white select:focus, .select.is-white select.is-focused, .select.is-white select:active, .select.is-white select.is-active {
-      box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); }
-  .select.is-black:not(:hover)::after {
-    border-color: #0a0a0a; }
-  .select.is-black select {
-    border-color: #0a0a0a; }
-    .select.is-black select:hover, .select.is-black select.is-hovered {
-      border-color: black; }
-    .select.is-black select:focus, .select.is-black select.is-focused, .select.is-black select:active, .select.is-black select.is-active {
-      box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); }
-  .select.is-light:not(:hover)::after {
-    border-color: whitesmoke; }
-  .select.is-light select {
-    border-color: whitesmoke; }
-    .select.is-light select:hover, .select.is-light select.is-hovered {
-      border-color: #e8e8e8; }
-    .select.is-light select:focus, .select.is-light select.is-focused, .select.is-light select:active, .select.is-light select.is-active {
-      box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); }
-  .select.is-dark:not(:hover)::after, .content kbd.select:not(:hover)::after {
-    border-color: #363636; }
-  .select.is-dark select, .content kbd.select select {
-    border-color: #363636; }
-    .select.is-dark select:hover, .content kbd.select select:hover, .select.is-dark select.is-hovered, .content kbd.select select.is-hovered {
-      border-color: #292929; }
-    .select.is-dark select:focus, .content kbd.select select:focus, .select.is-dark select.is-focused, .content kbd.select select.is-focused, .select.is-dark select:active, .content kbd.select select:active, .select.is-dark select.is-active, .content kbd.select select.is-active {
-      box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25); }
-  .select.is-primary:not(:hover)::after, .docstring > section > a.select.docs-sourcelink:not(:hover)::after {
-    border-color: #4eb5de; }
-  .select.is-primary select, .docstring > section > a.select.docs-sourcelink select {
-    border-color: #4eb5de; }
-    .select.is-primary select:hover, .docstring > section > a.select.docs-sourcelink select:hover, .select.is-primary select.is-hovered, .docstring > section > a.select.docs-sourcelink select.is-hovered {
-      border-color: #39acda; }
-    .select.is-primary select:focus, .docstring > section > a.select.docs-sourcelink select:focus, .select.is-primary select.is-focused, .docstring > section > a.select.docs-sourcelink select.is-focused, .select.is-primary select:active, .docstring > section > a.select.docs-sourcelink select:active, .select.is-primary select.is-active, .docstring > section > a.select.docs-sourcelink select.is-active {
-      box-shadow: 0 0 0 0.125em rgba(78, 181, 222, 0.25); }
-  .select.is-link:not(:hover)::after {
-    border-color: #2e63b8; }
-  .select.is-link select {
-    border-color: #2e63b8; }
-    .select.is-link select:hover, .select.is-link select.is-hovered {
-      border-color: #2958a4; }
-    .select.is-link select:focus, .select.is-link select.is-focused, .select.is-link select:active, .select.is-link select.is-active {
-      box-shadow: 0 0 0 0.125em rgba(46, 99, 184, 0.25); }
-  .select.is-info:not(:hover)::after {
-    border-color: #209cee; }
-  .select.is-info select {
-    border-color: #209cee; }
-    .select.is-info select:hover, .select.is-info select.is-hovered {
-      border-color: #1190e3; }
-    .select.is-info select:focus, .select.is-info select.is-focused, .select.is-info select:active, .select.is-info select.is-active {
-      box-shadow: 0 0 0 0.125em rgba(32, 156, 238, 0.25); }
-  .select.is-success:not(:hover)::after {
-    border-color: #22c35b; }
-  .select.is-success select {
-    border-color: #22c35b; }
-    .select.is-success select:hover, .select.is-success select.is-hovered {
-      border-color: #1ead51; }
-    .select.is-success select:focus, .select.is-success select.is-focused, .select.is-success select:active, .select.is-success select.is-active {
-      box-shadow: 0 0 0 0.125em rgba(34, 195, 91, 0.25); }
-  .select.is-warning:not(:hover)::after {
-    border-color: #ffdd57; }
-  .select.is-warning select {
-    border-color: #ffdd57; }
-    .select.is-warning select:hover, .select.is-warning select.is-hovered {
-      border-color: #ffd83e; }
-    .select.is-warning select:focus, .select.is-warning select.is-focused, .select.is-warning select:active, .select.is-warning select.is-active {
-      box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25); }
-  .select.is-danger:not(:hover)::after {
-    border-color: #da0b00; }
-  .select.is-danger select {
-    border-color: #da0b00; }
-    .select.is-danger select:hover, .select.is-danger select.is-hovered {
-      border-color: #c10a00; }
-    .select.is-danger select:focus, .select.is-danger select.is-focused, .select.is-danger select:active, .select.is-danger select.is-active {
-      box-shadow: 0 0 0 0.125em rgba(218, 11, 0, 0.25); }
-  .select.is-small, #documenter .docs-sidebar form.docs-search > input.select {
-    border-radius: 2px;
-    font-size: 0.75rem; }
-  .select.is-medium {
-    font-size: 1.25rem; }
-  .select.is-large {
-    font-size: 1.5rem; }
-  .select.is-disabled::after {
-    border-color: #6b6b6b; }
-  .select.is-fullwidth {
-    width: 100%; }
-    .select.is-fullwidth select {
-      width: 100%; }
-  .select.is-loading::after {
-    margin-top: 0;
-    position: absolute;
-    right: 0.625em;
-    top: 0.625em;
-    transform: none; }
-  .select.is-loading.is-small:after, #documenter .docs-sidebar form.docs-search > input.is-loading:after {
-    font-size: 0.75rem; }
-  .select.is-loading.is-medium:after {
-    font-size: 1.25rem; }
-  .select.is-loading.is-large:after {
-    font-size: 1.5rem; }
-
-.file {
-  align-items: stretch;
-  display: flex;
-  justify-content: flex-start;
-  position: relative; }
-  .file.is-white .file-cta {
-    background-color: white;
-    border-color: transparent;
-    color: #0a0a0a; }
-  .file.is-white:hover .file-cta, .file.is-white.is-hovered .file-cta {
-    background-color: #f9f9f9;
-    border-color: transparent;
-    color: #0a0a0a; }
-  .file.is-white:focus .file-cta, .file.is-white.is-focused .file-cta {
-    border-color: transparent;
-    box-shadow: 0 0 0.5em rgba(255, 255, 255, 0.25);
-    color: #0a0a0a; }
-  .file.is-white:active .file-cta, .file.is-white.is-active .file-cta {
-    background-color: #f2f2f2;
-    border-color: transparent;
-    color: #0a0a0a; }
-  .file.is-black .file-cta {
-    background-color: #0a0a0a;
-    border-color: transparent;
-    color: white; }
-  .file.is-black:hover .file-cta, .file.is-black.is-hovered .file-cta {
-    background-color: #040404;
-    border-color: transparent;
-    color: white; }
-  .file.is-black:focus .file-cta, .file.is-black.is-focused .file-cta {
-    border-color: transparent;
-    box-shadow: 0 0 0.5em rgba(10, 10, 10, 0.25);
-    color: white; }
-  .file.is-black:active .file-cta, .file.is-black.is-active .file-cta {
-    background-color: black;
-    border-color: transparent;
-    color: white; }
-  .file.is-light .file-cta {
-    background-color: whitesmoke;
-    border-color: transparent;
-    color: #363636; }
-  .file.is-light:hover .file-cta, .file.is-light.is-hovered .file-cta {
-    background-color: #eeeeee;
-    border-color: transparent;
-    color: #363636; }
-  .file.is-light:focus .file-cta, .file.is-light.is-focused .file-cta {
-    border-color: transparent;
-    box-shadow: 0 0 0.5em rgba(245, 245, 245, 0.25);
-    color: #363636; }
-  .file.is-light:active .file-cta, .file.is-light.is-active .file-cta {
-    background-color: #e8e8e8;
-    border-color: transparent;
-    color: #363636; }
-  .file.is-dark .file-cta, .content kbd.file .file-cta {
-    background-color: #363636;
-    border-color: transparent;
-    color: whitesmoke; }
-  .file.is-dark:hover .file-cta, .content kbd.file:hover .file-cta, .file.is-dark.is-hovered .file-cta, .content kbd.file.is-hovered .file-cta {
-    background-color: #2f2f2f;
-    border-color: transparent;
-    color: whitesmoke; }
-  .file.is-dark:focus .file-cta, .content kbd.file:focus .file-cta, .file.is-dark.is-focused .file-cta, .content kbd.file.is-focused .file-cta {
-    border-color: transparent;
-    box-shadow: 0 0 0.5em rgba(54, 54, 54, 0.25);
-    color: whitesmoke; }
-  .file.is-dark:active .file-cta, .content kbd.file:active .file-cta, .file.is-dark.is-active .file-cta, .content kbd.file.is-active .file-cta {
-    background-color: #292929;
-    border-color: transparent;
-    color: whitesmoke; }
-  .file.is-primary .file-cta, .docstring > section > a.file.docs-sourcelink .file-cta {
-    background-color: #4eb5de;
-    border-color: transparent;
-    color: #fff; }
-  .file.is-primary:hover .file-cta, .docstring > section > a.file.docs-sourcelink:hover .file-cta, .file.is-primary.is-hovered .file-cta, .docstring > section > a.file.is-hovered.docs-sourcelink .file-cta {
-    background-color: #43b1dc;
-    border-color: transparent;
-    color: #fff; }
-  .file.is-primary:focus .file-cta, .docstring > section > a.file.docs-sourcelink:focus .file-cta, .file.is-primary.is-focused .file-cta, .docstring > section > a.file.is-focused.docs-sourcelink .file-cta {
-    border-color: transparent;
-    box-shadow: 0 0 0.5em rgba(78, 181, 222, 0.25);
-    color: #fff; }
-  .file.is-primary:active .file-cta, .docstring > section > a.file.docs-sourcelink:active .file-cta, .file.is-primary.is-active .file-cta, .docstring > section > a.file.is-active.docs-sourcelink .file-cta {
-    background-color: #39acda;
-    border-color: transparent;
-    color: #fff; }
-  .file.is-link .file-cta {
-    background-color: #2e63b8;
-    border-color: transparent;
-    color: #fff; }
-  .file.is-link:hover .file-cta, .file.is-link.is-hovered .file-cta {
-    background-color: #2b5eae;
-    border-color: transparent;
-    color: #fff; }
-  .file.is-link:focus .file-cta, .file.is-link.is-focused .file-cta {
-    border-color: transparent;
-    box-shadow: 0 0 0.5em rgba(46, 99, 184, 0.25);
-    color: #fff; }
-  .file.is-link:active .file-cta, .file.is-link.is-active .file-cta {
-    background-color: #2958a4;
-    border-color: transparent;
-    color: #fff; }
-  .file.is-info .file-cta {
-    background-color: #209cee;
-    border-color: transparent;
-    color: #fff; }
-  .file.is-info:hover .file-cta, .file.is-info.is-hovered .file-cta {
-    background-color: #1497ed;
-    border-color: transparent;
-    color: #fff; }
-  .file.is-info:focus .file-cta, .file.is-info.is-focused .file-cta {
-    border-color: transparent;
-    box-shadow: 0 0 0.5em rgba(32, 156, 238, 0.25);
-    color: #fff; }
-  .file.is-info:active .file-cta, .file.is-info.is-active .file-cta {
-    background-color: #1190e3;
-    border-color: transparent;
-    color: #fff; }
-  .file.is-success .file-cta {
-    background-color: #22c35b;
-    border-color: transparent;
-    color: #fff; }
-  .file.is-success:hover .file-cta, .file.is-success.is-hovered .file-cta {
-    background-color: #20b856;
-    border-color: transparent;
-    color: #fff; }
-  .file.is-success:focus .file-cta, .file.is-success.is-focused .file-cta {
-    border-color: transparent;
-    box-shadow: 0 0 0.5em rgba(34, 195, 91, 0.25);
-    color: #fff; }
-  .file.is-success:active .file-cta, .file.is-success.is-active .file-cta {
-    background-color: #1ead51;
-    border-color: transparent;
-    color: #fff; }
-  .file.is-warning .file-cta {
-    background-color: #ffdd57;
-    border-color: transparent;
-    color: rgba(0, 0, 0, 0.7); }
-  .file.is-warning:hover .file-cta, .file.is-warning.is-hovered .file-cta {
-    background-color: #ffda4a;
-    border-color: transparent;
-    color: rgba(0, 0, 0, 0.7); }
-  .file.is-warning:focus .file-cta, .file.is-warning.is-focused .file-cta {
-    border-color: transparent;
-    box-shadow: 0 0 0.5em rgba(255, 221, 87, 0.25);
-    color: rgba(0, 0, 0, 0.7); }
-  .file.is-warning:active .file-cta, .file.is-warning.is-active .file-cta {
-    background-color: #ffd83e;
-    border-color: transparent;
-    color: rgba(0, 0, 0, 0.7); }
-  .file.is-danger .file-cta {
-    background-color: #da0b00;
-    border-color: transparent;
-    color: #fff; }
-  .file.is-danger:hover .file-cta, .file.is-danger.is-hovered .file-cta {
-    background-color: #cd0a00;
-    border-color: transparent;
-    color: #fff; }
-  .file.is-danger:focus .file-cta, .file.is-danger.is-focused .file-cta {
-    border-color: transparent;
-    box-shadow: 0 0 0.5em rgba(218, 11, 0, 0.25);
-    color: #fff; }
-  .file.is-danger:active .file-cta, .file.is-danger.is-active .file-cta {
-    background-color: #c10a00;
-    border-color: transparent;
-    color: #fff; }
-  .file.is-small, #documenter .docs-sidebar form.docs-search > input.file {
-    font-size: 0.75rem; }
-  .file.is-medium {
-    font-size: 1.25rem; }
-    .file.is-medium .file-icon .fa {
-      font-size: 21px; }
-  .file.is-large {
-    font-size: 1.5rem; }
-    .file.is-large .file-icon .fa {
-      font-size: 28px; }
-  .file.has-name .file-cta {
-    border-bottom-right-radius: 0;
-    border-top-right-radius: 0; }
-  .file.has-name .file-name {
-    border-bottom-left-radius: 0;
-    border-top-left-radius: 0; }
-  .file.has-name.is-empty .file-cta {
-    border-radius: 4px; }
-  .file.has-name.is-empty .file-name {
-    display: none; }
-  .file.is-boxed .file-label {
-    flex-direction: column; }
-  .file.is-boxed .file-cta {
-    flex-direction: column;
-    height: auto;
-    padding: 1em 3em; }
-  .file.is-boxed .file-name {
-    border-width: 0 1px 1px; }
-  .file.is-boxed .file-icon {
-    height: 1.5em;
-    width: 1.5em; }
-    .file.is-boxed .file-icon .fa {
-      font-size: 21px; }
-  .file.is-boxed.is-small .file-icon .fa, #documenter .docs-sidebar form.docs-search > input.is-boxed .file-icon .fa {
-    font-size: 14px; }
-  .file.is-boxed.is-medium .file-icon .fa {
-    font-size: 28px; }
-  .file.is-boxed.is-large .file-icon .fa {
-    font-size: 35px; }
-  .file.is-boxed.has-name .file-cta {
-    border-radius: 4px 4px 0 0; }
-  .file.is-boxed.has-name .file-name {
-    border-radius: 0 0 4px 4px;
-    border-width: 0 1px 1px; }
-  .file.is-centered {
-    justify-content: center; }
-  .file.is-fullwidth .file-label {
-    width: 100%; }
-  .file.is-fullwidth .file-name {
-    flex-grow: 1;
-    max-width: none; }
-  .file.is-right {
-    justify-content: flex-end; }
-    .file.is-right .file-cta {
-      border-radius: 0 4px 4px 0; }
-    .file.is-right .file-name {
-      border-radius: 4px 0 0 4px;
-      border-width: 1px 0 1px 1px;
-      order: -1; }
-
-.file-label {
-  align-items: stretch;
-  display: flex;
-  cursor: pointer;
-  justify-content: flex-start;
-  overflow: hidden;
-  position: relative; }
-  .file-label:hover .file-cta {
-    background-color: #eeeeee;
-    color: #363636; }
-  .file-label:hover .file-name {
-    border-color: #d5d5d5; }
-  .file-label:active .file-cta {
-    background-color: #e8e8e8;
-    color: #363636; }
-  .file-label:active .file-name {
-    border-color: #cfcfcf; }
-
-.file-input {
-  height: 100%;
-  left: 0;
-  opacity: 0;
-  outline: none;
-  position: absolute;
-  top: 0;
-  width: 100%; }
-
-.file-cta,
-.file-name {
-  border-color: #dbdbdb;
-  border-radius: 4px;
-  font-size: 1em;
-  padding-left: 1em;
-  padding-right: 1em;
-  white-space: nowrap; }
-
-.file-cta {
-  background-color: whitesmoke;
-  color: #4a4a4a; }
-
-.file-name {
-  border-color: #dbdbdb;
-  border-style: solid;
-  border-width: 1px 1px 1px 0;
-  display: block;
-  max-width: 16em;
-  overflow: hidden;
-  text-align: left;
-  text-overflow: ellipsis; }
-
-.file-icon {
-  align-items: center;
-  display: flex;
-  height: 1em;
-  justify-content: center;
-  margin-right: 0.5em;
-  width: 1em; }
-  .file-icon .fa {
-    font-size: 14px; }
-
-.label {
-  color: #363636;
-  display: block;
-  font-size: 1rem;
-  font-weight: 700; }
-  .label:not(:last-child) {
-    margin-bottom: 0.5em; }
-  .label.is-small, #documenter .docs-sidebar form.docs-search > input.label {
-    font-size: 0.75rem; }
-  .label.is-medium {
-    font-size: 1.25rem; }
-  .label.is-large {
-    font-size: 1.5rem; }
-
-.help {
-  display: block;
-  font-size: 0.75rem;
-  margin-top: 0.25rem; }
-  .help.is-white {
-    color: white; }
-  .help.is-black {
-    color: #0a0a0a; }
-  .help.is-light {
-    color: whitesmoke; }
-  .help.is-dark, .content kbd.help {
-    color: #363636; }
-  .help.is-primary, .docstring > section > a.help.docs-sourcelink {
-    color: #4eb5de; }
-  .help.is-link {
-    color: #2e63b8; }
-  .help.is-info {
-    color: #209cee; }
-  .help.is-success {
-    color: #22c35b; }
-  .help.is-warning {
-    color: #ffdd57; }
-  .help.is-danger {
-    color: #da0b00; }
-
-.field:not(:last-child) {
-  margin-bottom: 0.75rem; }
-
-.field.has-addons {
-  display: flex;
-  justify-content: flex-start; }
-  .field.has-addons .control:not(:last-child) {
-    margin-right: -1px; }
-  .field.has-addons .control:not(:first-child):not(:last-child) .button,
-  .field.has-addons .control:not(:first-child):not(:last-child) .input,
-  .field.has-addons .control:not(:first-child):not(:last-child) #documenter .docs-sidebar form.docs-search > input,
-  #documenter .docs-sidebar .field.has-addons .control:not(:first-child):not(:last-child) form.docs-search > input,
-  .field.has-addons .control:not(:first-child):not(:last-child) .select select {
-    border-radius: 0; }
-  .field.has-addons .control:first-child:not(:only-child) .button,
-  .field.has-addons .control:first-child:not(:only-child) .input,
-  .field.has-addons .control:first-child:not(:only-child) #documenter .docs-sidebar form.docs-search > input,
-  #documenter .docs-sidebar .field.has-addons .control:first-child:not(:only-child) form.docs-search > input,
-  .field.has-addons .control:first-child:not(:only-child) .select select {
-    border-bottom-right-radius: 0;
-    border-top-right-radius: 0; }
-  .field.has-addons .control:last-child:not(:only-child) .button,
-  .field.has-addons .control:last-child:not(:only-child) .input,
-  .field.has-addons .control:last-child:not(:only-child) #documenter .docs-sidebar form.docs-search > input,
-  #documenter .docs-sidebar .field.has-addons .control:last-child:not(:only-child) form.docs-search > input,
-  .field.has-addons .control:last-child:not(:only-child) .select select {
-    border-bottom-left-radius: 0;
-    border-top-left-radius: 0; }
-  .field.has-addons .control .button:not([disabled]):hover, .field.has-addons .control .button.is-hovered:not([disabled]),
-  .field.has-addons .control .input:not([disabled]):hover,
-  .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):hover,
-  #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):hover,
-  .field.has-addons .control .input.is-hovered:not([disabled]),
-  .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-hovered:not([disabled]),
-  #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-hovered:not([disabled]),
-  .field.has-addons .control .select select:not([disabled]):hover,
-  .field.has-addons .control .select select.is-hovered:not([disabled]) {
-    z-index: 2; }
-  .field.has-addons .control .button:not([disabled]):focus, .field.has-addons .control .button.is-focused:not([disabled]), .field.has-addons .control .button:not([disabled]):active, .field.has-addons .control .button.is-active:not([disabled]),
-  .field.has-addons .control .input:not([disabled]):focus,
-  .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):focus,
-  #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):focus,
-  .field.has-addons .control .input.is-focused:not([disabled]),
-  .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-focused:not([disabled]),
-  #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-focused:not([disabled]),
-  .field.has-addons .control .input:not([disabled]):active,
-  .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):active,
-  #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):active,
-  .field.has-addons .control .input.is-active:not([disabled]),
-  .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-active:not([disabled]),
-  #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-active:not([disabled]),
-  .field.has-addons .control .select select:not([disabled]):focus,
-  .field.has-addons .control .select select.is-focused:not([disabled]),
-  .field.has-addons .control .select select:not([disabled]):active,
-  .field.has-addons .control .select select.is-active:not([disabled]) {
-    z-index: 3; }
-    .field.has-addons .control .button:not([disabled]):focus:hover, .field.has-addons .control .button.is-focused:not([disabled]):hover, .field.has-addons .control .button:not([disabled]):active:hover, .field.has-addons .control .button.is-active:not([disabled]):hover,
-    .field.has-addons .control .input:not([disabled]):focus:hover,
-    .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):focus:hover,
-    #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):focus:hover,
-    .field.has-addons .control .input.is-focused:not([disabled]):hover,
-    .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-focused:not([disabled]):hover,
-    #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-focused:not([disabled]):hover,
-    .field.has-addons .control .input:not([disabled]):active:hover,
-    .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):active:hover,
-    #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):active:hover,
-    .field.has-addons .control .input.is-active:not([disabled]):hover,
-    .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-active:not([disabled]):hover,
-    #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-active:not([disabled]):hover,
-    .field.has-addons .control .select select:not([disabled]):focus:hover,
-    .field.has-addons .control .select select.is-focused:not([disabled]):hover,
-    .field.has-addons .control .select select:not([disabled]):active:hover,
-    .field.has-addons .control .select select.is-active:not([disabled]):hover {
-      z-index: 4; }
-  .field.has-addons .control.is-expanded {
-    flex-grow: 1;
-    flex-shrink: 1; }
-  .field.has-addons.has-addons-centered {
-    justify-content: center; }
-  .field.has-addons.has-addons-right {
-    justify-content: flex-end; }
-  .field.has-addons.has-addons-fullwidth .control {
-    flex-grow: 1;
-    flex-shrink: 0; }
-
-.field.is-grouped {
-  display: flex;
-  justify-content: flex-start; }
-  .field.is-grouped > .control {
-    flex-shrink: 0; }
-    .field.is-grouped > .control:not(:last-child) {
-      margin-bottom: 0;
-      margin-right: 0.75rem; }
-    .field.is-grouped > .control.is-expanded {
-      flex-grow: 1;
-      flex-shrink: 1; }
-  .field.is-grouped.is-grouped-centered {
-    justify-content: center; }
-  .field.is-grouped.is-grouped-right {
-    justify-content: flex-end; }
-  .field.is-grouped.is-grouped-multiline {
-    flex-wrap: wrap; }
-    .field.is-grouped.is-grouped-multiline > .control:last-child, .field.is-grouped.is-grouped-multiline > .control:not(:last-child) {
-      margin-bottom: 0.75rem; }
-    .field.is-grouped.is-grouped-multiline:last-child {
-      margin-bottom: -0.75rem; }
-    .field.is-grouped.is-grouped-multiline:not(:last-child) {
-      margin-bottom: 0; }
-
-@media screen and (min-width: 769px), print {
-  .field.is-horizontal {
-    display: flex; } }
-
-.field-label .label {
-  font-size: inherit; }
-
-@media screen and (max-width: 768px) {
-  .field-label {
-    margin-bottom: 0.5rem; } }
-
-@media screen and (min-width: 769px), print {
-  .field-label {
-    flex-basis: 0;
-    flex-grow: 1;
-    flex-shrink: 0;
-    margin-right: 1.5rem;
-    text-align: right; }
-    .field-label.is-small, #documenter .docs-sidebar form.docs-search > input.field-label {
-      font-size: 0.75rem;
-      padding-top: 0.375em; }
-    .field-label.is-normal {
-      padding-top: 0.375em; }
-    .field-label.is-medium {
-      font-size: 1.25rem;
-      padding-top: 0.375em; }
-    .field-label.is-large {
-      font-size: 1.5rem;
-      padding-top: 0.375em; } }
-
-.field-body .field .field {
-  margin-bottom: 0; }
-
-@media screen and (min-width: 769px), print {
-  .field-body {
-    display: flex;
-    flex-basis: 0;
-    flex-grow: 5;
-    flex-shrink: 1; }
-    .field-body .field {
-      margin-bottom: 0; }
-    .field-body > .field {
-      flex-shrink: 1; }
-      .field-body > .field:not(.is-narrow) {
-        flex-grow: 1; }
-      .field-body > .field:not(:last-child) {
-        margin-right: 0.75rem; } }
-
-.control {
-  box-sizing: border-box;
-  clear: both;
-  font-size: 1rem;
-  position: relative;
-  text-align: left; }
-  .control.has-icons-left .input:focus ~ .icon, .control.has-icons-left #documenter .docs-sidebar form.docs-search > input:focus ~ .icon, #documenter .docs-sidebar .control.has-icons-left form.docs-search > input:focus ~ .icon,
-  .control.has-icons-left .select:focus ~ .icon, .control.has-icons-right .input:focus ~ .icon, .control.has-icons-right #documenter .docs-sidebar form.docs-search > input:focus ~ .icon, #documenter .docs-sidebar .control.has-icons-right form.docs-search > input:focus ~ .icon,
-  .control.has-icons-right .select:focus ~ .icon {
-    color: #6b6b6b; }
-  .control.has-icons-left .input.is-small ~ .icon, .control.has-icons-left #documenter .docs-sidebar form.docs-search > input ~ .icon, #documenter .docs-sidebar .control.has-icons-left form.docs-search > input ~ .icon,
-  .control.has-icons-left .select.is-small ~ .icon, .control.has-icons-right .input.is-small ~ .icon, .control.has-icons-right #documenter .docs-sidebar form.docs-search > input ~ .icon, #documenter .docs-sidebar .control.has-icons-right form.docs-search > input ~ .icon,
-  .control.has-icons-right .select.is-small ~ .icon {
-    font-size: 0.75rem; }
-  .control.has-icons-left .input.is-medium ~ .icon, .control.has-icons-left #documenter .docs-sidebar form.docs-search > input.is-medium ~ .icon, #documenter .docs-sidebar .control.has-icons-left form.docs-search > input.is-medium ~ .icon,
-  .control.has-icons-left .select.is-medium ~ .icon, .control.has-icons-right .input.is-medium ~ .icon, .control.has-icons-right #documenter .docs-sidebar form.docs-search > input.is-medium ~ .icon, #documenter .docs-sidebar .control.has-icons-right form.docs-search > input.is-medium ~ .icon,
-  .control.has-icons-right .select.is-medium ~ .icon {
-    font-size: 1.25rem; }
-  .control.has-icons-left .input.is-large ~ .icon, .control.has-icons-left #documenter .docs-sidebar form.docs-search > input.is-large ~ .icon, #documenter .docs-sidebar .control.has-icons-left form.docs-search > input.is-large ~ .icon,
-  .control.has-icons-left .select.is-large ~ .icon, .control.has-icons-right .input.is-large ~ .icon, .control.has-icons-right #documenter .docs-sidebar form.docs-search > input.is-large ~ .icon, #documenter .docs-sidebar .control.has-icons-right form.docs-search > input.is-large ~ .icon,
-  .control.has-icons-right .select.is-large ~ .icon {
-    font-size: 1.5rem; }
-  .control.has-icons-left .icon, .control.has-icons-right .icon {
-    color: #dbdbdb;
-    height: 2.25em;
-    pointer-events: none;
-    position: absolute;
-    top: 0;
-    width: 2.25em;
-    z-index: 4; }
-  .control.has-icons-left .input, .control.has-icons-left #documenter .docs-sidebar form.docs-search > input, #documenter .docs-sidebar .control.has-icons-left form.docs-search > input,
-  .control.has-icons-left .select select {
-    padding-left: 2.25em; }
-  .control.has-icons-left .icon.is-left {
-    left: 0; }
-  .control.has-icons-right .input, .control.has-icons-right #documenter .docs-sidebar form.docs-search > input, #documenter .docs-sidebar .control.has-icons-right form.docs-search > input,
-  .control.has-icons-right .select select {
-    padding-right: 2.25em; }
-  .control.has-icons-right .icon.is-right {
-    right: 0; }
-  .control.is-loading::after {
-    position: absolute !important;
-    right: 0.625em;
-    top: 0.625em;
-    z-index: 4; }
-  .control.is-loading.is-small:after, #documenter .docs-sidebar form.docs-search > input.is-loading:after {
-    font-size: 0.75rem; }
-  .control.is-loading.is-medium:after {
-    font-size: 1.25rem; }
-  .control.is-loading.is-large:after {
-    font-size: 1.5rem; }
-
-.breadcrumb {
-  font-size: 1rem;
-  white-space: nowrap; }
-  .breadcrumb a {
-    align-items: center;
-    color: #2e63b8;
-    display: flex;
-    justify-content: center;
-    padding: 0 0.75em; }
-    .breadcrumb a:hover {
-      color: #363636; }
-  .breadcrumb li {
-    align-items: center;
-    display: flex; }
-    .breadcrumb li:first-child a {
-      padding-left: 0; }
-    .breadcrumb li.is-active a {
-      color: #222222;
-      cursor: default;
-      pointer-events: none; }
-    .breadcrumb li + li::before {
-      color: #b5b5b5;
-      content: "\0002f"; }
-  .breadcrumb ul,
-  .breadcrumb ol {
-    align-items: flex-start;
-    display: flex;
-    flex-wrap: wrap;
-    justify-content: flex-start; }
-  .breadcrumb .icon:first-child {
-    margin-right: 0.5em; }
-  .breadcrumb .icon:last-child {
-    margin-left: 0.5em; }
-  .breadcrumb.is-centered ol,
-  .breadcrumb.is-centered ul {
-    justify-content: center; }
-  .breadcrumb.is-right ol,
-  .breadcrumb.is-right ul {
-    justify-content: flex-end; }
-  .breadcrumb.is-small, #documenter .docs-sidebar form.docs-search > input.breadcrumb {
-    font-size: 0.75rem; }
-  .breadcrumb.is-medium {
-    font-size: 1.25rem; }
-  .breadcrumb.is-large {
-    font-size: 1.5rem; }
-  .breadcrumb.has-arrow-separator li + li::before {
-    content: "\02192"; }
-  .breadcrumb.has-bullet-separator li + li::before {
-    content: "\02022"; }
-  .breadcrumb.has-dot-separator li + li::before {
-    content: "\000b7"; }
-  .breadcrumb.has-succeeds-separator li + li::before {
-    content: "\0227B"; }
-
-.card {
-  background-color: white;
-  box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
-  color: #222222;
-  max-width: 100%;
-  position: relative; }
-
-.card-header {
-  background-color: transparent;
-  align-items: stretch;
-  box-shadow: 0 1px 2px rgba(10, 10, 10, 0.1);
-  display: flex; }
-
-.card-header-title {
-  align-items: center;
-  color: #222222;
-  display: flex;
-  flex-grow: 1;
-  font-weight: 700;
-  padding: 0.75rem; }
-  .card-header-title.is-centered {
-    justify-content: center; }
-
-.card-header-icon {
-  align-items: center;
-  cursor: pointer;
-  display: flex;
-  justify-content: center;
-  padding: 0.75rem; }
-
-.card-image {
-  display: block;
-  position: relative; }
-
-.card-content {
-  background-color: transparent;
-  padding: 1.5rem; }
-
-.card-footer {
-  background-color: transparent;
-  border-top: 1px solid #dbdbdb;
-  align-items: stretch;
-  display: flex; }
-
-.card-footer-item {
-  align-items: center;
-  display: flex;
-  flex-basis: 0;
-  flex-grow: 1;
-  flex-shrink: 0;
-  justify-content: center;
-  padding: 0.75rem; }
-  .card-footer-item:not(:last-child) {
-    border-right: 1px solid #dbdbdb; }
-
-.card .media:not(:last-child) {
-  margin-bottom: 1.5rem; }
-
-.dropdown {
-  display: inline-flex;
-  position: relative;
-  vertical-align: top; }
-  .dropdown.is-active .dropdown-menu, .dropdown.is-hoverable:hover .dropdown-menu {
-    display: block; }
-  .dropdown.is-right .dropdown-menu {
-    left: auto;
-    right: 0; }
-  .dropdown.is-up .dropdown-menu {
-    bottom: 100%;
-    padding-bottom: 4px;
-    padding-top: initial;
-    top: auto; }
-
-.dropdown-menu {
-  display: none;
-  left: 0;
-  min-width: 12rem;
-  padding-top: 4px;
-  position: absolute;
-  top: 100%;
-  z-index: 20; }
-
-.dropdown-content {
-  background-color: white;
-  border-radius: 4px;
-  box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
-  padding-bottom: 0.5rem;
-  padding-top: 0.5rem; }
-
-.dropdown-item {
-  color: #4a4a4a;
-  display: block;
-  font-size: 0.875rem;
-  line-height: 1.5;
-  padding: 0.375rem 1rem;
-  position: relative; }
-
-a.dropdown-item,
-button.dropdown-item {
-  padding-right: 3rem;
-  text-align: left;
-  white-space: nowrap;
-  width: 100%; }
-  a.dropdown-item:hover,
-  button.dropdown-item:hover {
-    background-color: whitesmoke;
-    color: #0a0a0a; }
-  a.dropdown-item.is-active,
-  button.dropdown-item.is-active {
-    background-color: #2e63b8;
-    color: #fff; }
-
-.dropdown-divider {
-  background-color: #dbdbdb;
-  border: none;
-  display: block;
-  height: 1px;
-  margin: 0.5rem 0; }
-
-.level {
-  align-items: center;
-  justify-content: space-between; }
-  .level code {
-    border-radius: 4px; }
-  .level img {
-    display: inline-block;
-    vertical-align: top; }
-  .level.is-mobile {
-    display: flex; }
-    .level.is-mobile .level-left,
-    .level.is-mobile .level-right {
-      display: flex; }
-    .level.is-mobile .level-left + .level-right {
-      margin-top: 0; }
-    .level.is-mobile .level-item:not(:last-child) {
-      margin-bottom: 0;
-      margin-right: 0.75rem; }
-    .level.is-mobile .level-item:not(.is-narrow) {
-      flex-grow: 1; }
-  @media screen and (min-width: 769px), print {
-    .level {
-      display: flex; }
-      .level > .level-item:not(.is-narrow) {
-        flex-grow: 1; } }
-.level-item {
-  align-items: center;
-  display: flex;
-  flex-basis: auto;
-  flex-grow: 0;
-  flex-shrink: 0;
-  justify-content: center; }
-  .level-item .title,
-  .level-item .subtitle {
-    margin-bottom: 0; }
-  @media screen and (max-width: 768px) {
-    .level-item:not(:last-child) {
-      margin-bottom: 0.75rem; } }
-.level-left,
-.level-right {
-  flex-basis: auto;
-  flex-grow: 0;
-  flex-shrink: 0; }
-  .level-left .level-item.is-flexible,
-  .level-right .level-item.is-flexible {
-    flex-grow: 1; }
-  @media screen and (min-width: 769px), print {
-    .level-left .level-item:not(:last-child),
-    .level-right .level-item:not(:last-child) {
-      margin-right: 0.75rem; } }
-.level-left {
-  align-items: center;
-  justify-content: flex-start; }
-  @media screen and (max-width: 768px) {
-    .level-left + .level-right {
-      margin-top: 1.5rem; } }
-  @media screen and (min-width: 769px), print {
-    .level-left {
-      display: flex; } }
-.level-right {
-  align-items: center;
-  justify-content: flex-end; }
-  @media screen and (min-width: 769px), print {
-    .level-right {
-      display: flex; } }
-.list {
-  background-color: white;
-  border-radius: 4px;
-  box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1); }
-
-.list-item {
-  display: block;
-  padding: 0.5em 1em; }
-  .list-item:not(a) {
-    color: #222222; }
-  .list-item:first-child {
-    border-top-left-radius: 4px;
-    border-top-right-radius: 4px; }
-  .list-item:last-child {
-    border-bottom-left-radius: 4px;
-    border-bottom-right-radius: 4px; }
-  .list-item:not(:last-child) {
-    border-bottom: 1px solid #dbdbdb; }
-  .list-item.is-active {
-    background-color: #2e63b8;
-    color: #fff; }
-
-a.list-item {
-  background-color: whitesmoke;
-  cursor: pointer; }
-
-.media {
-  align-items: flex-start;
-  display: flex;
-  text-align: left; }
-  .media .content:not(:last-child) {
-    margin-bottom: 0.75rem; }
-  .media .media {
-    border-top: 1px solid rgba(219, 219, 219, 0.5);
-    display: flex;
-    padding-top: 0.75rem; }
-    .media .media .content:not(:last-child),
-    .media .media .control:not(:last-child) {
-      margin-bottom: 0.5rem; }
-    .media .media .media {
-      padding-top: 0.5rem; }
-      .media .media .media + .media {
-        margin-top: 0.5rem; }
-  .media + .media {
-    border-top: 1px solid rgba(219, 219, 219, 0.5);
-    margin-top: 1rem;
-    padding-top: 1rem; }
-  .media.is-large + .media {
-    margin-top: 1.5rem;
-    padding-top: 1.5rem; }
-
-.media-left,
-.media-right {
-  flex-basis: auto;
-  flex-grow: 0;
-  flex-shrink: 0; }
-
-.media-left {
-  margin-right: 1rem; }
-
-.media-right {
-  margin-left: 1rem; }
-
-.media-content {
-  flex-basis: auto;
-  flex-grow: 1;
-  flex-shrink: 1;
-  text-align: left; }
-
-@media screen and (max-width: 768px) {
-  .media-content {
-    overflow-x: auto; } }
-
-.menu {
-  font-size: 1rem; }
-  .menu.is-small, #documenter .docs-sidebar form.docs-search > input.menu {
-    font-size: 0.75rem; }
-  .menu.is-medium {
-    font-size: 1.25rem; }
-  .menu.is-large {
-    font-size: 1.5rem; }
-
-.menu-list {
-  line-height: 1.25; }
-  .menu-list a {
-    border-radius: 2px;
-    color: #222222;
-    display: block;
-    padding: 0.5em 0.75em; }
-    .menu-list a:hover {
-      background-color: whitesmoke;
-      color: #222222; }
-    .menu-list a.is-active {
-      background-color: #2e63b8;
-      color: #fff; }
-  .menu-list li ul {
-    border-left: 1px solid #dbdbdb;
-    margin: 0.75em;
-    padding-left: 0.75em; }
-
-.menu-label {
-  color: #6b6b6b;
-  font-size: 0.75em;
-  letter-spacing: 0.1em;
-  text-transform: uppercase; }
-  .menu-label:not(:first-child) {
-    margin-top: 1em; }
-  .menu-label:not(:last-child) {
-    margin-bottom: 1em; }
-
-.message {
-  background-color: whitesmoke;
-  border-radius: 4px;
-  font-size: 1rem; }
-  .message strong {
-    color: currentColor; }
-  .message a:not(.button):not(.tag):not(.dropdown-item) {
-    color: currentColor;
-    text-decoration: underline; }
-  .message.is-small, #documenter .docs-sidebar form.docs-search > input.message {
-    font-size: 0.75rem; }
-  .message.is-medium {
-    font-size: 1.25rem; }
-  .message.is-large {
-    font-size: 1.5rem; }
-  .message.is-white {
-    background-color: white; }
-    .message.is-white .message-header {
-      background-color: white;
-      color: #0a0a0a; }
-    .message.is-white .message-body {
-      border-color: white;
-      color: #4d4d4d; }
-  .message.is-black {
-    background-color: #fafafa; }
-    .message.is-black .message-header {
-      background-color: #0a0a0a;
-      color: white; }
-    .message.is-black .message-body {
-      border-color: #0a0a0a;
-      color: #090909; }
-  .message.is-light {
-    background-color: #fafafa; }
-    .message.is-light .message-header {
-      background-color: whitesmoke;
-      color: #363636; }
-    .message.is-light .message-body {
-      border-color: whitesmoke;
-      color: #505050; }
-  .message.is-dark, .content kbd.message {
-    background-color: #fafafa; }
-    .message.is-dark .message-header, .content kbd.message .message-header {
-      background-color: #363636;
-      color: whitesmoke; }
-    .message.is-dark .message-body, .content kbd.message .message-body {
-      border-color: #363636;
-      color: #2a2a2a; }
-  .message.is-primary, .docstring > section > a.message.docs-sourcelink {
-    background-color: #f6fbfd; }
-    .message.is-primary .message-header, .docstring > section > a.message.docs-sourcelink .message-header {
-      background-color: #4eb5de;
-      color: #fff; }
-    .message.is-primary .message-body, .docstring > section > a.message.docs-sourcelink .message-body {
-      border-color: #4eb5de;
-      color: #1f556a; }
-  .message.is-link {
-    background-color: #f7f9fd; }
-    .message.is-link .message-header {
-      background-color: #2e63b8;
-      color: #fff; }
-    .message.is-link .message-body {
-      border-color: #2e63b8;
-      color: #264981; }
-  .message.is-info {
-    background-color: #f6fbfe; }
-    .message.is-info .message-header {
-      background-color: #209cee;
-      color: #fff; }
-    .message.is-info .message-body {
-      border-color: #209cee;
-      color: #12537d; }
-  .message.is-success {
-    background-color: #f6fdf9; }
-    .message.is-success .message-header {
-      background-color: #22c35b;
-      color: #fff; }
-    .message.is-success .message-body {
-      border-color: #22c35b;
-      color: #0f361d; }
-  .message.is-warning {
-    background-color: #fffdf5; }
-    .message.is-warning .message-header {
-      background-color: #ffdd57;
-      color: rgba(0, 0, 0, 0.7); }
-    .message.is-warning .message-body {
-      border-color: #ffdd57;
-      color: #3c3108; }
-  .message.is-danger {
-    background-color: #fff5f5; }
-    .message.is-danger .message-header {
-      background-color: #da0b00;
-      color: #fff; }
-    .message.is-danger .message-body {
-      border-color: #da0b00;
-      color: #9b0c04; }
-
-.message-header {
-  align-items: center;
-  background-color: #222222;
-  border-radius: 4px 4px 0 0;
-  color: #fff;
-  display: flex;
-  font-weight: 700;
-  justify-content: space-between;
-  line-height: 1.25;
-  padding: 0.75em 1em;
-  position: relative; }
-  .message-header .delete {
-    flex-grow: 0;
-    flex-shrink: 0;
-    margin-left: 0.75em; }
-  .message-header + .message-body {
-    border-width: 0;
-    border-top-left-radius: 0;
-    border-top-right-radius: 0; }
-
-.message-body {
-  border-color: #dbdbdb;
-  border-radius: 4px;
-  border-style: solid;
-  border-width: 0 0 0 4px;
-  color: #222222;
-  padding: 1.25em 1.5em; }
-  .message-body code,
-  .message-body pre {
-    background-color: white; }
-  .message-body pre code {
-    background-color: transparent; }
-
-.modal {
-  align-items: center;
-  display: none;
-  flex-direction: column;
-  justify-content: center;
-  overflow: hidden;
-  position: fixed;
-  z-index: 40; }
-  .modal.is-active {
-    display: flex; }
-
-.modal-background {
-  background-color: rgba(10, 10, 10, 0.86); }
-
-.modal-content,
-.modal-card {
-  margin: 0 20px;
-  max-height: calc(100vh - 160px);
-  overflow: auto;
-  position: relative;
-  width: 100%; }
-  @media screen and (min-width: 769px), print {
-    .modal-content,
-    .modal-card {
-      margin: 0 auto;
-      max-height: calc(100vh - 40px);
-      width: 640px; } }
-.modal-close {
-  background: none;
-  height: 40px;
-  position: fixed;
-  right: 20px;
-  top: 20px;
-  width: 40px; }
-
-.modal-card {
-  display: flex;
-  flex-direction: column;
-  max-height: calc(100vh - 40px);
-  overflow: hidden;
-  -ms-overflow-y: visible; }
-
-.modal-card-head,
-.modal-card-foot {
-  align-items: center;
-  background-color: whitesmoke;
-  display: flex;
-  flex-shrink: 0;
-  justify-content: flex-start;
-  padding: 20px;
-  position: relative; }
-
-.modal-card-head {
-  border-bottom: 1px solid #dbdbdb;
-  border-top-left-radius: 6px;
-  border-top-right-radius: 6px; }
-
-.modal-card-title {
-  color: #222222;
-  flex-grow: 1;
-  flex-shrink: 0;
-  font-size: 1.5rem;
-  line-height: 1; }
-
-.modal-card-foot {
-  border-bottom-left-radius: 6px;
-  border-bottom-right-radius: 6px;
-  border-top: 1px solid #dbdbdb; }
-  .modal-card-foot .button:not(:last-child) {
-    margin-right: 0.5em; }
-
-.modal-card-body {
-  -webkit-overflow-scrolling: touch;
-  background-color: white;
-  flex-grow: 1;
-  flex-shrink: 1;
-  overflow: auto;
-  padding: 20px; }
-
-.navbar {
-  background-color: white;
-  min-height: 3.25rem;
-  position: relative;
-  z-index: 30; }
-  .navbar.is-white {
-    background-color: white;
-    color: #0a0a0a; }
-    .navbar.is-white .navbar-brand > .navbar-item,
-    .navbar.is-white .navbar-brand .navbar-link {
-      color: #0a0a0a; }
-    .navbar.is-white .navbar-brand > a.navbar-item:focus, .navbar.is-white .navbar-brand > a.navbar-item:hover, .navbar.is-white .navbar-brand > a.navbar-item.is-active,
-    .navbar.is-white .navbar-brand .navbar-link:focus,
-    .navbar.is-white .navbar-brand .navbar-link:hover,
-    .navbar.is-white .navbar-brand .navbar-link.is-active {
-      background-color: #f2f2f2;
-      color: #0a0a0a; }
-    .navbar.is-white .navbar-brand .navbar-link::after {
-      border-color: #0a0a0a; }
-    .navbar.is-white .navbar-burger {
-      color: #0a0a0a; }
-    @media screen and (min-width: 1056px) {
-      .navbar.is-white .navbar-start > .navbar-item,
-      .navbar.is-white .navbar-start .navbar-link,
-      .navbar.is-white .navbar-end > .navbar-item,
-      .navbar.is-white .navbar-end .navbar-link {
-        color: #0a0a0a; }
-      .navbar.is-white .navbar-start > a.navbar-item:focus, .navbar.is-white .navbar-start > a.navbar-item:hover, .navbar.is-white .navbar-start > a.navbar-item.is-active,
-      .navbar.is-white .navbar-start .navbar-link:focus,
-      .navbar.is-white .navbar-start .navbar-link:hover,
-      .navbar.is-white .navbar-start .navbar-link.is-active,
-      .navbar.is-white .navbar-end > a.navbar-item:focus,
-      .navbar.is-white .navbar-end > a.navbar-item:hover,
-      .navbar.is-white .navbar-end > a.navbar-item.is-active,
-      .navbar.is-white .navbar-end .navbar-link:focus,
-      .navbar.is-white .navbar-end .navbar-link:hover,
-      .navbar.is-white .navbar-end .navbar-link.is-active {
-        background-color: #f2f2f2;
-        color: #0a0a0a; }
-      .navbar.is-white .navbar-start .navbar-link::after,
-      .navbar.is-white .navbar-end .navbar-link::after {
-        border-color: #0a0a0a; }
-      .navbar.is-white .navbar-item.has-dropdown:focus .navbar-link,
-      .navbar.is-white .navbar-item.has-dropdown:hover .navbar-link,
-      .navbar.is-white .navbar-item.has-dropdown.is-active .navbar-link {
-        background-color: #f2f2f2;
-        color: #0a0a0a; }
-      .navbar.is-white .navbar-dropdown a.navbar-item.is-active {
-        background-color: white;
-        color: #0a0a0a; } }
-  .navbar.is-black {
-    background-color: #0a0a0a;
-    color: white; }
-    .navbar.is-black .navbar-brand > .navbar-item,
-    .navbar.is-black .navbar-brand .navbar-link {
-      color: white; }
-    .navbar.is-black .navbar-brand > a.navbar-item:focus, .navbar.is-black .navbar-brand > a.navbar-item:hover, .navbar.is-black .navbar-brand > a.navbar-item.is-active,
-    .navbar.is-black .navbar-brand .navbar-link:focus,
-    .navbar.is-black .navbar-brand .navbar-link:hover,
-    .navbar.is-black .navbar-brand .navbar-link.is-active {
-      background-color: black;
-      color: white; }
-    .navbar.is-black .navbar-brand .navbar-link::after {
-      border-color: white; }
-    .navbar.is-black .navbar-burger {
-      color: white; }
-    @media screen and (min-width: 1056px) {
-      .navbar.is-black .navbar-start > .navbar-item,
-      .navbar.is-black .navbar-start .navbar-link,
-      .navbar.is-black .navbar-end > .navbar-item,
-      .navbar.is-black .navbar-end .navbar-link {
-        color: white; }
-      .navbar.is-black .navbar-start > a.navbar-item:focus, .navbar.is-black .navbar-start > a.navbar-item:hover, .navbar.is-black .navbar-start > a.navbar-item.is-active,
-      .navbar.is-black .navbar-start .navbar-link:focus,
-      .navbar.is-black .navbar-start .navbar-link:hover,
-      .navbar.is-black .navbar-start .navbar-link.is-active,
-      .navbar.is-black .navbar-end > a.navbar-item:focus,
-      .navbar.is-black .navbar-end > a.navbar-item:hover,
-      .navbar.is-black .navbar-end > a.navbar-item.is-active,
-      .navbar.is-black .navbar-end .navbar-link:focus,
-      .navbar.is-black .navbar-end .navbar-link:hover,
-      .navbar.is-black .navbar-end .navbar-link.is-active {
-        background-color: black;
-        color: white; }
-      .navbar.is-black .navbar-start .navbar-link::after,
-      .navbar.is-black .navbar-end .navbar-link::after {
-        border-color: white; }
-      .navbar.is-black .navbar-item.has-dropdown:focus .navbar-link,
-      .navbar.is-black .navbar-item.has-dropdown:hover .navbar-link,
-      .navbar.is-black .navbar-item.has-dropdown.is-active .navbar-link {
-        background-color: black;
-        color: white; }
-      .navbar.is-black .navbar-dropdown a.navbar-item.is-active {
-        background-color: #0a0a0a;
-        color: white; } }
-  .navbar.is-light {
-    background-color: whitesmoke;
-    color: #363636; }
-    .navbar.is-light .navbar-brand > .navbar-item,
-    .navbar.is-light .navbar-brand .navbar-link {
-      color: #363636; }
-    .navbar.is-light .navbar-brand > a.navbar-item:focus, .navbar.is-light .navbar-brand > a.navbar-item:hover, .navbar.is-light .navbar-brand > a.navbar-item.is-active,
-    .navbar.is-light .navbar-brand .navbar-link:focus,
-    .navbar.is-light .navbar-brand .navbar-link:hover,
-    .navbar.is-light .navbar-brand .navbar-link.is-active {
-      background-color: #e8e8e8;
-      color: #363636; }
-    .navbar.is-light .navbar-brand .navbar-link::after {
-      border-color: #363636; }
-    .navbar.is-light .navbar-burger {
-      color: #363636; }
-    @media screen and (min-width: 1056px) {
-      .navbar.is-light .navbar-start > .navbar-item,
-      .navbar.is-light .navbar-start .navbar-link,
-      .navbar.is-light .navbar-end > .navbar-item,
-      .navbar.is-light .navbar-end .navbar-link {
-        color: #363636; }
-      .navbar.is-light .navbar-start > a.navbar-item:focus, .navbar.is-light .navbar-start > a.navbar-item:hover, .navbar.is-light .navbar-start > a.navbar-item.is-active,
-      .navbar.is-light .navbar-start .navbar-link:focus,
-      .navbar.is-light .navbar-start .navbar-link:hover,
-      .navbar.is-light .navbar-start .navbar-link.is-active,
-      .navbar.is-light .navbar-end > a.navbar-item:focus,
-      .navbar.is-light .navbar-end > a.navbar-item:hover,
-      .navbar.is-light .navbar-end > a.navbar-item.is-active,
-      .navbar.is-light .navbar-end .navbar-link:focus,
-      .navbar.is-light .navbar-end .navbar-link:hover,
-      .navbar.is-light .navbar-end .navbar-link.is-active {
-        background-color: #e8e8e8;
-        color: #363636; }
-      .navbar.is-light .navbar-start .navbar-link::after,
-      .navbar.is-light .navbar-end .navbar-link::after {
-        border-color: #363636; }
-      .navbar.is-light .navbar-item.has-dropdown:focus .navbar-link,
-      .navbar.is-light .navbar-item.has-dropdown:hover .navbar-link,
-      .navbar.is-light .navbar-item.has-dropdown.is-active .navbar-link {
-        background-color: #e8e8e8;
-        color: #363636; }
-      .navbar.is-light .navbar-dropdown a.navbar-item.is-active {
-        background-color: whitesmoke;
-        color: #363636; } }
-  .navbar.is-dark, .content kbd.navbar {
-    background-color: #363636;
-    color: whitesmoke; }
-    .navbar.is-dark .navbar-brand > .navbar-item, .content kbd.navbar .navbar-brand > .navbar-item,
-    .navbar.is-dark .navbar-brand .navbar-link,
-    .content kbd.navbar .navbar-brand .navbar-link {
-      color: whitesmoke; }
-    .navbar.is-dark .navbar-brand > a.navbar-item:focus, .content kbd.navbar .navbar-brand > a.navbar-item:focus, .navbar.is-dark .navbar-brand > a.navbar-item:hover, .content kbd.navbar .navbar-brand > a.navbar-item:hover, .navbar.is-dark .navbar-brand > a.navbar-item.is-active, .content kbd.navbar .navbar-brand > a.navbar-item.is-active,
-    .navbar.is-dark .navbar-brand .navbar-link:focus,
-    .content kbd.navbar .navbar-brand .navbar-link:focus,
-    .navbar.is-dark .navbar-brand .navbar-link:hover,
-    .content kbd.navbar .navbar-brand .navbar-link:hover,
-    .navbar.is-dark .navbar-brand .navbar-link.is-active,
-    .content kbd.navbar .navbar-brand .navbar-link.is-active {
-      background-color: #292929;
-      color: whitesmoke; }
-    .navbar.is-dark .navbar-brand .navbar-link::after, .content kbd.navbar .navbar-brand .navbar-link::after {
-      border-color: whitesmoke; }
-    .navbar.is-dark .navbar-burger, .content kbd.navbar .navbar-burger {
-      color: whitesmoke; }
-    @media screen and (min-width: 1056px) {
-      .navbar.is-dark .navbar-start > .navbar-item, .content kbd.navbar .navbar-start > .navbar-item,
-      .navbar.is-dark .navbar-start .navbar-link,
-      .content kbd.navbar .navbar-start .navbar-link,
-      .navbar.is-dark .navbar-end > .navbar-item,
-      .content kbd.navbar .navbar-end > .navbar-item,
-      .navbar.is-dark .navbar-end .navbar-link,
-      .content kbd.navbar .navbar-end .navbar-link {
-        color: whitesmoke; }
-      .navbar.is-dark .navbar-start > a.navbar-item:focus, .content kbd.navbar .navbar-start > a.navbar-item:focus, .navbar.is-dark .navbar-start > a.navbar-item:hover, .content kbd.navbar .navbar-start > a.navbar-item:hover, .navbar.is-dark .navbar-start > a.navbar-item.is-active, .content kbd.navbar .navbar-start > a.navbar-item.is-active,
-      .navbar.is-dark .navbar-start .navbar-link:focus,
-      .content kbd.navbar .navbar-start .navbar-link:focus,
-      .navbar.is-dark .navbar-start .navbar-link:hover,
-      .content kbd.navbar .navbar-start .navbar-link:hover,
-      .navbar.is-dark .navbar-start .navbar-link.is-active,
-      .content kbd.navbar .navbar-start .navbar-link.is-active,
-      .navbar.is-dark .navbar-end > a.navbar-item:focus,
-      .content kbd.navbar .navbar-end > a.navbar-item:focus,
-      .navbar.is-dark .navbar-end > a.navbar-item:hover,
-      .content kbd.navbar .navbar-end > a.navbar-item:hover,
-      .navbar.is-dark .navbar-end > a.navbar-item.is-active,
-      .content kbd.navbar .navbar-end > a.navbar-item.is-active,
-      .navbar.is-dark .navbar-end .navbar-link:focus,
-      .content kbd.navbar .navbar-end .navbar-link:focus,
-      .navbar.is-dark .navbar-end .navbar-link:hover,
-      .content kbd.navbar .navbar-end .navbar-link:hover,
-      .navbar.is-dark .navbar-end .navbar-link.is-active,
-      .content kbd.navbar .navbar-end .navbar-link.is-active {
-        background-color: #292929;
-        color: whitesmoke; }
-      .navbar.is-dark .navbar-start .navbar-link::after, .content kbd.navbar .navbar-start .navbar-link::after,
-      .navbar.is-dark .navbar-end .navbar-link::after,
-      .content kbd.navbar .navbar-end .navbar-link::after {
-        border-color: whitesmoke; }
-      .navbar.is-dark .navbar-item.has-dropdown:focus .navbar-link, .content kbd.navbar .navbar-item.has-dropdown:focus .navbar-link,
-      .navbar.is-dark .navbar-item.has-dropdown:hover .navbar-link,
-      .content kbd.navbar .navbar-item.has-dropdown:hover .navbar-link,
-      .navbar.is-dark .navbar-item.has-dropdown.is-active .navbar-link,
-      .content kbd.navbar .navbar-item.has-dropdown.is-active .navbar-link {
-        background-color: #292929;
-        color: whitesmoke; }
-      .navbar.is-dark .navbar-dropdown a.navbar-item.is-active, .content kbd.navbar .navbar-dropdown a.navbar-item.is-active {
-        background-color: #363636;
-        color: whitesmoke; } }
-  .navbar.is-primary, .docstring > section > a.navbar.docs-sourcelink {
-    background-color: #4eb5de;
-    color: #fff; }
-    .navbar.is-primary .navbar-brand > .navbar-item, .docstring > section > a.navbar.docs-sourcelink .navbar-brand > .navbar-item,
-    .navbar.is-primary .navbar-brand .navbar-link,
-    .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link {
-      color: #fff; }
-    .navbar.is-primary .navbar-brand > a.navbar-item:focus, .docstring > section > a.navbar.docs-sourcelink .navbar-brand > a.navbar-item:focus, .navbar.is-primary .navbar-brand > a.navbar-item:hover, .docstring > section > a.navbar.docs-sourcelink .navbar-brand > a.navbar-item:hover, .navbar.is-primary .navbar-brand > a.navbar-item.is-active, .docstring > section > a.navbar.docs-sourcelink .navbar-brand > a.navbar-item.is-active,
-    .navbar.is-primary .navbar-brand .navbar-link:focus,
-    .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link:focus,
-    .navbar.is-primary .navbar-brand .navbar-link:hover,
-    .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link:hover,
-    .navbar.is-primary .navbar-brand .navbar-link.is-active,
-    .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link.is-active {
-      background-color: #39acda;
-      color: #fff; }
-    .navbar.is-primary .navbar-brand .navbar-link::after, .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link::after {
-      border-color: #fff; }
-    .navbar.is-primary .navbar-burger, .docstring > section > a.navbar.docs-sourcelink .navbar-burger {
-      color: #fff; }
-    @media screen and (min-width: 1056px) {
-      .navbar.is-primary .navbar-start > .navbar-item, .docstring > section > a.navbar.docs-sourcelink .navbar-start > .navbar-item,
-      .navbar.is-primary .navbar-start .navbar-link,
-      .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link,
-      .navbar.is-primary .navbar-end > .navbar-item,
-      .docstring > section > a.navbar.docs-sourcelink .navbar-end > .navbar-item,
-      .navbar.is-primary .navbar-end .navbar-link,
-      .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link {
-        color: #fff; }
-      .navbar.is-primary .navbar-start > a.navbar-item:focus, .docstring > section > a.navbar.docs-sourcelink .navbar-start > a.navbar-item:focus, .navbar.is-primary .navbar-start > a.navbar-item:hover, .docstring > section > a.navbar.docs-sourcelink .navbar-start > a.navbar-item:hover, .navbar.is-primary .navbar-start > a.navbar-item.is-active, .docstring > section > a.navbar.docs-sourcelink .navbar-start > a.navbar-item.is-active,
-      .navbar.is-primary .navbar-start .navbar-link:focus,
-      .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link:focus,
-      .navbar.is-primary .navbar-start .navbar-link:hover,
-      .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link:hover,
-      .navbar.is-primary .navbar-start .navbar-link.is-active,
-      .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link.is-active,
-      .navbar.is-primary .navbar-end > a.navbar-item:focus,
-      .docstring > section > a.navbar.docs-sourcelink .navbar-end > a.navbar-item:focus,
-      .navbar.is-primary .navbar-end > a.navbar-item:hover,
-      .docstring > section > a.navbar.docs-sourcelink .navbar-end > a.navbar-item:hover,
-      .navbar.is-primary .navbar-end > a.navbar-item.is-active,
-      .docstring > section > a.navbar.docs-sourcelink .navbar-end > a.navbar-item.is-active,
-      .navbar.is-primary .navbar-end .navbar-link:focus,
-      .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link:focus,
-      .navbar.is-primary .navbar-end .navbar-link:hover,
-      .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link:hover,
-      .navbar.is-primary .navbar-end .navbar-link.is-active,
-      .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link.is-active {
-        background-color: #39acda;
-        color: #fff; }
-      .navbar.is-primary .navbar-start .navbar-link::after, .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link::after,
-      .navbar.is-primary .navbar-end .navbar-link::after,
-      .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link::after {
-        border-color: #fff; }
-      .navbar.is-primary .navbar-item.has-dropdown:focus .navbar-link, .docstring > section > a.navbar.docs-sourcelink .navbar-item.has-dropdown:focus .navbar-link,
-      .navbar.is-primary .navbar-item.has-dropdown:hover .navbar-link,
-      .docstring > section > a.navbar.docs-sourcelink .navbar-item.has-dropdown:hover .navbar-link,
-      .navbar.is-primary .navbar-item.has-dropdown.is-active .navbar-link,
-      .docstring > section > a.navbar.docs-sourcelink .navbar-item.has-dropdown.is-active .navbar-link {
-        background-color: #39acda;
-        color: #fff; }
-      .navbar.is-primary .navbar-dropdown a.navbar-item.is-active, .docstring > section > a.navbar.docs-sourcelink .navbar-dropdown a.navbar-item.is-active {
-        background-color: #4eb5de;
-        color: #fff; } }
-  .navbar.is-link {
-    background-color: #2e63b8;
-    color: #fff; }
-    .navbar.is-link .navbar-brand > .navbar-item,
-    .navbar.is-link .navbar-brand .navbar-link {
-      color: #fff; }
-    .navbar.is-link .navbar-brand > a.navbar-item:focus, .navbar.is-link .navbar-brand > a.navbar-item:hover, .navbar.is-link .navbar-brand > a.navbar-item.is-active,
-    .navbar.is-link .navbar-brand .navbar-link:focus,
-    .navbar.is-link .navbar-brand .navbar-link:hover,
-    .navbar.is-link .navbar-brand .navbar-link.is-active {
-      background-color: #2958a4;
-      color: #fff; }
-    .navbar.is-link .navbar-brand .navbar-link::after {
-      border-color: #fff; }
-    .navbar.is-link .navbar-burger {
-      color: #fff; }
-    @media screen and (min-width: 1056px) {
-      .navbar.is-link .navbar-start > .navbar-item,
-      .navbar.is-link .navbar-start .navbar-link,
-      .navbar.is-link .navbar-end > .navbar-item,
-      .navbar.is-link .navbar-end .navbar-link {
-        color: #fff; }
-      .navbar.is-link .navbar-start > a.navbar-item:focus, .navbar.is-link .navbar-start > a.navbar-item:hover, .navbar.is-link .navbar-start > a.navbar-item.is-active,
-      .navbar.is-link .navbar-start .navbar-link:focus,
-      .navbar.is-link .navbar-start .navbar-link:hover,
-      .navbar.is-link .navbar-start .navbar-link.is-active,
-      .navbar.is-link .navbar-end > a.navbar-item:focus,
-      .navbar.is-link .navbar-end > a.navbar-item:hover,
-      .navbar.is-link .navbar-end > a.navbar-item.is-active,
-      .navbar.is-link .navbar-end .navbar-link:focus,
-      .navbar.is-link .navbar-end .navbar-link:hover,
-      .navbar.is-link .navbar-end .navbar-link.is-active {
-        background-color: #2958a4;
-        color: #fff; }
-      .navbar.is-link .navbar-start .navbar-link::after,
-      .navbar.is-link .navbar-end .navbar-link::after {
-        border-color: #fff; }
-      .navbar.is-link .navbar-item.has-dropdown:focus .navbar-link,
-      .navbar.is-link .navbar-item.has-dropdown:hover .navbar-link,
-      .navbar.is-link .navbar-item.has-dropdown.is-active .navbar-link {
-        background-color: #2958a4;
-        color: #fff; }
-      .navbar.is-link .navbar-dropdown a.navbar-item.is-active {
-        background-color: #2e63b8;
-        color: #fff; } }
-  .navbar.is-info {
-    background-color: #209cee;
-    color: #fff; }
-    .navbar.is-info .navbar-brand > .navbar-item,
-    .navbar.is-info .navbar-brand .navbar-link {
-      color: #fff; }
-    .navbar.is-info .navbar-brand > a.navbar-item:focus, .navbar.is-info .navbar-brand > a.navbar-item:hover, .navbar.is-info .navbar-brand > a.navbar-item.is-active,
-    .navbar.is-info .navbar-brand .navbar-link:focus,
-    .navbar.is-info .navbar-brand .navbar-link:hover,
-    .navbar.is-info .navbar-brand .navbar-link.is-active {
-      background-color: #1190e3;
-      color: #fff; }
-    .navbar.is-info .navbar-brand .navbar-link::after {
-      border-color: #fff; }
-    .navbar.is-info .navbar-burger {
-      color: #fff; }
-    @media screen and (min-width: 1056px) {
-      .navbar.is-info .navbar-start > .navbar-item,
-      .navbar.is-info .navbar-start .navbar-link,
-      .navbar.is-info .navbar-end > .navbar-item,
-      .navbar.is-info .navbar-end .navbar-link {
-        color: #fff; }
-      .navbar.is-info .navbar-start > a.navbar-item:focus, .navbar.is-info .navbar-start > a.navbar-item:hover, .navbar.is-info .navbar-start > a.navbar-item.is-active,
-      .navbar.is-info .navbar-start .navbar-link:focus,
-      .navbar.is-info .navbar-start .navbar-link:hover,
-      .navbar.is-info .navbar-start .navbar-link.is-active,
-      .navbar.is-info .navbar-end > a.navbar-item:focus,
-      .navbar.is-info .navbar-end > a.navbar-item:hover,
-      .navbar.is-info .navbar-end > a.navbar-item.is-active,
-      .navbar.is-info .navbar-end .navbar-link:focus,
-      .navbar.is-info .navbar-end .navbar-link:hover,
-      .navbar.is-info .navbar-end .navbar-link.is-active {
-        background-color: #1190e3;
-        color: #fff; }
-      .navbar.is-info .navbar-start .navbar-link::after,
-      .navbar.is-info .navbar-end .navbar-link::after {
-        border-color: #fff; }
-      .navbar.is-info .navbar-item.has-dropdown:focus .navbar-link,
-      .navbar.is-info .navbar-item.has-dropdown:hover .navbar-link,
-      .navbar.is-info .navbar-item.has-dropdown.is-active .navbar-link {
-        background-color: #1190e3;
-        color: #fff; }
-      .navbar.is-info .navbar-dropdown a.navbar-item.is-active {
-        background-color: #209cee;
-        color: #fff; } }
-  .navbar.is-success {
-    background-color: #22c35b;
-    color: #fff; }
-    .navbar.is-success .navbar-brand > .navbar-item,
-    .navbar.is-success .navbar-brand .navbar-link {
-      color: #fff; }
-    .navbar.is-success .navbar-brand > a.navbar-item:focus, .navbar.is-success .navbar-brand > a.navbar-item:hover, .navbar.is-success .navbar-brand > a.navbar-item.is-active,
-    .navbar.is-success .navbar-brand .navbar-link:focus,
-    .navbar.is-success .navbar-brand .navbar-link:hover,
-    .navbar.is-success .navbar-brand .navbar-link.is-active {
-      background-color: #1ead51;
-      color: #fff; }
-    .navbar.is-success .navbar-brand .navbar-link::after {
-      border-color: #fff; }
-    .navbar.is-success .navbar-burger {
-      color: #fff; }
-    @media screen and (min-width: 1056px) {
-      .navbar.is-success .navbar-start > .navbar-item,
-      .navbar.is-success .navbar-start .navbar-link,
-      .navbar.is-success .navbar-end > .navbar-item,
-      .navbar.is-success .navbar-end .navbar-link {
-        color: #fff; }
-      .navbar.is-success .navbar-start > a.navbar-item:focus, .navbar.is-success .navbar-start > a.navbar-item:hover, .navbar.is-success .navbar-start > a.navbar-item.is-active,
-      .navbar.is-success .navbar-start .navbar-link:focus,
-      .navbar.is-success .navbar-start .navbar-link:hover,
-      .navbar.is-success .navbar-start .navbar-link.is-active,
-      .navbar.is-success .navbar-end > a.navbar-item:focus,
-      .navbar.is-success .navbar-end > a.navbar-item:hover,
-      .navbar.is-success .navbar-end > a.navbar-item.is-active,
-      .navbar.is-success .navbar-end .navbar-link:focus,
-      .navbar.is-success .navbar-end .navbar-link:hover,
-      .navbar.is-success .navbar-end .navbar-link.is-active {
-        background-color: #1ead51;
-        color: #fff; }
-      .navbar.is-success .navbar-start .navbar-link::after,
-      .navbar.is-success .navbar-end .navbar-link::after {
-        border-color: #fff; }
-      .navbar.is-success .navbar-item.has-dropdown:focus .navbar-link,
-      .navbar.is-success .navbar-item.has-dropdown:hover .navbar-link,
-      .navbar.is-success .navbar-item.has-dropdown.is-active .navbar-link {
-        background-color: #1ead51;
-        color: #fff; }
-      .navbar.is-success .navbar-dropdown a.navbar-item.is-active {
-        background-color: #22c35b;
-        color: #fff; } }
-  .navbar.is-warning {
-    background-color: #ffdd57;
-    color: rgba(0, 0, 0, 0.7); }
-    .navbar.is-warning .navbar-brand > .navbar-item,
-    .navbar.is-warning .navbar-brand .navbar-link {
-      color: rgba(0, 0, 0, 0.7); }
-    .navbar.is-warning .navbar-brand > a.navbar-item:focus, .navbar.is-warning .navbar-brand > a.navbar-item:hover, .navbar.is-warning .navbar-brand > a.navbar-item.is-active,
-    .navbar.is-warning .navbar-brand .navbar-link:focus,
-    .navbar.is-warning .navbar-brand .navbar-link:hover,
-    .navbar.is-warning .navbar-brand .navbar-link.is-active {
-      background-color: #ffd83e;
-      color: rgba(0, 0, 0, 0.7); }
-    .navbar.is-warning .navbar-brand .navbar-link::after {
-      border-color: rgba(0, 0, 0, 0.7); }
-    .navbar.is-warning .navbar-burger {
-      color: rgba(0, 0, 0, 0.7); }
-    @media screen and (min-width: 1056px) {
-      .navbar.is-warning .navbar-start > .navbar-item,
-      .navbar.is-warning .navbar-start .navbar-link,
-      .navbar.is-warning .navbar-end > .navbar-item,
-      .navbar.is-warning .navbar-end .navbar-link {
-        color: rgba(0, 0, 0, 0.7); }
-      .navbar.is-warning .navbar-start > a.navbar-item:focus, .navbar.is-warning .navbar-start > a.navbar-item:hover, .navbar.is-warning .navbar-start > a.navbar-item.is-active,
-      .navbar.is-warning .navbar-start .navbar-link:focus,
-      .navbar.is-warning .navbar-start .navbar-link:hover,
-      .navbar.is-warning .navbar-start .navbar-link.is-active,
-      .navbar.is-warning .navbar-end > a.navbar-item:focus,
-      .navbar.is-warning .navbar-end > a.navbar-item:hover,
-      .navbar.is-warning .navbar-end > a.navbar-item.is-active,
-      .navbar.is-warning .navbar-end .navbar-link:focus,
-      .navbar.is-warning .navbar-end .navbar-link:hover,
-      .navbar.is-warning .navbar-end .navbar-link.is-active {
-        background-color: #ffd83e;
-        color: rgba(0, 0, 0, 0.7); }
-      .navbar.is-warning .navbar-start .navbar-link::after,
-      .navbar.is-warning .navbar-end .navbar-link::after {
-        border-color: rgba(0, 0, 0, 0.7); }
-      .navbar.is-warning .navbar-item.has-dropdown:focus .navbar-link,
-      .navbar.is-warning .navbar-item.has-dropdown:hover .navbar-link,
-      .navbar.is-warning .navbar-item.has-dropdown.is-active .navbar-link {
-        background-color: #ffd83e;
-        color: rgba(0, 0, 0, 0.7); }
-      .navbar.is-warning .navbar-dropdown a.navbar-item.is-active {
-        background-color: #ffdd57;
-        color: rgba(0, 0, 0, 0.7); } }
-  .navbar.is-danger {
-    background-color: #da0b00;
-    color: #fff; }
-    .navbar.is-danger .navbar-brand > .navbar-item,
-    .navbar.is-danger .navbar-brand .navbar-link {
-      color: #fff; }
-    .navbar.is-danger .navbar-brand > a.navbar-item:focus, .navbar.is-danger .navbar-brand > a.navbar-item:hover, .navbar.is-danger .navbar-brand > a.navbar-item.is-active,
-    .navbar.is-danger .navbar-brand .navbar-link:focus,
-    .navbar.is-danger .navbar-brand .navbar-link:hover,
-    .navbar.is-danger .navbar-brand .navbar-link.is-active {
-      background-color: #c10a00;
-      color: #fff; }
-    .navbar.is-danger .navbar-brand .navbar-link::after {
-      border-color: #fff; }
-    .navbar.is-danger .navbar-burger {
-      color: #fff; }
-    @media screen and (min-width: 1056px) {
-      .navbar.is-danger .navbar-start > .navbar-item,
-      .navbar.is-danger .navbar-start .navbar-link,
-      .navbar.is-danger .navbar-end > .navbar-item,
-      .navbar.is-danger .navbar-end .navbar-link {
-        color: #fff; }
-      .navbar.is-danger .navbar-start > a.navbar-item:focus, .navbar.is-danger .navbar-start > a.navbar-item:hover, .navbar.is-danger .navbar-start > a.navbar-item.is-active,
-      .navbar.is-danger .navbar-start .navbar-link:focus,
-      .navbar.is-danger .navbar-start .navbar-link:hover,
-      .navbar.is-danger .navbar-start .navbar-link.is-active,
-      .navbar.is-danger .navbar-end > a.navbar-item:focus,
-      .navbar.is-danger .navbar-end > a.navbar-item:hover,
-      .navbar.is-danger .navbar-end > a.navbar-item.is-active,
-      .navbar.is-danger .navbar-end .navbar-link:focus,
-      .navbar.is-danger .navbar-end .navbar-link:hover,
-      .navbar.is-danger .navbar-end .navbar-link.is-active {
-        background-color: #c10a00;
-        color: #fff; }
-      .navbar.is-danger .navbar-start .navbar-link::after,
-      .navbar.is-danger .navbar-end .navbar-link::after {
-        border-color: #fff; }
-      .navbar.is-danger .navbar-item.has-dropdown:focus .navbar-link,
-      .navbar.is-danger .navbar-item.has-dropdown:hover .navbar-link,
-      .navbar.is-danger .navbar-item.has-dropdown.is-active .navbar-link {
-        background-color: #c10a00;
-        color: #fff; }
-      .navbar.is-danger .navbar-dropdown a.navbar-item.is-active {
-        background-color: #da0b00;
-        color: #fff; } }
-  .navbar > .container {
-    align-items: stretch;
-    display: flex;
-    min-height: 3.25rem;
-    width: 100%; }
-  .navbar.has-shadow {
-    box-shadow: 0 2px 0 0 whitesmoke; }
-  .navbar.is-fixed-bottom, .navbar.is-fixed-top {
-    left: 0;
-    position: fixed;
-    right: 0;
-    z-index: 30; }
-  .navbar.is-fixed-bottom {
-    bottom: 0; }
-    .navbar.is-fixed-bottom.has-shadow {
-      box-shadow: 0 -2px 0 0 whitesmoke; }
-  .navbar.is-fixed-top {
-    top: 0; }
-
-html.has-navbar-fixed-top,
-body.has-navbar-fixed-top {
-  padding-top: 3.25rem; }
-
-html.has-navbar-fixed-bottom,
-body.has-navbar-fixed-bottom {
-  padding-bottom: 3.25rem; }
-
-.navbar-brand,
-.navbar-tabs {
-  align-items: stretch;
-  display: flex;
-  flex-shrink: 0;
-  min-height: 3.25rem; }
-
-.navbar-brand a.navbar-item:focus, .navbar-brand a.navbar-item:hover {
-  background-color: transparent; }
-
-.navbar-tabs {
-  -webkit-overflow-scrolling: touch;
-  max-width: 100vw;
-  overflow-x: auto;
-  overflow-y: hidden; }
-
-.navbar-burger {
-  color: #4a4a4a;
-  cursor: pointer;
-  display: block;
-  height: 3.25rem;
-  position: relative;
-  width: 3.25rem;
-  margin-left: auto; }
-  .navbar-burger span {
-    background-color: currentColor;
-    display: block;
-    height: 1px;
-    left: calc(50% - 8px);
-    position: absolute;
-    transform-origin: center;
-    transition-duration: 86ms;
-    transition-property: background-color, opacity, transform;
-    transition-timing-function: ease-out;
-    width: 16px; }
-    .navbar-burger span:nth-child(1) {
-      top: calc(50% - 6px); }
-    .navbar-burger span:nth-child(2) {
-      top: calc(50% - 1px); }
-    .navbar-burger span:nth-child(3) {
-      top: calc(50% + 4px); }
-  .navbar-burger:hover {
-    background-color: rgba(0, 0, 0, 0.05); }
-  .navbar-burger.is-active span:nth-child(1) {
-    transform: translateY(5px) rotate(45deg); }
-  .navbar-burger.is-active span:nth-child(2) {
-    opacity: 0; }
-  .navbar-burger.is-active span:nth-child(3) {
-    transform: translateY(-5px) rotate(-45deg); }
-
-.navbar-menu {
-  display: none; }
-
-.navbar-item,
-.navbar-link {
-  color: #4a4a4a;
-  display: block;
-  line-height: 1.5;
-  padding: 0.5rem 0.75rem;
-  position: relative; }
-  .navbar-item .icon:only-child,
-  .navbar-link .icon:only-child {
-    margin-left: -0.25rem;
-    margin-right: -0.25rem; }
-
-a.navbar-item,
-.navbar-link {
-  cursor: pointer; }
-  a.navbar-item:focus, a.navbar-item:focus-within, a.navbar-item:hover, a.navbar-item.is-active,
-  .navbar-link:focus,
-  .navbar-link:focus-within,
-  .navbar-link:hover,
-  .navbar-link.is-active {
-    background-color: #fafafa;
-    color: #2e63b8; }
-
-.navbar-item {
-  display: block;
-  flex-grow: 0;
-  flex-shrink: 0; }
-  .navbar-item img {
-    max-height: 1.75rem; }
-  .navbar-item.has-dropdown {
-    padding: 0; }
-  .navbar-item.is-expanded {
-    flex-grow: 1;
-    flex-shrink: 1; }
-  .navbar-item.is-tab {
-    border-bottom: 1px solid transparent;
-    min-height: 3.25rem;
-    padding-bottom: calc(0.5rem - 1px); }
-    .navbar-item.is-tab:focus, .navbar-item.is-tab:hover {
-      background-color: transparent;
-      border-bottom-color: #2e63b8; }
-    .navbar-item.is-tab.is-active {
-      background-color: transparent;
-      border-bottom-color: #2e63b8;
-      border-bottom-style: solid;
-      border-bottom-width: 3px;
-      color: #2e63b8;
-      padding-bottom: calc(0.5rem - 3px); }
-
-.navbar-content {
-  flex-grow: 1;
-  flex-shrink: 1; }
-
-.navbar-link:not(.is-arrowless) {
-  padding-right: 2.5em; }
-  .navbar-link:not(.is-arrowless)::after {
-    border-color: #2e63b8;
-    margin-top: -0.375em;
-    right: 1.125em; }
-
-.navbar-dropdown {
-  font-size: 0.875rem;
-  padding-bottom: 0.5rem;
-  padding-top: 0.5rem; }
-  .navbar-dropdown .navbar-item {
-    padding-left: 1.5rem;
-    padding-right: 1.5rem; }
-
-.navbar-divider {
-  background-color: whitesmoke;
-  border: none;
-  display: none;
-  height: 2px;
-  margin: 0.5rem 0; }
-
-@media screen and (max-width: 1055px) {
-  .navbar > .container {
-    display: block; }
-  .navbar-brand .navbar-item,
-  .navbar-tabs .navbar-item {
-    align-items: center;
-    display: flex; }
-  .navbar-link::after {
-    display: none; }
-  .navbar-menu {
-    background-color: white;
-    box-shadow: 0 8px 16px rgba(10, 10, 10, 0.1);
-    padding: 0.5rem 0; }
-    .navbar-menu.is-active {
-      display: block; }
-  .navbar.is-fixed-bottom-touch, .navbar.is-fixed-top-touch {
-    left: 0;
-    position: fixed;
-    right: 0;
-    z-index: 30; }
-  .navbar.is-fixed-bottom-touch {
-    bottom: 0; }
-    .navbar.is-fixed-bottom-touch.has-shadow {
-      box-shadow: 0 -2px 3px rgba(10, 10, 10, 0.1); }
-  .navbar.is-fixed-top-touch {
-    top: 0; }
-  .navbar.is-fixed-top .navbar-menu, .navbar.is-fixed-top-touch .navbar-menu {
-    -webkit-overflow-scrolling: touch;
-    max-height: calc(100vh - 3.25rem);
-    overflow: auto; }
-  html.has-navbar-fixed-top-touch,
-  body.has-navbar-fixed-top-touch {
-    padding-top: 3.25rem; }
-  html.has-navbar-fixed-bottom-touch,
-  body.has-navbar-fixed-bottom-touch {
-    padding-bottom: 3.25rem; } }
-
-@media screen and (min-width: 1056px) {
-  .navbar,
-  .navbar-menu,
-  .navbar-start,
-  .navbar-end {
-    align-items: stretch;
-    display: flex; }
-  .navbar {
-    min-height: 3.25rem; }
-    .navbar.is-spaced {
-      padding: 1rem 2rem; }
-      .navbar.is-spaced .navbar-start,
-      .navbar.is-spaced .navbar-end {
-        align-items: center; }
-      .navbar.is-spaced a.navbar-item,
-      .navbar.is-spaced .navbar-link {
-        border-radius: 4px; }
-    .navbar.is-transparent a.navbar-item:focus, .navbar.is-transparent a.navbar-item:hover, .navbar.is-transparent a.navbar-item.is-active,
-    .navbar.is-transparent .navbar-link:focus,
-    .navbar.is-transparent .navbar-link:hover,
-    .navbar.is-transparent .navbar-link.is-active {
-      background-color: transparent !important; }
-    .navbar.is-transparent .navbar-item.has-dropdown.is-active .navbar-link, .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus .navbar-link, .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus-within .navbar-link, .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:hover .navbar-link {
-      background-color: transparent !important; }
-    .navbar.is-transparent .navbar-dropdown a.navbar-item:focus, .navbar.is-transparent .navbar-dropdown a.navbar-item:hover {
-      background-color: whitesmoke;
-      color: #0a0a0a; }
-    .navbar.is-transparent .navbar-dropdown a.navbar-item.is-active {
-      background-color: whitesmoke;
-      color: #2e63b8; }
-  .navbar-burger {
-    display: none; }
-  .navbar-item,
-  .navbar-link {
-    align-items: center;
-    display: flex; }
-  .navbar-item {
-    display: flex; }
-    .navbar-item.has-dropdown {
-      align-items: stretch; }
-    .navbar-item.has-dropdown-up .navbar-link::after {
-      transform: rotate(135deg) translate(0.25em, -0.25em); }
-    .navbar-item.has-dropdown-up .navbar-dropdown {
-      border-bottom: 2px solid #dbdbdb;
-      border-radius: 6px 6px 0 0;
-      border-top: none;
-      bottom: 100%;
-      box-shadow: 0 -8px 8px rgba(10, 10, 10, 0.1);
-      top: auto; }
-    .navbar-item.is-active .navbar-dropdown, .navbar-item.is-hoverable:focus .navbar-dropdown, .navbar-item.is-hoverable:focus-within .navbar-dropdown, .navbar-item.is-hoverable:hover .navbar-dropdown {
-      display: block; }
-      .navbar.is-spaced .navbar-item.is-active .navbar-dropdown, .navbar-item.is-active .navbar-dropdown.is-boxed, .navbar.is-spaced .navbar-item.is-hoverable:focus .navbar-dropdown, .navbar-item.is-hoverable:focus .navbar-dropdown.is-boxed, .navbar.is-spaced .navbar-item.is-hoverable:focus-within .navbar-dropdown, .navbar-item.is-hoverable:focus-within .navbar-dropdown.is-boxed, .navbar.is-spaced .navbar-item.is-hoverable:hover .navbar-dropdown, .navbar-item.is-hoverable:hover .navbar-dropdown.is-boxed {
-        opacity: 1;
-        pointer-events: auto;
-        transform: translateY(0); }
-  .navbar-menu {
-    flex-grow: 1;
-    flex-shrink: 0; }
-  .navbar-start {
-    justify-content: flex-start;
-    margin-right: auto; }
-  .navbar-end {
-    justify-content: flex-end;
-    margin-left: auto; }
-  .navbar-dropdown {
-    background-color: white;
-    border-bottom-left-radius: 6px;
-    border-bottom-right-radius: 6px;
-    border-top: 2px solid #dbdbdb;
-    box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1);
-    display: none;
-    font-size: 0.875rem;
-    left: 0;
-    min-width: 100%;
-    position: absolute;
-    top: 100%;
-    z-index: 20; }
-    .navbar-dropdown .navbar-item {
-      padding: 0.375rem 1rem;
-      white-space: nowrap; }
-    .navbar-dropdown a.navbar-item {
-      padding-right: 3rem; }
-      .navbar-dropdown a.navbar-item:focus, .navbar-dropdown a.navbar-item:hover {
-        background-color: whitesmoke;
-        color: #0a0a0a; }
-      .navbar-dropdown a.navbar-item.is-active {
-        background-color: whitesmoke;
-        color: #2e63b8; }
-    .navbar.is-spaced .navbar-dropdown, .navbar-dropdown.is-boxed {
-      border-radius: 6px;
-      border-top: none;
-      box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
-      display: block;
-      opacity: 0;
-      pointer-events: none;
-      top: calc(100% + (-4px));
-      transform: translateY(-5px);
-      transition-duration: 86ms;
-      transition-property: opacity, transform; }
-    .navbar-dropdown.is-right {
-      left: auto;
-      right: 0; }
-  .navbar-divider {
-    display: block; }
-  .navbar > .container .navbar-brand,
-  .container > .navbar .navbar-brand {
-    margin-left: -.75rem; }
-  .navbar > .container .navbar-menu,
-  .container > .navbar .navbar-menu {
-    margin-right: -.75rem; }
-  .navbar.is-fixed-bottom-desktop, .navbar.is-fixed-top-desktop {
-    left: 0;
-    position: fixed;
-    right: 0;
-    z-index: 30; }
-  .navbar.is-fixed-bottom-desktop {
-    bottom: 0; }
-    .navbar.is-fixed-bottom-desktop.has-shadow {
-      box-shadow: 0 -2px 3px rgba(10, 10, 10, 0.1); }
-  .navbar.is-fixed-top-desktop {
-    top: 0; }
-  html.has-navbar-fixed-top-desktop,
-  body.has-navbar-fixed-top-desktop {
-    padding-top: 3.25rem; }
-  html.has-navbar-fixed-bottom-desktop,
-  body.has-navbar-fixed-bottom-desktop {
-    padding-bottom: 3.25rem; }
-  html.has-spaced-navbar-fixed-top,
-  body.has-spaced-navbar-fixed-top {
-    padding-top: 5.25rem; }
-  html.has-spaced-navbar-fixed-bottom,
-  body.has-spaced-navbar-fixed-bottom {
-    padding-bottom: 5.25rem; }
-  a.navbar-item.is-active,
-  .navbar-link.is-active {
-    color: #0a0a0a; }
-  a.navbar-item.is-active:not(:focus):not(:hover),
-  .navbar-link.is-active:not(:focus):not(:hover) {
-    background-color: transparent; }
-  .navbar-item.has-dropdown:focus .navbar-link, .navbar-item.has-dropdown:hover .navbar-link, .navbar-item.has-dropdown.is-active .navbar-link {
-    background-color: #fafafa; } }
-
-.hero.is-fullheight-with-navbar {
-  min-height: calc(100vh - 3.25rem); }
-
-.pagination {
-  font-size: 1rem;
-  margin: -0.25rem; }
-  .pagination.is-small, #documenter .docs-sidebar form.docs-search > input.pagination {
-    font-size: 0.75rem; }
-  .pagination.is-medium {
-    font-size: 1.25rem; }
-  .pagination.is-large {
-    font-size: 1.5rem; }
-  .pagination.is-rounded .pagination-previous, #documenter .docs-sidebar form.docs-search > input.pagination .pagination-previous,
-  .pagination.is-rounded .pagination-next,
-  #documenter .docs-sidebar form.docs-search > input.pagination .pagination-next {
-    padding-left: 1em;
-    padding-right: 1em;
-    border-radius: 290486px; }
-  .pagination.is-rounded .pagination-link, #documenter .docs-sidebar form.docs-search > input.pagination .pagination-link {
-    border-radius: 290486px; }
-
-.pagination,
-.pagination-list {
-  align-items: center;
-  display: flex;
-  justify-content: center;
-  text-align: center; }
-
-.pagination-previous,
-.pagination-next,
-.pagination-link,
-.pagination-ellipsis {
-  font-size: 1em;
-  justify-content: center;
-  margin: 0.25rem;
-  padding-left: 0.5em;
-  padding-right: 0.5em;
-  text-align: center; }
-
-.pagination-previous,
-.pagination-next,
-.pagination-link {
-  border-color: #dbdbdb;
-  color: #363636;
-  min-width: 2.25em; }
-  .pagination-previous:hover,
-  .pagination-next:hover,
-  .pagination-link:hover {
-    border-color: #b5b5b5;
-    color: #363636; }
-  .pagination-previous:focus,
-  .pagination-next:focus,
-  .pagination-link:focus {
-    border-color: #3c5dcd; }
-  .pagination-previous:active,
-  .pagination-next:active,
-  .pagination-link:active {
-    box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2); }
-  .pagination-previous[disabled],
-  .pagination-next[disabled],
-  .pagination-link[disabled] {
-    background-color: #dbdbdb;
-    border-color: #dbdbdb;
-    box-shadow: none;
-    color: #6b6b6b;
-    opacity: 0.5; }
-
-.pagination-previous,
-.pagination-next {
-  padding-left: 0.75em;
-  padding-right: 0.75em;
-  white-space: nowrap; }
-
-.pagination-link.is-current {
-  background-color: #2e63b8;
-  border-color: #2e63b8;
-  color: #fff; }
-
-.pagination-ellipsis {
-  color: #b5b5b5;
-  pointer-events: none; }
-
-.pagination-list {
-  flex-wrap: wrap; }
-
-@media screen and (max-width: 768px) {
-  .pagination {
-    flex-wrap: wrap; }
-  .pagination-previous,
-  .pagination-next {
-    flex-grow: 1;
-    flex-shrink: 1; }
-  .pagination-list li {
-    flex-grow: 1;
-    flex-shrink: 1; } }
-
-@media screen and (min-width: 769px), print {
-  .pagination-list {
-    flex-grow: 1;
-    flex-shrink: 1;
-    justify-content: flex-start;
-    order: 1; }
-  .pagination-previous {
-    order: 2; }
-  .pagination-next {
-    order: 3; }
-  .pagination {
-    justify-content: space-between; }
-    .pagination.is-centered .pagination-previous {
-      order: 1; }
-    .pagination.is-centered .pagination-list {
-      justify-content: center;
-      order: 2; }
-    .pagination.is-centered .pagination-next {
-      order: 3; }
-    .pagination.is-right .pagination-previous {
-      order: 1; }
-    .pagination.is-right .pagination-next {
-      order: 2; }
-    .pagination.is-right .pagination-list {
-      justify-content: flex-end;
-      order: 3; } }
-
-.panel {
-  font-size: 1rem; }
-  .panel:not(:last-child) {
-    margin-bottom: 1.5rem; }
-
-.panel-heading,
-.panel-tabs,
-.panel-block {
-  border-bottom: 1px solid #dbdbdb;
-  border-left: 1px solid #dbdbdb;
-  border-right: 1px solid #dbdbdb; }
-  .panel-heading:first-child,
-  .panel-tabs:first-child,
-  .panel-block:first-child {
-    border-top: 1px solid #dbdbdb; }
-
-.panel-heading {
-  background-color: whitesmoke;
-  border-radius: 4px 4px 0 0;
-  color: #222222;
-  font-size: 1.25em;
-  font-weight: 300;
-  line-height: 1.25;
-  padding: 0.5em 0.75em; }
-
-.panel-tabs {
-  align-items: flex-end;
-  display: flex;
-  font-size: 0.875em;
-  justify-content: center; }
-  .panel-tabs a {
-    border-bottom: 1px solid #dbdbdb;
-    margin-bottom: -1px;
-    padding: 0.5em; }
-    .panel-tabs a.is-active {
-      border-bottom-color: #4a4a4a;
-      color: #363636; }
-
-.panel-list a {
-  color: #222222; }
-  .panel-list a:hover {
-    color: #2e63b8; }
-
-.panel-block {
-  align-items: center;
-  color: #222222;
-  display: flex;
-  justify-content: flex-start;
-  padding: 0.5em 0.75em; }
-  .panel-block input[type="checkbox"] {
-    margin-right: 0.75em; }
-  .panel-block > .control {
-    flex-grow: 1;
-    flex-shrink: 1;
-    width: 100%; }
-  .panel-block.is-wrapped {
-    flex-wrap: wrap; }
-  .panel-block.is-active {
-    border-left-color: #2e63b8;
-    color: #363636; }
-    .panel-block.is-active .panel-icon {
-      color: #2e63b8; }
-
-a.panel-block,
-label.panel-block {
-  cursor: pointer; }
-  a.panel-block:hover,
-  label.panel-block:hover {
-    background-color: whitesmoke; }
-
-.panel-icon {
-  display: inline-block;
-  font-size: 14px;
-  height: 1em;
-  line-height: 1em;
-  text-align: center;
-  vertical-align: top;
-  width: 1em;
-  color: #6b6b6b;
-  margin-right: 0.75em; }
-  .panel-icon .fa {
-    font-size: inherit;
-    line-height: inherit; }
-
-.tabs {
-  -webkit-overflow-scrolling: touch;
-  align-items: stretch;
-  display: flex;
-  font-size: 1rem;
-  justify-content: space-between;
-  overflow: hidden;
-  overflow-x: auto;
-  white-space: nowrap; }
-  .tabs a {
-    align-items: center;
-    border-bottom-color: #dbdbdb;
-    border-bottom-style: solid;
-    border-bottom-width: 1px;
-    color: #222222;
-    display: flex;
-    justify-content: center;
-    margin-bottom: -1px;
-    padding: 0.5em 1em;
-    vertical-align: top; }
-    .tabs a:hover {
-      border-bottom-color: #222222;
-      color: #222222; }
-  .tabs li {
-    display: block; }
-    .tabs li.is-active a {
-      border-bottom-color: #2e63b8;
-      color: #2e63b8; }
-  .tabs ul {
-    align-items: center;
-    border-bottom-color: #dbdbdb;
-    border-bottom-style: solid;
-    border-bottom-width: 1px;
-    display: flex;
-    flex-grow: 1;
-    flex-shrink: 0;
-    justify-content: flex-start; }
-    .tabs ul.is-left {
-      padding-right: 0.75em; }
-    .tabs ul.is-center {
-      flex: none;
-      justify-content: center;
-      padding-left: 0.75em;
-      padding-right: 0.75em; }
-    .tabs ul.is-right {
-      justify-content: flex-end;
-      padding-left: 0.75em; }
-  .tabs .icon:first-child {
-    margin-right: 0.5em; }
-  .tabs .icon:last-child {
-    margin-left: 0.5em; }
-  .tabs.is-centered ul {
-    justify-content: center; }
-  .tabs.is-right ul {
-    justify-content: flex-end; }
-  .tabs.is-boxed a {
-    border: 1px solid transparent;
-    border-radius: 4px 4px 0 0; }
-    .tabs.is-boxed a:hover {
-      background-color: whitesmoke;
-      border-bottom-color: #dbdbdb; }
-  .tabs.is-boxed li.is-active a {
-    background-color: white;
-    border-color: #dbdbdb;
-    border-bottom-color: transparent !important; }
-  .tabs.is-fullwidth li {
-    flex-grow: 1;
-    flex-shrink: 0; }
-  .tabs.is-toggle a {
-    border-color: #dbdbdb;
-    border-style: solid;
-    border-width: 1px;
-    margin-bottom: 0;
-    position: relative; }
-    .tabs.is-toggle a:hover {
-      background-color: whitesmoke;
-      border-color: #b5b5b5;
-      z-index: 2; }
-  .tabs.is-toggle li + li {
-    margin-left: -1px; }
-  .tabs.is-toggle li:first-child a {
-    border-radius: 4px 0 0 4px; }
-  .tabs.is-toggle li:last-child a {
-    border-radius: 0 4px 4px 0; }
-  .tabs.is-toggle li.is-active a {
-    background-color: #2e63b8;
-    border-color: #2e63b8;
-    color: #fff;
-    z-index: 1; }
-  .tabs.is-toggle ul {
-    border-bottom: none; }
-  .tabs.is-toggle.is-toggle-rounded li:first-child a {
-    border-bottom-left-radius: 290486px;
-    border-top-left-radius: 290486px;
-    padding-left: 1.25em; }
-  .tabs.is-toggle.is-toggle-rounded li:last-child a {
-    border-bottom-right-radius: 290486px;
-    border-top-right-radius: 290486px;
-    padding-right: 1.25em; }
-  .tabs.is-small, #documenter .docs-sidebar form.docs-search > input.tabs {
-    font-size: 0.75rem; }
-  .tabs.is-medium {
-    font-size: 1.25rem; }
-  .tabs.is-large {
-    font-size: 1.5rem; }
-
-.column {
-  display: block;
-  flex-basis: 0;
-  flex-grow: 1;
-  flex-shrink: 1;
-  padding: 0.75rem; }
-  .columns.is-mobile > .column.is-narrow {
-    flex: none; }
-  .columns.is-mobile > .column.is-full {
-    flex: none;
-    width: 100%; }
-  .columns.is-mobile > .column.is-three-quarters {
-    flex: none;
-    width: 75%; }
-  .columns.is-mobile > .column.is-two-thirds {
-    flex: none;
-    width: 66.6666%; }
-  .columns.is-mobile > .column.is-half {
-    flex: none;
-    width: 50%; }
-  .columns.is-mobile > .column.is-one-third {
-    flex: none;
-    width: 33.3333%; }
-  .columns.is-mobile > .column.is-one-quarter {
-    flex: none;
-    width: 25%; }
-  .columns.is-mobile > .column.is-one-fifth {
-    flex: none;
-    width: 20%; }
-  .columns.is-mobile > .column.is-two-fifths {
-    flex: none;
-    width: 40%; }
-  .columns.is-mobile > .column.is-three-fifths {
-    flex: none;
-    width: 60%; }
-  .columns.is-mobile > .column.is-four-fifths {
-    flex: none;
-    width: 80%; }
-  .columns.is-mobile > .column.is-offset-three-quarters {
-    margin-left: 75%; }
-  .columns.is-mobile > .column.is-offset-two-thirds {
-    margin-left: 66.6666%; }
-  .columns.is-mobile > .column.is-offset-half {
-    margin-left: 50%; }
-  .columns.is-mobile > .column.is-offset-one-third {
-    margin-left: 33.3333%; }
-  .columns.is-mobile > .column.is-offset-one-quarter {
-    margin-left: 25%; }
-  .columns.is-mobile > .column.is-offset-one-fifth {
-    margin-left: 20%; }
-  .columns.is-mobile > .column.is-offset-two-fifths {
-    margin-left: 40%; }
-  .columns.is-mobile > .column.is-offset-three-fifths {
-    margin-left: 60%; }
-  .columns.is-mobile > .column.is-offset-four-fifths {
-    margin-left: 80%; }
-  .columns.is-mobile > .column.is-0 {
-    flex: none;
-    width: 0%; }
-  .columns.is-mobile > .column.is-offset-0 {
-    margin-left: 0%; }
-  .columns.is-mobile > .column.is-1 {
-    flex: none;
-    width: 8.3333333333%; }
-  .columns.is-mobile > .column.is-offset-1 {
-    margin-left: 8.3333333333%; }
-  .columns.is-mobile > .column.is-2 {
-    flex: none;
-    width: 16.6666666667%; }
-  .columns.is-mobile > .column.is-offset-2 {
-    margin-left: 16.6666666667%; }
-  .columns.is-mobile > .column.is-3 {
-    flex: none;
-    width: 25%; }
-  .columns.is-mobile > .column.is-offset-3 {
-    margin-left: 25%; }
-  .columns.is-mobile > .column.is-4 {
-    flex: none;
-    width: 33.3333333333%; }
-  .columns.is-mobile > .column.is-offset-4 {
-    margin-left: 33.3333333333%; }
-  .columns.is-mobile > .column.is-5 {
-    flex: none;
-    width: 41.6666666667%; }
-  .columns.is-mobile > .column.is-offset-5 {
-    margin-left: 41.6666666667%; }
-  .columns.is-mobile > .column.is-6 {
-    flex: none;
-    width: 50%; }
-  .columns.is-mobile > .column.is-offset-6 {
-    margin-left: 50%; }
-  .columns.is-mobile > .column.is-7 {
-    flex: none;
-    width: 58.3333333333%; }
-  .columns.is-mobile > .column.is-offset-7 {
-    margin-left: 58.3333333333%; }
-  .columns.is-mobile > .column.is-8 {
-    flex: none;
-    width: 66.6666666667%; }
-  .columns.is-mobile > .column.is-offset-8 {
-    margin-left: 66.6666666667%; }
-  .columns.is-mobile > .column.is-9 {
-    flex: none;
-    width: 75%; }
-  .columns.is-mobile > .column.is-offset-9 {
-    margin-left: 75%; }
-  .columns.is-mobile > .column.is-10 {
-    flex: none;
-    width: 83.3333333333%; }
-  .columns.is-mobile > .column.is-offset-10 {
-    margin-left: 83.3333333333%; }
-  .columns.is-mobile > .column.is-11 {
-    flex: none;
-    width: 91.6666666667%; }
-  .columns.is-mobile > .column.is-offset-11 {
-    margin-left: 91.6666666667%; }
-  .columns.is-mobile > .column.is-12 {
-    flex: none;
-    width: 100%; }
-  .columns.is-mobile > .column.is-offset-12 {
-    margin-left: 100%; }
-  @media screen and (max-width: 768px) {
-    .column.is-narrow-mobile {
-      flex: none; }
-    .column.is-full-mobile {
-      flex: none;
-      width: 100%; }
-    .column.is-three-quarters-mobile {
-      flex: none;
-      width: 75%; }
-    .column.is-two-thirds-mobile {
-      flex: none;
-      width: 66.6666%; }
-    .column.is-half-mobile {
-      flex: none;
-      width: 50%; }
-    .column.is-one-third-mobile {
-      flex: none;
-      width: 33.3333%; }
-    .column.is-one-quarter-mobile {
-      flex: none;
-      width: 25%; }
-    .column.is-one-fifth-mobile {
-      flex: none;
-      width: 20%; }
-    .column.is-two-fifths-mobile {
-      flex: none;
-      width: 40%; }
-    .column.is-three-fifths-mobile {
-      flex: none;
-      width: 60%; }
-    .column.is-four-fifths-mobile {
-      flex: none;
-      width: 80%; }
-    .column.is-offset-three-quarters-mobile {
-      margin-left: 75%; }
-    .column.is-offset-two-thirds-mobile {
-      margin-left: 66.6666%; }
-    .column.is-offset-half-mobile {
-      margin-left: 50%; }
-    .column.is-offset-one-third-mobile {
-      margin-left: 33.3333%; }
-    .column.is-offset-one-quarter-mobile {
-      margin-left: 25%; }
-    .column.is-offset-one-fifth-mobile {
-      margin-left: 20%; }
-    .column.is-offset-two-fifths-mobile {
-      margin-left: 40%; }
-    .column.is-offset-three-fifths-mobile {
-      margin-left: 60%; }
-    .column.is-offset-four-fifths-mobile {
-      margin-left: 80%; }
-    .column.is-0-mobile {
-      flex: none;
-      width: 0%; }
-    .column.is-offset-0-mobile {
-      margin-left: 0%; }
-    .column.is-1-mobile {
-      flex: none;
-      width: 8.3333333333%; }
-    .column.is-offset-1-mobile {
-      margin-left: 8.3333333333%; }
-    .column.is-2-mobile {
-      flex: none;
-      width: 16.6666666667%; }
-    .column.is-offset-2-mobile {
-      margin-left: 16.6666666667%; }
-    .column.is-3-mobile {
-      flex: none;
-      width: 25%; }
-    .column.is-offset-3-mobile {
-      margin-left: 25%; }
-    .column.is-4-mobile {
-      flex: none;
-      width: 33.3333333333%; }
-    .column.is-offset-4-mobile {
-      margin-left: 33.3333333333%; }
-    .column.is-5-mobile {
-      flex: none;
-      width: 41.6666666667%; }
-    .column.is-offset-5-mobile {
-      margin-left: 41.6666666667%; }
-    .column.is-6-mobile {
-      flex: none;
-      width: 50%; }
-    .column.is-offset-6-mobile {
-      margin-left: 50%; }
-    .column.is-7-mobile {
-      flex: none;
-      width: 58.3333333333%; }
-    .column.is-offset-7-mobile {
-      margin-left: 58.3333333333%; }
-    .column.is-8-mobile {
-      flex: none;
-      width: 66.6666666667%; }
-    .column.is-offset-8-mobile {
-      margin-left: 66.6666666667%; }
-    .column.is-9-mobile {
-      flex: none;
-      width: 75%; }
-    .column.is-offset-9-mobile {
-      margin-left: 75%; }
-    .column.is-10-mobile {
-      flex: none;
-      width: 83.3333333333%; }
-    .column.is-offset-10-mobile {
-      margin-left: 83.3333333333%; }
-    .column.is-11-mobile {
-      flex: none;
-      width: 91.6666666667%; }
-    .column.is-offset-11-mobile {
-      margin-left: 91.6666666667%; }
-    .column.is-12-mobile {
-      flex: none;
-      width: 100%; }
-    .column.is-offset-12-mobile {
-      margin-left: 100%; } }
-  @media screen and (min-width: 769px), print {
-    .column.is-narrow, .column.is-narrow-tablet {
-      flex: none; }
-    .column.is-full, .column.is-full-tablet {
-      flex: none;
-      width: 100%; }
-    .column.is-three-quarters, .column.is-three-quarters-tablet {
-      flex: none;
-      width: 75%; }
-    .column.is-two-thirds, .column.is-two-thirds-tablet {
-      flex: none;
-      width: 66.6666%; }
-    .column.is-half, .column.is-half-tablet {
-      flex: none;
-      width: 50%; }
-    .column.is-one-third, .column.is-one-third-tablet {
-      flex: none;
-      width: 33.3333%; }
-    .column.is-one-quarter, .column.is-one-quarter-tablet {
-      flex: none;
-      width: 25%; }
-    .column.is-one-fifth, .column.is-one-fifth-tablet {
-      flex: none;
-      width: 20%; }
-    .column.is-two-fifths, .column.is-two-fifths-tablet {
-      flex: none;
-      width: 40%; }
-    .column.is-three-fifths, .column.is-three-fifths-tablet {
-      flex: none;
-      width: 60%; }
-    .column.is-four-fifths, .column.is-four-fifths-tablet {
-      flex: none;
-      width: 80%; }
-    .column.is-offset-three-quarters, .column.is-offset-three-quarters-tablet {
-      margin-left: 75%; }
-    .column.is-offset-two-thirds, .column.is-offset-two-thirds-tablet {
-      margin-left: 66.6666%; }
-    .column.is-offset-half, .column.is-offset-half-tablet {
-      margin-left: 50%; }
-    .column.is-offset-one-third, .column.is-offset-one-third-tablet {
-      margin-left: 33.3333%; }
-    .column.is-offset-one-quarter, .column.is-offset-one-quarter-tablet {
-      margin-left: 25%; }
-    .column.is-offset-one-fifth, .column.is-offset-one-fifth-tablet {
-      margin-left: 20%; }
-    .column.is-offset-two-fifths, .column.is-offset-two-fifths-tablet {
-      margin-left: 40%; }
-    .column.is-offset-three-fifths, .column.is-offset-three-fifths-tablet {
-      margin-left: 60%; }
-    .column.is-offset-four-fifths, .column.is-offset-four-fifths-tablet {
-      margin-left: 80%; }
-    .column.is-0, .column.is-0-tablet {
-      flex: none;
-      width: 0%; }
-    .column.is-offset-0, .column.is-offset-0-tablet {
-      margin-left: 0%; }
-    .column.is-1, .column.is-1-tablet {
-      flex: none;
-      width: 8.3333333333%; }
-    .column.is-offset-1, .column.is-offset-1-tablet {
-      margin-left: 8.3333333333%; }
-    .column.is-2, .column.is-2-tablet {
-      flex: none;
-      width: 16.6666666667%; }
-    .column.is-offset-2, .column.is-offset-2-tablet {
-      margin-left: 16.6666666667%; }
-    .column.is-3, .column.is-3-tablet {
-      flex: none;
-      width: 25%; }
-    .column.is-offset-3, .column.is-offset-3-tablet {
-      margin-left: 25%; }
-    .column.is-4, .column.is-4-tablet {
-      flex: none;
-      width: 33.3333333333%; }
-    .column.is-offset-4, .column.is-offset-4-tablet {
-      margin-left: 33.3333333333%; }
-    .column.is-5, .column.is-5-tablet {
-      flex: none;
-      width: 41.6666666667%; }
-    .column.is-offset-5, .column.is-offset-5-tablet {
-      margin-left: 41.6666666667%; }
-    .column.is-6, .column.is-6-tablet {
-      flex: none;
-      width: 50%; }
-    .column.is-offset-6, .column.is-offset-6-tablet {
-      margin-left: 50%; }
-    .column.is-7, .column.is-7-tablet {
-      flex: none;
-      width: 58.3333333333%; }
-    .column.is-offset-7, .column.is-offset-7-tablet {
-      margin-left: 58.3333333333%; }
-    .column.is-8, .column.is-8-tablet {
-      flex: none;
-      width: 66.6666666667%; }
-    .column.is-offset-8, .column.is-offset-8-tablet {
-      margin-left: 66.6666666667%; }
-    .column.is-9, .column.is-9-tablet {
-      flex: none;
-      width: 75%; }
-    .column.is-offset-9, .column.is-offset-9-tablet {
-      margin-left: 75%; }
-    .column.is-10, .column.is-10-tablet {
-      flex: none;
-      width: 83.3333333333%; }
-    .column.is-offset-10, .column.is-offset-10-tablet {
-      margin-left: 83.3333333333%; }
-    .column.is-11, .column.is-11-tablet {
-      flex: none;
-      width: 91.6666666667%; }
-    .column.is-offset-11, .column.is-offset-11-tablet {
-      margin-left: 91.6666666667%; }
-    .column.is-12, .column.is-12-tablet {
-      flex: none;
-      width: 100%; }
-    .column.is-offset-12, .column.is-offset-12-tablet {
-      margin-left: 100%; } }
-  @media screen and (max-width: 1055px) {
-    .column.is-narrow-touch {
-      flex: none; }
-    .column.is-full-touch {
-      flex: none;
-      width: 100%; }
-    .column.is-three-quarters-touch {
-      flex: none;
-      width: 75%; }
-    .column.is-two-thirds-touch {
-      flex: none;
-      width: 66.6666%; }
-    .column.is-half-touch {
-      flex: none;
-      width: 50%; }
-    .column.is-one-third-touch {
-      flex: none;
-      width: 33.3333%; }
-    .column.is-one-quarter-touch {
-      flex: none;
-      width: 25%; }
-    .column.is-one-fifth-touch {
-      flex: none;
-      width: 20%; }
-    .column.is-two-fifths-touch {
-      flex: none;
-      width: 40%; }
-    .column.is-three-fifths-touch {
-      flex: none;
-      width: 60%; }
-    .column.is-four-fifths-touch {
-      flex: none;
-      width: 80%; }
-    .column.is-offset-three-quarters-touch {
-      margin-left: 75%; }
-    .column.is-offset-two-thirds-touch {
-      margin-left: 66.6666%; }
-    .column.is-offset-half-touch {
-      margin-left: 50%; }
-    .column.is-offset-one-third-touch {
-      margin-left: 33.3333%; }
-    .column.is-offset-one-quarter-touch {
-      margin-left: 25%; }
-    .column.is-offset-one-fifth-touch {
-      margin-left: 20%; }
-    .column.is-offset-two-fifths-touch {
-      margin-left: 40%; }
-    .column.is-offset-three-fifths-touch {
-      margin-left: 60%; }
-    .column.is-offset-four-fifths-touch {
-      margin-left: 80%; }
-    .column.is-0-touch {
-      flex: none;
-      width: 0%; }
-    .column.is-offset-0-touch {
-      margin-left: 0%; }
-    .column.is-1-touch {
-      flex: none;
-      width: 8.3333333333%; }
-    .column.is-offset-1-touch {
-      margin-left: 8.3333333333%; }
-    .column.is-2-touch {
-      flex: none;
-      width: 16.6666666667%; }
-    .column.is-offset-2-touch {
-      margin-left: 16.6666666667%; }
-    .column.is-3-touch {
-      flex: none;
-      width: 25%; }
-    .column.is-offset-3-touch {
-      margin-left: 25%; }
-    .column.is-4-touch {
-      flex: none;
-      width: 33.3333333333%; }
-    .column.is-offset-4-touch {
-      margin-left: 33.3333333333%; }
-    .column.is-5-touch {
-      flex: none;
-      width: 41.6666666667%; }
-    .column.is-offset-5-touch {
-      margin-left: 41.6666666667%; }
-    .column.is-6-touch {
-      flex: none;
-      width: 50%; }
-    .column.is-offset-6-touch {
-      margin-left: 50%; }
-    .column.is-7-touch {
-      flex: none;
-      width: 58.3333333333%; }
-    .column.is-offset-7-touch {
-      margin-left: 58.3333333333%; }
-    .column.is-8-touch {
-      flex: none;
-      width: 66.6666666667%; }
-    .column.is-offset-8-touch {
-      margin-left: 66.6666666667%; }
-    .column.is-9-touch {
-      flex: none;
-      width: 75%; }
-    .column.is-offset-9-touch {
-      margin-left: 75%; }
-    .column.is-10-touch {
-      flex: none;
-      width: 83.3333333333%; }
-    .column.is-offset-10-touch {
-      margin-left: 83.3333333333%; }
-    .column.is-11-touch {
-      flex: none;
-      width: 91.6666666667%; }
-    .column.is-offset-11-touch {
-      margin-left: 91.6666666667%; }
-    .column.is-12-touch {
-      flex: none;
-      width: 100%; }
-    .column.is-offset-12-touch {
-      margin-left: 100%; } }
-  @media screen and (min-width: 1056px) {
-    .column.is-narrow-desktop {
-      flex: none; }
-    .column.is-full-desktop {
-      flex: none;
-      width: 100%; }
-    .column.is-three-quarters-desktop {
-      flex: none;
-      width: 75%; }
-    .column.is-two-thirds-desktop {
-      flex: none;
-      width: 66.6666%; }
-    .column.is-half-desktop {
-      flex: none;
-      width: 50%; }
-    .column.is-one-third-desktop {
-      flex: none;
-      width: 33.3333%; }
-    .column.is-one-quarter-desktop {
-      flex: none;
-      width: 25%; }
-    .column.is-one-fifth-desktop {
-      flex: none;
-      width: 20%; }
-    .column.is-two-fifths-desktop {
-      flex: none;
-      width: 40%; }
-    .column.is-three-fifths-desktop {
-      flex: none;
-      width: 60%; }
-    .column.is-four-fifths-desktop {
-      flex: none;
-      width: 80%; }
-    .column.is-offset-three-quarters-desktop {
-      margin-left: 75%; }
-    .column.is-offset-two-thirds-desktop {
-      margin-left: 66.6666%; }
-    .column.is-offset-half-desktop {
-      margin-left: 50%; }
-    .column.is-offset-one-third-desktop {
-      margin-left: 33.3333%; }
-    .column.is-offset-one-quarter-desktop {
-      margin-left: 25%; }
-    .column.is-offset-one-fifth-desktop {
-      margin-left: 20%; }
-    .column.is-offset-two-fifths-desktop {
-      margin-left: 40%; }
-    .column.is-offset-three-fifths-desktop {
-      margin-left: 60%; }
-    .column.is-offset-four-fifths-desktop {
-      margin-left: 80%; }
-    .column.is-0-desktop {
-      flex: none;
-      width: 0%; }
-    .column.is-offset-0-desktop {
-      margin-left: 0%; }
-    .column.is-1-desktop {
-      flex: none;
-      width: 8.3333333333%; }
-    .column.is-offset-1-desktop {
-      margin-left: 8.3333333333%; }
-    .column.is-2-desktop {
-      flex: none;
-      width: 16.6666666667%; }
-    .column.is-offset-2-desktop {
-      margin-left: 16.6666666667%; }
-    .column.is-3-desktop {
-      flex: none;
-      width: 25%; }
-    .column.is-offset-3-desktop {
-      margin-left: 25%; }
-    .column.is-4-desktop {
-      flex: none;
-      width: 33.3333333333%; }
-    .column.is-offset-4-desktop {
-      margin-left: 33.3333333333%; }
-    .column.is-5-desktop {
-      flex: none;
-      width: 41.6666666667%; }
-    .column.is-offset-5-desktop {
-      margin-left: 41.6666666667%; }
-    .column.is-6-desktop {
-      flex: none;
-      width: 50%; }
-    .column.is-offset-6-desktop {
-      margin-left: 50%; }
-    .column.is-7-desktop {
-      flex: none;
-      width: 58.3333333333%; }
-    .column.is-offset-7-desktop {
-      margin-left: 58.3333333333%; }
-    .column.is-8-desktop {
-      flex: none;
-      width: 66.6666666667%; }
-    .column.is-offset-8-desktop {
-      margin-left: 66.6666666667%; }
-    .column.is-9-desktop {
-      flex: none;
-      width: 75%; }
-    .column.is-offset-9-desktop {
-      margin-left: 75%; }
-    .column.is-10-desktop {
-      flex: none;
-      width: 83.3333333333%; }
-    .column.is-offset-10-desktop {
-      margin-left: 83.3333333333%; }
-    .column.is-11-desktop {
-      flex: none;
-      width: 91.6666666667%; }
-    .column.is-offset-11-desktop {
-      margin-left: 91.6666666667%; }
-    .column.is-12-desktop {
-      flex: none;
-      width: 100%; }
-    .column.is-offset-12-desktop {
-      margin-left: 100%; } }
-  @media screen and (min-width: 1216px) {
-    .column.is-narrow-widescreen {
-      flex: none; }
-    .column.is-full-widescreen {
-      flex: none;
-      width: 100%; }
-    .column.is-three-quarters-widescreen {
-      flex: none;
-      width: 75%; }
-    .column.is-two-thirds-widescreen {
-      flex: none;
-      width: 66.6666%; }
-    .column.is-half-widescreen {
-      flex: none;
-      width: 50%; }
-    .column.is-one-third-widescreen {
-      flex: none;
-      width: 33.3333%; }
-    .column.is-one-quarter-widescreen {
-      flex: none;
-      width: 25%; }
-    .column.is-one-fifth-widescreen {
-      flex: none;
-      width: 20%; }
-    .column.is-two-fifths-widescreen {
-      flex: none;
-      width: 40%; }
-    .column.is-three-fifths-widescreen {
-      flex: none;
-      width: 60%; }
-    .column.is-four-fifths-widescreen {
-      flex: none;
-      width: 80%; }
-    .column.is-offset-three-quarters-widescreen {
-      margin-left: 75%; }
-    .column.is-offset-two-thirds-widescreen {
-      margin-left: 66.6666%; }
-    .column.is-offset-half-widescreen {
-      margin-left: 50%; }
-    .column.is-offset-one-third-widescreen {
-      margin-left: 33.3333%; }
-    .column.is-offset-one-quarter-widescreen {
-      margin-left: 25%; }
-    .column.is-offset-one-fifth-widescreen {
-      margin-left: 20%; }
-    .column.is-offset-two-fifths-widescreen {
-      margin-left: 40%; }
-    .column.is-offset-three-fifths-widescreen {
-      margin-left: 60%; }
-    .column.is-offset-four-fifths-widescreen {
-      margin-left: 80%; }
-    .column.is-0-widescreen {
-      flex: none;
-      width: 0%; }
-    .column.is-offset-0-widescreen {
-      margin-left: 0%; }
-    .column.is-1-widescreen {
-      flex: none;
-      width: 8.3333333333%; }
-    .column.is-offset-1-widescreen {
-      margin-left: 8.3333333333%; }
-    .column.is-2-widescreen {
-      flex: none;
-      width: 16.6666666667%; }
-    .column.is-offset-2-widescreen {
-      margin-left: 16.6666666667%; }
-    .column.is-3-widescreen {
-      flex: none;
-      width: 25%; }
-    .column.is-offset-3-widescreen {
-      margin-left: 25%; }
-    .column.is-4-widescreen {
-      flex: none;
-      width: 33.3333333333%; }
-    .column.is-offset-4-widescreen {
-      margin-left: 33.3333333333%; }
-    .column.is-5-widescreen {
-      flex: none;
-      width: 41.6666666667%; }
-    .column.is-offset-5-widescreen {
-      margin-left: 41.6666666667%; }
-    .column.is-6-widescreen {
-      flex: none;
-      width: 50%; }
-    .column.is-offset-6-widescreen {
-      margin-left: 50%; }
-    .column.is-7-widescreen {
-      flex: none;
-      width: 58.3333333333%; }
-    .column.is-offset-7-widescreen {
-      margin-left: 58.3333333333%; }
-    .column.is-8-widescreen {
-      flex: none;
-      width: 66.6666666667%; }
-    .column.is-offset-8-widescreen {
-      margin-left: 66.6666666667%; }
-    .column.is-9-widescreen {
-      flex: none;
-      width: 75%; }
-    .column.is-offset-9-widescreen {
-      margin-left: 75%; }
-    .column.is-10-widescreen {
-      flex: none;
-      width: 83.3333333333%; }
-    .column.is-offset-10-widescreen {
-      margin-left: 83.3333333333%; }
-    .column.is-11-widescreen {
-      flex: none;
-      width: 91.6666666667%; }
-    .column.is-offset-11-widescreen {
-      margin-left: 91.6666666667%; }
-    .column.is-12-widescreen {
-      flex: none;
-      width: 100%; }
-    .column.is-offset-12-widescreen {
-      margin-left: 100%; } }
-  @media screen and (min-width: 1408px) {
-    .column.is-narrow-fullhd {
-      flex: none; }
-    .column.is-full-fullhd {
-      flex: none;
-      width: 100%; }
-    .column.is-three-quarters-fullhd {
-      flex: none;
-      width: 75%; }
-    .column.is-two-thirds-fullhd {
-      flex: none;
-      width: 66.6666%; }
-    .column.is-half-fullhd {
-      flex: none;
-      width: 50%; }
-    .column.is-one-third-fullhd {
-      flex: none;
-      width: 33.3333%; }
-    .column.is-one-quarter-fullhd {
-      flex: none;
-      width: 25%; }
-    .column.is-one-fifth-fullhd {
-      flex: none;
-      width: 20%; }
-    .column.is-two-fifths-fullhd {
-      flex: none;
-      width: 40%; }
-    .column.is-three-fifths-fullhd {
-      flex: none;
-      width: 60%; }
-    .column.is-four-fifths-fullhd {
-      flex: none;
-      width: 80%; }
-    .column.is-offset-three-quarters-fullhd {
-      margin-left: 75%; }
-    .column.is-offset-two-thirds-fullhd {
-      margin-left: 66.6666%; }
-    .column.is-offset-half-fullhd {
-      margin-left: 50%; }
-    .column.is-offset-one-third-fullhd {
-      margin-left: 33.3333%; }
-    .column.is-offset-one-quarter-fullhd {
-      margin-left: 25%; }
-    .column.is-offset-one-fifth-fullhd {
-      margin-left: 20%; }
-    .column.is-offset-two-fifths-fullhd {
-      margin-left: 40%; }
-    .column.is-offset-three-fifths-fullhd {
-      margin-left: 60%; }
-    .column.is-offset-four-fifths-fullhd {
-      margin-left: 80%; }
-    .column.is-0-fullhd {
-      flex: none;
-      width: 0%; }
-    .column.is-offset-0-fullhd {
-      margin-left: 0%; }
-    .column.is-1-fullhd {
-      flex: none;
-      width: 8.3333333333%; }
-    .column.is-offset-1-fullhd {
-      margin-left: 8.3333333333%; }
-    .column.is-2-fullhd {
-      flex: none;
-      width: 16.6666666667%; }
-    .column.is-offset-2-fullhd {
-      margin-left: 16.6666666667%; }
-    .column.is-3-fullhd {
-      flex: none;
-      width: 25%; }
-    .column.is-offset-3-fullhd {
-      margin-left: 25%; }
-    .column.is-4-fullhd {
-      flex: none;
-      width: 33.3333333333%; }
-    .column.is-offset-4-fullhd {
-      margin-left: 33.3333333333%; }
-    .column.is-5-fullhd {
-      flex: none;
-      width: 41.6666666667%; }
-    .column.is-offset-5-fullhd {
-      margin-left: 41.6666666667%; }
-    .column.is-6-fullhd {
-      flex: none;
-      width: 50%; }
-    .column.is-offset-6-fullhd {
-      margin-left: 50%; }
-    .column.is-7-fullhd {
-      flex: none;
-      width: 58.3333333333%; }
-    .column.is-offset-7-fullhd {
-      margin-left: 58.3333333333%; }
-    .column.is-8-fullhd {
-      flex: none;
-      width: 66.6666666667%; }
-    .column.is-offset-8-fullhd {
-      margin-left: 66.6666666667%; }
-    .column.is-9-fullhd {
-      flex: none;
-      width: 75%; }
-    .column.is-offset-9-fullhd {
-      margin-left: 75%; }
-    .column.is-10-fullhd {
-      flex: none;
-      width: 83.3333333333%; }
-    .column.is-offset-10-fullhd {
-      margin-left: 83.3333333333%; }
-    .column.is-11-fullhd {
-      flex: none;
-      width: 91.6666666667%; }
-    .column.is-offset-11-fullhd {
-      margin-left: 91.6666666667%; }
-    .column.is-12-fullhd {
-      flex: none;
-      width: 100%; }
-    .column.is-offset-12-fullhd {
-      margin-left: 100%; } }
-.columns {
-  margin-left: -0.75rem;
-  margin-right: -0.75rem;
-  margin-top: -0.75rem; }
-  .columns:last-child {
-    margin-bottom: -0.75rem; }
-  .columns:not(:last-child) {
-    margin-bottom: calc(1.5rem - 0.75rem); }
-  .columns.is-centered {
-    justify-content: center; }
-  .columns.is-gapless {
-    margin-left: 0;
-    margin-right: 0;
-    margin-top: 0; }
-    .columns.is-gapless > .column {
-      margin: 0;
-      padding: 0 !important; }
-    .columns.is-gapless:not(:last-child) {
-      margin-bottom: 1.5rem; }
-    .columns.is-gapless:last-child {
-      margin-bottom: 0; }
-  .columns.is-mobile {
-    display: flex; }
-  .columns.is-multiline {
-    flex-wrap: wrap; }
-  .columns.is-vcentered {
-    align-items: center; }
-  @media screen and (min-width: 769px), print {
-    .columns:not(.is-desktop) {
-      display: flex; } }
-  @media screen and (min-width: 1056px) {
-    .columns.is-desktop {
-      display: flex; } }
-.columns.is-variable {
-  --columnGap: 0.75rem;
-  margin-left: calc(-1 * var(--columnGap));
-  margin-right: calc(-1 * var(--columnGap)); }
-  .columns.is-variable .column {
-    padding-left: var(--columnGap);
-    padding-right: var(--columnGap); }
-  .columns.is-variable.is-0 {
-    --columnGap: 0rem; }
-  @media screen and (max-width: 768px) {
-    .columns.is-variable.is-0-mobile {
-      --columnGap: 0rem; } }
-  @media screen and (min-width: 769px), print {
-    .columns.is-variable.is-0-tablet {
-      --columnGap: 0rem; } }
-  @media screen and (min-width: 769px) and (max-width: 1055px) {
-    .columns.is-variable.is-0-tablet-only {
-      --columnGap: 0rem; } }
-  @media screen and (max-width: 1055px) {
-    .columns.is-variable.is-0-touch {
-      --columnGap: 0rem; } }
-  @media screen and (min-width: 1056px) {
-    .columns.is-variable.is-0-desktop {
-      --columnGap: 0rem; } }
-  @media screen and (min-width: 1056px) and (max-width: 1215px) {
-    .columns.is-variable.is-0-desktop-only {
-      --columnGap: 0rem; } }
-  @media screen and (min-width: 1216px) {
-    .columns.is-variable.is-0-widescreen {
-      --columnGap: 0rem; } }
-  @media screen and (min-width: 1216px) and (max-width: 1407px) {
-    .columns.is-variable.is-0-widescreen-only {
-      --columnGap: 0rem; } }
-  @media screen and (min-width: 1408px) {
-    .columns.is-variable.is-0-fullhd {
-      --columnGap: 0rem; } }
-  .columns.is-variable.is-1 {
-    --columnGap: 0.25rem; }
-  @media screen and (max-width: 768px) {
-    .columns.is-variable.is-1-mobile {
-      --columnGap: 0.25rem; } }
-  @media screen and (min-width: 769px), print {
-    .columns.is-variable.is-1-tablet {
-      --columnGap: 0.25rem; } }
-  @media screen and (min-width: 769px) and (max-width: 1055px) {
-    .columns.is-variable.is-1-tablet-only {
-      --columnGap: 0.25rem; } }
-  @media screen and (max-width: 1055px) {
-    .columns.is-variable.is-1-touch {
-      --columnGap: 0.25rem; } }
-  @media screen and (min-width: 1056px) {
-    .columns.is-variable.is-1-desktop {
-      --columnGap: 0.25rem; } }
-  @media screen and (min-width: 1056px) and (max-width: 1215px) {
-    .columns.is-variable.is-1-desktop-only {
-      --columnGap: 0.25rem; } }
-  @media screen and (min-width: 1216px) {
-    .columns.is-variable.is-1-widescreen {
-      --columnGap: 0.25rem; } }
-  @media screen and (min-width: 1216px) and (max-width: 1407px) {
-    .columns.is-variable.is-1-widescreen-only {
-      --columnGap: 0.25rem; } }
-  @media screen and (min-width: 1408px) {
-    .columns.is-variable.is-1-fullhd {
-      --columnGap: 0.25rem; } }
-  .columns.is-variable.is-2 {
-    --columnGap: 0.5rem; }
-  @media screen and (max-width: 768px) {
-    .columns.is-variable.is-2-mobile {
-      --columnGap: 0.5rem; } }
-  @media screen and (min-width: 769px), print {
-    .columns.is-variable.is-2-tablet {
-      --columnGap: 0.5rem; } }
-  @media screen and (min-width: 769px) and (max-width: 1055px) {
-    .columns.is-variable.is-2-tablet-only {
-      --columnGap: 0.5rem; } }
-  @media screen and (max-width: 1055px) {
-    .columns.is-variable.is-2-touch {
-      --columnGap: 0.5rem; } }
-  @media screen and (min-width: 1056px) {
-    .columns.is-variable.is-2-desktop {
-      --columnGap: 0.5rem; } }
-  @media screen and (min-width: 1056px) and (max-width: 1215px) {
-    .columns.is-variable.is-2-desktop-only {
-      --columnGap: 0.5rem; } }
-  @media screen and (min-width: 1216px) {
-    .columns.is-variable.is-2-widescreen {
-      --columnGap: 0.5rem; } }
-  @media screen and (min-width: 1216px) and (max-width: 1407px) {
-    .columns.is-variable.is-2-widescreen-only {
-      --columnGap: 0.5rem; } }
-  @media screen and (min-width: 1408px) {
-    .columns.is-variable.is-2-fullhd {
-      --columnGap: 0.5rem; } }
-  .columns.is-variable.is-3 {
-    --columnGap: 0.75rem; }
-  @media screen and (max-width: 768px) {
-    .columns.is-variable.is-3-mobile {
-      --columnGap: 0.75rem; } }
-  @media screen and (min-width: 769px), print {
-    .columns.is-variable.is-3-tablet {
-      --columnGap: 0.75rem; } }
-  @media screen and (min-width: 769px) and (max-width: 1055px) {
-    .columns.is-variable.is-3-tablet-only {
-      --columnGap: 0.75rem; } }
-  @media screen and (max-width: 1055px) {
-    .columns.is-variable.is-3-touch {
-      --columnGap: 0.75rem; } }
-  @media screen and (min-width: 1056px) {
-    .columns.is-variable.is-3-desktop {
-      --columnGap: 0.75rem; } }
-  @media screen and (min-width: 1056px) and (max-width: 1215px) {
-    .columns.is-variable.is-3-desktop-only {
-      --columnGap: 0.75rem; } }
-  @media screen and (min-width: 1216px) {
-    .columns.is-variable.is-3-widescreen {
-      --columnGap: 0.75rem; } }
-  @media screen and (min-width: 1216px) and (max-width: 1407px) {
-    .columns.is-variable.is-3-widescreen-only {
-      --columnGap: 0.75rem; } }
-  @media screen and (min-width: 1408px) {
-    .columns.is-variable.is-3-fullhd {
-      --columnGap: 0.75rem; } }
-  .columns.is-variable.is-4 {
-    --columnGap: 1rem; }
-  @media screen and (max-width: 768px) {
-    .columns.is-variable.is-4-mobile {
-      --columnGap: 1rem; } }
-  @media screen and (min-width: 769px), print {
-    .columns.is-variable.is-4-tablet {
-      --columnGap: 1rem; } }
-  @media screen and (min-width: 769px) and (max-width: 1055px) {
-    .columns.is-variable.is-4-tablet-only {
-      --columnGap: 1rem; } }
-  @media screen and (max-width: 1055px) {
-    .columns.is-variable.is-4-touch {
-      --columnGap: 1rem; } }
-  @media screen and (min-width: 1056px) {
-    .columns.is-variable.is-4-desktop {
-      --columnGap: 1rem; } }
-  @media screen and (min-width: 1056px) and (max-width: 1215px) {
-    .columns.is-variable.is-4-desktop-only {
-      --columnGap: 1rem; } }
-  @media screen and (min-width: 1216px) {
-    .columns.is-variable.is-4-widescreen {
-      --columnGap: 1rem; } }
-  @media screen and (min-width: 1216px) and (max-width: 1407px) {
-    .columns.is-variable.is-4-widescreen-only {
-      --columnGap: 1rem; } }
-  @media screen and (min-width: 1408px) {
-    .columns.is-variable.is-4-fullhd {
-      --columnGap: 1rem; } }
-  .columns.is-variable.is-5 {
-    --columnGap: 1.25rem; }
-  @media screen and (max-width: 768px) {
-    .columns.is-variable.is-5-mobile {
-      --columnGap: 1.25rem; } }
-  @media screen and (min-width: 769px), print {
-    .columns.is-variable.is-5-tablet {
-      --columnGap: 1.25rem; } }
-  @media screen and (min-width: 769px) and (max-width: 1055px) {
-    .columns.is-variable.is-5-tablet-only {
-      --columnGap: 1.25rem; } }
-  @media screen and (max-width: 1055px) {
-    .columns.is-variable.is-5-touch {
-      --columnGap: 1.25rem; } }
-  @media screen and (min-width: 1056px) {
-    .columns.is-variable.is-5-desktop {
-      --columnGap: 1.25rem; } }
-  @media screen and (min-width: 1056px) and (max-width: 1215px) {
-    .columns.is-variable.is-5-desktop-only {
-      --columnGap: 1.25rem; } }
-  @media screen and (min-width: 1216px) {
-    .columns.is-variable.is-5-widescreen {
-      --columnGap: 1.25rem; } }
-  @media screen and (min-width: 1216px) and (max-width: 1407px) {
-    .columns.is-variable.is-5-widescreen-only {
-      --columnGap: 1.25rem; } }
-  @media screen and (min-width: 1408px) {
-    .columns.is-variable.is-5-fullhd {
-      --columnGap: 1.25rem; } }
-  .columns.is-variable.is-6 {
-    --columnGap: 1.5rem; }
-  @media screen and (max-width: 768px) {
-    .columns.is-variable.is-6-mobile {
-      --columnGap: 1.5rem; } }
-  @media screen and (min-width: 769px), print {
-    .columns.is-variable.is-6-tablet {
-      --columnGap: 1.5rem; } }
-  @media screen and (min-width: 769px) and (max-width: 1055px) {
-    .columns.is-variable.is-6-tablet-only {
-      --columnGap: 1.5rem; } }
-  @media screen and (max-width: 1055px) {
-    .columns.is-variable.is-6-touch {
-      --columnGap: 1.5rem; } }
-  @media screen and (min-width: 1056px) {
-    .columns.is-variable.is-6-desktop {
-      --columnGap: 1.5rem; } }
-  @media screen and (min-width: 1056px) and (max-width: 1215px) {
-    .columns.is-variable.is-6-desktop-only {
-      --columnGap: 1.5rem; } }
-  @media screen and (min-width: 1216px) {
-    .columns.is-variable.is-6-widescreen {
-      --columnGap: 1.5rem; } }
-  @media screen and (min-width: 1216px) and (max-width: 1407px) {
-    .columns.is-variable.is-6-widescreen-only {
-      --columnGap: 1.5rem; } }
-  @media screen and (min-width: 1408px) {
-    .columns.is-variable.is-6-fullhd {
-      --columnGap: 1.5rem; } }
-  .columns.is-variable.is-7 {
-    --columnGap: 1.75rem; }
-  @media screen and (max-width: 768px) {
-    .columns.is-variable.is-7-mobile {
-      --columnGap: 1.75rem; } }
-  @media screen and (min-width: 769px), print {
-    .columns.is-variable.is-7-tablet {
-      --columnGap: 1.75rem; } }
-  @media screen and (min-width: 769px) and (max-width: 1055px) {
-    .columns.is-variable.is-7-tablet-only {
-      --columnGap: 1.75rem; } }
-  @media screen and (max-width: 1055px) {
-    .columns.is-variable.is-7-touch {
-      --columnGap: 1.75rem; } }
-  @media screen and (min-width: 1056px) {
-    .columns.is-variable.is-7-desktop {
-      --columnGap: 1.75rem; } }
-  @media screen and (min-width: 1056px) and (max-width: 1215px) {
-    .columns.is-variable.is-7-desktop-only {
-      --columnGap: 1.75rem; } }
-  @media screen and (min-width: 1216px) {
-    .columns.is-variable.is-7-widescreen {
-      --columnGap: 1.75rem; } }
-  @media screen and (min-width: 1216px) and (max-width: 1407px) {
-    .columns.is-variable.is-7-widescreen-only {
-      --columnGap: 1.75rem; } }
-  @media screen and (min-width: 1408px) {
-    .columns.is-variable.is-7-fullhd {
-      --columnGap: 1.75rem; } }
-  .columns.is-variable.is-8 {
-    --columnGap: 2rem; }
-  @media screen and (max-width: 768px) {
-    .columns.is-variable.is-8-mobile {
-      --columnGap: 2rem; } }
-  @media screen and (min-width: 769px), print {
-    .columns.is-variable.is-8-tablet {
-      --columnGap: 2rem; } }
-  @media screen and (min-width: 769px) and (max-width: 1055px) {
-    .columns.is-variable.is-8-tablet-only {
-      --columnGap: 2rem; } }
-  @media screen and (max-width: 1055px) {
-    .columns.is-variable.is-8-touch {
-      --columnGap: 2rem; } }
-  @media screen and (min-width: 1056px) {
-    .columns.is-variable.is-8-desktop {
-      --columnGap: 2rem; } }
-  @media screen and (min-width: 1056px) and (max-width: 1215px) {
-    .columns.is-variable.is-8-desktop-only {
-      --columnGap: 2rem; } }
-  @media screen and (min-width: 1216px) {
-    .columns.is-variable.is-8-widescreen {
-      --columnGap: 2rem; } }
-  @media screen and (min-width: 1216px) and (max-width: 1407px) {
-    .columns.is-variable.is-8-widescreen-only {
-      --columnGap: 2rem; } }
-  @media screen and (min-width: 1408px) {
-    .columns.is-variable.is-8-fullhd {
-      --columnGap: 2rem; } }
-.tile {
-  align-items: stretch;
-  display: block;
-  flex-basis: 0;
-  flex-grow: 1;
-  flex-shrink: 1;
-  min-height: min-content; }
-  .tile.is-ancestor {
-    margin-left: -0.75rem;
-    margin-right: -0.75rem;
-    margin-top: -0.75rem; }
-    .tile.is-ancestor:last-child {
-      margin-bottom: -0.75rem; }
-    .tile.is-ancestor:not(:last-child) {
-      margin-bottom: 0.75rem; }
-  .tile.is-child {
-    margin: 0 !important; }
-  .tile.is-parent {
-    padding: 0.75rem; }
-  .tile.is-vertical {
-    flex-direction: column; }
-    .tile.is-vertical > .tile.is-child:not(:last-child) {
-      margin-bottom: 1.5rem !important; }
-  @media screen and (min-width: 769px), print {
-    .tile:not(.is-child) {
-      display: flex; }
-    .tile.is-1 {
-      flex: none;
-      width: 8.3333333333%; }
-    .tile.is-2 {
-      flex: none;
-      width: 16.6666666667%; }
-    .tile.is-3 {
-      flex: none;
-      width: 25%; }
-    .tile.is-4 {
-      flex: none;
-      width: 33.3333333333%; }
-    .tile.is-5 {
-      flex: none;
-      width: 41.6666666667%; }
-    .tile.is-6 {
-      flex: none;
-      width: 50%; }
-    .tile.is-7 {
-      flex: none;
-      width: 58.3333333333%; }
-    .tile.is-8 {
-      flex: none;
-      width: 66.6666666667%; }
-    .tile.is-9 {
-      flex: none;
-      width: 75%; }
-    .tile.is-10 {
-      flex: none;
-      width: 83.3333333333%; }
-    .tile.is-11 {
-      flex: none;
-      width: 91.6666666667%; }
-    .tile.is-12 {
-      flex: none;
-      width: 100%; } }
-.hero {
-  align-items: stretch;
-  display: flex;
-  flex-direction: column;
-  justify-content: space-between; }
-  .hero .navbar {
-    background: none; }
-  .hero .tabs ul {
-    border-bottom: none; }
-  .hero.is-white {
-    background-color: white;
-    color: #0a0a0a; }
-    .hero.is-white a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-    .hero.is-white strong {
-      color: inherit; }
-    .hero.is-white .title {
-      color: #0a0a0a; }
-    .hero.is-white .subtitle {
-      color: rgba(10, 10, 10, 0.9); }
-      .hero.is-white .subtitle a:not(.button),
-      .hero.is-white .subtitle strong {
-        color: #0a0a0a; }
-    @media screen and (max-width: 1055px) {
-      .hero.is-white .navbar-menu {
-        background-color: white; } }
-    .hero.is-white .navbar-item,
-    .hero.is-white .navbar-link {
-      color: rgba(10, 10, 10, 0.7); }
-    .hero.is-white a.navbar-item:hover, .hero.is-white a.navbar-item.is-active,
-    .hero.is-white .navbar-link:hover,
-    .hero.is-white .navbar-link.is-active {
-      background-color: #f2f2f2;
-      color: #0a0a0a; }
-    .hero.is-white .tabs a {
-      color: #0a0a0a;
-      opacity: 0.9; }
-      .hero.is-white .tabs a:hover {
-        opacity: 1; }
-    .hero.is-white .tabs li.is-active a {
-      opacity: 1; }
-    .hero.is-white .tabs.is-boxed a, .hero.is-white .tabs.is-toggle a {
-      color: #0a0a0a; }
-      .hero.is-white .tabs.is-boxed a:hover, .hero.is-white .tabs.is-toggle a:hover {
-        background-color: rgba(10, 10, 10, 0.1); }
-    .hero.is-white .tabs.is-boxed li.is-active a, .hero.is-white .tabs.is-boxed li.is-active a:hover, .hero.is-white .tabs.is-toggle li.is-active a, .hero.is-white .tabs.is-toggle li.is-active a:hover {
-      background-color: #0a0a0a;
-      border-color: #0a0a0a;
-      color: white; }
-    .hero.is-white.is-bold {
-      background-image: linear-gradient(141deg, #e8e3e4 0%, white 71%, white 100%); }
-      @media screen and (max-width: 768px) {
-        .hero.is-white.is-bold .navbar-menu {
-          background-image: linear-gradient(141deg, #e8e3e4 0%, white 71%, white 100%); } }
-  .hero.is-black {
-    background-color: #0a0a0a;
-    color: white; }
-    .hero.is-black a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-    .hero.is-black strong {
-      color: inherit; }
-    .hero.is-black .title {
-      color: white; }
-    .hero.is-black .subtitle {
-      color: rgba(255, 255, 255, 0.9); }
-      .hero.is-black .subtitle a:not(.button),
-      .hero.is-black .subtitle strong {
-        color: white; }
-    @media screen and (max-width: 1055px) {
-      .hero.is-black .navbar-menu {
-        background-color: #0a0a0a; } }
-    .hero.is-black .navbar-item,
-    .hero.is-black .navbar-link {
-      color: rgba(255, 255, 255, 0.7); }
-    .hero.is-black a.navbar-item:hover, .hero.is-black a.navbar-item.is-active,
-    .hero.is-black .navbar-link:hover,
-    .hero.is-black .navbar-link.is-active {
-      background-color: black;
-      color: white; }
-    .hero.is-black .tabs a {
-      color: white;
-      opacity: 0.9; }
-      .hero.is-black .tabs a:hover {
-        opacity: 1; }
-    .hero.is-black .tabs li.is-active a {
-      opacity: 1; }
-    .hero.is-black .tabs.is-boxed a, .hero.is-black .tabs.is-toggle a {
-      color: white; }
-      .hero.is-black .tabs.is-boxed a:hover, .hero.is-black .tabs.is-toggle a:hover {
-        background-color: rgba(10, 10, 10, 0.1); }
-    .hero.is-black .tabs.is-boxed li.is-active a, .hero.is-black .tabs.is-boxed li.is-active a:hover, .hero.is-black .tabs.is-toggle li.is-active a, .hero.is-black .tabs.is-toggle li.is-active a:hover {
-      background-color: white;
-      border-color: white;
-      color: #0a0a0a; }
-    .hero.is-black.is-bold {
-      background-image: linear-gradient(141deg, black 0%, #0a0a0a 71%, #181616 100%); }
-      @media screen and (max-width: 768px) {
-        .hero.is-black.is-bold .navbar-menu {
-          background-image: linear-gradient(141deg, black 0%, #0a0a0a 71%, #181616 100%); } }
-  .hero.is-light {
-    background-color: whitesmoke;
-    color: #363636; }
-    .hero.is-light a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-    .hero.is-light strong {
-      color: inherit; }
-    .hero.is-light .title {
-      color: #363636; }
-    .hero.is-light .subtitle {
-      color: rgba(54, 54, 54, 0.9); }
-      .hero.is-light .subtitle a:not(.button),
-      .hero.is-light .subtitle strong {
-        color: #363636; }
-    @media screen and (max-width: 1055px) {
-      .hero.is-light .navbar-menu {
-        background-color: whitesmoke; } }
-    .hero.is-light .navbar-item,
-    .hero.is-light .navbar-link {
-      color: rgba(54, 54, 54, 0.7); }
-    .hero.is-light a.navbar-item:hover, .hero.is-light a.navbar-item.is-active,
-    .hero.is-light .navbar-link:hover,
-    .hero.is-light .navbar-link.is-active {
-      background-color: #e8e8e8;
-      color: #363636; }
-    .hero.is-light .tabs a {
-      color: #363636;
-      opacity: 0.9; }
-      .hero.is-light .tabs a:hover {
-        opacity: 1; }
-    .hero.is-light .tabs li.is-active a {
-      opacity: 1; }
-    .hero.is-light .tabs.is-boxed a, .hero.is-light .tabs.is-toggle a {
-      color: #363636; }
-      .hero.is-light .tabs.is-boxed a:hover, .hero.is-light .tabs.is-toggle a:hover {
-        background-color: rgba(10, 10, 10, 0.1); }
-    .hero.is-light .tabs.is-boxed li.is-active a, .hero.is-light .tabs.is-boxed li.is-active a:hover, .hero.is-light .tabs.is-toggle li.is-active a, .hero.is-light .tabs.is-toggle li.is-active a:hover {
-      background-color: #363636;
-      border-color: #363636;
-      color: whitesmoke; }
-    .hero.is-light.is-bold {
-      background-image: linear-gradient(141deg, #dfd8d9 0%, whitesmoke 71%, white 100%); }
-      @media screen and (max-width: 768px) {
-        .hero.is-light.is-bold .navbar-menu {
-          background-image: linear-gradient(141deg, #dfd8d9 0%, whitesmoke 71%, white 100%); } }
-  .hero.is-dark, .content kbd.hero {
-    background-color: #363636;
-    color: whitesmoke; }
-    .hero.is-dark a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), .content kbd.hero a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-    .hero.is-dark strong,
-    .content kbd.hero strong {
-      color: inherit; }
-    .hero.is-dark .title, .content kbd.hero .title {
-      color: whitesmoke; }
-    .hero.is-dark .subtitle, .content kbd.hero .subtitle {
-      color: rgba(245, 245, 245, 0.9); }
-      .hero.is-dark .subtitle a:not(.button), .content kbd.hero .subtitle a:not(.button),
-      .hero.is-dark .subtitle strong,
-      .content kbd.hero .subtitle strong {
-        color: whitesmoke; }
-    @media screen and (max-width: 1055px) {
-      .hero.is-dark .navbar-menu, .content kbd.hero .navbar-menu {
-        background-color: #363636; } }
-    .hero.is-dark .navbar-item, .content kbd.hero .navbar-item,
-    .hero.is-dark .navbar-link,
-    .content kbd.hero .navbar-link {
-      color: rgba(245, 245, 245, 0.7); }
-    .hero.is-dark a.navbar-item:hover, .content kbd.hero a.navbar-item:hover, .hero.is-dark a.navbar-item.is-active, .content kbd.hero a.navbar-item.is-active,
-    .hero.is-dark .navbar-link:hover,
-    .content kbd.hero .navbar-link:hover,
-    .hero.is-dark .navbar-link.is-active,
-    .content kbd.hero .navbar-link.is-active {
-      background-color: #292929;
-      color: whitesmoke; }
-    .hero.is-dark .tabs a, .content kbd.hero .tabs a {
-      color: whitesmoke;
-      opacity: 0.9; }
-      .hero.is-dark .tabs a:hover, .content kbd.hero .tabs a:hover {
-        opacity: 1; }
-    .hero.is-dark .tabs li.is-active a, .content kbd.hero .tabs li.is-active a {
-      opacity: 1; }
-    .hero.is-dark .tabs.is-boxed a, .content kbd.hero .tabs.is-boxed a, .hero.is-dark .tabs.is-toggle a, .content kbd.hero .tabs.is-toggle a {
-      color: whitesmoke; }
-      .hero.is-dark .tabs.is-boxed a:hover, .content kbd.hero .tabs.is-boxed a:hover, .hero.is-dark .tabs.is-toggle a:hover, .content kbd.hero .tabs.is-toggle a:hover {
-        background-color: rgba(10, 10, 10, 0.1); }
-    .hero.is-dark .tabs.is-boxed li.is-active a, .content kbd.hero .tabs.is-boxed li.is-active a, .hero.is-dark .tabs.is-boxed li.is-active a:hover, .hero.is-dark .tabs.is-toggle li.is-active a, .content kbd.hero .tabs.is-toggle li.is-active a, .hero.is-dark .tabs.is-toggle li.is-active a:hover {
-      background-color: whitesmoke;
-      border-color: whitesmoke;
-      color: #363636; }
-    .hero.is-dark.is-bold, .content kbd.hero.is-bold {
-      background-image: linear-gradient(141deg, #1f191a 0%, #363636 71%, #46403f 100%); }
-      @media screen and (max-width: 768px) {
-        .hero.is-dark.is-bold .navbar-menu, .content kbd.hero.is-bold .navbar-menu {
-          background-image: linear-gradient(141deg, #1f191a 0%, #363636 71%, #46403f 100%); } }
-  .hero.is-primary, .docstring > section > a.hero.docs-sourcelink {
-    background-color: #4eb5de;
-    color: #fff; }
-    .hero.is-primary a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), .docstring > section > a.hero.docs-sourcelink a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-    .hero.is-primary strong,
-    .docstring > section > a.hero.docs-sourcelink strong {
-      color: inherit; }
-    .hero.is-primary .title, .docstring > section > a.hero.docs-sourcelink .title {
-      color: #fff; }
-    .hero.is-primary .subtitle, .docstring > section > a.hero.docs-sourcelink .subtitle {
-      color: rgba(255, 255, 255, 0.9); }
-      .hero.is-primary .subtitle a:not(.button), .docstring > section > a.hero.docs-sourcelink .subtitle a:not(.button),
-      .hero.is-primary .subtitle strong,
-      .docstring > section > a.hero.docs-sourcelink .subtitle strong {
-        color: #fff; }
-    @media screen and (max-width: 1055px) {
-      .hero.is-primary .navbar-menu, .docstring > section > a.hero.docs-sourcelink .navbar-menu {
-        background-color: #4eb5de; } }
-    .hero.is-primary .navbar-item, .docstring > section > a.hero.docs-sourcelink .navbar-item,
-    .hero.is-primary .navbar-link,
-    .docstring > section > a.hero.docs-sourcelink .navbar-link {
-      color: rgba(255, 255, 255, 0.7); }
-    .hero.is-primary a.navbar-item:hover, .docstring > section > a.hero.docs-sourcelink a.navbar-item:hover, .hero.is-primary a.navbar-item.is-active, .docstring > section > a.hero.docs-sourcelink a.navbar-item.is-active,
-    .hero.is-primary .navbar-link:hover,
-    .docstring > section > a.hero.docs-sourcelink .navbar-link:hover,
-    .hero.is-primary .navbar-link.is-active,
-    .docstring > section > a.hero.docs-sourcelink .navbar-link.is-active {
-      background-color: #39acda;
-      color: #fff; }
-    .hero.is-primary .tabs a, .docstring > section > a.hero.docs-sourcelink .tabs a {
-      color: #fff;
-      opacity: 0.9; }
-      .hero.is-primary .tabs a:hover, .docstring > section > a.hero.docs-sourcelink .tabs a:hover {
-        opacity: 1; }
-    .hero.is-primary .tabs li.is-active a, .docstring > section > a.hero.docs-sourcelink .tabs li.is-active a {
-      opacity: 1; }
-    .hero.is-primary .tabs.is-boxed a, .docstring > section > a.hero.docs-sourcelink .tabs.is-boxed a, .hero.is-primary .tabs.is-toggle a, .docstring > section > a.hero.docs-sourcelink .tabs.is-toggle a {
-      color: #fff; }
-      .hero.is-primary .tabs.is-boxed a:hover, .docstring > section > a.hero.docs-sourcelink .tabs.is-boxed a:hover, .hero.is-primary .tabs.is-toggle a:hover, .docstring > section > a.hero.docs-sourcelink .tabs.is-toggle a:hover {
-        background-color: rgba(10, 10, 10, 0.1); }
-    .hero.is-primary .tabs.is-boxed li.is-active a, .docstring > section > a.hero.docs-sourcelink .tabs.is-boxed li.is-active a, .hero.is-primary .tabs.is-boxed li.is-active a:hover, .hero.is-primary .tabs.is-toggle li.is-active a, .docstring > section > a.hero.docs-sourcelink .tabs.is-toggle li.is-active a, .hero.is-primary .tabs.is-toggle li.is-active a:hover {
-      background-color: #fff;
-      border-color: #fff;
-      color: #4eb5de; }
-    .hero.is-primary.is-bold, .docstring > section > a.hero.is-bold.docs-sourcelink {
-      background-image: linear-gradient(141deg, #1bc7de 0%, #4eb5de 71%, #5fa9e7 100%); }
-      @media screen and (max-width: 768px) {
-        .hero.is-primary.is-bold .navbar-menu, .docstring > section > a.hero.is-bold.docs-sourcelink .navbar-menu {
-          background-image: linear-gradient(141deg, #1bc7de 0%, #4eb5de 71%, #5fa9e7 100%); } }
-  .hero.is-link {
-    background-color: #2e63b8;
-    color: #fff; }
-    .hero.is-link a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-    .hero.is-link strong {
-      color: inherit; }
-    .hero.is-link .title {
-      color: #fff; }
-    .hero.is-link .subtitle {
-      color: rgba(255, 255, 255, 0.9); }
-      .hero.is-link .subtitle a:not(.button),
-      .hero.is-link .subtitle strong {
-        color: #fff; }
-    @media screen and (max-width: 1055px) {
-      .hero.is-link .navbar-menu {
-        background-color: #2e63b8; } }
-    .hero.is-link .navbar-item,
-    .hero.is-link .navbar-link {
-      color: rgba(255, 255, 255, 0.7); }
-    .hero.is-link a.navbar-item:hover, .hero.is-link a.navbar-item.is-active,
-    .hero.is-link .navbar-link:hover,
-    .hero.is-link .navbar-link.is-active {
-      background-color: #2958a4;
-      color: #fff; }
-    .hero.is-link .tabs a {
-      color: #fff;
-      opacity: 0.9; }
-      .hero.is-link .tabs a:hover {
-        opacity: 1; }
-    .hero.is-link .tabs li.is-active a {
-      opacity: 1; }
-    .hero.is-link .tabs.is-boxed a, .hero.is-link .tabs.is-toggle a {
-      color: #fff; }
-      .hero.is-link .tabs.is-boxed a:hover, .hero.is-link .tabs.is-toggle a:hover {
-        background-color: rgba(10, 10, 10, 0.1); }
-    .hero.is-link .tabs.is-boxed li.is-active a, .hero.is-link .tabs.is-boxed li.is-active a:hover, .hero.is-link .tabs.is-toggle li.is-active a, .hero.is-link .tabs.is-toggle li.is-active a:hover {
-      background-color: #fff;
-      border-color: #fff;
-      color: #2e63b8; }
-    .hero.is-link.is-bold {
-      background-image: linear-gradient(141deg, #1b6098 0%, #2e63b8 71%, #2d51d2 100%); }
-      @media screen and (max-width: 768px) {
-        .hero.is-link.is-bold .navbar-menu {
-          background-image: linear-gradient(141deg, #1b6098 0%, #2e63b8 71%, #2d51d2 100%); } }
-  .hero.is-info {
-    background-color: #209cee;
-    color: #fff; }
-    .hero.is-info a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-    .hero.is-info strong {
-      color: inherit; }
-    .hero.is-info .title {
-      color: #fff; }
-    .hero.is-info .subtitle {
-      color: rgba(255, 255, 255, 0.9); }
-      .hero.is-info .subtitle a:not(.button),
-      .hero.is-info .subtitle strong {
-        color: #fff; }
-    @media screen and (max-width: 1055px) {
-      .hero.is-info .navbar-menu {
-        background-color: #209cee; } }
-    .hero.is-info .navbar-item,
-    .hero.is-info .navbar-link {
-      color: rgba(255, 255, 255, 0.7); }
-    .hero.is-info a.navbar-item:hover, .hero.is-info a.navbar-item.is-active,
-    .hero.is-info .navbar-link:hover,
-    .hero.is-info .navbar-link.is-active {
-      background-color: #1190e3;
-      color: #fff; }
-    .hero.is-info .tabs a {
-      color: #fff;
-      opacity: 0.9; }
-      .hero.is-info .tabs a:hover {
-        opacity: 1; }
-    .hero.is-info .tabs li.is-active a {
-      opacity: 1; }
-    .hero.is-info .tabs.is-boxed a, .hero.is-info .tabs.is-toggle a {
-      color: #fff; }
-      .hero.is-info .tabs.is-boxed a:hover, .hero.is-info .tabs.is-toggle a:hover {
-        background-color: rgba(10, 10, 10, 0.1); }
-    .hero.is-info .tabs.is-boxed li.is-active a, .hero.is-info .tabs.is-boxed li.is-active a:hover, .hero.is-info .tabs.is-toggle li.is-active a, .hero.is-info .tabs.is-toggle li.is-active a:hover {
-      background-color: #fff;
-      border-color: #fff;
-      color: #209cee; }
-    .hero.is-info.is-bold {
-      background-image: linear-gradient(141deg, #05a6d6 0%, #209cee 71%, #3287f5 100%); }
-      @media screen and (max-width: 768px) {
-        .hero.is-info.is-bold .navbar-menu {
-          background-image: linear-gradient(141deg, #05a6d6 0%, #209cee 71%, #3287f5 100%); } }
-  .hero.is-success {
-    background-color: #22c35b;
-    color: #fff; }
-    .hero.is-success a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-    .hero.is-success strong {
-      color: inherit; }
-    .hero.is-success .title {
-      color: #fff; }
-    .hero.is-success .subtitle {
-      color: rgba(255, 255, 255, 0.9); }
-      .hero.is-success .subtitle a:not(.button),
-      .hero.is-success .subtitle strong {
-        color: #fff; }
-    @media screen and (max-width: 1055px) {
-      .hero.is-success .navbar-menu {
-        background-color: #22c35b; } }
-    .hero.is-success .navbar-item,
-    .hero.is-success .navbar-link {
-      color: rgba(255, 255, 255, 0.7); }
-    .hero.is-success a.navbar-item:hover, .hero.is-success a.navbar-item.is-active,
-    .hero.is-success .navbar-link:hover,
-    .hero.is-success .navbar-link.is-active {
-      background-color: #1ead51;
-      color: #fff; }
-    .hero.is-success .tabs a {
-      color: #fff;
-      opacity: 0.9; }
-      .hero.is-success .tabs a:hover {
-        opacity: 1; }
-    .hero.is-success .tabs li.is-active a {
-      opacity: 1; }
-    .hero.is-success .tabs.is-boxed a, .hero.is-success .tabs.is-toggle a {
-      color: #fff; }
-      .hero.is-success .tabs.is-boxed a:hover, .hero.is-success .tabs.is-toggle a:hover {
-        background-color: rgba(10, 10, 10, 0.1); }
-    .hero.is-success .tabs.is-boxed li.is-active a, .hero.is-success .tabs.is-boxed li.is-active a:hover, .hero.is-success .tabs.is-toggle li.is-active a, .hero.is-success .tabs.is-toggle li.is-active a:hover {
-      background-color: #fff;
-      border-color: #fff;
-      color: #22c35b; }
-    .hero.is-success.is-bold {
-      background-image: linear-gradient(141deg, #12a02c 0%, #22c35b 71%, #1fdf83 100%); }
-      @media screen and (max-width: 768px) {
-        .hero.is-success.is-bold .navbar-menu {
-          background-image: linear-gradient(141deg, #12a02c 0%, #22c35b 71%, #1fdf83 100%); } }
-  .hero.is-warning {
-    background-color: #ffdd57;
-    color: rgba(0, 0, 0, 0.7); }
-    .hero.is-warning a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-    .hero.is-warning strong {
-      color: inherit; }
-    .hero.is-warning .title {
-      color: rgba(0, 0, 0, 0.7); }
-    .hero.is-warning .subtitle {
-      color: rgba(0, 0, 0, 0.9); }
-      .hero.is-warning .subtitle a:not(.button),
-      .hero.is-warning .subtitle strong {
-        color: rgba(0, 0, 0, 0.7); }
-    @media screen and (max-width: 1055px) {
-      .hero.is-warning .navbar-menu {
-        background-color: #ffdd57; } }
-    .hero.is-warning .navbar-item,
-    .hero.is-warning .navbar-link {
-      color: rgba(0, 0, 0, 0.7); }
-    .hero.is-warning a.navbar-item:hover, .hero.is-warning a.navbar-item.is-active,
-    .hero.is-warning .navbar-link:hover,
-    .hero.is-warning .navbar-link.is-active {
-      background-color: #ffd83e;
-      color: rgba(0, 0, 0, 0.7); }
-    .hero.is-warning .tabs a {
-      color: rgba(0, 0, 0, 0.7);
-      opacity: 0.9; }
-      .hero.is-warning .tabs a:hover {
-        opacity: 1; }
-    .hero.is-warning .tabs li.is-active a {
-      opacity: 1; }
-    .hero.is-warning .tabs.is-boxed a, .hero.is-warning .tabs.is-toggle a {
-      color: rgba(0, 0, 0, 0.7); }
-      .hero.is-warning .tabs.is-boxed a:hover, .hero.is-warning .tabs.is-toggle a:hover {
-        background-color: rgba(10, 10, 10, 0.1); }
-    .hero.is-warning .tabs.is-boxed li.is-active a, .hero.is-warning .tabs.is-boxed li.is-active a:hover, .hero.is-warning .tabs.is-toggle li.is-active a, .hero.is-warning .tabs.is-toggle li.is-active a:hover {
-      background-color: rgba(0, 0, 0, 0.7);
-      border-color: rgba(0, 0, 0, 0.7);
-      color: #ffdd57; }
-    .hero.is-warning.is-bold {
-      background-image: linear-gradient(141deg, #ffae24 0%, #ffdd57 71%, #fffa71 100%); }
-      @media screen and (max-width: 768px) {
-        .hero.is-warning.is-bold .navbar-menu {
-          background-image: linear-gradient(141deg, #ffae24 0%, #ffdd57 71%, #fffa71 100%); } }
-  .hero.is-danger {
-    background-color: #da0b00;
-    color: #fff; }
-    .hero.is-danger a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-    .hero.is-danger strong {
-      color: inherit; }
-    .hero.is-danger .title {
-      color: #fff; }
-    .hero.is-danger .subtitle {
-      color: rgba(255, 255, 255, 0.9); }
-      .hero.is-danger .subtitle a:not(.button),
-      .hero.is-danger .subtitle strong {
-        color: #fff; }
-    @media screen and (max-width: 1055px) {
-      .hero.is-danger .navbar-menu {
-        background-color: #da0b00; } }
-    .hero.is-danger .navbar-item,
-    .hero.is-danger .navbar-link {
-      color: rgba(255, 255, 255, 0.7); }
-    .hero.is-danger a.navbar-item:hover, .hero.is-danger a.navbar-item.is-active,
-    .hero.is-danger .navbar-link:hover,
-    .hero.is-danger .navbar-link.is-active {
-      background-color: #c10a00;
-      color: #fff; }
-    .hero.is-danger .tabs a {
-      color: #fff;
-      opacity: 0.9; }
-      .hero.is-danger .tabs a:hover {
-        opacity: 1; }
-    .hero.is-danger .tabs li.is-active a {
-      opacity: 1; }
-    .hero.is-danger .tabs.is-boxed a, .hero.is-danger .tabs.is-toggle a {
-      color: #fff; }
-      .hero.is-danger .tabs.is-boxed a:hover, .hero.is-danger .tabs.is-toggle a:hover {
-        background-color: rgba(10, 10, 10, 0.1); }
-    .hero.is-danger .tabs.is-boxed li.is-active a, .hero.is-danger .tabs.is-boxed li.is-active a:hover, .hero.is-danger .tabs.is-toggle li.is-active a, .hero.is-danger .tabs.is-toggle li.is-active a:hover {
-      background-color: #fff;
-      border-color: #fff;
-      color: #da0b00; }
-    .hero.is-danger.is-bold {
-      background-image: linear-gradient(141deg, #a70013 0%, #da0b00 71%, #f43500 100%); }
-      @media screen and (max-width: 768px) {
-        .hero.is-danger.is-bold .navbar-menu {
-          background-image: linear-gradient(141deg, #a70013 0%, #da0b00 71%, #f43500 100%); } }
-  .hero.is-small .hero-body, #documenter .docs-sidebar form.docs-search > input.hero .hero-body {
-    padding-bottom: 1.5rem;
-    padding-top: 1.5rem; }
-  @media screen and (min-width: 769px), print {
-    .hero.is-medium .hero-body {
-      padding-bottom: 9rem;
-      padding-top: 9rem; } }
-  @media screen and (min-width: 769px), print {
-    .hero.is-large .hero-body {
-      padding-bottom: 18rem;
-      padding-top: 18rem; } }
-  .hero.is-halfheight .hero-body, .hero.is-fullheight .hero-body, .hero.is-fullheight-with-navbar .hero-body {
-    align-items: center;
-    display: flex; }
-    .hero.is-halfheight .hero-body > .container, .hero.is-fullheight .hero-body > .container, .hero.is-fullheight-with-navbar .hero-body > .container {
-      flex-grow: 1;
-      flex-shrink: 1; }
-  .hero.is-halfheight {
-    min-height: 50vh; }
-  .hero.is-fullheight {
-    min-height: 100vh; }
-
-.hero-video {
-  overflow: hidden; }
-  .hero-video video {
-    left: 50%;
-    min-height: 100%;
-    min-width: 100%;
-    position: absolute;
-    top: 50%;
-    transform: translate3d(-50%, -50%, 0); }
-  .hero-video.is-transparent {
-    opacity: 0.3; }
-  @media screen and (max-width: 768px) {
-    .hero-video {
-      display: none; } }
-.hero-buttons {
-  margin-top: 1.5rem; }
-  @media screen and (max-width: 768px) {
-    .hero-buttons .button {
-      display: flex; }
-      .hero-buttons .button:not(:last-child) {
-        margin-bottom: 0.75rem; } }
-  @media screen and (min-width: 769px), print {
-    .hero-buttons {
-      display: flex;
-      justify-content: center; }
-      .hero-buttons .button:not(:last-child) {
-        margin-right: 1.5rem; } }
-.hero-head,
-.hero-foot {
-  flex-grow: 0;
-  flex-shrink: 0; }
-
-.hero-body {
-  flex-grow: 1;
-  flex-shrink: 0;
-  padding: 3rem 1.5rem; }
-
-.section {
-  padding: 3rem 1.5rem; }
-  @media screen and (min-width: 1056px) {
-    .section.is-medium {
-      padding: 9rem 1.5rem; }
-    .section.is-large {
-      padding: 18rem 1.5rem; } }
-.footer {
-  background-color: #fafafa;
-  padding: 3rem 1.5rem 6rem; }
-
-h1 .docs-heading-anchor, h1 .docs-heading-anchor:hover, h1 .docs-heading-anchor:visited, h2 .docs-heading-anchor, h2 .docs-heading-anchor:hover, h2 .docs-heading-anchor:visited, h3 .docs-heading-anchor, h3 .docs-heading-anchor:hover, h3 .docs-heading-anchor:visited, h4 .docs-heading-anchor, h4 .docs-heading-anchor:hover, h4 .docs-heading-anchor:visited, h5 .docs-heading-anchor, h5 .docs-heading-anchor:hover, h5 .docs-heading-anchor:visited, h6 .docs-heading-anchor, h6 .docs-heading-anchor:hover, h6 .docs-heading-anchor:visited {
-  color: #222222; }
-
-h1 .docs-heading-anchor-permalink, h2 .docs-heading-anchor-permalink, h3 .docs-heading-anchor-permalink, h4 .docs-heading-anchor-permalink, h5 .docs-heading-anchor-permalink, h6 .docs-heading-anchor-permalink {
-  visibility: hidden;
-  vertical-align: middle;
-  margin-left: 0.5em;
-  font-size: 0.7rem; }
-  h1 .docs-heading-anchor-permalink::before, h2 .docs-heading-anchor-permalink::before, h3 .docs-heading-anchor-permalink::before, h4 .docs-heading-anchor-permalink::before, h5 .docs-heading-anchor-permalink::before, h6 .docs-heading-anchor-permalink::before {
-    font-family: "Font Awesome 5 Free";
-    font-weight: 900;
-    content: "\f0c1"; }
-
-h1:hover .docs-heading-anchor-permalink, h2:hover .docs-heading-anchor-permalink, h3:hover .docs-heading-anchor-permalink, h4:hover .docs-heading-anchor-permalink, h5:hover .docs-heading-anchor-permalink, h6:hover .docs-heading-anchor-permalink {
-  visibility: visible; }
-
-.docs-dark-only {
-  display: none !important; }
-
-pre {
-  position: relative;
-  overflow: hidden; }
-  pre code, pre code.hljs {
-    padding: 0 0.75rem !important;
-    overflow: auto;
-    display: block; }
-  pre code:first-of-type, pre code.hljs:first-of-type {
-    padding-top: 0.5rem !important; }
-  pre code:last-of-type, pre code.hljs:last-of-type {
-    padding-bottom: 0.5rem !important; }
-  pre .copy-button {
-    opacity: 0.2;
-    transition: opacity 0.2s;
-    position: absolute;
-    right: 0em;
-    top: 0em;
-    padding: 0.5em;
-    width: 2.5em;
-    height: 2.5em;
-    background: transparent;
-    border: none;
-    font-family: "Font Awesome 5 Free";
-    color: #222222;
-    cursor: pointer;
-    text-align: center; }
-    pre .copy-button:focus, pre .copy-button:hover {
-      opacity: 1;
-      background: rgba(34, 34, 34, 0.1);
-      color: #2e63b8; }
-    pre .copy-button.success {
-      color: #259a12;
-      opacity: 1; }
-    pre .copy-button.error {
-      color: #cb3c33;
-      opacity: 1; }
-  pre:hover .copy-button {
-    opacity: 1; }
-
-.admonition {
-  background-color: #b5b5b5;
-  border-style: solid;
-  border-width: 1px;
-  border-color: #363636;
-  border-radius: 4px;
-  font-size: 1rem; }
-  .admonition strong {
-    color: currentColor; }
-  .admonition.is-small, #documenter .docs-sidebar form.docs-search > input.admonition {
-    font-size: 0.75rem; }
-  .admonition.is-medium {
-    font-size: 1.25rem; }
-  .admonition.is-large {
-    font-size: 1.5rem; }
-  .admonition.is-default {
-    background-color: #b5b5b5;
-    border-color: #363636; }
-    .admonition.is-default > .admonition-header {
-      background-color: #363636;
-      color: #fff; }
-    .admonition.is-default > .admonition-body {
-      color: #fff; }
-  .admonition.is-info {
-    background-color: #def0fc;
-    border-color: #209cee; }
-    .admonition.is-info > .admonition-header {
-      background-color: #209cee;
-      color: #fff; }
-    .admonition.is-info > .admonition-body {
-      color: rgba(0, 0, 0, 0.7); }
-  .admonition.is-success {
-    background-color: #bdf4d1;
-    border-color: #22c35b; }
-    .admonition.is-success > .admonition-header {
-      background-color: #22c35b;
-      color: #fff; }
-    .admonition.is-success > .admonition-body {
-      color: rgba(0, 0, 0, 0.7); }
-  .admonition.is-warning {
-    background-color: #fff3c5;
-    border-color: #ffdd57; }
-    .admonition.is-warning > .admonition-header {
-      background-color: #ffdd57;
-      color: rgba(0, 0, 0, 0.7); }
-    .admonition.is-warning > .admonition-body {
-      color: rgba(0, 0, 0, 0.7); }
-  .admonition.is-danger {
-    background-color: #ffaba7;
-    border-color: #da0b00; }
-    .admonition.is-danger > .admonition-header {
-      background-color: #da0b00;
-      color: #fff; }
-    .admonition.is-danger > .admonition-body {
-      color: rgba(0, 0, 0, 0.7); }
-  .admonition.is-compat {
-    background-color: #bdeff5;
-    border-color: #1db5c9; }
-    .admonition.is-compat > .admonition-header {
-      background-color: #1db5c9;
-      color: #fff; }
-    .admonition.is-compat > .admonition-body {
-      color: rgba(0, 0, 0, 0.7); }
-
-.admonition-header {
-  color: #fff;
-  background-color: #363636;
-  align-items: center;
-  font-weight: 700;
-  justify-content: space-between;
-  line-height: 1.25;
-  padding: 0.5rem 0.75rem;
-  position: relative; }
-  .admonition-header:before {
-    font-family: "Font Awesome 5 Free";
-    font-weight: 900;
-    margin-right: 0.75rem;
-    content: "\f06a"; }
-
-.admonition-body {
-  color: #222222;
-  padding: 0.5rem 0.75rem; }
-  .admonition-body pre {
-    background-color: whitesmoke; }
-  .admonition-body code {
-    background-color: rgba(0, 0, 0, 0.05); }
-
-.docstring {
-  margin-bottom: 1em;
-  background-color: transparent;
-  border: 1px solid #dbdbdb;
-  box-shadow: 2px 2px 3px rgba(10, 10, 10, 0.1);
-  max-width: 100%; }
-  .docstring > header {
-    display: flex;
-    flex-grow: 1;
-    align-items: stretch;
-    padding: 0.5rem 0.75rem;
-    background-color: whitesmoke;
-    box-shadow: 0 1px 2px rgba(10, 10, 10, 0.1);
-    box-shadow: none;
-    border-bottom: 1px solid #dbdbdb; }
-    .docstring > header code {
-      background-color: transparent; }
-    .docstring > header .docstring-binding {
-      margin-right: 0.3em; }
-    .docstring > header .docstring-category {
-      margin-left: 0.3em; }
-  .docstring > section {
-    position: relative;
-    padding: 0.75rem 0.75rem;
-    border-bottom: 1px solid #dbdbdb; }
-    .docstring > section:last-child {
-      border-bottom: none; }
-    .docstring > section > a.docs-sourcelink {
-      transition: opacity 0.3s;
-      opacity: 0;
-      position: absolute;
-      right: 0.375rem;
-      bottom: 0.375rem; }
-      .docstring > section > a.docs-sourcelink:focus {
-        opacity: 1 !important; }
-  .docstring:hover > section > a.docs-sourcelink {
-    opacity: 0.2; }
-  .docstring:focus-within > section > a.docs-sourcelink {
-    opacity: 0.2; }
-  .docstring > section:hover a.docs-sourcelink {
-    opacity: 1; }
-
-.documenter-example-output {
-  background-color: white; }
-
-.outdated-warning-overlay {
-  position: fixed;
-  top: 0;
-  left: 0;
-  right: 0;
-  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
-  z-index: 999;
-  background-color: #ffaba7;
-  color: rgba(0, 0, 0, 0.7);
-  border-bottom: 3px solid #da0b00;
-  padding: 10px 35px;
-  text-align: center;
-  font-size: 15px; }
-  .outdated-warning-overlay .outdated-warning-closer {
-    position: absolute;
-    top: calc(50% - 10px);
-    right: 18px;
-    cursor: pointer;
-    width: 12px; }
-  .outdated-warning-overlay a {
-    color: #2e63b8; }
-    .outdated-warning-overlay a:hover {
-      color: #363636; }
-
-.content pre {
-  border: 1px solid #dbdbdb; }
-
-.content code {
-  font-weight: inherit; }
-
-.content a code {
-  color: #2e63b8; }
-
-.content h1 code, .content h2 code, .content h3 code, .content h4 code, .content h5 code, .content h6 code {
-  color: #222222; }
-
-.content table {
-  display: block;
-  width: initial;
-  max-width: 100%;
-  overflow-x: auto; }
-
-.content blockquote > ul:first-child, .content blockquote > ol:first-child, .content .admonition-body > ul:first-child, .content .admonition-body > ol:first-child {
-  margin-top: 0; }
-
-pre, code {
-  font-variant-ligatures: no-contextual; }
-
-.breadcrumb a.is-disabled {
-  cursor: default;
-  pointer-events: none; }
-  .breadcrumb a.is-disabled, .breadcrumb a.is-disabled:hover {
-    color: #222222; }
-
-.hljs {
-  background: initial !important; }
-
-.katex .katex-mathml {
-  top: 0;
-  right: 0; }
-
-.katex-display, mjx-container, .MathJax_Display {
-  margin: 0.5em 0 !important; }
-
-html {
-  -moz-osx-font-smoothing: auto;
-  -webkit-font-smoothing: auto; }
-
-li.no-marker {
-  list-style: none; }
-
-/* This file contain the overall layout.
- *
- * The main container is <div> that is identified by id #documenter.
- */
-#documenter .docs-main > article {
-  overflow-wrap: break-word; }
-  #documenter .docs-main > article .math-container {
-    overflow-x: auto;
-    overflow-y: hidden; }
-
-@media screen and (min-width: 1056px) {
-  #documenter .docs-main {
-    max-width: 52rem;
-    margin-left: 20rem;
-    padding-right: 1rem; } }
-
-@media screen and (max-width: 1055px) {
-  #documenter .docs-main {
-    width: 100%; }
-    #documenter .docs-main > article {
-      max-width: 52rem;
-      margin-left: auto;
-      margin-right: auto;
-      margin-bottom: 1rem;
-      padding: 0 1rem; }
-    #documenter .docs-main > header, #documenter .docs-main > nav {
-      max-width: 100%;
-      width: 100%;
-      margin: 0; } }
-
-#documenter .docs-main header.docs-navbar {
-  background-color: white;
-  border-bottom: 1px solid #dbdbdb;
-  z-index: 2;
-  min-height: 4rem;
-  margin-bottom: 1rem;
-  display: flex; }
-  #documenter .docs-main header.docs-navbar .breadcrumb {
-    flex-grow: 1; }
-  #documenter .docs-main header.docs-navbar .docs-right {
-    display: flex;
-    white-space: nowrap; }
-    #documenter .docs-main header.docs-navbar .docs-right .docs-icon, #documenter .docs-main header.docs-navbar .docs-right .docs-label, #documenter .docs-main header.docs-navbar .docs-right .docs-sidebar-button {
-      display: inline-block; }
-    #documenter .docs-main header.docs-navbar .docs-right .docs-label {
-      padding: 0;
-      margin-left: 0.3em; }
-    #documenter .docs-main header.docs-navbar .docs-right .docs-settings-button {
-      margin: auto 0 auto 1rem; }
-    #documenter .docs-main header.docs-navbar .docs-right .docs-sidebar-button {
-      font-size: 1.5rem;
-      margin: auto 0 auto 1rem; }
-  #documenter .docs-main header.docs-navbar > * {
-    margin: auto 0; }
-  @media screen and (max-width: 1055px) {
-    #documenter .docs-main header.docs-navbar {
-      position: sticky;
-      top: 0;
-      padding: 0 1rem;
-      /* For Headroom.js */
-      transition-property: top, box-shadow;
-      -webkit-transition-property: top, box-shadow;
-      /* Safari */
-      transition-duration: 0.3s;
-      -webkit-transition-duration: 0.3s;
-      /* Safari */ }
-      #documenter .docs-main header.docs-navbar.headroom--not-top {
-        box-shadow: 0.2rem 0rem 0.4rem #bbb;
-        transition-duration: 0.7s;
-        -webkit-transition-duration: 0.7s;
-        /* Safari */ }
-      #documenter .docs-main header.docs-navbar.headroom--unpinned.headroom--not-top.headroom--not-bottom {
-        top: -4.5rem;
-        transition-duration: 0.7s;
-        -webkit-transition-duration: 0.7s;
-        /* Safari */ } }
-#documenter .docs-main section.footnotes {
-  border-top: 1px solid #dbdbdb; }
-  #documenter .docs-main section.footnotes li .tag:first-child, #documenter .docs-main section.footnotes li .docstring > section > a.docs-sourcelink:first-child, #documenter .docs-main section.footnotes li .content kbd:first-child, .content #documenter .docs-main section.footnotes li kbd:first-child {
-    margin-right: 1em;
-    margin-bottom: 0.4em; }
-
-#documenter .docs-main .docs-footer {
-  display: flex;
-  flex-wrap: wrap;
-  margin-left: 0;
-  margin-right: 0;
-  border-top: 1px solid #dbdbdb;
-  padding-top: 1rem;
-  padding-bottom: 1rem; }
-  @media screen and (max-width: 1055px) {
-    #documenter .docs-main .docs-footer {
-      padding-left: 1rem;
-      padding-right: 1rem; } }
-  #documenter .docs-main .docs-footer .docs-footer-nextpage, #documenter .docs-main .docs-footer .docs-footer-prevpage {
-    flex-grow: 1; }
-  #documenter .docs-main .docs-footer .docs-footer-nextpage {
-    text-align: right; }
-  #documenter .docs-main .docs-footer .flexbox-break {
-    flex-basis: 100%;
-    height: 0; }
-  #documenter .docs-main .docs-footer .footer-message {
-    font-size: 0.8em;
-    margin: 0.5em auto 0 auto;
-    text-align: center; }
-
-#documenter .docs-sidebar {
-  display: flex;
-  flex-direction: column;
-  color: #0a0a0a;
-  background-color: whitesmoke;
-  border-right: 1px solid #dbdbdb;
-  padding: 0;
-  flex: 0 0 18rem;
-  z-index: 5;
-  font-size: 1rem;
-  position: fixed;
-  left: -18rem;
-  width: 18rem;
-  height: 100%;
-  transition: left 0.3s;
-  /* Setting up a nicer theme style for the scrollbar */ }
-  #documenter .docs-sidebar.visible {
-    left: 0;
-    box-shadow: 0.4rem 0rem 0.8rem #bbb; }
-    @media screen and (min-width: 1056px) {
-      #documenter .docs-sidebar.visible {
-        box-shadow: none; } }
-  @media screen and (min-width: 1056px) {
-    #documenter .docs-sidebar {
-      left: 0;
-      top: 0; } }
-  #documenter .docs-sidebar .docs-logo {
-    margin-top: 1rem;
-    padding: 0 1rem; }
-    #documenter .docs-sidebar .docs-logo > img {
-      max-height: 6rem;
-      margin: auto; }
-  #documenter .docs-sidebar .docs-package-name {
-    flex-shrink: 0;
-    font-size: 1.5rem;
-    font-weight: 700;
-    text-align: center;
-    white-space: nowrap;
-    overflow: hidden;
-    padding: 0.5rem 0; }
-    #documenter .docs-sidebar .docs-package-name .docs-autofit {
-      max-width: 16.2rem; }
-    #documenter .docs-sidebar .docs-package-name a, #documenter .docs-sidebar .docs-package-name a:hover {
-      color: #0a0a0a; }
-  #documenter .docs-sidebar .docs-version-selector {
-    border-top: 1px solid #dbdbdb;
-    display: none;
-    padding: 0.5rem; }
-    #documenter .docs-sidebar .docs-version-selector.visible {
-      display: flex; }
-  #documenter .docs-sidebar ul.docs-menu {
-    flex-grow: 1;
-    user-select: none;
-    border-top: 1px solid #dbdbdb;
-    padding-bottom: 1.5rem;
-    /* Managing collapsible submenus */ }
-    #documenter .docs-sidebar ul.docs-menu > li > .tocitem {
-      font-weight: bold; }
-    #documenter .docs-sidebar ul.docs-menu > li li {
-      font-size: 0.95rem;
-      margin-left: 1em;
-      border-left: 1px solid #dbdbdb; }
-    #documenter .docs-sidebar ul.docs-menu input.collapse-toggle {
-      display: none; }
-    #documenter .docs-sidebar ul.docs-menu ul.collapsed {
-      display: none; }
-    #documenter .docs-sidebar ul.docs-menu input:checked ~ ul.collapsed {
-      display: block; }
-    #documenter .docs-sidebar ul.docs-menu label.tocitem {
-      display: flex; }
-      #documenter .docs-sidebar ul.docs-menu label.tocitem .docs-label {
-        flex-grow: 2; }
-      #documenter .docs-sidebar ul.docs-menu label.tocitem .docs-chevron {
-        display: inline-block;
-        font-style: normal;
-        font-variant: normal;
-        text-rendering: auto;
-        line-height: 1;
-        font-size: 0.75rem;
-        margin-left: 1rem;
-        margin-top: auto;
-        margin-bottom: auto; }
-        #documenter .docs-sidebar ul.docs-menu label.tocitem .docs-chevron::before {
-          font-family: "Font Awesome 5 Free";
-          font-weight: 900;
-          content: "\f054"; }
-    #documenter .docs-sidebar ul.docs-menu input:checked ~ label.tocitem .docs-chevron::before {
-      content: "\f078"; }
-    #documenter .docs-sidebar ul.docs-menu .tocitem {
-      display: block;
-      padding: 0.5rem 0.5rem; }
-      #documenter .docs-sidebar ul.docs-menu .tocitem, #documenter .docs-sidebar ul.docs-menu .tocitem:hover {
-        color: #0a0a0a;
-        background: whitesmoke; }
-    #documenter .docs-sidebar ul.docs-menu a.tocitem:hover, #documenter .docs-sidebar ul.docs-menu label.tocitem:hover {
-      color: #0a0a0a;
-      background-color: #ebebeb; }
-    #documenter .docs-sidebar ul.docs-menu li.is-active {
-      border-top: 1px solid #dbdbdb;
-      border-bottom: 1px solid #dbdbdb;
-      background-color: white; }
-      #documenter .docs-sidebar ul.docs-menu li.is-active .tocitem, #documenter .docs-sidebar ul.docs-menu li.is-active .tocitem:hover {
-        background-color: white;
-        color: #0a0a0a; }
-      #documenter .docs-sidebar ul.docs-menu li.is-active ul.internal .tocitem:hover {
-        background-color: #ebebeb;
-        color: #0a0a0a; }
-    #documenter .docs-sidebar ul.docs-menu > li.is-active:first-child {
-      border-top: none; }
-    #documenter .docs-sidebar ul.docs-menu ul.internal {
-      margin: 0 0.5rem 0.5rem;
-      border-top: 1px solid #dbdbdb; }
-      #documenter .docs-sidebar ul.docs-menu ul.internal li {
-        font-size: 0.85rem;
-        border-left: none;
-        margin-left: 0;
-        margin-top: 0.5rem; }
-      #documenter .docs-sidebar ul.docs-menu ul.internal .tocitem {
-        width: 100%;
-        padding: 0; }
-        #documenter .docs-sidebar ul.docs-menu ul.internal .tocitem::before {
-          content: "⚬";
-          margin-right: 0.4em; }
-  #documenter .docs-sidebar form.docs-search {
-    margin: auto;
-    margin-top: 0.5rem;
-    margin-bottom: 0.5rem; }
-    #documenter .docs-sidebar form.docs-search > input {
-      width: 14.4rem; }
-  @media screen and (min-width: 1056px) {
-    #documenter .docs-sidebar ul.docs-menu {
-      overflow-y: auto;
-      -webkit-overflow-scroll: touch; }
-      #documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar {
-        width: .3rem;
-        background: none; }
-      #documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar-thumb {
-        border-radius: 5px 0px 0px 5px;
-        background: #e0e0e0; }
-      #documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar-thumb:hover {
-        background: #cccccc; } }
-  @media screen and (max-width: 1055px) {
-    #documenter .docs-sidebar {
-      overflow-y: auto;
-      -webkit-overflow-scroll: touch; }
-      #documenter .docs-sidebar::-webkit-scrollbar {
-        width: .3rem;
-        background: none; }
-      #documenter .docs-sidebar::-webkit-scrollbar-thumb {
-        border-radius: 5px 0px 0px 5px;
-        background: #e0e0e0; }
-      #documenter .docs-sidebar::-webkit-scrollbar-thumb:hover {
-        background: #cccccc; } }
-#documenter .docs-main #documenter-search-info {
-  margin-bottom: 1rem; }
-
-#documenter .docs-main #documenter-search-results {
-  list-style-type: circle;
-  list-style-position: outside; }
-  #documenter .docs-main #documenter-search-results li {
-    margin-left: 2rem; }
-  #documenter .docs-main #documenter-search-results .docs-highlight {
-    background-color: yellow; }
-
-.ansi span.sgr1 {
-  font-weight: bolder; }
-
-.ansi span.sgr2 {
-  font-weight: lighter; }
-
-.ansi span.sgr3 {
-  font-style: italic; }
-
-.ansi span.sgr4 {
-  text-decoration: underline; }
-
-.ansi span.sgr7 {
-  color: white;
-  background-color: #222222; }
-
-.ansi span.sgr8 {
-  color: transparent; }
-  .ansi span.sgr8 span {
-    color: transparent; }
-
-.ansi span.sgr9 {
-  text-decoration: line-through; }
-
-.ansi span.sgr30 {
-  color: #242424; }
-
-.ansi span.sgr31 {
-  color: #a7201f; }
-
-.ansi span.sgr32 {
-  color: #066f00; }
-
-.ansi span.sgr33 {
-  color: #856b00; }
-
-.ansi span.sgr34 {
-  color: #2149b0; }
-
-.ansi span.sgr35 {
-  color: #7d4498; }
-
-.ansi span.sgr36 {
-  color: #007989; }
-
-.ansi span.sgr37 {
-  color: gray; }
-
-.ansi span.sgr40 {
-  background-color: #242424; }
-
-.ansi span.sgr41 {
-  background-color: #a7201f; }
-
-.ansi span.sgr42 {
-  background-color: #066f00; }
-
-.ansi span.sgr43 {
-  background-color: #856b00; }
-
-.ansi span.sgr44 {
-  background-color: #2149b0; }
-
-.ansi span.sgr45 {
-  background-color: #7d4498; }
-
-.ansi span.sgr46 {
-  background-color: #007989; }
-
-.ansi span.sgr47 {
-  background-color: gray; }
-
-.ansi span.sgr90 {
-  color: #616161; }
-
-.ansi span.sgr91 {
-  color: #cb3c33; }
-
-.ansi span.sgr92 {
-  color: #0e8300; }
-
-.ansi span.sgr93 {
-  color: #a98800; }
-
-.ansi span.sgr94 {
-  color: #3c5dcd; }
-
-.ansi span.sgr95 {
-  color: #9256af; }
-
-.ansi span.sgr96 {
-  color: #008fa3; }
-
-.ansi span.sgr97 {
-  color: whitesmoke; }
-
-.ansi span.sgr100 {
-  background-color: #616161; }
-
-.ansi span.sgr101 {
-  background-color: #cb3c33; }
-
-.ansi span.sgr102 {
-  background-color: #0e8300; }
-
-.ansi span.sgr103 {
-  background-color: #a98800; }
-
-.ansi span.sgr104 {
-  background-color: #3c5dcd; }
-
-.ansi span.sgr105 {
-  background-color: #9256af; }
-
-.ansi span.sgr106 {
-  background-color: #008fa3; }
-
-.ansi span.sgr107 {
-  background-color: whitesmoke; }
-
-code.language-julia-repl > span.hljs-meta {
-  color: #066f00;
-  font-weight: bolder; }
-
-/*!
-  Theme: Default
-  Description: Original highlight.js style
-  Author: (c) Ivan Sagalaev <maniac@softwaremaniacs.org>
-  Maintainer: @highlightjs/core-team
-  Website: https://highlightjs.org/
-  License: see project LICENSE
-  Touched: 2021
-*/
-/*
-This is left on purpose making default.css the single file that can be lifted
-as-is from the repository directly without the need for a build step
-
-Typically this "required" baseline CSS is added by `makestuff.js` during build.
-*/
-pre code.hljs {
-  display: block;
-  overflow-x: auto; }
-
-code.hljs {
-  padding: 3px 5px; }
-
-/* end baseline CSS */
-.hljs {
-  background: #F0F0F0;
-  color: #444; }
-
-/* Base color: saturation 0; */
-.hljs-subst {
-  /* default */ }
-
-/* purposely ignored */
-.hljs-comment {
-  color: #888888; }
-
-.hljs-tag,
-.hljs-punctuation {
-  color: #444a; }
-
-.hljs-tag .hljs-name,
-.hljs-tag .hljs-attr {
-  color: #444; }
-
-.hljs-keyword,
-.hljs-attribute,
-.hljs-selector-tag,
-.hljs-meta .hljs-keyword,
-.hljs-doctag,
-.hljs-name {
-  font-weight: bold; }
-
-/* User color: hue: 0 */
-.hljs-type,
-.hljs-string,
-.hljs-number,
-.hljs-selector-id,
-.hljs-selector-class,
-.hljs-quote,
-.hljs-template-tag,
-.hljs-deletion {
-  color: #880000; }
-
-.hljs-title,
-.hljs-section {
-  color: #880000;
-  font-weight: bold; }
-
-.hljs-regexp,
-.hljs-symbol,
-.hljs-variable,
-.hljs-template-variable,
-.hljs-link,
-.hljs-selector-attr,
-.hljs-operator,
-.hljs-selector-pseudo {
-  color: #BC6060; }
-
-/* Language color: hue: 90; */
-.hljs-literal {
-  color: #78A960; }
-
-.hljs-built_in,
-.hljs-bullet,
-.hljs-code,
-.hljs-addition {
-  color: #397300; }
-
-/* Meta color: hue: 200 */
-.hljs-meta {
-  color: #1f7199; }
-
-.hljs-meta .hljs-string {
-  color: #4d99bf; }
-
-/* Misc effects */
-.hljs-emphasis {
-  font-style: italic; }
-
-.hljs-strong {
-  font-weight: bold; }
diff --git a/previews/PR626/assets/themeswap.js b/previews/PR626/assets/themeswap.js
deleted file mode 100644
index c58e993e3..000000000
--- a/previews/PR626/assets/themeswap.js
+++ /dev/null
@@ -1,66 +0,0 @@
-// Small function to quickly swap out themes. Gets put into the <head> tag..
-function set_theme_from_local_storage() {
-  // Intialize the theme to null, which means default
-  var theme = null;
-  // If the browser supports the localstorage and is not disabled then try to get the
-  // documenter theme
-  if(window.localStorage != null) {
-    // Get the user-picked theme from localStorage. May be `null`, which means the default
-    // theme.
-    theme =  window.localStorage.getItem("documenter-theme");
-  }
-  // Check if the browser supports user color preference
-  var darkPreference = false;
-  // Check if the users preference is for dark color scheme
-  if(window.matchMedia('(prefers-color-scheme: dark)').matches === true) {
-    darkPreference = true;
-  }
-  // Initialize a few variables for the loop:
-  //
-  //  - active: will contain the index of the theme that should be active. Note that there
-  //    is no guarantee that localStorage contains sane values. If `active` stays `null`
-  //    we either could not find the theme or it is the default (primary) theme anyway.
-  //    Either way, we then need to stick to the primary theme.
-  //
-  //  - disabled: style sheets that should be disabled (i.e. all the theme style sheets
-  //    that are not the currently active theme)
-  var active = null; var disabled = []; var darkTheme = null;
-  for (var i = 0; i < document.styleSheets.length; i++) {
-    var ss = document.styleSheets[i];
-    // The <link> tag of each style sheet is expected to have a data-theme-name attribute
-    // which must contain the name of the theme. The names in localStorage much match this.
-    var themename = ss.ownerNode.getAttribute("data-theme-name");
-    // attribute not set => non-theme stylesheet => ignore
-    if(themename === null) continue;
-    // To distinguish the default (primary) theme, it needs to have the data-theme-primary
-    // attribute set.
-    var isprimary = (ss.ownerNode.getAttribute("data-theme-primary") !== null);
-    // Check if the theme is primary dark theme
-    var isDarkTheme = (ss.ownerNode.getAttribute("data-theme-primary-dark") !== null);
-    // If ss is for dark theme then set the value of darkTheme to the name of the theme
-    if(isDarkTheme) darkTheme = themename;
-    // If we find a matching theme (and it's not the default), we'll set active to non-null
-    if(themename === theme) active = i;
-    // Store the style sheets of inactive themes so that we could disable them
-    if(themename !== theme) disabled.push(ss);
-  }
-  if(active !== null) {
-    // If we did find an active theme, we'll (1) add the theme--$(theme) class to <html>
-    document.getElementsByTagName('html')[0].className = "theme--" + theme;
-    // and (2) disable all the other theme stylesheets
-    disabled.forEach(function(ss){
-      ss.disabled = true;
-    });
-  }
-  else if(darkTheme !== null && darkPreference === true) {
-    // If we did find an active theme, we'll (1) add the theme--$(theme) class to <html>
-    document.getElementsByTagName('html')[0].className = "theme--" + darkTheme;
-    // and (2) disable all the other theme stylesheets
-    disabled.forEach(function(ss){
-      if (ss.ownerNode.getAttribute("data-theme-name") !== darkTheme) {
-        ss.disabled = true;
-      }
-    });
-  }
-}
-set_theme_from_local_storage();
diff --git a/previews/PR626/assets/warner.js b/previews/PR626/assets/warner.js
deleted file mode 100644
index 5531c8851..000000000
--- a/previews/PR626/assets/warner.js
+++ /dev/null
@@ -1,49 +0,0 @@
-function maybeAddWarning () {
-    // DOCUMENTER_NEWEST is defined in versions.js, DOCUMENTER_CURRENT_VERSION and DOCUMENTER_STABLE
-    // in siteinfo.js.
-    // If either of these are undefined something went horribly wrong, so we abort.
-    if (
-            window.DOCUMENTER_NEWEST === undefined ||
-            window.DOCUMENTER_CURRENT_VERSION === undefined ||
-            window.DOCUMENTER_STABLE === undefined
-       ) {
-        return
-    };
-
-    // Current version is not a version number, so we can't tell if it's the newest version. Abort.
-    if (!/v(\d+\.)*\d+/.test(window.DOCUMENTER_CURRENT_VERSION)) {
-        return
-    };
-
-    // Current version is newest version, so no need to add a warning.
-    if (window.DOCUMENTER_NEWEST === window.DOCUMENTER_CURRENT_VERSION) {
-        return
-    };
-
-    // Add a noindex meta tag (unless one exists) so that search engines don't index this version of the docs.
-    if (document.body.querySelector('meta[name="robots"]') === null) {
-        const meta = document.createElement('meta');
-        meta.name = 'robots';
-        meta.content = 'noindex';
-
-        document.getElementsByTagName('head')[0].appendChild(meta);
-    };
-
-    const div = document.createElement('div');
-    div.classList.add('outdated-warning-overlay');
-    const closer = document.createElement('button');
-    closer.classList.add('outdated-warning-closer', 'delete');
-    closer.addEventListener('click', function () {
-        document.body.removeChild(div);
-    });
-    const href = window.documenterBaseURL + '/../' + window.DOCUMENTER_STABLE;
-    div.innerHTML = 'This documentation is not for the latest stable release, but for either the development version or an older release.<br><a href="' + href + '">Click here to go to the documentation for the latest stable release.</a>';
-    div.appendChild(closer);
-    document.body.appendChild(div);
-};
-
-if (document.readyState === 'loading') {
-    document.addEventListener('DOMContentLoaded', maybeAddWarning);
-} else {
-    maybeAddWarning();
-};
diff --git a/previews/PR626/configuration/index.html b/previews/PR626/configuration/index.html
deleted file mode 100644
index 973d5a132..000000000
--- a/previews/PR626/configuration/index.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Configuration · MPI.jl</title><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../"><img src="../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../">MPI.jl</a></span></div><form class="docs-search" action="../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../">MPI.jl</a></li><li class="is-active"><a class="tocitem" href>Configuration</a><ul class="internal"><li><a class="tocitem" href="#Using-a-system-provided-MPI-backend"><span>Using a system-provided MPI backend</span></a></li><li><a class="tocitem" href="#configure_jll_binary"><span>Using an alternative JLL-provided MPI library</span></a></li><li><a class="tocitem" href="#Configuration-of-the-MPI.jl-testsuite"><span>Configuration of the MPI.jl testsuite</span></a></li><li><a class="tocitem" href="#Migration-from-MPI.jl-v0.19-or-earlier"><span>Migration from MPI.jl v0.19 or earlier</span></a></li></ul></li><li><a class="tocitem" href="../usage/">Usage</a></li><li><a class="tocitem" href="../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../reference/library/">Library information</a></li><li><a class="tocitem" href="../reference/environment/">Environment</a></li><li><a class="tocitem" href="../reference/misc/">Miscellanea</a></li><li><a class="tocitem" href="../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../reference/topology/">Topology</a></li><li><a class="tocitem" href="../reference/io/">I/O</a></li><li><a class="tocitem" href="../reference/advanced/">Advanced</a></li><li><a class="tocitem" href="../reference/api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>Configuration</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Configuration</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/configuration.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Configuration"><a class="docs-heading-anchor" href="#Configuration">Configuration</a><a id="Configuration-1"></a><a class="docs-heading-anchor-permalink" href="#Configuration" title="Permalink"></a></h1><p>By default, MPI.jl will download and link against the following MPI implementations:</p><ul><li><a href="https://docs.microsoft.com/en-us/message-passing-interface/microsoft-mpi">Microsoft MPI</a> on Windows</li><li><a href="http://www.mpich.org/">MPICH</a> on all other platforms</li></ul><p>This is suitable for most single-node use cases, but for larger systems, such as HPC clusters or multi-GPU machines, you will probably want to configure against a system-provided MPI implementation in order to exploit features such as fast network interfaces and CUDA-aware or ROCm-aware MPI interfaces.</p><p>The MPIPreferences.jl package allows the user to choose which MPI implementation to use in MPI.jl. It uses <a href="https://github.com/JuliaPackaging/Preferences.jl">Preferences.jl</a> to configure the MPI backend for each project separately. This provides a single source of truth that can be used for JLL packages (Julia packages providing C libraries) that link against MPI. It can be installed by</p><pre><code class="language-sh hljs">julia --project -e &#39;using Pkg; Pkg.add(&quot;MPIPreferences&quot;)&#39;</code></pre><div class="admonition is-info"><header class="admonition-header">Note</header><div class="admonition-body"><p>The way how MPI.jl is configured has changed with MPI.jl v0.20. See <a href="#Migration-from-MPI.jl-v0.19-or-earlier">Migration from MPI.jl v0.19 or earlier</a> for more information on how to migrate your configuration from earlier MPI.jl versions.</p></div></div><h2 id="Using-a-system-provided-MPI-backend"><a class="docs-heading-anchor" href="#Using-a-system-provided-MPI-backend">Using a system-provided MPI backend</a><a id="Using-a-system-provided-MPI-backend-1"></a><a class="docs-heading-anchor-permalink" href="#Using-a-system-provided-MPI-backend" title="Permalink"></a></h2><h3 id="Requirements"><a class="docs-heading-anchor" href="#Requirements">Requirements</a><a id="Requirements-1"></a><a class="docs-heading-anchor-permalink" href="#Requirements" title="Permalink"></a></h3><p>MPI.jl requires a shared library installation of a C MPI library, supporting the MPI 3.0 standard or later. The following MPI implementations should work out-of-the-box with MPI.jl:</p><ul><li><a href="http://www.open-mpi.org/">Open MPI</a></li><li><a href="http://www.mpich.org/">MPICH</a> (v3.1 or later)</li><li><a href="https://software.intel.com/en-us/mpi-library">Intel MPI</a></li><li><a href="https://docs.microsoft.com/en-us/message-passing-interface/microsoft-mpi">Microsoft MPI</a></li><li><a href="https://www.ibm.com/us-en/marketplace/spectrum-mpi">IBM Spectrum MPI</a></li><li><a href="http://mvapich.cse.ohio-state.edu/">MVAPICH</a></li><li><a href="https://docs.nersc.gov/development/compilers/wrappers/">Cray MPICH</a></li><li><a href="https://www.fujitsu.com/global/about/resources/publications/technicalreview/2020-03/article07.html#cap-03">Fujitsu MPI</a></li><li><a href="https://support.hpe.com/hpesc/public/docDisplay?docLocale=en_US&amp;docId=a00105727en_us">HPE MPT/HMPT</a></li></ul><h3 id="configure_system_binary"><a class="docs-heading-anchor" href="#configure_system_binary">Configuration</a><a id="configure_system_binary-1"></a><a class="docs-heading-anchor-permalink" href="#configure_system_binary" title="Permalink"></a></h3><p>Run <code>MPIPreferences.use_system_binary()</code>. This will attempt to locate and to identify any available MPI implementation, and create a file called <code>LocalPreferences.toml</code> adjacent to the current <code>Project.toml</code>.</p><pre><code class="language-sh hljs">julia --project -e &#39;using MPIPreferences; MPIPreferences.use_system_binary()&#39;</code></pre><p>If the implementation is changed, you will need to call this function again. See the <a href="../reference/mpipreferences/#MPIPreferences.use_system_binary"><code>MPIPreferences.use_system_binary</code></a> documentation for specific options.</p><div class="admonition is-info"><header class="admonition-header">Note</header><div class="admonition-body"><p>You can copy <code>LocalPreferences.toml</code> to a different project folder, but you must list <code>MPIPreferences</code> in the <code>[extras]</code> or <code>[deps]</code> section of the <code>Project.toml</code> for the settings to take effect.</p></div></div><div class="admonition is-info"><header class="admonition-header">Note</header><div class="admonition-body"><p>Due to a bug in Julia (until <code>v1.6.5</code> and <code>v1.7.1</code>), getting preferences from transitive dependencies is broken (<a href="https://github.com/JuliaPackaging/Preferences.jl/issues/24">Preferences.jl#24</a>). To fix this update your version of Julia, or add <code>MPIPreferences</code> as a direct dependency to your project.</p></div></div><h3 id="Notes-to-HPC-cluster-administrators"><a class="docs-heading-anchor" href="#Notes-to-HPC-cluster-administrators">Notes to HPC cluster administrators</a><a id="Notes-to-HPC-cluster-administrators-1"></a><a class="docs-heading-anchor-permalink" href="#Notes-to-HPC-cluster-administrators" title="Permalink"></a></h3><p>Preferences are merged across the Julia load path, such that it is feasible to provide a module file that appends a path to <code>JULIA_LOAD_PATH</code> variable that contains system-wide preferences. The steps are as follows:</p><ol><li><p>Run <a href="../reference/mpipreferences/#MPIPreferences.use_system_binary"><code>MPIPreferences.use_system_binary()</code></a>, which will generate a file <code>LocalPreferences.toml</code> containing something like the following:</p><pre><code class="language-toml hljs">[MPIPreferences]
-_format = &quot;1.0&quot;
-abi = &quot;OpenMPI&quot;
-binary = &quot;system&quot;
-libmpi = &quot;/software/mpi/lib/libmpi.so&quot;
-mpiexec = &quot;/software/mpi/bin/mpiexec&quot;</code></pre></li><li><p>Create a file called <code>Project.toml</code> or <code>JuliaProject.toml</code> in a central location, for example <code>/software/mpi/julia</code> or in the same directory as the MPI library module, and add the following contents:</p><pre><code class="language-toml hljs">[extras]
-MPIPreferences = &quot;3da0fdf6-3ccc-4f1b-acd9-58baa6c99267&quot;
-
-[preferences.MPIPreferences]
-_format = &quot;1.0&quot;
-abi = &quot;OpenMPI&quot;
-binary = &quot;system&quot;
-libmpi = &quot;/software/mpi/lib/libmpi.so&quot;
-mpiexec = &quot;/software/mpi/bin/mpiexec&quot;</code></pre><p>updating the contents of the <code>[preferences.MPIPreferences]</code> section match those of the <code>[MPIPreferences]</code> in <code>LocalPreferences.toml</code>.</p></li><li><p>Append the directory containing the file to the <a href="https://docs.julialang.org/en/v1/manual/environment-variables/#JULIA_LOAD_PATH"><code>JULIA_LOAD_PATH</code></a> environment variable, with a colon (<code>:</code>) separator.</p><p>If this variable is <em>not</em> already set, it should be prefixed with a colon to ensure correct behavior of the Julia load path, e.g. <code>JULIA_LOAD_PATH=&quot;:/software/mpi/julia&quot;</code>. If using environment modules, this can be achieved with</p><pre><code class="nohighlight hljs">append-path -d {} JULIA_LOAD_PATH :/software/mpi/julia</code></pre><p>in the corresponding module file (preferably the module file for the MPI installation or for Julia).</p><p>The user can still provide differing MPI configurations for each Julia project that will take precedent by modifying the local <code>Project.toml</code> or by providing a <code>LocalPreferences.toml</code> file.</p></li></ol><h2 id="configure_jll_binary"><a class="docs-heading-anchor" href="#configure_jll_binary">Using an alternative JLL-provided MPI library</a><a id="configure_jll_binary-1"></a><a class="docs-heading-anchor-permalink" href="#configure_jll_binary" title="Permalink"></a></h2><p>The following MPI implementations are provided as JLL packages and automatically obtained when installing MPI.jl:</p><ul><li><code>MicrosoftMPI_jll</code>: <a href="https://docs.microsoft.com/en-us/message-passing-interface/microsoft-mpi">Microsoft MPI</a> Default for Windows</li><li><code>MPICH_jll</code>: <a href="https://www.mpich.org/">MPICH</a>. Default for all other systems</li><li><code>OpenMPI_jll</code>: <a href="https://www.open-mpi.org/">Open MPI</a></li><li><code>MPItrampoline_jll</code>: <a href="https://github.com/eschnett/MPItrampoline">MPItrampoline</a>: an MPI forwarding layer.</li></ul><p>Call <a href="../reference/mpipreferences/#MPIPreferences.use_jll_binary"><code>MPIPreferences.use_jll_binary</code></a>, for example</p><pre><code class="language-sh hljs">julia --project -e &#39;using MPIPreferences; MPIPreferences.use_jll_binary(&quot;MPItrampoline_jll&quot;)&#39;</code></pre><p>If you omit the JLL binary name, the default is selected for the respective operating system.</p><h2 id="Configuration-of-the-MPI.jl-testsuite"><a class="docs-heading-anchor" href="#Configuration-of-the-MPI.jl-testsuite">Configuration of the MPI.jl testsuite</a><a id="Configuration-of-the-MPI.jl-testsuite-1"></a><a class="docs-heading-anchor-permalink" href="#Configuration-of-the-MPI.jl-testsuite" title="Permalink"></a></h2><h3 id="Testing-against-a-different-MPI-implementation"><a class="docs-heading-anchor" href="#Testing-against-a-different-MPI-implementation">Testing against a different MPI implementation</a><a id="Testing-against-a-different-MPI-implementation-1"></a><a class="docs-heading-anchor-permalink" href="#Testing-against-a-different-MPI-implementation" title="Permalink"></a></h3><p>The <code>LocalPreferences.toml</code> must be located within the <code>test</code> folder, you can either create it in place or copy it into place.</p><pre><code class="nohighlight hljs">~/MPI&gt; julia --project=test
-julia&gt; using MPIPreferences
-julia&gt; MPIPreferences.use_system_binary()
-~/MPI&gt; rm test/Manifest.toml
-~/MPI&gt; julia --project
-(MPI) pkg&gt; test</code></pre><h3 id="Environment-variables"><a class="docs-heading-anchor" href="#Environment-variables">Environment variables</a><a id="Environment-variables-1"></a><a class="docs-heading-anchor-permalink" href="#Environment-variables" title="Permalink"></a></h3><p>The test suite can also be modified by the following variables:</p><ul><li><code>JULIA_MPI_TEST_NPROCS</code>: How many ranks to use within the tests</li><li><code>JULIA_MPI_TEST_ARRAYTYPE</code>: Set to <code>CuArray</code> or <code>ROCArray</code> to test the CUDA-aware interface with <a href="https://github.com/JuliaGPU/CUDA.jl"><code>CUDA.CuArray</code></a> or the ROCm-aware interface with <a href="https://github.com/JuliaGPU/AMDGPU.jl"><code>AMDGPU.ROCArray</code></a> or buffers.</li><li><code>JULIA_MPI_TEST_BINARY</code>: Check that the specified MPI binary is used for the tests</li><li><code>JULIA_MPI_TEST_ABI</code>: Check that the specified MPI ABI is used for the tests</li></ul><h2 id="Migration-from-MPI.jl-v0.19-or-earlier"><a class="docs-heading-anchor" href="#Migration-from-MPI.jl-v0.19-or-earlier">Migration from MPI.jl v0.19 or earlier</a><a id="Migration-from-MPI.jl-v0.19-or-earlier-1"></a><a class="docs-heading-anchor-permalink" href="#Migration-from-MPI.jl-v0.19-or-earlier" title="Permalink"></a></h2><p>For MPI.jl v0.20, environment variables were used to configure which MPI library to use. These have been removed and no longer have any effect. The following subsections explain how to the same effects can be achieved with v0.20 or later.</p><div class="admonition is-info"><header class="admonition-header">Note</header><div class="admonition-body"><p>Please refer to <a href="#Notes-to-HPC-cluster-administrators">Notes to HPC cluster administrators</a> if you want to migrate your MPI.jl preferences on a cluster with a centrally managed MPI.jl configuration.</p></div></div><h3 id="JULIA_MPI_BINARY"><a class="docs-heading-anchor" href="#JULIA_MPI_BINARY"><code>JULIA_MPI_BINARY</code></a><a id="JULIA_MPI_BINARY-1"></a><a class="docs-heading-anchor-permalink" href="#JULIA_MPI_BINARY" title="Permalink"></a></h3><p>Use <a href="../reference/mpipreferences/#MPIPreferences.use_system_binary"><code>MPIPreferences.use_system_binary</code></a> to use a system-provided MPI binary as described <a href="#configure_system_binary">here</a>. To switch back or select a different JLL-provided MPI binary, use <a href="../reference/mpipreferences/#MPIPreferences.use_jll_binary"><code>MPIPreferences.use_jll_binary</code></a> as described <a href="#configure_jll_binary">here</a>.</p><h3 id="JULIA_MPI_PATH"><a class="docs-heading-anchor" href="#JULIA_MPI_PATH"><code>JULIA_MPI_PATH</code></a><a id="JULIA_MPI_PATH-1"></a><a class="docs-heading-anchor-permalink" href="#JULIA_MPI_PATH" title="Permalink"></a></h3><p>Removed without replacement.</p><h3 id="JULIA_MPI_LIBRARY"><a class="docs-heading-anchor" href="#JULIA_MPI_LIBRARY"><code>JULIA_MPI_LIBRARY</code></a><a id="JULIA_MPI_LIBRARY-1"></a><a class="docs-heading-anchor-permalink" href="#JULIA_MPI_LIBRARY" title="Permalink"></a></h3><p>Use <a href="../reference/mpipreferences/#MPIPreferences.use_system_binary"><code>MPIPreferences.use_system_binary</code></a> with keyword argument <code>library_names</code> to specify possible, non-standard library names. Alternatively, you can also specify the full path to the library.</p><h3 id="JULIA_MPI_ABI"><a class="docs-heading-anchor" href="#JULIA_MPI_ABI"><code>JULIA_MPI_ABI</code></a><a id="JULIA_MPI_ABI-1"></a><a class="docs-heading-anchor-permalink" href="#JULIA_MPI_ABI" title="Permalink"></a></h3><p>Use <a href="../reference/mpipreferences/#MPIPreferences.use_system_binary"><code>MPIPreferences.use_system_binary</code></a> with keyword argument <code>abi</code> to specify which ABI to use. See <a href="../reference/mpipreferences/#MPIPreferences.abi"><code>MPIPreferences.abi</code></a> for possible values.</p><h3 id="JULIA_MPIEXEC"><a class="docs-heading-anchor" href="#JULIA_MPIEXEC"><code>JULIA_MPIEXEC</code></a><a id="JULIA_MPIEXEC-1"></a><a class="docs-heading-anchor-permalink" href="#JULIA_MPIEXEC" title="Permalink"></a></h3><p>Use <a href="../reference/mpipreferences/#MPIPreferences.use_system_binary"><code>MPIPreferences.use_system_binary</code></a> with keyword argument <code>mpiexec</code> to specify the MPI launcher executable.</p><h3 id="JULIA_MPIEXEC_ARGS"><a class="docs-heading-anchor" href="#JULIA_MPIEXEC_ARGS"><code>JULIA_MPIEXEC_ARGS</code></a><a id="JULIA_MPIEXEC_ARGS-1"></a><a class="docs-heading-anchor-permalink" href="#JULIA_MPIEXEC_ARGS" title="Permalink"></a></h3><p>Use <a href="../reference/mpipreferences/#MPIPreferences.use_system_binary"><code>MPIPreferences.use_system_binary</code></a> with keyword argument <code>mpiexec</code>, and pass a <a href="https://docs.julialang.org/en/v1/manual/running-external-programs/#Cmd-Objects"><code>Cmd</code></a> object to set the MPI launcher executable and to include specific command line options.</p><h3 id="JULIA_MPI_INCLUDE_PATH"><a class="docs-heading-anchor" href="#JULIA_MPI_INCLUDE_PATH"><code>JULIA_MPI_INCLUDE_PATH</code></a><a id="JULIA_MPI_INCLUDE_PATH-1"></a><a class="docs-heading-anchor-permalink" href="#JULIA_MPI_INCLUDE_PATH" title="Permalink"></a></h3><p>Removed without replacement. Automatic generation of a constants file for unknown MPI ABIs is not supported anymore. See also <a href="https://github.com/JuliaParallel/MPI.jl/issues/574">#574</a>.</p><h3 id="JULIA_MPI_CFLAGS"><a class="docs-heading-anchor" href="#JULIA_MPI_CFLAGS"><code>JULIA_MPI_CFLAGS</code></a><a id="JULIA_MPI_CFLAGS-1"></a><a class="docs-heading-anchor-permalink" href="#JULIA_MPI_CFLAGS" title="Permalink"></a></h3><p>Removed without replacement. Automatic generation of a constants file for unknown MPI ABIs is not supported anymore. See also <a href="https://github.com/JuliaParallel/MPI.jl/issues/574">#574</a>.</p><h3 id="JULIA_MPICC"><a class="docs-heading-anchor" href="#JULIA_MPICC"><code>JULIA_MPICC</code></a><a id="JULIA_MPICC-1"></a><a class="docs-heading-anchor-permalink" href="#JULIA_MPICC" title="Permalink"></a></h3><p>Removed without replacement. Automatic generation of a constants file for unknown MPI ABIs is not supported anymore. See also <a href="https://github.com/JuliaParallel/MPI.jl/issues/574">#574</a>.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../">« MPI.jl</a><a class="docs-footer-nextpage" href="../usage/">Usage »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 1 January 2023 03:50">Sunday 1 January 2023</span>. Using Julia version 1.8.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR626/examples/01-hello/index.html b/previews/PR626/examples/01-hello/index.html
deleted file mode 100644
index a53ea4289..000000000
--- a/previews/PR626/examples/01-hello/index.html
+++ /dev/null
@@ -1,12 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Hello world · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li class="is-active"><a class="tocitem" href>Hello world</a></li><li><a class="tocitem" href="../02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../03-reduce/">Reduce</a></li><li><a class="tocitem" href="../04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../../reference/library/">Library information</a></li><li><a class="tocitem" href="../../reference/environment/">Environment</a></li><li><a class="tocitem" href="../../reference/misc/">Miscellanea</a></li><li><a class="tocitem" href="../../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../../reference/topology/">Topology</a></li><li><a class="tocitem" href="../../reference/io/">I/O</a></li><li><a class="tocitem" href="../../reference/advanced/">Advanced</a></li><li><a class="tocitem" href="../../reference/api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Examples</a></li><li class="is-active"><a href>Hello world</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Hello world</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/01-hello.jl" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Hello-world"><a class="docs-heading-anchor" href="#Hello-world">Hello world</a><a id="Hello-world-1"></a><a class="docs-heading-anchor-permalink" href="#Hello-world" title="Permalink"></a></h1><pre><code class="language-julia hljs"># examples/01-hello.jl
-using MPI
-MPI.Init()
-
-comm = MPI.COMM_WORLD
-print(&quot;Hello world, I am rank $(MPI.Comm_rank(comm)) of $(MPI.Comm_size(comm))\n&quot;)
-MPI.Barrier(comm)</code></pre><pre><code class="nohighlight hljs">&gt; mpiexecjl -n 4 julia examples/01-hello.jl
-Hello world, I am rank 0 of 4
-Hello world, I am rank 1 of 4
-Hello world, I am rank 3 of 4
-Hello world, I am rank 2 of 4</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../../knownissues/">« Known issues</a><a class="docs-footer-nextpage" href="../02-broadcast/">Broadcast »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 1 January 2023 03:50">Sunday 1 January 2023</span>. Using Julia version 1.8.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR626/examples/02-broadcast/index.html b/previews/PR626/examples/02-broadcast/index.html
deleted file mode 100644
index 58c38fd84..000000000
--- a/previews/PR626/examples/02-broadcast/index.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Broadcast · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../01-hello/">Hello world</a></li><li class="is-active"><a class="tocitem" href>Broadcast</a></li><li><a class="tocitem" href="../03-reduce/">Reduce</a></li><li><a class="tocitem" href="../04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../../reference/library/">Library information</a></li><li><a class="tocitem" href="../../reference/environment/">Environment</a></li><li><a class="tocitem" href="../../reference/misc/">Miscellanea</a></li><li><a class="tocitem" href="../../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../../reference/topology/">Topology</a></li><li><a class="tocitem" href="../../reference/io/">I/O</a></li><li><a class="tocitem" href="../../reference/advanced/">Advanced</a></li><li><a class="tocitem" href="../../reference/api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Examples</a></li><li class="is-active"><a href>Broadcast</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Broadcast</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/02-broadcast.jl" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Broadcast"><a class="docs-heading-anchor" href="#Broadcast">Broadcast</a><a id="Broadcast-1"></a><a class="docs-heading-anchor-permalink" href="#Broadcast" title="Permalink"></a></h1><pre><code class="language-julia hljs"># examples/02-broadcast.jl
-import MPI
-MPI.Init()
-
-comm = MPI.COMM_WORLD
-N = 5
-root = 0
-
-if MPI.Comm_rank(comm) == root
-    print(&quot; Running on $(MPI.Comm_size(comm)) processes\n&quot;)
-end
-MPI.Barrier(comm)
-
-if MPI.Comm_rank(comm) == root
-    A = [i*(1.0 + im*2.0) for i = 1:N]
-else
-    A = Array{ComplexF64}(undef, N)
-end
-
-MPI.Bcast!(A, root, comm)
-
-print(&quot;rank = $(MPI.Comm_rank(comm)), A = $A\n&quot;)
-
-if MPI.Comm_rank(comm) == root
-    B = Dict(&quot;foo&quot; =&gt; &quot;bar&quot;)
-else
-    B = nothing
-end
-
-B = MPI.bcast(B, root, comm)
-print(&quot;rank = $(MPI.Comm_rank(comm)), B = $B\n&quot;)
-
-if MPI.Comm_rank(comm) == root
-    f = x -&gt; x^2 + 2x - 1
-else
-    f = nothing
-end
-
-f = MPI.bcast(f, root, comm)
-print(&quot;rank = $(MPI.Comm_rank(comm)), f(3) = $(f(3))\n&quot;)</code></pre><pre><code class="nohighlight hljs">&gt; mpiexecjl -n 4 julia examples/02-broadcast.jl
- Running on 4 processes
-rank = 0, A = ComplexF64[1.0 + 2.0im, 2.0 + 4.0im, 3.0 + 6.0im, 4.0 + 8.0im, 5.0 + 10.0im]
-rank = 1, A = ComplexF64[1.0 + 2.0im, 2.0 + 4.0im, 3.0 + 6.0im, 4.0 + 8.0im, 5.0 + 10.0im]
-rank = 2, A = ComplexF64[1.0 + 2.0im, 2.0 + 4.0im, 3.0 + 6.0im, 4.0 + 8.0im, 5.0 + 10.0im]
-rank = 3, A = ComplexF64[1.0 + 2.0im, 2.0 + 4.0im, 3.0 + 6.0im, 4.0 + 8.0im, 5.0 + 10.0im]
-rank = 0, B = Dict(&quot;foo&quot; =&gt; &quot;bar&quot;)
-rank = 2, B = Dict(&quot;foo&quot; =&gt; &quot;bar&quot;)
-rank = 1, B = Dict(&quot;foo&quot; =&gt; &quot;bar&quot;)
-rank = 3, B = Dict(&quot;foo&quot; =&gt; &quot;bar&quot;)
-rank = 0, f(3) = 14
-rank = 2, f(3) = 14
-rank = 3, f(3) = 14
-rank = 1, f(3) = 14</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../01-hello/">« Hello world</a><a class="docs-footer-nextpage" href="../03-reduce/">Reduce »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 1 January 2023 03:50">Sunday 1 January 2023</span>. Using Julia version 1.8.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR626/examples/03-reduce/index.html b/previews/PR626/examples/03-reduce/index.html
deleted file mode 100644
index a5b38ca34..000000000
--- a/previews/PR626/examples/03-reduce/index.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Reduce · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../01-hello/">Hello world</a></li><li><a class="tocitem" href="../02-broadcast/">Broadcast</a></li><li class="is-active"><a class="tocitem" href>Reduce</a></li><li><a class="tocitem" href="../04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../../reference/library/">Library information</a></li><li><a class="tocitem" href="../../reference/environment/">Environment</a></li><li><a class="tocitem" href="../../reference/misc/">Miscellanea</a></li><li><a class="tocitem" href="../../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../../reference/topology/">Topology</a></li><li><a class="tocitem" href="../../reference/io/">I/O</a></li><li><a class="tocitem" href="../../reference/advanced/">Advanced</a></li><li><a class="tocitem" href="../../reference/api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Examples</a></li><li class="is-active"><a href>Reduce</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Reduce</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/03-reduce.jl" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Reduce"><a class="docs-heading-anchor" href="#Reduce">Reduce</a><a id="Reduce-1"></a><a class="docs-heading-anchor-permalink" href="#Reduce" title="Permalink"></a></h1><pre><code class="language-julia hljs"># examples/03-reduce.jl
-# This example shows how to use custom datatypes and reduction operators
-# It computes the variance in parallel in a numerically stable way
-
-using MPI, Statistics
-
-MPI.Init()
-const comm = MPI.COMM_WORLD
-const root = 0
-
-# Define a custom struct
-# This contains the summary statistics (mean, variance, length) of a vector
-struct SummaryStat
-    mean::Float64
-    var::Float64
-    n::Float64
-end
-function SummaryStat(X::AbstractArray)
-    m = mean(X)
-    v = varm(X,m, corrected=false)
-    n = length(X)
-    SummaryStat(m,v,n)
-end
-
-# Define a custom reduction operator
-# this computes the pooled mean, pooled variance and total length
-function pool(S1::SummaryStat, S2::SummaryStat)
-    n = S1.n + S2.n
-    m = (S1.mean*S1.n + S2.mean*S2.n) / n
-    v = (S1.n * (S1.var + S1.mean * (S1.mean-m)) +
-         S2.n * (S2.var + S2.mean * (S2.mean-m)))/n
-    SummaryStat(m,v,n)
-end
-
-X = randn(10,3) .* [1,3,7]&#39;
-
-# Perform a scalar reduction
-summ = MPI.Reduce(SummaryStat(X), pool, root, comm)
-
-if MPI.Comm_rank(comm) == root
-    @show summ.var
-end
-
-# Perform a vector reduction:
-# the reduction operator is applied elementwise
-col_summ = MPI.Reduce(mapslices(SummaryStat,X,dims=1), pool, root, comm)
-
-if MPI.Comm_rank(comm) == root
-    col_var = map(summ -&gt; summ.var, col_summ)
-    @show col_var
-end</code></pre><pre><code class="nohighlight hljs">&gt; mpiexecjl -n 4 julia examples/03-reduce.jl
-summ.var = 18.304059898664317
-col_var = [0.8095134088162123 10.97400307742765 42.6429146274788]</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../02-broadcast/">« Broadcast</a><a class="docs-footer-nextpage" href="../04-sendrecv/">Send/receive »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 1 January 2023 03:50">Sunday 1 January 2023</span>. Using Julia version 1.8.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR626/examples/04-sendrecv/index.html b/previews/PR626/examples/04-sendrecv/index.html
deleted file mode 100644
index 390ab0383..000000000
--- a/previews/PR626/examples/04-sendrecv/index.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Send/receive · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../01-hello/">Hello world</a></li><li><a class="tocitem" href="../02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../03-reduce/">Reduce</a></li><li class="is-active"><a class="tocitem" href>Send/receive</a></li><li><a class="tocitem" href="../05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../../reference/library/">Library information</a></li><li><a class="tocitem" href="../../reference/environment/">Environment</a></li><li><a class="tocitem" href="../../reference/misc/">Miscellanea</a></li><li><a class="tocitem" href="../../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../../reference/topology/">Topology</a></li><li><a class="tocitem" href="../../reference/io/">I/O</a></li><li><a class="tocitem" href="../../reference/advanced/">Advanced</a></li><li><a class="tocitem" href="../../reference/api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Examples</a></li><li class="is-active"><a href>Send/receive</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Send/receive</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/04-sendrecv.jl" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Send/receive"><a class="docs-heading-anchor" href="#Send/receive">Send/receive</a><a id="Send/receive-1"></a><a class="docs-heading-anchor-permalink" href="#Send/receive" title="Permalink"></a></h1><pre><code class="language-julia hljs"># examples/04-sendrecv.jl
-using MPI
-MPI.Init()
-
-comm = MPI.COMM_WORLD
-rank = MPI.Comm_rank(comm)
-size = MPI.Comm_size(comm)
-
-dst = mod(rank+1, size)
-src = mod(rank-1, size)
-
-N = 4
-
-send_mesg = Array{Float64}(undef, N)
-recv_mesg = Array{Float64}(undef, N)
-
-fill!(send_mesg, Float64(rank))
-
-rreq = MPI.Irecv!(recv_mesg, comm; source=src, tag=src+32)
-
-print(&quot;$rank: Sending   $rank -&gt; $dst = $send_mesg\n&quot;)
-sreq = MPI.Isend(send_mesg, comm; dest=dst, tag=rank+32)
-
-stats = MPI.Waitall([rreq, sreq])
-
-print(&quot;$rank: Received $src -&gt; $rank = $recv_mesg\n&quot;)
-
-MPI.Barrier(comm)</code></pre><pre><code class="nohighlight hljs">&gt; mpiexecjl -n 4 julia examples/04-sendrecv.jl
-2: Sending   2 -&gt; 3 = [2.0, 2.0, 2.0, 2.0]
-0: Sending   0 -&gt; 1 = [0.0, 0.0, 0.0, 0.0]
-1: Sending   1 -&gt; 2 = [1.0, 1.0, 1.0, 1.0]
-3: Sending   3 -&gt; 0 = [3.0, 3.0, 3.0, 3.0]
-2: Received 1 -&gt; 2 = [1.0, 1.0, 1.0, 1.0]
-1: Received 0 -&gt; 1 = [0.0, 0.0, 0.0, 0.0]
-0: Received 3 -&gt; 0 = [3.0, 3.0, 3.0, 3.0]
-3: Received 2 -&gt; 3 = [2.0, 2.0, 2.0, 2.0]</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../03-reduce/">« Reduce</a><a class="docs-footer-nextpage" href="../05-job_schedule/">Job Scheduling »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 1 January 2023 03:50">Sunday 1 January 2023</span>. Using Julia version 1.8.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR626/examples/05-job_schedule/index.html b/previews/PR626/examples/05-job_schedule/index.html
deleted file mode 100644
index f3095c757..000000000
--- a/previews/PR626/examples/05-job_schedule/index.html
+++ /dev/null
@@ -1,172 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Job Scheduling · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../01-hello/">Hello world</a></li><li><a class="tocitem" href="../02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../03-reduce/">Reduce</a></li><li><a class="tocitem" href="../04-sendrecv/">Send/receive</a></li><li class="is-active"><a class="tocitem" href>Job Scheduling</a></li><li><a class="tocitem" href="../06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../../reference/library/">Library information</a></li><li><a class="tocitem" href="../../reference/environment/">Environment</a></li><li><a class="tocitem" href="../../reference/misc/">Miscellanea</a></li><li><a class="tocitem" href="../../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../../reference/topology/">Topology</a></li><li><a class="tocitem" href="../../reference/io/">I/O</a></li><li><a class="tocitem" href="../../reference/advanced/">Advanced</a></li><li><a class="tocitem" href="../../reference/api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Examples</a></li><li class="is-active"><a href>Job Scheduling</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Job Scheduling</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/05-job_schedule.jl" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Job-Scheduling"><a class="docs-heading-anchor" href="#Job-Scheduling">Job Scheduling</a><a id="Job-Scheduling-1"></a><a class="docs-heading-anchor-permalink" href="#Job-Scheduling" title="Permalink"></a></h1><pre><code class="language-julia hljs"># examples/05-job_schedule.jl
-# This example demonstrates a job scheduling through adding the
-# number 100 to every component of the vector data. The root
-# assigns one element to each worker to compute the operation.
-# When the worker is finished, the root sends another element
-# until each element is added 100
-# Inspired on
-# https://www.hpc.ntnu.no/ntnu-hpc-group/vilje/user-guide/software/mpi-and-mpi-io-training-tutorial/basic-mpi/job-queue
-
-using MPI
-
-function job_queue(data,f)
-    MPI.Init()
-
-    comm = MPI.COMM_WORLD
-    rank = MPI.Comm_rank(comm)
-    world_size = MPI.Comm_size(comm)
-    nworkers = world_size - 1
-
-    root = 0
-
-    MPI.Barrier(comm)
-    T = eltype(data)
-    N = size(data)[1]
-    send_mesg = Array{T}(undef, 1)
-    recv_mesg = Array{T}(undef, 1)
-
-    if rank == root # I am root
-
-        idx_recv = 0
-        idx_sent = 1
-
-        new_data = Array{T}(undef, N)
-        # Array of workers requests
-        sreqs_workers = Array{MPI.Request}(undef,nworkers)
-        # -1 = start, 0 = channel not available, 1 = channel available
-        status_workers = ones(nworkers).*-1
-
-        # Send message to workers
-        for dst in 1:nworkers
-            if idx_sent &gt; N
-                break
-            end
-            send_mesg[1] = data[idx_sent]
-            sreq = MPI.Isend(send_mesg, comm; dest=dst, tag=dst+32)
-            idx_sent += 1
-            sreqs_workers[dst] = sreq
-            status_workers[dst] = 0
-            print(&quot;Root: Sent number $(send_mesg[1]) to Worker $dst\n&quot;)
-        end
-
-        # Send and receive messages until all elements are added
-        while idx_recv != N
-            # Check to see if there is an available message to receive
-            for dst in 1:nworkers
-                if status_workers[dst] == 0
-                    flag = MPI.Test(sreqs_workers[dst])
-                    if flag
-                        status_workers[dst] = 1
-                    end
-                end
-            end
-            for dst in 1:nworkers
-                if status_workers[dst] == 1
-                    ismessage = MPI.Iprobe(comm; source=dst, tag=dst+32)
-                    if ismessage
-                        # Receives message
-                        MPI.Recv!(recv_mesg, comm; source=dst, tag=dst+32)
-                        idx_recv += 1
-                        new_data[idx_recv] = recv_mesg[1]
-                        print(&quot;Root: Received number $(recv_mesg[1]) from Worker $dst\n&quot;)
-                        if idx_sent &lt;= N
-                            send_mesg[1] = data[idx_sent]
-                            # Sends new message
-                            sreq = MPI.Isend(send_mesg, comm; dest=dst, tag=dst+32)
-                            idx_sent += 1
-                            sreqs_workers[dst] = sreq
-                            status_workers[dst] = 1
-                            print(&quot;Root: Sent number $(send_mesg[1]) to Worker $dst\n&quot;)
-                        end
-                    end
-                end
-            end
-        end
-
-        for dst in 1:nworkers
-            # Termination message to worker
-            send_mesg[1] = -1
-            sreq = MPI.Isend(send_mesg, comm; dest=dst, tag=dst+32)
-            sreqs_workers[dst] = sreq
-            status_workers[dst] = 0
-            print(&quot;Root: Finish Worker $dst\n&quot;)
-        end
-
-        MPI.Waitall(sreqs_workers)
-        print(&quot;Root: New data = $new_data\n&quot;)
-    else # If rank == worker
-        # -1 = start, 0 = channel not available, 1 = channel available
-        status_worker = -1
-        while true
-            sreqs_workers = Array{MPI.Request}(undef,1)
-            ismessage = MPI.Iprobe(comm; source=root, tag=rank+32)
-
-            if ismessage
-                # Receives message
-                MPI.Recv!(recv_mesg, comm; source=root, tag=rank+32)
-                # Termination message from root
-                if recv_mesg[1] == -1
-                    print(&quot;Worker $rank: Finish\n&quot;)
-                    break
-                end
-                print(&quot;Worker $rank: Received number $(recv_mesg[1]) from root\n&quot;)
-                # Apply function (add number 100) to array
-                send_mesg = f(recv_mesg)
-                sreq = MPI.Isend(send_mesg, comm; dest=root, tag=rank+32)
-                sreqs_workers[1] = sreq
-                status_worker = 0
-            end
-            # Check to see if there is an available message to receive
-            if status_worker == 0
-                flag = MPI.Test(sreqs_workers[1])
-                if flag
-                    status_worker = 1
-                end
-            end
-        end
-    end
-    MPI.Barrier(comm)
-    MPI.Finalize()
-end
-
-f = x -&gt; x.+100
-data = collect(1:10)
-job_queue(data,f)</code></pre><pre><code class="nohighlight hljs">&gt; mpiexecjl -n 4 julia examples/05-job_schedule.jl
-Root: Sent number 1 to Worker 1
-Root: Sent number 2 to Worker 2
-Root: Sent number 3 to Worker 3
-Worker 1: Received number 1 from root
-Root: Received number 101 from Worker 1
-Root: Sent number 4 to Worker 1
-Worker 1: Received number 4 from root
-Root: Received number 104 from Worker 1
-Root: Sent number 5 to Worker 1
-Worker 1: Received number 5 from root
-Root: Received number 105 from Worker 1
-Root: Sent number 6 to Worker 1
-Worker 1: Received number 6 from root
-Root: Received number 106 from Worker 1
-Root: Sent number 7 to Worker 1
-Worker 1: Received number 7 from root
-Root: Received number 107 from Worker 1
-Root: Sent number 8 to Worker 1
-Worker 1: Received number 8 from root
-Root: Received number 108 from Worker 1
-Root: Sent number 9 to Worker 1
-Worker 1: Received number 9 from root
-Root: Received number 109 from Worker 1
-Root: Sent number 10 to Worker 1
-Worker 1: Received number 10 from root
-Root: Received number 110 from Worker 1
-Worker 2: Received number 2 from root
-Worker 3: Received number 3 from root
-Root: Received number 102 from Worker 2
-Root: Received number 103 from Worker 3
-Root: Finish Worker 1
-Worker 1: Finish
-Root: Finish Worker 2
-Root: Finish Worker 3
-Worker 3: Finish
-Root: New data = [101, 104, 105, 106, 107, 108, 109, 110, 102, 103]
-Worker 2: Finish</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../04-sendrecv/">« Send/receive</a><a class="docs-footer-nextpage" href="../06-scatterv/">Scatterv and Gatherv »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 1 January 2023 03:50">Sunday 1 January 2023</span>. Using Julia version 1.8.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR626/examples/06-scatterv/index.html b/previews/PR626/examples/06-scatterv/index.html
deleted file mode 100644
index 27e13c58d..000000000
--- a/previews/PR626/examples/06-scatterv/index.html
+++ /dev/null
@@ -1,101 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Scatterv and Gatherv · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../01-hello/">Hello world</a></li><li><a class="tocitem" href="../02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../03-reduce/">Reduce</a></li><li><a class="tocitem" href="../04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../05-job_schedule/">Job Scheduling</a></li><li class="is-active"><a class="tocitem" href>Scatterv and Gatherv</a></li><li><a class="tocitem" href="../07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../../reference/library/">Library information</a></li><li><a class="tocitem" href="../../reference/environment/">Environment</a></li><li><a class="tocitem" href="../../reference/misc/">Miscellanea</a></li><li><a class="tocitem" href="../../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../../reference/topology/">Topology</a></li><li><a class="tocitem" href="../../reference/io/">I/O</a></li><li><a class="tocitem" href="../../reference/advanced/">Advanced</a></li><li><a class="tocitem" href="../../reference/api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Examples</a></li><li class="is-active"><a href>Scatterv and Gatherv</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Scatterv and Gatherv</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/06-scatterv.jl" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Scatterv-and-Gatherv"><a class="docs-heading-anchor" href="#Scatterv-and-Gatherv">Scatterv and Gatherv</a><a id="Scatterv-and-Gatherv-1"></a><a class="docs-heading-anchor-permalink" href="#Scatterv-and-Gatherv" title="Permalink"></a></h1><pre><code class="language-julia hljs"># examples/06-scatterv.jl
-# This example shows how to use MPI.Scatterv! and MPI.Gatherv!
-# roughly based on the example from
-# https://stackoverflow.com/a/36082684/392585
-
-using MPI
-
-&quot;&quot;&quot;
-    split_count(N::Integer, n::Integer)
-
-Return a vector of `n` integers which are approximately equally sized and sum to `N`.
-&quot;&quot;&quot;
-function split_count(N::Integer, n::Integer)
-    q,r = divrem(N, n)
-    return [i &lt;= r ? q+1 : q for i = 1:n]
-end
-
-
-MPI.Init()
-
-comm = MPI.COMM_WORLD
-rank = MPI.Comm_rank(comm)
-comm_size = MPI.Comm_size(comm)
-
-root = 0
-
-if rank == root
-    M, N = 4, 7
-
-    test = Float64[i for i = 1:M, j = 1:N]
-    output = similar(test)
-    
-    # Julia arrays are stored in column-major order, so we need to split along the last dimension
-    # dimension
-    M_counts = [M for i = 1:comm_size]
-    N_counts = split_count(N, comm_size)
-
-    # store sizes in 2 * comm_size Array
-    sizes = vcat(M_counts&#39;, N_counts&#39;)
-    size_ubuf = UBuffer(sizes, 2)
-
-    # store number of values to send to each rank in comm_size length Vector
-    counts = vec(prod(sizes, dims=1))
-
-    test_vbuf = VBuffer(test, counts) # VBuffer for scatter
-    output_vbuf = VBuffer(output, counts) # VBuffer for gather
-else
-    # these variables can be set to `nothing` on non-root processes
-    size_ubuf = UBuffer(nothing)
-    output_vbuf = test_vbuf = VBuffer(nothing)
-end
-
-if rank == root
-    println(&quot;Original matrix&quot;)
-    println(&quot;================&quot;)
-    @show test sizes counts
-    println()
-    println(&quot;Each rank&quot;)
-    println(&quot;================&quot;)
-end 
-MPI.Barrier(comm)
-
-local_size = MPI.Scatter(size_ubuf, NTuple{2,Int}, root, comm)
-local_test = MPI.Scatterv!(test_vbuf, zeros(Float64, local_size), root, comm)
-
-for i = 0:comm_size-1
-    if rank == i
-        @show rank local_test
-    end
-    MPI.Barrier(comm)
-end
-
-MPI.Gatherv!(local_test, output_vbuf, root, comm)
-
-if rank == root
-    println()
-    println(&quot;Final matrix&quot;)
-    println(&quot;================&quot;)
-    @show output
-end </code></pre><pre><code class="nohighlight hljs">&gt; mpiexecjl -n 4 julia examples/06-scatterv.jl
-Original matrix
-================
-test = [1.0 1.0 1.0 1.0 1.0 1.0 1.0; 2.0 2.0 2.0 2.0 2.0 2.0 2.0; 3.0 3.0 3.0 3.0 3.0 3.0 3.0; 4.0 4.0 4.0 4.0 4.0 4.0 4.0]
-sizes = [4 4 4 4; 2 2 2 1]
-counts = [8, 8, 8, 4]
-
-Each rank
-================
-rank = 0
-local_test = [1.0 1.0; 2.0 2.0; 3.0 3.0; 4.0 4.0]
-rank = 1
-local_test = [1.0 1.0; 2.0 2.0; 3.0 3.0; 4.0 4.0]
-rank = 2
-local_test = [1.0 1.0; 2.0 2.0; 3.0 3.0; 4.0 4.0]
-rank = 3
-local_test = [1.0; 2.0; 3.0; 4.0;;]
-
-Final matrix
-================
-output = [1.0 1.0 1.0 1.0 1.0 1.0 1.0; 2.0 2.0 2.0 2.0 2.0 2.0 2.0; 3.0 3.0 3.0 3.0 3.0 3.0 3.0; 4.0 4.0 4.0 4.0 4.0 4.0 4.0]</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../05-job_schedule/">« Job Scheduling</a><a class="docs-footer-nextpage" href="../07-rma_active/">Active RMA »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 1 January 2023 03:50">Sunday 1 January 2023</span>. Using Julia version 1.8.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR626/examples/07-rma_active/index.html b/previews/PR626/examples/07-rma_active/index.html
deleted file mode 100644
index 2e2fd6697..000000000
--- a/previews/PR626/examples/07-rma_active/index.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Active RMA · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../01-hello/">Hello world</a></li><li><a class="tocitem" href="../02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../03-reduce/">Reduce</a></li><li><a class="tocitem" href="../04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../06-scatterv/">Scatterv and Gatherv</a></li><li class="is-active"><a class="tocitem" href>Active RMA</a></li><li><a class="tocitem" href="../08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../../reference/library/">Library information</a></li><li><a class="tocitem" href="../../reference/environment/">Environment</a></li><li><a class="tocitem" href="../../reference/misc/">Miscellanea</a></li><li><a class="tocitem" href="../../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../../reference/topology/">Topology</a></li><li><a class="tocitem" href="../../reference/io/">I/O</a></li><li><a class="tocitem" href="../../reference/advanced/">Advanced</a></li><li><a class="tocitem" href="../../reference/api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Examples</a></li><li class="is-active"><a href>Active RMA</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Active RMA</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/07-rma_active.jl" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Active-RMA"><a class="docs-heading-anchor" href="#Active-RMA">Active RMA</a><a id="Active-RMA-1"></a><a class="docs-heading-anchor-permalink" href="#Active-RMA" title="Permalink"></a></h1><pre><code class="language-julia hljs"># examples/07-rma_active.jl
-# This example demonstrates one-sided communication,
-# specifically activate Remote Memory Access (RMA)
-
-using MPI
-
-MPI.Init()
-const world_sz = MPI.Comm_size(MPI.COMM_WORLD)
-const rank = MPI.Comm_rank(MPI.COMM_WORLD)
-
-# allocate memory
-all_ranks = fill(-1, world_sz)
-# create RMA window on all ranks
-win = MPI.Win_create(all_ranks, MPI.COMM_WORLD)
-
-#### first, let&#39;s MPI.Put on all ranks
-
-# start the communication epoch
-MPI.Win_fence(0, win)
-# each rank writes to exposed windows of rank 0
-# Signature: obj, target_rank, target_displacement, window
-MPI.Put(rank, 0, rank, win)
-# finish the communication epoch
-MPI.Win_fence(0, win)
-# print window content on all ranks
-for j in 0:world_sz-1
-    if rank == j
-        println(&quot;After Put, Rank $rank:&quot;)
-        @show all_ranks
-    end
-    MPI.Barrier(MPI.COMM_WORLD)
-end
-rank == 0 &amp;&amp; println()
-
-#### now, let&#39;s MPI.Get on all ranks
-
-# start the communication epoch
-MPI.Win_fence(0, win)
-# each rank reads from exposed windows of rank 0
-MPI.Get(all_ranks, 0, win)
-# finish the communication epoch
-MPI.Win_fence(0, win)
-# print window content on all ranks
-for j in 0:world_sz-1
-    if rank == j
-        println(&quot;After Get, Rank $rank:&quot;)
-        @show all_ranks
-    end
-    MPI.Barrier(MPI.COMM_WORLD)
-end
-
-# free window
-MPI.free(win)</code></pre><pre><code class="nohighlight hljs">&gt; mpiexecjl -n 4 julia examples/07-rma_active.jl
-After Put, Rank 0:
-all_ranks = [0, 1, 2, 3]
-After Put, Rank 1:
-all_ranks = [-1, -1, -1, -1]
-After Put, Rank 2:
-all_ranks = [-1, -1, -1, -1]
-After Put, Rank 3:
-all_ranks = [-1, -1, -1, -1]
-
-After Get, Rank 0:
-all_ranks = [0, 1, 2, 3]
-After Get, Rank 1:
-all_ranks = [0, 1, 2, 3]
-After Get, Rank 2:
-all_ranks = [0, 1, 2, 3]
-After Get, Rank 3:
-all_ranks = [0, 1, 2, 3]</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../06-scatterv/">« Scatterv and Gatherv</a><a class="docs-footer-nextpage" href="../08-rma_passive/">Passive RMA »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 1 January 2023 03:50">Sunday 1 January 2023</span>. Using Julia version 1.8.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR626/examples/08-rma_passive/index.html b/previews/PR626/examples/08-rma_passive/index.html
deleted file mode 100644
index 33362ec2e..000000000
--- a/previews/PR626/examples/08-rma_passive/index.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Passive RMA · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../01-hello/">Hello world</a></li><li><a class="tocitem" href="../02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../03-reduce/">Reduce</a></li><li><a class="tocitem" href="../04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../07-rma_active/">Active RMA</a></li><li class="is-active"><a class="tocitem" href>Passive RMA</a></li><li><a class="tocitem" href="../09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../../reference/library/">Library information</a></li><li><a class="tocitem" href="../../reference/environment/">Environment</a></li><li><a class="tocitem" href="../../reference/misc/">Miscellanea</a></li><li><a class="tocitem" href="../../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../../reference/topology/">Topology</a></li><li><a class="tocitem" href="../../reference/io/">I/O</a></li><li><a class="tocitem" href="../../reference/advanced/">Advanced</a></li><li><a class="tocitem" href="../../reference/api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Examples</a></li><li class="is-active"><a href>Passive RMA</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Passive RMA</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/08-rma_passive.jl" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Passive-RMA"><a class="docs-heading-anchor" href="#Passive-RMA">Passive RMA</a><a id="Passive-RMA-1"></a><a class="docs-heading-anchor-permalink" href="#Passive-RMA" title="Permalink"></a></h1><pre><code class="language-julia hljs"># examples/08-rma_passive.jl
-# This example demonstrates one-sided communication,
-# specifically passive Remote Memory Access (RMA)
-
-using MPI
-
-MPI.Init()
-const world_sz = MPI.Comm_size(MPI.COMM_WORLD)
-const rank = MPI.Comm_rank(MPI.COMM_WORLD)
-
-# allocate memory
-all_ranks = fill(-1, world_sz)
-# create RMA window on all ranks
-win = MPI.Win_create(all_ranks, MPI.COMM_WORLD)
-
-# let each rank write its rank number into window
-if rank != 0
-    # lock window (MPI.LOCK_SHARED works as well)
-    MPI.Win_lock(MPI.LOCK_EXCLUSIVE, 0, 0, win)
-    # each rank writes to exposed windows of rank 0
-    # Signature: obj, target_rank, target_displacement, window
-    MPI.Put(rank, 0, rank, win)
-    # finish the communication epoch
-    MPI.Win_unlock(0, win)
-else
-    all_ranks[1] = 0
-end
-
-# wait with printing
-MPI.Win_fence(0, win)
-
-# print window content on all ranks
-if rank == 0
-    println(&quot;After Put with lock / unlock, window content on rank 0:&quot;)
-    @show all_ranks
-end
-
-# free window
-MPI.free(win)</code></pre><pre><code class="nohighlight hljs">&gt; mpiexecjl -n 4 julia examples/08-rma_passive.jl
-After Put with lock / unlock, window content on rank 0:
-all_ranks = [0, 1, 2, 3]</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../07-rma_active/">« Active RMA</a><a class="docs-footer-nextpage" href="../09-graph_communication/">Graph Communication »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 1 January 2023 03:50">Sunday 1 January 2023</span>. Using Julia version 1.8.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR626/examples/09-graph_communication/index.html b/previews/PR626/examples/09-graph_communication/index.html
deleted file mode 100644
index d7ca54746..000000000
--- a/previews/PR626/examples/09-graph_communication/index.html
+++ /dev/null
@@ -1,139 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Graph Communication · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../01-hello/">Hello world</a></li><li><a class="tocitem" href="../02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../03-reduce/">Reduce</a></li><li><a class="tocitem" href="../04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../08-rma_passive/">Passive RMA</a></li><li class="is-active"><a class="tocitem" href>Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../../reference/library/">Library information</a></li><li><a class="tocitem" href="../../reference/environment/">Environment</a></li><li><a class="tocitem" href="../../reference/misc/">Miscellanea</a></li><li><a class="tocitem" href="../../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../../reference/topology/">Topology</a></li><li><a class="tocitem" href="../../reference/io/">I/O</a></li><li><a class="tocitem" href="../../reference/advanced/">Advanced</a></li><li><a class="tocitem" href="../../reference/api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Examples</a></li><li class="is-active"><a href>Graph Communication</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Graph Communication</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/09-graph_communication.jl" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Graph-Communication"><a class="docs-heading-anchor" href="#Graph-Communication">Graph Communication</a><a id="Graph-Communication-1"></a><a class="docs-heading-anchor-permalink" href="#Graph-Communication" title="Permalink"></a></h1><pre><code class="language-julia hljs"># examples/09-graph_communication.jl
-using Test
-using MPI
-
-MPI.Init()
-
-comm = MPI.COMM_WORLD
-size = MPI.Comm_size(comm)
-rank = MPI.Comm_rank(comm)
-
-#
-# Setup the following communication graph
-#
-#   +-----+
-#   |     |
-#   v     v
-#   0&lt;-+  3
-#   ^  |  ^
-#   |  |  |
-#   v  |  v
-#   1  +--2
-#   ^     |
-#   |     |
-#   +-----+
-#
-#
-
-if rank == 0
-    dest   = Cint[1,3]
-    degree = Cint[length(dest)]
-elseif rank == 1
-    dest   = Cint[0]
-    degree = Cint[length(dest)]
-elseif rank == 2
-    dest   = Cint[3,0,1]
-    degree = Cint[length(dest)]
-elseif rank == 3
-    dest   = Cint[0,2,1]
-    degree = Cint[length(dest)]
-end
-
-source = Cint[rank]
-graph_comm = MPI.Dist_graph_create(comm, source, degree, dest)
-
-#
-# Now send the rank across the edges.
-#
-# Version 1: use allgather primitive
-#
-
-send = [rank]
-if rank == 0
-    recv = [-1, -1, -1]
-elseif rank == 1
-    recv = [-1, -1, -1]
-elseif rank == 2
-    recv = [-1]
-elseif rank == 3
-    recv = [-1, -1]
-end
-
-MPI.Neighbor_allgather!(send, recv, graph_comm);
-
-println(&quot;rank = $(rank): $(recv)&quot;)
-
-#
-# Version 2: use alltoall primitive
-#
-
-if rank == 0
-    send   = [rank, rank]
-    recv   = [-1, -1, -1]
-elseif rank == 1
-    send = [rank]
-    recv   = [-1, -1, -1]
-elseif rank == 2
-    send = [rank, rank, rank]
-    recv   = [-1]
-elseif rank == 3
-    send = [rank, rank, rank]
-    recv   = [-1, -1]
-end
-
-MPI.Neighbor_alltoall!(UBuffer(send,1), UBuffer(recv,1), graph_comm);
-
-println(&quot;rank = $(rank): $(recv)&quot;)
-
-#
-# Now send the rank exactly rank times across the edges.
-#
-# Rank i receives i+1 values from each adjacent process
-if rank == 0
-    send       = [rank, rank,
-                  rank, rank, rank, rank]
-    send_count = [2, 4]
-
-    recv   = [-1, -1, -1]
-    recv_count = [1, 1, 1]
-elseif rank == 1
-    send       = [rank]
-    send_count = [1]
-
-    recv       = [-1, -1, -1, -1, -1, -1]
-    recv_count = [2, 2, 2]
-elseif rank == 2
-    send       = [rank, rank, rank, rank,
-                  rank,
-                  rank,rank]
-    send_count = [4, 1, 2]
-
-    recv       = [-1, -1, -1]
-    recv_count = [3]
-elseif rank == 3
-    send       = [rank, 
-                  rank, rank,rank,
-                  rank, rank]
-    send_count = [1, 3, 2]
-
-    recv       = [-1, -1, -1, -1, -1, -1, -1, -1]
-    recv_count = [4, 4]
-end
-
-MPI.Neighbor_alltoallv!(VBuffer(send,send_count), VBuffer(recv,recv_count), graph_comm);
-println(&quot;rank = $(rank): $(recv)&quot;)
-
-MPI.Finalize()</code></pre><pre><code class="nohighlight hljs">&gt; mpiexecjl -n 4 julia examples/09-graph_communication.jl
-rank = 2: [3]
-rank = 1: [3, 0, 2]rank = 3: [0, 2]
-
-rank = 0: [3, 1, 2]
-rank = 2: [3]
-rank = 0: [3, 1, 2]rank = 3: [0, 2]
-rank = 1: [3, 0, 2]
-
-rank = 0: [3, 1, 2]rank = 3: [0, 0, 0, 0, 2, 2, 2, 2]
-rank = 1: [3, 3, 0, 0, 2, 2]
-
-rank = 2: [3, 3, 3]</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../08-rma_passive/">« Passive RMA</a><a class="docs-footer-nextpage" href="../../reference/mpipreferences/">MPIPreferences.jl »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 1 January 2023 03:50">Sunday 1 January 2023</span>. Using Julia version 1.8.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR626/index.html b/previews/PR626/index.html
deleted file mode 100644
index afe73563f..000000000
--- a/previews/PR626/index.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>MPI.jl · MPI.jl</title><script data-outdated-warner src="assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="assets/documenter.js"></script><script src="siteinfo.js"></script><script src="../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href><img src="assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href>MPI.jl</a></span></div><form class="docs-search" action="search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li class="is-active"><a class="tocitem" href>MPI.jl</a></li><li><a class="tocitem" href="configuration/">Configuration</a></li><li><a class="tocitem" href="usage/">Usage</a></li><li><a class="tocitem" href="knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="reference/library/">Library information</a></li><li><a class="tocitem" href="reference/environment/">Environment</a></li><li><a class="tocitem" href="reference/misc/">Miscellanea</a></li><li><a class="tocitem" href="reference/comm/">Communicators</a></li><li><a class="tocitem" href="reference/buffers/">Buffers</a></li><li><a class="tocitem" href="reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="reference/collective/">Collective communication</a></li><li><a class="tocitem" href="reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="reference/topology/">Topology</a></li><li><a class="tocitem" href="reference/io/">I/O</a></li><li><a class="tocitem" href="reference/advanced/">Advanced</a></li><li><a class="tocitem" href="reference/api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>MPI.jl</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>MPI.jl</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/index.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="MPI.jl"><a class="docs-heading-anchor" href="#MPI.jl">MPI.jl</a><a id="MPI.jl-1"></a><a class="docs-heading-anchor-permalink" href="#MPI.jl" title="Permalink"></a></h1><p>This is a basic <a href="http://julialang.org/">Julia</a> wrapper for the portable message passing system Message Passing Interface (<a href="http://www.mpi-forum.org/">MPI</a>). Inspiration is taken from <a href="http://mpi4py.scipy.org">mpi4py</a>, although we generally follow the C and not the C++ MPI API. (The C++ MPI API is deprecated.)</p><p>If you use MPI.jl in your work, please cite the following paper:</p><blockquote><p>Simon Byrne, Lucas C. Wilcox, and Valentin Churavy (2021) &quot;MPI.jl: Julia bindings for the Message Passing Interface&quot;. <em>JuliaCon Proceedings</em>, 1(1), 68, doi: <a href="https://doi.org/10.21105/jcon.00068">10.21105/jcon.00068</a></p></blockquote></article><nav class="docs-footer"><a class="docs-footer-nextpage" href="configuration/">Configuration »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 1 January 2023 03:50">Sunday 1 January 2023</span>. Using Julia version 1.8.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR626/knownissues/index.html b/previews/PR626/knownissues/index.html
deleted file mode 100644
index 8606416b4..000000000
--- a/previews/PR626/knownissues/index.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Known issues · MPI.jl</title><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../"><img src="../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../">MPI.jl</a></span></div><form class="docs-search" action="../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../">MPI.jl</a></li><li><a class="tocitem" href="../configuration/">Configuration</a></li><li><a class="tocitem" href="../usage/">Usage</a></li><li class="is-active"><a class="tocitem" href>Known issues</a><ul class="internal"><li><a class="tocitem" href="#Julia-module-precompilation"><span>Julia module precompilation</span></a></li><li><a class="tocitem" href="#Open-MPI"><span>Open MPI</span></a></li><li><a class="tocitem" href="#UCX"><span>UCX</span></a></li><li><a class="tocitem" href="#CUDA-aware-MPI"><span>CUDA-aware MPI</span></a></li><li><a class="tocitem" href="#ROCm-aware-MPI"><span>ROCm-aware MPI</span></a></li><li><a class="tocitem" href="#Custom-reduction-operators"><span>Custom reduction operators</span></a></li></ul></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../reference/library/">Library information</a></li><li><a class="tocitem" href="../reference/environment/">Environment</a></li><li><a class="tocitem" href="../reference/misc/">Miscellanea</a></li><li><a class="tocitem" href="../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../reference/topology/">Topology</a></li><li><a class="tocitem" href="../reference/io/">I/O</a></li><li><a class="tocitem" href="../reference/advanced/">Advanced</a></li><li><a class="tocitem" href="../reference/api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>Known issues</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Known issues</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/knownissues.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Known-issues"><a class="docs-heading-anchor" href="#Known-issues">Known issues</a><a id="Known-issues-1"></a><a class="docs-heading-anchor-permalink" href="#Known-issues" title="Permalink"></a></h1><h2 id="Julia-module-precompilation"><a class="docs-heading-anchor" href="#Julia-module-precompilation">Julia module precompilation</a><a id="Julia-module-precompilation-1"></a><a class="docs-heading-anchor-permalink" href="#Julia-module-precompilation" title="Permalink"></a></h2><p>If multiple MPI ranks trigger Julia&#39;s module precompilation, then a race condition can result in an error such as:</p><pre><code class="nohighlight hljs">ERROR: LoadError: IOError: mkdir: file already exists (EEXIST)
-Stacktrace:
- [1] uv_error at ./libuv.jl:97 [inlined]
- [2] mkdir(::String; mode::UInt16) at ./file.jl:177
- [3] mkpath(::String; mode::UInt16) at ./file.jl:227
- [4] mkpath at ./file.jl:222 [inlined]
- [5] compilecache_path(::Base.PkgId) at ./loading.jl:1210
- [6] compilecache(::Base.PkgId, ::String) at ./loading.jl:1240
- [7] _require(::Base.PkgId) at ./loading.jl:1029
- [8] require(::Base.PkgId) at ./loading.jl:927
- [9] require(::Module, ::Symbol) at ./loading.jl:922
- [10] include(::Module, ::String) at ./Base.jl:377
- [11] exec_options(::Base.JLOptions) at ./client.jl:288
- [12] _start() at ./client.jl:484</code></pre><p>See <a href="https://github.com/JuliaLang/julia/pull/30174">julia issue #30174</a> for more discussion of this problem. There are similar issues with Pkg operations, see <a href="https://github.com/JuliaLang/Pkg.jl/issues/1219">Pkg issue #1219</a>.</p><p>This can be worked around be either:</p><ol><li><p>Triggering precompilation before launching MPI processes, for example:</p><pre><code class="nohighlight hljs">julia --project -e &#39;using Pkg; pkg&quot;instantiate&quot;&#39;
-julia --project -e &#39;using Pkg; pkg&quot;precompile&quot;&#39;
-mpiexec julia --project script.jl</code></pre></li><li><p>Launching julia with the  <code>--compiled-modules=no</code> option. This can result in much longer package load times.</p></li></ol><h2 id="Open-MPI"><a class="docs-heading-anchor" href="#Open-MPI">Open MPI</a><a id="Open-MPI-1"></a><a class="docs-heading-anchor-permalink" href="#Open-MPI" title="Permalink"></a></h2><h3 id="Segmentation-fault-when-loading-the-library"><a class="docs-heading-anchor" href="#Segmentation-fault-when-loading-the-library">Segmentation fault when loading the library</a><a id="Segmentation-fault-when-loading-the-library-1"></a><a class="docs-heading-anchor-permalink" href="#Segmentation-fault-when-loading-the-library" title="Permalink"></a></h3><p>When attempting to use a system-provided Open MPI implementation, you may encounter a segmentation fault upon loading the library, or whenever the value of an environment variable is requested. This can be fixed by setting the environment variable <code>ZES_ENABLE_SYSMAN=1</code>. See <a href="https://github.com/open-mpi/ompi/issues/10142">Open MPI issue #10142</a> for more details.</p><h3 id="Segmentation-fault-in-HCOLL"><a class="docs-heading-anchor" href="#Segmentation-fault-in-HCOLL">Segmentation fault in HCOLL</a><a id="Segmentation-fault-in-HCOLL-1"></a><a class="docs-heading-anchor-permalink" href="#Segmentation-fault-in-HCOLL" title="Permalink"></a></h3><p>If Open MPI was built with support for HCOLL, you may encounter a segmentation fault in certain operations involving custom datatypes. The stacktrace may look something like</p><pre><code class="nohighlight hljs">hcoll_create_mpi_type at /opt/mellanox/hcoll/lib/libhcoll.so.1 (unknown line)
-ompi_dtype_2_hcoll_dtype at /lustre/software/openmpi/llvm14/4.1.4/lib/openmpi/mca_coll_hcoll.so (unknown line)
-mca_coll_hcoll_allgather at /lustre/software/openmpi/llvm14/4.1.4/lib/openmpi/mca_coll_hcoll.so (unknown line)
-MPI_Allgather at /lustre/software/openmpi/llvm14/4.1.4/lib/libmpi.so (unknown line)</code></pre><p>This is due to a bug in HCOLL, see <a href="https://github.com/open-mpi/ompi/issues/11201">Open MPI issue #11201</a> for more details. You can disable HCOLL by exporting the environment variable</p><pre><code class="language-sh hljs">export OMPI_MCA_coll_hcoll_enable=&quot;0&quot;</code></pre><p>before starting the MPI process.</p><h2 id="UCX"><a class="docs-heading-anchor" href="#UCX">UCX</a><a id="UCX-1"></a><a class="docs-heading-anchor-permalink" href="#UCX" title="Permalink"></a></h2><p><a href="https://www.openucx.org/">UCX</a> is a communication framework used by several MPI implementations.</p><h3 id="Memory-cache"><a class="docs-heading-anchor" href="#Memory-cache">Memory cache</a><a id="Memory-cache-1"></a><a class="docs-heading-anchor-permalink" href="#Memory-cache" title="Permalink"></a></h3><p>When used with CUDA, UCX intercepts <code>cudaMalloc</code> so it can determine whether the pointer passed to MPI is on the host (main memory) or the device (GPU). Unfortunately, there are several known issues with how this works with Julia:</p><ul><li><a href="https://github.com/openucx/ucx/issues/5061">UCX issue #5061</a></li><li><a href="https://github.com/openucx/ucx/issues/4001">UCX issue #4001</a> (fixed in UCX v1.7.0)</li></ul><p>By default, MPI.jl disables this by setting</p><pre><code class="nohighlight hljs">ENV[&quot;UCX_MEMTYPE_CACHE&quot;] = &quot;no&quot;</code></pre><p>at <code>__init__</code> which may result in reduced performance, especially for smaller messages.</p><h3 id="Multi-threading-and-signal-handling"><a class="docs-heading-anchor" href="#Multi-threading-and-signal-handling">Multi-threading and signal handling</a><a id="Multi-threading-and-signal-handling-1"></a><a class="docs-heading-anchor-permalink" href="#Multi-threading-and-signal-handling" title="Permalink"></a></h3><p>When using <a href="https://docs.julialang.org/en/v1/manual/parallel-computing/#man-multithreading-1">Julia multi-threading</a>, the Julia garbage collector internally <a href="https://docs.julialang.org/en/v1/devdocs/debuggingtips/#Dealing-with-signals-1">uses <code>SIGSEGV</code> to synchronize threads</a>.</p><p>By default, UCX will error if this signal is raised (<a href="https://github.com/JuliaParallel/MPI.jl/issues/337">#337</a>), resulting in a message such as:</p><pre><code class="nohighlight hljs">Caught signal 11 (Segmentation fault: invalid permissions for mapped object at address 0xXXXXXXXX)</code></pre><p>This signal interception can be controlled by setting the environment variable <code>UCX_ERROR_SIGNALS</code>: if not already defined, MPI.jl will set it as:</p><pre><code class="nohighlight hljs">ENV[&quot;UCX_ERROR_SIGNALS&quot;] = &quot;SIGILL,SIGBUS,SIGFPE&quot;</code></pre><p>at <code>__init__</code>. If set externally, it should be modified to exclude <code>SIGSEGV</code> from the list.</p><h2 id="CUDA-aware-MPI"><a class="docs-heading-anchor" href="#CUDA-aware-MPI">CUDA-aware MPI</a><a id="CUDA-aware-MPI-1"></a><a class="docs-heading-anchor-permalink" href="#CUDA-aware-MPI" title="Permalink"></a></h2><h3 id="Memory-pool"><a class="docs-heading-anchor" href="#Memory-pool">Memory pool</a><a id="Memory-pool-1"></a><a class="docs-heading-anchor-permalink" href="#Memory-pool" title="Permalink"></a></h3><p>Using CUDA-aware MPI on multi-GPU nodes with recent CUDA.jl may trigger (see <a href="https://github.com/JuliaGPU/CUDA.jl/issues/1053#issue-946826096">here</a>)</p><pre><code class="nohighlight hljs">The call to cuIpcGetMemHandle failed. This means the GPU RDMA protocol
-cannot be used.
-  cuIpcGetMemHandle return value:   1</code></pre><p>in the MPI layer, or fail on a segmentation fault (see <a href="https://discourse.julialang.org/t/cuda-aware-mpi-works-on-system-but-not-for-julia/75060">here</a>) with</p><pre><code class="nohighlight hljs">[1642930332.032032] [gcn19:4087661:0] gdr_copy_md.c:122 UCX ERROR gdr_pin_buffer failed. length :65536 ret:22</code></pre><p>This is due to the MPI implementation using legacy <code>cuIpc*</code> APIs, which are incompatible with stream-ordered allocator, now default in CUDA.jl, see <a href="https://github.com/openucx/ucx/issues/7110">UCX issue #7110</a>.</p><p>To circumvent this, one has to ensure the CUDA memory pool to be set to <code>none</code>:</p><pre><code class="nohighlight hljs">export JULIA_CUDA_MEMORY_POOL=none</code></pre><p><em>More about CUDA.jl <a href="https://cuda.juliagpu.org/stable/usage/memory/#Memory-pool">memory environment-variables</a>.</em></p><h3 id="Hints-to-ensure-CUDA-aware-MPI-to-be-functional"><a class="docs-heading-anchor" href="#Hints-to-ensure-CUDA-aware-MPI-to-be-functional">Hints to ensure CUDA-aware MPI to be functional</a><a id="Hints-to-ensure-CUDA-aware-MPI-to-be-functional-1"></a><a class="docs-heading-anchor-permalink" href="#Hints-to-ensure-CUDA-aware-MPI-to-be-functional" title="Permalink"></a></h3><p>Make sure to:</p><ul><li>Have MPI and CUDA on path (or module loaded) that were used to build the CUDA-aware MPI</li><li>Set the following environment variables:   <code>export JULIA_CUDA_MEMORY_POOL=none   export JULIA_CUDA_USE_BINARYBUILDER=false</code></li><li>Add CUDA, MPIPreferences, and MPI packages in Julia. Switch to using the system binary<pre><code class="nohighlight hljs">julia --project -e &#39;using Pkg; Pkg.add([&quot;CUDA&quot;, &quot;MPIPreferences&quot;, &quot;MPI&quot;]); using MPIPreferences; MPIPreferences.use_system_binary()&#39;</code></pre></li><li>Then in Julia, upon loading MPI and CUDA modules, you can check<ul><li>CUDA version: <code>CUDA.versioninfo()</code></li><li>If MPI has CUDA: <code>MPI.has_cuda()</code></li><li>If you are using correct MPI library: <code>MPI.libmpi</code></li></ul></li></ul><p>After that, it may be preferred to run the Julia MPI script (as suggested <a href="https://discourse.julialang.org/t/cuda-aware-mpi-works-on-system-but-not-for-julia/75060/11">here</a>) launching it from a shell script (as suggested <a href="https://discourse.julialang.org/t/cuda-aware-mpi-works-on-system-but-not-for-julia/75060/4">here</a>).</p><h2 id="ROCm-aware-MPI"><a class="docs-heading-anchor" href="#ROCm-aware-MPI">ROCm-aware MPI</a><a id="ROCm-aware-MPI-1"></a><a class="docs-heading-anchor-permalink" href="#ROCm-aware-MPI" title="Permalink"></a></h2><h3 id="Hints-to-ensure-ROCm-aware-MPI-to-be-functional"><a class="docs-heading-anchor" href="#Hints-to-ensure-ROCm-aware-MPI-to-be-functional">Hints to ensure ROCm-aware MPI to be functional</a><a id="Hints-to-ensure-ROCm-aware-MPI-to-be-functional-1"></a><a class="docs-heading-anchor-permalink" href="#Hints-to-ensure-ROCm-aware-MPI-to-be-functional" title="Permalink"></a></h3><p>Make sure to:</p><ul><li>Have MPI and ROCm on path (or module loaded) that were used to build the ROCm-aware MPI</li><li>Add AMDGPU, MPIPreferences, and MPI packages in Julia:<pre><code class="nohighlight hljs">julia --project -e &#39;using Pkg; Pkg.add([&quot;AMDGPU&quot;, &quot;MPIPreferences&quot;, &quot;MPI&quot;]); using MPIPreferences; MPIPreferences.use_system_binary()&#39;</code></pre></li><li>Then in Julia, upon loading MPI and CUDA modules, you can check<ul><li>AMDGPU version: <code>AMDGPU.versioninfo()</code></li><li>If you are using correct MPI implementation: <code>MPI.identify_implementation()</code></li></ul></li></ul><p>After that, <a href="https://gist.github.com/luraess/c228ec08629737888a18c6a1e397643c">this script</a> can be used to verify if ROCm-aware MPI is functional (modified after the CUDA-aware version from <a href="https://discourse.julialang.org/t/cuda-aware-mpi-works-on-system-but-not-for-julia/75060/11">here</a>). It may be preferred to run the Julia ROCm-aware MPI script launching it from a shell script (as suggested <a href="https://discourse.julialang.org/t/cuda-aware-mpi-works-on-system-but-not-for-julia/75060/4">here</a>).</p><h2 id="Custom-reduction-operators"><a class="docs-heading-anchor" href="#Custom-reduction-operators">Custom reduction operators</a><a id="Custom-reduction-operators-1"></a><a class="docs-heading-anchor-permalink" href="#Custom-reduction-operators" title="Permalink"></a></h2><p>It is not possible to use custom reduction operators <a href="https://github.com/JuliaParallel/MPI.jl/issues/246">with 32-bit Microsoft MPI</a> on Windows and on <a href="https://github.com/JuliaParallel/MPI.jl/issues/404">ARM CPUs</a> with any operating system. These issues are due to due how custom operators are currently implemented in MPI.jl, that is by using <a href="https://docs.julialang.org/en/v1/manual/calling-c-and-fortran-code/index.html#Closure-cfunctions">closure cfunctions</a>. However they have two limitations:</p><ul><li><a href="https://docs.julialang.org/en/v1/manual/calling-c-and-fortran-code/index.html#Creating-C-Compatible-Julia-Function-Pointers-1">Julia&#39;s C-compatible function pointers</a> cannot be used where the <code>stdcall</code> calling convention is expected, which is the case for 32-bit Microsoft MPI,</li><li>closure cfunctions in Julia are based on LLVM trampolines, which are not supported on ARM architecture.</li></ul></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../usage/">« Usage</a><a class="docs-footer-nextpage" href="../examples/01-hello/">Hello world »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 1 January 2023 03:50">Sunday 1 January 2023</span>. Using Julia version 1.8.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR626/reference/advanced/index.html b/previews/PR626/reference/advanced/index.html
deleted file mode 100644
index aa773c1ab..000000000
--- a/previews/PR626/reference/advanced/index.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Advanced · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../library/">Library information</a></li><li><a class="tocitem" href="../environment/">Environment</a></li><li><a class="tocitem" href="../misc/">Miscellanea</a></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li class="is-active"><a class="tocitem" href>Advanced</a><ul class="internal"><li><a class="tocitem" href="#Object-handling"><span>Object handling</span></a></li><li><a class="tocitem" href="#Datatype-objects"><span>Datatype objects</span></a></li><li><a class="tocitem" href="#Operator-objects"><span>Operator objects</span></a></li><li><a class="tocitem" href="#Info-objects"><span>Info objects</span></a></li><li><a class="tocitem" href="#Error-handler-objects"><span>Error handler objects</span></a></li><li><a class="tocitem" href="#Miscellaneous"><span>Miscellaneous</span></a></li></ul></li><li><a class="tocitem" href="../api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>Advanced</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Advanced</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/advanced.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Advanced"><a class="docs-heading-anchor" href="#Advanced">Advanced</a><a id="Advanced-1"></a><a class="docs-heading-anchor-permalink" href="#Advanced" title="Permalink"></a></h1><h2 id="Object-handling"><a class="docs-heading-anchor" href="#Object-handling">Object handling</a><a id="Object-handling-1"></a><a class="docs-heading-anchor-permalink" href="#Object-handling" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.free" href="#MPI.free"><code>MPI.free</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.free(obj)</code></pre><p>Free the MPI object handle <code>obj</code>. This is typically used as the finalizer, and so need not be called directly unless otherwise noted.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/environment.jl#L35-L39">source</a></section></article><h2 id="Datatype-objects"><a class="docs-heading-anchor" href="#Datatype-objects">Datatype objects</a><a id="Datatype-objects-1"></a><a class="docs-heading-anchor-permalink" href="#Datatype-objects" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Datatype" href="#MPI.Datatype"><code>MPI.Datatype</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">Datatype</code></pre><p>A <code>Datatype</code> represents the layout of the data in memory.</p><p><strong>Usage</strong></p><pre><code class="nohighlight hljs">Datatype(T)</code></pre><p>Either return the predefined <code>Datatype</code> corresponding to <code>T</code>, or create a new <code>Datatype</code> for the Julia type <code>T</code>, calling <a href="#MPI.Types.commit!"><code>Types.commit!</code></a> so that it can be used for communication operations.</p><p>Note that this can only be called on types for which <code>isbitstype(T)</code> is <code>true</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/datatypes.jl#L1-L15">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.to_type" href="#MPI.to_type"><code>MPI.to_type</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">to_type(datatype::Datatype)</code></pre><p>Return the Julia type corresponding to the MPI <a href="#MPI.Datatype"><code>Datatype</code></a> <code>datatype</code>, or <code>nothing</code> if it doesn&#39;t correspond directly.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/datatypes.jl#L73-L78">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Types.extent" href="#MPI.Types.extent"><code>MPI.Types.extent</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">lb, extent = MPI.Types.extent(dt::MPI.Datatype)</code></pre><p>Gets the lowerbound <code>lb</code> and the extent <code>extent</code> in bytes.</p><p><strong>External links</strong></p><ul><li><code>MPI_Type_get_extent</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_get_extent.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_get_extent.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/datatypes.jl#L190-L197">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Types.create_contiguous" href="#MPI.Types.create_contiguous"><code>MPI.Types.create_contiguous</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.Types.create_contiguous(count::Integer, oldtype::MPI.Datatype)</code></pre><p>Create a derived <a href="#MPI.Datatype"><code>Datatype</code></a> that replicates <code>oldtype</code> into <code>count</code> contiguous locations.</p><p>Note that <a href="#MPI.Types.commit!"><code>MPI.Types.commit!</code></a> must be used before the datatype can be used for communication.</p><p><strong>External links</strong></p><ul><li><code>MPI_Type_contiguous</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_contiguous.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_contiguous.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/datatypes.jl#L207-L217">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Types.create_vector" href="#MPI.Types.create_vector"><code>MPI.Types.create_vector</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.Types.create_vector(count::Integer, blocklength::Integer, stride::Integer, oldtype::MPI.Datatype)</code></pre><p>Create a derived <a href="#MPI.Datatype"><code>Datatype</code></a> that replicates <code>oldtype</code> into locations that consist of equally spaced blocks.</p><p>Note that <a href="#MPI.Types.commit!"><code>MPI.Types.commit!</code></a> must be used before the datatype can be used for communication.</p><p><strong>Example</strong></p><pre><code class="language-julia hljs">datatype = MPI.Types.create_vector(3, 2, 5, MPI.Datatype(Int64))
-MPI.Types.commit!(datatype)</code></pre><p>will create a datatype with the following layout</p><pre><code class="nohighlight hljs">|&lt;-----&gt;|  block length
-
-+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
-| X | X |   |   |   | X | X |   |   |   | X | X |   |   |   |
-+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
-
-|&lt;---- stride -----&gt;|</code></pre><p>where each segment represents an <code>Int64</code>.</p><p>(image by Jonathan Dursi, <a href="https://stackoverflow.com/a/10788351/392585">https://stackoverflow.com/a/10788351/392585</a>)</p><p><strong>External links</strong></p><ul><li><code>MPI_Type_vector</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_vector.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_vector.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/datatypes.jl#L229-L260">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Types.create_hvector" href="#MPI.Types.create_hvector"><code>MPI.Types.create_hvector</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.Types.create_hvector(count::Integer, blocklength::Integer, stride::Integer, oldtype::MPI.Datatype)</code></pre><p>Create a derived <a href="#MPI.Datatype"><code>Datatype</code></a> that replicates <code>oldtype</code> into locations that consist of equally spaced (bytes) blocks.</p><p>Note that <a href="#MPI.Types.commit!"><code>MPI.Types.commit!</code></a> must be used before the datatype can be used for communication.</p><p><strong>Example</strong></p><pre><code class="language-julia hljs">datatype = MPI.Types.create_hvector(3, 2, 5, MPI.Datatype(Int64))
-MPI.Types.commit!(datatype)</code></pre><p><strong>External links</strong></p><ul><li><code>MPI_Type_create_hvector</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_hvector.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_hvector.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/datatypes.jl#L271-L289">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Types.create_subarray" href="#MPI.Types.create_subarray"><code>MPI.Types.create_subarray</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.Types.create_subarray(sizes, subsizes, offset, oldtype::Datatype;
-                          rowmajor=false)</code></pre><p>Creates a derived <a href="#MPI.Datatype"><code>Datatype</code></a> describing an <code>N</code>-dimensional subarray of size <code>subsizes</code> of an <code>N</code>-dimensional array of size <code>sizes</code> and element type <code>oldtype</code>, with the first element offset by <code>offset</code> (i.e. the 0-based index of the first element).</p><p>Column-major indexing (used by Julia and Fortran) is assumed; use the keyword <code>rowmajor=true</code> to specify row-major layout (used by C and numpy).</p><p>Note that <a href="#MPI.Types.commit!"><code>MPI.Types.commit!</code></a> must be used before the datatype can be used for communication.</p><p><strong>External links</strong></p><ul><li><code>MPI_Type_create_subarray</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_subarray.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_subarray.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/datatypes.jl#L300-L316">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Types.create_struct" href="#MPI.Types.create_struct"><code>MPI.Types.create_struct</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.Types.create_struct(blocklengths, displacements, types)</code></pre><p>Creates a derived <a href="#MPI.Datatype"><code>Datatype</code></a> describing a struct layout.</p><p>Note that <a href="#MPI.Types.commit!"><code>MPI.Types.commit!</code></a> must be used before the datatype can be used for communication.</p><p><strong>External links</strong></p><ul><li><code>MPI_Type_create_struct</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_struct.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_struct.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/datatypes.jl#L340-L350">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Types.create_resized" href="#MPI.Types.create_resized"><code>MPI.Types.create_resized</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.Types.create_resized(oldtype::Datatype, lb::Integer, extent::Integer)</code></pre><p>Creates a new <a href="#MPI.Datatype"><code>Datatype</code></a> that is identical to <code>oldtype</code>, except that the lower bound of this new datatype is set to be <code>lb</code>, and its upper bound is set to be <code>lb + extent</code>.</p><p>Note that <a href="#MPI.Types.commit!"><code>MPI.Types.commit!</code></a> must be used before the datatype can be used for communication.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Types.extent"><code>MPI.Types.extent</code></a></li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Type_create_resized</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_resized.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_resized.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/datatypes.jl#L372-L387">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Types.commit!" href="#MPI.Types.commit!"><code>MPI.Types.commit!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.Types.commit!(newtype::Datatype)</code></pre><p>Commits the <a href="#MPI.Datatype"><code>Datatype</code></a> <code>newtype</code> so that it can be used for communication. Returns <code>newtype</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Type_commit</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_commit.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_commit.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/datatypes.jl#L413-L421">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Types.duplicate" href="#MPI.Types.duplicate"><code>MPI.Types.duplicate</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.Types.duplicate(oldtype::Datatype)</code></pre><p>Duplicates the datatype <code>oldtype</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Type_dup</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_dup.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_dup.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/datatypes.jl#L403-L410">source</a></section></article><h2 id="Operator-objects"><a class="docs-heading-anchor" href="#Operator-objects">Operator objects</a><a id="Operator-objects-1"></a><a class="docs-heading-anchor-permalink" href="#Operator-objects" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Op" href="#MPI.Op"><code>MPI.Op</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">Op</code></pre><p>An MPI reduction operator, for use with <a href="../collective/#Reduce/Scan">Reduce/Scan collective operations</a> to wrap binary operators. MPI.jl will perform this conversion automatically.</p><p><strong>Usage</strong></p><pre><code class="nohighlight hljs">Op(op, T=Any; iscommutative=false)</code></pre><p>Wrap the Julia reduction function <code>op</code> for arguments of type <code>T</code>. <code>op</code> is assumed to be associative, and if <code>iscommutative</code> is true, assumed to be commutative as well.</p><p><strong>See also</strong></p><ul><li><a href="../collective/#MPI.Reduce!"><code>Reduce!</code></a>/<a href="../collective/#MPI.Reduce"><code>Reduce</code></a></li><li><a href="../collective/#MPI.Allreduce!"><code>Allreduce!</code></a>/<a href="../collective/#MPI.Allreduce"><code>Allreduce</code></a></li><li><a href="../collective/#MPI.Scan!"><code>Scan!</code></a>/<a href="../collective/#MPI.Scan"><code>Scan</code></a></li><li><a href="../collective/#MPI.Exscan!"><code>Exscan!</code></a>/<a href="../collective/#MPI.Exscan"><code>Exscan</code></a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/operators.jl#L1-L19">source</a></section></article><h2 id="Info-objects"><a class="docs-heading-anchor" href="#Info-objects">Info objects</a><a id="Info-objects-1"></a><a class="docs-heading-anchor-permalink" href="#Info-objects" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Info" href="#MPI.Info"><code>MPI.Info</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">Info &lt;: AbstractDict{Symbol,String}</code></pre><p><code>MPI.Info</code> objects store key-value pairs, and are typically used for passing optional arguments to MPI functions.</p><p><strong>Usage</strong></p><p>These will typically be hidden from user-facing APIs by splatting keywords, e.g.</p><pre><code class="language-julia hljs">function f(args...; kwargs...)
-    info = Info(kwargs...)
-    # pass `info` object to `ccall`
-end</code></pre><p>For manual usage, <code>Info</code> objects act like Julia <code>Dict</code> objects:</p><pre><code class="language-julia hljs">info = Info(init=true) # keyword argument is required
-info[key] = value
-x = info[key]
-delete!(info, key)</code></pre><p>If <code>init=false</code> is used in the costructor (the default), a &quot;null&quot; <code>Info</code> object will be returned: no keys can be added to such an object.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/info.jl#L1-L27">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.infoval" href="#MPI.infoval"><code>MPI.infoval</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">infoval(x)</code></pre><p>Convert Julia object <code>x</code> to a string representation for storing in an <a href="#MPI.Info"><code>Info</code></a> object.</p><p>The MPI specification allows passing strings, Boolean values, integers, and lists.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/info.jl#L65-L71">source</a></section></article><h2 id="Error-handler-objects"><a class="docs-heading-anchor" href="#Error-handler-objects">Error handler objects</a><a id="Error-handler-objects-1"></a><a class="docs-heading-anchor-permalink" href="#Error-handler-objects" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Errhandler" href="#MPI.Errhandler"><code>MPI.Errhandler</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.Errhandler</code></pre><p>An MPI error handler object. Currently only two are supported:</p><ul><li><code>ERRORS_ARE_FATAL</code> (default): program will immediately abort</li><li><code>ERRORS_RETURN</code>: program will throw an <code>MPIError</code>.</li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/errhandler.jl#L1-L8">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.get_errorhandler" href="#MPI.get_errorhandler"><code>MPI.get_errorhandler</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.get_errorhandler(comm::MPI.Comm)
-MPI.get_errorhandler(win::MPI.Win)
-MPI.get_errorhandler(file::MPI.File.FileHandle)</code></pre><p>Get the current <a href="#MPI.Errhandler"><code>Errhandler</code></a> for the relevant MPI object.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.set_errorhandler!"><code>set_errorhandler!</code></a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/errhandler.jl#L39-L48">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.set_errorhandler!" href="#MPI.set_errorhandler!"><code>MPI.set_errorhandler!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.set_errorhandler!(comm::MPI.Comm, errh::Errhandler)
-MPI.set_errorhandler!(win::MPI.Win, errh::Errhandler)
-MPI.set_errorhandler!(file::MPI.File.FileHandle, errh::Errhandler)</code></pre><p>Set the <a href="#MPI.Errhandler"><code>Errhandler</code></a> for the relevant MPI object.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.get_errorhandler"><code>get_errorhandler</code></a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/errhandler.jl#L65-L74">source</a></section></article><h2 id="Miscellaneous"><a class="docs-heading-anchor" href="#Miscellaneous">Miscellaneous</a><a id="Miscellaneous-1"></a><a class="docs-heading-anchor-permalink" href="#Miscellaneous" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.API.@const_ref" href="#MPI.API.@const_ref"><code>MPI.API.@const_ref</code></a> — <span class="docstring-category">Macro</span></header><section><div><pre><code class="language-julia hljs">@const_ref name T expr</code></pre><p>Defines an constant binding</p><pre><code class="language-julia hljs">const name = Ref{T}()</code></pre><p>and adds a hook to execute</p><pre><code class="language-julia hljs">name[] = expr</code></pre><p>at module initialization time.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/api.jl#L33-L45">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../io/">« I/O</a><a class="docs-footer-nextpage" href="../api/">Low-level API »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 1 January 2023 03:50">Sunday 1 January 2023</span>. Using Julia version 1.8.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR626/reference/api/index.html b/previews/PR626/reference/api/index.html
deleted file mode 100644
index 32a5533b5..000000000
--- a/previews/PR626/reference/api/index.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Low-level API · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../library/">Library information</a></li><li><a class="tocitem" href="../environment/">Environment</a></li><li><a class="tocitem" href="../misc/">Miscellanea</a></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../advanced/">Advanced</a></li><li class="is-active"><a class="tocitem" href>Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>Low-level API</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Low-level API</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/api.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Low-level-API"><a class="docs-heading-anchor" href="#Low-level-API">Low-level API</a><a id="Low-level-API-1"></a><a class="docs-heading-anchor-permalink" href="#Low-level-API" title="Permalink"></a></h1><p>The <code>MPI.API</code> submodule provides a low-level interface which closely matches the MPI C API. While these functions are not intended for general usage, they are useful for calling MPI routines not yet available in <code>MPI.jl</code> main interface, and is the basis for the high-level wrappers. The methods suffixed with <code>_c</code> allow <code>MPI_count</code> typed arguments (vs <code>int</code> for the standard ones). The size of <code>MPI_count</code> depends on the implementation, but usually allows <code>64bit</code> integer offsets.</p><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Abort-Tuple{Any, Any}" href="#MPI.API.MPI_Abort-Tuple{Any, Any}"><code>MPI.API.MPI_Abort</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Abort(comm, errorcode)</code></pre><ul><li><code>MPI_Abort</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Abort.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Abort.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1848-L1852">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Accumulate-NTuple{9, Any}" href="#MPI.API.MPI_Accumulate-NTuple{9, Any}"><code>MPI.API.MPI_Accumulate</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Accumulate(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win)</code></pre><ul><li><code>MPI_Accumulate</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Accumulate.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Accumulate.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2433-L2437">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Accumulate_c-NTuple{9, Any}" href="#MPI.API.MPI_Accumulate_c-NTuple{9, Any}"><code>MPI.API.MPI_Accumulate_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Accumulate_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win)</code></pre><ul><li><code>MPI_Accumulate_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Accumulate_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Accumulate_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4107-L4111">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Add_error_class-Tuple{Any}" href="#MPI.API.MPI_Add_error_class-Tuple{Any}"><code>MPI.API.MPI_Add_error_class</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Add_error_class(errorclass)</code></pre><ul><li><code>MPI_Add_error_class</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Add_error_class.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Add_error_class.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1452-L1456">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Add_error_code-Tuple{Any, Any}" href="#MPI.API.MPI_Add_error_code-Tuple{Any, Any}"><code>MPI.API.MPI_Add_error_code</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Add_error_code(errorclass, errorcode)</code></pre><ul><li><code>MPI_Add_error_code</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Add_error_code.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Add_error_code.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1461-L1465">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Add_error_string-Tuple{Any, Any}" href="#MPI.API.MPI_Add_error_string-Tuple{Any, Any}"><code>MPI.API.MPI_Add_error_string</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Add_error_string(errorcode, string)</code></pre><ul><li><code>MPI_Add_error_string</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Add_error_string.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Add_error_string.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1470-L1474">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Address-Tuple{Any, Any}" href="#MPI.API.MPI_Address-Tuple{Any, Any}"><code>MPI.API.MPI_Address</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Address(location, address)</code></pre><ul><li><code>MPI_Address</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Address.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Address.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1389-L1393">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Aint_add-Tuple{Any, Any}" href="#MPI.API.MPI_Aint_add-Tuple{Any, Any}"><code>MPI.API.MPI_Aint_add</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Aint_add(base, disp)</code></pre><ul><li><code>MPI_Aint_add</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Aint_add.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Aint_add.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1929-L1933">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Aint_diff-Tuple{Any, Any}" href="#MPI.API.MPI_Aint_diff-Tuple{Any, Any}"><code>MPI.API.MPI_Aint_diff</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Aint_diff(addr1, addr2)</code></pre><ul><li><code>MPI_Aint_diff</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Aint_diff.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Aint_diff.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1938-L1942">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Allgather-NTuple{7, Any}" href="#MPI.API.MPI_Allgather-NTuple{7, Any}"><code>MPI.API.MPI_Allgather</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Allgather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)</code></pre><ul><li><code>MPI_Allgather</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allgather.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allgather.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L246-L250">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Allgather_c-NTuple{7, Any}" href="#MPI.API.MPI_Allgather_c-NTuple{7, Any}"><code>MPI.API.MPI_Allgather_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Allgather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)</code></pre><ul><li><code>MPI_Allgather_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allgather_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allgather_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3099-L3103">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Allgather_init-NTuple{9, Any}" href="#MPI.API.MPI_Allgather_init-NTuple{9, Any}"><code>MPI.API.MPI_Allgather_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Allgather_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Allgather_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allgather_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allgather_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L255-L259">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Allgather_init_c-NTuple{9, Any}" href="#MPI.API.MPI_Allgather_init_c-NTuple{9, Any}"><code>MPI.API.MPI_Allgather_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Allgather_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Allgather_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allgather_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allgather_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3108-L3112">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Allgatherv-NTuple{8, Any}" href="#MPI.API.MPI_Allgatherv-NTuple{8, Any}"><code>MPI.API.MPI_Allgatherv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Allgatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm)</code></pre><ul><li><code>MPI_Allgatherv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allgatherv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allgatherv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L264-L268">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Allgatherv_c-NTuple{8, Any}" href="#MPI.API.MPI_Allgatherv_c-NTuple{8, Any}"><code>MPI.API.MPI_Allgatherv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Allgatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm)</code></pre><ul><li><code>MPI_Allgatherv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allgatherv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allgatherv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3117-L3121">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Allgatherv_init-NTuple{10, Any}" href="#MPI.API.MPI_Allgatherv_init-NTuple{10, Any}"><code>MPI.API.MPI_Allgatherv_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Allgatherv_init(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Allgatherv_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allgatherv_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allgatherv_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L273-L277">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Allgatherv_init_c-NTuple{10, Any}" href="#MPI.API.MPI_Allgatherv_init_c-NTuple{10, Any}"><code>MPI.API.MPI_Allgatherv_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Allgatherv_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Allgatherv_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allgatherv_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allgatherv_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3126-L3130">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Alloc_mem-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Alloc_mem-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Alloc_mem</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Alloc_mem(size, info, baseptr)</code></pre><ul><li><code>MPI_Alloc_mem</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alloc_mem.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alloc_mem.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2442-L2446">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Allreduce-NTuple{6, Any}" href="#MPI.API.MPI_Allreduce-NTuple{6, Any}"><code>MPI.API.MPI_Allreduce</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Allreduce(sendbuf, recvbuf, count, datatype, op, comm)</code></pre><ul><li><code>MPI_Allreduce</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allreduce.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allreduce.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L282-L286">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Allreduce_c-NTuple{6, Any}" href="#MPI.API.MPI_Allreduce_c-NTuple{6, Any}"><code>MPI.API.MPI_Allreduce_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Allreduce_c(sendbuf, recvbuf, count, datatype, op, comm)</code></pre><ul><li><code>MPI_Allreduce_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allreduce_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allreduce_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3135-L3139">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Allreduce_init-NTuple{8, Any}" href="#MPI.API.MPI_Allreduce_init-NTuple{8, Any}"><code>MPI.API.MPI_Allreduce_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Allreduce_init(sendbuf, recvbuf, count, datatype, op, comm, info, request)</code></pre><ul><li><code>MPI_Allreduce_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allreduce_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allreduce_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L291-L295">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Allreduce_init_c-NTuple{8, Any}" href="#MPI.API.MPI_Allreduce_init_c-NTuple{8, Any}"><code>MPI.API.MPI_Allreduce_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Allreduce_init_c(sendbuf, recvbuf, count, datatype, op, comm, info, request)</code></pre><ul><li><code>MPI_Allreduce_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allreduce_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allreduce_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3144-L3148">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Alltoall-NTuple{7, Any}" href="#MPI.API.MPI_Alltoall-NTuple{7, Any}"><code>MPI.API.MPI_Alltoall</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Alltoall(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)</code></pre><ul><li><code>MPI_Alltoall</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoall.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoall.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L300-L304">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Alltoall_c-NTuple{7, Any}" href="#MPI.API.MPI_Alltoall_c-NTuple{7, Any}"><code>MPI.API.MPI_Alltoall_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Alltoall_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)</code></pre><ul><li><code>MPI_Alltoall_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoall_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoall_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3153-L3157">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Alltoall_init-NTuple{9, Any}" href="#MPI.API.MPI_Alltoall_init-NTuple{9, Any}"><code>MPI.API.MPI_Alltoall_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Alltoall_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Alltoall_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoall_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoall_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L309-L313">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Alltoall_init_c-NTuple{9, Any}" href="#MPI.API.MPI_Alltoall_init_c-NTuple{9, Any}"><code>MPI.API.MPI_Alltoall_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Alltoall_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Alltoall_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoall_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoall_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3162-L3166">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Alltoallv-NTuple{9, Any}" href="#MPI.API.MPI_Alltoallv-NTuple{9, Any}"><code>MPI.API.MPI_Alltoallv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Alltoallv(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm)</code></pre><ul><li><code>MPI_Alltoallv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoallv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoallv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L318-L322">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Alltoallv_c-NTuple{9, Any}" href="#MPI.API.MPI_Alltoallv_c-NTuple{9, Any}"><code>MPI.API.MPI_Alltoallv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Alltoallv_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm)</code></pre><ul><li><code>MPI_Alltoallv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoallv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoallv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3171-L3175">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Alltoallv_init-NTuple{11, Any}" href="#MPI.API.MPI_Alltoallv_init-NTuple{11, Any}"><code>MPI.API.MPI_Alltoallv_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Alltoallv_init(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Alltoallv_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoallv_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoallv_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L327-L331">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Alltoallv_init_c-NTuple{11, Any}" href="#MPI.API.MPI_Alltoallv_init_c-NTuple{11, Any}"><code>MPI.API.MPI_Alltoallv_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Alltoallv_init_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Alltoallv_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoallv_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoallv_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3180-L3184">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Alltoallw-NTuple{9, Any}" href="#MPI.API.MPI_Alltoallw-NTuple{9, Any}"><code>MPI.API.MPI_Alltoallw</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Alltoallw(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm)</code></pre><ul><li><code>MPI_Alltoallw</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoallw.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoallw.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L336-L340">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Alltoallw_c-NTuple{9, Any}" href="#MPI.API.MPI_Alltoallw_c-NTuple{9, Any}"><code>MPI.API.MPI_Alltoallw_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Alltoallw_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm)</code></pre><ul><li><code>MPI_Alltoallw_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoallw_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoallw_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3189-L3193">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Alltoallw_init-NTuple{11, Any}" href="#MPI.API.MPI_Alltoallw_init-NTuple{11, Any}"><code>MPI.API.MPI_Alltoallw_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Alltoallw_init(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request)</code></pre><ul><li><code>MPI_Alltoallw_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoallw_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoallw_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L345-L349">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Alltoallw_init_c-NTuple{11, Any}" href="#MPI.API.MPI_Alltoallw_init_c-NTuple{11, Any}"><code>MPI.API.MPI_Alltoallw_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Alltoallw_init_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request)</code></pre><ul><li><code>MPI_Alltoallw_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoallw_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoallw_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3198-L3202">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Attr_delete-Tuple{Any, Any}" href="#MPI.API.MPI_Attr_delete-Tuple{Any, Any}"><code>MPI.API.MPI_Attr_delete</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Attr_delete(comm, keyval)</code></pre><ul><li><code>MPI_Attr_delete</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Attr_delete.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Attr_delete.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L66-L70">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Attr_get-NTuple{4, Any}" href="#MPI.API.MPI_Attr_get-NTuple{4, Any}"><code>MPI.API.MPI_Attr_get</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Attr_get(comm, keyval, attribute_val, flag)</code></pre><ul><li><code>MPI_Attr_get</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Attr_get.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Attr_get.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L75-L79">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Attr_put-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Attr_put-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Attr_put</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Attr_put(comm, keyval, attribute_val)</code></pre><ul><li><code>MPI_Attr_put</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Attr_put.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Attr_put.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L84-L88">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Barrier-Tuple{Any}" href="#MPI.API.MPI_Barrier-Tuple{Any}"><code>MPI.API.MPI_Barrier</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Barrier(comm)</code></pre><ul><li><code>MPI_Barrier</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Barrier.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Barrier.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L354-L358">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Barrier_init-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Barrier_init-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Barrier_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Barrier_init(comm, info, request)</code></pre><ul><li><code>MPI_Barrier_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Barrier_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Barrier_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L363-L367">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Bcast-NTuple{5, Any}" href="#MPI.API.MPI_Bcast-NTuple{5, Any}"><code>MPI.API.MPI_Bcast</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Bcast(buffer, count, datatype, root, comm)</code></pre><ul><li><code>MPI_Bcast</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Bcast.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Bcast.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L372-L376">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Bcast_c-NTuple{5, Any}" href="#MPI.API.MPI_Bcast_c-NTuple{5, Any}"><code>MPI.API.MPI_Bcast_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Bcast_c(buffer, count, datatype, root, comm)</code></pre><ul><li><code>MPI_Bcast_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Bcast_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Bcast_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3207-L3211">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Bcast_init-NTuple{7, Any}" href="#MPI.API.MPI_Bcast_init-NTuple{7, Any}"><code>MPI.API.MPI_Bcast_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Bcast_init(buffer, count, datatype, root, comm, info, request)</code></pre><ul><li><code>MPI_Bcast_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Bcast_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Bcast_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L381-L385">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Bcast_init_c-NTuple{7, Any}" href="#MPI.API.MPI_Bcast_init_c-NTuple{7, Any}"><code>MPI.API.MPI_Bcast_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Bcast_init_c(buffer, count, datatype, root, comm, info, request)</code></pre><ul><li><code>MPI_Bcast_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Bcast_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Bcast_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3216-L3220">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Bsend-NTuple{6, Any}" href="#MPI.API.MPI_Bsend-NTuple{6, Any}"><code>MPI.API.MPI_Bsend</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Bsend(buf, count, datatype, dest, tag, comm)</code></pre><ul><li><code>MPI_Bsend</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Bsend.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Bsend.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2055-L2059">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Bsend_c-NTuple{6, Any}" href="#MPI.API.MPI_Bsend_c-NTuple{6, Any}"><code>MPI.API.MPI_Bsend_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Bsend_c(buf, count, datatype, dest, tag, comm)</code></pre><ul><li><code>MPI_Bsend_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Bsend_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Bsend_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3900-L3904">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Bsend_init-NTuple{7, Any}" href="#MPI.API.MPI_Bsend_init-NTuple{7, Any}"><code>MPI.API.MPI_Bsend_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Bsend_init(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Bsend_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Bsend_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Bsend_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2064-L2068">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Bsend_init_c-NTuple{7, Any}" href="#MPI.API.MPI_Bsend_init_c-NTuple{7, Any}"><code>MPI.API.MPI_Bsend_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Bsend_init_c(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Bsend_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Bsend_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Bsend_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3909-L3913">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Buffer_attach-Tuple{Any, Any}" href="#MPI.API.MPI_Buffer_attach-Tuple{Any, Any}"><code>MPI.API.MPI_Buffer_attach</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Buffer_attach(buffer, size)</code></pre><ul><li><code>MPI_Buffer_attach</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Buffer_attach.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Buffer_attach.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2073-L2077">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Buffer_attach_c-Tuple{Any, Any}" href="#MPI.API.MPI_Buffer_attach_c-Tuple{Any, Any}"><code>MPI.API.MPI_Buffer_attach_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Buffer_attach_c(buffer, size)</code></pre><ul><li><code>MPI_Buffer_attach_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Buffer_attach_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Buffer_attach_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3918-L3922">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Buffer_detach-Tuple{Any, Any}" href="#MPI.API.MPI_Buffer_detach-Tuple{Any, Any}"><code>MPI.API.MPI_Buffer_detach</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Buffer_detach(buffer_addr, size)</code></pre><ul><li><code>MPI_Buffer_detach</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Buffer_detach.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Buffer_detach.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2082-L2086">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Buffer_detach_c-Tuple{Any, Any}" href="#MPI.API.MPI_Buffer_detach_c-Tuple{Any, Any}"><code>MPI.API.MPI_Buffer_detach_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Buffer_detach_c(buffer_addr, size)</code></pre><ul><li><code>MPI_Buffer_detach_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Buffer_detach_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Buffer_detach_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3927-L3931">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Cancel-Tuple{Any}" href="#MPI.API.MPI_Cancel-Tuple{Any}"><code>MPI.API.MPI_Cancel</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Cancel(request)</code></pre><ul><li><code>MPI_Cancel</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cancel.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cancel.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2298-L2302">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Cart_coords-NTuple{4, Any}" href="#MPI.API.MPI_Cart_coords-NTuple{4, Any}"><code>MPI.API.MPI_Cart_coords</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Cart_coords(comm, rank, maxdims, coords)</code></pre><ul><li><code>MPI_Cart_coords</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cart_coords.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cart_coords.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2919-L2923">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Cart_create-NTuple{6, Any}" href="#MPI.API.MPI_Cart_create-NTuple{6, Any}"><code>MPI.API.MPI_Cart_create</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Cart_create(comm_old, ndims, dims, periods, reorder, comm_cart)</code></pre><ul><li><code>MPI_Cart_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cart_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cart_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2928-L2932">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Cart_get-NTuple{5, Any}" href="#MPI.API.MPI_Cart_get-NTuple{5, Any}"><code>MPI.API.MPI_Cart_get</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Cart_get(comm, maxdims, dims, periods, coords)</code></pre><ul><li><code>MPI_Cart_get</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cart_get.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cart_get.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2937-L2941">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Cart_map-NTuple{5, Any}" href="#MPI.API.MPI_Cart_map-NTuple{5, Any}"><code>MPI.API.MPI_Cart_map</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Cart_map(comm, ndims, dims, periods, newrank)</code></pre><ul><li><code>MPI_Cart_map</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cart_map.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cart_map.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2946-L2950">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Cart_rank-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Cart_rank-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Cart_rank</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Cart_rank(comm, coords, rank)</code></pre><ul><li><code>MPI_Cart_rank</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cart_rank.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cart_rank.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2955-L2959">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Cart_shift-NTuple{5, Any}" href="#MPI.API.MPI_Cart_shift-NTuple{5, Any}"><code>MPI.API.MPI_Cart_shift</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Cart_shift(comm, direction, disp, rank_source, rank_dest)</code></pre><ul><li><code>MPI_Cart_shift</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cart_shift.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cart_shift.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2964-L2968">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Cart_sub-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Cart_sub-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Cart_sub</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Cart_sub(comm, remain_dims, newcomm)</code></pre><ul><li><code>MPI_Cart_sub</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cart_sub.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cart_sub.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2973-L2977">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Cartdim_get-Tuple{Any, Any}" href="#MPI.API.MPI_Cartdim_get-Tuple{Any, Any}"><code>MPI.API.MPI_Cartdim_get</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Cartdim_get(comm, ndims)</code></pre><ul><li><code>MPI_Cartdim_get</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cartdim_get.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cartdim_get.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2982-L2986">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Close_port-Tuple{Any}" href="#MPI.API.MPI_Close_port-Tuple{Any}"><code>MPI.API.MPI_Close_port</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Close_port(port_name)</code></pre><ul><li><code>MPI_Close_port</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Close_port.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Close_port.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2793-L2797">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_accept-NTuple{5, Any}" href="#MPI.API.MPI_Comm_accept-NTuple{5, Any}"><code>MPI.API.MPI_Comm_accept</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_accept(port_name, info, root, comm, newcomm)</code></pre><ul><li><code>MPI_Comm_accept</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_accept.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_accept.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2802-L2806">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_call_errhandler-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_call_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_call_errhandler</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_call_errhandler(comm, errorcode)</code></pre><ul><li><code>MPI_Comm_call_errhandler</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_call_errhandler.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_call_errhandler.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1479-L1483">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_compare-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Comm_compare-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Comm_compare</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_compare(comm1, comm2, result)</code></pre><ul><li><code>MPI_Comm_compare</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_compare.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_compare.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L849-L853">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_connect-NTuple{5, Any}" href="#MPI.API.MPI_Comm_connect-NTuple{5, Any}"><code>MPI.API.MPI_Comm_connect</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_connect(port_name, info, root, comm, newcomm)</code></pre><ul><li><code>MPI_Comm_connect</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_connect.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_connect.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2811-L2815">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_create-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Comm_create-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Comm_create</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_create(comm, group, newcomm)</code></pre><ul><li><code>MPI_Comm_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L858-L862">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_create_errhandler-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_create_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_create_errhandler</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_create_errhandler(comm_errhandler_fn, errhandler)</code></pre><ul><li><code>MPI_Comm_create_errhandler</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_create_errhandler.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_create_errhandler.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1488-L1492">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_create_from_group-NTuple{5, Any}" href="#MPI.API.MPI_Comm_create_from_group-NTuple{5, Any}"><code>MPI.API.MPI_Comm_create_from_group</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_create_from_group(group, stringtag, info, errhandler, newcomm)</code></pre><ul><li><code>MPI_Comm_create_from_group</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_create_from_group.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_create_from_group.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1857-L1861">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_create_group-NTuple{4, Any}" href="#MPI.API.MPI_Comm_create_group-NTuple{4, Any}"><code>MPI.API.MPI_Comm_create_group</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_create_group(comm, group, tag, newcomm)</code></pre><ul><li><code>MPI_Comm_create_group</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_create_group.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_create_group.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L867-L871">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_create_keyval-NTuple{4, Any}" href="#MPI.API.MPI_Comm_create_keyval-NTuple{4, Any}"><code>MPI.API.MPI_Comm_create_keyval</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_create_keyval(comm_copy_attr_fn, comm_delete_attr_fn, comm_keyval, extra_state)</code></pre><ul><li><code>MPI_Comm_create_keyval</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_create_keyval.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_create_keyval.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L93-L97">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_delete_attr-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_delete_attr-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_delete_attr</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_delete_attr(comm, comm_keyval)</code></pre><ul><li><code>MPI_Comm_delete_attr</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_delete_attr.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_delete_attr.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L102-L106">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_disconnect-Tuple{Any}" href="#MPI.API.MPI_Comm_disconnect-Tuple{Any}"><code>MPI.API.MPI_Comm_disconnect</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_disconnect(comm)</code></pre><ul><li><code>MPI_Comm_disconnect</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_disconnect.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_disconnect.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2820-L2824">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_dup-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_dup-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_dup</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_dup(comm, newcomm)</code></pre><ul><li><code>MPI_Comm_dup</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_dup.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_dup.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L876-L880">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_dup_with_info-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Comm_dup_with_info-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Comm_dup_with_info</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_dup_with_info(comm, info, newcomm)</code></pre><ul><li><code>MPI_Comm_dup_with_info</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_dup_with_info.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_dup_with_info.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L885-L889">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_free-Tuple{Any}" href="#MPI.API.MPI_Comm_free-Tuple{Any}"><code>MPI.API.MPI_Comm_free</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_free(comm)</code></pre><ul><li><code>MPI_Comm_free</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_free.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_free.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L894-L898">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_free_keyval-Tuple{Any}" href="#MPI.API.MPI_Comm_free_keyval-Tuple{Any}"><code>MPI.API.MPI_Comm_free_keyval</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_free_keyval(comm_keyval)</code></pre><ul><li><code>MPI_Comm_free_keyval</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_free_keyval.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_free_keyval.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L111-L115">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_get_attr-NTuple{4, Any}" href="#MPI.API.MPI_Comm_get_attr-NTuple{4, Any}"><code>MPI.API.MPI_Comm_get_attr</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_get_attr(comm, comm_keyval, attribute_val, flag)</code></pre><ul><li><code>MPI_Comm_get_attr</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_get_attr.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_get_attr.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L120-L124">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_get_errhandler-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_get_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_get_errhandler</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_get_errhandler(comm, errhandler)</code></pre><ul><li><code>MPI_Comm_get_errhandler</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_get_errhandler.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_get_errhandler.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1497-L1501">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_get_info-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_get_info-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_get_info</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_get_info(comm, info_used)</code></pre><ul><li><code>MPI_Comm_get_info</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_get_info.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_get_info.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L903-L907">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_get_name-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Comm_get_name-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Comm_get_name</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_get_name(comm, comm_name, resultlen)</code></pre><ul><li><code>MPI_Comm_get_name</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_get_name.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_get_name.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L912-L916">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_get_parent-Tuple{Any}" href="#MPI.API.MPI_Comm_get_parent-Tuple{Any}"><code>MPI.API.MPI_Comm_get_parent</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_get_parent(parent)</code></pre><ul><li><code>MPI_Comm_get_parent</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_get_parent.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_get_parent.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2829-L2833">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_group-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_group-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_group</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_group(comm, group)</code></pre><ul><li><code>MPI_Comm_group</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_group.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_group.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L921-L925">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_idup-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Comm_idup-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Comm_idup</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_idup(comm, newcomm, request)</code></pre><ul><li><code>MPI_Comm_idup</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_idup.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_idup.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L930-L934">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_idup_with_info-NTuple{4, Any}" href="#MPI.API.MPI_Comm_idup_with_info-NTuple{4, Any}"><code>MPI.API.MPI_Comm_idup_with_info</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_idup_with_info(comm, info, newcomm, request)</code></pre><ul><li><code>MPI_Comm_idup_with_info</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_idup_with_info.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_idup_with_info.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L939-L943">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_join-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_join-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_join</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_join(fd, intercomm)</code></pre><ul><li><code>MPI_Comm_join</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_join.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_join.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2838-L2842">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_rank-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_rank-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_rank</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_rank(comm, rank)</code></pre><ul><li><code>MPI_Comm_rank</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_rank.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_rank.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L948-L952">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_remote_group-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_remote_group-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_remote_group</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_remote_group(comm, group)</code></pre><ul><li><code>MPI_Comm_remote_group</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_remote_group.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_remote_group.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L957-L961">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_remote_size-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_remote_size-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_remote_size</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_remote_size(comm, size)</code></pre><ul><li><code>MPI_Comm_remote_size</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_remote_size.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_remote_size.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L966-L970">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_set_attr-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Comm_set_attr-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Comm_set_attr</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_set_attr(comm, comm_keyval, attribute_val)</code></pre><ul><li><code>MPI_Comm_set_attr</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_set_attr.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_set_attr.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L129-L133">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_set_errhandler-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_set_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_set_errhandler</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_set_errhandler(comm, errhandler)</code></pre><ul><li><code>MPI_Comm_set_errhandler</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_set_errhandler.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_set_errhandler.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1506-L1510">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_set_info-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_set_info-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_set_info</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_set_info(comm, info)</code></pre><ul><li><code>MPI_Comm_set_info</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_set_info.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_set_info.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L975-L979">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_set_name-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_set_name-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_set_name</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_set_name(comm, comm_name)</code></pre><ul><li><code>MPI_Comm_set_name</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_set_name.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_set_name.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L984-L988">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_size-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_size-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_size</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_size(comm, size)</code></pre><ul><li><code>MPI_Comm_size</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_size.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_size.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L993-L997">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_spawn-NTuple{8, Any}" href="#MPI.API.MPI_Comm_spawn-NTuple{8, Any}"><code>MPI.API.MPI_Comm_spawn</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_spawn(command, argv, maxprocs, info, root, comm, intercomm, array_of_errcodes)</code></pre><ul><li><code>MPI_Comm_spawn</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_spawn.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_spawn.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2847-L2851">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_spawn_multiple-NTuple{9, Any}" href="#MPI.API.MPI_Comm_spawn_multiple-NTuple{9, Any}"><code>MPI.API.MPI_Comm_spawn_multiple</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_spawn_multiple(count, array_of_commands, array_of_argv, array_of_maxprocs, array_of_info, root, comm, intercomm, array_of_errcodes)</code></pre><ul><li><code>MPI_Comm_spawn_multiple</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_spawn_multiple.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_spawn_multiple.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2856-L2860">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_split-NTuple{4, Any}" href="#MPI.API.MPI_Comm_split-NTuple{4, Any}"><code>MPI.API.MPI_Comm_split</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_split(comm, color, key, newcomm)</code></pre><ul><li><code>MPI_Comm_split</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_split.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_split.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1002-L1006">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_split_type-NTuple{5, Any}" href="#MPI.API.MPI_Comm_split_type-NTuple{5, Any}"><code>MPI.API.MPI_Comm_split_type</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_split_type(comm, split_type, key, info, newcomm)</code></pre><ul><li><code>MPI_Comm_split_type</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_split_type.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_split_type.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1011-L1015">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_test_inter-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_test_inter-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_test_inter</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_test_inter(comm, flag)</code></pre><ul><li><code>MPI_Comm_test_inter</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_test_inter.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_test_inter.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1020-L1024">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Compare_and_swap-NTuple{7, Any}" href="#MPI.API.MPI_Compare_and_swap-NTuple{7, Any}"><code>MPI.API.MPI_Compare_and_swap</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Compare_and_swap(origin_addr, compare_addr, result_addr, datatype, target_rank, target_disp, win)</code></pre><ul><li><code>MPI_Compare_and_swap</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Compare_and_swap.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Compare_and_swap.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2451-L2455">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Dims_create-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Dims_create-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Dims_create</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Dims_create(nnodes, ndims, dims)</code></pre><ul><li><code>MPI_Dims_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Dims_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Dims_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2991-L2995">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Dist_graph_create-NTuple{9, Any}" href="#MPI.API.MPI_Dist_graph_create-NTuple{9, Any}"><code>MPI.API.MPI_Dist_graph_create</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Dist_graph_create(comm_old, n, sources, degrees, destinations, weights, info, reorder, comm_dist_graph)</code></pre><ul><li><code>MPI_Dist_graph_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Dist_graph_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Dist_graph_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3000-L3004">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Dist_graph_create_adjacent-NTuple{10, Any}" href="#MPI.API.MPI_Dist_graph_create_adjacent-NTuple{10, Any}"><code>MPI.API.MPI_Dist_graph_create_adjacent</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Dist_graph_create_adjacent(comm_old, indegree, sources, sourceweights, outdegree, destinations, destweights, info, reorder, comm_dist_graph)</code></pre><ul><li><code>MPI_Dist_graph_create_adjacent</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Dist_graph_create_adjacent.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Dist_graph_create_adjacent.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3009-L3013">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Dist_graph_neighbors-NTuple{7, Any}" href="#MPI.API.MPI_Dist_graph_neighbors-NTuple{7, Any}"><code>MPI.API.MPI_Dist_graph_neighbors</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Dist_graph_neighbors(comm, maxindegree, sources, sourceweights, maxoutdegree, destinations, destweights)</code></pre><ul><li><code>MPI_Dist_graph_neighbors</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Dist_graph_neighbors.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Dist_graph_neighbors.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3018-L3022">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Dist_graph_neighbors_count-NTuple{4, Any}" href="#MPI.API.MPI_Dist_graph_neighbors_count-NTuple{4, Any}"><code>MPI.API.MPI_Dist_graph_neighbors_count</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Dist_graph_neighbors_count(comm, indegree, outdegree, weighted)</code></pre><ul><li><code>MPI_Dist_graph_neighbors_count</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Dist_graph_neighbors_count.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Dist_graph_neighbors_count.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3027-L3031">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Errhandler_create-Tuple{Any, Any}" href="#MPI.API.MPI_Errhandler_create-Tuple{Any, Any}"><code>MPI.API.MPI_Errhandler_create</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Errhandler_create(comm_errhandler_fn, errhandler)</code></pre><ul><li><code>MPI_Errhandler_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Errhandler_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Errhandler_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1614-L1618">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Errhandler_free-Tuple{Any}" href="#MPI.API.MPI_Errhandler_free-Tuple{Any}"><code>MPI.API.MPI_Errhandler_free</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Errhandler_free(errhandler)</code></pre><ul><li><code>MPI_Errhandler_free</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Errhandler_free.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Errhandler_free.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1515-L1519">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Errhandler_get-Tuple{Any, Any}" href="#MPI.API.MPI_Errhandler_get-Tuple{Any, Any}"><code>MPI.API.MPI_Errhandler_get</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Errhandler_get(comm, errhandler)</code></pre><ul><li><code>MPI_Errhandler_get</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Errhandler_get.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Errhandler_get.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1623-L1627">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Errhandler_set-Tuple{Any, Any}" href="#MPI.API.MPI_Errhandler_set-Tuple{Any, Any}"><code>MPI.API.MPI_Errhandler_set</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Errhandler_set(comm, errhandler)</code></pre><ul><li><code>MPI_Errhandler_set</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Errhandler_set.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Errhandler_set.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1632-L1636">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Error_class-Tuple{Any, Any}" href="#MPI.API.MPI_Error_class-Tuple{Any, Any}"><code>MPI.API.MPI_Error_class</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Error_class(errorcode, errorclass)</code></pre><ul><li><code>MPI_Error_class</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Error_class.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Error_class.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1524-L1528">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Error_string-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Error_string-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Error_string</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Error_string(errorcode, string, resultlen)</code></pre><ul><li><code>MPI_Error_string</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Error_string.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Error_string.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1533-L1537">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Exscan-NTuple{6, Any}" href="#MPI.API.MPI_Exscan-NTuple{6, Any}"><code>MPI.API.MPI_Exscan</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Exscan(sendbuf, recvbuf, count, datatype, op, comm)</code></pre><ul><li><code>MPI_Exscan</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Exscan.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Exscan.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L390-L394">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Exscan_c-NTuple{6, Any}" href="#MPI.API.MPI_Exscan_c-NTuple{6, Any}"><code>MPI.API.MPI_Exscan_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Exscan_c(sendbuf, recvbuf, count, datatype, op, comm)</code></pre><ul><li><code>MPI_Exscan_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Exscan_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Exscan_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3225-L3229">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Exscan_init-NTuple{8, Any}" href="#MPI.API.MPI_Exscan_init-NTuple{8, Any}"><code>MPI.API.MPI_Exscan_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Exscan_init(sendbuf, recvbuf, count, datatype, op, comm, info, request)</code></pre><ul><li><code>MPI_Exscan_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Exscan_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Exscan_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L399-L403">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Exscan_init_c-NTuple{8, Any}" href="#MPI.API.MPI_Exscan_init_c-NTuple{8, Any}"><code>MPI.API.MPI_Exscan_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Exscan_init_c(sendbuf, recvbuf, count, datatype, op, comm, info, request)</code></pre><ul><li><code>MPI_Exscan_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Exscan_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Exscan_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3234-L3238">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Fetch_and_op-NTuple{7, Any}" href="#MPI.API.MPI_Fetch_and_op-NTuple{7, Any}"><code>MPI.API.MPI_Fetch_and_op</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Fetch_and_op(origin_addr, result_addr, datatype, target_rank, target_disp, op, win)</code></pre><ul><li><code>MPI_Fetch_and_op</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Fetch_and_op.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Fetch_and_op.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2460-L2464">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_c2f-Tuple{Any}" href="#MPI.API.MPI_File_c2f-Tuple{Any}"><code>MPI.API.MPI_File_c2f</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_c2f(file)</code></pre><ul><li><code>MPI_File_c2f</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_c2f.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_c2f.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4998-L5002">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_call_errhandler-Tuple{Any, Any}" href="#MPI.API.MPI_File_call_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_File_call_errhandler</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_call_errhandler(fh, errorcode)</code></pre><ul><li><code>MPI_File_call_errhandler</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_call_errhandler.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_call_errhandler.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1542-L1546">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_close-Tuple{Any}" href="#MPI.API.MPI_File_close-Tuple{Any}"><code>MPI.API.MPI_File_close</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_close(fh)</code></pre><ul><li><code>MPI_File_close</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_close.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_close.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4224-L4228">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_create_errhandler-Tuple{Any, Any}" href="#MPI.API.MPI_File_create_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_File_create_errhandler</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_create_errhandler(file_errhandler_fn, errhandler)</code></pre><ul><li><code>MPI_File_create_errhandler</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_create_errhandler.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_create_errhandler.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1551-L1555">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_delete-Tuple{Any, Any}" href="#MPI.API.MPI_File_delete-Tuple{Any, Any}"><code>MPI.API.MPI_File_delete</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_delete(filename, info)</code></pre><ul><li><code>MPI_File_delete</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_delete.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_delete.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4233-L4237">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_f2c-Tuple{Any}" href="#MPI.API.MPI_File_f2c-Tuple{Any}"><code>MPI.API.MPI_File_f2c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_f2c(file)</code></pre><ul><li><code>MPI_File_f2c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_f2c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_f2c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4989-L4993">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_get_amode-Tuple{Any, Any}" href="#MPI.API.MPI_File_get_amode-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_amode</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_get_amode(fh, amode)</code></pre><ul><li><code>MPI_File_get_amode</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_amode.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_amode.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4278-L4282">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_get_atomicity-Tuple{Any, Any}" href="#MPI.API.MPI_File_get_atomicity-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_atomicity</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_get_atomicity(fh, flag)</code></pre><ul><li><code>MPI_File_get_atomicity</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_atomicity.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_atomicity.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4665-L4669">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_get_byte_offset-Tuple{Any, Any, Any}" href="#MPI.API.MPI_File_get_byte_offset-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_get_byte_offset</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_get_byte_offset(fh, offset, disp)</code></pre><ul><li><code>MPI_File_get_byte_offset</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_byte_offset.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_byte_offset.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4449-L4453">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_get_errhandler-Tuple{Any, Any}" href="#MPI.API.MPI_File_get_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_errhandler</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_get_errhandler(file, errhandler)</code></pre><ul><li><code>MPI_File_get_errhandler</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_errhandler.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_errhandler.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1560-L1564">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_get_group-Tuple{Any, Any}" href="#MPI.API.MPI_File_get_group-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_group</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_get_group(fh, group)</code></pre><ul><li><code>MPI_File_get_group</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_group.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_group.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4269-L4273">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_get_info-Tuple{Any, Any}" href="#MPI.API.MPI_File_get_info-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_info</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_get_info(fh, info_used)</code></pre><ul><li><code>MPI_File_get_info</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_info.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_info.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4296-L4300">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_get_position-Tuple{Any, Any}" href="#MPI.API.MPI_File_get_position-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_position</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_get_position(fh, offset)</code></pre><ul><li><code>MPI_File_get_position</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_position.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_position.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4440-L4444">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_get_position_shared-Tuple{Any, Any}" href="#MPI.API.MPI_File_get_position_shared-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_position_shared</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_get_position_shared(fh, offset)</code></pre><ul><li><code>MPI_File_get_position_shared</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_position_shared.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_position_shared.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4521-L4525">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_get_size-Tuple{Any, Any}" href="#MPI.API.MPI_File_get_size-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_size</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_get_size(fh, size)</code></pre><ul><li><code>MPI_File_get_size</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_size.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_size.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4260-L4264">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_get_type_extent-Tuple{Any, Any, Any}" href="#MPI.API.MPI_File_get_type_extent-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_get_type_extent</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_get_type_extent(fh, datatype, extent)</code></pre><ul><li><code>MPI_File_get_type_extent</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_type_extent.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_type_extent.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4638-L4642">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_get_type_extent_c-Tuple{Any, Any, Any}" href="#MPI.API.MPI_File_get_type_extent_c-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_get_type_extent_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_get_type_extent_c(fh, datatype, extent)</code></pre><ul><li><code>MPI_File_get_type_extent_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_type_extent_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_type_extent_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4971-L4975">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_get_view-NTuple{5, Any}" href="#MPI.API.MPI_File_get_view-NTuple{5, Any}"><code>MPI.API.MPI_File_get_view</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_get_view(fh, disp, etype, filetype, datarep)</code></pre><ul><li><code>MPI_File_get_view</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_view.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_view.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4314-L4318">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iread-NTuple{5, Any}" href="#MPI.API.MPI_File_iread-NTuple{5, Any}"><code>MPI.API.MPI_File_iread</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iread(fh, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iread</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iread.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iread.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4413-L4417">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iread_all-NTuple{5, Any}" href="#MPI.API.MPI_File_iread_all-NTuple{5, Any}"><code>MPI.API.MPI_File_iread_all</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iread_all(fh, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iread_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iread_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iread_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4701-L4705">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iread_all_c-NTuple{5, Any}" href="#MPI.API.MPI_File_iread_all_c-NTuple{5, Any}"><code>MPI.API.MPI_File_iread_all_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iread_all_c(fh, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iread_all_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iread_all_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iread_all_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4890-L4894">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iread_at-NTuple{6, Any}" href="#MPI.API.MPI_File_iread_at-NTuple{6, Any}"><code>MPI.API.MPI_File_iread_at</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iread_at(fh, offset, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iread_at</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iread_at.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iread_at.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4359-L4363">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iread_at_all-NTuple{6, Any}" href="#MPI.API.MPI_File_iread_at_all-NTuple{6, Any}"><code>MPI.API.MPI_File_iread_at_all</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iread_at_all(fh, offset, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iread_at_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iread_at_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iread_at_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4683-L4687">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iread_at_all_c-NTuple{6, Any}" href="#MPI.API.MPI_File_iread_at_all_c-NTuple{6, Any}"><code>MPI.API.MPI_File_iread_at_all_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iread_at_all_c(fh, offset, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iread_at_all_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iread_at_all_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iread_at_all_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4908-L4912">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iread_at_c-NTuple{6, Any}" href="#MPI.API.MPI_File_iread_at_c-NTuple{6, Any}"><code>MPI.API.MPI_File_iread_at_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iread_at_c(fh, offset, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iread_at_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iread_at_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iread_at_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4899-L4903">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iread_c-NTuple{5, Any}" href="#MPI.API.MPI_File_iread_c-NTuple{5, Any}"><code>MPI.API.MPI_File_iread_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iread_c(fh, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iread_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iread_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iread_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4881-L4885">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iread_shared-NTuple{5, Any}" href="#MPI.API.MPI_File_iread_shared-NTuple{5, Any}"><code>MPI.API.MPI_File_iread_shared</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iread_shared(fh, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iread_shared</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iread_shared.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iread_shared.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4476-L4480">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iread_shared_c-NTuple{5, Any}" href="#MPI.API.MPI_File_iread_shared_c-NTuple{5, Any}"><code>MPI.API.MPI_File_iread_shared_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iread_shared_c(fh, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iread_shared_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iread_shared_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iread_shared_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4917-L4921">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iwrite-NTuple{5, Any}" href="#MPI.API.MPI_File_iwrite-NTuple{5, Any}"><code>MPI.API.MPI_File_iwrite</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iwrite(fh, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iwrite</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iwrite.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iwrite.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4422-L4426">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iwrite_all-NTuple{5, Any}" href="#MPI.API.MPI_File_iwrite_all-NTuple{5, Any}"><code>MPI.API.MPI_File_iwrite_all</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iwrite_all(fh, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iwrite_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iwrite_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iwrite_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4710-L4714">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iwrite_all_c-NTuple{5, Any}" href="#MPI.API.MPI_File_iwrite_all_c-NTuple{5, Any}"><code>MPI.API.MPI_File_iwrite_all_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iwrite_all_c(fh, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iwrite_all_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iwrite_all_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iwrite_all_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4935-L4939">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iwrite_at-NTuple{6, Any}" href="#MPI.API.MPI_File_iwrite_at-NTuple{6, Any}"><code>MPI.API.MPI_File_iwrite_at</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iwrite_at(fh, offset, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iwrite_at</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iwrite_at.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iwrite_at.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4368-L4372">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iwrite_at_all-NTuple{6, Any}" href="#MPI.API.MPI_File_iwrite_at_all-NTuple{6, Any}"><code>MPI.API.MPI_File_iwrite_at_all</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iwrite_at_all(fh, offset, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iwrite_at_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iwrite_at_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iwrite_at_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4692-L4696">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iwrite_at_all_c-NTuple{6, Any}" href="#MPI.API.MPI_File_iwrite_at_all_c-NTuple{6, Any}"><code>MPI.API.MPI_File_iwrite_at_all_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iwrite_at_all_c(fh, offset, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iwrite_at_all_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iwrite_at_all_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iwrite_at_all_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4953-L4957">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iwrite_at_c-NTuple{6, Any}" href="#MPI.API.MPI_File_iwrite_at_c-NTuple{6, Any}"><code>MPI.API.MPI_File_iwrite_at_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iwrite_at_c(fh, offset, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iwrite_at_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iwrite_at_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iwrite_at_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4944-L4948">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iwrite_c-NTuple{5, Any}" href="#MPI.API.MPI_File_iwrite_c-NTuple{5, Any}"><code>MPI.API.MPI_File_iwrite_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iwrite_c(fh, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iwrite_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iwrite_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iwrite_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4926-L4930">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iwrite_shared-NTuple{5, Any}" href="#MPI.API.MPI_File_iwrite_shared-NTuple{5, Any}"><code>MPI.API.MPI_File_iwrite_shared</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iwrite_shared(fh, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iwrite_shared</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iwrite_shared.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iwrite_shared.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4485-L4489">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iwrite_shared_c-NTuple{5, Any}" href="#MPI.API.MPI_File_iwrite_shared_c-NTuple{5, Any}"><code>MPI.API.MPI_File_iwrite_shared_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iwrite_shared_c(fh, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iwrite_shared_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iwrite_shared_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iwrite_shared_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4962-L4966">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_open-NTuple{5, Any}" href="#MPI.API.MPI_File_open-NTuple{5, Any}"><code>MPI.API.MPI_File_open</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_open(comm, filename, amode, info, fh)</code></pre><ul><li><code>MPI_File_open</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_open.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_open.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4215-L4219">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_preallocate-Tuple{Any, Any}" href="#MPI.API.MPI_File_preallocate-Tuple{Any, Any}"><code>MPI.API.MPI_File_preallocate</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_preallocate(fh, size)</code></pre><ul><li><code>MPI_File_preallocate</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_preallocate.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_preallocate.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4251-L4255">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read-NTuple{5, Any}" href="#MPI.API.MPI_File_read-NTuple{5, Any}"><code>MPI.API.MPI_File_read</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_read</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4377-L4381">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_all-NTuple{5, Any}" href="#MPI.API.MPI_File_read_all-NTuple{5, Any}"><code>MPI.API.MPI_File_read_all</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_all(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_read_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4386-L4390">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_all_begin-NTuple{4, Any}" href="#MPI.API.MPI_File_read_all_begin-NTuple{4, Any}"><code>MPI.API.MPI_File_read_all_begin</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_all_begin(fh, buf, count, datatype)</code></pre><ul><li><code>MPI_File_read_all_begin</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_all_begin.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_all_begin.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4566-L4570">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_all_begin_c-NTuple{4, Any}" href="#MPI.API.MPI_File_read_all_begin_c-NTuple{4, Any}"><code>MPI.API.MPI_File_read_all_begin_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_all_begin_c(fh, buf, count, datatype)</code></pre><ul><li><code>MPI_File_read_all_begin_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_all_begin_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_all_begin_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4737-L4741">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_all_c-NTuple{5, Any}" href="#MPI.API.MPI_File_read_all_c-NTuple{5, Any}"><code>MPI.API.MPI_File_read_all_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_all_c(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_read_all_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_all_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_all_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4728-L4732">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_all_end-Tuple{Any, Any, Any}" href="#MPI.API.MPI_File_read_all_end-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_read_all_end</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_all_end(fh, buf, status)</code></pre><ul><li><code>MPI_File_read_all_end</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_all_end.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_all_end.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4575-L4579">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_at-NTuple{6, Any}" href="#MPI.API.MPI_File_read_at-NTuple{6, Any}"><code>MPI.API.MPI_File_read_at</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_at(fh, offset, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_read_at</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_at.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_at.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4323-L4327">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_at_all-NTuple{6, Any}" href="#MPI.API.MPI_File_read_at_all-NTuple{6, Any}"><code>MPI.API.MPI_File_read_at_all</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_at_all(fh, offset, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_read_at_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_at_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_at_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4332-L4336">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_at_all_begin-NTuple{5, Any}" href="#MPI.API.MPI_File_read_at_all_begin-NTuple{5, Any}"><code>MPI.API.MPI_File_read_at_all_begin</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_at_all_begin(fh, offset, buf, count, datatype)</code></pre><ul><li><code>MPI_File_read_at_all_begin</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_at_all_begin.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_at_all_begin.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4530-L4534">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_at_all_begin_c-NTuple{5, Any}" href="#MPI.API.MPI_File_read_at_all_begin_c-NTuple{5, Any}"><code>MPI.API.MPI_File_read_at_all_begin_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_at_all_begin_c(fh, offset, buf, count, datatype)</code></pre><ul><li><code>MPI_File_read_at_all_begin_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_at_all_begin_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_at_all_begin_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4764-L4768">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_at_all_c-NTuple{6, Any}" href="#MPI.API.MPI_File_read_at_all_c-NTuple{6, Any}"><code>MPI.API.MPI_File_read_at_all_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_at_all_c(fh, offset, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_read_at_all_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_at_all_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_at_all_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4755-L4759">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_at_all_end-Tuple{Any, Any, Any}" href="#MPI.API.MPI_File_read_at_all_end-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_read_at_all_end</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_at_all_end(fh, buf, status)</code></pre><ul><li><code>MPI_File_read_at_all_end</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_at_all_end.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_at_all_end.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4539-L4543">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_at_c-NTuple{6, Any}" href="#MPI.API.MPI_File_read_at_c-NTuple{6, Any}"><code>MPI.API.MPI_File_read_at_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_at_c(fh, offset, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_read_at_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_at_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_at_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4746-L4750">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_c-NTuple{5, Any}" href="#MPI.API.MPI_File_read_c-NTuple{5, Any}"><code>MPI.API.MPI_File_read_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_c(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_read_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4719-L4723">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_ordered-NTuple{5, Any}" href="#MPI.API.MPI_File_read_ordered-NTuple{5, Any}"><code>MPI.API.MPI_File_read_ordered</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_ordered(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_read_ordered</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_ordered.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_ordered.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4494-L4498">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_ordered_begin-NTuple{4, Any}" href="#MPI.API.MPI_File_read_ordered_begin-NTuple{4, Any}"><code>MPI.API.MPI_File_read_ordered_begin</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_ordered_begin(fh, buf, count, datatype)</code></pre><ul><li><code>MPI_File_read_ordered_begin</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_ordered_begin.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_ordered_begin.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4602-L4606">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_ordered_begin_c-NTuple{4, Any}" href="#MPI.API.MPI_File_read_ordered_begin_c-NTuple{4, Any}"><code>MPI.API.MPI_File_read_ordered_begin_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_ordered_begin_c(fh, buf, count, datatype)</code></pre><ul><li><code>MPI_File_read_ordered_begin_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_ordered_begin_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_ordered_begin_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4782-L4786">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_ordered_c-NTuple{5, Any}" href="#MPI.API.MPI_File_read_ordered_c-NTuple{5, Any}"><code>MPI.API.MPI_File_read_ordered_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_ordered_c(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_read_ordered_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_ordered_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_ordered_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4773-L4777">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_ordered_end-Tuple{Any, Any, Any}" href="#MPI.API.MPI_File_read_ordered_end-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_read_ordered_end</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_ordered_end(fh, buf, status)</code></pre><ul><li><code>MPI_File_read_ordered_end</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_ordered_end.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_ordered_end.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4611-L4615">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_shared-NTuple{5, Any}" href="#MPI.API.MPI_File_read_shared-NTuple{5, Any}"><code>MPI.API.MPI_File_read_shared</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_shared(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_read_shared</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_shared.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_shared.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4458-L4462">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_shared_c-NTuple{5, Any}" href="#MPI.API.MPI_File_read_shared_c-NTuple{5, Any}"><code>MPI.API.MPI_File_read_shared_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_shared_c(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_read_shared_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_shared_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_shared_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4791-L4795">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_seek-Tuple{Any, Any, Any}" href="#MPI.API.MPI_File_seek-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_seek</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_seek(fh, offset, whence)</code></pre><ul><li><code>MPI_File_seek</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_seek.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_seek.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4431-L4435">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_seek_shared-Tuple{Any, Any, Any}" href="#MPI.API.MPI_File_seek_shared-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_seek_shared</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_seek_shared(fh, offset, whence)</code></pre><ul><li><code>MPI_File_seek_shared</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_seek_shared.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_seek_shared.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4512-L4516">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_set_atomicity-Tuple{Any, Any}" href="#MPI.API.MPI_File_set_atomicity-Tuple{Any, Any}"><code>MPI.API.MPI_File_set_atomicity</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_set_atomicity(fh, flag)</code></pre><ul><li><code>MPI_File_set_atomicity</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_set_atomicity.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_set_atomicity.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4656-L4660">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_set_errhandler-Tuple{Any, Any}" href="#MPI.API.MPI_File_set_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_File_set_errhandler</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_set_errhandler(file, errhandler)</code></pre><ul><li><code>MPI_File_set_errhandler</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_set_errhandler.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_set_errhandler.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1569-L1573">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_set_info-Tuple{Any, Any}" href="#MPI.API.MPI_File_set_info-Tuple{Any, Any}"><code>MPI.API.MPI_File_set_info</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_set_info(fh, info)</code></pre><ul><li><code>MPI_File_set_info</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_set_info.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_set_info.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4287-L4291">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_set_size-Tuple{Any, Any}" href="#MPI.API.MPI_File_set_size-Tuple{Any, Any}"><code>MPI.API.MPI_File_set_size</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_set_size(fh, size)</code></pre><ul><li><code>MPI_File_set_size</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_set_size.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_set_size.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4242-L4246">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_set_view-NTuple{6, Any}" href="#MPI.API.MPI_File_set_view-NTuple{6, Any}"><code>MPI.API.MPI_File_set_view</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_set_view(fh, disp, etype, filetype, datarep, info)</code></pre><ul><li><code>MPI_File_set_view</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_set_view.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_set_view.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4305-L4309">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_sync-Tuple{Any}" href="#MPI.API.MPI_File_sync-Tuple{Any}"><code>MPI.API.MPI_File_sync</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_sync(fh)</code></pre><ul><li><code>MPI_File_sync</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_sync.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_sync.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4674-L4678">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write-NTuple{5, Any}" href="#MPI.API.MPI_File_write-NTuple{5, Any}"><code>MPI.API.MPI_File_write</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_write</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4395-L4399">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_all-NTuple{5, Any}" href="#MPI.API.MPI_File_write_all-NTuple{5, Any}"><code>MPI.API.MPI_File_write_all</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_all(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_write_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4404-L4408">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_all_begin-NTuple{4, Any}" href="#MPI.API.MPI_File_write_all_begin-NTuple{4, Any}"><code>MPI.API.MPI_File_write_all_begin</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_all_begin(fh, buf, count, datatype)</code></pre><ul><li><code>MPI_File_write_all_begin</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_all_begin.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_all_begin.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4584-L4588">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_all_begin_c-NTuple{4, Any}" href="#MPI.API.MPI_File_write_all_begin_c-NTuple{4, Any}"><code>MPI.API.MPI_File_write_all_begin_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_all_begin_c(fh, buf, count, datatype)</code></pre><ul><li><code>MPI_File_write_all_begin_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_all_begin_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_all_begin_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4818-L4822">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_all_c-NTuple{5, Any}" href="#MPI.API.MPI_File_write_all_c-NTuple{5, Any}"><code>MPI.API.MPI_File_write_all_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_all_c(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_write_all_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_all_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_all_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4809-L4813">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_all_end-Tuple{Any, Any, Any}" href="#MPI.API.MPI_File_write_all_end-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_write_all_end</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_all_end(fh, buf, status)</code></pre><ul><li><code>MPI_File_write_all_end</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_all_end.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_all_end.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4593-L4597">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_at-NTuple{6, Any}" href="#MPI.API.MPI_File_write_at-NTuple{6, Any}"><code>MPI.API.MPI_File_write_at</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_at(fh, offset, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_write_at</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_at.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_at.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4341-L4345">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_at_all-NTuple{6, Any}" href="#MPI.API.MPI_File_write_at_all-NTuple{6, Any}"><code>MPI.API.MPI_File_write_at_all</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_at_all(fh, offset, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_write_at_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_at_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_at_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4350-L4354">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_at_all_begin-NTuple{5, Any}" href="#MPI.API.MPI_File_write_at_all_begin-NTuple{5, Any}"><code>MPI.API.MPI_File_write_at_all_begin</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_at_all_begin(fh, offset, buf, count, datatype)</code></pre><ul><li><code>MPI_File_write_at_all_begin</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_at_all_begin.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_at_all_begin.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4548-L4552">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_at_all_begin_c-NTuple{5, Any}" href="#MPI.API.MPI_File_write_at_all_begin_c-NTuple{5, Any}"><code>MPI.API.MPI_File_write_at_all_begin_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_at_all_begin_c(fh, offset, buf, count, datatype)</code></pre><ul><li><code>MPI_File_write_at_all_begin_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_at_all_begin_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_at_all_begin_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4845-L4849">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_at_all_c-NTuple{6, Any}" href="#MPI.API.MPI_File_write_at_all_c-NTuple{6, Any}"><code>MPI.API.MPI_File_write_at_all_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_at_all_c(fh, offset, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_write_at_all_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_at_all_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_at_all_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4836-L4840">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_at_all_end-Tuple{Any, Any, Any}" href="#MPI.API.MPI_File_write_at_all_end-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_write_at_all_end</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_at_all_end(fh, buf, status)</code></pre><ul><li><code>MPI_File_write_at_all_end</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_at_all_end.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_at_all_end.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4557-L4561">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_at_c-NTuple{6, Any}" href="#MPI.API.MPI_File_write_at_c-NTuple{6, Any}"><code>MPI.API.MPI_File_write_at_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_at_c(fh, offset, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_write_at_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_at_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_at_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4827-L4831">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_c-NTuple{5, Any}" href="#MPI.API.MPI_File_write_c-NTuple{5, Any}"><code>MPI.API.MPI_File_write_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_c(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_write_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4800-L4804">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_ordered-NTuple{5, Any}" href="#MPI.API.MPI_File_write_ordered-NTuple{5, Any}"><code>MPI.API.MPI_File_write_ordered</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_ordered(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_write_ordered</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_ordered.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_ordered.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4503-L4507">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_ordered_begin-NTuple{4, Any}" href="#MPI.API.MPI_File_write_ordered_begin-NTuple{4, Any}"><code>MPI.API.MPI_File_write_ordered_begin</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_ordered_begin(fh, buf, count, datatype)</code></pre><ul><li><code>MPI_File_write_ordered_begin</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_ordered_begin.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_ordered_begin.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4620-L4624">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_ordered_begin_c-NTuple{4, Any}" href="#MPI.API.MPI_File_write_ordered_begin_c-NTuple{4, Any}"><code>MPI.API.MPI_File_write_ordered_begin_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_ordered_begin_c(fh, buf, count, datatype)</code></pre><ul><li><code>MPI_File_write_ordered_begin_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_ordered_begin_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_ordered_begin_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4863-L4867">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_ordered_c-NTuple{5, Any}" href="#MPI.API.MPI_File_write_ordered_c-NTuple{5, Any}"><code>MPI.API.MPI_File_write_ordered_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_ordered_c(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_write_ordered_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_ordered_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_ordered_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4854-L4858">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_ordered_end-Tuple{Any, Any, Any}" href="#MPI.API.MPI_File_write_ordered_end-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_write_ordered_end</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_ordered_end(fh, buf, status)</code></pre><ul><li><code>MPI_File_write_ordered_end</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_ordered_end.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_ordered_end.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4629-L4633">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_shared-NTuple{5, Any}" href="#MPI.API.MPI_File_write_shared-NTuple{5, Any}"><code>MPI.API.MPI_File_write_shared</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_shared(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_write_shared</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_shared.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_shared.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4467-L4471">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_shared_c-NTuple{5, Any}" href="#MPI.API.MPI_File_write_shared_c-NTuple{5, Any}"><code>MPI.API.MPI_File_write_shared_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_shared_c(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_write_shared_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_shared_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_shared_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4872-L4876">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Finalize-Tuple{}" href="#MPI.API.MPI_Finalize-Tuple{}"><code>MPI.API.MPI_Finalize</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Finalize()</code></pre><ul><li><code>MPI_Finalize</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Finalize.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Finalize.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1866-L1870">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Finalized-Tuple{Any}" href="#MPI.API.MPI_Finalized-Tuple{Any}"><code>MPI.API.MPI_Finalized</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Finalized(flag)</code></pre><ul><li><code>MPI_Finalized</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Finalized.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Finalized.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1875-L1879">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Free_mem-Tuple{Any}" href="#MPI.API.MPI_Free_mem-Tuple{Any}"><code>MPI.API.MPI_Free_mem</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Free_mem(base)</code></pre><ul><li><code>MPI_Free_mem</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Free_mem.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Free_mem.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2469-L2473">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Gather-NTuple{8, Any}" href="#MPI.API.MPI_Gather-NTuple{8, Any}"><code>MPI.API.MPI_Gather</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Gather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm)</code></pre><ul><li><code>MPI_Gather</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Gather.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Gather.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L408-L412">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Gather_c-NTuple{8, Any}" href="#MPI.API.MPI_Gather_c-NTuple{8, Any}"><code>MPI.API.MPI_Gather_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Gather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm)</code></pre><ul><li><code>MPI_Gather_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Gather_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Gather_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3243-L3247">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Gather_init-NTuple{10, Any}" href="#MPI.API.MPI_Gather_init-NTuple{10, Any}"><code>MPI.API.MPI_Gather_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Gather_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request)</code></pre><ul><li><code>MPI_Gather_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Gather_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Gather_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L417-L421">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Gather_init_c-NTuple{10, Any}" href="#MPI.API.MPI_Gather_init_c-NTuple{10, Any}"><code>MPI.API.MPI_Gather_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Gather_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request)</code></pre><ul><li><code>MPI_Gather_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Gather_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Gather_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3252-L3256">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Gatherv-NTuple{9, Any}" href="#MPI.API.MPI_Gatherv-NTuple{9, Any}"><code>MPI.API.MPI_Gatherv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Gatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm)</code></pre><ul><li><code>MPI_Gatherv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Gatherv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Gatherv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L426-L430">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Gatherv_c-NTuple{9, Any}" href="#MPI.API.MPI_Gatherv_c-NTuple{9, Any}"><code>MPI.API.MPI_Gatherv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Gatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm)</code></pre><ul><li><code>MPI_Gatherv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Gatherv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Gatherv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3261-L3265">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Gatherv_init-NTuple{11, Any}" href="#MPI.API.MPI_Gatherv_init-NTuple{11, Any}"><code>MPI.API.MPI_Gatherv_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Gatherv_init(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, info, request)</code></pre><ul><li><code>MPI_Gatherv_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Gatherv_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Gatherv_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L435-L439">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Gatherv_init_c-NTuple{11, Any}" href="#MPI.API.MPI_Gatherv_init_c-NTuple{11, Any}"><code>MPI.API.MPI_Gatherv_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Gatherv_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, info, request)</code></pre><ul><li><code>MPI_Gatherv_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Gatherv_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Gatherv_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3270-L3274">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Get-NTuple{8, Any}" href="#MPI.API.MPI_Get-NTuple{8, Any}"><code>MPI.API.MPI_Get</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Get(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win)</code></pre><ul><li><code>MPI_Get</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2478-L2482">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Get_accumulate-NTuple{12, Any}" href="#MPI.API.MPI_Get_accumulate-NTuple{12, Any}"><code>MPI.API.MPI_Get_accumulate</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Get_accumulate(origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win)</code></pre><ul><li><code>MPI_Get_accumulate</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_accumulate.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_accumulate.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2487-L2491">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Get_accumulate_c-NTuple{12, Any}" href="#MPI.API.MPI_Get_accumulate_c-NTuple{12, Any}"><code>MPI.API.MPI_Get_accumulate_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Get_accumulate_c(origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win)</code></pre><ul><li><code>MPI_Get_accumulate_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_accumulate_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_accumulate_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4125-L4129">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Get_address-Tuple{Any, Any}" href="#MPI.API.MPI_Get_address-Tuple{Any, Any}"><code>MPI.API.MPI_Get_address</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Get_address(location, address)</code></pre><ul><li><code>MPI_Get_address</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_address.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_address.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1056-L1060">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Get_c-NTuple{8, Any}" href="#MPI.API.MPI_Get_c-NTuple{8, Any}"><code>MPI.API.MPI_Get_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Get_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win)</code></pre><ul><li><code>MPI_Get_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4116-L4120">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Get_count-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Get_count-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Get_count</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Get_count(status, datatype, count)</code></pre><ul><li><code>MPI_Get_count</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_count.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_count.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1065-L1069">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Get_count_c-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Get_count_c-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Get_count_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Get_count_c(status, datatype, count)</code></pre><ul><li><code>MPI_Get_count_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_count_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_count_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3675-L3679">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Get_elements-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Get_elements-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Get_elements</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Get_elements(status, datatype, count)</code></pre><ul><li><code>MPI_Get_elements</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_elements.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_elements.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1074-L1078">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Get_elements_c-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Get_elements_c-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Get_elements_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Get_elements_c(status, datatype, count)</code></pre><ul><li><code>MPI_Get_elements_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_elements_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_elements_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3684-L3688">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Get_elements_x-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Get_elements_x-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Get_elements_x</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Get_elements_x(status, datatype, count)</code></pre><ul><li><code>MPI_Get_elements_x</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_elements_x.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_elements_x.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1083-L1087">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Get_library_version-Tuple{Any, Any}" href="#MPI.API.MPI_Get_library_version-Tuple{Any, Any}"><code>MPI.API.MPI_Get_library_version</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Get_library_version(version, resultlen)</code></pre><ul><li><code>MPI_Get_library_version</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_library_version.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_library_version.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1947-L1951">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Get_processor_name-Tuple{Any, Any}" href="#MPI.API.MPI_Get_processor_name-Tuple{Any, Any}"><code>MPI.API.MPI_Get_processor_name</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Get_processor_name(name, resultlen)</code></pre><ul><li><code>MPI_Get_processor_name</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_processor_name.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_processor_name.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1956-L1960">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Get_version-Tuple{Any, Any}" href="#MPI.API.MPI_Get_version-Tuple{Any, Any}"><code>MPI.API.MPI_Get_version</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Get_version(version, subversion)</code></pre><ul><li><code>MPI_Get_version</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_version.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_version.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1965-L1969">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Graph_create-NTuple{6, Any}" href="#MPI.API.MPI_Graph_create-NTuple{6, Any}"><code>MPI.API.MPI_Graph_create</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Graph_create(comm_old, nnodes, indx, edges, reorder, comm_graph)</code></pre><ul><li><code>MPI_Graph_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Graph_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Graph_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3036-L3040">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Graph_get-NTuple{5, Any}" href="#MPI.API.MPI_Graph_get-NTuple{5, Any}"><code>MPI.API.MPI_Graph_get</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Graph_get(comm, maxindex, maxedges, indx, edges)</code></pre><ul><li><code>MPI_Graph_get</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Graph_get.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Graph_get.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3045-L3049">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Graph_map-NTuple{5, Any}" href="#MPI.API.MPI_Graph_map-NTuple{5, Any}"><code>MPI.API.MPI_Graph_map</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Graph_map(comm, nnodes, indx, edges, newrank)</code></pre><ul><li><code>MPI_Graph_map</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Graph_map.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Graph_map.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3054-L3058">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Graph_neighbors-NTuple{4, Any}" href="#MPI.API.MPI_Graph_neighbors-NTuple{4, Any}"><code>MPI.API.MPI_Graph_neighbors</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Graph_neighbors(comm, rank, maxneighbors, neighbors)</code></pre><ul><li><code>MPI_Graph_neighbors</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Graph_neighbors.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Graph_neighbors.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3063-L3067">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Graph_neighbors_count-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Graph_neighbors_count-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Graph_neighbors_count</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Graph_neighbors_count(comm, rank, nneighbors)</code></pre><ul><li><code>MPI_Graph_neighbors_count</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Graph_neighbors_count.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Graph_neighbors_count.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3072-L3076">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Graphdims_get-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Graphdims_get-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Graphdims_get</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Graphdims_get(comm, nnodes, nedges)</code></pre><ul><li><code>MPI_Graphdims_get</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Graphdims_get.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Graphdims_get.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3081-L3085">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Grequest_complete-Tuple{Any}" href="#MPI.API.MPI_Grequest_complete-Tuple{Any}"><code>MPI.API.MPI_Grequest_complete</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Grequest_complete(request)</code></pre><ul><li><code>MPI_Grequest_complete</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Grequest_complete.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Grequest_complete.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2307-L2311">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Grequest_start-NTuple{5, Any}" href="#MPI.API.MPI_Grequest_start-NTuple{5, Any}"><code>MPI.API.MPI_Grequest_start</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Grequest_start(query_fn, free_fn, cancel_fn, extra_state, request)</code></pre><ul><li><code>MPI_Grequest_start</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Grequest_start.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Grequest_start.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2316-L2320">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Group_compare-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Group_compare-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Group_compare</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Group_compare(group1, group2, result)</code></pre><ul><li><code>MPI_Group_compare</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Group_compare.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Group_compare.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1641-L1645">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Group_difference-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Group_difference-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Group_difference</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Group_difference(group1, group2, newgroup)</code></pre><ul><li><code>MPI_Group_difference</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Group_difference.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Group_difference.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1650-L1654">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Group_excl-NTuple{4, Any}" href="#MPI.API.MPI_Group_excl-NTuple{4, Any}"><code>MPI.API.MPI_Group_excl</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Group_excl(group, n, ranks, newgroup)</code></pre><ul><li><code>MPI_Group_excl</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Group_excl.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Group_excl.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1659-L1663">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Group_free-Tuple{Any}" href="#MPI.API.MPI_Group_free-Tuple{Any}"><code>MPI.API.MPI_Group_free</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Group_free(group)</code></pre><ul><li><code>MPI_Group_free</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Group_free.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Group_free.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1668-L1672">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Group_incl-NTuple{4, Any}" href="#MPI.API.MPI_Group_incl-NTuple{4, Any}"><code>MPI.API.MPI_Group_incl</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Group_incl(group, n, ranks, newgroup)</code></pre><ul><li><code>MPI_Group_incl</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Group_incl.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Group_incl.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1677-L1681">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Group_intersection-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Group_intersection-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Group_intersection</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Group_intersection(group1, group2, newgroup)</code></pre><ul><li><code>MPI_Group_intersection</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Group_intersection.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Group_intersection.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1686-L1690">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Group_range_excl-NTuple{4, Any}" href="#MPI.API.MPI_Group_range_excl-NTuple{4, Any}"><code>MPI.API.MPI_Group_range_excl</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Group_range_excl(group, n, ranges, newgroup)</code></pre><ul><li><code>MPI_Group_range_excl</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Group_range_excl.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Group_range_excl.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1695-L1699">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Group_range_incl-NTuple{4, Any}" href="#MPI.API.MPI_Group_range_incl-NTuple{4, Any}"><code>MPI.API.MPI_Group_range_incl</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Group_range_incl(group, n, ranges, newgroup)</code></pre><ul><li><code>MPI_Group_range_incl</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Group_range_incl.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Group_range_incl.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1704-L1708">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Group_rank-Tuple{Any, Any}" href="#MPI.API.MPI_Group_rank-Tuple{Any, Any}"><code>MPI.API.MPI_Group_rank</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Group_rank(group, rank)</code></pre><ul><li><code>MPI_Group_rank</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Group_rank.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Group_rank.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1713-L1717">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Group_size-Tuple{Any, Any}" href="#MPI.API.MPI_Group_size-Tuple{Any, Any}"><code>MPI.API.MPI_Group_size</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Group_size(group, size)</code></pre><ul><li><code>MPI_Group_size</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Group_size.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Group_size.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1722-L1726">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Group_translate_ranks-NTuple{5, Any}" href="#MPI.API.MPI_Group_translate_ranks-NTuple{5, Any}"><code>MPI.API.MPI_Group_translate_ranks</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Group_translate_ranks(group1, n, ranks1, group2, ranks2)</code></pre><ul><li><code>MPI_Group_translate_ranks</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Group_translate_ranks.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Group_translate_ranks.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1731-L1735">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Group_union-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Group_union-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Group_union</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Group_union(group1, group2, newgroup)</code></pre><ul><li><code>MPI_Group_union</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Group_union.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Group_union.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1740-L1744">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Iallgather-NTuple{8, Any}" href="#MPI.API.MPI_Iallgather-NTuple{8, Any}"><code>MPI.API.MPI_Iallgather</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Iallgather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)</code></pre><ul><li><code>MPI_Iallgather</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iallgather.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iallgather.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L444-L448">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Iallgather_c-NTuple{8, Any}" href="#MPI.API.MPI_Iallgather_c-NTuple{8, Any}"><code>MPI.API.MPI_Iallgather_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Iallgather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)</code></pre><ul><li><code>MPI_Iallgather_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iallgather_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iallgather_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3279-L3283">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Iallgatherv-NTuple{9, Any}" href="#MPI.API.MPI_Iallgatherv-NTuple{9, Any}"><code>MPI.API.MPI_Iallgatherv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Iallgatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request)</code></pre><ul><li><code>MPI_Iallgatherv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iallgatherv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iallgatherv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L453-L457">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Iallgatherv_c-NTuple{9, Any}" href="#MPI.API.MPI_Iallgatherv_c-NTuple{9, Any}"><code>MPI.API.MPI_Iallgatherv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Iallgatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request)</code></pre><ul><li><code>MPI_Iallgatherv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iallgatherv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iallgatherv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3288-L3292">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Iallreduce-NTuple{7, Any}" href="#MPI.API.MPI_Iallreduce-NTuple{7, Any}"><code>MPI.API.MPI_Iallreduce</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Iallreduce(sendbuf, recvbuf, count, datatype, op, comm, request)</code></pre><ul><li><code>MPI_Iallreduce</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iallreduce.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iallreduce.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L462-L466">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Iallreduce_c-NTuple{7, Any}" href="#MPI.API.MPI_Iallreduce_c-NTuple{7, Any}"><code>MPI.API.MPI_Iallreduce_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Iallreduce_c(sendbuf, recvbuf, count, datatype, op, comm, request)</code></pre><ul><li><code>MPI_Iallreduce_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iallreduce_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iallreduce_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3297-L3301">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ialltoall-NTuple{8, Any}" href="#MPI.API.MPI_Ialltoall-NTuple{8, Any}"><code>MPI.API.MPI_Ialltoall</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ialltoall(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)</code></pre><ul><li><code>MPI_Ialltoall</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ialltoall.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ialltoall.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L471-L475">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ialltoall_c-NTuple{8, Any}" href="#MPI.API.MPI_Ialltoall_c-NTuple{8, Any}"><code>MPI.API.MPI_Ialltoall_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ialltoall_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)</code></pre><ul><li><code>MPI_Ialltoall_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ialltoall_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ialltoall_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3306-L3310">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ialltoallv-NTuple{10, Any}" href="#MPI.API.MPI_Ialltoallv-NTuple{10, Any}"><code>MPI.API.MPI_Ialltoallv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ialltoallv(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request)</code></pre><ul><li><code>MPI_Ialltoallv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ialltoallv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ialltoallv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L480-L484">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ialltoallv_c-NTuple{10, Any}" href="#MPI.API.MPI_Ialltoallv_c-NTuple{10, Any}"><code>MPI.API.MPI_Ialltoallv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ialltoallv_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request)</code></pre><ul><li><code>MPI_Ialltoallv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ialltoallv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ialltoallv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3315-L3319">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ialltoallw-NTuple{10, Any}" href="#MPI.API.MPI_Ialltoallw-NTuple{10, Any}"><code>MPI.API.MPI_Ialltoallw</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ialltoallw(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request)</code></pre><ul><li><code>MPI_Ialltoallw</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ialltoallw.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ialltoallw.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L489-L493">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ialltoallw_c-NTuple{10, Any}" href="#MPI.API.MPI_Ialltoallw_c-NTuple{10, Any}"><code>MPI.API.MPI_Ialltoallw_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ialltoallw_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request)</code></pre><ul><li><code>MPI_Ialltoallw_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ialltoallw_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ialltoallw_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3324-L3328">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ibarrier-Tuple{Any, Any}" href="#MPI.API.MPI_Ibarrier-Tuple{Any, Any}"><code>MPI.API.MPI_Ibarrier</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ibarrier(comm, request)</code></pre><ul><li><code>MPI_Ibarrier</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ibarrier.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ibarrier.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L498-L502">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ibcast-NTuple{6, Any}" href="#MPI.API.MPI_Ibcast-NTuple{6, Any}"><code>MPI.API.MPI_Ibcast</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ibcast(buffer, count, datatype, root, comm, request)</code></pre><ul><li><code>MPI_Ibcast</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ibcast.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ibcast.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L507-L511">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ibcast_c-NTuple{6, Any}" href="#MPI.API.MPI_Ibcast_c-NTuple{6, Any}"><code>MPI.API.MPI_Ibcast_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ibcast_c(buffer, count, datatype, root, comm, request)</code></pre><ul><li><code>MPI_Ibcast_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ibcast_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ibcast_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3333-L3337">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ibsend-NTuple{7, Any}" href="#MPI.API.MPI_Ibsend-NTuple{7, Any}"><code>MPI.API.MPI_Ibsend</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ibsend(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Ibsend</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ibsend.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ibsend.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2091-L2095">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ibsend_c-NTuple{7, Any}" href="#MPI.API.MPI_Ibsend_c-NTuple{7, Any}"><code>MPI.API.MPI_Ibsend_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ibsend_c(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Ibsend_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ibsend_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ibsend_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3936-L3940">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Iexscan-NTuple{7, Any}" href="#MPI.API.MPI_Iexscan-NTuple{7, Any}"><code>MPI.API.MPI_Iexscan</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Iexscan(sendbuf, recvbuf, count, datatype, op, comm, request)</code></pre><ul><li><code>MPI_Iexscan</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iexscan.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iexscan.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L516-L520">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Iexscan_c-NTuple{7, Any}" href="#MPI.API.MPI_Iexscan_c-NTuple{7, Any}"><code>MPI.API.MPI_Iexscan_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Iexscan_c(sendbuf, recvbuf, count, datatype, op, comm, request)</code></pre><ul><li><code>MPI_Iexscan_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iexscan_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iexscan_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3342-L3346">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Igather-NTuple{9, Any}" href="#MPI.API.MPI_Igather-NTuple{9, Any}"><code>MPI.API.MPI_Igather</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Igather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request)</code></pre><ul><li><code>MPI_Igather</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Igather.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Igather.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L525-L529">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Igather_c-NTuple{9, Any}" href="#MPI.API.MPI_Igather_c-NTuple{9, Any}"><code>MPI.API.MPI_Igather_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Igather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request)</code></pre><ul><li><code>MPI_Igather_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Igather_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Igather_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3351-L3355">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Igatherv-NTuple{10, Any}" href="#MPI.API.MPI_Igatherv-NTuple{10, Any}"><code>MPI.API.MPI_Igatherv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Igatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, request)</code></pre><ul><li><code>MPI_Igatherv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Igatherv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Igatherv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L534-L538">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Igatherv_c-NTuple{10, Any}" href="#MPI.API.MPI_Igatherv_c-NTuple{10, Any}"><code>MPI.API.MPI_Igatherv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Igatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, request)</code></pre><ul><li><code>MPI_Igatherv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Igatherv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Igatherv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3360-L3364">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Improbe-NTuple{6, Any}" href="#MPI.API.MPI_Improbe-NTuple{6, Any}"><code>MPI.API.MPI_Improbe</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Improbe(source, tag, comm, flag, message, status)</code></pre><ul><li><code>MPI_Improbe</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Improbe.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Improbe.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2100-L2104">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Imrecv-NTuple{5, Any}" href="#MPI.API.MPI_Imrecv-NTuple{5, Any}"><code>MPI.API.MPI_Imrecv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Imrecv(buf, count, datatype, message, request)</code></pre><ul><li><code>MPI_Imrecv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Imrecv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Imrecv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2109-L2113">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Imrecv_c-NTuple{5, Any}" href="#MPI.API.MPI_Imrecv_c-NTuple{5, Any}"><code>MPI.API.MPI_Imrecv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Imrecv_c(buf, count, datatype, message, request)</code></pre><ul><li><code>MPI_Imrecv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Imrecv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Imrecv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3945-L3949">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ineighbor_allgather-NTuple{8, Any}" href="#MPI.API.MPI_Ineighbor_allgather-NTuple{8, Any}"><code>MPI.API.MPI_Ineighbor_allgather</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ineighbor_allgather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)</code></pre><ul><li><code>MPI_Ineighbor_allgather</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ineighbor_allgather.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ineighbor_allgather.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L543-L547">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ineighbor_allgather_c-NTuple{8, Any}" href="#MPI.API.MPI_Ineighbor_allgather_c-NTuple{8, Any}"><code>MPI.API.MPI_Ineighbor_allgather_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ineighbor_allgather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)</code></pre><ul><li><code>MPI_Ineighbor_allgather_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ineighbor_allgather_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ineighbor_allgather_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3369-L3373">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ineighbor_allgatherv-NTuple{9, Any}" href="#MPI.API.MPI_Ineighbor_allgatherv-NTuple{9, Any}"><code>MPI.API.MPI_Ineighbor_allgatherv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ineighbor_allgatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request)</code></pre><ul><li><code>MPI_Ineighbor_allgatherv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ineighbor_allgatherv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ineighbor_allgatherv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L552-L556">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ineighbor_allgatherv_c-NTuple{9, Any}" href="#MPI.API.MPI_Ineighbor_allgatherv_c-NTuple{9, Any}"><code>MPI.API.MPI_Ineighbor_allgatherv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ineighbor_allgatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request)</code></pre><ul><li><code>MPI_Ineighbor_allgatherv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ineighbor_allgatherv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ineighbor_allgatherv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3378-L3382">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ineighbor_alltoall-NTuple{8, Any}" href="#MPI.API.MPI_Ineighbor_alltoall-NTuple{8, Any}"><code>MPI.API.MPI_Ineighbor_alltoall</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ineighbor_alltoall(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)</code></pre><ul><li><code>MPI_Ineighbor_alltoall</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ineighbor_alltoall.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ineighbor_alltoall.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L561-L565">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ineighbor_alltoall_c-NTuple{8, Any}" href="#MPI.API.MPI_Ineighbor_alltoall_c-NTuple{8, Any}"><code>MPI.API.MPI_Ineighbor_alltoall_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ineighbor_alltoall_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)</code></pre><ul><li><code>MPI_Ineighbor_alltoall_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ineighbor_alltoall_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ineighbor_alltoall_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3387-L3391">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ineighbor_alltoallv-NTuple{10, Any}" href="#MPI.API.MPI_Ineighbor_alltoallv-NTuple{10, Any}"><code>MPI.API.MPI_Ineighbor_alltoallv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ineighbor_alltoallv(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request)</code></pre><ul><li><code>MPI_Ineighbor_alltoallv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ineighbor_alltoallv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ineighbor_alltoallv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L570-L574">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ineighbor_alltoallv_c-NTuple{10, Any}" href="#MPI.API.MPI_Ineighbor_alltoallv_c-NTuple{10, Any}"><code>MPI.API.MPI_Ineighbor_alltoallv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ineighbor_alltoallv_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request)</code></pre><ul><li><code>MPI_Ineighbor_alltoallv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ineighbor_alltoallv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ineighbor_alltoallv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3396-L3400">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ineighbor_alltoallw-NTuple{10, Any}" href="#MPI.API.MPI_Ineighbor_alltoallw-NTuple{10, Any}"><code>MPI.API.MPI_Ineighbor_alltoallw</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ineighbor_alltoallw(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request)</code></pre><ul><li><code>MPI_Ineighbor_alltoallw</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ineighbor_alltoallw.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ineighbor_alltoallw.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L579-L583">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ineighbor_alltoallw_c-NTuple{10, Any}" href="#MPI.API.MPI_Ineighbor_alltoallw_c-NTuple{10, Any}"><code>MPI.API.MPI_Ineighbor_alltoallw_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ineighbor_alltoallw_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request)</code></pre><ul><li><code>MPI_Ineighbor_alltoallw_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ineighbor_alltoallw_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ineighbor_alltoallw_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3405-L3409">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Info_create-Tuple{Any}" href="#MPI.API.MPI_Info_create-Tuple{Any}"><code>MPI.API.MPI_Info_create</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Info_create(info)</code></pre><ul><li><code>MPI_Info_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Info_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Info_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1749-L1753">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Info_create_env-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Info_create_env-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Info_create_env</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Info_create_env(argc, argv, info)</code></pre><ul><li><code>MPI_Info_create_env</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Info_create_env.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Info_create_env.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1758-L1762">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Info_delete-Tuple{Any, Any}" href="#MPI.API.MPI_Info_delete-Tuple{Any, Any}"><code>MPI.API.MPI_Info_delete</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Info_delete(info, key)</code></pre><ul><li><code>MPI_Info_delete</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Info_delete.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Info_delete.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1767-L1771">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Info_dup-Tuple{Any, Any}" href="#MPI.API.MPI_Info_dup-Tuple{Any, Any}"><code>MPI.API.MPI_Info_dup</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Info_dup(info, newinfo)</code></pre><ul><li><code>MPI_Info_dup</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Info_dup.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Info_dup.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1776-L1780">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Info_free-Tuple{Any}" href="#MPI.API.MPI_Info_free-Tuple{Any}"><code>MPI.API.MPI_Info_free</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Info_free(info)</code></pre><ul><li><code>MPI_Info_free</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Info_free.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Info_free.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1785-L1789">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Info_get-NTuple{5, Any}" href="#MPI.API.MPI_Info_get-NTuple{5, Any}"><code>MPI.API.MPI_Info_get</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Info_get(info, key, valuelen, value, flag)</code></pre><ul><li><code>MPI_Info_get</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Info_get.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Info_get.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1794-L1798">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Info_get_nkeys-Tuple{Any, Any}" href="#MPI.API.MPI_Info_get_nkeys-Tuple{Any, Any}"><code>MPI.API.MPI_Info_get_nkeys</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Info_get_nkeys(info, nkeys)</code></pre><ul><li><code>MPI_Info_get_nkeys</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Info_get_nkeys.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Info_get_nkeys.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1803-L1807">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Info_get_nthkey-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Info_get_nthkey-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Info_get_nthkey</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Info_get_nthkey(info, n, key)</code></pre><ul><li><code>MPI_Info_get_nthkey</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Info_get_nthkey.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Info_get_nthkey.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1812-L1816">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Info_get_string-NTuple{5, Any}" href="#MPI.API.MPI_Info_get_string-NTuple{5, Any}"><code>MPI.API.MPI_Info_get_string</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Info_get_string(info, key, buflen, value, flag)</code></pre><ul><li><code>MPI_Info_get_string</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Info_get_string.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Info_get_string.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1821-L1825">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Info_get_valuelen-NTuple{4, Any}" href="#MPI.API.MPI_Info_get_valuelen-NTuple{4, Any}"><code>MPI.API.MPI_Info_get_valuelen</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Info_get_valuelen(info, key, valuelen, flag)</code></pre><ul><li><code>MPI_Info_get_valuelen</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Info_get_valuelen.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Info_get_valuelen.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1830-L1834">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Info_set-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Info_set-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Info_set</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Info_set(info, key, value)</code></pre><ul><li><code>MPI_Info_set</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Info_set.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Info_set.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1839-L1843">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Init-Tuple{Any, Any}" href="#MPI.API.MPI_Init-Tuple{Any, Any}"><code>MPI.API.MPI_Init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Init(argc, argv)</code></pre><ul><li><code>MPI_Init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1884-L1888">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Init_thread-NTuple{4, Any}" href="#MPI.API.MPI_Init_thread-NTuple{4, Any}"><code>MPI.API.MPI_Init_thread</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Init_thread(argc, argv, required, provided)</code></pre><ul><li><code>MPI_Init_thread</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Init_thread.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Init_thread.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1893-L1897">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Initialized-Tuple{Any}" href="#MPI.API.MPI_Initialized-Tuple{Any}"><code>MPI.API.MPI_Initialized</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Initialized(flag)</code></pre><ul><li><code>MPI_Initialized</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Initialized.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Initialized.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1902-L1906">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Intercomm_create-NTuple{6, Any}" href="#MPI.API.MPI_Intercomm_create-NTuple{6, Any}"><code>MPI.API.MPI_Intercomm_create</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Intercomm_create(local_comm, local_leader, peer_comm, remote_leader, tag, newintercomm)</code></pre><ul><li><code>MPI_Intercomm_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Intercomm_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Intercomm_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1029-L1033">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Intercomm_create_from_groups-NTuple{8, Any}" href="#MPI.API.MPI_Intercomm_create_from_groups-NTuple{8, Any}"><code>MPI.API.MPI_Intercomm_create_from_groups</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Intercomm_create_from_groups(local_group, local_leader, remote_group, remote_leader, stringtag, info, errhandler, newintercomm)</code></pre><ul><li><code>MPI_Intercomm_create_from_groups</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Intercomm_create_from_groups.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Intercomm_create_from_groups.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1038-L1042">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Intercomm_merge-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Intercomm_merge-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Intercomm_merge</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Intercomm_merge(intercomm, high, newintracomm)</code></pre><ul><li><code>MPI_Intercomm_merge</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Intercomm_merge.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Intercomm_merge.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1047-L1051">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Iprobe-NTuple{5, Any}" href="#MPI.API.MPI_Iprobe-NTuple{5, Any}"><code>MPI.API.MPI_Iprobe</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Iprobe(source, tag, comm, flag, status)</code></pre><ul><li><code>MPI_Iprobe</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iprobe.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iprobe.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2118-L2122">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Irecv-NTuple{7, Any}" href="#MPI.API.MPI_Irecv-NTuple{7, Any}"><code>MPI.API.MPI_Irecv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Irecv(buf, count, datatype, source, tag, comm, request)</code></pre><ul><li><code>MPI_Irecv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Irecv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Irecv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2127-L2131">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Irecv_c-NTuple{7, Any}" href="#MPI.API.MPI_Irecv_c-NTuple{7, Any}"><code>MPI.API.MPI_Irecv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Irecv_c(buf, count, datatype, source, tag, comm, request)</code></pre><ul><li><code>MPI_Irecv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Irecv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Irecv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3954-L3958">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ireduce-NTuple{8, Any}" href="#MPI.API.MPI_Ireduce-NTuple{8, Any}"><code>MPI.API.MPI_Ireduce</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ireduce(sendbuf, recvbuf, count, datatype, op, root, comm, request)</code></pre><ul><li><code>MPI_Ireduce</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ireduce.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ireduce.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L588-L592">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ireduce_c-NTuple{8, Any}" href="#MPI.API.MPI_Ireduce_c-NTuple{8, Any}"><code>MPI.API.MPI_Ireduce_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ireduce_c(sendbuf, recvbuf, count, datatype, op, root, comm, request)</code></pre><ul><li><code>MPI_Ireduce_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ireduce_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ireduce_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3414-L3418">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ireduce_scatter-NTuple{7, Any}" href="#MPI.API.MPI_Ireduce_scatter-NTuple{7, Any}"><code>MPI.API.MPI_Ireduce_scatter</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ireduce_scatter(sendbuf, recvbuf, recvcounts, datatype, op, comm, request)</code></pre><ul><li><code>MPI_Ireduce_scatter</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ireduce_scatter.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ireduce_scatter.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L597-L601">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ireduce_scatter_block-NTuple{7, Any}" href="#MPI.API.MPI_Ireduce_scatter_block-NTuple{7, Any}"><code>MPI.API.MPI_Ireduce_scatter_block</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ireduce_scatter_block(sendbuf, recvbuf, recvcount, datatype, op, comm, request)</code></pre><ul><li><code>MPI_Ireduce_scatter_block</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ireduce_scatter_block.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ireduce_scatter_block.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L606-L610">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ireduce_scatter_block_c-NTuple{7, Any}" href="#MPI.API.MPI_Ireduce_scatter_block_c-NTuple{7, Any}"><code>MPI.API.MPI_Ireduce_scatter_block_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ireduce_scatter_block_c(sendbuf, recvbuf, recvcount, datatype, op, comm, request)</code></pre><ul><li><code>MPI_Ireduce_scatter_block_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ireduce_scatter_block_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ireduce_scatter_block_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3432-L3436">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ireduce_scatter_c-NTuple{7, Any}" href="#MPI.API.MPI_Ireduce_scatter_c-NTuple{7, Any}"><code>MPI.API.MPI_Ireduce_scatter_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ireduce_scatter_c(sendbuf, recvbuf, recvcounts, datatype, op, comm, request)</code></pre><ul><li><code>MPI_Ireduce_scatter_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ireduce_scatter_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ireduce_scatter_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3423-L3427">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Irsend-NTuple{7, Any}" href="#MPI.API.MPI_Irsend-NTuple{7, Any}"><code>MPI.API.MPI_Irsend</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Irsend(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Irsend</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Irsend.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Irsend.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2136-L2140">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Irsend_c-NTuple{7, Any}" href="#MPI.API.MPI_Irsend_c-NTuple{7, Any}"><code>MPI.API.MPI_Irsend_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Irsend_c(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Irsend_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Irsend_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Irsend_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3963-L3967">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Is_thread_main-Tuple{Any}" href="#MPI.API.MPI_Is_thread_main-Tuple{Any}"><code>MPI.API.MPI_Is_thread_main</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Is_thread_main(flag)</code></pre><ul><li><code>MPI_Is_thread_main</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Is_thread_main.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Is_thread_main.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1911-L1915">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Iscan-NTuple{7, Any}" href="#MPI.API.MPI_Iscan-NTuple{7, Any}"><code>MPI.API.MPI_Iscan</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Iscan(sendbuf, recvbuf, count, datatype, op, comm, request)</code></pre><ul><li><code>MPI_Iscan</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iscan.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iscan.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L615-L619">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Iscan_c-NTuple{7, Any}" href="#MPI.API.MPI_Iscan_c-NTuple{7, Any}"><code>MPI.API.MPI_Iscan_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Iscan_c(sendbuf, recvbuf, count, datatype, op, comm, request)</code></pre><ul><li><code>MPI_Iscan_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iscan_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iscan_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3441-L3445">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Iscatter-NTuple{9, Any}" href="#MPI.API.MPI_Iscatter-NTuple{9, Any}"><code>MPI.API.MPI_Iscatter</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Iscatter(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request)</code></pre><ul><li><code>MPI_Iscatter</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iscatter.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iscatter.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L624-L628">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Iscatter_c-NTuple{9, Any}" href="#MPI.API.MPI_Iscatter_c-NTuple{9, Any}"><code>MPI.API.MPI_Iscatter_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Iscatter_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request)</code></pre><ul><li><code>MPI_Iscatter_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iscatter_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iscatter_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3450-L3454">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Iscatterv-NTuple{10, Any}" href="#MPI.API.MPI_Iscatterv-NTuple{10, Any}"><code>MPI.API.MPI_Iscatterv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Iscatterv(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, request)</code></pre><ul><li><code>MPI_Iscatterv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iscatterv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iscatterv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L633-L637">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Iscatterv_c-NTuple{10, Any}" href="#MPI.API.MPI_Iscatterv_c-NTuple{10, Any}"><code>MPI.API.MPI_Iscatterv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Iscatterv_c(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, request)</code></pre><ul><li><code>MPI_Iscatterv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iscatterv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iscatterv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3459-L3463">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Isend-NTuple{7, Any}" href="#MPI.API.MPI_Isend-NTuple{7, Any}"><code>MPI.API.MPI_Isend</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Isend(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Isend</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Isend.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Isend.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2145-L2149">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Isend_c-NTuple{7, Any}" href="#MPI.API.MPI_Isend_c-NTuple{7, Any}"><code>MPI.API.MPI_Isend_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Isend_c(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Isend_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Isend_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Isend_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3972-L3976">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Isendrecv-NTuple{12, Any}" href="#MPI.API.MPI_Isendrecv-NTuple{12, Any}"><code>MPI.API.MPI_Isendrecv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Isendrecv(sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, request)</code></pre><ul><li><code>MPI_Isendrecv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Isendrecv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Isendrecv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2154-L2158">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Isendrecv_c-NTuple{12, Any}" href="#MPI.API.MPI_Isendrecv_c-NTuple{12, Any}"><code>MPI.API.MPI_Isendrecv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Isendrecv_c(sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, request)</code></pre><ul><li><code>MPI_Isendrecv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Isendrecv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Isendrecv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3981-L3985">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Isendrecv_replace-NTuple{9, Any}" href="#MPI.API.MPI_Isendrecv_replace-NTuple{9, Any}"><code>MPI.API.MPI_Isendrecv_replace</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Isendrecv_replace(buf, count, datatype, dest, sendtag, source, recvtag, comm, request)</code></pre><ul><li><code>MPI_Isendrecv_replace</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Isendrecv_replace.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Isendrecv_replace.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2163-L2167">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Isendrecv_replace_c-NTuple{9, Any}" href="#MPI.API.MPI_Isendrecv_replace_c-NTuple{9, Any}"><code>MPI.API.MPI_Isendrecv_replace_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Isendrecv_replace_c(buf, count, datatype, dest, sendtag, source, recvtag, comm, request)</code></pre><ul><li><code>MPI_Isendrecv_replace_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Isendrecv_replace_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Isendrecv_replace_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3990-L3994">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Issend-NTuple{7, Any}" href="#MPI.API.MPI_Issend-NTuple{7, Any}"><code>MPI.API.MPI_Issend</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Issend(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Issend</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Issend.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Issend.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2172-L2176">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Issend_c-NTuple{7, Any}" href="#MPI.API.MPI_Issend_c-NTuple{7, Any}"><code>MPI.API.MPI_Issend_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Issend_c(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Issend_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Issend_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Issend_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3999-L4003">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Keyval_create-NTuple{4, Any}" href="#MPI.API.MPI_Keyval_create-NTuple{4, Any}"><code>MPI.API.MPI_Keyval_create</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Keyval_create(copy_fn, delete_fn, keyval, extra_state)</code></pre><ul><li><code>MPI_Keyval_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Keyval_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Keyval_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L138-L142">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Keyval_free-Tuple{Any}" href="#MPI.API.MPI_Keyval_free-Tuple{Any}"><code>MPI.API.MPI_Keyval_free</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Keyval_free(keyval)</code></pre><ul><li><code>MPI_Keyval_free</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Keyval_free.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Keyval_free.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L147-L151">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Lookup_name-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Lookup_name-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Lookup_name</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Lookup_name(service_name, info, port_name)</code></pre><ul><li><code>MPI_Lookup_name</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Lookup_name.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Lookup_name.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2865-L2869">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Mprobe-NTuple{5, Any}" href="#MPI.API.MPI_Mprobe-NTuple{5, Any}"><code>MPI.API.MPI_Mprobe</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Mprobe(source, tag, comm, message, status)</code></pre><ul><li><code>MPI_Mprobe</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Mprobe.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Mprobe.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2181-L2185">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Mrecv-NTuple{5, Any}" href="#MPI.API.MPI_Mrecv-NTuple{5, Any}"><code>MPI.API.MPI_Mrecv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Mrecv(buf, count, datatype, message, status)</code></pre><ul><li><code>MPI_Mrecv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Mrecv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Mrecv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2190-L2194">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Mrecv_c-NTuple{5, Any}" href="#MPI.API.MPI_Mrecv_c-NTuple{5, Any}"><code>MPI.API.MPI_Mrecv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Mrecv_c(buf, count, datatype, message, status)</code></pre><ul><li><code>MPI_Mrecv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Mrecv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Mrecv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4008-L4012">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_allgather-NTuple{7, Any}" href="#MPI.API.MPI_Neighbor_allgather-NTuple{7, Any}"><code>MPI.API.MPI_Neighbor_allgather</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_allgather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)</code></pre><ul><li><code>MPI_Neighbor_allgather</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_allgather.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_allgather.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L642-L646">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_allgather_c-NTuple{7, Any}" href="#MPI.API.MPI_Neighbor_allgather_c-NTuple{7, Any}"><code>MPI.API.MPI_Neighbor_allgather_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_allgather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)</code></pre><ul><li><code>MPI_Neighbor_allgather_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_allgather_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_allgather_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3468-L3472">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_allgather_init-NTuple{9, Any}" href="#MPI.API.MPI_Neighbor_allgather_init-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_allgather_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_allgather_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Neighbor_allgather_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_allgather_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_allgather_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L651-L655">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_allgather_init_c-NTuple{9, Any}" href="#MPI.API.MPI_Neighbor_allgather_init_c-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_allgather_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_allgather_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Neighbor_allgather_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_allgather_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_allgather_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3477-L3481">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_allgatherv-NTuple{8, Any}" href="#MPI.API.MPI_Neighbor_allgatherv-NTuple{8, Any}"><code>MPI.API.MPI_Neighbor_allgatherv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_allgatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm)</code></pre><ul><li><code>MPI_Neighbor_allgatherv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_allgatherv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_allgatherv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L660-L664">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_allgatherv_c-NTuple{8, Any}" href="#MPI.API.MPI_Neighbor_allgatherv_c-NTuple{8, Any}"><code>MPI.API.MPI_Neighbor_allgatherv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_allgatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm)</code></pre><ul><li><code>MPI_Neighbor_allgatherv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_allgatherv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_allgatherv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3486-L3490">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_allgatherv_init-NTuple{10, Any}" href="#MPI.API.MPI_Neighbor_allgatherv_init-NTuple{10, Any}"><code>MPI.API.MPI_Neighbor_allgatherv_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_allgatherv_init(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Neighbor_allgatherv_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_allgatherv_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_allgatherv_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L669-L673">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_allgatherv_init_c-NTuple{10, Any}" href="#MPI.API.MPI_Neighbor_allgatherv_init_c-NTuple{10, Any}"><code>MPI.API.MPI_Neighbor_allgatherv_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_allgatherv_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Neighbor_allgatherv_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_allgatherv_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_allgatherv_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3495-L3499">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_alltoall-NTuple{7, Any}" href="#MPI.API.MPI_Neighbor_alltoall-NTuple{7, Any}"><code>MPI.API.MPI_Neighbor_alltoall</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_alltoall(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)</code></pre><ul><li><code>MPI_Neighbor_alltoall</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_alltoall.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_alltoall.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L678-L682">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_alltoall_c-NTuple{7, Any}" href="#MPI.API.MPI_Neighbor_alltoall_c-NTuple{7, Any}"><code>MPI.API.MPI_Neighbor_alltoall_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_alltoall_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)</code></pre><ul><li><code>MPI_Neighbor_alltoall_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_alltoall_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_alltoall_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3504-L3508">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_alltoall_init-NTuple{9, Any}" href="#MPI.API.MPI_Neighbor_alltoall_init-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_alltoall_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_alltoall_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Neighbor_alltoall_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_alltoall_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_alltoall_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L687-L691">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_alltoall_init_c-NTuple{9, Any}" href="#MPI.API.MPI_Neighbor_alltoall_init_c-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_alltoall_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_alltoall_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Neighbor_alltoall_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_alltoall_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_alltoall_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3513-L3517">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_alltoallv-NTuple{9, Any}" href="#MPI.API.MPI_Neighbor_alltoallv-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_alltoallv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_alltoallv(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm)</code></pre><ul><li><code>MPI_Neighbor_alltoallv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_alltoallv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_alltoallv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L696-L700">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_alltoallv_c-NTuple{9, Any}" href="#MPI.API.MPI_Neighbor_alltoallv_c-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_alltoallv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_alltoallv_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm)</code></pre><ul><li><code>MPI_Neighbor_alltoallv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_alltoallv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_alltoallv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3522-L3526">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_alltoallv_init-NTuple{11, Any}" href="#MPI.API.MPI_Neighbor_alltoallv_init-NTuple{11, Any}"><code>MPI.API.MPI_Neighbor_alltoallv_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_alltoallv_init(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Neighbor_alltoallv_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_alltoallv_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_alltoallv_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L705-L709">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_alltoallv_init_c-NTuple{11, Any}" href="#MPI.API.MPI_Neighbor_alltoallv_init_c-NTuple{11, Any}"><code>MPI.API.MPI_Neighbor_alltoallv_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_alltoallv_init_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Neighbor_alltoallv_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_alltoallv_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_alltoallv_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3531-L3535">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_alltoallw-NTuple{9, Any}" href="#MPI.API.MPI_Neighbor_alltoallw-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_alltoallw</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_alltoallw(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm)</code></pre><ul><li><code>MPI_Neighbor_alltoallw</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_alltoallw.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_alltoallw.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L714-L718">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_alltoallw_c-NTuple{9, Any}" href="#MPI.API.MPI_Neighbor_alltoallw_c-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_alltoallw_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_alltoallw_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm)</code></pre><ul><li><code>MPI_Neighbor_alltoallw_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_alltoallw_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_alltoallw_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3540-L3544">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_alltoallw_init-NTuple{11, Any}" href="#MPI.API.MPI_Neighbor_alltoallw_init-NTuple{11, Any}"><code>MPI.API.MPI_Neighbor_alltoallw_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_alltoallw_init(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request)</code></pre><ul><li><code>MPI_Neighbor_alltoallw_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_alltoallw_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_alltoallw_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L723-L727">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_alltoallw_init_c-NTuple{11, Any}" href="#MPI.API.MPI_Neighbor_alltoallw_init_c-NTuple{11, Any}"><code>MPI.API.MPI_Neighbor_alltoallw_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_alltoallw_init_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request)</code></pre><ul><li><code>MPI_Neighbor_alltoallw_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_alltoallw_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_alltoallw_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3549-L3553">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Op_commutative-Tuple{Any, Any}" href="#MPI.API.MPI_Op_commutative-Tuple{Any, Any}"><code>MPI.API.MPI_Op_commutative</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Op_commutative(op, commute)</code></pre><ul><li><code>MPI_Op_commutative</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Op_commutative.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Op_commutative.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1974-L1978">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Op_create-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Op_create-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Op_create</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Op_create(user_fn, commute, op)</code></pre><ul><li><code>MPI_Op_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Op_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Op_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1983-L1987">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Op_create_c-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Op_create_c-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Op_create_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Op_create_c(user_fn, commute, op)</code></pre><ul><li><code>MPI_Op_create_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Op_create_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Op_create_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3891-L3895">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Op_free-Tuple{Any}" href="#MPI.API.MPI_Op_free-Tuple{Any}"><code>MPI.API.MPI_Op_free</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Op_free(op)</code></pre><ul><li><code>MPI_Op_free</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Op_free.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Op_free.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1992-L1996">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Open_port-Tuple{Any, Any}" href="#MPI.API.MPI_Open_port-Tuple{Any, Any}"><code>MPI.API.MPI_Open_port</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Open_port(info, port_name)</code></pre><ul><li><code>MPI_Open_port</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Open_port.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Open_port.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2874-L2878">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Pack-NTuple{7, Any}" href="#MPI.API.MPI_Pack-NTuple{7, Any}"><code>MPI.API.MPI_Pack</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Pack(inbuf, incount, datatype, outbuf, outsize, position, comm)</code></pre><ul><li><code>MPI_Pack</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Pack.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Pack.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1092-L1096">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Pack_c-NTuple{7, Any}" href="#MPI.API.MPI_Pack_c-NTuple{7, Any}"><code>MPI.API.MPI_Pack_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Pack_c(inbuf, incount, datatype, outbuf, outsize, position, comm)</code></pre><ul><li><code>MPI_Pack_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Pack_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Pack_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3693-L3697">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Pack_external-NTuple{7, Any}" href="#MPI.API.MPI_Pack_external-NTuple{7, Any}"><code>MPI.API.MPI_Pack_external</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Pack_external(datarep, inbuf, incount, datatype, outbuf, outsize, position)</code></pre><ul><li><code>MPI_Pack_external</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Pack_external.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Pack_external.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1101-L1105">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Pack_external_c-NTuple{7, Any}" href="#MPI.API.MPI_Pack_external_c-NTuple{7, Any}"><code>MPI.API.MPI_Pack_external_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Pack_external_c(datarep, inbuf, incount, datatype, outbuf, outsize, position)</code></pre><ul><li><code>MPI_Pack_external_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Pack_external_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Pack_external_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3702-L3706">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Pack_external_size-NTuple{4, Any}" href="#MPI.API.MPI_Pack_external_size-NTuple{4, Any}"><code>MPI.API.MPI_Pack_external_size</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Pack_external_size(datarep, incount, datatype, size)</code></pre><ul><li><code>MPI_Pack_external_size</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Pack_external_size.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Pack_external_size.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1110-L1114">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Pack_external_size_c-NTuple{4, Any}" href="#MPI.API.MPI_Pack_external_size_c-NTuple{4, Any}"><code>MPI.API.MPI_Pack_external_size_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Pack_external_size_c(datarep, incount, datatype, size)</code></pre><ul><li><code>MPI_Pack_external_size_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Pack_external_size_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Pack_external_size_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3711-L3715">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Pack_size-NTuple{4, Any}" href="#MPI.API.MPI_Pack_size-NTuple{4, Any}"><code>MPI.API.MPI_Pack_size</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Pack_size(incount, datatype, comm, size)</code></pre><ul><li><code>MPI_Pack_size</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Pack_size.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Pack_size.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1119-L1123">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Pack_size_c-NTuple{4, Any}" href="#MPI.API.MPI_Pack_size_c-NTuple{4, Any}"><code>MPI.API.MPI_Pack_size_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Pack_size_c(incount, datatype, comm, size)</code></pre><ul><li><code>MPI_Pack_size_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Pack_size_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Pack_size_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3720-L3724">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Parrived-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Parrived-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Parrived</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Parrived(request, partition, flag)</code></pre><ul><li><code>MPI_Parrived</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Parrived.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Parrived.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2001-L2005">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Pready-Tuple{Any, Any}" href="#MPI.API.MPI_Pready-Tuple{Any, Any}"><code>MPI.API.MPI_Pready</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Pready(partition, request)</code></pre><ul><li><code>MPI_Pready</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Pready.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Pready.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2010-L2014">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Pready_list-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Pready_list-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Pready_list</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Pready_list(length, array_of_partitions, request)</code></pre><ul><li><code>MPI_Pready_list</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Pready_list.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Pready_list.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2019-L2023">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Pready_range-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Pready_range-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Pready_range</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Pready_range(partition_low, partition_high, request)</code></pre><ul><li><code>MPI_Pready_range</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Pready_range.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Pready_range.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2028-L2032">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Precv_init-NTuple{9, Any}" href="#MPI.API.MPI_Precv_init-NTuple{9, Any}"><code>MPI.API.MPI_Precv_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Precv_init(buf, partitions, count, datatype, dest, tag, comm, info, request)</code></pre><ul><li><code>MPI_Precv_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Precv_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Precv_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2037-L2041">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Probe-NTuple{4, Any}" href="#MPI.API.MPI_Probe-NTuple{4, Any}"><code>MPI.API.MPI_Probe</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Probe(source, tag, comm, status)</code></pre><ul><li><code>MPI_Probe</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Probe.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Probe.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2199-L2203">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Psend_init-NTuple{9, Any}" href="#MPI.API.MPI_Psend_init-NTuple{9, Any}"><code>MPI.API.MPI_Psend_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Psend_init(buf, partitions, count, datatype, dest, tag, comm, info, request)</code></pre><ul><li><code>MPI_Psend_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Psend_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Psend_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2046-L2050">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Publish_name-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Publish_name-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Publish_name</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Publish_name(service_name, info, port_name)</code></pre><ul><li><code>MPI_Publish_name</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Publish_name.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Publish_name.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2883-L2887">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Put-NTuple{8, Any}" href="#MPI.API.MPI_Put-NTuple{8, Any}"><code>MPI.API.MPI_Put</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Put(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win)</code></pre><ul><li><code>MPI_Put</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Put.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Put.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2496-L2500">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Put_c-NTuple{8, Any}" href="#MPI.API.MPI_Put_c-NTuple{8, Any}"><code>MPI.API.MPI_Put_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Put_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win)</code></pre><ul><li><code>MPI_Put_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Put_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Put_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4134-L4138">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Query_thread-Tuple{Any}" href="#MPI.API.MPI_Query_thread-Tuple{Any}"><code>MPI.API.MPI_Query_thread</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Query_thread(provided)</code></pre><ul><li><code>MPI_Query_thread</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Query_thread.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Query_thread.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1920-L1924">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Raccumulate-NTuple{10, Any}" href="#MPI.API.MPI_Raccumulate-NTuple{10, Any}"><code>MPI.API.MPI_Raccumulate</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Raccumulate(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request)</code></pre><ul><li><code>MPI_Raccumulate</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Raccumulate.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Raccumulate.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2505-L2509">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Raccumulate_c-NTuple{10, Any}" href="#MPI.API.MPI_Raccumulate_c-NTuple{10, Any}"><code>MPI.API.MPI_Raccumulate_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Raccumulate_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request)</code></pre><ul><li><code>MPI_Raccumulate_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Raccumulate_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Raccumulate_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4143-L4147">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Recv-NTuple{7, Any}" href="#MPI.API.MPI_Recv-NTuple{7, Any}"><code>MPI.API.MPI_Recv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Recv(buf, count, datatype, source, tag, comm, status)</code></pre><ul><li><code>MPI_Recv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Recv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Recv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2208-L2212">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Recv_c-NTuple{7, Any}" href="#MPI.API.MPI_Recv_c-NTuple{7, Any}"><code>MPI.API.MPI_Recv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Recv_c(buf, count, datatype, source, tag, comm, status)</code></pre><ul><li><code>MPI_Recv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Recv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Recv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4017-L4021">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Recv_init-NTuple{7, Any}" href="#MPI.API.MPI_Recv_init-NTuple{7, Any}"><code>MPI.API.MPI_Recv_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Recv_init(buf, count, datatype, source, tag, comm, request)</code></pre><ul><li><code>MPI_Recv_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Recv_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Recv_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2217-L2221">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Recv_init_c-NTuple{7, Any}" href="#MPI.API.MPI_Recv_init_c-NTuple{7, Any}"><code>MPI.API.MPI_Recv_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Recv_init_c(buf, count, datatype, source, tag, comm, request)</code></pre><ul><li><code>MPI_Recv_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Recv_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Recv_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4026-L4030">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Reduce-NTuple{7, Any}" href="#MPI.API.MPI_Reduce-NTuple{7, Any}"><code>MPI.API.MPI_Reduce</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Reduce(sendbuf, recvbuf, count, datatype, op, root, comm)</code></pre><ul><li><code>MPI_Reduce</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L732-L736">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Reduce_c-NTuple{7, Any}" href="#MPI.API.MPI_Reduce_c-NTuple{7, Any}"><code>MPI.API.MPI_Reduce_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Reduce_c(sendbuf, recvbuf, count, datatype, op, root, comm)</code></pre><ul><li><code>MPI_Reduce_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3558-L3562">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Reduce_init-NTuple{9, Any}" href="#MPI.API.MPI_Reduce_init-NTuple{9, Any}"><code>MPI.API.MPI_Reduce_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Reduce_init(sendbuf, recvbuf, count, datatype, op, root, comm, info, request)</code></pre><ul><li><code>MPI_Reduce_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L741-L745">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Reduce_init_c-NTuple{9, Any}" href="#MPI.API.MPI_Reduce_init_c-NTuple{9, Any}"><code>MPI.API.MPI_Reduce_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Reduce_init_c(sendbuf, recvbuf, count, datatype, op, root, comm, info, request)</code></pre><ul><li><code>MPI_Reduce_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3567-L3571">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Reduce_local-NTuple{5, Any}" href="#MPI.API.MPI_Reduce_local-NTuple{5, Any}"><code>MPI.API.MPI_Reduce_local</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Reduce_local(inbuf, inoutbuf, count, datatype, op)</code></pre><ul><li><code>MPI_Reduce_local</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce_local.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce_local.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L750-L754">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Reduce_local_c-NTuple{5, Any}" href="#MPI.API.MPI_Reduce_local_c-NTuple{5, Any}"><code>MPI.API.MPI_Reduce_local_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Reduce_local_c(inbuf, inoutbuf, count, datatype, op)</code></pre><ul><li><code>MPI_Reduce_local_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce_local_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce_local_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3576-L3580">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Reduce_scatter-NTuple{6, Any}" href="#MPI.API.MPI_Reduce_scatter-NTuple{6, Any}"><code>MPI.API.MPI_Reduce_scatter</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Reduce_scatter(sendbuf, recvbuf, recvcounts, datatype, op, comm)</code></pre><ul><li><code>MPI_Reduce_scatter</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce_scatter.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce_scatter.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L759-L763">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Reduce_scatter_block-NTuple{6, Any}" href="#MPI.API.MPI_Reduce_scatter_block-NTuple{6, Any}"><code>MPI.API.MPI_Reduce_scatter_block</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Reduce_scatter_block(sendbuf, recvbuf, recvcount, datatype, op, comm)</code></pre><ul><li><code>MPI_Reduce_scatter_block</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce_scatter_block.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce_scatter_block.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L768-L772">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Reduce_scatter_block_c-NTuple{6, Any}" href="#MPI.API.MPI_Reduce_scatter_block_c-NTuple{6, Any}"><code>MPI.API.MPI_Reduce_scatter_block_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Reduce_scatter_block_c(sendbuf, recvbuf, recvcount, datatype, op, comm)</code></pre><ul><li><code>MPI_Reduce_scatter_block_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce_scatter_block_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce_scatter_block_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3594-L3598">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Reduce_scatter_block_init-NTuple{8, Any}" href="#MPI.API.MPI_Reduce_scatter_block_init-NTuple{8, Any}"><code>MPI.API.MPI_Reduce_scatter_block_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Reduce_scatter_block_init(sendbuf, recvbuf, recvcount, datatype, op, comm, info, request)</code></pre><ul><li><code>MPI_Reduce_scatter_block_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce_scatter_block_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce_scatter_block_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L777-L781">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Reduce_scatter_block_init_c-NTuple{8, Any}" href="#MPI.API.MPI_Reduce_scatter_block_init_c-NTuple{8, Any}"><code>MPI.API.MPI_Reduce_scatter_block_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Reduce_scatter_block_init_c(sendbuf, recvbuf, recvcount, datatype, op, comm, info, request)</code></pre><ul><li><code>MPI_Reduce_scatter_block_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce_scatter_block_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce_scatter_block_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3603-L3607">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Reduce_scatter_c-NTuple{6, Any}" href="#MPI.API.MPI_Reduce_scatter_c-NTuple{6, Any}"><code>MPI.API.MPI_Reduce_scatter_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Reduce_scatter_c(sendbuf, recvbuf, recvcounts, datatype, op, comm)</code></pre><ul><li><code>MPI_Reduce_scatter_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce_scatter_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce_scatter_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3585-L3589">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Reduce_scatter_init-NTuple{8, Any}" href="#MPI.API.MPI_Reduce_scatter_init-NTuple{8, Any}"><code>MPI.API.MPI_Reduce_scatter_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Reduce_scatter_init(sendbuf, recvbuf, recvcounts, datatype, op, comm, info, request)</code></pre><ul><li><code>MPI_Reduce_scatter_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce_scatter_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce_scatter_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L786-L790">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Reduce_scatter_init_c-NTuple{8, Any}" href="#MPI.API.MPI_Reduce_scatter_init_c-NTuple{8, Any}"><code>MPI.API.MPI_Reduce_scatter_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Reduce_scatter_init_c(sendbuf, recvbuf, recvcounts, datatype, op, comm, info, request)</code></pre><ul><li><code>MPI_Reduce_scatter_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce_scatter_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce_scatter_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3612-L3616">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Register_datarep-NTuple{5, Any}" href="#MPI.API.MPI_Register_datarep-NTuple{5, Any}"><code>MPI.API.MPI_Register_datarep</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Register_datarep(datarep, read_conversion_fn, write_conversion_fn, dtype_file_extent_fn, extra_state)</code></pre><ul><li><code>MPI_Register_datarep</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Register_datarep.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Register_datarep.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4647-L4651">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Register_datarep_c-NTuple{5, Any}" href="#MPI.API.MPI_Register_datarep_c-NTuple{5, Any}"><code>MPI.API.MPI_Register_datarep_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Register_datarep_c(datarep, read_conversion_fn, write_conversion_fn, dtype_file_extent_fn, extra_state)</code></pre><ul><li><code>MPI_Register_datarep_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Register_datarep_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Register_datarep_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4980-L4984">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Request_free-Tuple{Any}" href="#MPI.API.MPI_Request_free-Tuple{Any}"><code>MPI.API.MPI_Request_free</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Request_free(request)</code></pre><ul><li><code>MPI_Request_free</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Request_free.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Request_free.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2325-L2329">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Request_get_status-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Request_get_status-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Request_get_status</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Request_get_status(request, flag, status)</code></pre><ul><li><code>MPI_Request_get_status</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Request_get_status.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Request_get_status.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2334-L2338">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Rget-NTuple{9, Any}" href="#MPI.API.MPI_Rget-NTuple{9, Any}"><code>MPI.API.MPI_Rget</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Rget(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request)</code></pre><ul><li><code>MPI_Rget</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Rget.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Rget.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2514-L2518">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Rget_accumulate-NTuple{13, Any}" href="#MPI.API.MPI_Rget_accumulate-NTuple{13, Any}"><code>MPI.API.MPI_Rget_accumulate</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Rget_accumulate(origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request)</code></pre><ul><li><code>MPI_Rget_accumulate</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Rget_accumulate.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Rget_accumulate.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2523-L2527">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Rget_accumulate_c-NTuple{13, Any}" href="#MPI.API.MPI_Rget_accumulate_c-NTuple{13, Any}"><code>MPI.API.MPI_Rget_accumulate_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Rget_accumulate_c(origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request)</code></pre><ul><li><code>MPI_Rget_accumulate_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Rget_accumulate_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Rget_accumulate_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4161-L4165">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Rget_c-NTuple{9, Any}" href="#MPI.API.MPI_Rget_c-NTuple{9, Any}"><code>MPI.API.MPI_Rget_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Rget_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request)</code></pre><ul><li><code>MPI_Rget_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Rget_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Rget_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4152-L4156">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Rput-NTuple{9, Any}" href="#MPI.API.MPI_Rput-NTuple{9, Any}"><code>MPI.API.MPI_Rput</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Rput(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request)</code></pre><ul><li><code>MPI_Rput</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Rput.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Rput.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2532-L2536">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Rput_c-NTuple{9, Any}" href="#MPI.API.MPI_Rput_c-NTuple{9, Any}"><code>MPI.API.MPI_Rput_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Rput_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request)</code></pre><ul><li><code>MPI_Rput_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Rput_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Rput_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4170-L4174">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Rsend-NTuple{6, Any}" href="#MPI.API.MPI_Rsend-NTuple{6, Any}"><code>MPI.API.MPI_Rsend</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Rsend(buf, count, datatype, dest, tag, comm)</code></pre><ul><li><code>MPI_Rsend</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Rsend.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Rsend.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2226-L2230">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Rsend_c-NTuple{6, Any}" href="#MPI.API.MPI_Rsend_c-NTuple{6, Any}"><code>MPI.API.MPI_Rsend_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Rsend_c(buf, count, datatype, dest, tag, comm)</code></pre><ul><li><code>MPI_Rsend_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Rsend_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Rsend_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4035-L4039">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Rsend_init-NTuple{7, Any}" href="#MPI.API.MPI_Rsend_init-NTuple{7, Any}"><code>MPI.API.MPI_Rsend_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Rsend_init(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Rsend_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Rsend_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Rsend_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2235-L2239">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Rsend_init_c-NTuple{7, Any}" href="#MPI.API.MPI_Rsend_init_c-NTuple{7, Any}"><code>MPI.API.MPI_Rsend_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Rsend_init_c(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Rsend_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Rsend_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Rsend_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4044-L4048">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Scan-NTuple{6, Any}" href="#MPI.API.MPI_Scan-NTuple{6, Any}"><code>MPI.API.MPI_Scan</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Scan(sendbuf, recvbuf, count, datatype, op, comm)</code></pre><ul><li><code>MPI_Scan</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scan.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scan.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L795-L799">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Scan_c-NTuple{6, Any}" href="#MPI.API.MPI_Scan_c-NTuple{6, Any}"><code>MPI.API.MPI_Scan_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Scan_c(sendbuf, recvbuf, count, datatype, op, comm)</code></pre><ul><li><code>MPI_Scan_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scan_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scan_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3621-L3625">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Scan_init-NTuple{8, Any}" href="#MPI.API.MPI_Scan_init-NTuple{8, Any}"><code>MPI.API.MPI_Scan_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Scan_init(sendbuf, recvbuf, count, datatype, op, comm, info, request)</code></pre><ul><li><code>MPI_Scan_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scan_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scan_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L804-L808">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Scan_init_c-NTuple{8, Any}" href="#MPI.API.MPI_Scan_init_c-NTuple{8, Any}"><code>MPI.API.MPI_Scan_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Scan_init_c(sendbuf, recvbuf, count, datatype, op, comm, info, request)</code></pre><ul><li><code>MPI_Scan_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scan_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scan_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3630-L3634">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Scatter-NTuple{8, Any}" href="#MPI.API.MPI_Scatter-NTuple{8, Any}"><code>MPI.API.MPI_Scatter</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Scatter(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm)</code></pre><ul><li><code>MPI_Scatter</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scatter.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scatter.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L813-L817">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Scatter_c-NTuple{8, Any}" href="#MPI.API.MPI_Scatter_c-NTuple{8, Any}"><code>MPI.API.MPI_Scatter_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Scatter_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm)</code></pre><ul><li><code>MPI_Scatter_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scatter_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scatter_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3639-L3643">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Scatter_init-NTuple{10, Any}" href="#MPI.API.MPI_Scatter_init-NTuple{10, Any}"><code>MPI.API.MPI_Scatter_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Scatter_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request)</code></pre><ul><li><code>MPI_Scatter_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scatter_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scatter_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L822-L826">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Scatter_init_c-NTuple{10, Any}" href="#MPI.API.MPI_Scatter_init_c-NTuple{10, Any}"><code>MPI.API.MPI_Scatter_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Scatter_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request)</code></pre><ul><li><code>MPI_Scatter_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scatter_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scatter_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3648-L3652">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Scatterv-NTuple{9, Any}" href="#MPI.API.MPI_Scatterv-NTuple{9, Any}"><code>MPI.API.MPI_Scatterv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Scatterv(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm)</code></pre><ul><li><code>MPI_Scatterv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scatterv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scatterv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L831-L835">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Scatterv_c-NTuple{9, Any}" href="#MPI.API.MPI_Scatterv_c-NTuple{9, Any}"><code>MPI.API.MPI_Scatterv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Scatterv_c(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm)</code></pre><ul><li><code>MPI_Scatterv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scatterv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scatterv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3657-L3661">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Scatterv_init-NTuple{11, Any}" href="#MPI.API.MPI_Scatterv_init-NTuple{11, Any}"><code>MPI.API.MPI_Scatterv_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Scatterv_init(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request)</code></pre><ul><li><code>MPI_Scatterv_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scatterv_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scatterv_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L840-L844">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Scatterv_init_c-NTuple{11, Any}" href="#MPI.API.MPI_Scatterv_init_c-NTuple{11, Any}"><code>MPI.API.MPI_Scatterv_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Scatterv_init_c(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request)</code></pre><ul><li><code>MPI_Scatterv_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scatterv_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scatterv_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3666-L3670">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Send-NTuple{6, Any}" href="#MPI.API.MPI_Send-NTuple{6, Any}"><code>MPI.API.MPI_Send</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Send(buf, count, datatype, dest, tag, comm)</code></pre><ul><li><code>MPI_Send</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Send.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Send.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2244-L2248">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Send_c-NTuple{6, Any}" href="#MPI.API.MPI_Send_c-NTuple{6, Any}"><code>MPI.API.MPI_Send_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Send_c(buf, count, datatype, dest, tag, comm)</code></pre><ul><li><code>MPI_Send_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Send_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Send_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4053-L4057">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Send_init-NTuple{7, Any}" href="#MPI.API.MPI_Send_init-NTuple{7, Any}"><code>MPI.API.MPI_Send_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Send_init(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Send_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Send_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Send_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2253-L2257">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Send_init_c-NTuple{7, Any}" href="#MPI.API.MPI_Send_init_c-NTuple{7, Any}"><code>MPI.API.MPI_Send_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Send_init_c(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Send_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Send_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Send_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4062-L4066">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Sendrecv-NTuple{12, Any}" href="#MPI.API.MPI_Sendrecv-NTuple{12, Any}"><code>MPI.API.MPI_Sendrecv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Sendrecv(sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, status)</code></pre><ul><li><code>MPI_Sendrecv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Sendrecv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Sendrecv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2262-L2266">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Sendrecv_c-NTuple{12, Any}" href="#MPI.API.MPI_Sendrecv_c-NTuple{12, Any}"><code>MPI.API.MPI_Sendrecv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Sendrecv_c(sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, status)</code></pre><ul><li><code>MPI_Sendrecv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Sendrecv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Sendrecv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4071-L4075">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Sendrecv_replace-NTuple{9, Any}" href="#MPI.API.MPI_Sendrecv_replace-NTuple{9, Any}"><code>MPI.API.MPI_Sendrecv_replace</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Sendrecv_replace(buf, count, datatype, dest, sendtag, source, recvtag, comm, status)</code></pre><ul><li><code>MPI_Sendrecv_replace</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Sendrecv_replace.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Sendrecv_replace.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2271-L2275">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Sendrecv_replace_c-NTuple{9, Any}" href="#MPI.API.MPI_Sendrecv_replace_c-NTuple{9, Any}"><code>MPI.API.MPI_Sendrecv_replace_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Sendrecv_replace_c(buf, count, datatype, dest, sendtag, source, recvtag, comm, status)</code></pre><ul><li><code>MPI_Sendrecv_replace_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Sendrecv_replace_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Sendrecv_replace_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4080-L4084">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ssend-NTuple{6, Any}" href="#MPI.API.MPI_Ssend-NTuple{6, Any}"><code>MPI.API.MPI_Ssend</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ssend(buf, count, datatype, dest, tag, comm)</code></pre><ul><li><code>MPI_Ssend</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ssend.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ssend.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2280-L2284">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ssend_c-NTuple{6, Any}" href="#MPI.API.MPI_Ssend_c-NTuple{6, Any}"><code>MPI.API.MPI_Ssend_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ssend_c(buf, count, datatype, dest, tag, comm)</code></pre><ul><li><code>MPI_Ssend_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ssend_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ssend_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4089-L4093">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ssend_init-NTuple{7, Any}" href="#MPI.API.MPI_Ssend_init-NTuple{7, Any}"><code>MPI.API.MPI_Ssend_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ssend_init(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Ssend_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ssend_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ssend_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2289-L2293">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ssend_init_c-NTuple{7, Any}" href="#MPI.API.MPI_Ssend_init_c-NTuple{7, Any}"><code>MPI.API.MPI_Ssend_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ssend_init_c(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Ssend_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ssend_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ssend_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4098-L4102">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Start-Tuple{Any}" href="#MPI.API.MPI_Start-Tuple{Any}"><code>MPI.API.MPI_Start</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Start(request)</code></pre><ul><li><code>MPI_Start</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Start.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Start.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2343-L2347">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Startall-Tuple{Any, Any}" href="#MPI.API.MPI_Startall-Tuple{Any, Any}"><code>MPI.API.MPI_Startall</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Startall(count, array_of_requests)</code></pre><ul><li><code>MPI_Startall</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Startall.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Startall.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2352-L2356">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Status_c2f-Tuple{Any, Any}" href="#MPI.API.MPI_Status_c2f-Tuple{Any, Any}"><code>MPI.API.MPI_Status_c2f</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Status_c2f(c_status, f_status)</code></pre><ul><li><code>MPI_Status_c2f</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Status_c2f.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Status_c2f.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L21-L25">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Status_f2c-Tuple{Any, Any}" href="#MPI.API.MPI_Status_f2c-Tuple{Any, Any}"><code>MPI.API.MPI_Status_f2c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Status_f2c(f_status, c_status)</code></pre><ul><li><code>MPI_Status_f2c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Status_f2c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Status_f2c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L30-L34">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Status_set_cancelled-Tuple{Any, Any}" href="#MPI.API.MPI_Status_set_cancelled-Tuple{Any, Any}"><code>MPI.API.MPI_Status_set_cancelled</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Status_set_cancelled(status, flag)</code></pre><ul><li><code>MPI_Status_set_cancelled</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Status_set_cancelled.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Status_set_cancelled.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2361-L2365">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Status_set_elements-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Status_set_elements-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Status_set_elements</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Status_set_elements(status, datatype, count)</code></pre><ul><li><code>MPI_Status_set_elements</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Status_set_elements.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Status_set_elements.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1128-L1132">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Status_set_elements_x-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Status_set_elements_x-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Status_set_elements_x</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Status_set_elements_x(status, datatype, count)</code></pre><ul><li><code>MPI_Status_set_elements_x</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Status_set_elements_x.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Status_set_elements_x.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1137-L1141">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Test-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Test-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Test</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Test(request, flag, status)</code></pre><ul><li><code>MPI_Test</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Test.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Test.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L12-L16">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Test_cancelled-Tuple{Any, Any}" href="#MPI.API.MPI_Test_cancelled-Tuple{Any, Any}"><code>MPI.API.MPI_Test_cancelled</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Test_cancelled(status, flag)</code></pre><ul><li><code>MPI_Test_cancelled</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Test_cancelled.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Test_cancelled.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2370-L2374">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Testall-NTuple{4, Any}" href="#MPI.API.MPI_Testall-NTuple{4, Any}"><code>MPI.API.MPI_Testall</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Testall(count, array_of_requests, flag, array_of_statuses)</code></pre><ul><li><code>MPI_Testall</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Testall.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Testall.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2379-L2383">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Testany-NTuple{5, Any}" href="#MPI.API.MPI_Testany-NTuple{5, Any}"><code>MPI.API.MPI_Testany</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Testany(count, array_of_requests, indx, flag, status)</code></pre><ul><li><code>MPI_Testany</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Testany.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Testany.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2388-L2392">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Testsome-NTuple{5, Any}" href="#MPI.API.MPI_Testsome-NTuple{5, Any}"><code>MPI.API.MPI_Testsome</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Testsome(incount, array_of_requests, outcount, array_of_indices, array_of_statuses)</code></pre><ul><li><code>MPI_Testsome</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Testsome.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Testsome.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2397-L2401">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Topo_test-Tuple{Any, Any}" href="#MPI.API.MPI_Topo_test-Tuple{Any, Any}"><code>MPI.API.MPI_Topo_test</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Topo_test(comm, status)</code></pre><ul><li><code>MPI_Topo_test</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Topo_test.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Topo_test.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3090-L3094">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_commit-Tuple{Any}" href="#MPI.API.MPI_Type_commit-Tuple{Any}"><code>MPI.API.MPI_Type_commit</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_commit(datatype)</code></pre><ul><li><code>MPI_Type_commit</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_commit.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_commit.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1146-L1150">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_contiguous-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Type_contiguous-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_contiguous</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_contiguous(count, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_contiguous</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_contiguous.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_contiguous.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1155-L1159">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_contiguous_c-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Type_contiguous_c-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_contiguous_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_contiguous_c(count, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_contiguous_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_contiguous_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_contiguous_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3729-L3733">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_darray-NTuple{10, Any}" href="#MPI.API.MPI_Type_create_darray-NTuple{10, Any}"><code>MPI.API.MPI_Type_create_darray</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_darray(size, rank, ndims, array_of_gsizes, array_of_distribs, array_of_dargs, array_of_psizes, order, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_create_darray</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_darray.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_darray.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1164-L1168">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_darray_c-NTuple{10, Any}" href="#MPI.API.MPI_Type_create_darray_c-NTuple{10, Any}"><code>MPI.API.MPI_Type_create_darray_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_darray_c(size, rank, ndims, array_of_gsizes, array_of_distribs, array_of_dargs, array_of_psizes, order, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_create_darray_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_darray_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_darray_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3738-L3742">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_f90_complex-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Type_create_f90_complex-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_create_f90_complex</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_f90_complex(p, r, newtype)</code></pre><ul><li><code>MPI_Type_create_f90_complex</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_f90_complex.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_f90_complex.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L57-L61">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_f90_integer-Tuple{Any, Any}" href="#MPI.API.MPI_Type_create_f90_integer-Tuple{Any, Any}"><code>MPI.API.MPI_Type_create_f90_integer</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_f90_integer(r, newtype)</code></pre><ul><li><code>MPI_Type_create_f90_integer</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_f90_integer.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_f90_integer.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L39-L43">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_f90_real-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Type_create_f90_real-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_create_f90_real</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_f90_real(p, r, newtype)</code></pre><ul><li><code>MPI_Type_create_f90_real</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_f90_real.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_f90_real.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L48-L52">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_hindexed-NTuple{5, Any}" href="#MPI.API.MPI_Type_create_hindexed-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_hindexed</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_hindexed(count, array_of_blocklengths, array_of_displacements, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_create_hindexed</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_hindexed.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_hindexed.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1173-L1177">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_hindexed_block-NTuple{5, Any}" href="#MPI.API.MPI_Type_create_hindexed_block-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_hindexed_block</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_hindexed_block(count, blocklength, array_of_displacements, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_create_hindexed_block</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_hindexed_block.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_hindexed_block.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1182-L1186">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_hindexed_block_c-NTuple{5, Any}" href="#MPI.API.MPI_Type_create_hindexed_block_c-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_hindexed_block_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_hindexed_block_c(count, blocklength, array_of_displacements, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_create_hindexed_block_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_hindexed_block_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_hindexed_block_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3756-L3760">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_hindexed_c-NTuple{5, Any}" href="#MPI.API.MPI_Type_create_hindexed_c-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_hindexed_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_hindexed_c(count, array_of_blocklengths, array_of_displacements, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_create_hindexed_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_hindexed_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_hindexed_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3747-L3751">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_hvector-NTuple{5, Any}" href="#MPI.API.MPI_Type_create_hvector-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_hvector</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_hvector(count, blocklength, stride, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_create_hvector</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_hvector.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_hvector.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1191-L1195">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_hvector_c-NTuple{5, Any}" href="#MPI.API.MPI_Type_create_hvector_c-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_hvector_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_hvector_c(count, blocklength, stride, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_create_hvector_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_hvector_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_hvector_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3765-L3769">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_indexed_block-NTuple{5, Any}" href="#MPI.API.MPI_Type_create_indexed_block-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_indexed_block</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_indexed_block(count, blocklength, array_of_displacements, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_create_indexed_block</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_indexed_block.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_indexed_block.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1200-L1204">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_indexed_block_c-NTuple{5, Any}" href="#MPI.API.MPI_Type_create_indexed_block_c-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_indexed_block_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_indexed_block_c(count, blocklength, array_of_displacements, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_create_indexed_block_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_indexed_block_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_indexed_block_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3774-L3778">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_keyval-NTuple{4, Any}" href="#MPI.API.MPI_Type_create_keyval-NTuple{4, Any}"><code>MPI.API.MPI_Type_create_keyval</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_keyval(type_copy_attr_fn, type_delete_attr_fn, type_keyval, extra_state)</code></pre><ul><li><code>MPI_Type_create_keyval</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_keyval.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_keyval.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L156-L160">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_resized-NTuple{4, Any}" href="#MPI.API.MPI_Type_create_resized-NTuple{4, Any}"><code>MPI.API.MPI_Type_create_resized</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_resized(oldtype, lb, extent, newtype)</code></pre><ul><li><code>MPI_Type_create_resized</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_resized.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_resized.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1209-L1213">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_resized_c-NTuple{4, Any}" href="#MPI.API.MPI_Type_create_resized_c-NTuple{4, Any}"><code>MPI.API.MPI_Type_create_resized_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_resized_c(oldtype, lb, extent, newtype)</code></pre><ul><li><code>MPI_Type_create_resized_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_resized_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_resized_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3783-L3787">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_struct-NTuple{5, Any}" href="#MPI.API.MPI_Type_create_struct-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_struct</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_struct(count, array_of_blocklengths, array_of_displacements, array_of_types, newtype)</code></pre><ul><li><code>MPI_Type_create_struct</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_struct.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_struct.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1218-L1222">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_struct_c-NTuple{5, Any}" href="#MPI.API.MPI_Type_create_struct_c-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_struct_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_struct_c(count, array_of_blocklengths, array_of_displacements, array_of_types, newtype)</code></pre><ul><li><code>MPI_Type_create_struct_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_struct_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_struct_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3792-L3796">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_subarray-NTuple{7, Any}" href="#MPI.API.MPI_Type_create_subarray-NTuple{7, Any}"><code>MPI.API.MPI_Type_create_subarray</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_subarray(ndims, array_of_sizes, array_of_subsizes, array_of_starts, order, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_create_subarray</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_subarray.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_subarray.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1227-L1231">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_subarray_c-NTuple{7, Any}" href="#MPI.API.MPI_Type_create_subarray_c-NTuple{7, Any}"><code>MPI.API.MPI_Type_create_subarray_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_subarray_c(ndims, array_of_sizes, array_of_subsizes, array_of_starts, order, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_create_subarray_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_subarray_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_subarray_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3801-L3805">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_delete_attr-Tuple{Any, Any}" href="#MPI.API.MPI_Type_delete_attr-Tuple{Any, Any}"><code>MPI.API.MPI_Type_delete_attr</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_delete_attr(datatype, type_keyval)</code></pre><ul><li><code>MPI_Type_delete_attr</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_delete_attr.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_delete_attr.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L165-L169">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_dup-Tuple{Any, Any}" href="#MPI.API.MPI_Type_dup-Tuple{Any, Any}"><code>MPI.API.MPI_Type_dup</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_dup(oldtype, newtype)</code></pre><ul><li><code>MPI_Type_dup</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_dup.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_dup.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1236-L1240">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_extent-Tuple{Any, Any}" href="#MPI.API.MPI_Type_extent-Tuple{Any, Any}"><code>MPI.API.MPI_Type_extent</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_extent(datatype, extent)</code></pre><ul><li><code>MPI_Type_extent</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_extent.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_extent.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1398-L1402">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_free-Tuple{Any}" href="#MPI.API.MPI_Type_free-Tuple{Any}"><code>MPI.API.MPI_Type_free</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_free(datatype)</code></pre><ul><li><code>MPI_Type_free</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_free.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_free.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1245-L1249">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_free_keyval-Tuple{Any}" href="#MPI.API.MPI_Type_free_keyval-Tuple{Any}"><code>MPI.API.MPI_Type_free_keyval</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_free_keyval(type_keyval)</code></pre><ul><li><code>MPI_Type_free_keyval</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_free_keyval.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_free_keyval.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L174-L178">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_get_attr-NTuple{4, Any}" href="#MPI.API.MPI_Type_get_attr-NTuple{4, Any}"><code>MPI.API.MPI_Type_get_attr</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_get_attr(datatype, type_keyval, attribute_val, flag)</code></pre><ul><li><code>MPI_Type_get_attr</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_get_attr.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_get_attr.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L183-L187">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_get_contents-NTuple{7, Any}" href="#MPI.API.MPI_Type_get_contents-NTuple{7, Any}"><code>MPI.API.MPI_Type_get_contents</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_get_contents(datatype, max_integers, max_addresses, max_datatypes, array_of_integers, array_of_addresses, array_of_datatypes)</code></pre><ul><li><code>MPI_Type_get_contents</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_get_contents.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_get_contents.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1254-L1258">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_get_contents_c-NTuple{9, Any}" href="#MPI.API.MPI_Type_get_contents_c-NTuple{9, Any}"><code>MPI.API.MPI_Type_get_contents_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_get_contents_c(datatype, max_integers, max_addresses, max_large_counts, max_datatypes, array_of_integers, array_of_addresses, array_of_large_counts, array_of_datatypes)</code></pre><ul><li><code>MPI_Type_get_contents_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_get_contents_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_get_contents_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3810-L3814">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_get_envelope-NTuple{5, Any}" href="#MPI.API.MPI_Type_get_envelope-NTuple{5, Any}"><code>MPI.API.MPI_Type_get_envelope</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_get_envelope(datatype, num_integers, num_addresses, num_datatypes, combiner)</code></pre><ul><li><code>MPI_Type_get_envelope</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_get_envelope.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_get_envelope.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1263-L1267">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_get_envelope_c-NTuple{6, Any}" href="#MPI.API.MPI_Type_get_envelope_c-NTuple{6, Any}"><code>MPI.API.MPI_Type_get_envelope_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_get_envelope_c(datatype, num_integers, num_addresses, num_large_counts, num_datatypes, combiner)</code></pre><ul><li><code>MPI_Type_get_envelope_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_get_envelope_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_get_envelope_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3819-L3823">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_get_extent-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Type_get_extent-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_get_extent</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_get_extent(datatype, lb, extent)</code></pre><ul><li><code>MPI_Type_get_extent</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_get_extent.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_get_extent.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1272-L1276">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_get_extent_c-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Type_get_extent_c-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_get_extent_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_get_extent_c(datatype, lb, extent)</code></pre><ul><li><code>MPI_Type_get_extent_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_get_extent_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_get_extent_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3828-L3832">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_get_extent_x-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Type_get_extent_x-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_get_extent_x</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_get_extent_x(datatype, lb, extent)</code></pre><ul><li><code>MPI_Type_get_extent_x</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_get_extent_x.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_get_extent_x.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1281-L1285">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_get_name-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Type_get_name-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_get_name</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_get_name(datatype, type_name, resultlen)</code></pre><ul><li><code>MPI_Type_get_name</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_get_name.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_get_name.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1290-L1294">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_get_true_extent-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Type_get_true_extent-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_get_true_extent</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_get_true_extent(datatype, true_lb, true_extent)</code></pre><ul><li><code>MPI_Type_get_true_extent</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_get_true_extent.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_get_true_extent.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1299-L1303">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_get_true_extent_c-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Type_get_true_extent_c-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_get_true_extent_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_get_true_extent_c(datatype, true_lb, true_extent)</code></pre><ul><li><code>MPI_Type_get_true_extent_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_get_true_extent_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_get_true_extent_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3837-L3841">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_get_true_extent_x-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Type_get_true_extent_x-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_get_true_extent_x</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_get_true_extent_x(datatype, true_lb, true_extent)</code></pre><ul><li><code>MPI_Type_get_true_extent_x</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_get_true_extent_x.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_get_true_extent_x.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1308-L1312">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_hindexed-NTuple{5, Any}" href="#MPI.API.MPI_Type_hindexed-NTuple{5, Any}"><code>MPI.API.MPI_Type_hindexed</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_hindexed(count, array_of_blocklengths, array_of_displacements, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_hindexed</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_hindexed.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_hindexed.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1425-L1429">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_hvector-NTuple{5, Any}" href="#MPI.API.MPI_Type_hvector-NTuple{5, Any}"><code>MPI.API.MPI_Type_hvector</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_hvector(count, blocklength, stride, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_hvector</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_hvector.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_hvector.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1434-L1438">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_indexed-NTuple{5, Any}" href="#MPI.API.MPI_Type_indexed-NTuple{5, Any}"><code>MPI.API.MPI_Type_indexed</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_indexed(count, array_of_blocklengths, array_of_displacements, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_indexed</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_indexed.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_indexed.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1317-L1321">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_indexed_c-NTuple{5, Any}" href="#MPI.API.MPI_Type_indexed_c-NTuple{5, Any}"><code>MPI.API.MPI_Type_indexed_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_indexed_c(count, array_of_blocklengths, array_of_displacements, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_indexed_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_indexed_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_indexed_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3846-L3850">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_lb-Tuple{Any, Any}" href="#MPI.API.MPI_Type_lb-Tuple{Any, Any}"><code>MPI.API.MPI_Type_lb</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_lb(datatype, displacement)</code></pre><ul><li><code>MPI_Type_lb</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_lb.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_lb.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1407-L1411">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_match_size-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Type_match_size-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_match_size</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_match_size(typeclass, size, datatype)</code></pre><ul><li><code>MPI_Type_match_size</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_match_size.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_match_size.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1326-L1330">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_set_attr-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Type_set_attr-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_set_attr</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_set_attr(datatype, type_keyval, attribute_val)</code></pre><ul><li><code>MPI_Type_set_attr</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_set_attr.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_set_attr.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L192-L196">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_set_name-Tuple{Any, Any}" href="#MPI.API.MPI_Type_set_name-Tuple{Any, Any}"><code>MPI.API.MPI_Type_set_name</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_set_name(datatype, type_name)</code></pre><ul><li><code>MPI_Type_set_name</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_set_name.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_set_name.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1335-L1339">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_size-Tuple{Any, Any}" href="#MPI.API.MPI_Type_size-Tuple{Any, Any}"><code>MPI.API.MPI_Type_size</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_size(datatype, size)</code></pre><ul><li><code>MPI_Type_size</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_size.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_size.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1344-L1348">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_size_c-Tuple{Any, Any}" href="#MPI.API.MPI_Type_size_c-Tuple{Any, Any}"><code>MPI.API.MPI_Type_size_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_size_c(datatype, size)</code></pre><ul><li><code>MPI_Type_size_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_size_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_size_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3855-L3859">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_size_x-Tuple{Any, Any}" href="#MPI.API.MPI_Type_size_x-Tuple{Any, Any}"><code>MPI.API.MPI_Type_size_x</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_size_x(datatype, size)</code></pre><ul><li><code>MPI_Type_size_x</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_size_x.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_size_x.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1353-L1357">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_struct-NTuple{5, Any}" href="#MPI.API.MPI_Type_struct-NTuple{5, Any}"><code>MPI.API.MPI_Type_struct</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_struct(count, array_of_blocklengths, array_of_displacements, array_of_types, newtype)</code></pre><ul><li><code>MPI_Type_struct</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_struct.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_struct.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1443-L1447">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_ub-Tuple{Any, Any}" href="#MPI.API.MPI_Type_ub-Tuple{Any, Any}"><code>MPI.API.MPI_Type_ub</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_ub(datatype, displacement)</code></pre><ul><li><code>MPI_Type_ub</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_ub.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_ub.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1416-L1420">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_vector-NTuple{5, Any}" href="#MPI.API.MPI_Type_vector-NTuple{5, Any}"><code>MPI.API.MPI_Type_vector</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_vector(count, blocklength, stride, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_vector</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_vector.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_vector.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1362-L1366">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_vector_c-NTuple{5, Any}" href="#MPI.API.MPI_Type_vector_c-NTuple{5, Any}"><code>MPI.API.MPI_Type_vector_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_vector_c(count, blocklength, stride, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_vector_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_vector_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_vector_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3864-L3868">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Unpack-NTuple{7, Any}" href="#MPI.API.MPI_Unpack-NTuple{7, Any}"><code>MPI.API.MPI_Unpack</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Unpack(inbuf, insize, position, outbuf, outcount, datatype, comm)</code></pre><ul><li><code>MPI_Unpack</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Unpack.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Unpack.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1371-L1375">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Unpack_c-NTuple{7, Any}" href="#MPI.API.MPI_Unpack_c-NTuple{7, Any}"><code>MPI.API.MPI_Unpack_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Unpack_c(inbuf, insize, position, outbuf, outcount, datatype, comm)</code></pre><ul><li><code>MPI_Unpack_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Unpack_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Unpack_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3873-L3877">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Unpack_external-NTuple{7, Any}" href="#MPI.API.MPI_Unpack_external-NTuple{7, Any}"><code>MPI.API.MPI_Unpack_external</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Unpack_external(datarep, inbuf, insize, position, outbuf, outcount, datatype)</code></pre><ul><li><code>MPI_Unpack_external</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Unpack_external.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Unpack_external.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1380-L1384">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Unpack_external_c-NTuple{7, Any}" href="#MPI.API.MPI_Unpack_external_c-NTuple{7, Any}"><code>MPI.API.MPI_Unpack_external_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Unpack_external_c(datarep, inbuf, insize, position, outbuf, outcount, datatype)</code></pre><ul><li><code>MPI_Unpack_external_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Unpack_external_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Unpack_external_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3882-L3886">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Unpublish_name-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Unpublish_name-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Unpublish_name</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Unpublish_name(service_name, info, port_name)</code></pre><ul><li><code>MPI_Unpublish_name</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Unpublish_name.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Unpublish_name.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2892-L2896">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Wait-Tuple{Any, Any}" href="#MPI.API.MPI_Wait-Tuple{Any, Any}"><code>MPI.API.MPI_Wait</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Wait(request, status)</code></pre><ul><li><code>MPI_Wait</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Wait.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Wait.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L3-L7">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Waitall-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Waitall-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Waitall</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Waitall(count, array_of_requests, array_of_statuses)</code></pre><ul><li><code>MPI_Waitall</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Waitall.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Waitall.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2406-L2410">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Waitany-NTuple{4, Any}" href="#MPI.API.MPI_Waitany-NTuple{4, Any}"><code>MPI.API.MPI_Waitany</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Waitany(count, array_of_requests, indx, status)</code></pre><ul><li><code>MPI_Waitany</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Waitany.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Waitany.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2415-L2419">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Waitsome-NTuple{5, Any}" href="#MPI.API.MPI_Waitsome-NTuple{5, Any}"><code>MPI.API.MPI_Waitsome</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Waitsome(incount, array_of_requests, outcount, array_of_indices, array_of_statuses)</code></pre><ul><li><code>MPI_Waitsome</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Waitsome.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Waitsome.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2424-L2428">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_allocate-NTuple{6, Any}" href="#MPI.API.MPI_Win_allocate-NTuple{6, Any}"><code>MPI.API.MPI_Win_allocate</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_allocate(size, disp_unit, info, comm, baseptr, win)</code></pre><ul><li><code>MPI_Win_allocate</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_allocate.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_allocate.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2541-L2545">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_allocate_c-NTuple{6, Any}" href="#MPI.API.MPI_Win_allocate_c-NTuple{6, Any}"><code>MPI.API.MPI_Win_allocate_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_allocate_c(size, disp_unit, info, comm, baseptr, win)</code></pre><ul><li><code>MPI_Win_allocate_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_allocate_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_allocate_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4179-L4183">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_allocate_shared-NTuple{6, Any}" href="#MPI.API.MPI_Win_allocate_shared-NTuple{6, Any}"><code>MPI.API.MPI_Win_allocate_shared</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_allocate_shared(size, disp_unit, info, comm, baseptr, win)</code></pre><ul><li><code>MPI_Win_allocate_shared</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_allocate_shared.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_allocate_shared.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2550-L2554">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_allocate_shared_c-NTuple{6, Any}" href="#MPI.API.MPI_Win_allocate_shared_c-NTuple{6, Any}"><code>MPI.API.MPI_Win_allocate_shared_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_allocate_shared_c(size, disp_unit, info, comm, baseptr, win)</code></pre><ul><li><code>MPI_Win_allocate_shared_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_allocate_shared_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_allocate_shared_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4188-L4192">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_attach-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Win_attach-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Win_attach</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_attach(win, base, size)</code></pre><ul><li><code>MPI_Win_attach</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_attach.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_attach.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2559-L2563">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_call_errhandler-Tuple{Any, Any}" href="#MPI.API.MPI_Win_call_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Win_call_errhandler</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_call_errhandler(win, errorcode)</code></pre><ul><li><code>MPI_Win_call_errhandler</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_call_errhandler.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_call_errhandler.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1578-L1582">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_complete-Tuple{Any}" href="#MPI.API.MPI_Win_complete-Tuple{Any}"><code>MPI.API.MPI_Win_complete</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_complete(win)</code></pre><ul><li><code>MPI_Win_complete</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_complete.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_complete.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2568-L2572">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_create-NTuple{6, Any}" href="#MPI.API.MPI_Win_create-NTuple{6, Any}"><code>MPI.API.MPI_Win_create</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_create(base, size, disp_unit, info, comm, win)</code></pre><ul><li><code>MPI_Win_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2577-L2581">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_create_c-NTuple{6, Any}" href="#MPI.API.MPI_Win_create_c-NTuple{6, Any}"><code>MPI.API.MPI_Win_create_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_create_c(base, size, disp_unit, info, comm, win)</code></pre><ul><li><code>MPI_Win_create_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_create_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_create_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4197-L4201">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_create_dynamic-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Win_create_dynamic-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Win_create_dynamic</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_create_dynamic(info, comm, win)</code></pre><ul><li><code>MPI_Win_create_dynamic</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_create_dynamic.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_create_dynamic.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2586-L2590">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_create_errhandler-Tuple{Any, Any}" href="#MPI.API.MPI_Win_create_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Win_create_errhandler</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_create_errhandler(win_errhandler_fn, errhandler)</code></pre><ul><li><code>MPI_Win_create_errhandler</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_create_errhandler.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_create_errhandler.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1587-L1591">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_create_keyval-NTuple{4, Any}" href="#MPI.API.MPI_Win_create_keyval-NTuple{4, Any}"><code>MPI.API.MPI_Win_create_keyval</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_create_keyval(win_copy_attr_fn, win_delete_attr_fn, win_keyval, extra_state)</code></pre><ul><li><code>MPI_Win_create_keyval</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_create_keyval.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_create_keyval.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L201-L205">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_delete_attr-Tuple{Any, Any}" href="#MPI.API.MPI_Win_delete_attr-Tuple{Any, Any}"><code>MPI.API.MPI_Win_delete_attr</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_delete_attr(win, win_keyval)</code></pre><ul><li><code>MPI_Win_delete_attr</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_delete_attr.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_delete_attr.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L210-L214">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_detach-Tuple{Any, Any}" href="#MPI.API.MPI_Win_detach-Tuple{Any, Any}"><code>MPI.API.MPI_Win_detach</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_detach(win, base)</code></pre><ul><li><code>MPI_Win_detach</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_detach.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_detach.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2595-L2599">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_fence-Tuple{Any, Any}" href="#MPI.API.MPI_Win_fence-Tuple{Any, Any}"><code>MPI.API.MPI_Win_fence</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_fence(assert, win)</code></pre><ul><li><code>MPI_Win_fence</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_fence.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_fence.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2604-L2608">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_flush-Tuple{Any, Any}" href="#MPI.API.MPI_Win_flush-Tuple{Any, Any}"><code>MPI.API.MPI_Win_flush</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_flush(rank, win)</code></pre><ul><li><code>MPI_Win_flush</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_flush.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_flush.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2613-L2617">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_flush_all-Tuple{Any}" href="#MPI.API.MPI_Win_flush_all-Tuple{Any}"><code>MPI.API.MPI_Win_flush_all</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_flush_all(win)</code></pre><ul><li><code>MPI_Win_flush_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_flush_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_flush_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2622-L2626">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_flush_local-Tuple{Any, Any}" href="#MPI.API.MPI_Win_flush_local-Tuple{Any, Any}"><code>MPI.API.MPI_Win_flush_local</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_flush_local(rank, win)</code></pre><ul><li><code>MPI_Win_flush_local</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_flush_local.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_flush_local.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2631-L2635">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_flush_local_all-Tuple{Any}" href="#MPI.API.MPI_Win_flush_local_all-Tuple{Any}"><code>MPI.API.MPI_Win_flush_local_all</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_flush_local_all(win)</code></pre><ul><li><code>MPI_Win_flush_local_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_flush_local_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_flush_local_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2640-L2644">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_free-Tuple{Any}" href="#MPI.API.MPI_Win_free-Tuple{Any}"><code>MPI.API.MPI_Win_free</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_free(win)</code></pre><ul><li><code>MPI_Win_free</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_free.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_free.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2649-L2653">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_free_keyval-Tuple{Any}" href="#MPI.API.MPI_Win_free_keyval-Tuple{Any}"><code>MPI.API.MPI_Win_free_keyval</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_free_keyval(win_keyval)</code></pre><ul><li><code>MPI_Win_free_keyval</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_free_keyval.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_free_keyval.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L219-L223">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_get_attr-NTuple{4, Any}" href="#MPI.API.MPI_Win_get_attr-NTuple{4, Any}"><code>MPI.API.MPI_Win_get_attr</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_get_attr(win, win_keyval, attribute_val, flag)</code></pre><ul><li><code>MPI_Win_get_attr</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_get_attr.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_get_attr.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L228-L232">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_get_errhandler-Tuple{Any, Any}" href="#MPI.API.MPI_Win_get_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Win_get_errhandler</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_get_errhandler(win, errhandler)</code></pre><ul><li><code>MPI_Win_get_errhandler</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_get_errhandler.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_get_errhandler.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1596-L1600">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_get_group-Tuple{Any, Any}" href="#MPI.API.MPI_Win_get_group-Tuple{Any, Any}"><code>MPI.API.MPI_Win_get_group</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_get_group(win, group)</code></pre><ul><li><code>MPI_Win_get_group</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_get_group.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_get_group.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2658-L2662">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_get_info-Tuple{Any, Any}" href="#MPI.API.MPI_Win_get_info-Tuple{Any, Any}"><code>MPI.API.MPI_Win_get_info</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_get_info(win, info_used)</code></pre><ul><li><code>MPI_Win_get_info</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_get_info.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_get_info.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2667-L2671">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_get_name-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Win_get_name-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Win_get_name</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_get_name(win, win_name, resultlen)</code></pre><ul><li><code>MPI_Win_get_name</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_get_name.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_get_name.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2676-L2680">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_lock-NTuple{4, Any}" href="#MPI.API.MPI_Win_lock-NTuple{4, Any}"><code>MPI.API.MPI_Win_lock</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_lock(lock_type, rank, assert, win)</code></pre><ul><li><code>MPI_Win_lock</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_lock.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_lock.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2685-L2689">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_lock_all-Tuple{Any, Any}" href="#MPI.API.MPI_Win_lock_all-Tuple{Any, Any}"><code>MPI.API.MPI_Win_lock_all</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_lock_all(assert, win)</code></pre><ul><li><code>MPI_Win_lock_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_lock_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_lock_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2694-L2698">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_post-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Win_post-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Win_post</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_post(group, assert, win)</code></pre><ul><li><code>MPI_Win_post</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_post.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_post.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2703-L2707">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_set_attr-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Win_set_attr-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Win_set_attr</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_set_attr(win, win_keyval, attribute_val)</code></pre><ul><li><code>MPI_Win_set_attr</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_set_attr.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_set_attr.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L237-L241">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_set_errhandler-Tuple{Any, Any}" href="#MPI.API.MPI_Win_set_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Win_set_errhandler</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_set_errhandler(win, errhandler)</code></pre><ul><li><code>MPI_Win_set_errhandler</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_set_errhandler.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_set_errhandler.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L1605-L1609">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_set_info-Tuple{Any, Any}" href="#MPI.API.MPI_Win_set_info-Tuple{Any, Any}"><code>MPI.API.MPI_Win_set_info</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_set_info(win, info)</code></pre><ul><li><code>MPI_Win_set_info</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_set_info.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_set_info.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2712-L2716">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_set_name-Tuple{Any, Any}" href="#MPI.API.MPI_Win_set_name-Tuple{Any, Any}"><code>MPI.API.MPI_Win_set_name</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_set_name(win, win_name)</code></pre><ul><li><code>MPI_Win_set_name</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_set_name.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_set_name.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2721-L2725">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_shared_query-NTuple{5, Any}" href="#MPI.API.MPI_Win_shared_query-NTuple{5, Any}"><code>MPI.API.MPI_Win_shared_query</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_shared_query(win, rank, size, disp_unit, baseptr)</code></pre><ul><li><code>MPI_Win_shared_query</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_shared_query.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_shared_query.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2730-L2734">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_shared_query_c-NTuple{5, Any}" href="#MPI.API.MPI_Win_shared_query_c-NTuple{5, Any}"><code>MPI.API.MPI_Win_shared_query_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_shared_query_c(win, rank, size, disp_unit, baseptr)</code></pre><ul><li><code>MPI_Win_shared_query_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_shared_query_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_shared_query_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L4206-L4210">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_start-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Win_start-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Win_start</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_start(group, assert, win)</code></pre><ul><li><code>MPI_Win_start</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_start.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_start.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2739-L2743">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_sync-Tuple{Any}" href="#MPI.API.MPI_Win_sync-Tuple{Any}"><code>MPI.API.MPI_Win_sync</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_sync(win)</code></pre><ul><li><code>MPI_Win_sync</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_sync.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_sync.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2748-L2752">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_test-Tuple{Any, Any}" href="#MPI.API.MPI_Win_test-Tuple{Any, Any}"><code>MPI.API.MPI_Win_test</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_test(win, flag)</code></pre><ul><li><code>MPI_Win_test</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_test.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_test.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2757-L2761">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_unlock-Tuple{Any, Any}" href="#MPI.API.MPI_Win_unlock-Tuple{Any, Any}"><code>MPI.API.MPI_Win_unlock</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_unlock(rank, win)</code></pre><ul><li><code>MPI_Win_unlock</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_unlock.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_unlock.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2766-L2770">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_unlock_all-Tuple{Any}" href="#MPI.API.MPI_Win_unlock_all-Tuple{Any}"><code>MPI.API.MPI_Win_unlock_all</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_unlock_all(win)</code></pre><ul><li><code>MPI_Win_unlock_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_unlock_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_unlock_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2775-L2779">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_wait-Tuple{Any}" href="#MPI.API.MPI_Win_wait-Tuple{Any}"><code>MPI.API.MPI_Win_wait</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_wait(win)</code></pre><ul><li><code>MPI_Win_wait</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_wait.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_wait.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2784-L2788">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Wtick-Tuple{}" href="#MPI.API.MPI_Wtick-Tuple{}"><code>MPI.API.MPI_Wtick</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Wtick()</code></pre><ul><li><code>MPI_Wtick</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Wtick.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Wtick.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2901-L2905">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Wtime-Tuple{}" href="#MPI.API.MPI_Wtime-Tuple{}"><code>MPI.API.MPI_Wtime</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Wtime()</code></pre><ul><li><code>MPI_Wtime</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Wtime.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Wtime.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/generated_api.jl#L2910-L2914">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../advanced/">« Advanced</a><a class="docs-footer-nextpage" href="../../refindex/">Index »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 1 January 2023 03:50">Sunday 1 January 2023</span>. Using Julia version 1.8.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR626/reference/buffers/index.html b/previews/PR626/reference/buffers/index.html
deleted file mode 100644
index 1eac9cd75..000000000
--- a/previews/PR626/reference/buffers/index.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Buffers · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../library/">Library information</a></li><li><a class="tocitem" href="../environment/">Environment</a></li><li><a class="tocitem" href="../misc/">Miscellanea</a></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li class="is-active"><a class="tocitem" href>Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../advanced/">Advanced</a></li><li><a class="tocitem" href="../api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>Buffers</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Buffers</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/buffers.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Buffers"><a class="docs-heading-anchor" href="#Buffers">Buffers</a><a id="Buffers-1"></a><a class="docs-heading-anchor-permalink" href="#Buffers" title="Permalink"></a></h1><p>Buffers are used for sending and receiving data. MPI.jl provides the following buffer types:</p><article class="docstring"><header><a class="docstring-binding" id="MPI.IN_PLACE" href="#MPI.IN_PLACE"><code>MPI.IN_PLACE</code></a> — <span class="docstring-category">Constant</span></header><section><div><pre><code class="language-julia hljs">MPI.IN_PLACE</code></pre><p>A sentinel value that can be passed as a buffer argument for certain collective operations to use the same buffer for send and receive operations.</p><ul><li><p><a href="../collective/#MPI.Scatter!"><code>Scatter!</code></a> and <a href="../collective/#MPI.Scatterv!"><code>Scatterv!</code></a>: can be used as the <code>recvbuf</code> argument on the root process.</p></li><li><p><a href="../collective/#MPI.Gather!"><code>Gather!</code></a> and <a href="../collective/#MPI.Gatherv!"><code>Gatherv!</code></a>: can be used as the <code>sendbuf</code> argument on the root process.</p></li><li><p><a href="../collective/#MPI.Allgather!"><code>Allgather!</code></a>, <a href="../collective/#MPI.Allgatherv!"><code>Allgatherv!</code></a>, <a href="../collective/#MPI.Alltoall!"><code>Alltoall!</code></a> and <a href="../collective/#MPI.Alltoallv!"><code>Alltoallv!</code></a>: can be used as the <code>sendbuf</code> argument on all processes.</p></li><li><p><a href="../collective/#MPI.Reduce!"><code>Reduce!</code></a> (root only), <a href="../collective/#MPI.Allreduce!"><code>Allreduce!</code></a>, <a href="../collective/#MPI.Scan!"><code>Scan!</code></a> and <a href="../collective/#MPI.Exscan!"><code>Exscan!</code></a>: can be used as <code>sendbuf</code> argument.</p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/buffers.jl#L60-L78">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Buffer" href="#MPI.Buffer"><code>MPI.Buffer</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.Buffer</code></pre><p>An MPI buffer for communication with a single rank. It is used for point-to-point and one-sided operations, as well as some collective operations. Operations will implicitly construct a <code>Buffer</code> when required via the generic constructor, but it can be advantageous to manually construct <code>Buffer</code>s when doing so incurs additional overhead, for example when using a non-predefined <a href="../advanced/#MPI.Datatype"><code>MPI.Datatype</code></a>.</p><p><strong>Fields</strong></p><ul><li><p><code>data</code>: a Julia object referencing a region of memory to be used for communication. It is required that the object can be <code>cconvert</code>ed to an <a href="#MPI.API.MPIPtr"><code>MPIPtr</code></a>.</p></li><li><p><code>count</code>: the number of elements of <code>datatype</code> in the buffer. Note that this may not correspond to the number of elements in the array if derived types are used.</p></li><li><p><code>datatype</code>: the <a href="../advanced/#MPI.Datatype"><code>MPI.Datatype</code></a> stored in the buffer.</p></li></ul><p><strong>Usage</strong></p><pre><code class="nohighlight hljs">Buffer(data, count::Integer, datatype::Datatype)</code></pre><p>Generic constructor.</p><pre><code class="nohighlight hljs">Buffer(data)</code></pre><p>Construct a <code>Buffer</code> backed by <code>data</code>, automatically determining the appropriate <code>count</code> and <code>datatype</code>. Methods are provided for</p><ul><li><code>Ref</code></li><li><code>Array</code></li><li><code>CUDA.CuArray</code> if CUDA.jl is loaded.</li><li><code>AMDGPU.ROCArray</code> if AMDGPU.jl is loaded.</li><li><code>SubArray</code>s of an <code>Array</code>, <code>CUDA.CuArray</code> or <code>AMDGPU.ROCArray</code> where the layout is contiguous, sequential or blocked.</li></ul><p><strong>See also</strong></p><ul><li><a href="#MPI.Buffer_send"><code>Buffer_send</code></a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/buffers.jl#L84-L115">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Buffer_send" href="#MPI.Buffer_send"><code>MPI.Buffer_send</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Buffer_send(data)</code></pre><p>Construct a <a href="#MPI.Buffer"><code>Buffer</code></a> object for a send operation from <code>data</code>, allowing cases where <code>isbits(data)</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/buffers.jl#L167-L172">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.UBuffer" href="#MPI.UBuffer"><code>MPI.UBuffer</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.UBuffer</code></pre><p>An MPI buffer for chunked collective communication, where all chunks are of uniform size.</p><p><strong>Fields</strong></p><ul><li><p><code>data</code>: A Julia object referencing a region of memory to be used for communication. It is required that the object can be <code>cconvert</code>ed to an <a href="#MPI.API.MPIPtr"><code>MPIPtr</code></a>.</p></li><li><p><code>count</code>: The number of elements of <code>datatype</code> in each chunk.</p></li><li><p><code>nchunks</code>: The maximum number of chunks stored in the buffer. This is used only for validation, and can be set to <code>nothing</code> to disable checks.</p></li><li><p><code>datatype</code>: The <a href="../advanced/#MPI.Datatype"><code>MPI.Datatype</code></a> stored in the buffer.</p></li></ul><p><strong>Usage</strong></p><pre><code class="nohighlight hljs">UBuffer(data, count::Integer, nchunks::Union{Nothing, Integer}, datatype::Datatype)</code></pre><p>Generic constructor.</p><pre><code class="nohighlight hljs">UBuffer(data, count::Integer)</code></pre><p>Construct a <code>UBuffer</code> backed by <code>data</code>, where <code>count</code> is the number of elements in each chunk.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.VBuffer"><code>VBuffer</code></a>: similar, but supports chunks of non-uniform sizes.</li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/buffers.jl#L179-L200">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.VBuffer" href="#MPI.VBuffer"><code>MPI.VBuffer</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.VBuffer</code></pre><p>An MPI buffer for chunked collective communication, where chunks can be of different sizes and at different offsets.</p><p><strong>Fields</strong></p><ul><li><p><code>data</code>: A Julia object referencing a region of memory to be used for communication. It is required that the object can be <code>cconvert</code>ed to an <a href="#MPI.API.MPIPtr"><code>MPIPtr</code></a>.</p></li><li><p><code>counts</code>: An array containing the length of each chunk.</p></li><li><p><code>displs</code>: An array containing the (0-based) displacements of each chunk.</p></li><li><p><code>datatype</code>: The <a href="../advanced/#MPI.Datatype"><code>MPI.Datatype</code></a> stored in the buffer.</p></li></ul><p><strong>Usage</strong></p><pre><code class="nohighlight hljs">VBuffer(data, counts[, displs[, datatype]])</code></pre><p>Construct a <code>VBuffer</code> backed by <code>data</code>, where <code>counts[j]</code> is the number of elements in the <code>j</code>th chunk, and <code>displs[j]</code> is the 0-based displacement. In other words, the <code>j</code>th chunk occurs in indices <code>displs[j]+1:displs[j]+counts[j]</code>.</p><p>The default value for <code>displs[j] = sum(counts[1:j-1])</code>.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.UBuffer"><code>UBuffer</code></a> when chunks are all of the same size.</li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/buffers.jl#L230-L252">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.RBuffer" href="#MPI.RBuffer"><code>MPI.RBuffer</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.RBuffer</code></pre><p>An MPI buffer for reduction operations (<a href="../collective/#MPI.Reduce!"><code>MPI.Reduce!</code></a>, <a href="../collective/#MPI.Allreduce!"><code>MPI.Allreduce!</code></a>, <a href="../collective/#MPI.Scan!"><code>MPI.Scan!</code></a>, <a href="../collective/#MPI.Exscan!"><code>MPI.Exscan!</code></a>).</p><p><strong>Fields</strong></p><ul><li><p><code>senddata</code>: A Julia object referencing a region of memory to be used for the send buffer. It is required that the object can be <code>cconvert</code>ed to an <a href="#MPI.API.MPIPtr"><code>MPIPtr</code></a>.</p></li><li><p><code>recvdata</code>: A Julia object referencing a region of memory to be used for the receive buffer. It is required that the object can be <code>cconvert</code>ed to an <a href="#MPI.API.MPIPtr"><code>MPIPtr</code></a>.</p></li><li><p><code>count</code>: the number of elements of <code>datatype</code> in the buffer. Note that this may not correspond to the number of elements in the array if derived types are used.</p></li><li><p><code>datatype</code>: the <a href="../advanced/#MPI.Datatype"><code>MPI.Datatype</code></a> stored in the buffer.</p></li></ul><p><strong>Usage</strong></p><pre><code class="nohighlight hljs">RBuffer(senddata, recvdata[, count, datatype])</code></pre><p>Generic constructor.</p><pre><code class="nohighlight hljs">RBuffer(senddata, recvdata)</code></pre><p>Construct a <code>Buffer</code> backed by <code>senddata</code> and <code>recvdata</code>, automatically determining the appropriate <code>count</code> and <code>datatype</code>.</p><ul><li><code>senddata</code> can be <a href="#MPI.IN_PLACE"><code>MPI.IN_PLACE</code></a></li><li><code>recvdata</code> can be <code>nothing</code> on a non-root node with <a href="../collective/#MPI.Reduce!"><code>MPI.Reduce!</code></a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/buffers.jl#L290-L311">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPIPtr" href="#MPI.API.MPIPtr"><code>MPI.API.MPIPtr</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.MPIPtr</code></pre><p>A pointer to an MPI buffer. This type is used only as part of the implicit conversion in <code>ccall</code>: a Julia object can be passed to MPI by defining methods for <code>Base.cconvert(::Type{MPIPtr}, ...)</code>/<code>Base.unsafe_convert(::Type{MPIPtr}, ...)</code>.</p><p>Currently supported are:</p><ul><li><code>Ptr</code></li><li><code>Ref</code></li><li><code>Array</code></li><li><code>SubArray</code></li><li><code>CUDA.CuArray</code> if CUDA.jl is loaded.</li><li><code>AMDGPU.ROCArray</code> if AMDGPU.jl is loaded.</li></ul><p>Additionally, certain sentinel values can be used, e.g. <code>MPI_IN_PLACE</code> or <code>MPI_BOTTOM</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/buffers.jl#L34-L50">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../comm/">« Communicators</a><a class="docs-footer-nextpage" href="../pointtopoint/">Point-to-point communication »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 1 January 2023 03:50">Sunday 1 January 2023</span>. Using Julia version 1.8.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR626/reference/collective/index.html b/previews/PR626/reference/collective/index.html
deleted file mode 100644
index 28c907c34..000000000
--- a/previews/PR626/reference/collective/index.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Collective communication · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../library/">Library information</a></li><li><a class="tocitem" href="../environment/">Environment</a></li><li><a class="tocitem" href="../misc/">Miscellanea</a></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li class="is-active"><a class="tocitem" href>Collective communication</a><ul class="internal"><li><a class="tocitem" href="#Synchronization"><span>Synchronization</span></a></li><li><a class="tocitem" href="#Broadcast"><span>Broadcast</span></a></li><li><a class="tocitem" href="#Gather/Scatter"><span>Gather/Scatter</span></a></li><li><a class="tocitem" href="#Reduce/Scan"><span>Reduce/Scan</span></a></li></ul></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../advanced/">Advanced</a></li><li><a class="tocitem" href="../api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>Collective communication</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Collective communication</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/collective.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Collective-communication"><a class="docs-heading-anchor" href="#Collective-communication">Collective communication</a><a id="Collective-communication-1"></a><a class="docs-heading-anchor-permalink" href="#Collective-communication" title="Permalink"></a></h1><h2 id="Synchronization"><a class="docs-heading-anchor" href="#Synchronization">Synchronization</a><a id="Synchronization-1"></a><a class="docs-heading-anchor-permalink" href="#Synchronization" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Barrier" href="#MPI.Barrier"><code>MPI.Barrier</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Barrier(comm::Comm)</code></pre><p>Blocks until <code>comm</code> is synchronized.</p><p>If <code>comm</code> is an intracommunicator, then it blocks until all members of the group have called it.</p><p>If <code>comm</code> is an intercommunicator, then it blocks until all members of the other group have called it.</p><p><strong>External links</strong></p><ul><li><code>MPI_Barrier</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Barrier.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Barrier.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/collective.jl#L1-L12">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Ibarrier" href="#MPI.Ibarrier"><code>MPI.Ibarrier</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Ibarrier(comm::Comm[, req::AbstractRequest = Request())</code></pre><p>Blocks until <code>comm</code> is synchronized.</p><p>If <code>comm</code> is an intracommunicator, then it blocks until all members of the group have called it.</p><p>If <code>comm</code> is an intercommunicator, then it blocks until all members of the other group have called it.</p><p><strong>External links</strong></p><ul><li><code>MPI_Ibarrier</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ibarrier.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ibarrier.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/collective.jl#L19-L30">source</a></section></article><h2 id="Broadcast"><a class="docs-heading-anchor" href="#Broadcast">Broadcast</a><a id="Broadcast-1"></a><a class="docs-heading-anchor-permalink" href="#Broadcast" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Bcast!" href="#MPI.Bcast!"><code>MPI.Bcast!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Bcast!(buf, comm::Comm; root::Integer=0)</code></pre><p>Broadcast the buffer <code>buf</code> from <code>root</code> to all processes in <code>comm</code>.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.bcast"><code>bcast</code></a></li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Bcast</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Bcast.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Bcast.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/collective.jl#L39-L49">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Bcast" href="#MPI.Bcast"><code>MPI.Bcast</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Bcast(obj, root::Integer, comm::Comm)</code></pre><p>Broadcast the <code>obj</code> from <code>root</code> to all processes in <code>comm</code>. Returns the object. Currently <code>obj</code> must be <code>isbits</code>, i.e. <code>isbitstype(typeof(obj)) == true</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/collective.jl#L63-L68">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.bcast" href="#MPI.bcast"><code>MPI.bcast</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">bcast(obj, comm::Comm; root::Integer=0)</code></pre><p>Broadcast the object <code>obj</code> from rank <code>root</code> to all processes on <code>comm</code>. This is able to handle arbitrary data.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Bcast!"><code>Bcast!</code></a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/collective.jl#L76-L85">source</a></section></article><h2 id="Gather/Scatter"><a class="docs-heading-anchor" href="#Gather/Scatter">Gather/Scatter</a><a id="Gather/Scatter-1"></a><a class="docs-heading-anchor-permalink" href="#Gather/Scatter" title="Permalink"></a></h2><h3 id="Gather"><a class="docs-heading-anchor" href="#Gather">Gather</a><a id="Gather-1"></a><a class="docs-heading-anchor-permalink" href="#Gather" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.Gather!" href="#MPI.Gather!"><code>MPI.Gather!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Gather!(sendbuf, recvbuf, comm::Comm; root::Integer=0)</code></pre><p>Each process sends the contents of the buffer <code>sendbuf</code> to the <code>root</code> process. The <code>root</code> process stores elements in rank order in the buffer buffer <code>recvbuf</code>.</p><p><code>sendbuf</code> should be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a> object, or any object for which <a href="../buffers/#MPI.Buffer_send"><code>Buffer_send</code></a> is defined, with the same length on all processes, and should be the same length on all processes.</p><p>On the root process, <code>sendbuf</code> can be <a href="../buffers/#MPI.IN_PLACE"><code>MPI.IN_PLACE</code></a> on the root process, in which case the corresponding entries in <code>recvbuf</code> are assumed to be already in place (this corresponds the behaviour of <code>MPI_IN_PLACE</code> in <code>MPI_Gather</code>). For example:</p><pre><code class="nohighlight hljs">if root == MPI.Comm_rank(comm)
-    MPI.Gather!(MPI.IN_PLACE, UBuffer(buf, count), comm; root=root)
-else
-    MPI.Gather!(buf, nothing, comm; root=root)
-end</code></pre><p><code>recvbuf</code> on the root process should be a <a href="../buffers/#MPI.UBuffer"><code>UBuffer</code></a>, or can be an <code>AbstractArray</code> if the length can be determined from <code>sendbuf</code>. On non-root processes it is ignored and can be <code>nothing</code>.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Gather"><code>Gather</code></a> for the allocating operation.</li><li><a href="#MPI.Gatherv!"><code>Gatherv!</code></a> if the number of elements varies between processes.</li><li><a href="#MPI.Allgather!"><code>Allgather!</code></a> to send the result to all processes.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Gather</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Gather.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Gather.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/collective.jl#L216-L248">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Gather" href="#MPI.Gather"><code>MPI.Gather</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Gather(sendbuf, comm::Comm; root=0)</code></pre><p>Each process sends the contents of the buffer <code>sendbuf</code> to the <code>root</code> process. The <code>root</code> allocates the output buffer and stores elements in rank order.</p><p><code>sendbuf</code> can be an <code>AbstractArray</code> or a scalar, and should be the same length on all processes.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Gather!"><code>Gather!</code></a> for the mutating operation.</li><li><a href="#MPI.Gatherv!"><code>Gatherv!</code></a> if the number of elements varies between processes.</li><li><a href="#MPI.Allgather!"><code>Allgather!</code></a>/<a href="#MPI.Allgather"><code>Allgather</code></a> to send the result to all processes.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Gather</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Gather.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Gather.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/collective.jl#L273-L289">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Gatherv!" href="#MPI.Gatherv!"><code>MPI.Gatherv!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Gatherv!(sendbuf, recvbuf, comm::Comm; root::Integer=0)</code></pre><p>Each process sends the contents of the buffer <code>sendbuf</code> to the <code>root</code> process. The <code>root</code> stores elements in rank order in the buffer <code>recvbuf</code>.</p><p><code>sendbuf</code> should be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a> object, or any object for which <a href="../buffers/#MPI.Buffer_send"><code>Buffer_send</code></a> is defined, with the same length on all processes.</p><p>On the root process, <code>sendbuf</code> can be <a href="../buffers/#MPI.IN_PLACE"><code>MPI.IN_PLACE</code></a>, in which case the corresponding entries in <code>recvbuf</code> are assumed to be already in place. For example</p><pre><code class="nohighlight hljs">if root == MPI.Comm_rank(comm)
-    Gatherv!(MPI.IN_PLACE, VBuffer(buf, counts), comm; root=root)
-else
-    Gatherv!(buf, nothing, comm; root=root)
-end</code></pre><p><code>recvbuf</code> on the root process should be a <a href="../buffers/#MPI.VBuffer"><code>VBuffer</code></a>, or can be an <code>AbstractArray</code> if the length can be determined from <code>sendbuf</code>. On non-root processes it is ignored and can be <code>nothing</code>.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Gather!"><code>Gather!</code></a> if the number of elements is the same between processes.</li><li><a href="#MPI.Allgatherv!"><code>Allgatherv!</code></a> to send the result to all processes.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Gatherv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Gatherv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Gatherv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/collective.jl#L297-L326">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Allgather!" href="#MPI.Allgather!"><code>MPI.Allgather!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Allgather!(sendbuf, recvbuf::UBuffer, comm::Comm)
-Allgather!(sendrecvbuf::UBuffer, comm::Comm)</code></pre><p>Each process sends the contents of <code>sendbuf</code> to the other processes, the result of which is stored in rank order into <code>recvbuf</code>.</p><p><code>sendbuf</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a> object, or any object for which <a href="../buffers/#MPI.Buffer_send"><code>Buffer_send</code></a> is defined, and should be the same length on all processes.</p><p><code>recvbuf</code> can be a <a href="../buffers/#MPI.UBuffer"><code>UBuffer</code></a>, or can be an <code>AbstractArray</code> if the length can be determined from <code>sendbuf</code>.</p><p>If only one buffer <code>sendrecvbuf</code> is provided, then on each process the data to send is assumed to be in the area where it would receive its own contribution.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Allgather"><code>Allgather</code></a> for the allocating operation</li><li><a href="#MPI.Allgatherv!"><code>Allgatherv!</code></a> if the number of elements varies between processes.</li><li><a href="#MPI.Gather!"><code>Gather!</code></a> to send only to a single root process</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Allgather</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allgather.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allgather.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/collective.jl#L347-L370">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Allgather" href="#MPI.Allgather"><code>MPI.Allgather</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Allgather(sendbuf, comm)</code></pre><p>Each process sends the contents of <code>sendbuf</code> to the other processes, who store the results in rank order allocating the output buffer.</p><p><code>sendbuf</code> can be an <code>AbstractArray</code> or a scalar, and should be the same size on all processes.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Allgather!"><code>Allgather!</code></a> for the mutating operation</li><li><a href="#MPI.Allgatherv!"><code>Allgatherv!</code></a> if the number of elements varies between processes.</li><li><a href="#MPI.Gather!"><code>Gather!</code></a> to send only to a single root process</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Allgather</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allgather.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allgather.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/collective.jl#L393-L409">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Allgatherv!" href="#MPI.Allgatherv!"><code>MPI.Allgatherv!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Allgatherv!(sendbuf, recvbuf::VBuffer, comm::Comm)
-Allgatherv!(sendrecvbuf::VBuffer, comm::Comm)</code></pre><p>Each process sends the contents of <code>sendbuf</code> to all other process. Each process stores the received in the <a href="../buffers/#MPI.VBuffer"><code>VBuffer</code></a> <code>recvbuf</code>.</p><p><code>sendbuf</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a> object, or any object for which <a href="../buffers/#MPI.Buffer_send"><code>Buffer_send</code></a> is defined.</p><p>If only one buffer <code>sendrecvbuf</code> is provided, then for each process, the data to be sent is taken from the interval of <code>recvbuf</code> where it would store its own data.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Gatherv!"><code>Gatherv!</code></a> to send the result to a single process</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Allgatherv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allgatherv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allgatherv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/collective.jl#L416-L434">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Neighbor_allgather!" href="#MPI.Neighbor_allgather!"><code>MPI.Neighbor_allgather!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Neighbor_allgather!(sendbuf::Buffer, recvbuf::UBuffer, comm::Comm)</code></pre><p>Perform an all-gather communication along the directed edges of the graph.</p><p>See also <a href="#MPI.Allgather!"><code>MPI.Allgather!</code></a>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Neighbor_allgather</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_allgather.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_allgather.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/collective.jl#L856-L865">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Neighbor_allgatherv!" href="#MPI.Neighbor_allgatherv!"><code>MPI.Neighbor_allgatherv!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Neighbor_allgatherv!(sendbuf::Buffer, recvbuf::VBuffer, comm::Comm)</code></pre><p>Perform an all-gather communication along the directed edges of the graph with variable sized data.</p><p>See also <a href="#MPI.Allgatherv!"><code>MPI.Allgatherv!</code></a>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Neighbor_allgatherv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_allgatherv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_allgatherv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/collective.jl#L884-L893">source</a></section></article><h3 id="Scatter"><a class="docs-heading-anchor" href="#Scatter">Scatter</a><a id="Scatter-1"></a><a class="docs-heading-anchor-permalink" href="#Scatter" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.Scatter!" href="#MPI.Scatter!"><code>MPI.Scatter!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Scatter!(sendbuf::Union{UBuffer,Nothing}, recvbuf, comm::Comm;
-    root::Integer=0)</code></pre><p>Splits the buffer <code>sendbuf</code> in the <code>root</code> process into <code>Comm_size(comm)</code> chunks, sending the <code>j</code>-th chunk to the process of rank <code>j-1</code> into the <code>recvbuf</code> buffer.</p><p><code>sendbuf</code> on the root process should be a <a href="../buffers/#MPI.UBuffer"><code>UBuffer</code></a> (an <code>Array</code> can also be passed directly if the sizes can be determined from <code>recvbuf</code>). On non-root processes it is ignored, and <code>nothing</code> can be passed instead.</p><p><code>recvbuf</code> is a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a> object, or any object for which <code>Buffer(recvbuf)</code> is defined. On the root process, it can also be <a href="../buffers/#MPI.IN_PLACE"><code>MPI.IN_PLACE</code></a>, in which case it is unmodified. For example:</p><pre><code class="nohighlight hljs">if root == MPI.Comm_rank(comm)
-    MPI.Scatter!(UBuffer(buf, count), MPI.IN_PLACE, comm; root=root)
-else
-    MPI.Scatter!(nothing, buf, comm; root=root)
-end</code></pre><p><strong>See also</strong></p><ul><li><a href="#MPI.Scatterv!"><code>Scatterv!</code></a> if the number of elements varies between processes.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Scatter</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scatter.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scatter.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/collective.jl#L106-L133">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Scatter" href="#MPI.Scatter"><code>MPI.Scatter</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Scatter(sendbuf, T, comm::Comm; root::Integer=0)</code></pre><p>Splits the buffer <code>sendbuf</code> in the <code>root</code> process into <code>Comm_size(comm)</code> chunks, sending the <code>j</code>-th chunk to the process of rank <code>j-1</code> as an object of type <code>T</code>.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Scatter!"><code>Scatter!</code></a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/collective.jl#L156-L164">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Scatterv!" href="#MPI.Scatterv!"><code>MPI.Scatterv!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Scatterv!(sendbuf, recvbuf, comm::Comm; root::Integer=0)</code></pre><p>Splits the buffer <code>sendbuf</code> in the <code>root</code> process into <code>Comm_size(comm)</code> chunks and sends the <code>j</code>th chunk to the process of rank <code>j-1</code> into the <code>recvbuf</code> buffer.</p><p><code>sendbuf</code> on the root process should be a <a href="../buffers/#MPI.VBuffer"><code>VBuffer</code></a>. On non-root processes it is ignored, and <code>nothing</code> can be passed instead.</p><p><code>recvbuf</code> is a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a> object, or any object for which <code>Buffer(recvbuf)</code> is defined. On the root process, it can also be <a href="../buffers/#MPI.IN_PLACE"><code>MPI.IN_PLACE</code></a>, in which case it is unmodified. For example:</p><pre><code class="nohighlight hljs">if root == MPI.Comm_rank(comm)
-    MPI.Scatterv!(VBuffer(buf, counts), MPI.IN_PLACE, comm; root=root)
-else
-    MPI.Scatterv!(nothing, buf, comm; root=root)
-end</code></pre><p><strong>See also</strong></p><ul><li><a href="#MPI.Scatter!"><code>Scatter!</code></a> if the number of elements are the same for all processes</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Scatterv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scatterv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scatterv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/collective.jl#L170-L195">source</a></section></article><h3 id="All-to-all"><a class="docs-heading-anchor" href="#All-to-all">All-to-all</a><a id="All-to-all-1"></a><a class="docs-heading-anchor-permalink" href="#All-to-all" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.Alltoall!" href="#MPI.Alltoall!"><code>MPI.Alltoall!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Alltoall!(sendbuf::UBuffer, recvbuf::UBuffer, comm::Comm)
-Alltoall!(sendrecvbuf::UBuffer, comm::Comm)</code></pre><p>Every process divides the <a href="../buffers/#MPI.UBuffer"><code>UBuffer</code></a> <code>sendbuf</code> into <code>Comm_size(comm)</code> chunks of equal size, sending the <code>j</code>-th chunk to the process of rank <code>j-1</code>.  Every process stores the data received from rank <code>j-1</code> process in the <code>j</code>-th chunk of the buffer <code>recvbuf</code>.</p><pre><code class="nohighlight hljs">rank    send buf                        recv buf
-----    --------                        --------
- 0      a,b,c,d,e,f       Alltoall      a,b,A,B,α,β
- 1      A,B,C,D,E,F  ----------------&gt;  c,d,C,D,γ,ψ
- 2      α,β,γ,ψ,η,ν                     e,f,E,F,η,ν</code></pre><p>If only one buffer <code>sendrecvbuf</code> is used, then data is overwritten.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Alltoall"><code>Alltoall</code></a> for the allocating operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Alltoall</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoall.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoall.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/collective.jl#L454-L477">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Alltoall" href="#MPI.Alltoall"><code>MPI.Alltoall</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Alltoall(sendbuf::UBuffer, comm::Comm)</code></pre><p>Every process divides the <a href="../buffers/#MPI.UBuffer"><code>UBuffer</code></a> <code>sendbuf</code> into <code>Comm_size(comm)</code> chunks of equal size, sending the <code>j</code>-th chunk to the process of rank <code>j-1</code>. Every process allocates the output buffer and stores the data received from the process on rank <code>j-1</code> in the <code>j</code>-th chunk.</p><pre><code class="nohighlight hljs">rank    send buf                        recv buf
-----    --------                        --------
- 0      a,b,c,d,e,f       Alltoall      a,b,A,B,α,β
- 1      A,B,C,D,E,F  ----------------&gt;  c,d,C,D,γ,ψ
- 2      α,β,γ,ψ,η,ν                     e,f,E,F,η,ν</code></pre><p><strong>See also</strong></p><ul><li><a href="#MPI.Alltoall!"><code>Alltoall!</code></a> for the mutating operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Alltoall</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoall.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoall.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/collective.jl#L498-L519">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Alltoallv!" href="#MPI.Alltoallv!"><code>MPI.Alltoallv!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Alltoallv!(sendbuf::VBuffer, recvbuf::VBuffer, comm::Comm)</code></pre><p>Similar to <a href="#MPI.Alltoall!"><code>Alltoall!</code></a>, except with different size chunks per process.</p><p><strong>See also</strong></p><ul><li><a href="../buffers/#MPI.VBuffer"><code>VBuffer</code></a></li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Alltoallv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoallv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoallv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/collective.jl#L524-L534">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Neighbor_alltoall!" href="#MPI.Neighbor_alltoall!"><code>MPI.Neighbor_alltoall!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Neighbor_alltoall!(sendbuf::UBuffer, recvbuf::UBuffer, comm::Comm)</code></pre><p>Perform an all-to-all communication along the directed edges of the graph with fixed size messages.</p><p>See also <a href="#MPI.Alltoall!"><code>MPI.Alltoall!</code></a>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Neighbor_alltoall</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_alltoall.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_alltoall.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/collective.jl#L809-L818">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Neighbor_alltoallv!" href="#MPI.Neighbor_alltoallv!"><code>MPI.Neighbor_alltoallv!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Neighbor_alltoallv!(sendbuf::VBuffer, recvbuf::VBuffer, graph_comm::Comm)</code></pre><p>Perform an all-to-all communication along the directed edges of the graph with variable size messages.</p><p>See also <a href="#MPI.Alltoallv!"><code>MPI.Alltoallv!</code></a>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Neighbor_alltoallv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_alltoallv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_alltoallv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/collective.jl#L835-L844">source</a></section></article><h2 id="Reduce/Scan"><a class="docs-heading-anchor" href="#Reduce/Scan">Reduce/Scan</a><a id="Reduce/Scan-1"></a><a class="docs-heading-anchor-permalink" href="#Reduce/Scan" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Reduce!" href="#MPI.Reduce!"><code>MPI.Reduce!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Reduce!(sendbuf, recvbuf, op, comm::Comm; root::Integer=0)
-Reduce!(sendrecvbuf, op, comm::Comm; root::Integer=0)</code></pre><p>Performs elementwise reduction using the operator <code>op</code> on the buffer <code>sendbuf</code> and stores the result in <code>recvbuf</code> on the process of rank <code>root</code>.</p><p>On non-root processes <code>recvbuf</code> is ignored, and can be <code>nothing</code>.</p><p>To perform the reduction in place, provide a single buffer <code>sendrecvbuf</code>.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Reduce"><code>Reduce</code></a> to handle allocation of the output buffer.</li><li><a href="#MPI.Allreduce!"><code>Allreduce!</code></a>/<a href="#MPI.Allreduce"><code>Allreduce</code></a> to send reduction to all ranks.</li><li><a href="../advanced/#MPI.Op"><code>Op</code></a> for details on reduction operators.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Reduce</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/collective.jl#L557-L575">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Reduce" href="#MPI.Reduce"><code>MPI.Reduce</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">recvbuf = Reduce(sendbuf, op, comm::Comm; root::Integer=0)</code></pre><p>Performs elementwise reduction using the operator <code>op</code> on the buffer <code>sendbuf</code>, returning the result <code>recvbuf</code> on the process of rank <code>root</code>, and <code>nothing</code> on non-root processes.</p><p><code>sendbuf</code> can also be a scalar, in which case <code>recvbuf</code> will be a value of the same type.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Reduce!"><code>Reduce!</code></a> for mutating and in-place operations</li><li><a href="#MPI.Allreduce!"><code>Allreduce!</code></a>/<a href="#MPI.Allreduce"><code>Allreduce</code></a> to send reduction to all ranks.</li><li><a href="../advanced/#MPI.Op"><code>Op</code></a> for details on reduction operators.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Reduce</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/collective.jl#L605-L620">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Allreduce!" href="#MPI.Allreduce!"><code>MPI.Allreduce!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Allreduce!(sendbuf, recvbuf, op, comm::Comm)
-Allreduce!(sendrecvbuf, op, comm::Comm)</code></pre><p>Performs elementwise reduction using the operator <code>op</code> on the buffer <code>sendbuf</code>, storing the result in the <code>recvbuf</code> of all processes in the group.</p><p><code>Allreduce!</code> is equivalent to a <a href="#MPI.Reduce!"><code>Reduce!</code></a> operation followed by a <a href="#MPI.Bcast!"><code>Bcast!</code></a>, but can lead to better performance.</p><p>If only one <code>sendrecvbuf</code> buffer is provided, then the operation is performed in-place.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Allreduce"><code>Allreduce</code></a>, to handle allocation of the output buffer.</li><li><a href="#MPI.Reduce!"><code>Reduce!</code></a>/<a href="#MPI.Reduce"><code>Reduce</code></a> to send reduction to a single rank.</li><li><a href="../advanced/#MPI.Op"><code>Op</code></a> for details on reduction operators.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Allreduce</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allreduce.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allreduce.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/collective.jl#L642-L661">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Allreduce" href="#MPI.Allreduce"><code>MPI.Allreduce</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">recvbuf = Allreduce(sendbuf, op, comm)</code></pre><p>Performs elementwise reduction using the operator <code>op</code> on the buffer <code>sendbuf</code>, returning the result in the <code>recvbuf</code> of all processes in the group.</p><p><code>sendbuf</code> can also be a scalar, in which case <code>recvbuf</code> will be a value of the same type.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Allreduce!"><code>Allreduce!</code></a> for mutating or in-place operations.</li><li><a href="#MPI.Reduce!"><code>Reduce!</code></a>/<a href="#MPI.Reduce"><code>Reduce</code></a> to send reduction to a single rank.</li><li><a href="../advanced/#MPI.Op"><code>Op</code></a> for details on reduction operators.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Allreduce</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allreduce.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allreduce.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/collective.jl#L677-L692">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Scan!" href="#MPI.Scan!"><code>MPI.Scan!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Scan!(sendbuf, recvbuf, op, comm::Comm)
-Scan!(sendrecvbuf, op, comm::Comm)</code></pre><p>Inclusive prefix reduction (analagous to <code>accumulate</code> in Julia): <code>recvbuf</code> on rank <code>i</code> will contain the the result of reducing <code>sendbuf</code> by <code>op</code> from ranks <code>0:i</code>.</p><p>If only a single buffer <code>sendrecvbuf</code> is provided, then operations will be performed in-place.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Scan"><code>Scan</code></a> to handle allocation of the output buffer</li><li><a href="#MPI.Exscan!"><code>Exscan!</code></a>/<a href="#MPI.Exscan"><code>Exscan</code></a> for exclusive scan</li><li><a href="../advanced/#MPI.Op"><code>Op</code></a> for details on reduction operators.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Scan</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scan.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scan.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/collective.jl#L701-L718">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Scan" href="#MPI.Scan"><code>MPI.Scan</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">recvbuf = Scan(sendbuf, op, comm::Comm)</code></pre><p>Inclusive prefix reduction (analagous to <code>accumulate</code> in Julia): <code>recvbuf</code> on rank <code>i</code> will contain the the result of reducing <code>sendbuf</code> by <code>op</code> from ranks <code>0:i</code>.</p><p><code>sendbuf</code> can also be a scalar, in which case <code>recvbuf</code> will also be a scalar of the same type.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Scan!"><code>Scan!</code></a> for mutating or in-place operations</li><li><a href="#MPI.Exscan!"><code>Exscan!</code></a>/<a href="#MPI.Exscan"><code>Exscan</code></a> for exclusive scan</li><li><a href="../advanced/#MPI.Op"><code>Op</code></a> for details on reduction operators.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Scan</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scan.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scan.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/collective.jl#L733-L749">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Exscan!" href="#MPI.Exscan!"><code>MPI.Exscan!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Exscan!(sendbuf, recvbuf, op, comm::Comm)
-Exscan!(sendrecvbuf, op, comm::Comm)</code></pre><p>Exclusive prefix reduction (analagous to <code>accumulate</code> in Julia): <code>recvbuf</code> on rank <code>i</code> will contain the the result of reducing <code>sendbuf</code> by <code>op</code> from ranks <code>0:i-1</code>. The <code>recvbuf</code> on rank <code>0</code> is ignored, and the <code>recvbuf</code> on rank <code>1</code> will contain the contents of <code>sendbuf</code> on rank <code>0</code>.</p><p>If only a single <code>sendrecvbuf</code> is provided, then operations are performed in-place, and <code>buf</code> on rank 0 will remain unchanged.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Exscan"><code>Exscan</code></a> to handle allocation of the output buffer</li><li><a href="#MPI.Scan!"><code>Scan!</code></a>/<a href="#MPI.Scan"><code>Scan</code></a> for inclusive scan</li><li><a href="../advanced/#MPI.Op"><code>Op</code></a> for details on reduction operators.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Exscan</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Exscan.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Exscan.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/collective.jl#L756-L775">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Exscan" href="#MPI.Exscan"><code>MPI.Exscan</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">recvbuf = Exscan(sendbuf, op, comm::Comm)</code></pre><p>Exclusive prefix reduction (analagous to <code>accumulate</code> in Julia): <code>recvbuf</code> on rank <code>i</code> will contain the the result of reducing <code>sendbuf</code> by <code>op</code> from ranks <code>0:i-1</code>. The <code>recvbuf</code> on rank <code>0</code> is undefined, and the <code>recvbuf</code> on rank <code>1</code> will contain the contents of <code>sendbuf</code> on rank <code>0</code>.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Exscan!"><code>Exscan!</code></a> for mutating and in-place operations</li><li><a href="#MPI.Scan!"><code>Scan!</code></a>/<a href="#MPI.Scan"><code>Scan</code></a> for inclusive scan</li><li><a href="../advanced/#MPI.Op"><code>Op</code></a> for details on reduction operators.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Scan</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scan.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scan.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/collective.jl#L789-L804">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../pointtopoint/">« Point-to-point communication</a><a class="docs-footer-nextpage" href="../onesided/">One-sided communication »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 1 January 2023 03:50">Sunday 1 January 2023</span>. Using Julia version 1.8.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR626/reference/comm/index.html b/previews/PR626/reference/comm/index.html
deleted file mode 100644
index 497204c37..000000000
--- a/previews/PR626/reference/comm/index.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Communicators · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../library/">Library information</a></li><li><a class="tocitem" href="../environment/">Environment</a></li><li><a class="tocitem" href="../misc/">Miscellanea</a></li><li class="is-active"><a class="tocitem" href>Communicators</a><ul class="internal"><li><a class="tocitem" href="#Types-and-enums"><span>Types and enums</span></a></li><li><a class="tocitem" href="#Constants"><span>Constants</span></a></li><li><a class="tocitem" href="#Functions"><span>Functions</span></a></li></ul></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../advanced/">Advanced</a></li><li><a class="tocitem" href="../api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>Communicators</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Communicators</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/comm.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Communicators"><a class="docs-heading-anchor" href="#Communicators">Communicators</a><a id="Communicators-1"></a><a class="docs-heading-anchor-permalink" href="#Communicators" title="Permalink"></a></h1><p>An MPI communicator specifies the communication context for a communication operation. In particular, it specifies the set of processes which share the context, and assigns each each process a unique <em>rank</em> (see <a href="#MPI.Comm_rank"><code>MPI.Comm_rank</code></a>) taking an integer value in <code>0:n-1</code>, where <code>n</code> is the number of processes in the communicator (see <a href="#MPI.Comm_size"><code>MPI.Comm_size</code></a>.</p><h2 id="Types-and-enums"><a class="docs-heading-anchor" href="#Types-and-enums">Types and enums</a><a id="Types-and-enums-1"></a><a class="docs-heading-anchor-permalink" href="#Types-and-enums" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm" href="#MPI.Comm"><code>MPI.Comm</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.Comm</code></pre><p>An MPI Communicator object.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/comm.jl#L1-L5">source</a></section></article><p>If you need to pass a Julia <code>MPI.Comm</code> object to an external C/C++ library (<a href="https://docs.julialang.org/en/v1/manual/calling-c-and-fortran-code/">via <code>ccall</code></a>) that expects an <code>MPI_Comm</code> argument, you should declare the corresponding <code>ccall</code> argument type <code>MPI.API.MPI_Comm</code> and the correct conversion will be performed.</p><h2 id="Constants"><a class="docs-heading-anchor" href="#Constants">Constants</a><a id="Constants-1"></a><a class="docs-heading-anchor-permalink" href="#Constants" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.COMM_WORLD" href="#MPI.COMM_WORLD"><code>MPI.COMM_WORLD</code></a> — <span class="docstring-category">Constant</span></header><section><div><pre><code class="language-julia hljs">MPI.COMM_WORLD</code></pre><p>A communicator containing all processes with which the local rank can communicate at initialization. In a typical &quot;static-process&quot; model, this will be all processes.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/comm.jl#L18-L23">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.COMM_SELF" href="#MPI.COMM_SELF"><code>MPI.COMM_SELF</code></a> — <span class="docstring-category">Constant</span></header><section><div><pre><code class="language-julia hljs">MPI.COMM_SELF</code></pre><p>A communicator containing only the local process.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/comm.jl#L27-L31">source</a></section></article><h2 id="Functions"><a class="docs-heading-anchor" href="#Functions">Functions</a><a id="Functions-1"></a><a class="docs-heading-anchor-permalink" href="#Functions" title="Permalink"></a></h2><h3 id="Operations"><a class="docs-heading-anchor" href="#Operations">Operations</a><a id="Operations-1"></a><a class="docs-heading-anchor-permalink" href="#Operations" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_size" href="#MPI.Comm_size"><code>MPI.Comm_size</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_size(comm::Comm)</code></pre><p>The number of processes involved in communicator.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Comm_rank"><code>MPI.Comm_rank</code></a>.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Comm_size</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_size.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_size.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/comm.jl#L65-L75">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_rank" href="#MPI.Comm_rank"><code>MPI.Comm_rank</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_rank(comm::Comm)</code></pre><p>The rank of the process in the particular communicator&#39;s group.</p><p>Returns an integer in the range <code>0:MPI.Comm_size()-1</code>.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Comm_size"><code>MPI.Comm_size</code></a>.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Comm_rank</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_rank.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_rank.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/comm.jl#L46-L58">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_compare" href="#MPI.Comm_compare"><code>MPI.Comm_compare</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_compare(comm1::Comm, comm2::Comm)::MPI.Comparison</code></pre><p>Compare two communicators and their underlying groups, returning an element of the <a href="../group/#MPI.Comparison"><code>Comparison</code></a> enum.</p><p><strong>External links</strong></p><ul><li><code>MPI_Comm_compare</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_compare.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_compare.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/comm.jl#L295-L302">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_group" href="#MPI.Comm_group"><code>MPI.Comm_group</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_group(comm::Comm)</code></pre><p>Accesses the group associated with given communicator.</p><p><strong>External links</strong></p><ul><li><code>MPI_Comm_group</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_group.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_group.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/comm.jl#L82-L89">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_remote_group" href="#MPI.Comm_remote_group"><code>MPI.Comm_remote_group</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_remote_group(comm::Comm)</code></pre><p>Accesses the remote group associated with the given inter-communicator.</p><p><strong>External links</strong></p><ul><li><code>MPI_Comm_remote_group</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_remote_group.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_remote_group.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/comm.jl#L97-L104">source</a></section></article><h3 id="Constructors"><a class="docs-heading-anchor" href="#Constructors">Constructors</a><a id="Constructors-1"></a><a class="docs-heading-anchor-permalink" href="#Constructors" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_create" href="#MPI.Comm_create"><code>MPI.Comm_create</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_create(comm::Comm, group::Group)</code></pre><p>Collectively creates a new communicator.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Comm_create_group"><code>MPI.Comm_create_group</code></a> for the noncollective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Comm_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/comm.jl#L112-L122">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_create_group" href="#MPI.Comm_create_group"><code>MPI.Comm_create_group</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_create_group(comm::Comm, group::Group, tag::Integer)</code></pre><p>Noncollectively creates a new communicator.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Comm_create"><code>MPI.Comm_create</code></a> for the noncollective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Comm_create_group</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_create_group.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_create_group.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/comm.jl#L130-L140">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_dup" href="#MPI.Comm_dup"><code>MPI.Comm_dup</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_dup(comm::Comm)</code></pre><p><strong>External links</strong></p><ul><li><code>MPI_Comm_dup</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_dup.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_dup.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/comm.jl#L148-L153">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_get_parent" href="#MPI.Comm_get_parent"><code>MPI.Comm_get_parent</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_get_parent()</code></pre><p><strong>External links</strong></p><ul><li><code>MPI_Comm_get_parent</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_get_parent.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_get_parent.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/comm.jl#L218-L223">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_spawn" href="#MPI.Comm_spawn"><code>MPI.Comm_spawn</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_spawn(command, argv::Vector{String}, nprocs::Integer, comm::Comm[, errors::Vector{Cint}]; kwargs...)</code></pre><p><strong>External links</strong></p><ul><li><code>MPI_Comm_spawn</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_spawn.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_spawn.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/comm.jl#L230-L235">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_split" href="#MPI.Comm_split"><code>MPI.Comm_split</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_split(comm::Comm, color::Union{Integer,Nothing}, key::Integer)</code></pre><p>Partition the communicator <code>comm</code>, one for each value of <code>color</code>, returning a new communicator. Within each group, the processes are ranked in the order of <code>key</code>, with ties broken by the order of <code>comm</code>.</p><p><code>color</code> should be a non-negative integer, or <code>nothing</code>, in which case a null communicator is returned for that rank.</p><p><strong>External links</strong></p><ul><li><code>MPI_Comm_split</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_split.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_split.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/comm.jl#L161-L173">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_split_type" href="#MPI.Comm_split_type"><code>MPI.Comm_split_type</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_split_type(comm::Comm, split_type, key::Integer; kwargs...)</code></pre><p>Partitions the communicator <code>comm</code> based on <code>split_type</code>, returning a new communicator. Within each group, the processes are ranked in the order of <code>key</code>, with ties broken by the order of <code>comm</code>.</p><p>Currently only one <code>split_type</code> is provided:</p><ul><li><code>MPI.COMM_TYPE_SHARED</code>: splits the communicator into subcommunicators, each of which can create a shared memory region.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Comm_split_type</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_split_type.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_split_type.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/comm.jl#L191-L205">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Intercomm_merge" href="#MPI.Intercomm_merge"><code>MPI.Intercomm_merge</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Intercomm_merge(intercomm::Comm, flag::Bool)</code></pre><p><strong>External links</strong></p><ul><li><code>MPI_Intercomm_merge</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Intercomm_merge.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Intercomm_merge.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/comm.jl#L247-L252">source</a></section></article><h3 id="Miscellaneous"><a class="docs-heading-anchor" href="#Miscellaneous">Miscellaneous</a><a id="Miscellaneous-1"></a><a class="docs-heading-anchor-permalink" href="#Miscellaneous" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.universe_size" href="#MPI.universe_size"><code>MPI.universe_size</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">universe_size()</code></pre><p>The total number of available slots, or <code>nothing</code> if it is not defined. This is determined by the <code>MPI_UNIVERSE_SIZE</code> attribute of <code>COMM_WORLD</code>.</p><p>This is typically dependent on the MPI implementation: for MPICH-based implementations, this is specified by the <code>-usize</code> argument. OpenMPI defines a default value based on the number of processes available.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/comm.jl#L271-L277">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.tag_ub" href="#MPI.tag_ub"><code>MPI.tag_ub</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">tag_ub()</code></pre><p>The maximum value tag value for point-to-point operations.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/comm.jl#L284-L288">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../misc/">« Miscellanea</a><a class="docs-footer-nextpage" href="../buffers/">Buffers »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 1 January 2023 03:50">Sunday 1 January 2023</span>. Using Julia version 1.8.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR626/reference/environment/index.html b/previews/PR626/reference/environment/index.html
deleted file mode 100644
index bb9c86fc7..000000000
--- a/previews/PR626/reference/environment/index.html
+++ /dev/null
@@ -1,7 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Environment · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../library/">Library information</a></li><li class="is-active"><a class="tocitem" href>Environment</a><ul class="internal"><li><a class="tocitem" href="#Launching-MPI-programs"><span>Launching MPI programs</span></a></li><li><a class="tocitem" href="#Enums"><span>Enums</span></a></li><li><a class="tocitem" href="#Functions"><span>Functions</span></a></li><li><a class="tocitem" href="#Errors"><span>Errors</span></a></li></ul></li><li><a class="tocitem" href="../misc/">Miscellanea</a></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../advanced/">Advanced</a></li><li><a class="tocitem" href="../api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>Environment</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Environment</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/environment.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Environment"><a class="docs-heading-anchor" href="#Environment">Environment</a><a id="Environment-1"></a><a class="docs-heading-anchor-permalink" href="#Environment" title="Permalink"></a></h1><h2 id="Launching-MPI-programs"><a class="docs-heading-anchor" href="#Launching-MPI-programs">Launching MPI programs</a><a id="Launching-MPI-programs-1"></a><a class="docs-heading-anchor-permalink" href="#Launching-MPI-programs" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPICH_jll.mpiexec" href="#MPICH_jll.mpiexec"><code>MPICH_jll.mpiexec</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">mpiexec(fn)</code></pre><p>A wrapper function for the MPI launcher executable. Calls <code>fn(cmd)</code>, where <code>cmd</code> is a <code>Cmd</code> object of the MPI launcher.</p><p><strong>Usage</strong></p><pre><code class="language-julia-repl hljs">julia&gt; mpiexec(cmd -&gt; run(`$cmd -n 3 echo hello world`));
-hello world
-hello world
-hello world</code></pre></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/environment.jl#L1-L14">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.install_mpiexecjl" href="#MPI.install_mpiexecjl"><code>MPI.install_mpiexecjl</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.install_mpiexecjl(; command::String = &quot;mpiexecjl&quot;,
-                      destdir::String = joinpath(DEPOT_PATH[1], &quot;bin&quot;),
-                      force::Bool = false, verbose::Bool = true)</code></pre><p>Install the <code>mpiexec</code> wrapper to <code>destdir</code> directory, with filename <code>command</code>. Set <code>force</code> to <code>true</code> to overwrite an existing destination file with the same path.  If <code>verbose</code> is <code>true</code>, the installation prints information about the progress of the process.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/mpiexec_wrapper.jl#L1-L10">source</a></section></article><h2 id="Enums"><a class="docs-heading-anchor" href="#Enums">Enums</a><a id="Enums-1"></a><a class="docs-heading-anchor-permalink" href="#Enums" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.ThreadLevel" href="#MPI.ThreadLevel"><code>MPI.ThreadLevel</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">ThreadLevel</code></pre><p>An Enum denoting the level of threading support in the current process:</p><ul><li><p><code>MPI.THREAD_SINGLE</code>: Only one thread will execute.</p></li><li><p><code>MPI.THREAD_FUNNELED</code>: The process may be multi-threaded, but the application must ensure that only the main thread makes MPI calls. See <a href="#MPI.Is_thread_main"><code>Is_thread_main</code></a>.</p></li><li><p><code>MPI.THREAD_SERIALIZED</code>: The process may be multi-threaded, and multiple threads may make MPI calls, but only one at a time (i.e. all MPI calls are serialized).</p></li><li><p><code>MPI.THREAD_MULTIPLE</code>: Multiple threads may call MPI, with no restrictions.</p></li></ul><p><strong>See also</strong></p><ul><li><a href="#MPI.Init"><code>Init</code></a></li><li><a href="#MPI.Query_thread"><code>Query_thread</code></a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/environment.jl#L140-L159">source</a></section></article><h2 id="Functions"><a class="docs-heading-anchor" href="#Functions">Functions</a><a id="Functions-1"></a><a class="docs-heading-anchor-permalink" href="#Functions" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Abort" href="#MPI.Abort"><code>MPI.Abort</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Abort(comm::Comm, errcode::Integer)</code></pre><p>Make a “best attempt” to abort all tasks in the group of <code>comm</code>. This function does not require that the invoking environment take any action with the error code. However, a Unix or POSIX environment should handle this as a return errorcode from the main program.</p><p><strong>External links</strong></p><ul><li><code>MPI_Abort</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Abort.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Abort.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/environment.jl#L245-L254">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Init" href="#MPI.Init"><code>MPI.Init</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Init(;threadlevel=:serialized, finalize_atexit=true, errors_return=true)</code></pre><p>Initialize MPI in the current process. The keyword options:</p><ul><li><code>threadlevel</code>: either <code>:single</code>, <code>:funneled</code>, <code>:serialized</code> (default), <code>:multiple</code>, or an instance of <a href="#MPI.ThreadLevel"><code>ThreadLevel</code></a>.</li><li><code>finalize_atexit</code>: if <code>true</code> (default), adds an <code>atexit</code> hook to call <a href="#MPI.Finalize"><code>MPI.Finalize</code></a> if it hasn&#39;t already been called.</li><li><code>errors_return</code>: if <code>true</code> (default), will set the default error handlers for <a href="../comm/#MPI.COMM_SELF"><code>MPI.COMM_SELF</code></a> and <a href="../comm/#MPI.COMM_WORLD"><code>MPI.COMM_WORLD</code></a> to be <code>MPI.ERRORS_RETURN</code>. MPI errors will then appear as Julia exceptions.</li></ul><p>It will return the <a href="#MPI.ThreadLevel"><code>ThreadLevel</code></a> value which MPI is initialized at.</p><p>All MPI programs must call this function at least once before calling any other MPI operations: the only MPI functions that may be called before <code>MPI.Init</code> are <a href="#MPI.Initialized"><code>MPI.Initialized</code></a> and <a href="#MPI.Finalized"><code>MPI.Finalized</code></a>.</p><p>It is safe to call <code>MPI.Init</code> multiple times, however it is not valid to call it after calling <a href="#MPI.Finalize"><code>MPI.Finalize</code></a>.</p><p><strong>External links</strong></p><ul><li><p><code>MPI_Init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Init.html">MPICH</a></p></li><li><p><code>MPI_Init_thread</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Init_thread.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Init_thread.html">MPICH</a></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/environment.jl#L64-L89">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Query_thread" href="#MPI.Query_thread"><code>MPI.Query_thread</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Query_thread()</code></pre><p>Query the level of threading support in the current process. Returns a <a href="#MPI.ThreadLevel"><code>ThreadLevel</code></a> value denoting</p><p><strong>External links</strong></p><ul><li><code>MPI_Query_thread</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Query_thread.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Query_thread.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/environment.jl#L188-L196">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Is_thread_main" href="#MPI.Is_thread_main"><code>MPI.Is_thread_main</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Is_thread_main()</code></pre><p>Queries whether the current thread is the main thread according to MPI. This can be called by any thread, and is useful for the  <code>THREAD_FUNNELED</code> <a href="#MPI.ThreadLevel"><code>ThreadLevel</code></a>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Is_thread_main</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Is_thread_main.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Is_thread_main.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/environment.jl#L205-L213">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Initialized" href="#MPI.Initialized"><code>MPI.Initialized</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Initialized()</code></pre><p>Returns <code>true</code> if <a href="#MPI.Init"><code>MPI.Init</code></a> has been called, <code>false</code> otherwise.</p><p>It is unaffected by <a href="#MPI.Finalize"><code>MPI.Finalize</code></a>, and is one of the few functions that may be called before <a href="#MPI.Init"><code>MPI.Init</code></a>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Intialized</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Intialized.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Intialized.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/environment.jl#L257-L267">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Finalize" href="#MPI.Finalize"><code>MPI.Finalize</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Finalize()</code></pre><p>Marks MPI state for cleanup. This should be called after <a href="#MPI.Init"><code>MPI.Init</code></a>, and can be called at most once. No further MPI calls (other than <a href="#MPI.Initialized"><code>Initialized</code></a> or <a href="#MPI.Finalized"><code>Finalized</code></a>) should be made after it is called.</p><p><a href="#MPI.Init"><code>MPI.Init</code></a> will automatically insert a hook to call this function when Julia exits, if it hasn&#39;t already been called.</p><p><strong>External links</strong></p><ul><li><code>MPI_Finalize</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Finalize.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Finalize.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/environment.jl#L223-L235">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Finalized" href="#MPI.Finalized"><code>MPI.Finalized</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Finalized()</code></pre><p>Returns <code>true</code> if <a href="#MPI.Finalize"><code>MPI.Finalize</code></a> has completed, <code>false</code> otherwise.</p><p>It is safe to call before <a href="#MPI.Init"><code>MPI.Init</code></a> and after <a href="#MPI.Finalize"><code>MPI.Finalize</code></a>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Finalized</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Finalized.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Finalized.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/environment.jl#L274-L283">source</a></section></article><h2 id="Errors"><a class="docs-heading-anchor" href="#Errors">Errors</a><a id="Errors-1"></a><a class="docs-heading-anchor-permalink" href="#Errors" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.MPIError" href="#MPI.MPIError"><code>MPI.MPIError</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPIError</code></pre><p>Error thrown when an MPI function returns an error code. The <code>code</code> field contains the MPI error code.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/MPI.jl#L28-L32">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.FeatureLevelError" href="#MPI.API.FeatureLevelError"><code>MPI.API.FeatureLevelError</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">FeatureLevelError</code></pre><p>Error thrown if a feature is not implemented in the current MPI backend.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/api/api.jl#L107-L111">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../library/">« Library information</a><a class="docs-footer-nextpage" href="../misc/">Miscellanea »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 1 January 2023 03:50">Sunday 1 January 2023</span>. Using Julia version 1.8.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR626/reference/group/index.html b/previews/PR626/reference/group/index.html
deleted file mode 100644
index 4e1dd1f0b..000000000
--- a/previews/PR626/reference/group/index.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Groups · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../library/">Library information</a></li><li><a class="tocitem" href="../environment/">Environment</a></li><li><a class="tocitem" href="../misc/">Miscellanea</a></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../advanced/">Advanced</a></li><li><a class="tocitem" href="../api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>Groups</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Groups</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/group.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Groups"><a class="docs-heading-anchor" href="#Groups">Groups</a><a id="Groups-1"></a><a class="docs-heading-anchor-permalink" href="#Groups" title="Permalink"></a></h1><p>An MPI group is a set of process identifiers identified by their <em>rank</em> (see  <a href="../comm/#MPI.Comm_rank"><code>MPI.Comm_rank</code></a> and <a href="#MPI.Group_rank"><code>MPI.Group_rank</code></a>). They are used within a  communicator to describe the participants in a communication <em>universe</em>.</p><h2 id="Types-and-enums"><a class="docs-heading-anchor" href="#Types-and-enums">Types and enums</a><a id="Types-and-enums-1"></a><a class="docs-heading-anchor-permalink" href="#Types-and-enums" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Group" href="#MPI.Group"><code>MPI.Group</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.Group</code></pre><p>An MPI Group object.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/group.jl#L1-L5">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Comparison" href="#MPI.Comparison"><code>MPI.Comparison</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">Comparison</code></pre><p>An enum denoting the result of <a href="../comm/#MPI.Comm_compare"><code>Comm_compare</code></a>:</p><ul><li><p><code>MPI.IDENT</code>: the objects are handles for the same object (identical groups and same contexts).</p></li><li><p><code>MPI.CONGRUENT</code>: the underlying groups are identical in constituents and rank order; these communicators differ only by context.</p></li><li><p><code>MPI.SIMILAR</code>: members of both objects are the same but the rank order differs.</p></li><li><p><code>MPI.UNEQUAL</code>: otherwise</p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/group.jl#L63-L75">source</a></section></article><h2 id="Functions"><a class="docs-heading-anchor" href="#Functions">Functions</a><a id="Functions-1"></a><a class="docs-heading-anchor-permalink" href="#Functions" title="Permalink"></a></h2><h3 id="Operations"><a class="docs-heading-anchor" href="#Operations">Operations</a><a id="Operations-1"></a><a class="docs-heading-anchor-permalink" href="#Operations" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.Group_size" href="#MPI.Group_size"><code>MPI.Group_size</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Group_size(group::Group)</code></pre><p>The number of processes involved in group.</p><p><strong>External links</strong></p><ul><li><code>MPI_Group_size</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Group_size.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Group_size.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/group.jl#L33-L40">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Group_rank" href="#MPI.Group_rank"><code>MPI.Group_rank</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Group_rank(group::Group)</code></pre><p>The rank of the process in the particular group.</p><p>Returns an integer in the range <code>0:MPI.Group_size()-1</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Group_rank</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Group_rank.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Group_rank.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/group.jl#L47-L56">source</a></section></article></article><nav class="docs-footer"><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 1 January 2023 03:50">Sunday 1 January 2023</span>. Using Julia version 1.8.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR626/reference/io/index.html b/previews/PR626/reference/io/index.html
deleted file mode 100644
index ae3e48c89..000000000
--- a/previews/PR626/reference/io/index.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>I/O · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../library/">Library information</a></li><li><a class="tocitem" href="../environment/">Environment</a></li><li><a class="tocitem" href="../misc/">Miscellanea</a></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li class="is-active"><a class="tocitem" href>I/O</a><ul class="internal"><li><a class="tocitem" href="#File-manipulation"><span>File manipulation</span></a></li><li><a class="tocitem" href="#Views"><span>Views</span></a></li><li><a class="tocitem" href="#Consistency"><span>Consistency</span></a></li><li><a class="tocitem" href="#Data-access"><span>Data access</span></a></li></ul></li><li><a class="tocitem" href="../advanced/">Advanced</a></li><li><a class="tocitem" href="../api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>I/O</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>I/O</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/io.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="I/O"><a class="docs-heading-anchor" href="#I/O">I/O</a><a id="I/O-1"></a><a class="docs-heading-anchor-permalink" href="#I/O" title="Permalink"></a></h1><h2 id="File-manipulation"><a class="docs-heading-anchor" href="#File-manipulation">File manipulation</a><a id="File-manipulation-1"></a><a class="docs-heading-anchor-permalink" href="#File-manipulation" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.File.open" href="#MPI.File.open"><code>MPI.File.open</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.open(comm::Comm, filename::AbstractString; keywords...)</code></pre><p>Open the file identified by <code>filename</code>. This is a collective operation on <code>comm</code>.</p><p>Supported keywords are as follows:</p><ul><li><code>read</code>, <code>write</code>, <code>create</code>, <code>append</code> have the same behaviour and defaults as <code>Base.open</code>.</li><li><code>sequential</code>: file will only be accessed sequentially (default: <code>false</code>)</li><li><code>uniqueopen</code>: file will not be concurrently opened elsewhere (default: <code>false</code>)</li><li><code>deleteonclose</code>: delete file on close (default: <code>false</code>)</li></ul><p>Any additional keywords are passed via an <a href="../advanced/#MPI.Info"><code>Info</code></a> object, and are implementation dependent.</p><p><strong>External links</strong></p><ul><li><code>MPI_File_open</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_open.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_open.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/io.jl#L29-L44">source</a></section></article><h2 id="Views"><a class="docs-heading-anchor" href="#Views">Views</a><a id="Views-1"></a><a class="docs-heading-anchor-permalink" href="#Views" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.File.set_view!" href="#MPI.File.set_view!"><code>MPI.File.set_view!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.set_view!(file::FileHandle, disp::Integer, etype::Datatype, filetype::Datatype, datarep::AbstractString; kwargs...)</code></pre><p>Set the current process&#39;s view of <code>file</code>.</p><p>The start of the view is set to <code>disp</code>; the type of data is set to <code>etype</code>; the distribution of data to processes is set to <code>filetype</code>; and the representation of data in the file is set to <code>datarep</code>: one of <code>&quot;native&quot;</code> (default), <code>&quot;internal&quot;</code>, or <code>&quot;external32&quot;</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_File_set_view</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_set_view.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_set_view.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/io.jl#L72-L83">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.get_byte_offset" href="#MPI.File.get_byte_offset"><code>MPI.File.get_byte_offset</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.get_byte_offset(file::FileHandle, offset::Integer)</code></pre><p>Converts a view-relative offset into an absolute byte position. Returns the absolute byte position (from the beginning of the file) of <code>offset</code> relative to the current view of <code>file</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_File_get_byte_offset</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_byte_offset.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_byte_offset.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/io.jl#L95-L104">source</a></section></article><h2 id="Consistency"><a class="docs-heading-anchor" href="#Consistency">Consistency</a><a id="Consistency-1"></a><a class="docs-heading-anchor-permalink" href="#Consistency" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.File.sync" href="#MPI.File.sync"><code>MPI.File.sync</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.sync(fh::FileHandle)</code></pre><p>A collective operation causing all previous writes to <code>fh</code> by the calling process to be transferred to the storage device. If other processes have made updates to the storage device, then all such updates become visible to subsequent reads of <code>fh</code> by the calling process.</p><p><strong>External links</strong></p><ul><li><code>MPI_File_sync</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_sync.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_sync.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/io.jl#L113-L123">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.get_atomicity" href="#MPI.File.get_atomicity"><code>MPI.File.get_atomicity</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.get_atomicity(file::FileHandle)</code></pre><p>Get the consistency option for the <code>fh</code>. If <code>false</code> it is non-atomic.</p><p><strong>External links</strong></p><ul><li><code>MPI_File_get_atomicity</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_atomicity.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_atomicity.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/io.jl#L449-L456">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.set_atomicity" href="#MPI.File.set_atomicity"><code>MPI.File.set_atomicity</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.set_atomicity(file::FileHandle, flag::Bool)</code></pre><p>Set the consitency option for the <code>fh</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_File_get_atomicity</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_atomicity.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_atomicity.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/io.jl#L464-L471">source</a></section></article><h2 id="Data-access"><a class="docs-heading-anchor" href="#Data-access">Data access</a><a id="Data-access-1"></a><a class="docs-heading-anchor-permalink" href="#Data-access" title="Permalink"></a></h2><h3 id="Individual-pointer"><a class="docs-heading-anchor" href="#Individual-pointer">Individual pointer</a><a id="Individual-pointer-1"></a><a class="docs-heading-anchor-permalink" href="#Individual-pointer" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.File.read!" href="#MPI.File.read!"><code>MPI.File.read!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.read!(file::FileHandle, data)</code></pre><p>Reads current view of <code>file</code> into <code>data</code>. <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(data)</code> is defined.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.set_view!"><code>MPI.File.set_view!</code></a> to set the current view of the file</li><li><a href="#MPI.File.read_all!"><code>MPI.File.read_all!</code></a> for the collective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_read</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/io.jl#L132-L144">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.read_all!" href="#MPI.File.read_all!"><code>MPI.File.read_all!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.read_all!(file::FileHandle, data)</code></pre><p>Reads current view of <code>file</code> into <code>data</code>. <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(data)</code> is defined. This is a collective operation, so must be called on all ranks in the communicator on which <code>file</code> was opened.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.set_view!"><code>MPI.File.set_view!</code></a> to set the current view of the file</li><li><a href="#MPI.File.read!"><code>MPI.File.read!</code></a> for the noncollective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_read_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/io.jl#L154-L167">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.write" href="#MPI.File.write"><code>MPI.File.write</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.write(file::FileHandle, data)</code></pre><p>Writes <code>data</code> to the current view of <code>file</code>. <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer_send(data)</code> is defined.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.set_view!"><code>MPI.File.set_view!</code></a> to set the current view of the file</li><li><a href="#MPI.File.write_all"><code>MPI.File.write_all</code></a> for the collective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_write</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/io.jl#L177-L189">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.write_all" href="#MPI.File.write_all"><code>MPI.File.write_all</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.write_all(file::FileHandle, data)</code></pre><p>Writes <code>data</code> to the current view of <code>file</code>. <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer_send(data)</code> is defined. This is a collective operation, so must be called on all ranks in the communicator on which <code>file</code> was opened.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.set_view!"><code>MPI.File.set_view!</code></a> to set the current view of the file</li><li><a href="#MPI.File.write"><code>MPI.File.write</code></a> for the noncollective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_write_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/io.jl#L199-L212">source</a></section></article><h3 id="Explicit-offsets"><a class="docs-heading-anchor" href="#Explicit-offsets">Explicit offsets</a><a id="Explicit-offsets-1"></a><a class="docs-heading-anchor-permalink" href="#Explicit-offsets" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.File.read_at!" href="#MPI.File.read_at!"><code>MPI.File.read_at!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.read_at!(file::FileHandle, offset::Integer, data)</code></pre><p>Reads from <code>file</code> at position <code>offset</code> into <code>data</code>. <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(data)</code> is defined.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.read_at_all!"><code>MPI.File.read_at_all!</code></a> for the collective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_read_at</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_at.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_at.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/io.jl#L224-L235">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.read_at_all!" href="#MPI.File.read_at_all!"><code>MPI.File.read_at_all!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.read_at_all!(file::FileHandle, offset::Integer, data)</code></pre><p>Reads from <code>file</code> at position <code>offset</code> into <code>data</code>. <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(data)</code> is defined. This is a collective operation, so must be called on all ranks in the communicator on which <code>file</code> was opened.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.read_at!"><code>MPI.File.read_at!</code></a> for the noncollective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_read_at_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_at_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_at_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/io.jl#L245-L257">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.write_at" href="#MPI.File.write_at"><code>MPI.File.write_at</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.write_at(file::FileHandle, offset::Integer, data)</code></pre><p>Writes <code>data</code> to <code>file</code> at position <code>offset</code>. <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <a href="../buffers/#MPI.Buffer_send"><code>Buffer_send(data)</code></a> is defined.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.write_at_all"><code>MPI.File.write_at_all</code></a> for the collective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_write_at</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_at.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_at.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/io.jl#L268-L279">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.write_at_all" href="#MPI.File.write_at_all"><code>MPI.File.write_at_all</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.write_at_all(file::FileHandle, offset::Integer, data)</code></pre><p>Writes from <code>data</code> to <code>file</code> at position <code>offset</code>. <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <a href="../buffers/#MPI.Buffer_send"><code>Buffer_send(data)</code></a> is defined. This is a collective operation, so must be called on all ranks in the communicator on which <code>file</code> was opened.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.write_at"><code>MPI.File.write_at</code></a> for the noncollective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_write_at_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_at_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_at_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/io.jl#L289-L301">source</a></section></article><h3 id="Shared-pointer"><a class="docs-heading-anchor" href="#Shared-pointer">Shared pointer</a><a id="Shared-pointer-1"></a><a class="docs-heading-anchor-permalink" href="#Shared-pointer" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.File.read_shared!" href="#MPI.File.read_shared!"><code>MPI.File.read_shared!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.read_shared!(file::FileHandle, data)</code></pre><p>Reads from <code>file</code> using the shared file pointer into <code>data</code>.  <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(data)</code> is defined.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.read_ordered!"><code>MPI.File.read_ordered!</code></a> for the collective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_read_shared</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_shared.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_shared.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/io.jl#L313-L324">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.write_shared" href="#MPI.File.write_shared"><code>MPI.File.write_shared</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.write_shared(file::FileHandle, data)</code></pre><p>Writes to <code>file</code> using the shared file pointer from <code>data</code>. <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(data)</code> is defined.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.write_ordered"><code>MPI.File.write_ordered</code></a> for the collective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_write_shared</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_shared.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_shared.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/io.jl#L334-L345">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.read_ordered!" href="#MPI.File.read_ordered!"><code>MPI.File.read_ordered!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.read_ordered!(file::FileHandle, data)</code></pre><p>Collectively reads in rank order from <code>file</code> using the shared file pointer into <code>data</code>. <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(data)</code> is defined. This is a collective operation, so must be called on all ranks in the communicator on which <code>file</code> was opened.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.read_shared!"><code>MPI.File.read_shared!</code></a> for the noncollective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_read_ordered</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_ordered.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_ordered.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/io.jl#L356-L369">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.write_ordered" href="#MPI.File.write_ordered"><code>MPI.File.write_ordered</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.write_ordered(file::FileHandle, data)</code></pre><p>Collectively writes in rank order to <code>file</code> using the shared file pointer from <code>data</code>. <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(data)</code> is defined. This is a collective operation, so must be called on all ranks in the communicator on which <code>file</code> was opened.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.write_shared"><code>MPI.File.write_shared</code></a> for the noncollective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_write_ordered</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_ordered.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_ordered.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/io.jl#L379-L392">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.seek_shared" href="#MPI.File.seek_shared"><code>MPI.File.seek_shared</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.seek_shared(file::FileHandle, offset::Integer, whence::Seek=SEEK_SET)</code></pre><p>Updates the shared file pointer according to <code>whence</code>, which has the following possible values:</p><ul><li><code>MPI.File.SEEK_SET</code> (default): the pointer is set to <code>offset</code></li><li><code>MPI.File.SEEK_CUR</code>: the pointer is set to the current pointer position plus <code>offset</code></li><li><code>MPI.File.SEEK_END</code>: the pointer is set to the end of file plus <code>offset</code></li></ul><p>This is a collective operation, and must be called with the same value on all processes in the communicator.</p><p><strong>External links</strong></p><ul><li><code>MPI_File_seek_shared</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_seek_shared.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_seek_shared.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/io.jl#L413-L428">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.get_position_shared" href="#MPI.File.get_position_shared"><code>MPI.File.get_position_shared</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.get_position_shared(file::FileHandle)</code></pre><p>The current position of the shared file pointer (in <code>etype</code> units) relative to the current view.</p><p><strong>External links</strong></p><ul><li><code>MPI_File_get_position_shared</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_position_shared.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_position_shared.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/io.jl#L434-L441">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../topology/">« Topology</a><a class="docs-footer-nextpage" href="../advanced/">Advanced »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 1 January 2023 03:50">Sunday 1 January 2023</span>. Using Julia version 1.8.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR626/reference/library/index.html b/previews/PR626/reference/library/index.html
deleted file mode 100644
index 7d3e53954..000000000
--- a/previews/PR626/reference/library/index.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Library information · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li class="is-active"><a class="tocitem" href>Library information</a><ul class="internal"><li><a class="tocitem" href="#Constants"><span>Constants</span></a></li><li><a class="tocitem" href="#Functions"><span>Functions</span></a></li></ul></li><li><a class="tocitem" href="../environment/">Environment</a></li><li><a class="tocitem" href="../misc/">Miscellanea</a></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../advanced/">Advanced</a></li><li><a class="tocitem" href="../api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>Library information</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Library information</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/library.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Library-information"><a class="docs-heading-anchor" href="#Library-information">Library information</a><a id="Library-information-1"></a><a class="docs-heading-anchor-permalink" href="#Library-information" title="Permalink"></a></h1><h2 id="Constants"><a class="docs-heading-anchor" href="#Constants">Constants</a><a id="Constants-1"></a><a class="docs-heading-anchor-permalink" href="#Constants" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.MPI_VERSION" href="#MPI.MPI_VERSION"><code>MPI.MPI_VERSION</code></a> — <span class="docstring-category">Constant</span></header><section><div><pre><code class="language-julia hljs">MPI_VERSION :: VersionNumber</code></pre><p>The supported version of the MPI standard.</p><p><strong>External links</strong></p><ul><li><code>MPI_Get_version</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_version.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_version.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/implementations.jl#L73-L80">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.MPI_LIBRARY" href="#MPI.MPI_LIBRARY"><code>MPI.MPI_LIBRARY</code></a> — <span class="docstring-category">Constant</span></header><section><div><pre><code class="language-julia hljs">MPI_LIBRARY :: String</code></pre><p>The current MPI implementation: this is determined by</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/implementations.jl#L51-L55">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.MPI_LIBRARY_VERSION" href="#MPI.MPI_LIBRARY_VERSION"><code>MPI.MPI_LIBRARY_VERSION</code></a> — <span class="docstring-category">Constant</span></header><section><div><pre><code class="language-julia hljs">MPI_LIBRARY_VERSION :: VersionNumber</code></pre><p>The version of the MPI library</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/implementations.jl#L58-L62">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.MPI_LIBRARY_VERSION_STRING" href="#MPI.MPI_LIBRARY_VERSION_STRING"><code>MPI.MPI_LIBRARY_VERSION_STRING</code></a> — <span class="docstring-category">Constant</span></header><section><div><pre><code class="language-julia hljs">MPI_LIBRARY_VERSION_STRING :: String</code></pre><p>The full version string provided by the library</p><p><strong>External links</strong></p><ul><li><code>MPI_Get_library_version</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_library_version.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_library_version.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/implementations.jl#L22-L29">source</a></section></article><h2 id="Functions"><a class="docs-heading-anchor" href="#Functions">Functions</a><a id="Functions-1"></a><a class="docs-heading-anchor-permalink" href="#Functions" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.has_cuda" href="#MPI.has_cuda"><code>MPI.has_cuda</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.has_cuda()</code></pre><p>Check if the MPI implementation is known to have CUDA support. Currently only Open MPI provides a mechanism to check, so it will return <code>false</code> with other implementations (unless overriden).</p><p>This can be overriden by setting the <code>JULIA_MPI_HAS_CUDA</code> environment variable to <code>true</code> or <code>false</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/environment.jl#L294-L303">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.identify_implementation" href="#MPI.identify_implementation"><code>MPI.identify_implementation</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">impl, version = identify_implementation()</code></pre><p>Attempt to identify the MPI implementation based on <a href="#MPI.MPI_LIBRARY_VERSION_STRING"><code>MPI_LIBRARY_VERSION_STRING</code></a>. Returns a triple of values:</p><ul><li><code>impl</code>: a <code>String</code> with the name of the MPI implementation, or <code>&quot;unknown&quot;</code> if it cannot be determined,</li><li><code>version</code>: a <code>VersionNumber</code> of the library, or <code>nothing</code> if it cannot be determined.</li></ul><p>This function is only intended for internal use. Users should use <a href="#MPI.MPI_LIBRARY"><code>MPI_LIBRARY</code></a>, <a href="#MPI.MPI_LIBRARY_VERSION"><code>MPI_LIBRARY_VERSION</code></a>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/implementations.jl#L32-L43">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../mpipreferences/">« MPIPreferences.jl</a><a class="docs-footer-nextpage" href="../environment/">Environment »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 1 January 2023 03:50">Sunday 1 January 2023</span>. Using Julia version 1.8.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR626/reference/misc/index.html b/previews/PR626/reference/misc/index.html
deleted file mode 100644
index 29310552f..000000000
--- a/previews/PR626/reference/misc/index.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Miscellanea · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../library/">Library information</a></li><li><a class="tocitem" href="../environment/">Environment</a></li><li class="is-active"><a class="tocitem" href>Miscellanea</a><ul class="internal"><li><a class="tocitem" href="#Functions"><span>Functions</span></a></li></ul></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../advanced/">Advanced</a></li><li><a class="tocitem" href="../api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>Miscellanea</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Miscellanea</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/misc.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Miscellanea"><a class="docs-heading-anchor" href="#Miscellanea">Miscellanea</a><a id="Miscellanea-1"></a><a class="docs-heading-anchor-permalink" href="#Miscellanea" title="Permalink"></a></h1><h2 id="Functions"><a class="docs-heading-anchor" href="#Functions">Functions</a><a id="Functions-1"></a><a class="docs-heading-anchor-permalink" href="#Functions" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Get_processor_name" href="#MPI.Get_processor_name"><code>MPI.Get_processor_name</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Get_processor_name()</code></pre><p>Return the name of the processor, as a <code>String</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Get_processor_name</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_processor_name.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_processor_name.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/misc.jl#L1-L8">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../environment/">« Environment</a><a class="docs-footer-nextpage" href="../comm/">Communicators »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 1 January 2023 03:50">Sunday 1 January 2023</span>. Using Julia version 1.8.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR626/reference/mpipreferences/index.html b/previews/PR626/reference/mpipreferences/index.html
deleted file mode 100644
index d1cdfe611..000000000
--- a/previews/PR626/reference/mpipreferences/index.html
+++ /dev/null
@@ -1,7 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>MPIPreferences.jl · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li class="is-active"><a class="tocitem" href>MPIPreferences.jl</a><ul class="internal"><li><a class="tocitem" href="#Consts"><span>Consts</span></a></li><li><a class="tocitem" href="#Changing-implementations"><span>Changing implementations</span></a></li><li><a class="tocitem" href="#Utils"><span>Utils</span></a></li><li><a class="tocitem" href="#Preferences-schema"><span>Preferences schema</span></a></li></ul></li><li><a class="tocitem" href="../library/">Library information</a></li><li><a class="tocitem" href="../environment/">Environment</a></li><li><a class="tocitem" href="../misc/">Miscellanea</a></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../advanced/">Advanced</a></li><li><a class="tocitem" href="../api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>MPIPreferences.jl</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>MPIPreferences.jl</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/mpipreferences.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="MPIPreferences.jl"><a class="docs-heading-anchor" href="#MPIPreferences.jl">MPIPreferences.jl</a><a id="MPIPreferences.jl-1"></a><a class="docs-heading-anchor-permalink" href="#MPIPreferences.jl" title="Permalink"></a></h1><p>MPIPreferences.jl is a small package based on <a href="https://github.com/JuliaPackaging/Preferences.jl/">Preferences.jl</a> for selecting MPI implementations. These choices are compile-time constants, and so any changes will require a Julia restart.</p><h2 id="Consts"><a class="docs-heading-anchor" href="#Consts">Consts</a><a id="Consts-1"></a><a class="docs-heading-anchor-permalink" href="#Consts" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPIPreferences.binary" href="#MPIPreferences.binary"><code>MPIPreferences.binary</code></a> — <span class="docstring-category">Constant</span></header><section><div><pre><code class="language-julia hljs">MPIPreferences.binary :: String</code></pre><p>The currently selected binary. The possible values are</p><ul><li><code>&quot;MPICH_jll&quot;</code>: use the binary provided by <a href="https://github.com/JuliaBinaryWrappers/MPICH_jll.jl">MPICH_jll</a></li><li><code>&quot;OpenMPI_jll&quot;</code>: use the binary provided by <a href="https://github.com/JuliaBinaryWrappers/OpenMPI_jll.jl">OpenMPI_jll</a></li><li><code>&quot;MicrosoftMPI_jll&quot;</code>: use binary provided by <a href="https://github.com/JuliaBinaryWrappers/MicrosoftMPI_jll.jl/">MicrosoftMPI_jll</a></li><li><code>&quot;MPItrampoline_jll&quot;</code>: use the binary provided by <a href="https://github.com/JuliaBinaryWrappers/MPItrampoline_jll.jl/">MPItrampoline_jll</a></li><li><code>&quot;system&quot;</code>: use a system-provided binary.</li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/lib/MPIPreferences/src/MPIPreferences.jl#L14-L25">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPIPreferences.abi" href="#MPIPreferences.abi"><code>MPIPreferences.abi</code></a> — <span class="docstring-category">Constant</span></header><section><div><pre><code class="language-julia hljs">MPIPreferences.abi :: String</code></pre><p>The ABI (application binary interface) of the currently selected binary. Supported values are:</p><ul><li><code>&quot;MPICH&quot;</code>: MPICH-compatible ABI (https://www.mpich.org/abi/)</li><li><code>&quot;OpenMPI&quot;</code>: Open MPI compatible ABI (Open MPI, IBM Spectrum MPI, Fujitsu MPI)</li><li><code>&quot;MicrosoftMPI&quot;</code>: Microsoft MPI</li><li><code>&quot;MPItrampoline&quot;</code>: MPItrampoline</li><li><code>&quot;HPE MPT&quot;</code>: HPE MPT</li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/lib/MPIPreferences/src/MPIPreferences.jl#L28-L38">source</a></section></article><h2 id="Changing-implementations"><a class="docs-heading-anchor" href="#Changing-implementations">Changing implementations</a><a id="Changing-implementations-1"></a><a class="docs-heading-anchor-permalink" href="#Changing-implementations" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPIPreferences.use_system_binary" href="#MPIPreferences.use_system_binary"><code>MPIPreferences.use_system_binary</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">use_system_binary(;
-    library_names = [&quot;libmpi&quot;, &quot;libmpi_ibm&quot;, &quot;msmpi&quot;, &quot;libmpich&quot;, &quot;libmpi_cray&quot;, &quot;libmpitrampoline&quot;],
-    mpiexec = &quot;mpiexec&quot;,
-    abi = nothing,
-    export_prefs = false,
-    force = true)</code></pre><p>Switches the underlying MPI implementation to a system provided one. A restart of Julia is required for the changes to take effect.</p><p>Options:</p><ul><li><p><code>library_names</code>: a name or collection of names of the MPI library, passed to <a href="https://docs.julialang.org/en/v1/stdlib/Libdl/#Base.Libc.Libdl.find_library"><code>Libdl.find_library</code></a>. If the library isn&#39;t in the library search path, you can specify the full path to the library.</p></li><li><p><code>mpiexec</code>: the MPI launcher executable. The default is <code>mpiexec</code>, but some clusters require using the scheduler launcher interface (e.g. <code>srun</code> on Slurm, <code>aprun</code> on PBS). It is also possible to pass a <a href="https://docs.julialang.org/en/v1/manual/running-external-programs/#Cmd-Objects"><code>Cmd</code> object</a> to include specific command line options.</p></li><li><p><code>abi</code>: the ABI of the MPI library. By default this is determined automatically using <a href="#MPIPreferences.identify_abi"><code>identify_abi</code></a>. See <a href="#MPIPreferences.abi"><code>abi</code></a> for currently supported values.</p></li><li><p><code>export_prefs</code>: if <code>true</code>, the preferences into the <code>Project.toml</code> instead of <code>LocalPreferences.toml</code>.</p></li><li><p><code>force</code>: if <code>true</code>, the preferences are set even if they are already set.</p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/lib/MPIPreferences/src/MPIPreferences.jl#L107-L139">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPIPreferences.use_jll_binary" href="#MPIPreferences.use_jll_binary"><code>MPIPreferences.use_jll_binary</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">use_jll_binary([binary]; export_prefs=false, force=true)</code></pre><p>Switches the underlying MPI implementation to one provided by JLL packages. A restart of Julia is required for the changes to take effect.</p><p>Available options are:</p><ul><li><code>&quot;MicrosoftMPI_jll&quot;</code> (Only option and default on Winddows)</li><li><code>&quot;MPICH_jll&quot;</code> (Default on all other platform)</li><li><code>&quot;OpenMPI_jll&quot;</code></li><li><code>&quot;MPItrampoline_jll&quot;</code></li></ul><p>The <code>export_prefs</code> option determines whether the preferences being set should be stored within <code>LocalPreferences.toml</code> or <code>Project.toml</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/lib/MPIPreferences/src/MPIPreferences.jl#L57-L71">source</a></section></article><h2 id="Utils"><a class="docs-heading-anchor" href="#Utils">Utils</a><a id="Utils-1"></a><a class="docs-heading-anchor-permalink" href="#Utils" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPIPreferences.check_unchanged" href="#MPIPreferences.check_unchanged"><code>MPIPreferences.check_unchanged</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPIPreferences.check_unchanged()</code></pre><p>Throws an error if the preferences have been modified in the current Julia session, or if they are modified after this function is called.</p><p>This is should be called from the <code>__init__()</code> function of any package which relies on the values of MPIPreferences.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/lib/MPIPreferences/src/MPIPreferences.jl#L197-L205">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPIPreferences.identify_abi" href="#MPIPreferences.identify_abi"><code>MPIPreferences.identify_abi</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">identify_abi(libmpi)</code></pre><p>Identify the MPI implementation from the library version string</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/lib/MPIPreferences/src/MPIPreferences.jl#L322-L326">source</a></section></article><h2 id="Preferences-schema"><a class="docs-heading-anchor" href="#Preferences-schema">Preferences schema</a><a id="Preferences-schema-1"></a><a class="docs-heading-anchor-permalink" href="#Preferences-schema" title="Permalink"></a></h2><p>MPIPreferences utilizes the following keys to store information in the Preferences key-value store.</p><ul><li><code>_format</code>: the version number of the schema. Currently only <code>&quot;1.0&quot;</code> is supported.</li><li><code>binary</code>: the choice of binary. This should be one of the strings listed in <a href="#MPIPreferences.binary"><code>MPIPreferences.binary</code></a>.</li></ul><p>If <code>binary == &quot;system&quot;</code>, then the following keys are also required (otherwise they have no effect):</p><ul><li><code>libmpi</code>: the filename or path of the MPI dynamic library.</li><li><code>abi</code>: The ABI of the MPI implementation. This should be one of the strings listed in <a href="#MPIPreferences.abi"><code>MPIPreferences.abi</code></a>.</li><li><code>mpiexec</code>: either<ul><li>a string corresponding to the MPI launcher executable</li><li>an array of strings, with the first entry being the executable and remaining entried being additional flags that should be used with the executable.</li></ul></li></ul></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../../examples/09-graph_communication/">« Graph Communication</a><a class="docs-footer-nextpage" href="../library/">Library information »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 1 January 2023 03:50">Sunday 1 January 2023</span>. Using Julia version 1.8.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR626/reference/onesided/index.html b/previews/PR626/reference/onesided/index.html
deleted file mode 100644
index fd5a08c9c..000000000
--- a/previews/PR626/reference/onesided/index.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>One-sided communication · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../library/">Library information</a></li><li><a class="tocitem" href="../environment/">Environment</a></li><li><a class="tocitem" href="../misc/">Miscellanea</a></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li class="is-active"><a class="tocitem" href>One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../advanced/">Advanced</a></li><li><a class="tocitem" href="../api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>One-sided communication</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>One-sided communication</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/onesided.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="One-sided-communication"><a class="docs-heading-anchor" href="#One-sided-communication">One-sided communication</a><a id="One-sided-communication-1"></a><a class="docs-heading-anchor-permalink" href="#One-sided-communication" title="Permalink"></a></h1><article class="docstring"><header><a class="docstring-binding" id="MPI.Win_create" href="#MPI.Win_create"><code>MPI.Win_create</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.Win_create(base[, size::Integer, disp_unit::Integer], comm::Comm; infokws...)</code></pre><p>Create a window over the array <code>base</code>, returning a <code>Win</code> object used by these processes to perform RMA operations. This is a collective call over <code>comm</code>.</p><ul><li><code>size</code> is the size of the window in bytes (default = <code>sizeof(base)</code>)</li><li><code>disp_unit</code> is the size of address scaling in bytes (default = <code>sizeof(eltype(base))</code>)</li><li><code>infokws</code> are info keys providing optimization hints to the runtime.</li></ul><p><a href="../advanced/#MPI.free"><code>MPI.free</code></a> should be called on the <code>Win</code> object once operations have been completed.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/onesided.jl#L41-L54">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Win_create_dynamic" href="#MPI.Win_create_dynamic"><code>MPI.Win_create_dynamic</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.Win_create_dynamic(comm::Comm; infokws...)</code></pre><p>Create a dynamic window returning a <code>Win</code> object used by these processes to perform RMA operations</p><p>This is a collective call over <code>comm</code>.</p><p><code>infokws</code> are info keys providing optimization hints.</p><p><a href="../advanced/#MPI.free"><code>MPI.free</code></a> should be called on the <code>Win</code> object once operations have been completed.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/onesided.jl#L145-L155">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Win_allocate_shared" href="#MPI.Win_allocate_shared"><code>MPI.Win_allocate_shared</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">win, array = MPI.Win_allocate_shared(Array{T}, dims, comm::Comm; infokws...)</code></pre><p>Create and allocate a shared memory window for objects of type <code>T</code> of dimension <code>dims</code> (either an integer or tuple of integers), returning a <code>Win</code> and the <code>Array{T}</code> attached to the local process.</p><p>This is a collective call over <code>comm</code>, but <code>dims</code> can differ for each call (and can be zero).</p><p>Use <a href="#MPI.Win_shared_query"><code>MPI.Win_shared_query</code></a> to obtain the <code>Array</code> attached to a different process in the same shared memory space.</p><p><code>infokws</code> are info keys providing optimization hints.</p><p><a href="../advanced/#MPI.free"><code>MPI.free</code></a> should be called on the <code>Win</code> object once operations have been completed.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/onesided.jl#L72-L89">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Win_shared_query" href="#MPI.Win_shared_query"><code>MPI.Win_shared_query</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">array = Win_shared_query(Array{T}, [dims,] win; rank)</code></pre><p>Obtain the shared memory allocated by <a href="#MPI.Win_allocate_shared"><code>Win_allocate_shared</code></a> of the process <code>rank</code> in <code>win</code>. Returns an <code>Array{T}</code> of size <code>dims</code> (being a <code>Vector{T}</code> if no <code>dims</code> argument is provided).</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/onesided.jl#L107-L113">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Win_flush" href="#MPI.Win_flush"><code>MPI.Win_flush</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Win_flush(win::Win; rank)</code></pre><p>Completes all outstanding RMA operations initiated by the calling process to the target rank on the specified window.</p><p><strong>External links</strong></p><ul><li><code>MPI_Win_flush</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_flush.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_flush.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/onesided.jl#L187-L195">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Win_lock" href="#MPI.Win_lock"><code>MPI.Win_lock</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Win_lock(win::Win; rank::Integer, type=:exclusive/:shared, nocheck=false)</code></pre><p>Starts an RMA access epoch. The window at the process with rank <code>rank</code> can be accessed by RMA operations on <code>win</code> during that epoch.</p><p>Multiple RMA access epochs (with calls to <code>MPI.Win_lock</code>) can occur simultaneously; however, each access epoch must target a different process.</p><p>Accesses that are protected by an exclusive lock (<code>type=:exclusive</code>) will not be concurrent at the window site with other accesses to the same window that are lock protected. Accesses that are protected by a shared lock (<code>type=:shared</code>) will not be concurrent at the window site with accesses protected by an exclusive lock to the same window.</p><p>If <code>nocheck=true</code>, no other process holds, or will attempt to acquire, a conflicting lock, while the caller holds the window lock. This is useful when mutual exclusion is achieved by other means, but the coherence operations that may be attached to the lock and unlock calls are still required.</p><p><strong>External links</strong></p><ul><li><code>MPI_Win_lock</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_lock.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_lock.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/onesided.jl#L201-L223">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Win_unlock" href="#MPI.Win_unlock"><code>MPI.Win_unlock</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Win_unlock(win::Win; rank::Integer)</code></pre><p>Completes an RMA access epoch started by a call to <a href="#MPI.Win_lock"><code>Win_lock</code></a>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Win_unlock</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_unlock.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_unlock.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/onesided.jl#L232-L239">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Get!" href="#MPI.Get!"><code>MPI.Get!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Get!(origin, win::Win; rank::Integer, disp::Integer=0)</code></pre><p>Copies data from the memory window <code>win</code> on the remote rank <code>rank</code>, with displacement <code>disp</code>, into <code>origin</code> using remote memory access. <code>origin</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(origin)</code> is defined.</p><p><strong>External links</strong></p><ul><li><code>MPI_Get</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/onesided.jl#L246-L255">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Put!" href="#MPI.Put!"><code>MPI.Put!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Put!(origin, win::Win; rank::Integer, disp::Integer=0)</code></pre><p>Copies data from <code>origin</code> into memory window <code>win</code> on remote rank <code>rank</code> at displacement <code>disp</code> using remote memory access. <code>origin</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <a href="../buffers/#MPI.Buffer_send"><code>Buffer_send(origin)</code></a> is defined.</p><p><strong>External links</strong></p><ul><li><code>MPI_Put</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Put.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Put.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/onesided.jl#L271-L281">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Accumulate!" href="#MPI.Accumulate!"><code>MPI.Accumulate!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Accumulate!(origin, op, win::Win; rank::Integer, disp::Integer=0)</code></pre><p>Combine the content of the <code>origin</code> buffer into the target buffer (specified by <code>win</code> and displacement <code>target_disp</code>) with reduction operator <code>op</code> on the remote rank <code>target_rank</code> using remote memory access.</p><p><code>origin</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <a href="../buffers/#MPI.Buffer_send"><code>Buffer_send(origin)</code></a> is defined. <code>op</code> can be any predefined <a href="../advanced/#MPI.Op"><code>Op</code></a> (custom operators are not supported).</p><p><strong>External links</strong></p><ul><li><code>MPI_Accumulate</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Accumulate.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Accumulate.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/onesided.jl#L307-L319">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Get_accumulate!" href="#MPI.Get_accumulate!"><code>MPI.Get_accumulate!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Get_accumulate!(origin, result, target_rank::Integer, target_disp::Integer, op::Op, win::Win)</code></pre><p>Combine the content of the <code>origin</code> buffer into the target buffer (specified by <code>win</code> and displacement <code>target_disp</code>) with reduction operator <code>op</code> on the remote rank <code>target_rank</code> using remote memory access. <code>Get_accumulate</code> also returns the content of the target buffer <em>before</em> accumulation into the <code>result</code> buffer.</p><p><code>origin</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer_send(origin)</code> is defined, <code>result</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(result)</code> is defined. <code>op</code> can be any predefined <a href="../advanced/#MPI.Op"><code>Op</code></a> (custom operators are not supported).</p><p><strong>External links</strong></p><ul><li><code>MPI_Get_accumulate</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_accumulate.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_accumulate.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/onesided.jl#L333-L346">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../collective/">« Collective communication</a><a class="docs-footer-nextpage" href="../topology/">Topology »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 1 January 2023 03:50">Sunday 1 January 2023</span>. Using Julia version 1.8.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR626/reference/pointtopoint/index.html b/previews/PR626/reference/pointtopoint/index.html
deleted file mode 100644
index eb7376149..000000000
--- a/previews/PR626/reference/pointtopoint/index.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Point-to-point communication · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../library/">Library information</a></li><li><a class="tocitem" href="../environment/">Environment</a></li><li><a class="tocitem" href="../misc/">Miscellanea</a></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li class="is-active"><a class="tocitem" href>Point-to-point communication</a><ul class="internal"><li><a class="tocitem" href="#Types"><span>Types</span></a></li><li><a class="tocitem" href="#Blocking-communication"><span>Blocking communication</span></a></li><li><a class="tocitem" href="#Non-blocking-communication"><span>Non-blocking communication</span></a></li><li><a class="tocitem" href="#Persistent-requests"><span>Persistent requests</span></a></li><li><a class="tocitem" href="#Matching-probes-and-receives"><span>Matching probes and receives</span></a></li></ul></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../advanced/">Advanced</a></li><li><a class="tocitem" href="../api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>Point-to-point communication</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Point-to-point communication</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/pointtopoint.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Point-to-point-communication"><a class="docs-heading-anchor" href="#Point-to-point-communication">Point-to-point communication</a><a id="Point-to-point-communication-1"></a><a class="docs-heading-anchor-permalink" href="#Point-to-point-communication" title="Permalink"></a></h1><h2 id="Types"><a class="docs-heading-anchor" href="#Types">Types</a><a id="Types-1"></a><a class="docs-heading-anchor-permalink" href="#Types" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.AbstractRequest" href="#MPI.AbstractRequest"><code>MPI.AbstractRequest</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.AbstractRequest</code></pre><p>An abstract type for Julia objects wrapping MPI Requests objects, which represent non-blocking MPI communication operations. The following implementations provided in MPI.jl</p><ul><li><a href="#MPI.Request"><code>Request</code></a>: this is the default request type.</li><li><a href="#MPI.UnsafeRequest"><code>UnsafeRequest</code></a>: similar to <code>Request</code>, but does not maintain a reference to the underlying communication buffer.</li><li><code>MultiRequestItem</code>: created by calling <code>getindex</code> on a <a href="#MPI.MultiRequest"><code>MultiRequest</code></a> / <a href="#MPI.UnsafeMultiRequest"><code>UnsafeMultiRequest</code></a> object, which efficiently stores a collection of requests.</li></ul><p><strong>How request objects are used</strong></p><p>A request object can be passed to non-blocking communication operations, such as <a href="#MPI.Isend"><code>MPI.Isend</code></a> and <a href="#MPI.Irecv!"><code>MPI.Irecv!</code></a>. If no object is provided, then an <a href="#MPI.Request"><code>MPI.Request</code></a> is used.</p><p>The status of a Request can be checked by the <a href="#MPI.Wait"><code>Wait</code></a> and <a href="#MPI.Test"><code>Test</code></a> functions or their mœultiple-request variants, which will deallocate the request once it is determined to be complete.</p><p>Alternatively, it will be deallocated by calling <code>MPI.free</code> or at finalization, meaning that it is safe to ignore the request objects if the status of the communication can be checked by other means.</p><p>In certain cases, the operation can also be cancelled by <a href="#MPI.Cancel!"><code>Cancel!</code></a>.</p><p><strong>Implementing new request types</strong></p><p>Subtypes <code>R &lt;: AbstractRequest</code> should define the methods for the following functions:</p><ul><li>C conversion functions to <code>MPI_Request</code> and <code>Ptr{MPI_Request}</code>:<ul><li><code>Base.cconvert(::Type{MPI_Request}, req::R)</code> / <code>Base.unsafe_convert(::Type{MPI_Request}, req::R)</code></li><li><code>Base.cconvert(::Type{Ptr{MPI_Request}}, req::R)</code> / <code>Base.unsafe_convert(::Type{Ptr{MPI_Request}}, req::R)</code>`</li></ul></li><li>setbuffer!(req::R, val)<code>: keep a reference to the communication buffer</code>val<code>. If</code>val == nothing`, then clear the reference.</li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/nonblocking.jl#L77-L119">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Request" href="#MPI.Request"><code>MPI.Request</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.Request()</code></pre><p>The default MPI Request object, representing a non-blocking communication. This also contains a reference to the buffer used in the communication to ensure it isn&#39;t garbage-collected during communication.</p><p>See <a href="#MPI.AbstractRequest"><code>AbstractRequest</code></a> for more information.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/nonblocking.jl#L168-L176">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.UnsafeRequest" href="#MPI.UnsafeRequest"><code>MPI.UnsafeRequest</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.UnsafeRequest()</code></pre><p>Similar to <a href="#MPI.Request"><code>MPI.Request</code></a>, but does not maintain a reference to the underlying communication buffer. This may have improve performance by reducing memory allocations.</p><div class="admonition is-warning"><header class="admonition-header">Warning</header><div class="admonition-body"><p>The user should ensure that another reference to the communication buffer is maintained so that it is not cleaned up by the garbage collector before the communication operation is complete. </p><p>For example ```julia buf = MPI.Buffer(zeros(10)) GC.@preserve buf begin     req = MPI.Isend(buf, comm, UnsafeRequest(); rank=1)     # ...     MPI.Wait(req) end</p></div></div></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/nonblocking.jl#L196-L217">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.MultiRequest" href="#MPI.MultiRequest"><code>MPI.MultiRequest</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.MultiRequest(n::Integer=0)</code></pre><p>A collection of MPI Requests. This is useful when operating on multiple MPI requests at the same time. <code>MultiRequest</code> objects can be passed directly to <a href="#MPI.Waitall"><code>MPI.Waitall</code></a>, <a href="#MPI.Testall"><code>MPI.Testall</code></a>, etc.</p><p><code>req[i]</code> will return a <code>MultiRequestItem</code> which adheres to the [<code>AbstractRequest</code>] interface.</p><p><strong>Usage</strong></p><pre><code class="language-julia hljs">reqs = MPI.MultiRequest(n)
-for i = 1:n
-    MPI.Isend(buf, comm, reqs[i]; rank=dest[i])
-end
-MPI.Waitall(reqs)</code></pre></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/nonblocking.jl#L239-L257">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.UnsafeMultiRequest" href="#MPI.UnsafeMultiRequest"><code>MPI.UnsafeMultiRequest</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.UnsafeMultiRequest(n::Integer=0)</code></pre><p>Similar to <a href="#MPI.MultiRequest"><code>MPI.MultiRequest</code></a>, except that it does not maintain references to the underlying communication buffers. The same caveats apply as <a href="#MPI.UnsafeRequest"><code>MPI.UnsafeRequest</code></a>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/nonblocking.jl#L277-L283">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.RequestSet" href="#MPI.RequestSet"><code>MPI.RequestSet</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">RequestSet(requests::Vector{Request})
-RequestSet() # create an empty RequestSet</code></pre><p>A wrapper for an array of <code>Request</code>s that can be used to reduce intermediate memory allocations in <a href="#MPI.Waitall"><code>Waitall</code></a>, <a href="#MPI.Testall"><code>Testall</code></a>, <a href="#MPI.Waitany"><code>Waitany</code></a>, <a href="#MPI.Testany"><code>Testany</code></a>, <a href="#MPI.Waitsome"><code>Waitsome</code></a> or <a href="#MPI.Testsome"><code>Testsome</code></a>.</p><p>Consider using a <a href="#MPI.MultiRequest"><code>MultiRequest</code></a> or <a href="#MPI.UnsafeMultiRequest"><code>UnsafeMultiRequest</code></a> instead.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/nonblocking.jl#L487-L496">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Status" href="#MPI.Status"><code>MPI.Status</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.Status</code></pre><p>The status of an MPI receive communication. It has 3 accessible fields</p><ul><li><code>source</code>: source of the received message</li><li><code>tag</code>: tag of the received message</li><li><code>error</code>: error code. This is only set if a function returns multiple statuses.</li></ul><p>Additionally, the accessor function <a href="#MPI.Get_count"><code>MPI.Get_count</code></a> can be used to determine the number of entries received.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/nonblocking.jl#L39-L50">source</a></section></article><h3 id="Accessors"><a class="docs-heading-anchor" href="#Accessors">Accessors</a><a id="Accessors-1"></a><a class="docs-heading-anchor-permalink" href="#Accessors" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.Get_count" href="#MPI.Get_count"><code>MPI.Get_count</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.Get_count(status::Status, T)</code></pre><p>The number of entries received. <code>T</code> should match the argument provided by the receive call that set the status variable.</p><p>If the number of entries received exceeds the limits of the count parameter, then it returns <code>MPI_UNDEFINED</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Get_count</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_count.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_count.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/nonblocking.jl#L416-L425">source</a></section></article><h3 id="Constants"><a class="docs-heading-anchor" href="#Constants">Constants</a><a id="Constants-1"></a><a class="docs-heading-anchor-permalink" href="#Constants" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.PROC_NULL" href="#MPI.PROC_NULL"><code>MPI.PROC_NULL</code></a> — <span class="docstring-category">Constant</span></header><section><div><pre><code class="language-julia hljs">MPI.PROC_NULL</code></pre><p>A dummy value that can be used instead of a rank wherever a source or a destination argument is required in a call. A send</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/nonblocking.jl#L17-L22">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.ANY_SOURCE" href="#MPI.ANY_SOURCE"><code>MPI.ANY_SOURCE</code></a> — <span class="docstring-category">Constant</span></header><section><div><pre><code class="language-julia hljs">MPI.ANY_SOURCE</code></pre><p>A wild card value for receive or probe operations that matches any source rank.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/nonblocking.jl#L25-L29">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.ANY_TAG" href="#MPI.ANY_TAG"><code>MPI.ANY_TAG</code></a> — <span class="docstring-category">Constant</span></header><section><div><pre><code class="language-julia hljs">MPI.ANY_TAG</code></pre><p>A wild card value for receive or probe operations that matches any tag.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/nonblocking.jl#L32-L36">source</a></section></article><h2 id="Blocking-communication"><a class="docs-heading-anchor" href="#Blocking-communication">Blocking communication</a><a id="Blocking-communication-1"></a><a class="docs-heading-anchor-permalink" href="#Blocking-communication" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Send" href="#MPI.Send"><code>MPI.Send</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Send(buf, comm::Comm; dest::Integer, tag::Integer=0)</code></pre><p>Perform a blocking send from the buffer <code>buf</code> to MPI rank <code>dest</code> of communicator <code>comm</code> using the message tag <code>tag</code>.</p><pre><code class="nohighlight hljs">Send(obj, comm::Comm; dest::Integer, tag::Integer=0)</code></pre><p>Complete a blocking send of an <code>isbits</code> object <code>obj</code> to MPI rank <code>dest</code> of communicator <code>comm</code> using with the message tag <code>tag</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Send</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Send.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Send.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/pointtopoint.jl#L2-L15">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.send" href="#MPI.send"><code>MPI.send</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">send(obj, comm::Comm; dest::Integer, tag::Integer=0)</code></pre><p>Complete a blocking send using a serialized version of <code>obj</code> to MPI rank <code>dest</code> of communicator <code>comm</code> using with the message tag <code>tag</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/pointtopoint.jl#L33-L38">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Recv!" href="#MPI.Recv!"><code>MPI.Recv!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">data = Recv!(recvbuf, comm::Comm;
-        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)
-data, status = Recv!(recvbuf, comm::Comm, MPI.Status;
-        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)</code></pre><p>Completes a blocking receive into the buffer <code>recvbuf</code> from MPI rank <code>source</code> of communicator <code>comm</code> using with the message tag <code>tag</code>.</p><p><code>recvbuf</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(recvbuf)</code> is defined.</p><p>Optionally returns the <a href="#MPI.Status"><code>Status</code></a> object of the receive.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Recv"><code>Recv</code></a></li><li><a href="#MPI.recv"><code>recv</code></a></li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Recv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Recv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Recv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/pointtopoint.jl#L88-L107">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Recv" href="#MPI.Recv"><code>MPI.Recv</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">data = Recv(::Type{T}, comm::Comm;
-        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)
-data, status = Recv(::Type{T}, comm::Comm, MPI.Status;
-        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)</code></pre><p>Completes a blocking receive of a single <code>isbits</code> object of type <code>T</code> from MPI rank <code>source</code> of communicator <code>comm</code> using with the message tag <code>tag</code>.</p><p>Returns a tuple of the object of type <code>T</code> and optionally the <a href="#MPI.Status"><code>Status</code></a> of the receive.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Recv!"><code>Recv!</code></a></li><li><a href="#MPI.recv"><code>recv</code></a></li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Recv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Recv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Recv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/pointtopoint.jl#L125-L142">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.recv" href="#MPI.recv"><code>MPI.recv</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">obj = recv(comm::Comm;
-        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)
-obj, status = recv(comm::Comm, MPI.Status;
-        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)</code></pre><p>Completes a blocking receive of a serialized object from MPI rank <code>source</code> of communicator <code>comm</code> using with the message tag <code>tag</code>.</p><p>Returns the deserialized object and optionally the <a href="#MPI.Status"><code>Status</code></a> of the receive.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/pointtopoint.jl#L156-L166">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Sendrecv!" href="#MPI.Sendrecv!"><code>MPI.Sendrecv!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">data = Sendrecv!(sendbuf, recvbuf, comm;
-        dest::Integer, sendtag::Integer=0, source::Integer=MPI.ANY_SOURCE, recvtag::Integer=MPI.ANY_TAG)
-data, status = Sendrecv!(sendbuf, recvbuf, comm, MPI.Status;
-        dest::Integer, sendtag::Integer=0, source::Integer=MPI.ANY_SOURCE, recvtag::Integer=MPI.ANY_TAG)</code></pre><p>Complete a blocking send-receive operation over the MPI communicator <code>comm</code>. Send <code>sendbuf</code> to the MPI rank <code>dest</code> using message tag <code>sendtag</code>, and receive from MPI rank <code>source</code> into the buffer <code>recvbuf</code> using message tag <code>recvtag</code>. Return a <a href="#MPI.Status"><code>Status</code></a> object.</p><p><strong>External links</strong></p><ul><li><code>MPI_Sendrecv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Sendrecv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Sendrecv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/pointtopoint.jl#L212-L224">source</a></section></article><h2 id="Non-blocking-communication"><a class="docs-heading-anchor" href="#Non-blocking-communication">Non-blocking communication</a><a id="Non-blocking-communication-1"></a><a class="docs-heading-anchor-permalink" href="#Non-blocking-communication" title="Permalink"></a></h2><h3 id="Initiation"><a class="docs-heading-anchor" href="#Initiation">Initiation</a><a id="Initiation-1"></a><a class="docs-heading-anchor-permalink" href="#Initiation" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.Isend" href="#MPI.Isend"><code>MPI.Isend</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Isend(data, comm::Comm[, req::AbstractRequest = Request()]; dest::Integer, tag::Integer=0)</code></pre><p>Starts a nonblocking send of <code>data</code> to MPI rank <code>dest</code> of communicator <code>comm</code> using with the message tag <code>tag</code>.</p><p><code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <a href="../buffers/#MPI.Buffer_send"><code>Buffer_send</code></a> is defined.</p><p>Returns the <a href="#MPI.AbstractRequest"><code>AbstractRequest</code></a> object for the nonblocking send.</p><p><strong>External links</strong></p><ul><li><code>MPI_Isend</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Isend.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Isend.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/pointtopoint.jl#L46-L58">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.isend" href="#MPI.isend"><code>MPI.isend</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">isend(obj, comm::Comm[, req::AbstractRequest = Request()]; dest::Integer, tag::Integer=0)</code></pre><p>Starts a nonblocking send of using a serialized version of <code>obj</code> to MPI rank <code>dest</code> of communicator <code>comm</code> using with the message tag <code>tag</code>.</p><p>Returns the commication <code>Request</code> for the nonblocking send.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/pointtopoint.jl#L73-L80">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Irecv!" href="#MPI.Irecv!"><code>MPI.Irecv!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">req = Irecv!(recvbuf, comm::Comm[, req::AbstractRequest = Request()];
-        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)</code></pre><p>Starts a nonblocking receive into the buffer <code>data</code> from MPI rank <code>source</code> of communicator <code>comm</code> using with the message tag <code>tag</code>.</p><p><code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(data)</code> is defined.</p><p>Returns the <a href="#MPI.AbstractRequest"><code>AbstractRequest</code></a> object for the nonblocking receive.</p><p><strong>External links</strong></p><ul><li><code>MPI_Irecv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Irecv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Irecv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/pointtopoint.jl#L184-L197">source</a></section></article><h3 id="Completion"><a class="docs-heading-anchor" href="#Completion">Completion</a><a id="Completion-1"></a><a class="docs-heading-anchor-permalink" href="#Completion" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.Test" href="#MPI.Test"><code>MPI.Test</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">flag = Test(req::AbstractRequest)
-flag, status = Test(req::AbstractRequest, Status)</code></pre><p>Check if the request <code>req</code> is complete. If so, the request is deallocated and <code>flag = true</code> is returned. Otherwise <code>flag = false</code>.</p><p>The <code>Status</code> argument additionally returns the <a href="#MPI.Status"><code>Status</code></a> of the completed request.</p><p><strong>External links</strong></p><ul><li><code>MPI_Test</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Test.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Test.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/nonblocking.jl#L460-L470">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Testall" href="#MPI.Testall"><code>MPI.Testall</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">flag = Testall(reqs::AbstractVector{Request}[, statuses::Vector{Status}])
-flag, statuses = Testall(reqs::AbstractVector{Request}, Status)</code></pre><p>Check if all active requests in the array <code>reqs</code> are complete. If so, the requests are deallocated and <code>true</code> is returned. Otherwise no requests are modified, and <code>false</code> is returned.</p><p>The optional <code>statuses</code> or <code>Status</code> argument can be used to obtain the return <a href="#MPI.Status"><code>Status</code></a> of each request.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.RequestSet"><code>RequestSet</code></a> can be used to minimize allocations</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Testall</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Testall.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Testall.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/nonblocking.jl#L565-L581">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Testany" href="#MPI.Testany"><code>MPI.Testany</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">flag, idx = Testany(reqs::AbstractVector{Request}[, status::Ref{Status}])
-flag, idx, status = Testany(reqs::AbstractVector{Request}, Status)</code></pre><p>Checks if any one of the requests in the array <code>reqs</code> is complete.</p><p>If one or more requests are complete, then one is chosen arbitrarily, deallocated. <code>flag = true</code> and its (1-based) index <code>idx</code> is returned.</p><p>If there are no completed requests, then <code>flag = false</code> and <code>idx = nothing</code> is returned.</p><p>If there are no active requests, <code>flag = true</code> and <code>idx = nothing</code>.</p><p>The optional <code>status</code> argument can be used to obtain the return <a href="#MPI.Status"><code>Status</code></a> of the request.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.RequestSet"><code>RequestSet</code></a> can be used to minimize allocations</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Testany</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Testany.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Testany.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/nonblocking.jl#L637-L657">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Testsome" href="#MPI.Testsome"><code>MPI.Testsome</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">inds = Testsome(reqs::AbstractVector{Request}[, statuses::Vector{Status}])</code></pre><p>Similar to <a href="#MPI.Waitsome"><code>Waitsome</code></a> except that if no operations have completed it will return an empty array.</p><p>If there are no active requests, then the function returns <code>nothing</code>.</p><p>The optional <code>statuses</code> argument can be used to obtain the return <a href="#MPI.Status"><code>Status</code></a> of each completed request.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.RequestSet"><code>RequestSet</code></a> can be used to minimize allocations</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Testsome</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Testsome.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Testsome.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/nonblocking.jl#L721-L737">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Wait" href="#MPI.Wait"><code>MPI.Wait</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Wait(req::AbstractRequest)
-status = Wait(req::AbstractRequest, Status)</code></pre><p>Block until the request <code>req</code> is complete and deallocated.</p><p>The <code>Status</code> argument returns the <a href="#MPI.Status"><code>Status</code></a> of the completed request.</p><p><strong>External links</strong></p><ul><li><code>MPI_Wait</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Wait.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Wait.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/nonblocking.jl#L434-L444">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Waitall" href="#MPI.Waitall"><code>MPI.Waitall</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Waitall(reqs::AbstractVector{Request}[, statuses::Vector{Status}])
-statuses = Waitall(reqs::AbstractVector{Request}, Status)</code></pre><p>Block until all active requests in the array <code>reqs</code> are complete.</p><p>The optional <code>statuses</code> or <code>Status</code> argument can be used to obtain the return <a href="#MPI.Status"><code>Status</code></a> of each request.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.RequestSet"><code>RequestSet</code></a> can be used to minimize allocations</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Waitall</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Waitall.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Waitall.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/nonblocking.jl#L532-L546">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Waitany" href="#MPI.Waitany"><code>MPI.Waitany</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">i = Waitany(reqs::AbstractVector{Request}[, status::Ref{Status}])
-i, status = Waitany(reqs::AbstractVector{Request}, Status)</code></pre><p>Blocks until one of the requests in the array <code>reqs</code> is complete: if more than one is complete, one is chosen arbitrarily. The request is deallocated and the (1-based) index <code>i</code> of the completed request is returned.</p><p>If there are no active requests, then <code>i = nothing</code>.</p><p>The optional <code>status</code> argument can be used to obtain the return <a href="#MPI.Status"><code>Status</code></a> of the request.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.RequestSet"><code>RequestSet</code></a> can be used to minimize allocations</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Waitany</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Waitany.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Waitany.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/nonblocking.jl#L599-L617">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Waitsome" href="#MPI.Waitsome"><code>MPI.Waitsome</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">inds = Waitsome(reqs::AbstractVector{Request}[, statuses::Vector{Status}])</code></pre><p>Block until at least one of the active requests in the array <code>reqs</code> is complete. The completed requests are deallocated, and an array <code>inds</code> of their indices in <code>reqs</code> is returned.</p><p>If there are no active requests, then <code>inds = nothing</code>.</p><p>The optional <code>statuses</code> argument can be used to obtain the return <a href="#MPI.Status"><code>Status</code></a> of each completed request.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.RequestSet"><code>RequestSet</code></a> can be used to minimize allocations</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Waitsome</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Waitsome.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Waitsome.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/nonblocking.jl#L679-L696">source</a></section></article><h3 id="Probe/Cancel"><a class="docs-heading-anchor" href="#Probe/Cancel">Probe/Cancel</a><a id="Probe/Cancel-1"></a><a class="docs-heading-anchor-permalink" href="#Probe/Cancel" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.isnull" href="#MPI.isnull"><code>MPI.isnull</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">isnull(req::AbstractRequest)</code></pre><p>Is <code>req</code> is a null request.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/nonblocking.jl#L122-L126">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Cancel!" href="#MPI.Cancel!"><code>MPI.Cancel!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Cancel!(req::Request)</code></pre><p>Marks a pending <a href="#MPI.Irecv!"><code>Irecv!</code></a> operation for cancellation (cancelling a <a href="#MPI.Isend"><code>Isend</code></a>, while supported in some implementations, is deprecated as of MPI 3.1). Note that the request is not deallocated, and can still be queried using the test or wait functions.</p><p><strong>External links</strong></p><ul><li><code>MPI_Cancel</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cancel.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cancel.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/nonblocking.jl#L762-L771">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Iprobe" href="#MPI.Iprobe"><code>MPI.Iprobe</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">ismsg = Iprobe(comm::Comm;
-        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)
-ismsg, status = Iprobe(comm::Comm, MPI.Status;
-        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)</code></pre><p>Checks if there is a message that can be received matching <code>source</code>, <code>tag</code> and <code>comm</code>. If so, returns <code>ismsg = true</code>. The <code>Status</code> argument additionally returns the <a href="#MPI.Status"><code>Status</code></a> of the completed request.</p><p><strong>External links</strong></p><ul><li><code>MPI_Iprobe</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iprobe.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iprobe.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/nonblocking.jl#L383-L396">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Probe" href="#MPI.Probe"><code>MPI.Probe</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Probe(comm::Comm;
-        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)
-status = Probe(comm::Comm, MPI.Status;
-    source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)</code></pre><p>Blocks until there is a message that can be received matching <code>source</code>, <code>tag</code> and <code>comm</code>. Optionally returns the corresponding <a href="#MPI.Status"><code>Status</code></a> object.</p><p><strong>External links</strong></p><ul><li><code>MPI_Probe</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Probe.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Probe.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/nonblocking.jl#L355-L366">source</a></section></article><h2 id="Persistent-requests"><a class="docs-heading-anchor" href="#Persistent-requests">Persistent requests</a><a id="Persistent-requests-1"></a><a class="docs-heading-anchor-permalink" href="#Persistent-requests" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Send_init" href="#MPI.Send_init"><code>MPI.Send_init</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Send_init(buf, comm::MPI.Comm[, req::AbstractRequest = Request()];
-    dest, tag=0)</code></pre><p>Allocate a persistent send request, returning a <a href="#MPI.AbstractRequest"><code>AbstractRequest</code></a> object. Use <a href="#MPI.Start"><code>Start</code></a> or <a href="#MPI.Startall"><code>Startall</code></a> to start the communication operation, and <code>free</code> to deallocate the request.</p><p><strong>External links</strong></p><ul><li><code>MPI_Send_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Send_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Send_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/pointtopoint.jl#L249-L259">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Recv_init" href="#MPI.Recv_init"><code>MPI.Recv_init</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Recv_init(buf, comm::MPI.Comm[, req::AbstractRequest = Request()];
-    source=MPI.ANY_SOURCE, tag=MPI.ANY_TAG)</code></pre><p>Allocate a persistent receive request, returning a <a href="#MPI.AbstractRequest"><code>AbstractRequest</code></a> object. Use <a href="#MPI.Start"><code>Start</code></a> or <a href="#MPI.Startall"><code>Startall</code></a> to start the communication operation, and <code>free</code> to deallocate the request.</p><p><strong>External links</strong></p><ul><li><code>MPI_Recv_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Recv_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Recv_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/pointtopoint.jl#L271-L281">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Start" href="#MPI.Start"><code>MPI.Start</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Start(request::AbstractRequest)</code></pre><p>Start a persistent communication request created by <a href="#MPI.Send_init"><code>Send_init</code></a> or <a href="#MPI.Recv_init"><code>Recv_init</code></a>. Call <a href="#MPI.Wait"><code>Wait</code></a> to complete the request.</p><p><strong>External links</strong></p><ul><li><code>MPI_Start</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Start.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Start.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/pointtopoint.jl#L293-L301">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Startall" href="#MPI.Startall"><code>MPI.Startall</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Startall(reqs::AbstractVector{Request})</code></pre><p>Start a set of persistent communication requests created by <a href="#MPI.Send_init"><code>Send_init</code></a> or <a href="#MPI.Recv_init"><code>Recv_init</code></a>. Call <a href="#MPI.Waitall"><code>Waitall</code></a> to complete the requests.</p><p><strong>External links</strong></p><ul><li><code>MPI_Startall</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Startall.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Startall.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/pointtopoint.jl#L307-L315">source</a></section></article><h2 id="Matching-probes-and-receives"><a class="docs-heading-anchor" href="#Matching-probes-and-receives">Matching probes and receives</a><a id="Matching-probes-and-receives-1"></a><a class="docs-heading-anchor-permalink" href="#Matching-probes-and-receives" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Message" href="#MPI.Message"><code>MPI.Message</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.Message</code></pre><p>An MPI message handle object, used by matched receive operations. These are returned by <a href="#MPI.Mprobe"><code>MPI.Mprobe</code></a> and <a href="#MPI.Improbe"><code>MPI.Improbe</code></a> operations, and must be received by either <a href="#MPI.Mrecv!"><code>MPI.Mrecv!</code></a> or <a href="#MPI.Imrecv!"><code>MPI.Imrecv!</code></a>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/pointtopoint.jl#L324-L330">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Mprobe" href="#MPI.Mprobe"><code>MPI.Mprobe</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">msg = MPI.Mprobe(comm::MPI.Comm;
-    source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)
-msg, status = MPI.Mprobe(comm::MPI.Comm, MPI.Status;
-    source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)</code></pre><p>Matching blocking probe. Similar to <a href="#MPI.Probe"><code>MPI.Probe</code></a>, except that it also returns <code>msg</code>, an <a href="#MPI.Message"><code>MPI.Message</code></a> object. </p><p>Blocks until a message that can be received matching <code>source</code>, <code>tag</code> and <code>comm</code>, returning a <a href="#MPI.Message"><code>Message</code></a> objec <code>msg</code>, which must be received by either <a href="#MPI.Mrecv!"><code>MPI.Mrecv!</code></a> or <a href="#MPI.Imrecv!"><code>MPI.Imrecv!</code></a>.</p><p>The <code>Status</code> argument additionally returns the <a href="#MPI.Status"><code>Status</code></a> of the completed request.</p><p><strong>External links</strong></p><ul><li><code>MPI_Mprobe</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Mprobe.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Mprobe.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/pointtopoint.jl#L373-L391">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Improbe" href="#MPI.Improbe"><code>MPI.Improbe</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">ismsg, msg = MPI.Improbe(comm::MPI.Comm;
-    source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)
-ismsg, msg, status = MPI.Improbe(comm::MPI.Comm, MPI.Status;
-    source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)</code></pre><p>Matching non-blocking probe. Similar to <a href="#MPI.Iprobe"><code>MPI.Iprobe</code></a>, except that it also returns <code>msg</code>, an <a href="#MPI.Message"><code>MPI.Message</code></a> object. </p><p>Checks if there is a message that can be received matching <code>source</code>, <code>tag</code> and <code>comm</code>. If so, returns <code>ismsg = true</code>, and a <a href="#MPI.Message"><code>Message</code></a> objec <code>msg</code>, which must be received by either <a href="#MPI.Mrecv!"><code>MPI.Mrecv!</code></a> or <a href="#MPI.Imrecv!"><code>MPI.Imrecv!</code></a>. Otherwise <code>msg</code> is set to be a null <code>Message</code>.</p><p>The <code>Status</code> argument additionally returns the <a href="#MPI.Status"><code>Status</code></a> of the completed request.</p><p><strong>External links</strong></p><ul><li><code>MPI_Improbe</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Improbe.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Improbe.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/pointtopoint.jl#L339-L358">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Mrecv!" href="#MPI.Mrecv!"><code>MPI.Mrecv!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">data = MPI.Mrecv!(recvbuf, msg::MPI.Message)
-data, status = MPI.Mrecv!(recvbuf, msg::MPI.Message, MPI.Status)</code></pre><p>Completes a blocking receive matched by a matching probe operation into the buffer <code>recvbuf</code>, and the <a href="#MPI.Message"><code>Message</code></a> <code>msg</code>.</p><p><code>recvbuf</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(recvbuf)</code> is defined.</p><p>Optionally returns the <a href="#MPI.Status"><code>Status</code></a> object of the receive.</p><p><strong>External links</strong></p><ul><li><code>MPI_Mrecv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Mrecv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Mrecv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/pointtopoint.jl#L405-L419">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Imrecv!" href="#MPI.Imrecv!"><code>MPI.Imrecv!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">req = MPI.Imrecv!(recvbuf, msg::MPI.Message[, req::AbstractRequest=Request()])</code></pre><p>Starts a nonblocking receive matched by a matching probe operation into the buffer <code>recvbuf</code>, and the <a href="#MPI.Message"><code>Message</code></a> <code>msg</code>.</p><p><code>recvbuf</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(recvbuf)</code> is defined.</p><p>Returns <code>req</code>, an <a href="#MPI.AbstractRequest"><code>AbstractRequest</code></a> object for the nonblocking receive.</p><p><strong>External links</strong></p><ul><li><code>MPI_Imrecv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Imrecv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Imrecv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/pointtopoint.jl#L432-L444">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../buffers/">« Buffers</a><a class="docs-footer-nextpage" href="../collective/">Collective communication »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 1 January 2023 03:50">Sunday 1 January 2023</span>. Using Julia version 1.8.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR626/reference/topology/index.html b/previews/PR626/reference/topology/index.html
deleted file mode 100644
index 8aa25f92d..000000000
--- a/previews/PR626/reference/topology/index.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Topology · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../library/">Library information</a></li><li><a class="tocitem" href="../environment/">Environment</a></li><li><a class="tocitem" href="../misc/">Miscellanea</a></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li class="is-active"><a class="tocitem" href>Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../advanced/">Advanced</a></li><li><a class="tocitem" href="../api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>Topology</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Topology</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/topology.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Topology"><a class="docs-heading-anchor" href="#Topology">Topology</a><a id="Topology-1"></a><a class="docs-heading-anchor-permalink" href="#Topology" title="Permalink"></a></h1><article class="docstring"><header><a class="docstring-binding" id="MPI.Dims_create" href="#MPI.Dims_create"><code>MPI.Dims_create</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">newdims = Dims_create(nnodes::Integer, dims)</code></pre><p>A convenience function for selecting a balanced Cartesian grid of a total of <code>nnodes</code> nodes, for example to use with <a href="#MPI.Cart_create"><code>MPI.Cart_create</code></a>.</p><p><code>dims</code> is an array or tuple of integers specifying the number of nodes in each dimension. The function returns an array <code>newdims</code> of the same length, such that if <code>newdims[i] = dims[i]</code> if <code>dims[i]</code> is non-zero, and <code>prod(newdims) == nnodes</code>, and values <code>newdims</code> are as close to each other as possible.</p><p><code>nnodes</code> should be divisible by the product of the non-zero entries of <code>dims</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Dims_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Dims_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Dims_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/topology.jl#L1-L16">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Cart_create" href="#MPI.Cart_create"><code>MPI.Cart_create</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">comm_cart = Cart_create(comm::Comm, dims; periodic=map(_-&gt;false, dims), reorder=false)</code></pre><p>Create new MPI communicator with Cartesian topology information attached.</p><p><code>dims</code> is an array or tuple of integers specifying the number of MPI processes in each coordinate direction, and <code>periodic</code> is an array or tuple of <code>Bool</code>s indicating the periodicity of each coordinate. <code>prod(dims)</code> must be less than or equal to the size of <code>comm</code>; if it is smaller than some processes are returned a null communicator.</p><p>If <code>reorder == false</code> then the rank of each process in the new group is identical to its rank in the old group, otherwise the function may reorder the processes.</p><p>See also <a href="#MPI.Dims_create"><code>MPI.Dims_create</code></a>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Cart_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cart_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cart_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/topology.jl#L24-L41">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Cart_get" href="#MPI.Cart_get"><code>MPI.Cart_get</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">dims, periods, coords = Cart_get(comm::Comm)</code></pre><p>Obtain information on the Cartesian topology of dimension <code>N</code> underlying the communicator <code>comm</code>. This is specified by two <code>Cint</code> arrays of <code>N</code> elements for the number of processes and periodicity properties along each Cartesian dimension. A third <code>Cint</code> array is returned, containing the Cartesian coordinates of the calling process.</p><p><strong>External links</strong></p><ul><li><code>MPI_Cart_get</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cart_get.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cart_get.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/topology.jl#L78-L88">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Cart_coords" href="#MPI.Cart_coords"><code>MPI.Cart_coords</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">coords = Cart_coords(comm::Comm, rank::Integer=Comm_rank(comm))</code></pre><p>Determine coordinates of a process with rank <code>rank</code> in the Cartesian communicator <code>comm</code>. If no <code>rank</code> is provided, it returns the coordinates of the current process.</p><p>Returns an integer array of the 0-based coordinates. The inverse of <a href="#MPI.Cart_rank"><code>Cart_rank</code></a>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Cart_coords</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cart_coords.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cart_coords.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/topology.jl#L115-L125">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Cart_rank" href="#MPI.Cart_rank"><code>MPI.Cart_rank</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">rank = Cart_rank(comm::Comm, coords)</code></pre><p>Determine process rank in communicator <code>comm</code> with Cartesian structure.  The <code>coords</code> array specifies the 0-based Cartesian coordinates of the process. This is the inverse of <a href="#MPI.Cart_coords"><code>MPI.Cart_coords</code></a></p><p><strong>External links</strong></p><ul><li><code>MPI_Cart_rank</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cart_rank.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cart_rank.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/topology.jl#L58-L66">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Cart_shift" href="#MPI.Cart_shift"><code>MPI.Cart_shift</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">rank_source, rank_dest = Cart_shift(comm::Comm, direction::Integer, disp::Integer)</code></pre><p>Return the source and destination ranks associated to a shift along a given direction.</p><p><strong>External links</strong></p><ul><li><code>MPI_Cart_shift</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cart_shift.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cart_shift.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/topology.jl#L134-L142">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Cart_sub" href="#MPI.Cart_sub"><code>MPI.Cart_sub</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">comm_sub = Cart_sub(comm::Comm, remain_dims)</code></pre><p>Create lower-dimensional Cartesian communicator from existent Cartesian topology.</p><p><code>remain_dims</code> should be a boolean vector specifying the dimensions that should be kept in the generated subgrid.</p><p><strong>External links</strong></p><ul><li><code>MPI_Cart_sub</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cart_sub.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cart_sub.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/topology.jl#L152-L163">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Cartdim_get" href="#MPI.Cartdim_get"><code>MPI.Cartdim_get</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">ndims = Cartdim_get(comm::Comm)</code></pre><p>Return number of dimensions of the Cartesian topology associated with the communicator <code>comm</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Cartdim_get</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cartdim_get.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cartdim_get.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/topology.jl#L100-L107">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Dist_graph_create" href="#MPI.Dist_graph_create"><code>MPI.Dist_graph_create</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">graph_comm = Dist_graph_create(comm::Comm, sources::Vector{Cint}, degrees::Vector{Cint}, destinations::Vector{Cint}; weights::Union{Vector{Cint}, Unweighted, WeightsEmpty}=UNWEIGHTED, reorder=false, infokws...)</code></pre><p>Create a new communicator from a given directed graph topology, described by incoming and outgoing edges on an existing communicator.</p><p><strong>Arguments</strong></p><ul><li><code>comm::Comm</code>: The communicator on which the distributed graph topology should be induced.</li><li><code>sources::Vector{Cint}</code>: An array with the ranks for which this call will specify outgoing edges.</li><li><code>degrees::Vector{Cint}</code>: An array with the number of outgoing edges for each entry in the sources array.</li><li><code>destinations::Vector{Cint}</code>: An array containing with lenght of the sum of the entries in the degrees array                               describing the ranks towards the edges point.</li><li><code>weights::Union{Vector{Cint}, Unweighted, WeightsEmpty}=MPI.UNWEIGHTED</code>: The edge weights of the specified edges.</li><li><code>reorder::Bool=false</code>: If set true, then the MPI implementation can reorder the source and destination indices.</li></ul><p><strong>Example</strong></p><p>We can generate a ring graph <code>1 --&gt; 2 --&gt; ... --&gt; N --&gt; 1</code>, where N is the number of ranks in the communicator, as follows</p><pre><code class="language-julia hljs">julia&gt; rank = MPI.Comm_rank(comm);
-julia&gt; N = MPI.Comm_size(comm);
-julia&gt; sources = Cint[rank];
-julia&gt; degrees = Cint[1];
-julia&gt; destinations = Cint[mod(rank-1, N)];
-julia&gt; graph_comm = Dist_graph_create(comm, sources, degrees, destinations)</code></pre><p><strong>External links</strong></p><ul><li><code>MPI_Dist_graph_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Dist_graph_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Dist_graph_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/topology.jl#L224-L251">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Dist_graph_create_adjacent" href="#MPI.Dist_graph_create_adjacent"><code>MPI.Dist_graph_create_adjacent</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">graph_comm = Dist_graph_create_adjacent(comm::Comm, sources::Vector{Cint}, destinations::Vector{Cint}; source_weights::Union{Vector{Cint}, Unweighted, WeightsEmpty}=UNWEIGHTED, destination_weights::Union{Vector{Cint}, Unweighted, WeightsEmpty}=UNWEIGHTED, reorder=false, infokws...)</code></pre><p>Create a new communicator from a given directed graph topology, described by local incoming and outgoing edges on an existing communicator.</p><p><strong>Arguments</strong></p><ul><li><code>comm::Comm</code>: The communicator on which the distributed graph topology should be induced.</li><li><code>sources::Vector{Cint}</code>: The local, incoming edges on the rank of the calling process.</li><li><code>destinations::Vector{Cint}</code>: The local, outgoing edges on the rank of the calling process.</li><li><code>source_weights::Union{Vector{Cint}, Unweighted, WeightsEmpty}=MPI.UNWEIGHTED</code>: The edge weights of the local, incoming edges.</li><li><code>destinations_weights::Union{Vector{Cint}, Unweighted, WeightsEmpty}=MPI.UNWEIGHTED</code>: The edge weights of the local, outgoing edges.</li><li><code>reorder::Bool=false</code>: If set true, then the MPI implementation can reorder the source and destination indices.</li></ul><p><strong>Example</strong></p><p>We can generate a ring graph <code>1 --&gt; 2 --&gt; ... --&gt; N --&gt; 1</code>, where N is the number of ranks in the communicator, as follows</p><pre><code class="language-julia hljs">julia&gt; rank = MPI.Comm_rank(comm);
-julia&gt; N = MPI.Comm_size(comm);
-julia&gt; sources = Cint[mod(rank-1, N)];
-julia&gt; destinations = Cint[mod(rank+1, N)];
-julia&gt; graph_comm = Dist_graph_create_adjacent(comm, sources, destinations);</code></pre><p><strong>External links</strong></p><ul><li><code>MPI_Dist_graph_create_adjacent</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Dist_graph_create_adjacent.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Dist_graph_create_adjacent.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/topology.jl#L185-L210">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Dist_graph_neighbors_count" href="#MPI.Dist_graph_neighbors_count"><code>MPI.Dist_graph_neighbors_count</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">indegree, outdegree, weighted = Dist_graph_neighbors_count(graph_comm::Comm)</code></pre><p>Return the number of in and out edges for the calling processes in a distributed graph topology and a flag indicating whether the distributed graph is weighted.</p><p><strong>Arguments</strong></p><ul><li><code>graph_comm::Comm</code>: The communicator of the distributed graph topology.</li></ul><p><strong>Example</strong></p><p>Let us assume the following graph <code>0 &lt;--&gt; 1 --&gt; 2</code>, which has no weights on its edges, then the process with rank 1 will obtain the following result from calling the function</p><pre><code class="language-julia-repl hljs">julia&gt; Dist_graph_neighbors_count(graph_comm)
-(1,2,false)</code></pre><p><strong>External links</strong></p><ul><li><code>MPI_Dist_graph_neighbors_count</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Dist_graph_neighbors_count.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Dist_graph_neighbors_count.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/topology.jl#L263-L282">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Dist_graph_neighbors!" href="#MPI.Dist_graph_neighbors!"><code>MPI.Dist_graph_neighbors!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Dist_graph_neighbors!(graph_comm::Comm, sources::Vector{Cint}, source_weights::Vector{Cint}, destinations::Vector{Cint}, destination_weights::Vector{Cint})</code></pre><p>Return the neighbors and edge weights of the calling process in a distributed graph topology.</p><p><strong>Arguments</strong></p><ul><li><code>graph_comm::Comm</code>: The communicator of the distributed graph topology.</li><li><code>sources::Vector{Cint}</code>: A preallocated vector, which will be filled with the ranks                       of the processes whose edges pointing towards the calling process. The                       length is exactly the indegree returned by <a href="#MPI.Dist_graph_neighbors_count"><code>MPI.Dist_graph_neighbors_count</code></a>.</li><li><code>source_weights::Vector{Cint}</code>: A preallocated vector, which will be filled with the weights                       associated to the edges pointing towards the calling process. The                       length is exactly the indegree returned by <a href="#MPI.Dist_graph_neighbors_count"><code>MPI.Dist_graph_neighbors_count</code></a>.</li><li><code>destinations::Vector{Cint}</code>: A preallocated vector, which will be filled with the ranks                       of the processes towards which the edges of the calling process point. The                       length is exactly the outdegree returned by <a href="#MPI.Dist_graph_neighbors_count"><code>MPI.Dist_graph_neighbors_count</code></a>.</li><li><code>destination_weights::Vector{Cint}</code>: A preallocated vector, which will be filled with the weights                       associated to the edges of the outgoing edges of the calling process point. The                       length is exactly the outdegree returned by <a href="#MPI.Dist_graph_neighbors_count"><code>MPI.Dist_graph_neighbors_count</code></a>.</li></ul><p><strong>Example</strong></p><p>Let us assume the following graph <code>0 &lt;-3-&gt; 1 -4-&gt; 2</code>, then the process with rank 1 will require to preallocate a sources vector of length 1 and a destination vector of length 2. The call will fill the vectors as follows:</p><pre><code class="language-julia-repl hljs">julia&gt; Dist_graph_neighbors!(graph_comm, sources, source_weights, destinations, destination_weights);
-julia&gt; sources
-[0]
-julia&gt; source_weights
-[3]
-julia&gt; destinations
-[0,2]
-julia&gt; destination_weights
-[3,4]</code></pre><p>Note that the edge between ranks 0 and 1 can have a different weight depending on wether it is the incoming edge &quot;<code>(0,1)&quot;</code> or the outgoing one &quot;<code>(1,0)&quot;</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Dist_graph_neighbors</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Dist_graph_neighbors.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Dist_graph_neighbors.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/topology.jl#L293-L335">source</a></section><section><div><pre><code class="nohighlight hljs">Dist_graph_neighbors!(graph_comm::Comm, sources::Vector{Cint}, destinations::Vector{Cint})</code></pre><p>Return the neighbors of the calling process in a distributed graph topology without edge weights.</p><p><strong>Arguments</strong></p><ul><li><code>graph_comm::Comm</code>: The communicator of the distributed graph topology.</li><li><code>sources::Vector{Cint}</code>: A preallocated vector, which will be filled with the ranks of the                       processes whose edges pointing towards the calling process. The                       length is exactly the indegree returned by <a href="#MPI.Dist_graph_neighbors_count"><code>MPI.Dist_graph_neighbors_count</code></a>.</li><li><code>destinations::Vector{Cint}</code>: A preallocated vector, which will be filled with the ranks                       of the processes towards which the edges of the calling process point. The                       length is exactly the outdegree returned by <a href="#MPI.Dist_graph_neighbors_count"><code>MPI.Dist_graph_neighbors_count</code></a>.</li></ul><p><strong>Example</strong></p><p>Let us assume the following graph <code>0 &lt;--&gt; 1 --&gt; 2</code>, then the process with rank 1 will require to preallocate a sources vector of length 1 and a destination vector of length 2. The call will fill the vectors as follows:</p><pre><code class="language-julia-repl hljs">julia&gt; Dist_graph_neighbors!(graph_comm, sources, destinations);
-julia&gt; sources
-[0]
-julia&gt; destinations
-[0,2]</code></pre><p><strong>External links</strong></p><ul><li><code>MPI_Dist_graph_neighbors</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Dist_graph_neighbors.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Dist_graph_neighbors.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/1b36f21b899e68c53c48cb1c0dcedb9867f3ee8f/src/topology.jl#L345-L374">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../onesided/">« One-sided communication</a><a class="docs-footer-nextpage" href="../io/">I/O »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 1 January 2023 03:50">Sunday 1 January 2023</span>. Using Julia version 1.8.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR626/refindex/index.html b/previews/PR626/refindex/index.html
deleted file mode 100644
index 76042caa6..000000000
--- a/previews/PR626/refindex/index.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Index · MPI.jl</title><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../"><img src="../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../">MPI.jl</a></span></div><form class="docs-search" action="../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../">MPI.jl</a></li><li><a class="tocitem" href="../configuration/">Configuration</a></li><li><a class="tocitem" href="../usage/">Usage</a></li><li><a class="tocitem" href="../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../reference/library/">Library information</a></li><li><a class="tocitem" href="../reference/environment/">Environment</a></li><li><a class="tocitem" href="../reference/misc/">Miscellanea</a></li><li><a class="tocitem" href="../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../reference/topology/">Topology</a></li><li><a class="tocitem" href="../reference/io/">I/O</a></li><li><a class="tocitem" href="../reference/advanced/">Advanced</a></li><li><a class="tocitem" href="../reference/api/">Low-level API</a></li></ul></li><li class="is-active"><a class="tocitem" href>Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>Index</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Index</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/refindex.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Index"><a class="docs-heading-anchor" href="#Index">Index</a><a id="Index-1"></a><a class="docs-heading-anchor-permalink" href="#Index" title="Permalink"></a></h1><ul><li><a href="../reference/pointtopoint/#MPI.ANY_SOURCE"><code>MPI.ANY_SOURCE</code></a></li><li><a href="../reference/pointtopoint/#MPI.ANY_TAG"><code>MPI.ANY_TAG</code></a></li><li><a href="../reference/comm/#MPI.COMM_SELF"><code>MPI.COMM_SELF</code></a></li><li><a href="../reference/comm/#MPI.COMM_WORLD"><code>MPI.COMM_WORLD</code></a></li><li><a href="../reference/buffers/#MPI.IN_PLACE"><code>MPI.IN_PLACE</code></a></li><li><a href="../reference/library/#MPI.MPI_LIBRARY"><code>MPI.MPI_LIBRARY</code></a></li><li><a href="../reference/library/#MPI.MPI_LIBRARY_VERSION"><code>MPI.MPI_LIBRARY_VERSION</code></a></li><li><a href="../reference/library/#MPI.MPI_LIBRARY_VERSION_STRING"><code>MPI.MPI_LIBRARY_VERSION_STRING</code></a></li><li><a href="../reference/library/#MPI.MPI_VERSION"><code>MPI.MPI_VERSION</code></a></li><li><a href="../reference/pointtopoint/#MPI.PROC_NULL"><code>MPI.PROC_NULL</code></a></li><li><a href="../reference/mpipreferences/#MPIPreferences.abi"><code>MPIPreferences.abi</code></a></li><li><a href="../reference/mpipreferences/#MPIPreferences.binary"><code>MPIPreferences.binary</code></a></li><li><a href="../reference/environment/#MPI.API.FeatureLevelError"><code>MPI.API.FeatureLevelError</code></a></li><li><a href="../reference/buffers/#MPI.API.MPIPtr"><code>MPI.API.MPIPtr</code></a></li><li><a href="../reference/pointtopoint/#MPI.AbstractRequest"><code>MPI.AbstractRequest</code></a></li><li><a href="../reference/buffers/#MPI.Buffer"><code>MPI.Buffer</code></a></li><li><a href="../reference/comm/#MPI.Comm"><code>MPI.Comm</code></a></li><li><a href="../reference/group/#MPI.Comparison"><code>MPI.Comparison</code></a></li><li><a href="../reference/advanced/#MPI.Datatype"><code>MPI.Datatype</code></a></li><li><a href="../reference/advanced/#MPI.Errhandler"><code>MPI.Errhandler</code></a></li><li><a href="../reference/group/#MPI.Group"><code>MPI.Group</code></a></li><li><a href="../reference/advanced/#MPI.Info"><code>MPI.Info</code></a></li><li><a href="../reference/environment/#MPI.MPIError"><code>MPI.MPIError</code></a></li><li><a href="../reference/pointtopoint/#MPI.Message"><code>MPI.Message</code></a></li><li><a href="../reference/pointtopoint/#MPI.MultiRequest"><code>MPI.MultiRequest</code></a></li><li><a href="../reference/advanced/#MPI.Op"><code>MPI.Op</code></a></li><li><a href="../reference/buffers/#MPI.RBuffer"><code>MPI.RBuffer</code></a></li><li><a href="../reference/pointtopoint/#MPI.Request"><code>MPI.Request</code></a></li><li><a href="../reference/pointtopoint/#MPI.RequestSet"><code>MPI.RequestSet</code></a></li><li><a href="../reference/pointtopoint/#MPI.Status"><code>MPI.Status</code></a></li><li><a href="../reference/environment/#MPI.ThreadLevel"><code>MPI.ThreadLevel</code></a></li><li><a href="../reference/buffers/#MPI.UBuffer"><code>MPI.UBuffer</code></a></li><li><a href="../reference/pointtopoint/#MPI.UnsafeMultiRequest"><code>MPI.UnsafeMultiRequest</code></a></li><li><a href="../reference/pointtopoint/#MPI.UnsafeRequest"><code>MPI.UnsafeRequest</code></a></li><li><a href="../reference/buffers/#MPI.VBuffer"><code>MPI.VBuffer</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Abort-Tuple{Any, Any}"><code>MPI.API.MPI_Abort</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Accumulate-NTuple{9, Any}"><code>MPI.API.MPI_Accumulate</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Accumulate_c-NTuple{9, Any}"><code>MPI.API.MPI_Accumulate_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Add_error_class-Tuple{Any}"><code>MPI.API.MPI_Add_error_class</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Add_error_code-Tuple{Any, Any}"><code>MPI.API.MPI_Add_error_code</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Add_error_string-Tuple{Any, Any}"><code>MPI.API.MPI_Add_error_string</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Address-Tuple{Any, Any}"><code>MPI.API.MPI_Address</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Aint_add-Tuple{Any, Any}"><code>MPI.API.MPI_Aint_add</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Aint_diff-Tuple{Any, Any}"><code>MPI.API.MPI_Aint_diff</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Allgather-NTuple{7, Any}"><code>MPI.API.MPI_Allgather</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Allgather_c-NTuple{7, Any}"><code>MPI.API.MPI_Allgather_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Allgather_init-NTuple{9, Any}"><code>MPI.API.MPI_Allgather_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Allgather_init_c-NTuple{9, Any}"><code>MPI.API.MPI_Allgather_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Allgatherv-NTuple{8, Any}"><code>MPI.API.MPI_Allgatherv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Allgatherv_c-NTuple{8, Any}"><code>MPI.API.MPI_Allgatherv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Allgatherv_init-NTuple{10, Any}"><code>MPI.API.MPI_Allgatherv_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Allgatherv_init_c-NTuple{10, Any}"><code>MPI.API.MPI_Allgatherv_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Alloc_mem-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Alloc_mem</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Allreduce-NTuple{6, Any}"><code>MPI.API.MPI_Allreduce</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Allreduce_c-NTuple{6, Any}"><code>MPI.API.MPI_Allreduce_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Allreduce_init-NTuple{8, Any}"><code>MPI.API.MPI_Allreduce_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Allreduce_init_c-NTuple{8, Any}"><code>MPI.API.MPI_Allreduce_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Alltoall-NTuple{7, Any}"><code>MPI.API.MPI_Alltoall</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Alltoall_c-NTuple{7, Any}"><code>MPI.API.MPI_Alltoall_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Alltoall_init-NTuple{9, Any}"><code>MPI.API.MPI_Alltoall_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Alltoall_init_c-NTuple{9, Any}"><code>MPI.API.MPI_Alltoall_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Alltoallv-NTuple{9, Any}"><code>MPI.API.MPI_Alltoallv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Alltoallv_c-NTuple{9, Any}"><code>MPI.API.MPI_Alltoallv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Alltoallv_init-NTuple{11, Any}"><code>MPI.API.MPI_Alltoallv_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Alltoallv_init_c-NTuple{11, Any}"><code>MPI.API.MPI_Alltoallv_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Alltoallw-NTuple{9, Any}"><code>MPI.API.MPI_Alltoallw</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Alltoallw_c-NTuple{9, Any}"><code>MPI.API.MPI_Alltoallw_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Alltoallw_init-NTuple{11, Any}"><code>MPI.API.MPI_Alltoallw_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Alltoallw_init_c-NTuple{11, Any}"><code>MPI.API.MPI_Alltoallw_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Attr_delete-Tuple{Any, Any}"><code>MPI.API.MPI_Attr_delete</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Attr_get-NTuple{4, Any}"><code>MPI.API.MPI_Attr_get</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Attr_put-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Attr_put</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Barrier-Tuple{Any}"><code>MPI.API.MPI_Barrier</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Barrier_init-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Barrier_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Bcast-NTuple{5, Any}"><code>MPI.API.MPI_Bcast</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Bcast_c-NTuple{5, Any}"><code>MPI.API.MPI_Bcast_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Bcast_init-NTuple{7, Any}"><code>MPI.API.MPI_Bcast_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Bcast_init_c-NTuple{7, Any}"><code>MPI.API.MPI_Bcast_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Bsend-NTuple{6, Any}"><code>MPI.API.MPI_Bsend</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Bsend_c-NTuple{6, Any}"><code>MPI.API.MPI_Bsend_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Bsend_init-NTuple{7, Any}"><code>MPI.API.MPI_Bsend_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Bsend_init_c-NTuple{7, Any}"><code>MPI.API.MPI_Bsend_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Buffer_attach-Tuple{Any, Any}"><code>MPI.API.MPI_Buffer_attach</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Buffer_attach_c-Tuple{Any, Any}"><code>MPI.API.MPI_Buffer_attach_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Buffer_detach-Tuple{Any, Any}"><code>MPI.API.MPI_Buffer_detach</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Buffer_detach_c-Tuple{Any, Any}"><code>MPI.API.MPI_Buffer_detach_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Cancel-Tuple{Any}"><code>MPI.API.MPI_Cancel</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Cart_coords-NTuple{4, Any}"><code>MPI.API.MPI_Cart_coords</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Cart_create-NTuple{6, Any}"><code>MPI.API.MPI_Cart_create</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Cart_get-NTuple{5, Any}"><code>MPI.API.MPI_Cart_get</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Cart_map-NTuple{5, Any}"><code>MPI.API.MPI_Cart_map</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Cart_rank-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Cart_rank</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Cart_shift-NTuple{5, Any}"><code>MPI.API.MPI_Cart_shift</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Cart_sub-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Cart_sub</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Cartdim_get-Tuple{Any, Any}"><code>MPI.API.MPI_Cartdim_get</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Close_port-Tuple{Any}"><code>MPI.API.MPI_Close_port</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_accept-NTuple{5, Any}"><code>MPI.API.MPI_Comm_accept</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_call_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_call_errhandler</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_compare-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Comm_compare</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_connect-NTuple{5, Any}"><code>MPI.API.MPI_Comm_connect</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_create-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Comm_create</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_create_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_create_errhandler</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_create_from_group-NTuple{5, Any}"><code>MPI.API.MPI_Comm_create_from_group</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_create_group-NTuple{4, Any}"><code>MPI.API.MPI_Comm_create_group</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_create_keyval-NTuple{4, Any}"><code>MPI.API.MPI_Comm_create_keyval</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_delete_attr-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_delete_attr</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_disconnect-Tuple{Any}"><code>MPI.API.MPI_Comm_disconnect</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_dup-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_dup</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_dup_with_info-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Comm_dup_with_info</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_free-Tuple{Any}"><code>MPI.API.MPI_Comm_free</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_free_keyval-Tuple{Any}"><code>MPI.API.MPI_Comm_free_keyval</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_get_attr-NTuple{4, Any}"><code>MPI.API.MPI_Comm_get_attr</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_get_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_get_errhandler</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_get_info-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_get_info</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_get_name-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Comm_get_name</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_get_parent-Tuple{Any}"><code>MPI.API.MPI_Comm_get_parent</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_group-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_group</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_idup-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Comm_idup</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_idup_with_info-NTuple{4, Any}"><code>MPI.API.MPI_Comm_idup_with_info</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_join-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_join</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_rank-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_rank</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_remote_group-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_remote_group</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_remote_size-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_remote_size</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_set_attr-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Comm_set_attr</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_set_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_set_errhandler</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_set_info-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_set_info</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_set_name-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_set_name</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_size-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_size</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_spawn-NTuple{8, Any}"><code>MPI.API.MPI_Comm_spawn</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_spawn_multiple-NTuple{9, Any}"><code>MPI.API.MPI_Comm_spawn_multiple</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_split-NTuple{4, Any}"><code>MPI.API.MPI_Comm_split</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_split_type-NTuple{5, Any}"><code>MPI.API.MPI_Comm_split_type</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_test_inter-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_test_inter</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Compare_and_swap-NTuple{7, Any}"><code>MPI.API.MPI_Compare_and_swap</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Dims_create-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Dims_create</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Dist_graph_create-NTuple{9, Any}"><code>MPI.API.MPI_Dist_graph_create</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Dist_graph_create_adjacent-NTuple{10, Any}"><code>MPI.API.MPI_Dist_graph_create_adjacent</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Dist_graph_neighbors-NTuple{7, Any}"><code>MPI.API.MPI_Dist_graph_neighbors</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Dist_graph_neighbors_count-NTuple{4, Any}"><code>MPI.API.MPI_Dist_graph_neighbors_count</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Errhandler_create-Tuple{Any, Any}"><code>MPI.API.MPI_Errhandler_create</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Errhandler_free-Tuple{Any}"><code>MPI.API.MPI_Errhandler_free</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Errhandler_get-Tuple{Any, Any}"><code>MPI.API.MPI_Errhandler_get</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Errhandler_set-Tuple{Any, Any}"><code>MPI.API.MPI_Errhandler_set</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Error_class-Tuple{Any, Any}"><code>MPI.API.MPI_Error_class</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Error_string-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Error_string</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Exscan-NTuple{6, Any}"><code>MPI.API.MPI_Exscan</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Exscan_c-NTuple{6, Any}"><code>MPI.API.MPI_Exscan_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Exscan_init-NTuple{8, Any}"><code>MPI.API.MPI_Exscan_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Exscan_init_c-NTuple{8, Any}"><code>MPI.API.MPI_Exscan_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Fetch_and_op-NTuple{7, Any}"><code>MPI.API.MPI_Fetch_and_op</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_c2f-Tuple{Any}"><code>MPI.API.MPI_File_c2f</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_call_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_File_call_errhandler</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_close-Tuple{Any}"><code>MPI.API.MPI_File_close</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_create_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_File_create_errhandler</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_delete-Tuple{Any, Any}"><code>MPI.API.MPI_File_delete</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_f2c-Tuple{Any}"><code>MPI.API.MPI_File_f2c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_get_amode-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_amode</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_get_atomicity-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_atomicity</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_get_byte_offset-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_get_byte_offset</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_get_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_errhandler</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_get_group-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_group</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_get_info-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_info</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_get_position-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_position</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_get_position_shared-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_position_shared</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_get_size-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_size</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_get_type_extent-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_get_type_extent</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_get_type_extent_c-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_get_type_extent_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_get_view-NTuple{5, Any}"><code>MPI.API.MPI_File_get_view</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iread-NTuple{5, Any}"><code>MPI.API.MPI_File_iread</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iread_all-NTuple{5, Any}"><code>MPI.API.MPI_File_iread_all</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iread_all_c-NTuple{5, Any}"><code>MPI.API.MPI_File_iread_all_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iread_at-NTuple{6, Any}"><code>MPI.API.MPI_File_iread_at</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iread_at_all-NTuple{6, Any}"><code>MPI.API.MPI_File_iread_at_all</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iread_at_all_c-NTuple{6, Any}"><code>MPI.API.MPI_File_iread_at_all_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iread_at_c-NTuple{6, Any}"><code>MPI.API.MPI_File_iread_at_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iread_c-NTuple{5, Any}"><code>MPI.API.MPI_File_iread_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iread_shared-NTuple{5, Any}"><code>MPI.API.MPI_File_iread_shared</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iread_shared_c-NTuple{5, Any}"><code>MPI.API.MPI_File_iread_shared_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iwrite-NTuple{5, Any}"><code>MPI.API.MPI_File_iwrite</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iwrite_all-NTuple{5, Any}"><code>MPI.API.MPI_File_iwrite_all</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iwrite_all_c-NTuple{5, Any}"><code>MPI.API.MPI_File_iwrite_all_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iwrite_at-NTuple{6, Any}"><code>MPI.API.MPI_File_iwrite_at</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iwrite_at_all-NTuple{6, Any}"><code>MPI.API.MPI_File_iwrite_at_all</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iwrite_at_all_c-NTuple{6, Any}"><code>MPI.API.MPI_File_iwrite_at_all_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iwrite_at_c-NTuple{6, Any}"><code>MPI.API.MPI_File_iwrite_at_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iwrite_c-NTuple{5, Any}"><code>MPI.API.MPI_File_iwrite_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iwrite_shared-NTuple{5, Any}"><code>MPI.API.MPI_File_iwrite_shared</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iwrite_shared_c-NTuple{5, Any}"><code>MPI.API.MPI_File_iwrite_shared_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_open-NTuple{5, Any}"><code>MPI.API.MPI_File_open</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_preallocate-Tuple{Any, Any}"><code>MPI.API.MPI_File_preallocate</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read-NTuple{5, Any}"><code>MPI.API.MPI_File_read</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_all-NTuple{5, Any}"><code>MPI.API.MPI_File_read_all</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_all_begin-NTuple{4, Any}"><code>MPI.API.MPI_File_read_all_begin</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_all_begin_c-NTuple{4, Any}"><code>MPI.API.MPI_File_read_all_begin_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_all_c-NTuple{5, Any}"><code>MPI.API.MPI_File_read_all_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_all_end-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_read_all_end</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_at-NTuple{6, Any}"><code>MPI.API.MPI_File_read_at</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_at_all-NTuple{6, Any}"><code>MPI.API.MPI_File_read_at_all</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_at_all_begin-NTuple{5, Any}"><code>MPI.API.MPI_File_read_at_all_begin</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_at_all_begin_c-NTuple{5, Any}"><code>MPI.API.MPI_File_read_at_all_begin_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_at_all_c-NTuple{6, Any}"><code>MPI.API.MPI_File_read_at_all_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_at_all_end-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_read_at_all_end</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_at_c-NTuple{6, Any}"><code>MPI.API.MPI_File_read_at_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_c-NTuple{5, Any}"><code>MPI.API.MPI_File_read_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_ordered-NTuple{5, Any}"><code>MPI.API.MPI_File_read_ordered</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_ordered_begin-NTuple{4, Any}"><code>MPI.API.MPI_File_read_ordered_begin</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_ordered_begin_c-NTuple{4, Any}"><code>MPI.API.MPI_File_read_ordered_begin_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_ordered_c-NTuple{5, Any}"><code>MPI.API.MPI_File_read_ordered_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_ordered_end-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_read_ordered_end</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_shared-NTuple{5, Any}"><code>MPI.API.MPI_File_read_shared</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_shared_c-NTuple{5, Any}"><code>MPI.API.MPI_File_read_shared_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_seek-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_seek</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_seek_shared-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_seek_shared</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_set_atomicity-Tuple{Any, Any}"><code>MPI.API.MPI_File_set_atomicity</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_set_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_File_set_errhandler</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_set_info-Tuple{Any, Any}"><code>MPI.API.MPI_File_set_info</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_set_size-Tuple{Any, Any}"><code>MPI.API.MPI_File_set_size</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_set_view-NTuple{6, Any}"><code>MPI.API.MPI_File_set_view</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_sync-Tuple{Any}"><code>MPI.API.MPI_File_sync</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write-NTuple{5, Any}"><code>MPI.API.MPI_File_write</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_all-NTuple{5, Any}"><code>MPI.API.MPI_File_write_all</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_all_begin-NTuple{4, Any}"><code>MPI.API.MPI_File_write_all_begin</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_all_begin_c-NTuple{4, Any}"><code>MPI.API.MPI_File_write_all_begin_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_all_c-NTuple{5, Any}"><code>MPI.API.MPI_File_write_all_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_all_end-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_write_all_end</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_at-NTuple{6, Any}"><code>MPI.API.MPI_File_write_at</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_at_all-NTuple{6, Any}"><code>MPI.API.MPI_File_write_at_all</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_at_all_begin-NTuple{5, Any}"><code>MPI.API.MPI_File_write_at_all_begin</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_at_all_begin_c-NTuple{5, Any}"><code>MPI.API.MPI_File_write_at_all_begin_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_at_all_c-NTuple{6, Any}"><code>MPI.API.MPI_File_write_at_all_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_at_all_end-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_write_at_all_end</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_at_c-NTuple{6, Any}"><code>MPI.API.MPI_File_write_at_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_c-NTuple{5, Any}"><code>MPI.API.MPI_File_write_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_ordered-NTuple{5, Any}"><code>MPI.API.MPI_File_write_ordered</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_ordered_begin-NTuple{4, Any}"><code>MPI.API.MPI_File_write_ordered_begin</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_ordered_begin_c-NTuple{4, Any}"><code>MPI.API.MPI_File_write_ordered_begin_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_ordered_c-NTuple{5, Any}"><code>MPI.API.MPI_File_write_ordered_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_ordered_end-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_write_ordered_end</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_shared-NTuple{5, Any}"><code>MPI.API.MPI_File_write_shared</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_shared_c-NTuple{5, Any}"><code>MPI.API.MPI_File_write_shared_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Finalize-Tuple{}"><code>MPI.API.MPI_Finalize</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Finalized-Tuple{Any}"><code>MPI.API.MPI_Finalized</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Free_mem-Tuple{Any}"><code>MPI.API.MPI_Free_mem</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Gather-NTuple{8, Any}"><code>MPI.API.MPI_Gather</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Gather_c-NTuple{8, Any}"><code>MPI.API.MPI_Gather_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Gather_init-NTuple{10, Any}"><code>MPI.API.MPI_Gather_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Gather_init_c-NTuple{10, Any}"><code>MPI.API.MPI_Gather_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Gatherv-NTuple{9, Any}"><code>MPI.API.MPI_Gatherv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Gatherv_c-NTuple{9, Any}"><code>MPI.API.MPI_Gatherv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Gatherv_init-NTuple{11, Any}"><code>MPI.API.MPI_Gatherv_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Gatherv_init_c-NTuple{11, Any}"><code>MPI.API.MPI_Gatherv_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Get-NTuple{8, Any}"><code>MPI.API.MPI_Get</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Get_accumulate-NTuple{12, Any}"><code>MPI.API.MPI_Get_accumulate</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Get_accumulate_c-NTuple{12, Any}"><code>MPI.API.MPI_Get_accumulate_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Get_address-Tuple{Any, Any}"><code>MPI.API.MPI_Get_address</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Get_c-NTuple{8, Any}"><code>MPI.API.MPI_Get_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Get_count-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Get_count</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Get_count_c-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Get_count_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Get_elements-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Get_elements</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Get_elements_c-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Get_elements_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Get_elements_x-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Get_elements_x</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Get_library_version-Tuple{Any, Any}"><code>MPI.API.MPI_Get_library_version</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Get_processor_name-Tuple{Any, Any}"><code>MPI.API.MPI_Get_processor_name</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Get_version-Tuple{Any, Any}"><code>MPI.API.MPI_Get_version</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Graph_create-NTuple{6, Any}"><code>MPI.API.MPI_Graph_create</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Graph_get-NTuple{5, Any}"><code>MPI.API.MPI_Graph_get</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Graph_map-NTuple{5, Any}"><code>MPI.API.MPI_Graph_map</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Graph_neighbors-NTuple{4, Any}"><code>MPI.API.MPI_Graph_neighbors</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Graph_neighbors_count-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Graph_neighbors_count</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Graphdims_get-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Graphdims_get</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Grequest_complete-Tuple{Any}"><code>MPI.API.MPI_Grequest_complete</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Grequest_start-NTuple{5, Any}"><code>MPI.API.MPI_Grequest_start</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Group_compare-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Group_compare</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Group_difference-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Group_difference</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Group_excl-NTuple{4, Any}"><code>MPI.API.MPI_Group_excl</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Group_free-Tuple{Any}"><code>MPI.API.MPI_Group_free</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Group_incl-NTuple{4, Any}"><code>MPI.API.MPI_Group_incl</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Group_intersection-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Group_intersection</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Group_range_excl-NTuple{4, Any}"><code>MPI.API.MPI_Group_range_excl</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Group_range_incl-NTuple{4, Any}"><code>MPI.API.MPI_Group_range_incl</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Group_rank-Tuple{Any, Any}"><code>MPI.API.MPI_Group_rank</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Group_size-Tuple{Any, Any}"><code>MPI.API.MPI_Group_size</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Group_translate_ranks-NTuple{5, Any}"><code>MPI.API.MPI_Group_translate_ranks</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Group_union-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Group_union</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Iallgather-NTuple{8, Any}"><code>MPI.API.MPI_Iallgather</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Iallgather_c-NTuple{8, Any}"><code>MPI.API.MPI_Iallgather_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Iallgatherv-NTuple{9, Any}"><code>MPI.API.MPI_Iallgatherv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Iallgatherv_c-NTuple{9, Any}"><code>MPI.API.MPI_Iallgatherv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Iallreduce-NTuple{7, Any}"><code>MPI.API.MPI_Iallreduce</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Iallreduce_c-NTuple{7, Any}"><code>MPI.API.MPI_Iallreduce_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ialltoall-NTuple{8, Any}"><code>MPI.API.MPI_Ialltoall</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ialltoall_c-NTuple{8, Any}"><code>MPI.API.MPI_Ialltoall_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ialltoallv-NTuple{10, Any}"><code>MPI.API.MPI_Ialltoallv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ialltoallv_c-NTuple{10, Any}"><code>MPI.API.MPI_Ialltoallv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ialltoallw-NTuple{10, Any}"><code>MPI.API.MPI_Ialltoallw</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ialltoallw_c-NTuple{10, Any}"><code>MPI.API.MPI_Ialltoallw_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ibarrier-Tuple{Any, Any}"><code>MPI.API.MPI_Ibarrier</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ibcast-NTuple{6, Any}"><code>MPI.API.MPI_Ibcast</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ibcast_c-NTuple{6, Any}"><code>MPI.API.MPI_Ibcast_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ibsend-NTuple{7, Any}"><code>MPI.API.MPI_Ibsend</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ibsend_c-NTuple{7, Any}"><code>MPI.API.MPI_Ibsend_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Iexscan-NTuple{7, Any}"><code>MPI.API.MPI_Iexscan</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Iexscan_c-NTuple{7, Any}"><code>MPI.API.MPI_Iexscan_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Igather-NTuple{9, Any}"><code>MPI.API.MPI_Igather</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Igather_c-NTuple{9, Any}"><code>MPI.API.MPI_Igather_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Igatherv-NTuple{10, Any}"><code>MPI.API.MPI_Igatherv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Igatherv_c-NTuple{10, Any}"><code>MPI.API.MPI_Igatherv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Improbe-NTuple{6, Any}"><code>MPI.API.MPI_Improbe</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Imrecv-NTuple{5, Any}"><code>MPI.API.MPI_Imrecv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Imrecv_c-NTuple{5, Any}"><code>MPI.API.MPI_Imrecv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ineighbor_allgather-NTuple{8, Any}"><code>MPI.API.MPI_Ineighbor_allgather</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ineighbor_allgather_c-NTuple{8, Any}"><code>MPI.API.MPI_Ineighbor_allgather_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ineighbor_allgatherv-NTuple{9, Any}"><code>MPI.API.MPI_Ineighbor_allgatherv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ineighbor_allgatherv_c-NTuple{9, Any}"><code>MPI.API.MPI_Ineighbor_allgatherv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ineighbor_alltoall-NTuple{8, Any}"><code>MPI.API.MPI_Ineighbor_alltoall</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ineighbor_alltoall_c-NTuple{8, Any}"><code>MPI.API.MPI_Ineighbor_alltoall_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ineighbor_alltoallv-NTuple{10, Any}"><code>MPI.API.MPI_Ineighbor_alltoallv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ineighbor_alltoallv_c-NTuple{10, Any}"><code>MPI.API.MPI_Ineighbor_alltoallv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ineighbor_alltoallw-NTuple{10, Any}"><code>MPI.API.MPI_Ineighbor_alltoallw</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ineighbor_alltoallw_c-NTuple{10, Any}"><code>MPI.API.MPI_Ineighbor_alltoallw_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Info_create-Tuple{Any}"><code>MPI.API.MPI_Info_create</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Info_create_env-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Info_create_env</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Info_delete-Tuple{Any, Any}"><code>MPI.API.MPI_Info_delete</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Info_dup-Tuple{Any, Any}"><code>MPI.API.MPI_Info_dup</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Info_free-Tuple{Any}"><code>MPI.API.MPI_Info_free</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Info_get-NTuple{5, Any}"><code>MPI.API.MPI_Info_get</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Info_get_nkeys-Tuple{Any, Any}"><code>MPI.API.MPI_Info_get_nkeys</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Info_get_nthkey-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Info_get_nthkey</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Info_get_string-NTuple{5, Any}"><code>MPI.API.MPI_Info_get_string</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Info_get_valuelen-NTuple{4, Any}"><code>MPI.API.MPI_Info_get_valuelen</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Info_set-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Info_set</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Init-Tuple{Any, Any}"><code>MPI.API.MPI_Init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Init_thread-NTuple{4, Any}"><code>MPI.API.MPI_Init_thread</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Initialized-Tuple{Any}"><code>MPI.API.MPI_Initialized</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Intercomm_create-NTuple{6, Any}"><code>MPI.API.MPI_Intercomm_create</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Intercomm_create_from_groups-NTuple{8, Any}"><code>MPI.API.MPI_Intercomm_create_from_groups</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Intercomm_merge-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Intercomm_merge</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Iprobe-NTuple{5, Any}"><code>MPI.API.MPI_Iprobe</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Irecv-NTuple{7, Any}"><code>MPI.API.MPI_Irecv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Irecv_c-NTuple{7, Any}"><code>MPI.API.MPI_Irecv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ireduce-NTuple{8, Any}"><code>MPI.API.MPI_Ireduce</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ireduce_c-NTuple{8, Any}"><code>MPI.API.MPI_Ireduce_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ireduce_scatter-NTuple{7, Any}"><code>MPI.API.MPI_Ireduce_scatter</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ireduce_scatter_block-NTuple{7, Any}"><code>MPI.API.MPI_Ireduce_scatter_block</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ireduce_scatter_block_c-NTuple{7, Any}"><code>MPI.API.MPI_Ireduce_scatter_block_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ireduce_scatter_c-NTuple{7, Any}"><code>MPI.API.MPI_Ireduce_scatter_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Irsend-NTuple{7, Any}"><code>MPI.API.MPI_Irsend</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Irsend_c-NTuple{7, Any}"><code>MPI.API.MPI_Irsend_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Is_thread_main-Tuple{Any}"><code>MPI.API.MPI_Is_thread_main</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Iscan-NTuple{7, Any}"><code>MPI.API.MPI_Iscan</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Iscan_c-NTuple{7, Any}"><code>MPI.API.MPI_Iscan_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Iscatter-NTuple{9, Any}"><code>MPI.API.MPI_Iscatter</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Iscatter_c-NTuple{9, Any}"><code>MPI.API.MPI_Iscatter_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Iscatterv-NTuple{10, Any}"><code>MPI.API.MPI_Iscatterv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Iscatterv_c-NTuple{10, Any}"><code>MPI.API.MPI_Iscatterv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Isend-NTuple{7, Any}"><code>MPI.API.MPI_Isend</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Isend_c-NTuple{7, Any}"><code>MPI.API.MPI_Isend_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Isendrecv-NTuple{12, Any}"><code>MPI.API.MPI_Isendrecv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Isendrecv_c-NTuple{12, Any}"><code>MPI.API.MPI_Isendrecv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Isendrecv_replace-NTuple{9, Any}"><code>MPI.API.MPI_Isendrecv_replace</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Isendrecv_replace_c-NTuple{9, Any}"><code>MPI.API.MPI_Isendrecv_replace_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Issend-NTuple{7, Any}"><code>MPI.API.MPI_Issend</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Issend_c-NTuple{7, Any}"><code>MPI.API.MPI_Issend_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Keyval_create-NTuple{4, Any}"><code>MPI.API.MPI_Keyval_create</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Keyval_free-Tuple{Any}"><code>MPI.API.MPI_Keyval_free</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Lookup_name-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Lookup_name</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Mprobe-NTuple{5, Any}"><code>MPI.API.MPI_Mprobe</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Mrecv-NTuple{5, Any}"><code>MPI.API.MPI_Mrecv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Mrecv_c-NTuple{5, Any}"><code>MPI.API.MPI_Mrecv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_allgather-NTuple{7, Any}"><code>MPI.API.MPI_Neighbor_allgather</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_allgather_c-NTuple{7, Any}"><code>MPI.API.MPI_Neighbor_allgather_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_allgather_init-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_allgather_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_allgather_init_c-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_allgather_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_allgatherv-NTuple{8, Any}"><code>MPI.API.MPI_Neighbor_allgatherv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_allgatherv_c-NTuple{8, Any}"><code>MPI.API.MPI_Neighbor_allgatherv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_allgatherv_init-NTuple{10, Any}"><code>MPI.API.MPI_Neighbor_allgatherv_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_allgatherv_init_c-NTuple{10, Any}"><code>MPI.API.MPI_Neighbor_allgatherv_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_alltoall-NTuple{7, Any}"><code>MPI.API.MPI_Neighbor_alltoall</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_alltoall_c-NTuple{7, Any}"><code>MPI.API.MPI_Neighbor_alltoall_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_alltoall_init-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_alltoall_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_alltoall_init_c-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_alltoall_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_alltoallv-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_alltoallv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_alltoallv_c-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_alltoallv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_alltoallv_init-NTuple{11, Any}"><code>MPI.API.MPI_Neighbor_alltoallv_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_alltoallv_init_c-NTuple{11, Any}"><code>MPI.API.MPI_Neighbor_alltoallv_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_alltoallw-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_alltoallw</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_alltoallw_c-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_alltoallw_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_alltoallw_init-NTuple{11, Any}"><code>MPI.API.MPI_Neighbor_alltoallw_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_alltoallw_init_c-NTuple{11, Any}"><code>MPI.API.MPI_Neighbor_alltoallw_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Op_commutative-Tuple{Any, Any}"><code>MPI.API.MPI_Op_commutative</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Op_create-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Op_create</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Op_create_c-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Op_create_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Op_free-Tuple{Any}"><code>MPI.API.MPI_Op_free</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Open_port-Tuple{Any, Any}"><code>MPI.API.MPI_Open_port</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Pack-NTuple{7, Any}"><code>MPI.API.MPI_Pack</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Pack_c-NTuple{7, Any}"><code>MPI.API.MPI_Pack_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Pack_external-NTuple{7, Any}"><code>MPI.API.MPI_Pack_external</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Pack_external_c-NTuple{7, Any}"><code>MPI.API.MPI_Pack_external_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Pack_external_size-NTuple{4, Any}"><code>MPI.API.MPI_Pack_external_size</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Pack_external_size_c-NTuple{4, Any}"><code>MPI.API.MPI_Pack_external_size_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Pack_size-NTuple{4, Any}"><code>MPI.API.MPI_Pack_size</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Pack_size_c-NTuple{4, Any}"><code>MPI.API.MPI_Pack_size_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Parrived-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Parrived</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Pready-Tuple{Any, Any}"><code>MPI.API.MPI_Pready</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Pready_list-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Pready_list</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Pready_range-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Pready_range</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Precv_init-NTuple{9, Any}"><code>MPI.API.MPI_Precv_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Probe-NTuple{4, Any}"><code>MPI.API.MPI_Probe</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Psend_init-NTuple{9, Any}"><code>MPI.API.MPI_Psend_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Publish_name-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Publish_name</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Put-NTuple{8, Any}"><code>MPI.API.MPI_Put</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Put_c-NTuple{8, Any}"><code>MPI.API.MPI_Put_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Query_thread-Tuple{Any}"><code>MPI.API.MPI_Query_thread</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Raccumulate-NTuple{10, Any}"><code>MPI.API.MPI_Raccumulate</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Raccumulate_c-NTuple{10, Any}"><code>MPI.API.MPI_Raccumulate_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Recv-NTuple{7, Any}"><code>MPI.API.MPI_Recv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Recv_c-NTuple{7, Any}"><code>MPI.API.MPI_Recv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Recv_init-NTuple{7, Any}"><code>MPI.API.MPI_Recv_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Recv_init_c-NTuple{7, Any}"><code>MPI.API.MPI_Recv_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Reduce-NTuple{7, Any}"><code>MPI.API.MPI_Reduce</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Reduce_c-NTuple{7, Any}"><code>MPI.API.MPI_Reduce_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Reduce_init-NTuple{9, Any}"><code>MPI.API.MPI_Reduce_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Reduce_init_c-NTuple{9, Any}"><code>MPI.API.MPI_Reduce_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Reduce_local-NTuple{5, Any}"><code>MPI.API.MPI_Reduce_local</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Reduce_local_c-NTuple{5, Any}"><code>MPI.API.MPI_Reduce_local_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Reduce_scatter-NTuple{6, Any}"><code>MPI.API.MPI_Reduce_scatter</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Reduce_scatter_block-NTuple{6, Any}"><code>MPI.API.MPI_Reduce_scatter_block</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Reduce_scatter_block_c-NTuple{6, Any}"><code>MPI.API.MPI_Reduce_scatter_block_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Reduce_scatter_block_init-NTuple{8, Any}"><code>MPI.API.MPI_Reduce_scatter_block_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Reduce_scatter_block_init_c-NTuple{8, Any}"><code>MPI.API.MPI_Reduce_scatter_block_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Reduce_scatter_c-NTuple{6, Any}"><code>MPI.API.MPI_Reduce_scatter_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Reduce_scatter_init-NTuple{8, Any}"><code>MPI.API.MPI_Reduce_scatter_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Reduce_scatter_init_c-NTuple{8, Any}"><code>MPI.API.MPI_Reduce_scatter_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Register_datarep-NTuple{5, Any}"><code>MPI.API.MPI_Register_datarep</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Register_datarep_c-NTuple{5, Any}"><code>MPI.API.MPI_Register_datarep_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Request_free-Tuple{Any}"><code>MPI.API.MPI_Request_free</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Request_get_status-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Request_get_status</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Rget-NTuple{9, Any}"><code>MPI.API.MPI_Rget</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Rget_accumulate-NTuple{13, Any}"><code>MPI.API.MPI_Rget_accumulate</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Rget_accumulate_c-NTuple{13, Any}"><code>MPI.API.MPI_Rget_accumulate_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Rget_c-NTuple{9, Any}"><code>MPI.API.MPI_Rget_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Rput-NTuple{9, Any}"><code>MPI.API.MPI_Rput</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Rput_c-NTuple{9, Any}"><code>MPI.API.MPI_Rput_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Rsend-NTuple{6, Any}"><code>MPI.API.MPI_Rsend</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Rsend_c-NTuple{6, Any}"><code>MPI.API.MPI_Rsend_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Rsend_init-NTuple{7, Any}"><code>MPI.API.MPI_Rsend_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Rsend_init_c-NTuple{7, Any}"><code>MPI.API.MPI_Rsend_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Scan-NTuple{6, Any}"><code>MPI.API.MPI_Scan</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Scan_c-NTuple{6, Any}"><code>MPI.API.MPI_Scan_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Scan_init-NTuple{8, Any}"><code>MPI.API.MPI_Scan_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Scan_init_c-NTuple{8, Any}"><code>MPI.API.MPI_Scan_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Scatter-NTuple{8, Any}"><code>MPI.API.MPI_Scatter</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Scatter_c-NTuple{8, Any}"><code>MPI.API.MPI_Scatter_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Scatter_init-NTuple{10, Any}"><code>MPI.API.MPI_Scatter_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Scatter_init_c-NTuple{10, Any}"><code>MPI.API.MPI_Scatter_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Scatterv-NTuple{9, Any}"><code>MPI.API.MPI_Scatterv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Scatterv_c-NTuple{9, Any}"><code>MPI.API.MPI_Scatterv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Scatterv_init-NTuple{11, Any}"><code>MPI.API.MPI_Scatterv_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Scatterv_init_c-NTuple{11, Any}"><code>MPI.API.MPI_Scatterv_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Send-NTuple{6, Any}"><code>MPI.API.MPI_Send</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Send_c-NTuple{6, Any}"><code>MPI.API.MPI_Send_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Send_init-NTuple{7, Any}"><code>MPI.API.MPI_Send_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Send_init_c-NTuple{7, Any}"><code>MPI.API.MPI_Send_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Sendrecv-NTuple{12, Any}"><code>MPI.API.MPI_Sendrecv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Sendrecv_c-NTuple{12, Any}"><code>MPI.API.MPI_Sendrecv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Sendrecv_replace-NTuple{9, Any}"><code>MPI.API.MPI_Sendrecv_replace</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Sendrecv_replace_c-NTuple{9, Any}"><code>MPI.API.MPI_Sendrecv_replace_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ssend-NTuple{6, Any}"><code>MPI.API.MPI_Ssend</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ssend_c-NTuple{6, Any}"><code>MPI.API.MPI_Ssend_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ssend_init-NTuple{7, Any}"><code>MPI.API.MPI_Ssend_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ssend_init_c-NTuple{7, Any}"><code>MPI.API.MPI_Ssend_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Start-Tuple{Any}"><code>MPI.API.MPI_Start</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Startall-Tuple{Any, Any}"><code>MPI.API.MPI_Startall</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Status_c2f-Tuple{Any, Any}"><code>MPI.API.MPI_Status_c2f</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Status_f2c-Tuple{Any, Any}"><code>MPI.API.MPI_Status_f2c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Status_set_cancelled-Tuple{Any, Any}"><code>MPI.API.MPI_Status_set_cancelled</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Status_set_elements-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Status_set_elements</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Status_set_elements_x-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Status_set_elements_x</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Test-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Test</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Test_cancelled-Tuple{Any, Any}"><code>MPI.API.MPI_Test_cancelled</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Testall-NTuple{4, Any}"><code>MPI.API.MPI_Testall</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Testany-NTuple{5, Any}"><code>MPI.API.MPI_Testany</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Testsome-NTuple{5, Any}"><code>MPI.API.MPI_Testsome</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Topo_test-Tuple{Any, Any}"><code>MPI.API.MPI_Topo_test</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_commit-Tuple{Any}"><code>MPI.API.MPI_Type_commit</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_contiguous-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_contiguous</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_contiguous_c-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_contiguous_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_darray-NTuple{10, Any}"><code>MPI.API.MPI_Type_create_darray</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_darray_c-NTuple{10, Any}"><code>MPI.API.MPI_Type_create_darray_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_f90_complex-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_create_f90_complex</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_f90_integer-Tuple{Any, Any}"><code>MPI.API.MPI_Type_create_f90_integer</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_f90_real-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_create_f90_real</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_hindexed-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_hindexed</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_hindexed_block-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_hindexed_block</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_hindexed_block_c-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_hindexed_block_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_hindexed_c-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_hindexed_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_hvector-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_hvector</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_hvector_c-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_hvector_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_indexed_block-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_indexed_block</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_indexed_block_c-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_indexed_block_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_keyval-NTuple{4, Any}"><code>MPI.API.MPI_Type_create_keyval</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_resized-NTuple{4, Any}"><code>MPI.API.MPI_Type_create_resized</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_resized_c-NTuple{4, Any}"><code>MPI.API.MPI_Type_create_resized_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_struct-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_struct</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_struct_c-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_struct_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_subarray-NTuple{7, Any}"><code>MPI.API.MPI_Type_create_subarray</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_subarray_c-NTuple{7, Any}"><code>MPI.API.MPI_Type_create_subarray_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_delete_attr-Tuple{Any, Any}"><code>MPI.API.MPI_Type_delete_attr</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_dup-Tuple{Any, Any}"><code>MPI.API.MPI_Type_dup</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_extent-Tuple{Any, Any}"><code>MPI.API.MPI_Type_extent</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_free-Tuple{Any}"><code>MPI.API.MPI_Type_free</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_free_keyval-Tuple{Any}"><code>MPI.API.MPI_Type_free_keyval</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_get_attr-NTuple{4, Any}"><code>MPI.API.MPI_Type_get_attr</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_get_contents-NTuple{7, Any}"><code>MPI.API.MPI_Type_get_contents</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_get_contents_c-NTuple{9, Any}"><code>MPI.API.MPI_Type_get_contents_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_get_envelope-NTuple{5, Any}"><code>MPI.API.MPI_Type_get_envelope</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_get_envelope_c-NTuple{6, Any}"><code>MPI.API.MPI_Type_get_envelope_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_get_extent-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_get_extent</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_get_extent_c-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_get_extent_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_get_extent_x-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_get_extent_x</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_get_name-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_get_name</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_get_true_extent-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_get_true_extent</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_get_true_extent_c-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_get_true_extent_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_get_true_extent_x-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_get_true_extent_x</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_hindexed-NTuple{5, Any}"><code>MPI.API.MPI_Type_hindexed</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_hvector-NTuple{5, Any}"><code>MPI.API.MPI_Type_hvector</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_indexed-NTuple{5, Any}"><code>MPI.API.MPI_Type_indexed</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_indexed_c-NTuple{5, Any}"><code>MPI.API.MPI_Type_indexed_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_lb-Tuple{Any, Any}"><code>MPI.API.MPI_Type_lb</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_match_size-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_match_size</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_set_attr-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_set_attr</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_set_name-Tuple{Any, Any}"><code>MPI.API.MPI_Type_set_name</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_size-Tuple{Any, Any}"><code>MPI.API.MPI_Type_size</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_size_c-Tuple{Any, Any}"><code>MPI.API.MPI_Type_size_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_size_x-Tuple{Any, Any}"><code>MPI.API.MPI_Type_size_x</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_struct-NTuple{5, Any}"><code>MPI.API.MPI_Type_struct</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_ub-Tuple{Any, Any}"><code>MPI.API.MPI_Type_ub</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_vector-NTuple{5, Any}"><code>MPI.API.MPI_Type_vector</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_vector_c-NTuple{5, Any}"><code>MPI.API.MPI_Type_vector_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Unpack-NTuple{7, Any}"><code>MPI.API.MPI_Unpack</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Unpack_c-NTuple{7, Any}"><code>MPI.API.MPI_Unpack_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Unpack_external-NTuple{7, Any}"><code>MPI.API.MPI_Unpack_external</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Unpack_external_c-NTuple{7, Any}"><code>MPI.API.MPI_Unpack_external_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Unpublish_name-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Unpublish_name</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Wait-Tuple{Any, Any}"><code>MPI.API.MPI_Wait</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Waitall-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Waitall</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Waitany-NTuple{4, Any}"><code>MPI.API.MPI_Waitany</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Waitsome-NTuple{5, Any}"><code>MPI.API.MPI_Waitsome</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_allocate-NTuple{6, Any}"><code>MPI.API.MPI_Win_allocate</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_allocate_c-NTuple{6, Any}"><code>MPI.API.MPI_Win_allocate_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_allocate_shared-NTuple{6, Any}"><code>MPI.API.MPI_Win_allocate_shared</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_allocate_shared_c-NTuple{6, Any}"><code>MPI.API.MPI_Win_allocate_shared_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_attach-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Win_attach</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_call_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Win_call_errhandler</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_complete-Tuple{Any}"><code>MPI.API.MPI_Win_complete</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_create-NTuple{6, Any}"><code>MPI.API.MPI_Win_create</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_create_c-NTuple{6, Any}"><code>MPI.API.MPI_Win_create_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_create_dynamic-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Win_create_dynamic</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_create_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Win_create_errhandler</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_create_keyval-NTuple{4, Any}"><code>MPI.API.MPI_Win_create_keyval</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_delete_attr-Tuple{Any, Any}"><code>MPI.API.MPI_Win_delete_attr</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_detach-Tuple{Any, Any}"><code>MPI.API.MPI_Win_detach</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_fence-Tuple{Any, Any}"><code>MPI.API.MPI_Win_fence</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_flush-Tuple{Any, Any}"><code>MPI.API.MPI_Win_flush</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_flush_all-Tuple{Any}"><code>MPI.API.MPI_Win_flush_all</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_flush_local-Tuple{Any, Any}"><code>MPI.API.MPI_Win_flush_local</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_flush_local_all-Tuple{Any}"><code>MPI.API.MPI_Win_flush_local_all</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_free-Tuple{Any}"><code>MPI.API.MPI_Win_free</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_free_keyval-Tuple{Any}"><code>MPI.API.MPI_Win_free_keyval</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_get_attr-NTuple{4, Any}"><code>MPI.API.MPI_Win_get_attr</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_get_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Win_get_errhandler</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_get_group-Tuple{Any, Any}"><code>MPI.API.MPI_Win_get_group</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_get_info-Tuple{Any, Any}"><code>MPI.API.MPI_Win_get_info</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_get_name-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Win_get_name</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_lock-NTuple{4, Any}"><code>MPI.API.MPI_Win_lock</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_lock_all-Tuple{Any, Any}"><code>MPI.API.MPI_Win_lock_all</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_post-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Win_post</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_set_attr-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Win_set_attr</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_set_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Win_set_errhandler</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_set_info-Tuple{Any, Any}"><code>MPI.API.MPI_Win_set_info</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_set_name-Tuple{Any, Any}"><code>MPI.API.MPI_Win_set_name</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_shared_query-NTuple{5, Any}"><code>MPI.API.MPI_Win_shared_query</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_shared_query_c-NTuple{5, Any}"><code>MPI.API.MPI_Win_shared_query_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_start-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Win_start</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_sync-Tuple{Any}"><code>MPI.API.MPI_Win_sync</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_test-Tuple{Any, Any}"><code>MPI.API.MPI_Win_test</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_unlock-Tuple{Any, Any}"><code>MPI.API.MPI_Win_unlock</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_unlock_all-Tuple{Any}"><code>MPI.API.MPI_Win_unlock_all</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_wait-Tuple{Any}"><code>MPI.API.MPI_Win_wait</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Wtick-Tuple{}"><code>MPI.API.MPI_Wtick</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Wtime-Tuple{}"><code>MPI.API.MPI_Wtime</code></a></li><li><a href="../reference/environment/#MPI.Abort"><code>MPI.Abort</code></a></li><li><a href="../reference/onesided/#MPI.Accumulate!"><code>MPI.Accumulate!</code></a></li><li><a href="../reference/collective/#MPI.Allgather"><code>MPI.Allgather</code></a></li><li><a href="../reference/collective/#MPI.Allgather!"><code>MPI.Allgather!</code></a></li><li><a href="../reference/collective/#MPI.Allgatherv!"><code>MPI.Allgatherv!</code></a></li><li><a href="../reference/collective/#MPI.Allreduce"><code>MPI.Allreduce</code></a></li><li><a href="../reference/collective/#MPI.Allreduce!"><code>MPI.Allreduce!</code></a></li><li><a href="../reference/collective/#MPI.Alltoall"><code>MPI.Alltoall</code></a></li><li><a href="../reference/collective/#MPI.Alltoall!"><code>MPI.Alltoall!</code></a></li><li><a href="../reference/collective/#MPI.Alltoallv!"><code>MPI.Alltoallv!</code></a></li><li><a href="../reference/collective/#MPI.Barrier"><code>MPI.Barrier</code></a></li><li><a href="../reference/collective/#MPI.Bcast"><code>MPI.Bcast</code></a></li><li><a href="../reference/collective/#MPI.Bcast!"><code>MPI.Bcast!</code></a></li><li><a href="../reference/buffers/#MPI.Buffer_send"><code>MPI.Buffer_send</code></a></li><li><a href="../reference/pointtopoint/#MPI.Cancel!"><code>MPI.Cancel!</code></a></li><li><a href="../reference/topology/#MPI.Cart_coords"><code>MPI.Cart_coords</code></a></li><li><a href="../reference/topology/#MPI.Cart_create"><code>MPI.Cart_create</code></a></li><li><a href="../reference/topology/#MPI.Cart_get"><code>MPI.Cart_get</code></a></li><li><a href="../reference/topology/#MPI.Cart_rank"><code>MPI.Cart_rank</code></a></li><li><a href="../reference/topology/#MPI.Cart_shift"><code>MPI.Cart_shift</code></a></li><li><a href="../reference/topology/#MPI.Cart_sub"><code>MPI.Cart_sub</code></a></li><li><a href="../reference/topology/#MPI.Cartdim_get"><code>MPI.Cartdim_get</code></a></li><li><a href="../reference/comm/#MPI.Comm_compare"><code>MPI.Comm_compare</code></a></li><li><a href="../reference/comm/#MPI.Comm_create"><code>MPI.Comm_create</code></a></li><li><a href="../reference/comm/#MPI.Comm_create_group"><code>MPI.Comm_create_group</code></a></li><li><a href="../reference/comm/#MPI.Comm_dup"><code>MPI.Comm_dup</code></a></li><li><a href="../reference/comm/#MPI.Comm_get_parent"><code>MPI.Comm_get_parent</code></a></li><li><a href="../reference/comm/#MPI.Comm_group"><code>MPI.Comm_group</code></a></li><li><a href="../reference/comm/#MPI.Comm_rank"><code>MPI.Comm_rank</code></a></li><li><a href="../reference/comm/#MPI.Comm_remote_group"><code>MPI.Comm_remote_group</code></a></li><li><a href="../reference/comm/#MPI.Comm_size"><code>MPI.Comm_size</code></a></li><li><a href="../reference/comm/#MPI.Comm_spawn"><code>MPI.Comm_spawn</code></a></li><li><a href="../reference/comm/#MPI.Comm_split"><code>MPI.Comm_split</code></a></li><li><a href="../reference/comm/#MPI.Comm_split_type"><code>MPI.Comm_split_type</code></a></li><li><a href="../reference/topology/#MPI.Dims_create"><code>MPI.Dims_create</code></a></li><li><a href="../reference/topology/#MPI.Dist_graph_create"><code>MPI.Dist_graph_create</code></a></li><li><a href="../reference/topology/#MPI.Dist_graph_create_adjacent"><code>MPI.Dist_graph_create_adjacent</code></a></li><li><a href="../reference/topology/#MPI.Dist_graph_neighbors!"><code>MPI.Dist_graph_neighbors!</code></a></li><li><a href="../reference/topology/#MPI.Dist_graph_neighbors_count"><code>MPI.Dist_graph_neighbors_count</code></a></li><li><a href="../reference/collective/#MPI.Exscan"><code>MPI.Exscan</code></a></li><li><a href="../reference/collective/#MPI.Exscan!"><code>MPI.Exscan!</code></a></li><li><a href="../reference/io/#MPI.File.get_atomicity"><code>MPI.File.get_atomicity</code></a></li><li><a href="../reference/io/#MPI.File.get_byte_offset"><code>MPI.File.get_byte_offset</code></a></li><li><a href="../reference/io/#MPI.File.get_position_shared"><code>MPI.File.get_position_shared</code></a></li><li><a href="../reference/io/#MPI.File.open"><code>MPI.File.open</code></a></li><li><a href="../reference/io/#MPI.File.read!"><code>MPI.File.read!</code></a></li><li><a href="../reference/io/#MPI.File.read_all!"><code>MPI.File.read_all!</code></a></li><li><a href="../reference/io/#MPI.File.read_at!"><code>MPI.File.read_at!</code></a></li><li><a href="../reference/io/#MPI.File.read_at_all!"><code>MPI.File.read_at_all!</code></a></li><li><a href="../reference/io/#MPI.File.read_ordered!"><code>MPI.File.read_ordered!</code></a></li><li><a href="../reference/io/#MPI.File.read_shared!"><code>MPI.File.read_shared!</code></a></li><li><a href="../reference/io/#MPI.File.seek_shared"><code>MPI.File.seek_shared</code></a></li><li><a href="../reference/io/#MPI.File.set_atomicity"><code>MPI.File.set_atomicity</code></a></li><li><a href="../reference/io/#MPI.File.set_view!"><code>MPI.File.set_view!</code></a></li><li><a href="../reference/io/#MPI.File.sync"><code>MPI.File.sync</code></a></li><li><a href="../reference/io/#MPI.File.write"><code>MPI.File.write</code></a></li><li><a href="../reference/io/#MPI.File.write_all"><code>MPI.File.write_all</code></a></li><li><a href="../reference/io/#MPI.File.write_at"><code>MPI.File.write_at</code></a></li><li><a href="../reference/io/#MPI.File.write_at_all"><code>MPI.File.write_at_all</code></a></li><li><a href="../reference/io/#MPI.File.write_ordered"><code>MPI.File.write_ordered</code></a></li><li><a href="../reference/io/#MPI.File.write_shared"><code>MPI.File.write_shared</code></a></li><li><a href="../reference/environment/#MPI.Finalize"><code>MPI.Finalize</code></a></li><li><a href="../reference/environment/#MPI.Finalized"><code>MPI.Finalized</code></a></li><li><a href="../reference/collective/#MPI.Gather"><code>MPI.Gather</code></a></li><li><a href="../reference/collective/#MPI.Gather!"><code>MPI.Gather!</code></a></li><li><a href="../reference/collective/#MPI.Gatherv!"><code>MPI.Gatherv!</code></a></li><li><a href="../reference/onesided/#MPI.Get!"><code>MPI.Get!</code></a></li><li><a href="../reference/onesided/#MPI.Get_accumulate!"><code>MPI.Get_accumulate!</code></a></li><li><a href="../reference/pointtopoint/#MPI.Get_count"><code>MPI.Get_count</code></a></li><li><a href="../reference/misc/#MPI.Get_processor_name"><code>MPI.Get_processor_name</code></a></li><li><a href="../reference/group/#MPI.Group_rank"><code>MPI.Group_rank</code></a></li><li><a href="../reference/group/#MPI.Group_size"><code>MPI.Group_size</code></a></li><li><a href="../reference/collective/#MPI.Ibarrier"><code>MPI.Ibarrier</code></a></li><li><a href="../reference/pointtopoint/#MPI.Improbe"><code>MPI.Improbe</code></a></li><li><a href="../reference/pointtopoint/#MPI.Imrecv!"><code>MPI.Imrecv!</code></a></li><li><a href="../reference/environment/#MPI.Init"><code>MPI.Init</code></a></li><li><a href="../reference/environment/#MPI.Initialized"><code>MPI.Initialized</code></a></li><li><a href="../reference/comm/#MPI.Intercomm_merge"><code>MPI.Intercomm_merge</code></a></li><li><a href="../reference/pointtopoint/#MPI.Iprobe"><code>MPI.Iprobe</code></a></li><li><a href="../reference/pointtopoint/#MPI.Irecv!"><code>MPI.Irecv!</code></a></li><li><a href="../reference/environment/#MPI.Is_thread_main"><code>MPI.Is_thread_main</code></a></li><li><a href="../reference/pointtopoint/#MPI.Isend"><code>MPI.Isend</code></a></li><li><a href="../reference/pointtopoint/#MPI.Mprobe"><code>MPI.Mprobe</code></a></li><li><a href="../reference/pointtopoint/#MPI.Mrecv!"><code>MPI.Mrecv!</code></a></li><li><a href="../reference/collective/#MPI.Neighbor_allgather!"><code>MPI.Neighbor_allgather!</code></a></li><li><a href="../reference/collective/#MPI.Neighbor_allgatherv!"><code>MPI.Neighbor_allgatherv!</code></a></li><li><a href="../reference/collective/#MPI.Neighbor_alltoall!"><code>MPI.Neighbor_alltoall!</code></a></li><li><a href="../reference/collective/#MPI.Neighbor_alltoallv!"><code>MPI.Neighbor_alltoallv!</code></a></li><li><a href="../reference/pointtopoint/#MPI.Probe"><code>MPI.Probe</code></a></li><li><a href="../reference/onesided/#MPI.Put!"><code>MPI.Put!</code></a></li><li><a href="../reference/environment/#MPI.Query_thread"><code>MPI.Query_thread</code></a></li><li><a href="../reference/pointtopoint/#MPI.Recv"><code>MPI.Recv</code></a></li><li><a href="../reference/pointtopoint/#MPI.Recv!"><code>MPI.Recv!</code></a></li><li><a href="../reference/pointtopoint/#MPI.Recv_init"><code>MPI.Recv_init</code></a></li><li><a href="../reference/collective/#MPI.Reduce"><code>MPI.Reduce</code></a></li><li><a href="../reference/collective/#MPI.Reduce!"><code>MPI.Reduce!</code></a></li><li><a href="../reference/collective/#MPI.Scan"><code>MPI.Scan</code></a></li><li><a href="../reference/collective/#MPI.Scan!"><code>MPI.Scan!</code></a></li><li><a href="../reference/collective/#MPI.Scatter"><code>MPI.Scatter</code></a></li><li><a href="../reference/collective/#MPI.Scatter!"><code>MPI.Scatter!</code></a></li><li><a href="../reference/collective/#MPI.Scatterv!"><code>MPI.Scatterv!</code></a></li><li><a href="../reference/pointtopoint/#MPI.Send"><code>MPI.Send</code></a></li><li><a href="../reference/pointtopoint/#MPI.Send_init"><code>MPI.Send_init</code></a></li><li><a href="../reference/pointtopoint/#MPI.Sendrecv!"><code>MPI.Sendrecv!</code></a></li><li><a href="../reference/pointtopoint/#MPI.Start"><code>MPI.Start</code></a></li><li><a href="../reference/pointtopoint/#MPI.Startall"><code>MPI.Startall</code></a></li><li><a href="../reference/pointtopoint/#MPI.Test"><code>MPI.Test</code></a></li><li><a href="../reference/pointtopoint/#MPI.Testall"><code>MPI.Testall</code></a></li><li><a href="../reference/pointtopoint/#MPI.Testany"><code>MPI.Testany</code></a></li><li><a href="../reference/pointtopoint/#MPI.Testsome"><code>MPI.Testsome</code></a></li><li><a href="../reference/advanced/#MPI.Types.commit!"><code>MPI.Types.commit!</code></a></li><li><a href="../reference/advanced/#MPI.Types.create_contiguous"><code>MPI.Types.create_contiguous</code></a></li><li><a href="../reference/advanced/#MPI.Types.create_hvector"><code>MPI.Types.create_hvector</code></a></li><li><a href="../reference/advanced/#MPI.Types.create_resized"><code>MPI.Types.create_resized</code></a></li><li><a href="../reference/advanced/#MPI.Types.create_struct"><code>MPI.Types.create_struct</code></a></li><li><a href="../reference/advanced/#MPI.Types.create_subarray"><code>MPI.Types.create_subarray</code></a></li><li><a href="../reference/advanced/#MPI.Types.create_vector"><code>MPI.Types.create_vector</code></a></li><li><a href="../reference/advanced/#MPI.Types.duplicate"><code>MPI.Types.duplicate</code></a></li><li><a href="../reference/advanced/#MPI.Types.extent"><code>MPI.Types.extent</code></a></li><li><a href="../reference/pointtopoint/#MPI.Wait"><code>MPI.Wait</code></a></li><li><a href="../reference/pointtopoint/#MPI.Waitall"><code>MPI.Waitall</code></a></li><li><a href="../reference/pointtopoint/#MPI.Waitany"><code>MPI.Waitany</code></a></li><li><a href="../reference/pointtopoint/#MPI.Waitsome"><code>MPI.Waitsome</code></a></li><li><a href="../reference/onesided/#MPI.Win_allocate_shared"><code>MPI.Win_allocate_shared</code></a></li><li><a href="../reference/onesided/#MPI.Win_create"><code>MPI.Win_create</code></a></li><li><a href="../reference/onesided/#MPI.Win_create_dynamic"><code>MPI.Win_create_dynamic</code></a></li><li><a href="../reference/onesided/#MPI.Win_flush"><code>MPI.Win_flush</code></a></li><li><a href="../reference/onesided/#MPI.Win_lock"><code>MPI.Win_lock</code></a></li><li><a href="../reference/onesided/#MPI.Win_shared_query"><code>MPI.Win_shared_query</code></a></li><li><a href="../reference/onesided/#MPI.Win_unlock"><code>MPI.Win_unlock</code></a></li><li><a href="../reference/collective/#MPI.bcast"><code>MPI.bcast</code></a></li><li><a href="../reference/advanced/#MPI.free"><code>MPI.free</code></a></li><li><a href="../reference/advanced/#MPI.get_errorhandler"><code>MPI.get_errorhandler</code></a></li><li><a href="../reference/library/#MPI.has_cuda"><code>MPI.has_cuda</code></a></li><li><a href="../reference/library/#MPI.identify_implementation"><code>MPI.identify_implementation</code></a></li><li><a href="../reference/advanced/#MPI.infoval"><code>MPI.infoval</code></a></li><li><a href="../reference/environment/#MPI.install_mpiexecjl"><code>MPI.install_mpiexecjl</code></a></li><li><a href="../reference/pointtopoint/#MPI.isend"><code>MPI.isend</code></a></li><li><a href="../reference/pointtopoint/#MPI.isnull"><code>MPI.isnull</code></a></li><li><a href="../reference/pointtopoint/#MPI.recv"><code>MPI.recv</code></a></li><li><a href="../reference/pointtopoint/#MPI.send"><code>MPI.send</code></a></li><li><a href="../reference/advanced/#MPI.set_errorhandler!"><code>MPI.set_errorhandler!</code></a></li><li><a href="../reference/comm/#MPI.tag_ub"><code>MPI.tag_ub</code></a></li><li><a href="../reference/advanced/#MPI.to_type"><code>MPI.to_type</code></a></li><li><a href="../reference/comm/#MPI.universe_size"><code>MPI.universe_size</code></a></li><li><a href="../reference/environment/#MPICH_jll.mpiexec"><code>MPICH_jll.mpiexec</code></a></li><li><a href="../reference/mpipreferences/#MPIPreferences.check_unchanged"><code>MPIPreferences.check_unchanged</code></a></li><li><a href="../reference/mpipreferences/#MPIPreferences.identify_abi"><code>MPIPreferences.identify_abi</code></a></li><li><a href="../reference/mpipreferences/#MPIPreferences.use_jll_binary"><code>MPIPreferences.use_jll_binary</code></a></li><li><a href="../reference/mpipreferences/#MPIPreferences.use_system_binary"><code>MPIPreferences.use_system_binary</code></a></li><li><a href="../reference/advanced/#MPI.API.@const_ref"><code>MPI.API.@const_ref</code></a></li></ul></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../reference/api/">« Low-level API</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 1 January 2023 03:50">Sunday 1 January 2023</span>. Using Julia version 1.8.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR626/search/index.html b/previews/PR626/search/index.html
deleted file mode 100644
index bc5a4b59c..000000000
--- a/previews/PR626/search/index.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Search · MPI.jl</title><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../"><img src="../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../">MPI.jl</a></span></div><form class="docs-search" action><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../">MPI.jl</a></li><li><a class="tocitem" href="../configuration/">Configuration</a></li><li><a class="tocitem" href="../usage/">Usage</a></li><li><a class="tocitem" href="../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../reference/library/">Library information</a></li><li><a class="tocitem" href="../reference/environment/">Environment</a></li><li><a class="tocitem" href="../reference/misc/">Miscellanea</a></li><li><a class="tocitem" href="../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../reference/topology/">Topology</a></li><li><a class="tocitem" href="../reference/io/">I/O</a></li><li><a class="tocitem" href="../reference/advanced/">Advanced</a></li><li><a class="tocitem" href="../reference/api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>Search</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Search</a></li></ul></nav><div class="docs-right"><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article><p id="documenter-search-info">Loading search...</p><ul id="documenter-search-results"></ul></article><nav class="docs-footer"><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 1 January 2023 03:50">Sunday 1 January 2023</span>. Using Julia version 1.8.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body><script src="../search_index.js"></script><script src="../assets/search.js"></script></html>
diff --git a/previews/PR626/search_index.js b/previews/PR626/search_index.js
deleted file mode 100644
index d0f046f8c..000000000
--- a/previews/PR626/search_index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-var documenterSearchIndex = {"docs":
-[{"location":"examples/07-rma_active/","page":"Active RMA","title":"Active RMA","text":"EditURL = \"https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/07-rma_active.jl\"","category":"page"},{"location":"examples/07-rma_active/#Active-RMA","page":"Active RMA","title":"Active RMA","text":"","category":"section"},{"location":"examples/07-rma_active/","page":"Active RMA","title":"Active RMA","text":"# examples/07-rma_active.jl\n# This example demonstrates one-sided communication,\n# specifically activate Remote Memory Access (RMA)\n\nusing MPI\n\nMPI.Init()\nconst world_sz = MPI.Comm_size(MPI.COMM_WORLD)\nconst rank = MPI.Comm_rank(MPI.COMM_WORLD)\n\n# allocate memory\nall_ranks = fill(-1, world_sz)\n# create RMA window on all ranks\nwin = MPI.Win_create(all_ranks, MPI.COMM_WORLD)\n\n#### first, let's MPI.Put on all ranks\n\n# start the communication epoch\nMPI.Win_fence(0, win)\n# each rank writes to exposed windows of rank 0\n# Signature: obj, target_rank, target_displacement, window\nMPI.Put(rank, 0, rank, win)\n# finish the communication epoch\nMPI.Win_fence(0, win)\n# print window content on all ranks\nfor j in 0:world_sz-1\n    if rank == j\n        println(\"After Put, Rank $rank:\")\n        @show all_ranks\n    end\n    MPI.Barrier(MPI.COMM_WORLD)\nend\nrank == 0 && println()\n\n#### now, let's MPI.Get on all ranks\n\n# start the communication epoch\nMPI.Win_fence(0, win)\n# each rank reads from exposed windows of rank 0\nMPI.Get(all_ranks, 0, win)\n# finish the communication epoch\nMPI.Win_fence(0, win)\n# print window content on all ranks\nfor j in 0:world_sz-1\n    if rank == j\n        println(\"After Get, Rank $rank:\")\n        @show all_ranks\n    end\n    MPI.Barrier(MPI.COMM_WORLD)\nend\n\n# free window\nMPI.free(win)","category":"page"},{"location":"examples/07-rma_active/","page":"Active RMA","title":"Active RMA","text":"> mpiexecjl -n 4 julia examples/07-rma_active.jl\nAfter Put, Rank 0:\nall_ranks = [0, 1, 2, 3]\nAfter Put, Rank 1:\nall_ranks = [-1, -1, -1, -1]\nAfter Put, Rank 2:\nall_ranks = [-1, -1, -1, -1]\nAfter Put, Rank 3:\nall_ranks = [-1, -1, -1, -1]\n\nAfter Get, Rank 0:\nall_ranks = [0, 1, 2, 3]\nAfter Get, Rank 1:\nall_ranks = [0, 1, 2, 3]\nAfter Get, Rank 2:\nall_ranks = [0, 1, 2, 3]\nAfter Get, Rank 3:\nall_ranks = [0, 1, 2, 3]","category":"page"},{"location":"examples/08-rma_passive/","page":"Passive RMA","title":"Passive RMA","text":"EditURL = \"https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/08-rma_passive.jl\"","category":"page"},{"location":"examples/08-rma_passive/#Passive-RMA","page":"Passive RMA","title":"Passive RMA","text":"","category":"section"},{"location":"examples/08-rma_passive/","page":"Passive RMA","title":"Passive RMA","text":"# examples/08-rma_passive.jl\n# This example demonstrates one-sided communication,\n# specifically passive Remote Memory Access (RMA)\n\nusing MPI\n\nMPI.Init()\nconst world_sz = MPI.Comm_size(MPI.COMM_WORLD)\nconst rank = MPI.Comm_rank(MPI.COMM_WORLD)\n\n# allocate memory\nall_ranks = fill(-1, world_sz)\n# create RMA window on all ranks\nwin = MPI.Win_create(all_ranks, MPI.COMM_WORLD)\n\n# let each rank write its rank number into window\nif rank != 0\n    # lock window (MPI.LOCK_SHARED works as well)\n    MPI.Win_lock(MPI.LOCK_EXCLUSIVE, 0, 0, win)\n    # each rank writes to exposed windows of rank 0\n    # Signature: obj, target_rank, target_displacement, window\n    MPI.Put(rank, 0, rank, win)\n    # finish the communication epoch\n    MPI.Win_unlock(0, win)\nelse\n    all_ranks[1] = 0\nend\n\n# wait with printing\nMPI.Win_fence(0, win)\n\n# print window content on all ranks\nif rank == 0\n    println(\"After Put with lock / unlock, window content on rank 0:\")\n    @show all_ranks\nend\n\n# free window\nMPI.free(win)","category":"page"},{"location":"examples/08-rma_passive/","page":"Passive RMA","title":"Passive RMA","text":"> mpiexecjl -n 4 julia examples/08-rma_passive.jl\nAfter Put with lock / unlock, window content on rank 0:\nall_ranks = [0, 1, 2, 3]","category":"page"},{"location":"examples/04-sendrecv/","page":"Send/receive","title":"Send/receive","text":"EditURL = \"https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/04-sendrecv.jl\"","category":"page"},{"location":"examples/04-sendrecv/#Send/receive","page":"Send/receive","title":"Send/receive","text":"","category":"section"},{"location":"examples/04-sendrecv/","page":"Send/receive","title":"Send/receive","text":"# examples/04-sendrecv.jl\nusing MPI\nMPI.Init()\n\ncomm = MPI.COMM_WORLD\nrank = MPI.Comm_rank(comm)\nsize = MPI.Comm_size(comm)\n\ndst = mod(rank+1, size)\nsrc = mod(rank-1, size)\n\nN = 4\n\nsend_mesg = Array{Float64}(undef, N)\nrecv_mesg = Array{Float64}(undef, N)\n\nfill!(send_mesg, Float64(rank))\n\nrreq = MPI.Irecv!(recv_mesg, comm; source=src, tag=src+32)\n\nprint(\"$rank: Sending   $rank -> $dst = $send_mesg\\n\")\nsreq = MPI.Isend(send_mesg, comm; dest=dst, tag=rank+32)\n\nstats = MPI.Waitall([rreq, sreq])\n\nprint(\"$rank: Received $src -> $rank = $recv_mesg\\n\")\n\nMPI.Barrier(comm)","category":"page"},{"location":"examples/04-sendrecv/","page":"Send/receive","title":"Send/receive","text":"> mpiexecjl -n 4 julia examples/04-sendrecv.jl\n2: Sending   2 -> 3 = [2.0, 2.0, 2.0, 2.0]\n0: Sending   0 -> 1 = [0.0, 0.0, 0.0, 0.0]\n1: Sending   1 -> 2 = [1.0, 1.0, 1.0, 1.0]\n3: Sending   3 -> 0 = [3.0, 3.0, 3.0, 3.0]\n2: Received 1 -> 2 = [1.0, 1.0, 1.0, 1.0]\n1: Received 0 -> 1 = [0.0, 0.0, 0.0, 0.0]\n0: Received 3 -> 0 = [3.0, 3.0, 3.0, 3.0]\n3: Received 2 -> 3 = [2.0, 2.0, 2.0, 2.0]","category":"page"},{"location":"examples/09-graph_communication/","page":"Graph Communication","title":"Graph Communication","text":"EditURL = \"https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/09-graph_communication.jl\"","category":"page"},{"location":"examples/09-graph_communication/#Graph-Communication","page":"Graph Communication","title":"Graph Communication","text":"","category":"section"},{"location":"examples/09-graph_communication/","page":"Graph Communication","title":"Graph Communication","text":"# examples/09-graph_communication.jl\nusing Test\nusing MPI\n\nMPI.Init()\n\ncomm = MPI.COMM_WORLD\nsize = MPI.Comm_size(comm)\nrank = MPI.Comm_rank(comm)\n\n#\n# Setup the following communication graph\n#\n#   +-----+\n#   |     |\n#   v     v\n#   0<-+  3\n#   ^  |  ^\n#   |  |  |\n#   v  |  v\n#   1  +--2\n#   ^     |\n#   |     |\n#   +-----+\n#\n#\n\nif rank == 0\n    dest   = Cint[1,3]\n    degree = Cint[length(dest)]\nelseif rank == 1\n    dest   = Cint[0]\n    degree = Cint[length(dest)]\nelseif rank == 2\n    dest   = Cint[3,0,1]\n    degree = Cint[length(dest)]\nelseif rank == 3\n    dest   = Cint[0,2,1]\n    degree = Cint[length(dest)]\nend\n\nsource = Cint[rank]\ngraph_comm = MPI.Dist_graph_create(comm, source, degree, dest)\n\n#\n# Now send the rank across the edges.\n#\n# Version 1: use allgather primitive\n#\n\nsend = [rank]\nif rank == 0\n    recv = [-1, -1, -1]\nelseif rank == 1\n    recv = [-1, -1, -1]\nelseif rank == 2\n    recv = [-1]\nelseif rank == 3\n    recv = [-1, -1]\nend\n\nMPI.Neighbor_allgather!(send, recv, graph_comm);\n\nprintln(\"rank = $(rank): $(recv)\")\n\n#\n# Version 2: use alltoall primitive\n#\n\nif rank == 0\n    send   = [rank, rank]\n    recv   = [-1, -1, -1]\nelseif rank == 1\n    send = [rank]\n    recv   = [-1, -1, -1]\nelseif rank == 2\n    send = [rank, rank, rank]\n    recv   = [-1]\nelseif rank == 3\n    send = [rank, rank, rank]\n    recv   = [-1, -1]\nend\n\nMPI.Neighbor_alltoall!(UBuffer(send,1), UBuffer(recv,1), graph_comm);\n\nprintln(\"rank = $(rank): $(recv)\")\n\n#\n# Now send the rank exactly rank times across the edges.\n#\n# Rank i receives i+1 values from each adjacent process\nif rank == 0\n    send       = [rank, rank,\n                  rank, rank, rank, rank]\n    send_count = [2, 4]\n\n    recv   = [-1, -1, -1]\n    recv_count = [1, 1, 1]\nelseif rank == 1\n    send       = [rank]\n    send_count = [1]\n\n    recv       = [-1, -1, -1, -1, -1, -1]\n    recv_count = [2, 2, 2]\nelseif rank == 2\n    send       = [rank, rank, rank, rank,\n                  rank,\n                  rank,rank]\n    send_count = [4, 1, 2]\n\n    recv       = [-1, -1, -1]\n    recv_count = [3]\nelseif rank == 3\n    send       = [rank, \n                  rank, rank,rank,\n                  rank, rank]\n    send_count = [1, 3, 2]\n\n    recv       = [-1, -1, -1, -1, -1, -1, -1, -1]\n    recv_count = [4, 4]\nend\n\nMPI.Neighbor_alltoallv!(VBuffer(send,send_count), VBuffer(recv,recv_count), graph_comm);\nprintln(\"rank = $(rank): $(recv)\")\n\nMPI.Finalize()","category":"page"},{"location":"examples/09-graph_communication/","page":"Graph Communication","title":"Graph Communication","text":"> mpiexecjl -n 4 julia examples/09-graph_communication.jl\nrank = 2: [3]\nrank = 1: [3, 0, 2]rank = 3: [0, 2]\n\nrank = 0: [3, 1, 2]\nrank = 2: [3]\nrank = 0: [3, 1, 2]rank = 3: [0, 2]\nrank = 1: [3, 0, 2]\n\nrank = 0: [3, 1, 2]rank = 3: [0, 0, 0, 0, 2, 2, 2, 2]\nrank = 1: [3, 3, 0, 0, 2, 2]\n\nrank = 2: [3, 3, 3]","category":"page"},{"location":"knownissues/#Known-issues","page":"Known issues","title":"Known issues","text":"","category":"section"},{"location":"knownissues/#Julia-module-precompilation","page":"Known issues","title":"Julia module precompilation","text":"","category":"section"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"If multiple MPI ranks trigger Julia's module precompilation, then a race condition can result in an error such as:","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"ERROR: LoadError: IOError: mkdir: file already exists (EEXIST)\nStacktrace:\n [1] uv_error at ./libuv.jl:97 [inlined]\n [2] mkdir(::String; mode::UInt16) at ./file.jl:177\n [3] mkpath(::String; mode::UInt16) at ./file.jl:227\n [4] mkpath at ./file.jl:222 [inlined]\n [5] compilecache_path(::Base.PkgId) at ./loading.jl:1210\n [6] compilecache(::Base.PkgId, ::String) at ./loading.jl:1240\n [7] _require(::Base.PkgId) at ./loading.jl:1029\n [8] require(::Base.PkgId) at ./loading.jl:927\n [9] require(::Module, ::Symbol) at ./loading.jl:922\n [10] include(::Module, ::String) at ./Base.jl:377\n [11] exec_options(::Base.JLOptions) at ./client.jl:288\n [12] _start() at ./client.jl:484","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"See julia issue #30174 for more discussion of this problem. There are similar issues with Pkg operations, see Pkg issue #1219.","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"This can be worked around be either:","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"Triggering precompilation before launching MPI processes, for example:\njulia --project -e 'using Pkg; pkg\"instantiate\"'\njulia --project -e 'using Pkg; pkg\"precompile\"'\nmpiexec julia --project script.jl\nLaunching julia with the  --compiled-modules=no option. This can result in much longer package load times.","category":"page"},{"location":"knownissues/#Open-MPI","page":"Known issues","title":"Open MPI","text":"","category":"section"},{"location":"knownissues/#Segmentation-fault-when-loading-the-library","page":"Known issues","title":"Segmentation fault when loading the library","text":"","category":"section"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"When attempting to use a system-provided Open MPI implementation, you may encounter a segmentation fault upon loading the library, or whenever the value of an environment variable is requested. This can be fixed by setting the environment variable ZES_ENABLE_SYSMAN=1. See Open MPI issue #10142 for more details.","category":"page"},{"location":"knownissues/#Segmentation-fault-in-HCOLL","page":"Known issues","title":"Segmentation fault in HCOLL","text":"","category":"section"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"If Open MPI was built with support for HCOLL, you may encounter a segmentation fault in certain operations involving custom datatypes. The stacktrace may look something like","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"hcoll_create_mpi_type at /opt/mellanox/hcoll/lib/libhcoll.so.1 (unknown line)\nompi_dtype_2_hcoll_dtype at /lustre/software/openmpi/llvm14/4.1.4/lib/openmpi/mca_coll_hcoll.so (unknown line)\nmca_coll_hcoll_allgather at /lustre/software/openmpi/llvm14/4.1.4/lib/openmpi/mca_coll_hcoll.so (unknown line)\nMPI_Allgather at /lustre/software/openmpi/llvm14/4.1.4/lib/libmpi.so (unknown line)","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"This is due to a bug in HCOLL, see Open MPI issue #11201 for more details. You can disable HCOLL by exporting the environment variable","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"export OMPI_MCA_coll_hcoll_enable=\"0\"","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"before starting the MPI process.","category":"page"},{"location":"knownissues/#UCX","page":"Known issues","title":"UCX","text":"","category":"section"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"UCX is a communication framework used by several MPI implementations.","category":"page"},{"location":"knownissues/#Memory-cache","page":"Known issues","title":"Memory cache","text":"","category":"section"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"When used with CUDA, UCX intercepts cudaMalloc so it can determine whether the pointer passed to MPI is on the host (main memory) or the device (GPU). Unfortunately, there are several known issues with how this works with Julia:","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"UCX issue #5061\nUCX issue #4001 (fixed in UCX v1.7.0)","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"By default, MPI.jl disables this by setting","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"ENV[\"UCX_MEMTYPE_CACHE\"] = \"no\"","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"at __init__ which may result in reduced performance, especially for smaller messages.","category":"page"},{"location":"knownissues/#Multi-threading-and-signal-handling","page":"Known issues","title":"Multi-threading and signal handling","text":"","category":"section"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"When using Julia multi-threading, the Julia garbage collector internally uses SIGSEGV to synchronize threads.","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"By default, UCX will error if this signal is raised (#337), resulting in a message such as:","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"Caught signal 11 (Segmentation fault: invalid permissions for mapped object at address 0xXXXXXXXX)","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"This signal interception can be controlled by setting the environment variable UCX_ERROR_SIGNALS: if not already defined, MPI.jl will set it as:","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"ENV[\"UCX_ERROR_SIGNALS\"] = \"SIGILL,SIGBUS,SIGFPE\"","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"at __init__. If set externally, it should be modified to exclude SIGSEGV from the list.","category":"page"},{"location":"knownissues/#CUDA-aware-MPI","page":"Known issues","title":"CUDA-aware MPI","text":"","category":"section"},{"location":"knownissues/#Memory-pool","page":"Known issues","title":"Memory pool","text":"","category":"section"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"Using CUDA-aware MPI on multi-GPU nodes with recent CUDA.jl may trigger (see here)","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"The call to cuIpcGetMemHandle failed. This means the GPU RDMA protocol\ncannot be used.\n  cuIpcGetMemHandle return value:   1","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"in the MPI layer, or fail on a segmentation fault (see here) with","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"[1642930332.032032] [gcn19:4087661:0] gdr_copy_md.c:122 UCX ERROR gdr_pin_buffer failed. length :65536 ret:22","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"This is due to the MPI implementation using legacy cuIpc* APIs, which are incompatible with stream-ordered allocator, now default in CUDA.jl, see UCX issue #7110.","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"To circumvent this, one has to ensure the CUDA memory pool to be set to none:","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"export JULIA_CUDA_MEMORY_POOL=none","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"More about CUDA.jl memory environment-variables.","category":"page"},{"location":"knownissues/#Hints-to-ensure-CUDA-aware-MPI-to-be-functional","page":"Known issues","title":"Hints to ensure CUDA-aware MPI to be functional","text":"","category":"section"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"Make sure to:","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"Have MPI and CUDA on path (or module loaded) that were used to build the CUDA-aware MPI\nSet the following environment variables:   export JULIA_CUDA_MEMORY_POOL=none   export JULIA_CUDA_USE_BINARYBUILDER=false\nAdd CUDA, MPIPreferences, and MPI packages in Julia. Switch to using the system binary\njulia --project -e 'using Pkg; Pkg.add([\"CUDA\", \"MPIPreferences\", \"MPI\"]); using MPIPreferences; MPIPreferences.use_system_binary()'\nThen in Julia, upon loading MPI and CUDA modules, you can check\nCUDA version: CUDA.versioninfo()\nIf MPI has CUDA: MPI.has_cuda()\nIf you are using correct MPI library: MPI.libmpi","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"After that, it may be preferred to run the Julia MPI script (as suggested here) launching it from a shell script (as suggested here).","category":"page"},{"location":"knownissues/#ROCm-aware-MPI","page":"Known issues","title":"ROCm-aware MPI","text":"","category":"section"},{"location":"knownissues/#Hints-to-ensure-ROCm-aware-MPI-to-be-functional","page":"Known issues","title":"Hints to ensure ROCm-aware MPI to be functional","text":"","category":"section"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"Make sure to:","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"Have MPI and ROCm on path (or module loaded) that were used to build the ROCm-aware MPI\nAdd AMDGPU, MPIPreferences, and MPI packages in Julia:\njulia --project -e 'using Pkg; Pkg.add([\"AMDGPU\", \"MPIPreferences\", \"MPI\"]); using MPIPreferences; MPIPreferences.use_system_binary()'\nThen in Julia, upon loading MPI and CUDA modules, you can check\nAMDGPU version: AMDGPU.versioninfo()\nIf you are using correct MPI implementation: MPI.identify_implementation()","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"After that, this script can be used to verify if ROCm-aware MPI is functional (modified after the CUDA-aware version from here). It may be preferred to run the Julia ROCm-aware MPI script launching it from a shell script (as suggested here).","category":"page"},{"location":"knownissues/#Custom-reduction-operators","page":"Known issues","title":"Custom reduction operators","text":"","category":"section"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"It is not possible to use custom reduction operators with 32-bit Microsoft MPI on Windows and on ARM CPUs with any operating system. These issues are due to due how custom operators are currently implemented in MPI.jl, that is by using closure cfunctions. However they have two limitations:","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"Julia's C-compatible function pointers cannot be used where the stdcall calling convention is expected, which is the case for 32-bit Microsoft MPI,\nclosure cfunctions in Julia are based on LLVM trampolines, which are not supported on ARM architecture.","category":"page"},{"location":"reference/onesided/#One-sided-communication","page":"One-sided communication","title":"One-sided communication","text":"","category":"section"},{"location":"reference/onesided/","page":"One-sided communication","title":"One-sided communication","text":"MPI.Win_create\nMPI.Win_create_dynamic\nMPI.Win_allocate_shared\nMPI.Win_shared_query\nMPI.Win_flush\nMPI.Win_lock\nMPI.Win_unlock\nMPI.Get!\nMPI.Put!\nMPI.Accumulate!\nMPI.Get_accumulate!","category":"page"},{"location":"reference/onesided/#MPI.Win_create","page":"One-sided communication","title":"MPI.Win_create","text":"MPI.Win_create(base[, size::Integer, disp_unit::Integer], comm::Comm; infokws...)\n\nCreate a window over the array base, returning a Win object used by these processes to perform RMA operations. This is a collective call over comm.\n\nsize is the size of the window in bytes (default = sizeof(base))\ndisp_unit is the size of address scaling in bytes (default = sizeof(eltype(base)))\ninfokws are info keys providing optimization hints to the runtime.\n\nMPI.free should be called on the Win object once operations have been completed.\n\n\n\n\n\n","category":"function"},{"location":"reference/onesided/#MPI.Win_create_dynamic","page":"One-sided communication","title":"MPI.Win_create_dynamic","text":"MPI.Win_create_dynamic(comm::Comm; infokws...)\n\nCreate a dynamic window returning a Win object used by these processes to perform RMA operations\n\nThis is a collective call over comm.\n\ninfokws are info keys providing optimization hints.\n\nMPI.free should be called on the Win object once operations have been completed.\n\n\n\n\n\n","category":"function"},{"location":"reference/onesided/#MPI.Win_allocate_shared","page":"One-sided communication","title":"MPI.Win_allocate_shared","text":"win, array = MPI.Win_allocate_shared(Array{T}, dims, comm::Comm; infokws...)\n\nCreate and allocate a shared memory window for objects of type T of dimension dims (either an integer or tuple of integers), returning a Win and the Array{T} attached to the local process.\n\nThis is a collective call over comm, but dims can differ for each call (and can be zero).\n\nUse MPI.Win_shared_query to obtain the Array attached to a different process in the same shared memory space.\n\ninfokws are info keys providing optimization hints.\n\nMPI.free should be called on the Win object once operations have been completed.\n\n\n\n\n\n","category":"function"},{"location":"reference/onesided/#MPI.Win_shared_query","page":"One-sided communication","title":"MPI.Win_shared_query","text":"array = Win_shared_query(Array{T}, [dims,] win; rank)\n\nObtain the shared memory allocated by Win_allocate_shared of the process rank in win. Returns an Array{T} of size dims (being a Vector{T} if no dims argument is provided).\n\n\n\n\n\n","category":"function"},{"location":"reference/onesided/#MPI.Win_flush","page":"One-sided communication","title":"MPI.Win_flush","text":"Win_flush(win::Win; rank)\n\nCompletes all outstanding RMA operations initiated by the calling process to the target rank on the specified window.\n\nExternal links\n\nMPI_Win_flush man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/onesided/#MPI.Win_lock","page":"One-sided communication","title":"MPI.Win_lock","text":"Win_lock(win::Win; rank::Integer, type=:exclusive/:shared, nocheck=false)\n\nStarts an RMA access epoch. The window at the process with rank rank can be accessed by RMA operations on win during that epoch.\n\nMultiple RMA access epochs (with calls to MPI.Win_lock) can occur simultaneously; however, each access epoch must target a different process.\n\nAccesses that are protected by an exclusive lock (type=:exclusive) will not be concurrent at the window site with other accesses to the same window that are lock protected. Accesses that are protected by a shared lock (type=:shared) will not be concurrent at the window site with accesses protected by an exclusive lock to the same window.\n\nIf nocheck=true, no other process holds, or will attempt to acquire, a conflicting lock, while the caller holds the window lock. This is useful when mutual exclusion is achieved by other means, but the coherence operations that may be attached to the lock and unlock calls are still required.\n\nExternal links\n\nMPI_Win_lock man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/onesided/#MPI.Win_unlock","page":"One-sided communication","title":"MPI.Win_unlock","text":"Win_unlock(win::Win; rank::Integer)\n\nCompletes an RMA access epoch started by a call to Win_lock.\n\nExternal links\n\nMPI_Win_unlock man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/onesided/#MPI.Get!","page":"One-sided communication","title":"MPI.Get!","text":"Get!(origin, win::Win; rank::Integer, disp::Integer=0)\n\nCopies data from the memory window win on the remote rank rank, with displacement disp, into origin using remote memory access. origin can be a Buffer, or any object for which Buffer(origin) is defined.\n\nExternal links\n\nMPI_Get man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/onesided/#MPI.Put!","page":"One-sided communication","title":"MPI.Put!","text":"Put!(origin, win::Win; rank::Integer, disp::Integer=0)\n\nCopies data from origin into memory window win on remote rank rank at displacement disp using remote memory access. origin can be a Buffer, or any object for which Buffer_send(origin) is defined.\n\nExternal links\n\nMPI_Put man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/onesided/#MPI.Accumulate!","page":"One-sided communication","title":"MPI.Accumulate!","text":"Accumulate!(origin, op, win::Win; rank::Integer, disp::Integer=0)\n\nCombine the content of the origin buffer into the target buffer (specified by win and displacement target_disp) with reduction operator op on the remote rank target_rank using remote memory access.\n\norigin can be a Buffer, or any object for which Buffer_send(origin) is defined. op can be any predefined Op (custom operators are not supported).\n\nExternal links\n\nMPI_Accumulate man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/onesided/#MPI.Get_accumulate!","page":"One-sided communication","title":"MPI.Get_accumulate!","text":"Get_accumulate!(origin, result, target_rank::Integer, target_disp::Integer, op::Op, win::Win)\n\nCombine the content of the origin buffer into the target buffer (specified by win and displacement target_disp) with reduction operator op on the remote rank target_rank using remote memory access. Get_accumulate also returns the content of the target buffer before accumulation into the result buffer.\n\norigin can be a Buffer, or any object for which Buffer_send(origin) is defined, result can be a Buffer, or any object for which Buffer(result) is defined. op can be any predefined Op (custom operators are not supported).\n\nExternal links\n\nMPI_Get_accumulate man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/buffers/#Buffers","page":"Buffers","title":"Buffers","text":"","category":"section"},{"location":"reference/buffers/","page":"Buffers","title":"Buffers","text":"Buffers are used for sending and receiving data. MPI.jl provides the following buffer types:","category":"page"},{"location":"reference/buffers/","page":"Buffers","title":"Buffers","text":"MPI.IN_PLACE\nMPI.Buffer\nMPI.Buffer_send\nMPI.UBuffer\nMPI.VBuffer\nMPI.RBuffer\nMPI.MPIPtr","category":"page"},{"location":"reference/buffers/#MPI.IN_PLACE","page":"Buffers","title":"MPI.IN_PLACE","text":"MPI.IN_PLACE\n\nA sentinel value that can be passed as a buffer argument for certain collective operations to use the same buffer for send and receive operations.\n\nScatter! and Scatterv!: can be used as the recvbuf argument on the root process.\nGather! and Gatherv!: can be used as the sendbuf argument on the root process.\nAllgather!, Allgatherv!, Alltoall! and Alltoallv!: can be used as the sendbuf argument on all processes.\nReduce! (root only), Allreduce!, Scan! and Exscan!: can be used as sendbuf argument.\n\n\n\n\n\n","category":"constant"},{"location":"reference/buffers/#MPI.Buffer","page":"Buffers","title":"MPI.Buffer","text":"MPI.Buffer\n\nAn MPI buffer for communication with a single rank. It is used for point-to-point and one-sided operations, as well as some collective operations. Operations will implicitly construct a Buffer when required via the generic constructor, but it can be advantageous to manually construct Buffers when doing so incurs additional overhead, for example when using a non-predefined MPI.Datatype.\n\nFields\n\ndata: a Julia object referencing a region of memory to be used for communication. It is required that the object can be cconverted to an MPIPtr.\ncount: the number of elements of datatype in the buffer. Note that this may not correspond to the number of elements in the array if derived types are used.\ndatatype: the MPI.Datatype stored in the buffer.\n\nUsage\n\nBuffer(data, count::Integer, datatype::Datatype)\n\nGeneric constructor.\n\nBuffer(data)\n\nConstruct a Buffer backed by data, automatically determining the appropriate count and datatype. Methods are provided for\n\nRef\nArray\nCUDA.CuArray if CUDA.jl is loaded.\nAMDGPU.ROCArray if AMDGPU.jl is loaded.\nSubArrays of an Array, CUDA.CuArray or AMDGPU.ROCArray where the layout is contiguous, sequential or blocked.\n\nSee also\n\nBuffer_send\n\n\n\n\n\n","category":"type"},{"location":"reference/buffers/#MPI.Buffer_send","page":"Buffers","title":"MPI.Buffer_send","text":"Buffer_send(data)\n\nConstruct a Buffer object for a send operation from data, allowing cases where isbits(data).\n\n\n\n\n\n","category":"function"},{"location":"reference/buffers/#MPI.UBuffer","page":"Buffers","title":"MPI.UBuffer","text":"MPI.UBuffer\n\nAn MPI buffer for chunked collective communication, where all chunks are of uniform size.\n\nFields\n\ndata: A Julia object referencing a region of memory to be used for communication. It is required that the object can be cconverted to an MPIPtr.\ncount: The number of elements of datatype in each chunk.\nnchunks: The maximum number of chunks stored in the buffer. This is used only for validation, and can be set to nothing to disable checks.\ndatatype: The MPI.Datatype stored in the buffer.\n\nUsage\n\nUBuffer(data, count::Integer, nchunks::Union{Nothing, Integer}, datatype::Datatype)\n\nGeneric constructor.\n\nUBuffer(data, count::Integer)\n\nConstruct a UBuffer backed by data, where count is the number of elements in each chunk.\n\nSee also\n\nVBuffer: similar, but supports chunks of non-uniform sizes.\n\n\n\n\n\n","category":"type"},{"location":"reference/buffers/#MPI.VBuffer","page":"Buffers","title":"MPI.VBuffer","text":"MPI.VBuffer\n\nAn MPI buffer for chunked collective communication, where chunks can be of different sizes and at different offsets.\n\nFields\n\ndata: A Julia object referencing a region of memory to be used for communication. It is required that the object can be cconverted to an MPIPtr.\ncounts: An array containing the length of each chunk.\ndispls: An array containing the (0-based) displacements of each chunk.\ndatatype: The MPI.Datatype stored in the buffer.\n\nUsage\n\nVBuffer(data, counts[, displs[, datatype]])\n\nConstruct a VBuffer backed by data, where counts[j] is the number of elements in the jth chunk, and displs[j] is the 0-based displacement. In other words, the jth chunk occurs in indices displs[j]+1:displs[j]+counts[j].\n\nThe default value for displs[j] = sum(counts[1:j-1]).\n\nSee also\n\nUBuffer when chunks are all of the same size.\n\n\n\n\n\n","category":"type"},{"location":"reference/buffers/#MPI.RBuffer","page":"Buffers","title":"MPI.RBuffer","text":"MPI.RBuffer\n\nAn MPI buffer for reduction operations (MPI.Reduce!, MPI.Allreduce!, MPI.Scan!, MPI.Exscan!).\n\nFields\n\nsenddata: A Julia object referencing a region of memory to be used for the send buffer. It is required that the object can be cconverted to an MPIPtr.\nrecvdata: A Julia object referencing a region of memory to be used for the receive buffer. It is required that the object can be cconverted to an MPIPtr.\ncount: the number of elements of datatype in the buffer. Note that this may not correspond to the number of elements in the array if derived types are used.\ndatatype: the MPI.Datatype stored in the buffer.\n\nUsage\n\nRBuffer(senddata, recvdata[, count, datatype])\n\nGeneric constructor.\n\nRBuffer(senddata, recvdata)\n\nConstruct a Buffer backed by senddata and recvdata, automatically determining the appropriate count and datatype.\n\nsenddata can be MPI.IN_PLACE\nrecvdata can be nothing on a non-root node with MPI.Reduce!\n\n\n\n\n\n","category":"type"},{"location":"reference/buffers/#MPI.API.MPIPtr","page":"Buffers","title":"MPI.API.MPIPtr","text":"MPI.MPIPtr\n\nA pointer to an MPI buffer. This type is used only as part of the implicit conversion in ccall: a Julia object can be passed to MPI by defining methods for Base.cconvert(::Type{MPIPtr}, ...)/Base.unsafe_convert(::Type{MPIPtr}, ...).\n\nCurrently supported are:\n\nPtr\nRef\nArray\nSubArray\nCUDA.CuArray if CUDA.jl is loaded.\nAMDGPU.ROCArray if AMDGPU.jl is loaded.\n\nAdditionally, certain sentinel values can be used, e.g. MPI_IN_PLACE or MPI_BOTTOM.\n\n\n\n\n\n","category":"type"},{"location":"reference/comm/#Communicators","page":"Communicators","title":"Communicators","text":"","category":"section"},{"location":"reference/comm/","page":"Communicators","title":"Communicators","text":"An MPI communicator specifies the communication context for a communication operation. In particular, it specifies the set of processes which share the context, and assigns each each process a unique rank (see MPI.Comm_rank) taking an integer value in 0:n-1, where n is the number of processes in the communicator (see MPI.Comm_size.","category":"page"},{"location":"reference/comm/#Types-and-enums","page":"Communicators","title":"Types and enums","text":"","category":"section"},{"location":"reference/comm/","page":"Communicators","title":"Communicators","text":"MPI.Comm","category":"page"},{"location":"reference/comm/#MPI.Comm","page":"Communicators","title":"MPI.Comm","text":"MPI.Comm\n\nAn MPI Communicator object.\n\n\n\n\n\n","category":"type"},{"location":"reference/comm/","page":"Communicators","title":"Communicators","text":"If you need to pass a Julia MPI.Comm object to an external C/C++ library (via ccall) that expects an MPI_Comm argument, you should declare the corresponding ccall argument type MPI.API.MPI_Comm and the correct conversion will be performed.","category":"page"},{"location":"reference/comm/#Constants","page":"Communicators","title":"Constants","text":"","category":"section"},{"location":"reference/comm/","page":"Communicators","title":"Communicators","text":"MPI.COMM_WORLD\nMPI.COMM_SELF","category":"page"},{"location":"reference/comm/#MPI.COMM_WORLD","page":"Communicators","title":"MPI.COMM_WORLD","text":"MPI.COMM_WORLD\n\nA communicator containing all processes with which the local rank can communicate at initialization. In a typical \"static-process\" model, this will be all processes.\n\n\n\n\n\n","category":"constant"},{"location":"reference/comm/#MPI.COMM_SELF","page":"Communicators","title":"MPI.COMM_SELF","text":"MPI.COMM_SELF\n\nA communicator containing only the local process.\n\n\n\n\n\n","category":"constant"},{"location":"reference/comm/#Functions","page":"Communicators","title":"Functions","text":"","category":"section"},{"location":"reference/comm/#Operations","page":"Communicators","title":"Operations","text":"","category":"section"},{"location":"reference/comm/","page":"Communicators","title":"Communicators","text":"MPI.Comm_size\nMPI.Comm_rank\nMPI.Comm_compare\nMPI.Comm_group\nMPI.Comm_remote_group","category":"page"},{"location":"reference/comm/#MPI.Comm_size","page":"Communicators","title":"MPI.Comm_size","text":"Comm_size(comm::Comm)\n\nThe number of processes involved in communicator.\n\nSee also\n\nMPI.Comm_rank.\n\nExternal links\n\nMPI_Comm_size man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.Comm_rank","page":"Communicators","title":"MPI.Comm_rank","text":"Comm_rank(comm::Comm)\n\nThe rank of the process in the particular communicator's group.\n\nReturns an integer in the range 0:MPI.Comm_size()-1.\n\nSee also\n\nMPI.Comm_size.\n\nExternal links\n\nMPI_Comm_rank man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.Comm_compare","page":"Communicators","title":"MPI.Comm_compare","text":"Comm_compare(comm1::Comm, comm2::Comm)::MPI.Comparison\n\nCompare two communicators and their underlying groups, returning an element of the Comparison enum.\n\nExternal links\n\nMPI_Comm_compare man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.Comm_group","page":"Communicators","title":"MPI.Comm_group","text":"Comm_group(comm::Comm)\n\nAccesses the group associated with given communicator.\n\nExternal links\n\nMPI_Comm_group man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.Comm_remote_group","page":"Communicators","title":"MPI.Comm_remote_group","text":"Comm_remote_group(comm::Comm)\n\nAccesses the remote group associated with the given inter-communicator.\n\nExternal links\n\nMPI_Comm_remote_group man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#Constructors","page":"Communicators","title":"Constructors","text":"","category":"section"},{"location":"reference/comm/","page":"Communicators","title":"Communicators","text":"MPI.Comm_create\nMPI.Comm_create_group\nMPI.Comm_dup\nMPI.Comm_get_parent\nMPI.Comm_spawn\nMPI.Comm_split\nMPI.Comm_split_type\nMPI.Intercomm_merge","category":"page"},{"location":"reference/comm/#MPI.Comm_create","page":"Communicators","title":"MPI.Comm_create","text":"Comm_create(comm::Comm, group::Group)\n\nCollectively creates a new communicator.\n\nSee also\n\nMPI.Comm_create_group for the noncollective operation\n\nExternal links\n\nMPI_Comm_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.Comm_create_group","page":"Communicators","title":"MPI.Comm_create_group","text":"Comm_create_group(comm::Comm, group::Group, tag::Integer)\n\nNoncollectively creates a new communicator.\n\nSee also\n\nMPI.Comm_create for the noncollective operation\n\nExternal links\n\nMPI_Comm_create_group man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.Comm_dup","page":"Communicators","title":"MPI.Comm_dup","text":"Comm_dup(comm::Comm)\n\nExternal links\n\nMPI_Comm_dup man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.Comm_get_parent","page":"Communicators","title":"MPI.Comm_get_parent","text":"Comm_get_parent()\n\nExternal links\n\nMPI_Comm_get_parent man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.Comm_spawn","page":"Communicators","title":"MPI.Comm_spawn","text":"Comm_spawn(command, argv::Vector{String}, nprocs::Integer, comm::Comm[, errors::Vector{Cint}]; kwargs...)\n\nExternal links\n\nMPI_Comm_spawn man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.Comm_split","page":"Communicators","title":"MPI.Comm_split","text":"Comm_split(comm::Comm, color::Union{Integer,Nothing}, key::Integer)\n\nPartition the communicator comm, one for each value of color, returning a new communicator. Within each group, the processes are ranked in the order of key, with ties broken by the order of comm.\n\ncolor should be a non-negative integer, or nothing, in which case a null communicator is returned for that rank.\n\nExternal links\n\nMPI_Comm_split man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.Comm_split_type","page":"Communicators","title":"MPI.Comm_split_type","text":"Comm_split_type(comm::Comm, split_type, key::Integer; kwargs...)\n\nPartitions the communicator comm based on split_type, returning a new communicator. Within each group, the processes are ranked in the order of key, with ties broken by the order of comm.\n\nCurrently only one split_type is provided:\n\nMPI.COMM_TYPE_SHARED: splits the communicator into subcommunicators, each of which can create a shared memory region.\n\nExternal links\n\nMPI_Comm_split_type man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.Intercomm_merge","page":"Communicators","title":"MPI.Intercomm_merge","text":"Intercomm_merge(intercomm::Comm, flag::Bool)\n\nExternal links\n\nMPI_Intercomm_merge man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#Miscellaneous","page":"Communicators","title":"Miscellaneous","text":"","category":"section"},{"location":"reference/comm/","page":"Communicators","title":"Communicators","text":"MPI.universe_size\nMPI.tag_ub","category":"page"},{"location":"reference/comm/#MPI.universe_size","page":"Communicators","title":"MPI.universe_size","text":"universe_size()\n\nThe total number of available slots, or nothing if it is not defined. This is determined by the MPI_UNIVERSE_SIZE attribute of COMM_WORLD.\n\nThis is typically dependent on the MPI implementation: for MPICH-based implementations, this is specified by the -usize argument. OpenMPI defines a default value based on the number of processes available.\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.tag_ub","page":"Communicators","title":"MPI.tag_ub","text":"tag_ub()\n\nThe maximum value tag value for point-to-point operations.\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#Point-to-point-communication","page":"Point-to-point communication","title":"Point-to-point communication","text":"","category":"section"},{"location":"reference/pointtopoint/#Types","page":"Point-to-point communication","title":"Types","text":"","category":"section"},{"location":"reference/pointtopoint/","page":"Point-to-point communication","title":"Point-to-point communication","text":"MPI.AbstractRequest\nMPI.Request\nMPI.UnsafeRequest\nMPI.MultiRequest\nMPI.UnsafeMultiRequest\nMPI.RequestSet\nMPI.Status","category":"page"},{"location":"reference/pointtopoint/#MPI.AbstractRequest","page":"Point-to-point communication","title":"MPI.AbstractRequest","text":"MPI.AbstractRequest\n\nAn abstract type for Julia objects wrapping MPI Requests objects, which represent non-blocking MPI communication operations. The following implementations provided in MPI.jl\n\nRequest: this is the default request type.\nUnsafeRequest: similar to Request, but does not maintain a reference to the underlying communication buffer.\nMultiRequestItem: created by calling getindex on a MultiRequest / UnsafeMultiRequest object, which efficiently stores a collection of requests.\n\nHow request objects are used\n\nA request object can be passed to non-blocking communication operations, such as MPI.Isend and MPI.Irecv!. If no object is provided, then an MPI.Request is used.\n\nThe status of a Request can be checked by the Wait and Test functions or their mœultiple-request variants, which will deallocate the request once it is determined to be complete.\n\nAlternatively, it will be deallocated by calling MPI.free or at finalization, meaning that it is safe to ignore the request objects if the status of the communication can be checked by other means.\n\nIn certain cases, the operation can also be cancelled by Cancel!.\n\nImplementing new request types\n\nSubtypes R <: AbstractRequest should define the methods for the following functions:\n\nC conversion functions to MPI_Request and Ptr{MPI_Request}:\nBase.cconvert(::Type{MPI_Request}, req::R) / Base.unsafe_convert(::Type{MPI_Request}, req::R)\nBase.cconvert(::Type{Ptr{MPI_Request}}, req::R) / Base.unsafe_convert(::Type{Ptr{MPI_Request}}, req::R)`\nsetbuffer!(req::R, val): keep a reference to the communication bufferval. Ifval == nothing`, then clear the reference.\n\n\n\n\n\n","category":"type"},{"location":"reference/pointtopoint/#MPI.Request","page":"Point-to-point communication","title":"MPI.Request","text":"MPI.Request()\n\nThe default MPI Request object, representing a non-blocking communication. This also contains a reference to the buffer used in the communication to ensure it isn't garbage-collected during communication.\n\nSee AbstractRequest for more information.\n\n\n\n\n\n","category":"type"},{"location":"reference/pointtopoint/#MPI.UnsafeRequest","page":"Point-to-point communication","title":"MPI.UnsafeRequest","text":"MPI.UnsafeRequest()\n\nSimilar to MPI.Request, but does not maintain a reference to the underlying communication buffer. This may have improve performance by reducing memory allocations.\n\nwarning: Warning\nThe user should ensure that another reference to the communication buffer is maintained so that it is not cleaned up by the garbage collector before the communication operation is complete. For example ```julia buf = MPI.Buffer(zeros(10)) GC.@preserve buf begin     req = MPI.Isend(buf, comm, UnsafeRequest(); rank=1)     # ...     MPI.Wait(req) end\n\n\n\n\n\n","category":"type"},{"location":"reference/pointtopoint/#MPI.MultiRequest","page":"Point-to-point communication","title":"MPI.MultiRequest","text":"MPI.MultiRequest(n::Integer=0)\n\nA collection of MPI Requests. This is useful when operating on multiple MPI requests at the same time. MultiRequest objects can be passed directly to MPI.Waitall, MPI.Testall, etc.\n\nreq[i] will return a MultiRequestItem which adheres to the [AbstractRequest] interface.\n\nUsage\n\nreqs = MPI.MultiRequest(n)\nfor i = 1:n\n    MPI.Isend(buf, comm, reqs[i]; rank=dest[i])\nend\nMPI.Waitall(reqs)\n\n\n\n\n\n","category":"type"},{"location":"reference/pointtopoint/#MPI.UnsafeMultiRequest","page":"Point-to-point communication","title":"MPI.UnsafeMultiRequest","text":"MPI.UnsafeMultiRequest(n::Integer=0)\n\nSimilar to MPI.MultiRequest, except that it does not maintain references to the underlying communication buffers. The same caveats apply as MPI.UnsafeRequest.\n\n\n\n\n\n","category":"type"},{"location":"reference/pointtopoint/#MPI.RequestSet","page":"Point-to-point communication","title":"MPI.RequestSet","text":"RequestSet(requests::Vector{Request})\nRequestSet() # create an empty RequestSet\n\nA wrapper for an array of Requests that can be used to reduce intermediate memory allocations in Waitall, Testall, Waitany, Testany, Waitsome or Testsome.\n\nConsider using a MultiRequest or UnsafeMultiRequest instead.\n\n\n\n\n\n","category":"type"},{"location":"reference/pointtopoint/#MPI.Status","page":"Point-to-point communication","title":"MPI.Status","text":"MPI.Status\n\nThe status of an MPI receive communication. It has 3 accessible fields\n\nsource: source of the received message\ntag: tag of the received message\nerror: error code. This is only set if a function returns multiple statuses.\n\nAdditionally, the accessor function MPI.Get_count can be used to determine the number of entries received.\n\n\n\n\n\n","category":"type"},{"location":"reference/pointtopoint/#Accessors","page":"Point-to-point communication","title":"Accessors","text":"","category":"section"},{"location":"reference/pointtopoint/","page":"Point-to-point communication","title":"Point-to-point communication","text":"MPI.Get_count","category":"page"},{"location":"reference/pointtopoint/#MPI.Get_count","page":"Point-to-point communication","title":"MPI.Get_count","text":"MPI.Get_count(status::Status, T)\n\nThe number of entries received. T should match the argument provided by the receive call that set the status variable.\n\nIf the number of entries received exceeds the limits of the count parameter, then it returns MPI_UNDEFINED.\n\nExternal links\n\nMPI_Get_count man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#Constants","page":"Point-to-point communication","title":"Constants","text":"","category":"section"},{"location":"reference/pointtopoint/","page":"Point-to-point communication","title":"Point-to-point communication","text":"MPI.PROC_NULL\nMPI.ANY_SOURCE\nMPI.ANY_TAG","category":"page"},{"location":"reference/pointtopoint/#MPI.PROC_NULL","page":"Point-to-point communication","title":"MPI.PROC_NULL","text":"MPI.PROC_NULL\n\nA dummy value that can be used instead of a rank wherever a source or a destination argument is required in a call. A send\n\n\n\n\n\n","category":"constant"},{"location":"reference/pointtopoint/#MPI.ANY_SOURCE","page":"Point-to-point communication","title":"MPI.ANY_SOURCE","text":"MPI.ANY_SOURCE\n\nA wild card value for receive or probe operations that matches any source rank.\n\n\n\n\n\n","category":"constant"},{"location":"reference/pointtopoint/#MPI.ANY_TAG","page":"Point-to-point communication","title":"MPI.ANY_TAG","text":"MPI.ANY_TAG\n\nA wild card value for receive or probe operations that matches any tag.\n\n\n\n\n\n","category":"constant"},{"location":"reference/pointtopoint/#Blocking-communication","page":"Point-to-point communication","title":"Blocking communication","text":"","category":"section"},{"location":"reference/pointtopoint/","page":"Point-to-point communication","title":"Point-to-point communication","text":"MPI.Send\nMPI.send\nMPI.Recv!\nMPI.Recv\nMPI.recv\nMPI.Sendrecv!","category":"page"},{"location":"reference/pointtopoint/#MPI.Send","page":"Point-to-point communication","title":"MPI.Send","text":"Send(buf, comm::Comm; dest::Integer, tag::Integer=0)\n\nPerform a blocking send from the buffer buf to MPI rank dest of communicator comm using the message tag tag.\n\nSend(obj, comm::Comm; dest::Integer, tag::Integer=0)\n\nComplete a blocking send of an isbits object obj to MPI rank dest of communicator comm using with the message tag tag.\n\nExternal links\n\nMPI_Send man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.send","page":"Point-to-point communication","title":"MPI.send","text":"send(obj, comm::Comm; dest::Integer, tag::Integer=0)\n\nComplete a blocking send using a serialized version of obj to MPI rank dest of communicator comm using with the message tag tag.\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Recv!","page":"Point-to-point communication","title":"MPI.Recv!","text":"data = Recv!(recvbuf, comm::Comm;\n        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)\ndata, status = Recv!(recvbuf, comm::Comm, MPI.Status;\n        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)\n\nCompletes a blocking receive into the buffer recvbuf from MPI rank source of communicator comm using with the message tag tag.\n\nrecvbuf can be a Buffer, or any object for which Buffer(recvbuf) is defined.\n\nOptionally returns the Status object of the receive.\n\nSee also\n\nRecv\nrecv\n\nExternal links\n\nMPI_Recv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Recv","page":"Point-to-point communication","title":"MPI.Recv","text":"data = Recv(::Type{T}, comm::Comm;\n        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)\ndata, status = Recv(::Type{T}, comm::Comm, MPI.Status;\n        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)\n\nCompletes a blocking receive of a single isbits object of type T from MPI rank source of communicator comm using with the message tag tag.\n\nReturns a tuple of the object of type T and optionally the Status of the receive.\n\nSee also\n\nRecv!\nrecv\n\nExternal links\n\nMPI_Recv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.recv","page":"Point-to-point communication","title":"MPI.recv","text":"obj = recv(comm::Comm;\n        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)\nobj, status = recv(comm::Comm, MPI.Status;\n        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)\n\nCompletes a blocking receive of a serialized object from MPI rank source of communicator comm using with the message tag tag.\n\nReturns the deserialized object and optionally the Status of the receive.\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Sendrecv!","page":"Point-to-point communication","title":"MPI.Sendrecv!","text":"data = Sendrecv!(sendbuf, recvbuf, comm;\n        dest::Integer, sendtag::Integer=0, source::Integer=MPI.ANY_SOURCE, recvtag::Integer=MPI.ANY_TAG)\ndata, status = Sendrecv!(sendbuf, recvbuf, comm, MPI.Status;\n        dest::Integer, sendtag::Integer=0, source::Integer=MPI.ANY_SOURCE, recvtag::Integer=MPI.ANY_TAG)\n\nComplete a blocking send-receive operation over the MPI communicator comm. Send sendbuf to the MPI rank dest using message tag sendtag, and receive from MPI rank source into the buffer recvbuf using message tag recvtag. Return a Status object.\n\nExternal links\n\nMPI_Sendrecv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#Non-blocking-communication","page":"Point-to-point communication","title":"Non-blocking communication","text":"","category":"section"},{"location":"reference/pointtopoint/#Initiation","page":"Point-to-point communication","title":"Initiation","text":"","category":"section"},{"location":"reference/pointtopoint/","page":"Point-to-point communication","title":"Point-to-point communication","text":"MPI.Isend\nMPI.isend\nMPI.Irecv!","category":"page"},{"location":"reference/pointtopoint/#MPI.Isend","page":"Point-to-point communication","title":"MPI.Isend","text":"Isend(data, comm::Comm[, req::AbstractRequest = Request()]; dest::Integer, tag::Integer=0)\n\nStarts a nonblocking send of data to MPI rank dest of communicator comm using with the message tag tag.\n\ndata can be a Buffer, or any object for which Buffer_send is defined.\n\nReturns the AbstractRequest object for the nonblocking send.\n\nExternal links\n\nMPI_Isend man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.isend","page":"Point-to-point communication","title":"MPI.isend","text":"isend(obj, comm::Comm[, req::AbstractRequest = Request()]; dest::Integer, tag::Integer=0)\n\nStarts a nonblocking send of using a serialized version of obj to MPI rank dest of communicator comm using with the message tag tag.\n\nReturns the commication Request for the nonblocking send.\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Irecv!","page":"Point-to-point communication","title":"MPI.Irecv!","text":"req = Irecv!(recvbuf, comm::Comm[, req::AbstractRequest = Request()];\n        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)\n\nStarts a nonblocking receive into the buffer data from MPI rank source of communicator comm using with the message tag tag.\n\ndata can be a Buffer, or any object for which Buffer(data) is defined.\n\nReturns the AbstractRequest object for the nonblocking receive.\n\nExternal links\n\nMPI_Irecv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#Completion","page":"Point-to-point communication","title":"Completion","text":"","category":"section"},{"location":"reference/pointtopoint/","page":"Point-to-point communication","title":"Point-to-point communication","text":"MPI.Test\nMPI.Testall\nMPI.Testany\nMPI.Testsome\nMPI.Wait\nMPI.Waitall\nMPI.Waitany\nMPI.Waitsome","category":"page"},{"location":"reference/pointtopoint/#MPI.Test","page":"Point-to-point communication","title":"MPI.Test","text":"flag = Test(req::AbstractRequest)\nflag, status = Test(req::AbstractRequest, Status)\n\nCheck if the request req is complete. If so, the request is deallocated and flag = true is returned. Otherwise flag = false.\n\nThe Status argument additionally returns the Status of the completed request.\n\nExternal links\n\nMPI_Test man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Testall","page":"Point-to-point communication","title":"MPI.Testall","text":"flag = Testall(reqs::AbstractVector{Request}[, statuses::Vector{Status}])\nflag, statuses = Testall(reqs::AbstractVector{Request}, Status)\n\nCheck if all active requests in the array reqs are complete. If so, the requests are deallocated and true is returned. Otherwise no requests are modified, and false is returned.\n\nThe optional statuses or Status argument can be used to obtain the return Status of each request.\n\nSee also\n\nRequestSet can be used to minimize allocations\n\nExternal links\n\nMPI_Testall man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Testany","page":"Point-to-point communication","title":"MPI.Testany","text":"flag, idx = Testany(reqs::AbstractVector{Request}[, status::Ref{Status}])\nflag, idx, status = Testany(reqs::AbstractVector{Request}, Status)\n\nChecks if any one of the requests in the array reqs is complete.\n\nIf one or more requests are complete, then one is chosen arbitrarily, deallocated. flag = true and its (1-based) index idx is returned.\n\nIf there are no completed requests, then flag = false and idx = nothing is returned.\n\nIf there are no active requests, flag = true and idx = nothing.\n\nThe optional status argument can be used to obtain the return Status of the request.\n\nSee also\n\nRequestSet can be used to minimize allocations\n\nExternal links\n\nMPI_Testany man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Testsome","page":"Point-to-point communication","title":"MPI.Testsome","text":"inds = Testsome(reqs::AbstractVector{Request}[, statuses::Vector{Status}])\n\nSimilar to Waitsome except that if no operations have completed it will return an empty array.\n\nIf there are no active requests, then the function returns nothing.\n\nThe optional statuses argument can be used to obtain the return Status of each completed request.\n\nSee also\n\nRequestSet can be used to minimize allocations\n\nExternal links\n\nMPI_Testsome man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Wait","page":"Point-to-point communication","title":"MPI.Wait","text":"Wait(req::AbstractRequest)\nstatus = Wait(req::AbstractRequest, Status)\n\nBlock until the request req is complete and deallocated.\n\nThe Status argument returns the Status of the completed request.\n\nExternal links\n\nMPI_Wait man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Waitall","page":"Point-to-point communication","title":"MPI.Waitall","text":"Waitall(reqs::AbstractVector{Request}[, statuses::Vector{Status}])\nstatuses = Waitall(reqs::AbstractVector{Request}, Status)\n\nBlock until all active requests in the array reqs are complete.\n\nThe optional statuses or Status argument can be used to obtain the return Status of each request.\n\nSee also\n\nRequestSet can be used to minimize allocations\n\nExternal links\n\nMPI_Waitall man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Waitany","page":"Point-to-point communication","title":"MPI.Waitany","text":"i = Waitany(reqs::AbstractVector{Request}[, status::Ref{Status}])\ni, status = Waitany(reqs::AbstractVector{Request}, Status)\n\nBlocks until one of the requests in the array reqs is complete: if more than one is complete, one is chosen arbitrarily. The request is deallocated and the (1-based) index i of the completed request is returned.\n\nIf there are no active requests, then i = nothing.\n\nThe optional status argument can be used to obtain the return Status of the request.\n\nSee also\n\nRequestSet can be used to minimize allocations\n\nExternal links\n\nMPI_Waitany man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Waitsome","page":"Point-to-point communication","title":"MPI.Waitsome","text":"inds = Waitsome(reqs::AbstractVector{Request}[, statuses::Vector{Status}])\n\nBlock until at least one of the active requests in the array reqs is complete. The completed requests are deallocated, and an array inds of their indices in reqs is returned.\n\nIf there are no active requests, then inds = nothing.\n\nThe optional statuses argument can be used to obtain the return Status of each completed request.\n\nSee also\n\nRequestSet can be used to minimize allocations\n\nExternal links\n\nMPI_Waitsome man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#Probe/Cancel","page":"Point-to-point communication","title":"Probe/Cancel","text":"","category":"section"},{"location":"reference/pointtopoint/","page":"Point-to-point communication","title":"Point-to-point communication","text":"MPI.isnull\nMPI.Cancel!\nMPI.Iprobe\nMPI.Probe","category":"page"},{"location":"reference/pointtopoint/#MPI.isnull","page":"Point-to-point communication","title":"MPI.isnull","text":"isnull(req::AbstractRequest)\n\nIs req is a null request.\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Cancel!","page":"Point-to-point communication","title":"MPI.Cancel!","text":"Cancel!(req::Request)\n\nMarks a pending Irecv! operation for cancellation (cancelling a Isend, while supported in some implementations, is deprecated as of MPI 3.1). Note that the request is not deallocated, and can still be queried using the test or wait functions.\n\nExternal links\n\nMPI_Cancel man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Iprobe","page":"Point-to-point communication","title":"MPI.Iprobe","text":"ismsg = Iprobe(comm::Comm;\n        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)\nismsg, status = Iprobe(comm::Comm, MPI.Status;\n        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)\n\nChecks if there is a message that can be received matching source, tag and comm. If so, returns ismsg = true. The Status argument additionally returns the Status of the completed request.\n\nExternal links\n\nMPI_Iprobe man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Probe","page":"Point-to-point communication","title":"MPI.Probe","text":"Probe(comm::Comm;\n        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)\nstatus = Probe(comm::Comm, MPI.Status;\n    source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)\n\nBlocks until there is a message that can be received matching source, tag and comm. Optionally returns the corresponding Status object.\n\nExternal links\n\nMPI_Probe man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#Persistent-requests","page":"Point-to-point communication","title":"Persistent requests","text":"","category":"section"},{"location":"reference/pointtopoint/","page":"Point-to-point communication","title":"Point-to-point communication","text":"MPI.Send_init\nMPI.Recv_init\nMPI.Start\nMPI.Startall","category":"page"},{"location":"reference/pointtopoint/#MPI.Send_init","page":"Point-to-point communication","title":"MPI.Send_init","text":"Send_init(buf, comm::MPI.Comm[, req::AbstractRequest = Request()];\n    dest, tag=0)\n\nAllocate a persistent send request, returning a AbstractRequest object. Use Start or Startall to start the communication operation, and free to deallocate the request.\n\nExternal links\n\nMPI_Send_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Recv_init","page":"Point-to-point communication","title":"MPI.Recv_init","text":"Recv_init(buf, comm::MPI.Comm[, req::AbstractRequest = Request()];\n    source=MPI.ANY_SOURCE, tag=MPI.ANY_TAG)\n\nAllocate a persistent receive request, returning a AbstractRequest object. Use Start or Startall to start the communication operation, and free to deallocate the request.\n\nExternal links\n\nMPI_Recv_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Start","page":"Point-to-point communication","title":"MPI.Start","text":"Start(request::AbstractRequest)\n\nStart a persistent communication request created by Send_init or Recv_init. Call Wait to complete the request.\n\nExternal links\n\nMPI_Start man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Startall","page":"Point-to-point communication","title":"MPI.Startall","text":"Startall(reqs::AbstractVector{Request})\n\nStart a set of persistent communication requests created by Send_init or Recv_init. Call Waitall to complete the requests.\n\nExternal links\n\nMPI_Startall man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#Matching-probes-and-receives","page":"Point-to-point communication","title":"Matching probes and receives","text":"","category":"section"},{"location":"reference/pointtopoint/","page":"Point-to-point communication","title":"Point-to-point communication","text":"MPI.Message\nMPI.Mprobe\nMPI.Improbe\nMPI.Mrecv!\nMPI.Imrecv!","category":"page"},{"location":"reference/pointtopoint/#MPI.Message","page":"Point-to-point communication","title":"MPI.Message","text":"MPI.Message\n\nAn MPI message handle object, used by matched receive operations. These are returned by MPI.Mprobe and MPI.Improbe operations, and must be received by either MPI.Mrecv! or MPI.Imrecv!.\n\n\n\n\n\n","category":"type"},{"location":"reference/pointtopoint/#MPI.Mprobe","page":"Point-to-point communication","title":"MPI.Mprobe","text":"msg = MPI.Mprobe(comm::MPI.Comm;\n    source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)\nmsg, status = MPI.Mprobe(comm::MPI.Comm, MPI.Status;\n    source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)\n\nMatching blocking probe. Similar to MPI.Probe, except that it also returns msg, an MPI.Message object. \n\nBlocks until a message that can be received matching source, tag and comm, returning a Message objec msg, which must be received by either MPI.Mrecv! or MPI.Imrecv!.\n\nThe Status argument additionally returns the Status of the completed request.\n\nExternal links\n\nMPI_Mprobe man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Improbe","page":"Point-to-point communication","title":"MPI.Improbe","text":"ismsg, msg = MPI.Improbe(comm::MPI.Comm;\n    source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)\nismsg, msg, status = MPI.Improbe(comm::MPI.Comm, MPI.Status;\n    source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)\n\nMatching non-blocking probe. Similar to MPI.Iprobe, except that it also returns msg, an MPI.Message object. \n\nChecks if there is a message that can be received matching source, tag and comm. If so, returns ismsg = true, and a Message objec msg, which must be received by either MPI.Mrecv! or MPI.Imrecv!. Otherwise msg is set to be a null Message.\n\nThe Status argument additionally returns the Status of the completed request.\n\nExternal links\n\nMPI_Improbe man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Mrecv!","page":"Point-to-point communication","title":"MPI.Mrecv!","text":"data = MPI.Mrecv!(recvbuf, msg::MPI.Message)\ndata, status = MPI.Mrecv!(recvbuf, msg::MPI.Message, MPI.Status)\n\nCompletes a blocking receive matched by a matching probe operation into the buffer recvbuf, and the Message msg.\n\nrecvbuf can be a Buffer, or any object for which Buffer(recvbuf) is defined.\n\nOptionally returns the Status object of the receive.\n\nExternal links\n\nMPI_Mrecv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Imrecv!","page":"Point-to-point communication","title":"MPI.Imrecv!","text":"req = MPI.Imrecv!(recvbuf, msg::MPI.Message[, req::AbstractRequest=Request()])\n\nStarts a nonblocking receive matched by a matching probe operation into the buffer recvbuf, and the Message msg.\n\nrecvbuf can be a Buffer, or any object for which Buffer(recvbuf) is defined.\n\nReturns req, an AbstractRequest object for the nonblocking receive.\n\nExternal links\n\nMPI_Imrecv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#I/O","page":"I/O","title":"I/O","text":"","category":"section"},{"location":"reference/io/#File-manipulation","page":"I/O","title":"File manipulation","text":"","category":"section"},{"location":"reference/io/","page":"I/O","title":"I/O","text":"MPI.File.open","category":"page"},{"location":"reference/io/#MPI.File.open","page":"I/O","title":"MPI.File.open","text":"MPI.File.open(comm::Comm, filename::AbstractString; keywords...)\n\nOpen the file identified by filename. This is a collective operation on comm.\n\nSupported keywords are as follows:\n\nread, write, create, append have the same behaviour and defaults as Base.open.\nsequential: file will only be accessed sequentially (default: false)\nuniqueopen: file will not be concurrently opened elsewhere (default: false)\ndeleteonclose: delete file on close (default: false)\n\nAny additional keywords are passed via an Info object, and are implementation dependent.\n\nExternal links\n\nMPI_File_open man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#Views","page":"I/O","title":"Views","text":"","category":"section"},{"location":"reference/io/","page":"I/O","title":"I/O","text":"MPI.File.set_view!\nMPI.File.get_byte_offset","category":"page"},{"location":"reference/io/#MPI.File.set_view!","page":"I/O","title":"MPI.File.set_view!","text":"MPI.File.set_view!(file::FileHandle, disp::Integer, etype::Datatype, filetype::Datatype, datarep::AbstractString; kwargs...)\n\nSet the current process's view of file.\n\nThe start of the view is set to disp; the type of data is set to etype; the distribution of data to processes is set to filetype; and the representation of data in the file is set to datarep: one of \"native\" (default), \"internal\", or \"external32\".\n\nExternal links\n\nMPI_File_set_view man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.get_byte_offset","page":"I/O","title":"MPI.File.get_byte_offset","text":"MPI.File.get_byte_offset(file::FileHandle, offset::Integer)\n\nConverts a view-relative offset into an absolute byte position. Returns the absolute byte position (from the beginning of the file) of offset relative to the current view of file.\n\nExternal links\n\nMPI_File_get_byte_offset man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#Consistency","page":"I/O","title":"Consistency","text":"","category":"section"},{"location":"reference/io/","page":"I/O","title":"I/O","text":"MPI.File.sync\nMPI.File.get_atomicity\nMPI.File.set_atomicity","category":"page"},{"location":"reference/io/#MPI.File.sync","page":"I/O","title":"MPI.File.sync","text":"MPI.File.sync(fh::FileHandle)\n\nA collective operation causing all previous writes to fh by the calling process to be transferred to the storage device. If other processes have made updates to the storage device, then all such updates become visible to subsequent reads of fh by the calling process.\n\nExternal links\n\nMPI_File_sync man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.get_atomicity","page":"I/O","title":"MPI.File.get_atomicity","text":"MPI.File.get_atomicity(file::FileHandle)\n\nGet the consistency option for the fh. If false it is non-atomic.\n\nExternal links\n\nMPI_File_get_atomicity man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.set_atomicity","page":"I/O","title":"MPI.File.set_atomicity","text":"MPI.File.set_atomicity(file::FileHandle, flag::Bool)\n\nSet the consitency option for the fh.\n\nExternal links\n\nMPI_File_get_atomicity man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#Data-access","page":"I/O","title":"Data access","text":"","category":"section"},{"location":"reference/io/#Individual-pointer","page":"I/O","title":"Individual pointer","text":"","category":"section"},{"location":"reference/io/","page":"I/O","title":"I/O","text":"MPI.File.read!\nMPI.File.read_all!\nMPI.File.write\nMPI.File.write_all","category":"page"},{"location":"reference/io/#MPI.File.read!","page":"I/O","title":"MPI.File.read!","text":"MPI.File.read!(file::FileHandle, data)\n\nReads current view of file into data. data can be a Buffer, or any object for which Buffer(data) is defined.\n\nSee also\n\nMPI.File.set_view! to set the current view of the file\nMPI.File.read_all! for the collective operation\n\nExternal links\n\nMPI_File_read man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.read_all!","page":"I/O","title":"MPI.File.read_all!","text":"MPI.File.read_all!(file::FileHandle, data)\n\nReads current view of file into data. data can be a Buffer, or any object for which Buffer(data) is defined. This is a collective operation, so must be called on all ranks in the communicator on which file was opened.\n\nSee also\n\nMPI.File.set_view! to set the current view of the file\nMPI.File.read! for the noncollective operation\n\nExternal links\n\nMPI_File_read_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.write","page":"I/O","title":"MPI.File.write","text":"MPI.File.write(file::FileHandle, data)\n\nWrites data to the current view of file. data can be a Buffer, or any object for which Buffer_send(data) is defined.\n\nSee also\n\nMPI.File.set_view! to set the current view of the file\nMPI.File.write_all for the collective operation\n\nExternal links\n\nMPI_File_write man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.write_all","page":"I/O","title":"MPI.File.write_all","text":"MPI.File.write_all(file::FileHandle, data)\n\nWrites data to the current view of file. data can be a Buffer, or any object for which Buffer_send(data) is defined. This is a collective operation, so must be called on all ranks in the communicator on which file was opened.\n\nSee also\n\nMPI.File.set_view! to set the current view of the file\nMPI.File.write for the noncollective operation\n\nExternal links\n\nMPI_File_write_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#Explicit-offsets","page":"I/O","title":"Explicit offsets","text":"","category":"section"},{"location":"reference/io/","page":"I/O","title":"I/O","text":"MPI.File.read_at!\nMPI.File.read_at_all!\nMPI.File.write_at\nMPI.File.write_at_all","category":"page"},{"location":"reference/io/#MPI.File.read_at!","page":"I/O","title":"MPI.File.read_at!","text":"MPI.File.read_at!(file::FileHandle, offset::Integer, data)\n\nReads from file at position offset into data. data can be a Buffer, or any object for which Buffer(data) is defined.\n\nSee also\n\nMPI.File.read_at_all! for the collective operation\n\nExternal links\n\nMPI_File_read_at man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.read_at_all!","page":"I/O","title":"MPI.File.read_at_all!","text":"MPI.File.read_at_all!(file::FileHandle, offset::Integer, data)\n\nReads from file at position offset into data. data can be a Buffer, or any object for which Buffer(data) is defined. This is a collective operation, so must be called on all ranks in the communicator on which file was opened.\n\nSee also\n\nMPI.File.read_at! for the noncollective operation\n\nExternal links\n\nMPI_File_read_at_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.write_at","page":"I/O","title":"MPI.File.write_at","text":"MPI.File.write_at(file::FileHandle, offset::Integer, data)\n\nWrites data to file at position offset. data can be a Buffer, or any object for which Buffer_send(data) is defined.\n\nSee also\n\nMPI.File.write_at_all for the collective operation\n\nExternal links\n\nMPI_File_write_at man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.write_at_all","page":"I/O","title":"MPI.File.write_at_all","text":"MPI.File.write_at_all(file::FileHandle, offset::Integer, data)\n\nWrites from data to file at position offset. data can be a Buffer, or any object for which Buffer_send(data) is defined. This is a collective operation, so must be called on all ranks in the communicator on which file was opened.\n\nSee also\n\nMPI.File.write_at for the noncollective operation\n\nExternal links\n\nMPI_File_write_at_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#Shared-pointer","page":"I/O","title":"Shared pointer","text":"","category":"section"},{"location":"reference/io/","page":"I/O","title":"I/O","text":"MPI.File.read_shared!\nMPI.File.write_shared\nMPI.File.read_ordered!\nMPI.File.write_ordered\nMPI.File.seek_shared\nMPI.File.get_position_shared","category":"page"},{"location":"reference/io/#MPI.File.read_shared!","page":"I/O","title":"MPI.File.read_shared!","text":"MPI.File.read_shared!(file::FileHandle, data)\n\nReads from file using the shared file pointer into data.  data can be a Buffer, or any object for which Buffer(data) is defined.\n\nSee also\n\nMPI.File.read_ordered! for the collective operation\n\nExternal links\n\nMPI_File_read_shared man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.write_shared","page":"I/O","title":"MPI.File.write_shared","text":"MPI.File.write_shared(file::FileHandle, data)\n\nWrites to file using the shared file pointer from data. data can be a Buffer, or any object for which Buffer(data) is defined.\n\nSee also\n\nMPI.File.write_ordered for the collective operation\n\nExternal links\n\nMPI_File_write_shared man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.read_ordered!","page":"I/O","title":"MPI.File.read_ordered!","text":"MPI.File.read_ordered!(file::FileHandle, data)\n\nCollectively reads in rank order from file using the shared file pointer into data. data can be a Buffer, or any object for which Buffer(data) is defined. This is a collective operation, so must be called on all ranks in the communicator on which file was opened.\n\nSee also\n\nMPI.File.read_shared! for the noncollective operation\n\nExternal links\n\nMPI_File_read_ordered man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.write_ordered","page":"I/O","title":"MPI.File.write_ordered","text":"MPI.File.write_ordered(file::FileHandle, data)\n\nCollectively writes in rank order to file using the shared file pointer from data. data can be a Buffer, or any object for which Buffer(data) is defined. This is a collective operation, so must be called on all ranks in the communicator on which file was opened.\n\nSee also\n\nMPI.File.write_shared for the noncollective operation\n\nExternal links\n\nMPI_File_write_ordered man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.seek_shared","page":"I/O","title":"MPI.File.seek_shared","text":"MPI.File.seek_shared(file::FileHandle, offset::Integer, whence::Seek=SEEK_SET)\n\nUpdates the shared file pointer according to whence, which has the following possible values:\n\nMPI.File.SEEK_SET (default): the pointer is set to offset\nMPI.File.SEEK_CUR: the pointer is set to the current pointer position plus offset\nMPI.File.SEEK_END: the pointer is set to the end of file plus offset\n\nThis is a collective operation, and must be called with the same value on all processes in the communicator.\n\nExternal links\n\nMPI_File_seek_shared man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.get_position_shared","page":"I/O","title":"MPI.File.get_position_shared","text":"MPI.File.get_position_shared(file::FileHandle)\n\nThe current position of the shared file pointer (in etype units) relative to the current view.\n\nExternal links\n\nMPI_File_get_position_shared man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/environment/#Environment","page":"Environment","title":"Environment","text":"","category":"section"},{"location":"reference/environment/#Launching-MPI-programs","page":"Environment","title":"Launching MPI programs","text":"","category":"section"},{"location":"reference/environment/","page":"Environment","title":"Environment","text":"mpiexec\nMPI.install_mpiexecjl","category":"page"},{"location":"reference/environment/#MPICH_jll.mpiexec","page":"Environment","title":"MPICH_jll.mpiexec","text":"mpiexec(fn)\n\nA wrapper function for the MPI launcher executable. Calls fn(cmd), where cmd is a Cmd object of the MPI launcher.\n\nUsage\n\njulia> mpiexec(cmd -> run(`$cmd -n 3 echo hello world`));\nhello world\nhello world\nhello world\n\n\n\n\n\n","category":"function"},{"location":"reference/environment/#MPI.install_mpiexecjl","page":"Environment","title":"MPI.install_mpiexecjl","text":"MPI.install_mpiexecjl(; command::String = \"mpiexecjl\",\n                      destdir::String = joinpath(DEPOT_PATH[1], \"bin\"),\n                      force::Bool = false, verbose::Bool = true)\n\nInstall the mpiexec wrapper to destdir directory, with filename command. Set force to true to overwrite an existing destination file with the same path.  If verbose is true, the installation prints information about the progress of the process.\n\n\n\n\n\n","category":"function"},{"location":"reference/environment/#Enums","page":"Environment","title":"Enums","text":"","category":"section"},{"location":"reference/environment/","page":"Environment","title":"Environment","text":"MPI.ThreadLevel","category":"page"},{"location":"reference/environment/#MPI.ThreadLevel","page":"Environment","title":"MPI.ThreadLevel","text":"ThreadLevel\n\nAn Enum denoting the level of threading support in the current process:\n\nMPI.THREAD_SINGLE: Only one thread will execute.\nMPI.THREAD_FUNNELED: The process may be multi-threaded, but the application must ensure that only the main thread makes MPI calls. See Is_thread_main.\nMPI.THREAD_SERIALIZED: The process may be multi-threaded, and multiple threads may make MPI calls, but only one at a time (i.e. all MPI calls are serialized).\nMPI.THREAD_MULTIPLE: Multiple threads may call MPI, with no restrictions.\n\nSee also\n\nInit\nQuery_thread\n\n\n\n\n\n","category":"type"},{"location":"reference/environment/#Functions","page":"Environment","title":"Functions","text":"","category":"section"},{"location":"reference/environment/","page":"Environment","title":"Environment","text":"MPI.Abort\nMPI.Init\nMPI.Query_thread\nMPI.Is_thread_main\nMPI.Initialized\nMPI.Finalize\nMPI.Finalized","category":"page"},{"location":"reference/environment/#MPI.Abort","page":"Environment","title":"MPI.Abort","text":"Abort(comm::Comm, errcode::Integer)\n\nMake a “best attempt” to abort all tasks in the group of comm. This function does not require that the invoking environment take any action with the error code. However, a Unix or POSIX environment should handle this as a return errorcode from the main program.\n\nExternal links\n\nMPI_Abort man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/environment/#MPI.Init","page":"Environment","title":"MPI.Init","text":"Init(;threadlevel=:serialized, finalize_atexit=true, errors_return=true)\n\nInitialize MPI in the current process. The keyword options:\n\nthreadlevel: either :single, :funneled, :serialized (default), :multiple, or an instance of ThreadLevel.\nfinalize_atexit: if true (default), adds an atexit hook to call MPI.Finalize if it hasn't already been called.\nerrors_return: if true (default), will set the default error handlers for MPI.COMM_SELF and MPI.COMM_WORLD to be MPI.ERRORS_RETURN. MPI errors will then appear as Julia exceptions.\n\nIt will return the ThreadLevel value which MPI is initialized at.\n\nAll MPI programs must call this function at least once before calling any other MPI operations: the only MPI functions that may be called before MPI.Init are MPI.Initialized and MPI.Finalized.\n\nIt is safe to call MPI.Init multiple times, however it is not valid to call it after calling MPI.Finalize.\n\nExternal links\n\nMPI_Init man page: OpenMPI, MPICH\nMPI_Init_thread man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/environment/#MPI.Query_thread","page":"Environment","title":"MPI.Query_thread","text":"Query_thread()\n\nQuery the level of threading support in the current process. Returns a ThreadLevel value denoting\n\nExternal links\n\nMPI_Query_thread man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/environment/#MPI.Is_thread_main","page":"Environment","title":"MPI.Is_thread_main","text":"Is_thread_main()\n\nQueries whether the current thread is the main thread according to MPI. This can be called by any thread, and is useful for the  THREAD_FUNNELED ThreadLevel.\n\nExternal links\n\nMPI_Is_thread_main man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/environment/#MPI.Initialized","page":"Environment","title":"MPI.Initialized","text":"Initialized()\n\nReturns true if MPI.Init has been called, false otherwise.\n\nIt is unaffected by MPI.Finalize, and is one of the few functions that may be called before MPI.Init.\n\nExternal links\n\nMPI_Intialized man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/environment/#MPI.Finalize","page":"Environment","title":"MPI.Finalize","text":"Finalize()\n\nMarks MPI state for cleanup. This should be called after MPI.Init, and can be called at most once. No further MPI calls (other than Initialized or Finalized) should be made after it is called.\n\nMPI.Init will automatically insert a hook to call this function when Julia exits, if it hasn't already been called.\n\nExternal links\n\nMPI_Finalize man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/environment/#MPI.Finalized","page":"Environment","title":"MPI.Finalized","text":"Finalized()\n\nReturns true if MPI.Finalize has completed, false otherwise.\n\nIt is safe to call before MPI.Init and after MPI.Finalize.\n\nExternal links\n\nMPI_Finalized man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/environment/#Errors","page":"Environment","title":"Errors","text":"","category":"section"},{"location":"reference/environment/","page":"Environment","title":"Environment","text":"MPI.MPIError\nMPI.FeatureLevelError","category":"page"},{"location":"reference/environment/#MPI.MPIError","page":"Environment","title":"MPI.MPIError","text":"MPIError\n\nError thrown when an MPI function returns an error code. The code field contains the MPI error code.\n\n\n\n\n\n","category":"type"},{"location":"reference/environment/#MPI.API.FeatureLevelError","page":"Environment","title":"MPI.API.FeatureLevelError","text":"FeatureLevelError\n\nError thrown if a feature is not implemented in the current MPI backend.\n\n\n\n\n\n","category":"type"},{"location":"reference/group/#Groups","page":"Groups","title":"Groups","text":"","category":"section"},{"location":"reference/group/","page":"Groups","title":"Groups","text":"An MPI group is a set of process identifiers identified by their rank (see  MPI.Comm_rank and MPI.Group_rank). They are used within a  communicator to describe the participants in a communication universe.","category":"page"},{"location":"reference/group/#Types-and-enums","page":"Groups","title":"Types and enums","text":"","category":"section"},{"location":"reference/group/","page":"Groups","title":"Groups","text":"MPI.Group\nMPI.Comparison","category":"page"},{"location":"reference/group/#MPI.Group","page":"Groups","title":"MPI.Group","text":"MPI.Group\n\nAn MPI Group object.\n\n\n\n\n\n","category":"type"},{"location":"reference/group/#MPI.Comparison","page":"Groups","title":"MPI.Comparison","text":"Comparison\n\nAn enum denoting the result of Comm_compare:\n\nMPI.IDENT: the objects are handles for the same object (identical groups and same contexts).\nMPI.CONGRUENT: the underlying groups are identical in constituents and rank order; these communicators differ only by context.\nMPI.SIMILAR: members of both objects are the same but the rank order differs.\nMPI.UNEQUAL: otherwise\n\n\n\n\n\n","category":"type"},{"location":"reference/group/#Functions","page":"Groups","title":"Functions","text":"","category":"section"},{"location":"reference/group/#Operations","page":"Groups","title":"Operations","text":"","category":"section"},{"location":"reference/group/","page":"Groups","title":"Groups","text":"MPI.Group_size\nMPI.Group_rank","category":"page"},{"location":"reference/group/#MPI.Group_size","page":"Groups","title":"MPI.Group_size","text":"Group_size(group::Group)\n\nThe number of processes involved in group.\n\nExternal links\n\nMPI_Group_size man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/group/#MPI.Group_rank","page":"Groups","title":"MPI.Group_rank","text":"Group_rank(group::Group)\n\nThe rank of the process in the particular group.\n\nReturns an integer in the range 0:MPI.Group_size()-1.\n\nExternal links\n\nMPI_Group_rank man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#Topology","page":"Topology","title":"Topology","text":"","category":"section"},{"location":"reference/topology/","page":"Topology","title":"Topology","text":"MPI.Dims_create\nMPI.Cart_create\nMPI.Cart_get\nMPI.Cart_coords\nMPI.Cart_rank\nMPI.Cart_shift\nMPI.Cart_sub\nMPI.Cartdim_get\nMPI.Dist_graph_create\nMPI.Dist_graph_create_adjacent\nMPI.Dist_graph_neighbors_count\nMPI.Dist_graph_neighbors!","category":"page"},{"location":"reference/topology/#MPI.Dims_create","page":"Topology","title":"MPI.Dims_create","text":"newdims = Dims_create(nnodes::Integer, dims)\n\nA convenience function for selecting a balanced Cartesian grid of a total of nnodes nodes, for example to use with MPI.Cart_create.\n\ndims is an array or tuple of integers specifying the number of nodes in each dimension. The function returns an array newdims of the same length, such that if newdims[i] = dims[i] if dims[i] is non-zero, and prod(newdims) == nnodes, and values newdims are as close to each other as possible.\n\nnnodes should be divisible by the product of the non-zero entries of dims.\n\nExternal links\n\nMPI_Dims_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#MPI.Cart_create","page":"Topology","title":"MPI.Cart_create","text":"comm_cart = Cart_create(comm::Comm, dims; periodic=map(_->false, dims), reorder=false)\n\nCreate new MPI communicator with Cartesian topology information attached.\n\ndims is an array or tuple of integers specifying the number of MPI processes in each coordinate direction, and periodic is an array or tuple of Bools indicating the periodicity of each coordinate. prod(dims) must be less than or equal to the size of comm; if it is smaller than some processes are returned a null communicator.\n\nIf reorder == false then the rank of each process in the new group is identical to its rank in the old group, otherwise the function may reorder the processes.\n\nSee also MPI.Dims_create.\n\nExternal links\n\nMPI_Cart_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#MPI.Cart_get","page":"Topology","title":"MPI.Cart_get","text":"dims, periods, coords = Cart_get(comm::Comm)\n\nObtain information on the Cartesian topology of dimension N underlying the communicator comm. This is specified by two Cint arrays of N elements for the number of processes and periodicity properties along each Cartesian dimension. A third Cint array is returned, containing the Cartesian coordinates of the calling process.\n\nExternal links\n\nMPI_Cart_get man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#MPI.Cart_coords","page":"Topology","title":"MPI.Cart_coords","text":"coords = Cart_coords(comm::Comm, rank::Integer=Comm_rank(comm))\n\nDetermine coordinates of a process with rank rank in the Cartesian communicator comm. If no rank is provided, it returns the coordinates of the current process.\n\nReturns an integer array of the 0-based coordinates. The inverse of Cart_rank.\n\nExternal links\n\nMPI_Cart_coords man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#MPI.Cart_rank","page":"Topology","title":"MPI.Cart_rank","text":"rank = Cart_rank(comm::Comm, coords)\n\nDetermine process rank in communicator comm with Cartesian structure.  The coords array specifies the 0-based Cartesian coordinates of the process. This is the inverse of MPI.Cart_coords\n\nExternal links\n\nMPI_Cart_rank man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#MPI.Cart_shift","page":"Topology","title":"MPI.Cart_shift","text":"rank_source, rank_dest = Cart_shift(comm::Comm, direction::Integer, disp::Integer)\n\nReturn the source and destination ranks associated to a shift along a given direction.\n\nExternal links\n\nMPI_Cart_shift man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#MPI.Cart_sub","page":"Topology","title":"MPI.Cart_sub","text":"comm_sub = Cart_sub(comm::Comm, remain_dims)\n\nCreate lower-dimensional Cartesian communicator from existent Cartesian topology.\n\nremain_dims should be a boolean vector specifying the dimensions that should be kept in the generated subgrid.\n\nExternal links\n\nMPI_Cart_sub man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#MPI.Cartdim_get","page":"Topology","title":"MPI.Cartdim_get","text":"ndims = Cartdim_get(comm::Comm)\n\nReturn number of dimensions of the Cartesian topology associated with the communicator comm.\n\nExternal links\n\nMPI_Cartdim_get man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#MPI.Dist_graph_create","page":"Topology","title":"MPI.Dist_graph_create","text":"graph_comm = Dist_graph_create(comm::Comm, sources::Vector{Cint}, degrees::Vector{Cint}, destinations::Vector{Cint}; weights::Union{Vector{Cint}, Unweighted, WeightsEmpty}=UNWEIGHTED, reorder=false, infokws...)\n\nCreate a new communicator from a given directed graph topology, described by incoming and outgoing edges on an existing communicator.\n\nArguments\n\ncomm::Comm: The communicator on which the distributed graph topology should be induced.\nsources::Vector{Cint}: An array with the ranks for which this call will specify outgoing edges.\ndegrees::Vector{Cint}: An array with the number of outgoing edges for each entry in the sources array.\ndestinations::Vector{Cint}: An array containing with lenght of the sum of the entries in the degrees array                               describing the ranks towards the edges point.\nweights::Union{Vector{Cint}, Unweighted, WeightsEmpty}=MPI.UNWEIGHTED: The edge weights of the specified edges.\nreorder::Bool=false: If set true, then the MPI implementation can reorder the source and destination indices.\n\nExample\n\nWe can generate a ring graph 1 --> 2 --> ... --> N --> 1, where N is the number of ranks in the communicator, as follows\n\njulia> rank = MPI.Comm_rank(comm);\njulia> N = MPI.Comm_size(comm);\njulia> sources = Cint[rank];\njulia> degrees = Cint[1];\njulia> destinations = Cint[mod(rank-1, N)];\njulia> graph_comm = Dist_graph_create(comm, sources, degrees, destinations)\n\nExternal links\n\nMPI_Dist_graph_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#MPI.Dist_graph_create_adjacent","page":"Topology","title":"MPI.Dist_graph_create_adjacent","text":"graph_comm = Dist_graph_create_adjacent(comm::Comm, sources::Vector{Cint}, destinations::Vector{Cint}; source_weights::Union{Vector{Cint}, Unweighted, WeightsEmpty}=UNWEIGHTED, destination_weights::Union{Vector{Cint}, Unweighted, WeightsEmpty}=UNWEIGHTED, reorder=false, infokws...)\n\nCreate a new communicator from a given directed graph topology, described by local incoming and outgoing edges on an existing communicator.\n\nArguments\n\ncomm::Comm: The communicator on which the distributed graph topology should be induced.\nsources::Vector{Cint}: The local, incoming edges on the rank of the calling process.\ndestinations::Vector{Cint}: The local, outgoing edges on the rank of the calling process.\nsource_weights::Union{Vector{Cint}, Unweighted, WeightsEmpty}=MPI.UNWEIGHTED: The edge weights of the local, incoming edges.\ndestinations_weights::Union{Vector{Cint}, Unweighted, WeightsEmpty}=MPI.UNWEIGHTED: The edge weights of the local, outgoing edges.\nreorder::Bool=false: If set true, then the MPI implementation can reorder the source and destination indices.\n\nExample\n\nWe can generate a ring graph 1 --> 2 --> ... --> N --> 1, where N is the number of ranks in the communicator, as follows\n\njulia> rank = MPI.Comm_rank(comm);\njulia> N = MPI.Comm_size(comm);\njulia> sources = Cint[mod(rank-1, N)];\njulia> destinations = Cint[mod(rank+1, N)];\njulia> graph_comm = Dist_graph_create_adjacent(comm, sources, destinations);\n\nExternal links\n\nMPI_Dist_graph_create_adjacent man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#MPI.Dist_graph_neighbors_count","page":"Topology","title":"MPI.Dist_graph_neighbors_count","text":"indegree, outdegree, weighted = Dist_graph_neighbors_count(graph_comm::Comm)\n\nReturn the number of in and out edges for the calling processes in a distributed graph topology and a flag indicating whether the distributed graph is weighted.\n\nArguments\n\ngraph_comm::Comm: The communicator of the distributed graph topology.\n\nExample\n\nLet us assume the following graph 0 <--> 1 --> 2, which has no weights on its edges, then the process with rank 1 will obtain the following result from calling the function\n\njulia> Dist_graph_neighbors_count(graph_comm)\n(1,2,false)\n\nExternal links\n\nMPI_Dist_graph_neighbors_count man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#MPI.Dist_graph_neighbors!","page":"Topology","title":"MPI.Dist_graph_neighbors!","text":"Dist_graph_neighbors!(graph_comm::Comm, sources::Vector{Cint}, source_weights::Vector{Cint}, destinations::Vector{Cint}, destination_weights::Vector{Cint})\n\nReturn the neighbors and edge weights of the calling process in a distributed graph topology.\n\nArguments\n\ngraph_comm::Comm: The communicator of the distributed graph topology.\nsources::Vector{Cint}: A preallocated vector, which will be filled with the ranks                       of the processes whose edges pointing towards the calling process. The                       length is exactly the indegree returned by MPI.Dist_graph_neighbors_count.\nsource_weights::Vector{Cint}: A preallocated vector, which will be filled with the weights                       associated to the edges pointing towards the calling process. The                       length is exactly the indegree returned by MPI.Dist_graph_neighbors_count.\ndestinations::Vector{Cint}: A preallocated vector, which will be filled with the ranks                       of the processes towards which the edges of the calling process point. The                       length is exactly the outdegree returned by MPI.Dist_graph_neighbors_count.\ndestination_weights::Vector{Cint}: A preallocated vector, which will be filled with the weights                       associated to the edges of the outgoing edges of the calling process point. The                       length is exactly the outdegree returned by MPI.Dist_graph_neighbors_count.\n\nExample\n\nLet us assume the following graph 0 <-3-> 1 -4-> 2, then the process with rank 1 will require to preallocate a sources vector of length 1 and a destination vector of length 2. The call will fill the vectors as follows:\n\njulia> Dist_graph_neighbors!(graph_comm, sources, source_weights, destinations, destination_weights);\njulia> sources\n[0]\njulia> source_weights\n[3]\njulia> destinations\n[0,2]\njulia> destination_weights\n[3,4]\n\nNote that the edge between ranks 0 and 1 can have a different weight depending on wether it is the incoming edge \"(0,1)\" or the outgoing one \"(1,0)\".\n\nExternal links\n\nMPI_Dist_graph_neighbors man page: OpenMPI, MPICH\n\n\n\n\n\nDist_graph_neighbors!(graph_comm::Comm, sources::Vector{Cint}, destinations::Vector{Cint})\n\nReturn the neighbors of the calling process in a distributed graph topology without edge weights.\n\nArguments\n\ngraph_comm::Comm: The communicator of the distributed graph topology.\nsources::Vector{Cint}: A preallocated vector, which will be filled with the ranks of the                       processes whose edges pointing towards the calling process. The                       length is exactly the indegree returned by MPI.Dist_graph_neighbors_count.\ndestinations::Vector{Cint}: A preallocated vector, which will be filled with the ranks                       of the processes towards which the edges of the calling process point. The                       length is exactly the outdegree returned by MPI.Dist_graph_neighbors_count.\n\nExample\n\nLet us assume the following graph 0 <--> 1 --> 2, then the process with rank 1 will require to preallocate a sources vector of length 1 and a destination vector of length 2. The call will fill the vectors as follows:\n\njulia> Dist_graph_neighbors!(graph_comm, sources, destinations);\njulia> sources\n[0]\njulia> destinations\n[0,2]\n\nExternal links\n\nMPI_Dist_graph_neighbors man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"examples/05-job_schedule/","page":"Job Scheduling","title":"Job Scheduling","text":"EditURL = \"https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/05-job_schedule.jl\"","category":"page"},{"location":"examples/05-job_schedule/#Job-Scheduling","page":"Job Scheduling","title":"Job Scheduling","text":"","category":"section"},{"location":"examples/05-job_schedule/","page":"Job Scheduling","title":"Job Scheduling","text":"# examples/05-job_schedule.jl\n# This example demonstrates a job scheduling through adding the\n# number 100 to every component of the vector data. The root\n# assigns one element to each worker to compute the operation.\n# When the worker is finished, the root sends another element\n# until each element is added 100\n# Inspired on\n# https://www.hpc.ntnu.no/ntnu-hpc-group/vilje/user-guide/software/mpi-and-mpi-io-training-tutorial/basic-mpi/job-queue\n\nusing MPI\n\nfunction job_queue(data,f)\n    MPI.Init()\n\n    comm = MPI.COMM_WORLD\n    rank = MPI.Comm_rank(comm)\n    world_size = MPI.Comm_size(comm)\n    nworkers = world_size - 1\n\n    root = 0\n\n    MPI.Barrier(comm)\n    T = eltype(data)\n    N = size(data)[1]\n    send_mesg = Array{T}(undef, 1)\n    recv_mesg = Array{T}(undef, 1)\n\n    if rank == root # I am root\n\n        idx_recv = 0\n        idx_sent = 1\n\n        new_data = Array{T}(undef, N)\n        # Array of workers requests\n        sreqs_workers = Array{MPI.Request}(undef,nworkers)\n        # -1 = start, 0 = channel not available, 1 = channel available\n        status_workers = ones(nworkers).*-1\n\n        # Send message to workers\n        for dst in 1:nworkers\n            if idx_sent > N\n                break\n            end\n            send_mesg[1] = data[idx_sent]\n            sreq = MPI.Isend(send_mesg, comm; dest=dst, tag=dst+32)\n            idx_sent += 1\n            sreqs_workers[dst] = sreq\n            status_workers[dst] = 0\n            print(\"Root: Sent number $(send_mesg[1]) to Worker $dst\\n\")\n        end\n\n        # Send and receive messages until all elements are added\n        while idx_recv != N\n            # Check to see if there is an available message to receive\n            for dst in 1:nworkers\n                if status_workers[dst] == 0\n                    flag = MPI.Test(sreqs_workers[dst])\n                    if flag\n                        status_workers[dst] = 1\n                    end\n                end\n            end\n            for dst in 1:nworkers\n                if status_workers[dst] == 1\n                    ismessage = MPI.Iprobe(comm; source=dst, tag=dst+32)\n                    if ismessage\n                        # Receives message\n                        MPI.Recv!(recv_mesg, comm; source=dst, tag=dst+32)\n                        idx_recv += 1\n                        new_data[idx_recv] = recv_mesg[1]\n                        print(\"Root: Received number $(recv_mesg[1]) from Worker $dst\\n\")\n                        if idx_sent <= N\n                            send_mesg[1] = data[idx_sent]\n                            # Sends new message\n                            sreq = MPI.Isend(send_mesg, comm; dest=dst, tag=dst+32)\n                            idx_sent += 1\n                            sreqs_workers[dst] = sreq\n                            status_workers[dst] = 1\n                            print(\"Root: Sent number $(send_mesg[1]) to Worker $dst\\n\")\n                        end\n                    end\n                end\n            end\n        end\n\n        for dst in 1:nworkers\n            # Termination message to worker\n            send_mesg[1] = -1\n            sreq = MPI.Isend(send_mesg, comm; dest=dst, tag=dst+32)\n            sreqs_workers[dst] = sreq\n            status_workers[dst] = 0\n            print(\"Root: Finish Worker $dst\\n\")\n        end\n\n        MPI.Waitall(sreqs_workers)\n        print(\"Root: New data = $new_data\\n\")\n    else # If rank == worker\n        # -1 = start, 0 = channel not available, 1 = channel available\n        status_worker = -1\n        while true\n            sreqs_workers = Array{MPI.Request}(undef,1)\n            ismessage = MPI.Iprobe(comm; source=root, tag=rank+32)\n\n            if ismessage\n                # Receives message\n                MPI.Recv!(recv_mesg, comm; source=root, tag=rank+32)\n                # Termination message from root\n                if recv_mesg[1] == -1\n                    print(\"Worker $rank: Finish\\n\")\n                    break\n                end\n                print(\"Worker $rank: Received number $(recv_mesg[1]) from root\\n\")\n                # Apply function (add number 100) to array\n                send_mesg = f(recv_mesg)\n                sreq = MPI.Isend(send_mesg, comm; dest=root, tag=rank+32)\n                sreqs_workers[1] = sreq\n                status_worker = 0\n            end\n            # Check to see if there is an available message to receive\n            if status_worker == 0\n                flag = MPI.Test(sreqs_workers[1])\n                if flag\n                    status_worker = 1\n                end\n            end\n        end\n    end\n    MPI.Barrier(comm)\n    MPI.Finalize()\nend\n\nf = x -> x.+100\ndata = collect(1:10)\njob_queue(data,f)","category":"page"},{"location":"examples/05-job_schedule/","page":"Job Scheduling","title":"Job Scheduling","text":"> mpiexecjl -n 4 julia examples/05-job_schedule.jl\nRoot: Sent number 1 to Worker 1\nRoot: Sent number 2 to Worker 2\nRoot: Sent number 3 to Worker 3\nWorker 1: Received number 1 from root\nRoot: Received number 101 from Worker 1\nRoot: Sent number 4 to Worker 1\nWorker 1: Received number 4 from root\nRoot: Received number 104 from Worker 1\nRoot: Sent number 5 to Worker 1\nWorker 1: Received number 5 from root\nRoot: Received number 105 from Worker 1\nRoot: Sent number 6 to Worker 1\nWorker 1: Received number 6 from root\nRoot: Received number 106 from Worker 1\nRoot: Sent number 7 to Worker 1\nWorker 1: Received number 7 from root\nRoot: Received number 107 from Worker 1\nRoot: Sent number 8 to Worker 1\nWorker 1: Received number 8 from root\nRoot: Received number 108 from Worker 1\nRoot: Sent number 9 to Worker 1\nWorker 1: Received number 9 from root\nRoot: Received number 109 from Worker 1\nRoot: Sent number 10 to Worker 1\nWorker 1: Received number 10 from root\nRoot: Received number 110 from Worker 1\nWorker 2: Received number 2 from root\nWorker 3: Received number 3 from root\nRoot: Received number 102 from Worker 2\nRoot: Received number 103 from Worker 3\nRoot: Finish Worker 1\nWorker 1: Finish\nRoot: Finish Worker 2\nRoot: Finish Worker 3\nWorker 3: Finish\nRoot: New data = [101, 104, 105, 106, 107, 108, 109, 110, 102, 103]\nWorker 2: Finish","category":"page"},{"location":"reference/advanced/#Advanced","page":"Advanced","title":"Advanced","text":"","category":"section"},{"location":"reference/advanced/#Object-handling","page":"Advanced","title":"Object handling","text":"","category":"section"},{"location":"reference/advanced/","page":"Advanced","title":"Advanced","text":"MPI.free","category":"page"},{"location":"reference/advanced/#MPI.free","page":"Advanced","title":"MPI.free","text":"MPI.free(obj)\n\nFree the MPI object handle obj. This is typically used as the finalizer, and so need not be called directly unless otherwise noted.\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#Datatype-objects","page":"Advanced","title":"Datatype objects","text":"","category":"section"},{"location":"reference/advanced/","page":"Advanced","title":"Advanced","text":"MPI.Datatype\nMPI.to_type\nMPI.Types.extent\nMPI.Types.create_contiguous\nMPI.Types.create_vector\nMPI.Types.create_hvector\nMPI.Types.create_subarray\nMPI.Types.create_struct\nMPI.Types.create_resized\nMPI.Types.commit!\nMPI.Types.duplicate","category":"page"},{"location":"reference/advanced/#MPI.Datatype","page":"Advanced","title":"MPI.Datatype","text":"Datatype\n\nA Datatype represents the layout of the data in memory.\n\nUsage\n\nDatatype(T)\n\nEither return the predefined Datatype corresponding to T, or create a new Datatype for the Julia type T, calling Types.commit! so that it can be used for communication operations.\n\nNote that this can only be called on types for which isbitstype(T) is true.\n\n\n\n\n\n","category":"type"},{"location":"reference/advanced/#MPI.to_type","page":"Advanced","title":"MPI.to_type","text":"to_type(datatype::Datatype)\n\nReturn the Julia type corresponding to the MPI Datatype datatype, or nothing if it doesn't correspond directly.\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#MPI.Types.extent","page":"Advanced","title":"MPI.Types.extent","text":"lb, extent = MPI.Types.extent(dt::MPI.Datatype)\n\nGets the lowerbound lb and the extent extent in bytes.\n\nExternal links\n\nMPI_Type_get_extent man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#MPI.Types.create_contiguous","page":"Advanced","title":"MPI.Types.create_contiguous","text":"MPI.Types.create_contiguous(count::Integer, oldtype::MPI.Datatype)\n\nCreate a derived Datatype that replicates oldtype into count contiguous locations.\n\nNote that MPI.Types.commit! must be used before the datatype can be used for communication.\n\nExternal links\n\nMPI_Type_contiguous man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#MPI.Types.create_vector","page":"Advanced","title":"MPI.Types.create_vector","text":"MPI.Types.create_vector(count::Integer, blocklength::Integer, stride::Integer, oldtype::MPI.Datatype)\n\nCreate a derived Datatype that replicates oldtype into locations that consist of equally spaced blocks.\n\nNote that MPI.Types.commit! must be used before the datatype can be used for communication.\n\nExample\n\ndatatype = MPI.Types.create_vector(3, 2, 5, MPI.Datatype(Int64))\nMPI.Types.commit!(datatype)\n\nwill create a datatype with the following layout\n\n|<----->|  block length\n\n+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+\n| X | X |   |   |   | X | X |   |   |   | X | X |   |   |   |\n+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+\n\n|<---- stride ----->|\n\nwhere each segment represents an Int64.\n\n(image by Jonathan Dursi, https://stackoverflow.com/a/10788351/392585)\n\nExternal links\n\nMPI_Type_vector man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#MPI.Types.create_hvector","page":"Advanced","title":"MPI.Types.create_hvector","text":"MPI.Types.create_hvector(count::Integer, blocklength::Integer, stride::Integer, oldtype::MPI.Datatype)\n\nCreate a derived Datatype that replicates oldtype into locations that consist of equally spaced (bytes) blocks.\n\nNote that MPI.Types.commit! must be used before the datatype can be used for communication.\n\nExample\n\ndatatype = MPI.Types.create_hvector(3, 2, 5, MPI.Datatype(Int64))\nMPI.Types.commit!(datatype)\n\nExternal links\n\nMPI_Type_create_hvector man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#MPI.Types.create_subarray","page":"Advanced","title":"MPI.Types.create_subarray","text":"MPI.Types.create_subarray(sizes, subsizes, offset, oldtype::Datatype;\n                          rowmajor=false)\n\nCreates a derived Datatype describing an N-dimensional subarray of size subsizes of an N-dimensional array of size sizes and element type oldtype, with the first element offset by offset (i.e. the 0-based index of the first element).\n\nColumn-major indexing (used by Julia and Fortran) is assumed; use the keyword rowmajor=true to specify row-major layout (used by C and numpy).\n\nNote that MPI.Types.commit! must be used before the datatype can be used for communication.\n\nExternal links\n\nMPI_Type_create_subarray man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#MPI.Types.create_struct","page":"Advanced","title":"MPI.Types.create_struct","text":"MPI.Types.create_struct(blocklengths, displacements, types)\n\nCreates a derived Datatype describing a struct layout.\n\nNote that MPI.Types.commit! must be used before the datatype can be used for communication.\n\nExternal links\n\nMPI_Type_create_struct man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#MPI.Types.create_resized","page":"Advanced","title":"MPI.Types.create_resized","text":"MPI.Types.create_resized(oldtype::Datatype, lb::Integer, extent::Integer)\n\nCreates a new Datatype that is identical to oldtype, except that the lower bound of this new datatype is set to be lb, and its upper bound is set to be lb + extent.\n\nNote that MPI.Types.commit! must be used before the datatype can be used for communication.\n\nSee also\n\nMPI.Types.extent\n\nExternal links\n\nMPI_Type_create_resized man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#MPI.Types.commit!","page":"Advanced","title":"MPI.Types.commit!","text":"MPI.Types.commit!(newtype::Datatype)\n\nCommits the Datatype newtype so that it can be used for communication. Returns newtype.\n\nExternal links\n\nMPI_Type_commit man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#MPI.Types.duplicate","page":"Advanced","title":"MPI.Types.duplicate","text":"MPI.Types.duplicate(oldtype::Datatype)\n\nDuplicates the datatype oldtype.\n\nExternal links\n\nMPI_Type_dup man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#Operator-objects","page":"Advanced","title":"Operator objects","text":"","category":"section"},{"location":"reference/advanced/","page":"Advanced","title":"Advanced","text":"MPI.Op","category":"page"},{"location":"reference/advanced/#MPI.Op","page":"Advanced","title":"MPI.Op","text":"Op\n\nAn MPI reduction operator, for use with Reduce/Scan collective operations to wrap binary operators. MPI.jl will perform this conversion automatically.\n\nUsage\n\nOp(op, T=Any; iscommutative=false)\n\nWrap the Julia reduction function op for arguments of type T. op is assumed to be associative, and if iscommutative is true, assumed to be commutative as well.\n\nSee also\n\nReduce!/Reduce\nAllreduce!/Allreduce\nScan!/Scan\nExscan!/Exscan\n\n\n\n\n\n","category":"type"},{"location":"reference/advanced/#Info-objects","page":"Advanced","title":"Info objects","text":"","category":"section"},{"location":"reference/advanced/","page":"Advanced","title":"Advanced","text":"MPI.Info\nMPI.infoval","category":"page"},{"location":"reference/advanced/#MPI.Info","page":"Advanced","title":"MPI.Info","text":"Info <: AbstractDict{Symbol,String}\n\nMPI.Info objects store key-value pairs, and are typically used for passing optional arguments to MPI functions.\n\nUsage\n\nThese will typically be hidden from user-facing APIs by splatting keywords, e.g.\n\nfunction f(args...; kwargs...)\n    info = Info(kwargs...)\n    # pass `info` object to `ccall`\nend\n\nFor manual usage, Info objects act like Julia Dict objects:\n\ninfo = Info(init=true) # keyword argument is required\ninfo[key] = value\nx = info[key]\ndelete!(info, key)\n\nIf init=false is used in the costructor (the default), a \"null\" Info object will be returned: no keys can be added to such an object.\n\n\n\n\n\n","category":"type"},{"location":"reference/advanced/#MPI.infoval","page":"Advanced","title":"MPI.infoval","text":"infoval(x)\n\nConvert Julia object x to a string representation for storing in an Info object.\n\nThe MPI specification allows passing strings, Boolean values, integers, and lists.\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#Error-handler-objects","page":"Advanced","title":"Error handler objects","text":"","category":"section"},{"location":"reference/advanced/","page":"Advanced","title":"Advanced","text":"MPI.Errhandler\nMPI.get_errorhandler\nMPI.set_errorhandler!","category":"page"},{"location":"reference/advanced/#MPI.Errhandler","page":"Advanced","title":"MPI.Errhandler","text":"MPI.Errhandler\n\nAn MPI error handler object. Currently only two are supported:\n\nERRORS_ARE_FATAL (default): program will immediately abort\nERRORS_RETURN: program will throw an MPIError.\n\n\n\n\n\n","category":"type"},{"location":"reference/advanced/#MPI.get_errorhandler","page":"Advanced","title":"MPI.get_errorhandler","text":"MPI.get_errorhandler(comm::MPI.Comm)\nMPI.get_errorhandler(win::MPI.Win)\nMPI.get_errorhandler(file::MPI.File.FileHandle)\n\nGet the current Errhandler for the relevant MPI object.\n\nSee also\n\nset_errorhandler!\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#MPI.set_errorhandler!","page":"Advanced","title":"MPI.set_errorhandler!","text":"MPI.set_errorhandler!(comm::MPI.Comm, errh::Errhandler)\nMPI.set_errorhandler!(win::MPI.Win, errh::Errhandler)\nMPI.set_errorhandler!(file::MPI.File.FileHandle, errh::Errhandler)\n\nSet the Errhandler for the relevant MPI object.\n\nSee also\n\nget_errorhandler\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#Miscellaneous","page":"Advanced","title":"Miscellaneous","text":"","category":"section"},{"location":"reference/advanced/","page":"Advanced","title":"Advanced","text":"MPI.API.@const_ref","category":"page"},{"location":"reference/advanced/#MPI.API.@const_ref","page":"Advanced","title":"MPI.API.@const_ref","text":"@const_ref name T expr\n\nDefines an constant binding\n\nconst name = Ref{T}()\n\nand adds a hook to execute\n\nname[] = expr\n\nat module initialization time.\n\n\n\n\n\n","category":"macro"},{"location":"examples/06-scatterv/","page":"Scatterv and Gatherv","title":"Scatterv and Gatherv","text":"EditURL = \"https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/06-scatterv.jl\"","category":"page"},{"location":"examples/06-scatterv/#Scatterv-and-Gatherv","page":"Scatterv and Gatherv","title":"Scatterv and Gatherv","text":"","category":"section"},{"location":"examples/06-scatterv/","page":"Scatterv and Gatherv","title":"Scatterv and Gatherv","text":"# examples/06-scatterv.jl\n# This example shows how to use MPI.Scatterv! and MPI.Gatherv!\n# roughly based on the example from\n# https://stackoverflow.com/a/36082684/392585\n\nusing MPI\n\n\"\"\"\n    split_count(N::Integer, n::Integer)\n\nReturn a vector of `n` integers which are approximately equally sized and sum to `N`.\n\"\"\"\nfunction split_count(N::Integer, n::Integer)\n    q,r = divrem(N, n)\n    return [i <= r ? q+1 : q for i = 1:n]\nend\n\n\nMPI.Init()\n\ncomm = MPI.COMM_WORLD\nrank = MPI.Comm_rank(comm)\ncomm_size = MPI.Comm_size(comm)\n\nroot = 0\n\nif rank == root\n    M, N = 4, 7\n\n    test = Float64[i for i = 1:M, j = 1:N]\n    output = similar(test)\n    \n    # Julia arrays are stored in column-major order, so we need to split along the last dimension\n    # dimension\n    M_counts = [M for i = 1:comm_size]\n    N_counts = split_count(N, comm_size)\n\n    # store sizes in 2 * comm_size Array\n    sizes = vcat(M_counts', N_counts')\n    size_ubuf = UBuffer(sizes, 2)\n\n    # store number of values to send to each rank in comm_size length Vector\n    counts = vec(prod(sizes, dims=1))\n\n    test_vbuf = VBuffer(test, counts) # VBuffer for scatter\n    output_vbuf = VBuffer(output, counts) # VBuffer for gather\nelse\n    # these variables can be set to `nothing` on non-root processes\n    size_ubuf = UBuffer(nothing)\n    output_vbuf = test_vbuf = VBuffer(nothing)\nend\n\nif rank == root\n    println(\"Original matrix\")\n    println(\"================\")\n    @show test sizes counts\n    println()\n    println(\"Each rank\")\n    println(\"================\")\nend \nMPI.Barrier(comm)\n\nlocal_size = MPI.Scatter(size_ubuf, NTuple{2,Int}, root, comm)\nlocal_test = MPI.Scatterv!(test_vbuf, zeros(Float64, local_size), root, comm)\n\nfor i = 0:comm_size-1\n    if rank == i\n        @show rank local_test\n    end\n    MPI.Barrier(comm)\nend\n\nMPI.Gatherv!(local_test, output_vbuf, root, comm)\n\nif rank == root\n    println()\n    println(\"Final matrix\")\n    println(\"================\")\n    @show output\nend ","category":"page"},{"location":"examples/06-scatterv/","page":"Scatterv and Gatherv","title":"Scatterv and Gatherv","text":"> mpiexecjl -n 4 julia examples/06-scatterv.jl\nOriginal matrix\n================\ntest = [1.0 1.0 1.0 1.0 1.0 1.0 1.0; 2.0 2.0 2.0 2.0 2.0 2.0 2.0; 3.0 3.0 3.0 3.0 3.0 3.0 3.0; 4.0 4.0 4.0 4.0 4.0 4.0 4.0]\nsizes = [4 4 4 4; 2 2 2 1]\ncounts = [8, 8, 8, 4]\n\nEach rank\n================\nrank = 0\nlocal_test = [1.0 1.0; 2.0 2.0; 3.0 3.0; 4.0 4.0]\nrank = 1\nlocal_test = [1.0 1.0; 2.0 2.0; 3.0 3.0; 4.0 4.0]\nrank = 2\nlocal_test = [1.0 1.0; 2.0 2.0; 3.0 3.0; 4.0 4.0]\nrank = 3\nlocal_test = [1.0; 2.0; 3.0; 4.0;;]\n\nFinal matrix\n================\noutput = [1.0 1.0 1.0 1.0 1.0 1.0 1.0; 2.0 2.0 2.0 2.0 2.0 2.0 2.0; 3.0 3.0 3.0 3.0 3.0 3.0 3.0; 4.0 4.0 4.0 4.0 4.0 4.0 4.0]","category":"page"},{"location":"reference/mpipreferences/#MPIPreferences.jl","page":"MPIPreferences.jl","title":"MPIPreferences.jl","text":"","category":"section"},{"location":"reference/mpipreferences/","page":"MPIPreferences.jl","title":"MPIPreferences.jl","text":"MPIPreferences.jl is a small package based on Preferences.jl for selecting MPI implementations. These choices are compile-time constants, and so any changes will require a Julia restart.","category":"page"},{"location":"reference/mpipreferences/#Consts","page":"MPIPreferences.jl","title":"Consts","text":"","category":"section"},{"location":"reference/mpipreferences/","page":"MPIPreferences.jl","title":"MPIPreferences.jl","text":"MPIPreferences.binary\nMPIPreferences.abi","category":"page"},{"location":"reference/mpipreferences/#MPIPreferences.binary","page":"MPIPreferences.jl","title":"MPIPreferences.binary","text":"MPIPreferences.binary :: String\n\nThe currently selected binary. The possible values are\n\n\"MPICH_jll\": use the binary provided by MPICH_jll\n\"OpenMPI_jll\": use the binary provided by OpenMPI_jll\n\"MicrosoftMPI_jll\": use binary provided by MicrosoftMPI_jll\n\"MPItrampoline_jll\": use the binary provided by MPItrampoline_jll\n\"system\": use a system-provided binary.\n\n\n\n\n\n","category":"constant"},{"location":"reference/mpipreferences/#MPIPreferences.abi","page":"MPIPreferences.jl","title":"MPIPreferences.abi","text":"MPIPreferences.abi :: String\n\nThe ABI (application binary interface) of the currently selected binary. Supported values are:\n\n\"MPICH\": MPICH-compatible ABI (https://www.mpich.org/abi/)\n\"OpenMPI\": Open MPI compatible ABI (Open MPI, IBM Spectrum MPI, Fujitsu MPI)\n\"MicrosoftMPI\": Microsoft MPI\n\"MPItrampoline\": MPItrampoline\n\"HPE MPT\": HPE MPT\n\n\n\n\n\n","category":"constant"},{"location":"reference/mpipreferences/#Changing-implementations","page":"MPIPreferences.jl","title":"Changing implementations","text":"","category":"section"},{"location":"reference/mpipreferences/","page":"MPIPreferences.jl","title":"MPIPreferences.jl","text":"MPIPreferences.use_system_binary\nMPIPreferences.use_jll_binary","category":"page"},{"location":"reference/mpipreferences/#MPIPreferences.use_system_binary","page":"MPIPreferences.jl","title":"MPIPreferences.use_system_binary","text":"use_system_binary(;\n    library_names = [\"libmpi\", \"libmpi_ibm\", \"msmpi\", \"libmpich\", \"libmpi_cray\", \"libmpitrampoline\"],\n    mpiexec = \"mpiexec\",\n    abi = nothing,\n    export_prefs = false,\n    force = true)\n\nSwitches the underlying MPI implementation to a system provided one. A restart of Julia is required for the changes to take effect.\n\nOptions:\n\nlibrary_names: a name or collection of names of the MPI library, passed to Libdl.find_library. If the library isn't in the library search path, you can specify the full path to the library.\nmpiexec: the MPI launcher executable. The default is mpiexec, but some clusters require using the scheduler launcher interface (e.g. srun on Slurm, aprun on PBS). It is also possible to pass a Cmd object to include specific command line options.\nabi: the ABI of the MPI library. By default this is determined automatically using identify_abi. See abi for currently supported values.\nexport_prefs: if true, the preferences into the Project.toml instead of LocalPreferences.toml.\nforce: if true, the preferences are set even if they are already set.\n\n\n\n\n\n","category":"function"},{"location":"reference/mpipreferences/#MPIPreferences.use_jll_binary","page":"MPIPreferences.jl","title":"MPIPreferences.use_jll_binary","text":"use_jll_binary([binary]; export_prefs=false, force=true)\n\nSwitches the underlying MPI implementation to one provided by JLL packages. A restart of Julia is required for the changes to take effect.\n\nAvailable options are:\n\n\"MicrosoftMPI_jll\" (Only option and default on Winddows)\n\"MPICH_jll\" (Default on all other platform)\n\"OpenMPI_jll\"\n\"MPItrampoline_jll\"\n\nThe export_prefs option determines whether the preferences being set should be stored within LocalPreferences.toml or Project.toml.\n\n\n\n\n\n","category":"function"},{"location":"reference/mpipreferences/#Utils","page":"MPIPreferences.jl","title":"Utils","text":"","category":"section"},{"location":"reference/mpipreferences/","page":"MPIPreferences.jl","title":"MPIPreferences.jl","text":"MPIPreferences.check_unchanged\nMPIPreferences.identify_abi","category":"page"},{"location":"reference/mpipreferences/#MPIPreferences.check_unchanged","page":"MPIPreferences.jl","title":"MPIPreferences.check_unchanged","text":"MPIPreferences.check_unchanged()\n\nThrows an error if the preferences have been modified in the current Julia session, or if they are modified after this function is called.\n\nThis is should be called from the __init__() function of any package which relies on the values of MPIPreferences.\n\n\n\n\n\n","category":"function"},{"location":"reference/mpipreferences/#MPIPreferences.identify_abi","page":"MPIPreferences.jl","title":"MPIPreferences.identify_abi","text":"identify_abi(libmpi)\n\nIdentify the MPI implementation from the library version string\n\n\n\n\n\n","category":"function"},{"location":"reference/mpipreferences/#Preferences-schema","page":"MPIPreferences.jl","title":"Preferences schema","text":"","category":"section"},{"location":"reference/mpipreferences/","page":"MPIPreferences.jl","title":"MPIPreferences.jl","text":"MPIPreferences utilizes the following keys to store information in the Preferences key-value store.","category":"page"},{"location":"reference/mpipreferences/","page":"MPIPreferences.jl","title":"MPIPreferences.jl","text":"_format: the version number of the schema. Currently only \"1.0\" is supported.\nbinary: the choice of binary. This should be one of the strings listed in MPIPreferences.binary.","category":"page"},{"location":"reference/mpipreferences/","page":"MPIPreferences.jl","title":"MPIPreferences.jl","text":"If binary == \"system\", then the following keys are also required (otherwise they have no effect):","category":"page"},{"location":"reference/mpipreferences/","page":"MPIPreferences.jl","title":"MPIPreferences.jl","text":"libmpi: the filename or path of the MPI dynamic library.\nabi: The ABI of the MPI implementation. This should be one of the strings listed in MPIPreferences.abi.\nmpiexec: either\na string corresponding to the MPI launcher executable\nan array of strings, with the first entry being the executable and remaining entried being additional flags that should be used with the executable.","category":"page"},{"location":"configuration/#Configuration","page":"Configuration","title":"Configuration","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"By default, MPI.jl will download and link against the following MPI implementations:","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Microsoft MPI on Windows\nMPICH on all other platforms","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"This is suitable for most single-node use cases, but for larger systems, such as HPC clusters or multi-GPU machines, you will probably want to configure against a system-provided MPI implementation in order to exploit features such as fast network interfaces and CUDA-aware or ROCm-aware MPI interfaces.","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"The MPIPreferences.jl package allows the user to choose which MPI implementation to use in MPI.jl. It uses Preferences.jl to configure the MPI backend for each project separately. This provides a single source of truth that can be used for JLL packages (Julia packages providing C libraries) that link against MPI. It can be installed by","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"julia --project -e 'using Pkg; Pkg.add(\"MPIPreferences\")'","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"note: Note\nThe way how MPI.jl is configured has changed with MPI.jl v0.20. See Migration from MPI.jl v0.19 or earlier for more information on how to migrate your configuration from earlier MPI.jl versions.","category":"page"},{"location":"configuration/#Using-a-system-provided-MPI-backend","page":"Configuration","title":"Using a system-provided MPI backend","text":"","category":"section"},{"location":"configuration/#Requirements","page":"Configuration","title":"Requirements","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"MPI.jl requires a shared library installation of a C MPI library, supporting the MPI 3.0 standard or later. The following MPI implementations should work out-of-the-box with MPI.jl:","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Open MPI\nMPICH (v3.1 or later)\nIntel MPI\nMicrosoft MPI\nIBM Spectrum MPI\nMVAPICH\nCray MPICH\nFujitsu MPI\nHPE MPT/HMPT","category":"page"},{"location":"configuration/#configure_system_binary","page":"Configuration","title":"Configuration","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Run MPIPreferences.use_system_binary(). This will attempt to locate and to identify any available MPI implementation, and create a file called LocalPreferences.toml adjacent to the current Project.toml.","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"julia --project -e 'using MPIPreferences; MPIPreferences.use_system_binary()'","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"If the implementation is changed, you will need to call this function again. See the MPIPreferences.use_system_binary documentation for specific options.","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"note: Note\nYou can copy LocalPreferences.toml to a different project folder, but you must list MPIPreferences in the [extras] or [deps] section of the Project.toml for the settings to take effect.","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"note: Note\nDue to a bug in Julia (until v1.6.5 and v1.7.1), getting preferences from transitive dependencies is broken (Preferences.jl#24). To fix this update your version of Julia, or add MPIPreferences as a direct dependency to your project.","category":"page"},{"location":"configuration/#Notes-to-HPC-cluster-administrators","page":"Configuration","title":"Notes to HPC cluster administrators","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Preferences are merged across the Julia load path, such that it is feasible to provide a module file that appends a path to JULIA_LOAD_PATH variable that contains system-wide preferences. The steps are as follows:","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Run MPIPreferences.use_system_binary(), which will generate a file LocalPreferences.toml containing something like the following:\n[MPIPreferences]\n_format = \"1.0\"\nabi = \"OpenMPI\"\nbinary = \"system\"\nlibmpi = \"/software/mpi/lib/libmpi.so\"\nmpiexec = \"/software/mpi/bin/mpiexec\"\nCreate a file called Project.toml or JuliaProject.toml in a central location, for example /software/mpi/julia or in the same directory as the MPI library module, and add the following contents:\n[extras]\nMPIPreferences = \"3da0fdf6-3ccc-4f1b-acd9-58baa6c99267\"\n\n[preferences.MPIPreferences]\n_format = \"1.0\"\nabi = \"OpenMPI\"\nbinary = \"system\"\nlibmpi = \"/software/mpi/lib/libmpi.so\"\nmpiexec = \"/software/mpi/bin/mpiexec\"\nupdating the contents of the [preferences.MPIPreferences] section match those of the [MPIPreferences] in LocalPreferences.toml.\nAppend the directory containing the file to the JULIA_LOAD_PATH environment variable, with a colon (:) separator.\nIf this variable is not already set, it should be prefixed with a colon to ensure correct behavior of the Julia load path, e.g. JULIA_LOAD_PATH=\":/software/mpi/julia\". If using environment modules, this can be achieved with\nappend-path -d {} JULIA_LOAD_PATH :/software/mpi/julia\nin the corresponding module file (preferably the module file for the MPI installation or for Julia).\nThe user can still provide differing MPI configurations for each Julia project that will take precedent by modifying the local Project.toml or by providing a LocalPreferences.toml file.","category":"page"},{"location":"configuration/#configure_jll_binary","page":"Configuration","title":"Using an alternative JLL-provided MPI library","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"The following MPI implementations are provided as JLL packages and automatically obtained when installing MPI.jl:","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"MicrosoftMPI_jll: Microsoft MPI Default for Windows\nMPICH_jll: MPICH. Default for all other systems\nOpenMPI_jll: Open MPI\nMPItrampoline_jll: MPItrampoline: an MPI forwarding layer.","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Call MPIPreferences.use_jll_binary, for example","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"julia --project -e 'using MPIPreferences; MPIPreferences.use_jll_binary(\"MPItrampoline_jll\")'","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"If you omit the JLL binary name, the default is selected for the respective operating system.","category":"page"},{"location":"configuration/#Configuration-of-the-MPI.jl-testsuite","page":"Configuration","title":"Configuration of the MPI.jl testsuite","text":"","category":"section"},{"location":"configuration/#Testing-against-a-different-MPI-implementation","page":"Configuration","title":"Testing against a different MPI implementation","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"The LocalPreferences.toml must be located within the test folder, you can either create it in place or copy it into place.","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"~/MPI> julia --project=test\njulia> using MPIPreferences\njulia> MPIPreferences.use_system_binary()\n~/MPI> rm test/Manifest.toml\n~/MPI> julia --project\n(MPI) pkg> test","category":"page"},{"location":"configuration/#Environment-variables","page":"Configuration","title":"Environment variables","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"The test suite can also be modified by the following variables:","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"JULIA_MPI_TEST_NPROCS: How many ranks to use within the tests\nJULIA_MPI_TEST_ARRAYTYPE: Set to CuArray or ROCArray to test the CUDA-aware interface with CUDA.CuArray or the ROCm-aware interface with AMDGPU.ROCArray or buffers.\nJULIA_MPI_TEST_BINARY: Check that the specified MPI binary is used for the tests\nJULIA_MPI_TEST_ABI: Check that the specified MPI ABI is used for the tests","category":"page"},{"location":"configuration/#Migration-from-MPI.jl-v0.19-or-earlier","page":"Configuration","title":"Migration from MPI.jl v0.19 or earlier","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"For MPI.jl v0.20, environment variables were used to configure which MPI library to use. These have been removed and no longer have any effect. The following subsections explain how to the same effects can be achieved with v0.20 or later.","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"note: Note\nPlease refer to Notes to HPC cluster administrators if you want to migrate your MPI.jl preferences on a cluster with a centrally managed MPI.jl configuration.","category":"page"},{"location":"configuration/#JULIA_MPI_BINARY","page":"Configuration","title":"JULIA_MPI_BINARY","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Use MPIPreferences.use_system_binary to use a system-provided MPI binary as described here. To switch back or select a different JLL-provided MPI binary, use MPIPreferences.use_jll_binary as described here.","category":"page"},{"location":"configuration/#JULIA_MPI_PATH","page":"Configuration","title":"JULIA_MPI_PATH","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Removed without replacement.","category":"page"},{"location":"configuration/#JULIA_MPI_LIBRARY","page":"Configuration","title":"JULIA_MPI_LIBRARY","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Use MPIPreferences.use_system_binary with keyword argument library_names to specify possible, non-standard library names. Alternatively, you can also specify the full path to the library.","category":"page"},{"location":"configuration/#JULIA_MPI_ABI","page":"Configuration","title":"JULIA_MPI_ABI","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Use MPIPreferences.use_system_binary with keyword argument abi to specify which ABI to use. See MPIPreferences.abi for possible values.","category":"page"},{"location":"configuration/#JULIA_MPIEXEC","page":"Configuration","title":"JULIA_MPIEXEC","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Use MPIPreferences.use_system_binary with keyword argument mpiexec to specify the MPI launcher executable.","category":"page"},{"location":"configuration/#JULIA_MPIEXEC_ARGS","page":"Configuration","title":"JULIA_MPIEXEC_ARGS","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Use MPIPreferences.use_system_binary with keyword argument mpiexec, and pass a Cmd object to set the MPI launcher executable and to include specific command line options.","category":"page"},{"location":"configuration/#JULIA_MPI_INCLUDE_PATH","page":"Configuration","title":"JULIA_MPI_INCLUDE_PATH","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Removed without replacement. Automatic generation of a constants file for unknown MPI ABIs is not supported anymore. See also #574.","category":"page"},{"location":"configuration/#JULIA_MPI_CFLAGS","page":"Configuration","title":"JULIA_MPI_CFLAGS","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Removed without replacement. Automatic generation of a constants file for unknown MPI ABIs is not supported anymore. See also #574.","category":"page"},{"location":"configuration/#JULIA_MPICC","page":"Configuration","title":"JULIA_MPICC","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Removed without replacement. Automatic generation of a constants file for unknown MPI ABIs is not supported anymore. See also #574.","category":"page"},{"location":"refindex/#Index","page":"Index","title":"Index","text":"","category":"section"},{"location":"refindex/","page":"Index","title":"Index","text":"","category":"page"},{"location":"examples/02-broadcast/","page":"Broadcast","title":"Broadcast","text":"EditURL = \"https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/02-broadcast.jl\"","category":"page"},{"location":"examples/02-broadcast/#Broadcast","page":"Broadcast","title":"Broadcast","text":"","category":"section"},{"location":"examples/02-broadcast/","page":"Broadcast","title":"Broadcast","text":"# examples/02-broadcast.jl\nimport MPI\nMPI.Init()\n\ncomm = MPI.COMM_WORLD\nN = 5\nroot = 0\n\nif MPI.Comm_rank(comm) == root\n    print(\" Running on $(MPI.Comm_size(comm)) processes\\n\")\nend\nMPI.Barrier(comm)\n\nif MPI.Comm_rank(comm) == root\n    A = [i*(1.0 + im*2.0) for i = 1:N]\nelse\n    A = Array{ComplexF64}(undef, N)\nend\n\nMPI.Bcast!(A, root, comm)\n\nprint(\"rank = $(MPI.Comm_rank(comm)), A = $A\\n\")\n\nif MPI.Comm_rank(comm) == root\n    B = Dict(\"foo\" => \"bar\")\nelse\n    B = nothing\nend\n\nB = MPI.bcast(B, root, comm)\nprint(\"rank = $(MPI.Comm_rank(comm)), B = $B\\n\")\n\nif MPI.Comm_rank(comm) == root\n    f = x -> x^2 + 2x - 1\nelse\n    f = nothing\nend\n\nf = MPI.bcast(f, root, comm)\nprint(\"rank = $(MPI.Comm_rank(comm)), f(3) = $(f(3))\\n\")","category":"page"},{"location":"examples/02-broadcast/","page":"Broadcast","title":"Broadcast","text":"> mpiexecjl -n 4 julia examples/02-broadcast.jl\n Running on 4 processes\nrank = 0, A = ComplexF64[1.0 + 2.0im, 2.0 + 4.0im, 3.0 + 6.0im, 4.0 + 8.0im, 5.0 + 10.0im]\nrank = 1, A = ComplexF64[1.0 + 2.0im, 2.0 + 4.0im, 3.0 + 6.0im, 4.0 + 8.0im, 5.0 + 10.0im]\nrank = 2, A = ComplexF64[1.0 + 2.0im, 2.0 + 4.0im, 3.0 + 6.0im, 4.0 + 8.0im, 5.0 + 10.0im]\nrank = 3, A = ComplexF64[1.0 + 2.0im, 2.0 + 4.0im, 3.0 + 6.0im, 4.0 + 8.0im, 5.0 + 10.0im]\nrank = 0, B = Dict(\"foo\" => \"bar\")\nrank = 2, B = Dict(\"foo\" => \"bar\")\nrank = 1, B = Dict(\"foo\" => \"bar\")\nrank = 3, B = Dict(\"foo\" => \"bar\")\nrank = 0, f(3) = 14\nrank = 2, f(3) = 14\nrank = 3, f(3) = 14\nrank = 1, f(3) = 14","category":"page"},{"location":"examples/03-reduce/","page":"Reduce","title":"Reduce","text":"EditURL = \"https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/03-reduce.jl\"","category":"page"},{"location":"examples/03-reduce/#Reduce","page":"Reduce","title":"Reduce","text":"","category":"section"},{"location":"examples/03-reduce/","page":"Reduce","title":"Reduce","text":"# examples/03-reduce.jl\n# This example shows how to use custom datatypes and reduction operators\n# It computes the variance in parallel in a numerically stable way\n\nusing MPI, Statistics\n\nMPI.Init()\nconst comm = MPI.COMM_WORLD\nconst root = 0\n\n# Define a custom struct\n# This contains the summary statistics (mean, variance, length) of a vector\nstruct SummaryStat\n    mean::Float64\n    var::Float64\n    n::Float64\nend\nfunction SummaryStat(X::AbstractArray)\n    m = mean(X)\n    v = varm(X,m, corrected=false)\n    n = length(X)\n    SummaryStat(m,v,n)\nend\n\n# Define a custom reduction operator\n# this computes the pooled mean, pooled variance and total length\nfunction pool(S1::SummaryStat, S2::SummaryStat)\n    n = S1.n + S2.n\n    m = (S1.mean*S1.n + S2.mean*S2.n) / n\n    v = (S1.n * (S1.var + S1.mean * (S1.mean-m)) +\n         S2.n * (S2.var + S2.mean * (S2.mean-m)))/n\n    SummaryStat(m,v,n)\nend\n\nX = randn(10,3) .* [1,3,7]'\n\n# Perform a scalar reduction\nsumm = MPI.Reduce(SummaryStat(X), pool, root, comm)\n\nif MPI.Comm_rank(comm) == root\n    @show summ.var\nend\n\n# Perform a vector reduction:\n# the reduction operator is applied elementwise\ncol_summ = MPI.Reduce(mapslices(SummaryStat,X,dims=1), pool, root, comm)\n\nif MPI.Comm_rank(comm) == root\n    col_var = map(summ -> summ.var, col_summ)\n    @show col_var\nend","category":"page"},{"location":"examples/03-reduce/","page":"Reduce","title":"Reduce","text":"> mpiexecjl -n 4 julia examples/03-reduce.jl\nsumm.var = 18.304059898664317\ncol_var = [0.8095134088162123 10.97400307742765 42.6429146274788]","category":"page"},{"location":"usage/#Usage","page":"Usage","title":"Usage","text":"","category":"section"},{"location":"usage/","page":"Usage","title":"Usage","text":"MPI is based on a single program, multiple data (SPMD) model, where multiple processes are launched running independent programs, which then communicate as necessary via messages.","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"As the main entry point for users, MPI.jl provides a high-level interface which loosely follows the MPI C API and is described in details in the following sections. The syntax should look familiar if you know MPI already, but some arguments may not be needed (e.g. the type or the number of elements of arrays, which are inferred automatically), others may be placed slightly differently, and others may be optional keyword arguments (e.g. for the index of the root process, or the source and destination of point-to-point communication functions).","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"In addition to the high-level interface, MPI.jl provides a low-level API which closely matches the MPI C API and from which it has been automatically generated. This is not intended for general usage, but it can be employed if a high-level wrapper is not yet available.","category":"page"},{"location":"usage/#Basic-example","page":"Usage","title":"Basic example","text":"","category":"section"},{"location":"usage/","page":"Usage","title":"Usage","text":"A script should include using MPI and MPI.Init() statements before calling any MPI operations, for example","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"# examples/01-hello.jl\nusing MPI\nMPI.Init()\n\ncomm = MPI.COMM_WORLD\nprintln(\"Hello world, I am $(MPI.Comm_rank(comm)) of $(MPI.Comm_size(comm))\")\nMPI.Barrier(comm)","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"Calling MPI.Finalize() at the end of the program is optional, as it will be called automatically when Julia exits.","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"The program can then be launched via an MPI launch command (typically mpiexec, mpirun or srun), e.g.","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"$ mpiexec -n 3 julia --project examples/01-hello.jl\nHello world, I am rank 0 of 3\nHello world, I am rank 2 of 3\nHello world, I am rank 1 of 3","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"The mpiexec function is provided for launching MPI programs from Julia itself.","category":"page"},{"location":"usage/#Julia-wrapper-for-mpiexec","page":"Usage","title":"Julia wrapper for mpiexec","text":"","category":"section"},{"location":"usage/","page":"Usage","title":"Usage","text":"Since you can configure MPI.jl to use one of several MPI implementations, you may have different Julia projects using different implementation.  Thus, it may be cumbersome to find out which mpiexec executable is associated to a specific project.  To make this easy, on Unix-based systems MPI.jl comes with a thin project-aware wrapper around mpiexec, called mpiexecjl.","category":"page"},{"location":"usage/#Installation","page":"Usage","title":"Installation","text":"","category":"section"},{"location":"usage/","page":"Usage","title":"Usage","text":"You can install mpiexecjl with MPI.install_mpiexecjl().  The default destination directory is joinpath(DEPOT_PATH[1], \"bin\"), which usually translates to ~/.julia/bin, but check the value on your system.  You can also tell MPI.install_mpiexecjl to install to a different directory.","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"$ julia\njulia> using MPI\njulia> MPI.install_mpiexecjl()","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"To quickly call this wrapper we recommend you to add the destination directory to your PATH environment variable.","category":"page"},{"location":"usage/#Usage-2","page":"Usage","title":"Usage","text":"","category":"section"},{"location":"usage/","page":"Usage","title":"Usage","text":"mpiexecjl has the same syntax as the mpiexec binary that will be called, but it takes in addition a --project option to call the specific binary associated to the MPI.jl version in the given project.  If no --project flag is used, the MPI.jl in the global Julia environment will be used instead.","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"After installing mpiexecjl and adding its directory to PATH, you can run it with:","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"$ mpiexecjl --project=/path/to/project -n 20 julia script.jl","category":"page"},{"location":"usage/#CUDA-aware-MPI-support","page":"Usage","title":"CUDA-aware MPI support","text":"","category":"section"},{"location":"usage/","page":"Usage","title":"Usage","text":"If your MPI implementation has been compiled with CUDA support, then CUDA.CuArrays (from the CUDA.jl package) can be passed directly as send and receive buffers for point-to-point and collective operations (they may also work with one-sided operations, but these are not often supported).","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"Successfully running the alltoall_test_cuda.jl  should confirm your MPI implementation to have the CUDA support enabled. Moreover, successfully running the  alltoall_test_cuda_multigpu.jl should confirm  your CUDA-aware MPI implementation to use multiple Nvidia GPUs (one GPU per rank).","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"If using OpenMPI, the status of CUDA support can be checked via the MPI.has_cuda() function.","category":"page"},{"location":"usage/#ROCm-aware-MPI-support","page":"Usage","title":"ROCm-aware MPI support","text":"","category":"section"},{"location":"usage/","page":"Usage","title":"Usage","text":"If your MPI implementation has been compiled with ROCm support (AMDGPU), then AMDGPU.ROCArrays (from the AMDGPU.jl package) can be passed directly as send and receive buffers for point-to-point and collective operations (they may also work with one-sided operations, but these are not often supported).","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"Successfully running the alltoall_test_rocm.jl  should confirm your MPI implementation to have the ROCm support (AMDGPU) enabled. Moreover, successfully running the  alltoall_test_rocm_multigpu.jl should confirm  your ROCm-aware MPI implementation to use multiple AMD GPUs (one GPU per rank).","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"The status of ROCm (AMDGPU) support cannot currently be queried.","category":"page"},{"location":"usage/#Writing-MPI-tests","page":"Usage","title":"Writing MPI tests","text":"","category":"section"},{"location":"usage/","page":"Usage","title":"Usage","text":"It is recommended to use the mpiexec() wrapper when writing your package tests in runtests.jl:","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"# test/runtests.jl\nusing MPI\nusing Test\n\n@testset \"hello\" begin\n    n = 2  # number of processes\n    mpiexec() do exe  # MPI wrapper\n        run(`$exe -n $n $(Base.julia_cmd()) [...]/01-hello.jl`)\n        # alternatively:\n        # p = run(ignorestatus(`...`))\n        # @test success(p)\n    end\nend","category":"page"},{"location":"reference/library/#Library-information","page":"Library information","title":"Library information","text":"","category":"section"},{"location":"reference/library/#Constants","page":"Library information","title":"Constants","text":"","category":"section"},{"location":"reference/library/","page":"Library information","title":"Library information","text":"MPI.MPI_VERSION\nMPI.MPI_LIBRARY\nMPI.MPI_LIBRARY_VERSION\nMPI.MPI_LIBRARY_VERSION_STRING","category":"page"},{"location":"reference/library/#MPI.MPI_VERSION","page":"Library information","title":"MPI.MPI_VERSION","text":"MPI_VERSION :: VersionNumber\n\nThe supported version of the MPI standard.\n\nExternal links\n\nMPI_Get_version man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"constant"},{"location":"reference/library/#MPI.MPI_LIBRARY","page":"Library information","title":"MPI.MPI_LIBRARY","text":"MPI_LIBRARY :: String\n\nThe current MPI implementation: this is determined by\n\n\n\n\n\n","category":"constant"},{"location":"reference/library/#MPI.MPI_LIBRARY_VERSION","page":"Library information","title":"MPI.MPI_LIBRARY_VERSION","text":"MPI_LIBRARY_VERSION :: VersionNumber\n\nThe version of the MPI library\n\n\n\n\n\n","category":"constant"},{"location":"reference/library/#MPI.MPI_LIBRARY_VERSION_STRING","page":"Library information","title":"MPI.MPI_LIBRARY_VERSION_STRING","text":"MPI_LIBRARY_VERSION_STRING :: String\n\nThe full version string provided by the library\n\nExternal links\n\nMPI_Get_library_version man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"constant"},{"location":"reference/library/#Functions","page":"Library information","title":"Functions","text":"","category":"section"},{"location":"reference/library/","page":"Library information","title":"Library information","text":"MPI.has_cuda\nMPI.identify_implementation","category":"page"},{"location":"reference/library/#MPI.has_cuda","page":"Library information","title":"MPI.has_cuda","text":"MPI.has_cuda()\n\nCheck if the MPI implementation is known to have CUDA support. Currently only Open MPI provides a mechanism to check, so it will return false with other implementations (unless overriden).\n\nThis can be overriden by setting the JULIA_MPI_HAS_CUDA environment variable to true or false.\n\n\n\n\n\n","category":"function"},{"location":"reference/library/#MPI.identify_implementation","page":"Library information","title":"MPI.identify_implementation","text":"impl, version = identify_implementation()\n\nAttempt to identify the MPI implementation based on MPI_LIBRARY_VERSION_STRING. Returns a triple of values:\n\nimpl: a String with the name of the MPI implementation, or \"unknown\" if it cannot be determined,\nversion: a VersionNumber of the library, or nothing if it cannot be determined.\n\nThis function is only intended for internal use. Users should use MPI_LIBRARY, MPI_LIBRARY_VERSION.\n\n\n\n\n\n","category":"function"},{"location":"examples/01-hello/","page":"Hello world","title":"Hello world","text":"EditURL = \"https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/01-hello.jl\"","category":"page"},{"location":"examples/01-hello/#Hello-world","page":"Hello world","title":"Hello world","text":"","category":"section"},{"location":"examples/01-hello/","page":"Hello world","title":"Hello world","text":"# examples/01-hello.jl\nusing MPI\nMPI.Init()\n\ncomm = MPI.COMM_WORLD\nprint(\"Hello world, I am rank $(MPI.Comm_rank(comm)) of $(MPI.Comm_size(comm))\\n\")\nMPI.Barrier(comm)","category":"page"},{"location":"examples/01-hello/","page":"Hello world","title":"Hello world","text":"> mpiexecjl -n 4 julia examples/01-hello.jl\nHello world, I am rank 0 of 4\nHello world, I am rank 1 of 4\nHello world, I am rank 3 of 4\nHello world, I am rank 2 of 4","category":"page"},{"location":"reference/misc/#Miscellanea","page":"Miscellanea","title":"Miscellanea","text":"","category":"section"},{"location":"reference/misc/#Functions","page":"Miscellanea","title":"Functions","text":"","category":"section"},{"location":"reference/misc/","page":"Miscellanea","title":"Miscellanea","text":"MPI.Get_processor_name","category":"page"},{"location":"reference/misc/#MPI.Get_processor_name","page":"Miscellanea","title":"MPI.Get_processor_name","text":"Get_processor_name()\n\nReturn the name of the processor, as a String.\n\nExternal links\n\nMPI_Get_processor_name man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/api/#Low-level-API","page":"Low-level API","title":"Low-level API","text":"","category":"section"},{"location":"reference/api/","page":"Low-level API","title":"Low-level API","text":"The MPI.API submodule provides a low-level interface which closely matches the MPI C API. While these functions are not intended for general usage, they are useful for calling MPI routines not yet available in MPI.jl main interface, and is the basis for the high-level wrappers. The methods suffixed with _c allow MPI_count typed arguments (vs int for the standard ones). The size of MPI_count depends on the implementation, but usually allows 64bit integer offsets.","category":"page"},{"location":"reference/api/","page":"Low-level API","title":"Low-level API","text":"Modules = [MPI.API]\nOrder = [:function]","category":"page"},{"location":"reference/api/#MPI.API.MPI_Abort-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Abort","text":"MPI_Abort(comm, errorcode)\n\nMPI_Abort man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Accumulate-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Accumulate","text":"MPI_Accumulate(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win)\n\nMPI_Accumulate man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Accumulate_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Accumulate_c","text":"MPI_Accumulate_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win)\n\nMPI_Accumulate_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Add_error_class-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Add_error_class","text":"MPI_Add_error_class(errorclass)\n\nMPI_Add_error_class man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Add_error_code-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Add_error_code","text":"MPI_Add_error_code(errorclass, errorcode)\n\nMPI_Add_error_code man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Add_error_string-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Add_error_string","text":"MPI_Add_error_string(errorcode, string)\n\nMPI_Add_error_string man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Address-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Address","text":"MPI_Address(location, address)\n\nMPI_Address man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Aint_add-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Aint_add","text":"MPI_Aint_add(base, disp)\n\nMPI_Aint_add man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Aint_diff-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Aint_diff","text":"MPI_Aint_diff(addr1, addr2)\n\nMPI_Aint_diff man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Allgather-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Allgather","text":"MPI_Allgather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)\n\nMPI_Allgather man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Allgather_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Allgather_c","text":"MPI_Allgather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)\n\nMPI_Allgather_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Allgather_init-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Allgather_init","text":"MPI_Allgather_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)\n\nMPI_Allgather_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Allgather_init_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Allgather_init_c","text":"MPI_Allgather_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)\n\nMPI_Allgather_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Allgatherv-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Allgatherv","text":"MPI_Allgatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm)\n\nMPI_Allgatherv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Allgatherv_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Allgatherv_c","text":"MPI_Allgatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm)\n\nMPI_Allgatherv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Allgatherv_init-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Allgatherv_init","text":"MPI_Allgatherv_init(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request)\n\nMPI_Allgatherv_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Allgatherv_init_c-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Allgatherv_init_c","text":"MPI_Allgatherv_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request)\n\nMPI_Allgatherv_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Alloc_mem-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Alloc_mem","text":"MPI_Alloc_mem(size, info, baseptr)\n\nMPI_Alloc_mem man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Allreduce-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Allreduce","text":"MPI_Allreduce(sendbuf, recvbuf, count, datatype, op, comm)\n\nMPI_Allreduce man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Allreduce_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Allreduce_c","text":"MPI_Allreduce_c(sendbuf, recvbuf, count, datatype, op, comm)\n\nMPI_Allreduce_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Allreduce_init-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Allreduce_init","text":"MPI_Allreduce_init(sendbuf, recvbuf, count, datatype, op, comm, info, request)\n\nMPI_Allreduce_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Allreduce_init_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Allreduce_init_c","text":"MPI_Allreduce_init_c(sendbuf, recvbuf, count, datatype, op, comm, info, request)\n\nMPI_Allreduce_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Alltoall-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Alltoall","text":"MPI_Alltoall(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)\n\nMPI_Alltoall man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Alltoall_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Alltoall_c","text":"MPI_Alltoall_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)\n\nMPI_Alltoall_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Alltoall_init-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Alltoall_init","text":"MPI_Alltoall_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)\n\nMPI_Alltoall_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Alltoall_init_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Alltoall_init_c","text":"MPI_Alltoall_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)\n\nMPI_Alltoall_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Alltoallv-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Alltoallv","text":"MPI_Alltoallv(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm)\n\nMPI_Alltoallv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Alltoallv_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Alltoallv_c","text":"MPI_Alltoallv_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm)\n\nMPI_Alltoallv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Alltoallv_init-NTuple{11, Any}","page":"Low-level API","title":"MPI.API.MPI_Alltoallv_init","text":"MPI_Alltoallv_init(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request)\n\nMPI_Alltoallv_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Alltoallv_init_c-NTuple{11, Any}","page":"Low-level API","title":"MPI.API.MPI_Alltoallv_init_c","text":"MPI_Alltoallv_init_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request)\n\nMPI_Alltoallv_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Alltoallw-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Alltoallw","text":"MPI_Alltoallw(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm)\n\nMPI_Alltoallw man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Alltoallw_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Alltoallw_c","text":"MPI_Alltoallw_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm)\n\nMPI_Alltoallw_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Alltoallw_init-NTuple{11, Any}","page":"Low-level API","title":"MPI.API.MPI_Alltoallw_init","text":"MPI_Alltoallw_init(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request)\n\nMPI_Alltoallw_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Alltoallw_init_c-NTuple{11, Any}","page":"Low-level API","title":"MPI.API.MPI_Alltoallw_init_c","text":"MPI_Alltoallw_init_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request)\n\nMPI_Alltoallw_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Attr_delete-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Attr_delete","text":"MPI_Attr_delete(comm, keyval)\n\nMPI_Attr_delete man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Attr_get-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Attr_get","text":"MPI_Attr_get(comm, keyval, attribute_val, flag)\n\nMPI_Attr_get man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Attr_put-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Attr_put","text":"MPI_Attr_put(comm, keyval, attribute_val)\n\nMPI_Attr_put man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Barrier-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Barrier","text":"MPI_Barrier(comm)\n\nMPI_Barrier man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Barrier_init-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Barrier_init","text":"MPI_Barrier_init(comm, info, request)\n\nMPI_Barrier_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Bcast-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Bcast","text":"MPI_Bcast(buffer, count, datatype, root, comm)\n\nMPI_Bcast man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Bcast_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Bcast_c","text":"MPI_Bcast_c(buffer, count, datatype, root, comm)\n\nMPI_Bcast_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Bcast_init-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Bcast_init","text":"MPI_Bcast_init(buffer, count, datatype, root, comm, info, request)\n\nMPI_Bcast_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Bcast_init_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Bcast_init_c","text":"MPI_Bcast_init_c(buffer, count, datatype, root, comm, info, request)\n\nMPI_Bcast_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Bsend-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Bsend","text":"MPI_Bsend(buf, count, datatype, dest, tag, comm)\n\nMPI_Bsend man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Bsend_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Bsend_c","text":"MPI_Bsend_c(buf, count, datatype, dest, tag, comm)\n\nMPI_Bsend_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Bsend_init-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Bsend_init","text":"MPI_Bsend_init(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Bsend_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Bsend_init_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Bsend_init_c","text":"MPI_Bsend_init_c(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Bsend_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Buffer_attach-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Buffer_attach","text":"MPI_Buffer_attach(buffer, size)\n\nMPI_Buffer_attach man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Buffer_attach_c-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Buffer_attach_c","text":"MPI_Buffer_attach_c(buffer, size)\n\nMPI_Buffer_attach_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Buffer_detach-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Buffer_detach","text":"MPI_Buffer_detach(buffer_addr, size)\n\nMPI_Buffer_detach man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Buffer_detach_c-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Buffer_detach_c","text":"MPI_Buffer_detach_c(buffer_addr, size)\n\nMPI_Buffer_detach_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Cancel-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Cancel","text":"MPI_Cancel(request)\n\nMPI_Cancel man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Cart_coords-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Cart_coords","text":"MPI_Cart_coords(comm, rank, maxdims, coords)\n\nMPI_Cart_coords man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Cart_create-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Cart_create","text":"MPI_Cart_create(comm_old, ndims, dims, periods, reorder, comm_cart)\n\nMPI_Cart_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Cart_get-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Cart_get","text":"MPI_Cart_get(comm, maxdims, dims, periods, coords)\n\nMPI_Cart_get man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Cart_map-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Cart_map","text":"MPI_Cart_map(comm, ndims, dims, periods, newrank)\n\nMPI_Cart_map man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Cart_rank-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Cart_rank","text":"MPI_Cart_rank(comm, coords, rank)\n\nMPI_Cart_rank man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Cart_shift-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Cart_shift","text":"MPI_Cart_shift(comm, direction, disp, rank_source, rank_dest)\n\nMPI_Cart_shift man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Cart_sub-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Cart_sub","text":"MPI_Cart_sub(comm, remain_dims, newcomm)\n\nMPI_Cart_sub man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Cartdim_get-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Cartdim_get","text":"MPI_Cartdim_get(comm, ndims)\n\nMPI_Cartdim_get man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Close_port-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Close_port","text":"MPI_Close_port(port_name)\n\nMPI_Close_port man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_accept-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_accept","text":"MPI_Comm_accept(port_name, info, root, comm, newcomm)\n\nMPI_Comm_accept man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_call_errhandler-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_call_errhandler","text":"MPI_Comm_call_errhandler(comm, errorcode)\n\nMPI_Comm_call_errhandler man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_compare-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_compare","text":"MPI_Comm_compare(comm1, comm2, result)\n\nMPI_Comm_compare man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_connect-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_connect","text":"MPI_Comm_connect(port_name, info, root, comm, newcomm)\n\nMPI_Comm_connect man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_create-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_create","text":"MPI_Comm_create(comm, group, newcomm)\n\nMPI_Comm_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_create_errhandler-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_create_errhandler","text":"MPI_Comm_create_errhandler(comm_errhandler_fn, errhandler)\n\nMPI_Comm_create_errhandler man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_create_from_group-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_create_from_group","text":"MPI_Comm_create_from_group(group, stringtag, info, errhandler, newcomm)\n\nMPI_Comm_create_from_group man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_create_group-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_create_group","text":"MPI_Comm_create_group(comm, group, tag, newcomm)\n\nMPI_Comm_create_group man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_create_keyval-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_create_keyval","text":"MPI_Comm_create_keyval(comm_copy_attr_fn, comm_delete_attr_fn, comm_keyval, extra_state)\n\nMPI_Comm_create_keyval man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_delete_attr-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_delete_attr","text":"MPI_Comm_delete_attr(comm, comm_keyval)\n\nMPI_Comm_delete_attr man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_disconnect-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_disconnect","text":"MPI_Comm_disconnect(comm)\n\nMPI_Comm_disconnect man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_dup-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_dup","text":"MPI_Comm_dup(comm, newcomm)\n\nMPI_Comm_dup man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_dup_with_info-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_dup_with_info","text":"MPI_Comm_dup_with_info(comm, info, newcomm)\n\nMPI_Comm_dup_with_info man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_free-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_free","text":"MPI_Comm_free(comm)\n\nMPI_Comm_free man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_free_keyval-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_free_keyval","text":"MPI_Comm_free_keyval(comm_keyval)\n\nMPI_Comm_free_keyval man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_get_attr-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_get_attr","text":"MPI_Comm_get_attr(comm, comm_keyval, attribute_val, flag)\n\nMPI_Comm_get_attr man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_get_errhandler-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_get_errhandler","text":"MPI_Comm_get_errhandler(comm, errhandler)\n\nMPI_Comm_get_errhandler man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_get_info-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_get_info","text":"MPI_Comm_get_info(comm, info_used)\n\nMPI_Comm_get_info man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_get_name-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_get_name","text":"MPI_Comm_get_name(comm, comm_name, resultlen)\n\nMPI_Comm_get_name man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_get_parent-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_get_parent","text":"MPI_Comm_get_parent(parent)\n\nMPI_Comm_get_parent man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_group-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_group","text":"MPI_Comm_group(comm, group)\n\nMPI_Comm_group man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_idup-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_idup","text":"MPI_Comm_idup(comm, newcomm, request)\n\nMPI_Comm_idup man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_idup_with_info-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_idup_with_info","text":"MPI_Comm_idup_with_info(comm, info, newcomm, request)\n\nMPI_Comm_idup_with_info man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_join-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_join","text":"MPI_Comm_join(fd, intercomm)\n\nMPI_Comm_join man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_rank-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_rank","text":"MPI_Comm_rank(comm, rank)\n\nMPI_Comm_rank man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_remote_group-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_remote_group","text":"MPI_Comm_remote_group(comm, group)\n\nMPI_Comm_remote_group man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_remote_size-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_remote_size","text":"MPI_Comm_remote_size(comm, size)\n\nMPI_Comm_remote_size man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_set_attr-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_set_attr","text":"MPI_Comm_set_attr(comm, comm_keyval, attribute_val)\n\nMPI_Comm_set_attr man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_set_errhandler-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_set_errhandler","text":"MPI_Comm_set_errhandler(comm, errhandler)\n\nMPI_Comm_set_errhandler man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_set_info-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_set_info","text":"MPI_Comm_set_info(comm, info)\n\nMPI_Comm_set_info man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_set_name-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_set_name","text":"MPI_Comm_set_name(comm, comm_name)\n\nMPI_Comm_set_name man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_size-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_size","text":"MPI_Comm_size(comm, size)\n\nMPI_Comm_size man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_spawn-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_spawn","text":"MPI_Comm_spawn(command, argv, maxprocs, info, root, comm, intercomm, array_of_errcodes)\n\nMPI_Comm_spawn man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_spawn_multiple-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_spawn_multiple","text":"MPI_Comm_spawn_multiple(count, array_of_commands, array_of_argv, array_of_maxprocs, array_of_info, root, comm, intercomm, array_of_errcodes)\n\nMPI_Comm_spawn_multiple man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_split-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_split","text":"MPI_Comm_split(comm, color, key, newcomm)\n\nMPI_Comm_split man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_split_type-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_split_type","text":"MPI_Comm_split_type(comm, split_type, key, info, newcomm)\n\nMPI_Comm_split_type man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_test_inter-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_test_inter","text":"MPI_Comm_test_inter(comm, flag)\n\nMPI_Comm_test_inter man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Compare_and_swap-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Compare_and_swap","text":"MPI_Compare_and_swap(origin_addr, compare_addr, result_addr, datatype, target_rank, target_disp, win)\n\nMPI_Compare_and_swap man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Dims_create-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Dims_create","text":"MPI_Dims_create(nnodes, ndims, dims)\n\nMPI_Dims_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Dist_graph_create-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Dist_graph_create","text":"MPI_Dist_graph_create(comm_old, n, sources, degrees, destinations, weights, info, reorder, comm_dist_graph)\n\nMPI_Dist_graph_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Dist_graph_create_adjacent-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Dist_graph_create_adjacent","text":"MPI_Dist_graph_create_adjacent(comm_old, indegree, sources, sourceweights, outdegree, destinations, destweights, info, reorder, comm_dist_graph)\n\nMPI_Dist_graph_create_adjacent man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Dist_graph_neighbors-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Dist_graph_neighbors","text":"MPI_Dist_graph_neighbors(comm, maxindegree, sources, sourceweights, maxoutdegree, destinations, destweights)\n\nMPI_Dist_graph_neighbors man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Dist_graph_neighbors_count-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Dist_graph_neighbors_count","text":"MPI_Dist_graph_neighbors_count(comm, indegree, outdegree, weighted)\n\nMPI_Dist_graph_neighbors_count man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Errhandler_create-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Errhandler_create","text":"MPI_Errhandler_create(comm_errhandler_fn, errhandler)\n\nMPI_Errhandler_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Errhandler_free-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Errhandler_free","text":"MPI_Errhandler_free(errhandler)\n\nMPI_Errhandler_free man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Errhandler_get-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Errhandler_get","text":"MPI_Errhandler_get(comm, errhandler)\n\nMPI_Errhandler_get man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Errhandler_set-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Errhandler_set","text":"MPI_Errhandler_set(comm, errhandler)\n\nMPI_Errhandler_set man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Error_class-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Error_class","text":"MPI_Error_class(errorcode, errorclass)\n\nMPI_Error_class man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Error_string-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Error_string","text":"MPI_Error_string(errorcode, string, resultlen)\n\nMPI_Error_string man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Exscan-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Exscan","text":"MPI_Exscan(sendbuf, recvbuf, count, datatype, op, comm)\n\nMPI_Exscan man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Exscan_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Exscan_c","text":"MPI_Exscan_c(sendbuf, recvbuf, count, datatype, op, comm)\n\nMPI_Exscan_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Exscan_init-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Exscan_init","text":"MPI_Exscan_init(sendbuf, recvbuf, count, datatype, op, comm, info, request)\n\nMPI_Exscan_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Exscan_init_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Exscan_init_c","text":"MPI_Exscan_init_c(sendbuf, recvbuf, count, datatype, op, comm, info, request)\n\nMPI_Exscan_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Fetch_and_op-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Fetch_and_op","text":"MPI_Fetch_and_op(origin_addr, result_addr, datatype, target_rank, target_disp, op, win)\n\nMPI_Fetch_and_op man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_c2f-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_File_c2f","text":"MPI_File_c2f(file)\n\nMPI_File_c2f man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_call_errhandler-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_call_errhandler","text":"MPI_File_call_errhandler(fh, errorcode)\n\nMPI_File_call_errhandler man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_close-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_File_close","text":"MPI_File_close(fh)\n\nMPI_File_close man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_create_errhandler-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_create_errhandler","text":"MPI_File_create_errhandler(file_errhandler_fn, errhandler)\n\nMPI_File_create_errhandler man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_delete-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_delete","text":"MPI_File_delete(filename, info)\n\nMPI_File_delete man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_f2c-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_File_f2c","text":"MPI_File_f2c(file)\n\nMPI_File_f2c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_get_amode-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_get_amode","text":"MPI_File_get_amode(fh, amode)\n\nMPI_File_get_amode man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_get_atomicity-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_get_atomicity","text":"MPI_File_get_atomicity(fh, flag)\n\nMPI_File_get_atomicity man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_get_byte_offset-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_get_byte_offset","text":"MPI_File_get_byte_offset(fh, offset, disp)\n\nMPI_File_get_byte_offset man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_get_errhandler-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_get_errhandler","text":"MPI_File_get_errhandler(file, errhandler)\n\nMPI_File_get_errhandler man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_get_group-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_get_group","text":"MPI_File_get_group(fh, group)\n\nMPI_File_get_group man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_get_info-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_get_info","text":"MPI_File_get_info(fh, info_used)\n\nMPI_File_get_info man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_get_position-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_get_position","text":"MPI_File_get_position(fh, offset)\n\nMPI_File_get_position man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_get_position_shared-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_get_position_shared","text":"MPI_File_get_position_shared(fh, offset)\n\nMPI_File_get_position_shared man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_get_size-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_get_size","text":"MPI_File_get_size(fh, size)\n\nMPI_File_get_size man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_get_type_extent-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_get_type_extent","text":"MPI_File_get_type_extent(fh, datatype, extent)\n\nMPI_File_get_type_extent man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_get_type_extent_c-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_get_type_extent_c","text":"MPI_File_get_type_extent_c(fh, datatype, extent)\n\nMPI_File_get_type_extent_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_get_view-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_get_view","text":"MPI_File_get_view(fh, disp, etype, filetype, datarep)\n\nMPI_File_get_view man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iread-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iread","text":"MPI_File_iread(fh, buf, count, datatype, request)\n\nMPI_File_iread man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iread_all-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iread_all","text":"MPI_File_iread_all(fh, buf, count, datatype, request)\n\nMPI_File_iread_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iread_all_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iread_all_c","text":"MPI_File_iread_all_c(fh, buf, count, datatype, request)\n\nMPI_File_iread_all_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iread_at-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iread_at","text":"MPI_File_iread_at(fh, offset, buf, count, datatype, request)\n\nMPI_File_iread_at man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iread_at_all-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iread_at_all","text":"MPI_File_iread_at_all(fh, offset, buf, count, datatype, request)\n\nMPI_File_iread_at_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iread_at_all_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iread_at_all_c","text":"MPI_File_iread_at_all_c(fh, offset, buf, count, datatype, request)\n\nMPI_File_iread_at_all_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iread_at_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iread_at_c","text":"MPI_File_iread_at_c(fh, offset, buf, count, datatype, request)\n\nMPI_File_iread_at_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iread_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iread_c","text":"MPI_File_iread_c(fh, buf, count, datatype, request)\n\nMPI_File_iread_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iread_shared-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iread_shared","text":"MPI_File_iread_shared(fh, buf, count, datatype, request)\n\nMPI_File_iread_shared man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iread_shared_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iread_shared_c","text":"MPI_File_iread_shared_c(fh, buf, count, datatype, request)\n\nMPI_File_iread_shared_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iwrite-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iwrite","text":"MPI_File_iwrite(fh, buf, count, datatype, request)\n\nMPI_File_iwrite man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iwrite_all-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iwrite_all","text":"MPI_File_iwrite_all(fh, buf, count, datatype, request)\n\nMPI_File_iwrite_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iwrite_all_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iwrite_all_c","text":"MPI_File_iwrite_all_c(fh, buf, count, datatype, request)\n\nMPI_File_iwrite_all_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iwrite_at-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iwrite_at","text":"MPI_File_iwrite_at(fh, offset, buf, count, datatype, request)\n\nMPI_File_iwrite_at man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iwrite_at_all-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iwrite_at_all","text":"MPI_File_iwrite_at_all(fh, offset, buf, count, datatype, request)\n\nMPI_File_iwrite_at_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iwrite_at_all_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iwrite_at_all_c","text":"MPI_File_iwrite_at_all_c(fh, offset, buf, count, datatype, request)\n\nMPI_File_iwrite_at_all_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iwrite_at_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iwrite_at_c","text":"MPI_File_iwrite_at_c(fh, offset, buf, count, datatype, request)\n\nMPI_File_iwrite_at_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iwrite_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iwrite_c","text":"MPI_File_iwrite_c(fh, buf, count, datatype, request)\n\nMPI_File_iwrite_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iwrite_shared-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iwrite_shared","text":"MPI_File_iwrite_shared(fh, buf, count, datatype, request)\n\nMPI_File_iwrite_shared man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iwrite_shared_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iwrite_shared_c","text":"MPI_File_iwrite_shared_c(fh, buf, count, datatype, request)\n\nMPI_File_iwrite_shared_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_open-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_open","text":"MPI_File_open(comm, filename, amode, info, fh)\n\nMPI_File_open man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_preallocate-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_preallocate","text":"MPI_File_preallocate(fh, size)\n\nMPI_File_preallocate man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read","text":"MPI_File_read(fh, buf, count, datatype, status)\n\nMPI_File_read man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_all-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_all","text":"MPI_File_read_all(fh, buf, count, datatype, status)\n\nMPI_File_read_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_all_begin-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_all_begin","text":"MPI_File_read_all_begin(fh, buf, count, datatype)\n\nMPI_File_read_all_begin man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_all_begin_c-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_all_begin_c","text":"MPI_File_read_all_begin_c(fh, buf, count, datatype)\n\nMPI_File_read_all_begin_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_all_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_all_c","text":"MPI_File_read_all_c(fh, buf, count, datatype, status)\n\nMPI_File_read_all_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_all_end-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_all_end","text":"MPI_File_read_all_end(fh, buf, status)\n\nMPI_File_read_all_end man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_at-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_at","text":"MPI_File_read_at(fh, offset, buf, count, datatype, status)\n\nMPI_File_read_at man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_at_all-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_at_all","text":"MPI_File_read_at_all(fh, offset, buf, count, datatype, status)\n\nMPI_File_read_at_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_at_all_begin-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_at_all_begin","text":"MPI_File_read_at_all_begin(fh, offset, buf, count, datatype)\n\nMPI_File_read_at_all_begin man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_at_all_begin_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_at_all_begin_c","text":"MPI_File_read_at_all_begin_c(fh, offset, buf, count, datatype)\n\nMPI_File_read_at_all_begin_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_at_all_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_at_all_c","text":"MPI_File_read_at_all_c(fh, offset, buf, count, datatype, status)\n\nMPI_File_read_at_all_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_at_all_end-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_at_all_end","text":"MPI_File_read_at_all_end(fh, buf, status)\n\nMPI_File_read_at_all_end man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_at_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_at_c","text":"MPI_File_read_at_c(fh, offset, buf, count, datatype, status)\n\nMPI_File_read_at_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_c","text":"MPI_File_read_c(fh, buf, count, datatype, status)\n\nMPI_File_read_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_ordered-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_ordered","text":"MPI_File_read_ordered(fh, buf, count, datatype, status)\n\nMPI_File_read_ordered man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_ordered_begin-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_ordered_begin","text":"MPI_File_read_ordered_begin(fh, buf, count, datatype)\n\nMPI_File_read_ordered_begin man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_ordered_begin_c-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_ordered_begin_c","text":"MPI_File_read_ordered_begin_c(fh, buf, count, datatype)\n\nMPI_File_read_ordered_begin_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_ordered_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_ordered_c","text":"MPI_File_read_ordered_c(fh, buf, count, datatype, status)\n\nMPI_File_read_ordered_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_ordered_end-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_ordered_end","text":"MPI_File_read_ordered_end(fh, buf, status)\n\nMPI_File_read_ordered_end man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_shared-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_shared","text":"MPI_File_read_shared(fh, buf, count, datatype, status)\n\nMPI_File_read_shared man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_shared_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_shared_c","text":"MPI_File_read_shared_c(fh, buf, count, datatype, status)\n\nMPI_File_read_shared_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_seek-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_seek","text":"MPI_File_seek(fh, offset, whence)\n\nMPI_File_seek man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_seek_shared-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_seek_shared","text":"MPI_File_seek_shared(fh, offset, whence)\n\nMPI_File_seek_shared man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_set_atomicity-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_set_atomicity","text":"MPI_File_set_atomicity(fh, flag)\n\nMPI_File_set_atomicity man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_set_errhandler-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_set_errhandler","text":"MPI_File_set_errhandler(file, errhandler)\n\nMPI_File_set_errhandler man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_set_info-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_set_info","text":"MPI_File_set_info(fh, info)\n\nMPI_File_set_info man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_set_size-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_set_size","text":"MPI_File_set_size(fh, size)\n\nMPI_File_set_size man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_set_view-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_set_view","text":"MPI_File_set_view(fh, disp, etype, filetype, datarep, info)\n\nMPI_File_set_view man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_sync-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_File_sync","text":"MPI_File_sync(fh)\n\nMPI_File_sync man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write","text":"MPI_File_write(fh, buf, count, datatype, status)\n\nMPI_File_write man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_all-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_all","text":"MPI_File_write_all(fh, buf, count, datatype, status)\n\nMPI_File_write_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_all_begin-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_all_begin","text":"MPI_File_write_all_begin(fh, buf, count, datatype)\n\nMPI_File_write_all_begin man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_all_begin_c-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_all_begin_c","text":"MPI_File_write_all_begin_c(fh, buf, count, datatype)\n\nMPI_File_write_all_begin_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_all_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_all_c","text":"MPI_File_write_all_c(fh, buf, count, datatype, status)\n\nMPI_File_write_all_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_all_end-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_all_end","text":"MPI_File_write_all_end(fh, buf, status)\n\nMPI_File_write_all_end man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_at-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_at","text":"MPI_File_write_at(fh, offset, buf, count, datatype, status)\n\nMPI_File_write_at man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_at_all-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_at_all","text":"MPI_File_write_at_all(fh, offset, buf, count, datatype, status)\n\nMPI_File_write_at_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_at_all_begin-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_at_all_begin","text":"MPI_File_write_at_all_begin(fh, offset, buf, count, datatype)\n\nMPI_File_write_at_all_begin man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_at_all_begin_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_at_all_begin_c","text":"MPI_File_write_at_all_begin_c(fh, offset, buf, count, datatype)\n\nMPI_File_write_at_all_begin_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_at_all_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_at_all_c","text":"MPI_File_write_at_all_c(fh, offset, buf, count, datatype, status)\n\nMPI_File_write_at_all_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_at_all_end-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_at_all_end","text":"MPI_File_write_at_all_end(fh, buf, status)\n\nMPI_File_write_at_all_end man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_at_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_at_c","text":"MPI_File_write_at_c(fh, offset, buf, count, datatype, status)\n\nMPI_File_write_at_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_c","text":"MPI_File_write_c(fh, buf, count, datatype, status)\n\nMPI_File_write_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_ordered-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_ordered","text":"MPI_File_write_ordered(fh, buf, count, datatype, status)\n\nMPI_File_write_ordered man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_ordered_begin-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_ordered_begin","text":"MPI_File_write_ordered_begin(fh, buf, count, datatype)\n\nMPI_File_write_ordered_begin man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_ordered_begin_c-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_ordered_begin_c","text":"MPI_File_write_ordered_begin_c(fh, buf, count, datatype)\n\nMPI_File_write_ordered_begin_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_ordered_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_ordered_c","text":"MPI_File_write_ordered_c(fh, buf, count, datatype, status)\n\nMPI_File_write_ordered_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_ordered_end-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_ordered_end","text":"MPI_File_write_ordered_end(fh, buf, status)\n\nMPI_File_write_ordered_end man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_shared-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_shared","text":"MPI_File_write_shared(fh, buf, count, datatype, status)\n\nMPI_File_write_shared man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_shared_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_shared_c","text":"MPI_File_write_shared_c(fh, buf, count, datatype, status)\n\nMPI_File_write_shared_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Finalize-Tuple{}","page":"Low-level API","title":"MPI.API.MPI_Finalize","text":"MPI_Finalize()\n\nMPI_Finalize man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Finalized-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Finalized","text":"MPI_Finalized(flag)\n\nMPI_Finalized man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Free_mem-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Free_mem","text":"MPI_Free_mem(base)\n\nMPI_Free_mem man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Gather-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Gather","text":"MPI_Gather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm)\n\nMPI_Gather man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Gather_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Gather_c","text":"MPI_Gather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm)\n\nMPI_Gather_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Gather_init-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Gather_init","text":"MPI_Gather_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request)\n\nMPI_Gather_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Gather_init_c-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Gather_init_c","text":"MPI_Gather_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request)\n\nMPI_Gather_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Gatherv-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Gatherv","text":"MPI_Gatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm)\n\nMPI_Gatherv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Gatherv_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Gatherv_c","text":"MPI_Gatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm)\n\nMPI_Gatherv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Gatherv_init-NTuple{11, Any}","page":"Low-level API","title":"MPI.API.MPI_Gatherv_init","text":"MPI_Gatherv_init(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, info, request)\n\nMPI_Gatherv_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Gatherv_init_c-NTuple{11, Any}","page":"Low-level API","title":"MPI.API.MPI_Gatherv_init_c","text":"MPI_Gatherv_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, info, request)\n\nMPI_Gatherv_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Get-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Get","text":"MPI_Get(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win)\n\nMPI_Get man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Get_accumulate-NTuple{12, Any}","page":"Low-level API","title":"MPI.API.MPI_Get_accumulate","text":"MPI_Get_accumulate(origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win)\n\nMPI_Get_accumulate man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Get_accumulate_c-NTuple{12, Any}","page":"Low-level API","title":"MPI.API.MPI_Get_accumulate_c","text":"MPI_Get_accumulate_c(origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win)\n\nMPI_Get_accumulate_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Get_address-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Get_address","text":"MPI_Get_address(location, address)\n\nMPI_Get_address man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Get_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Get_c","text":"MPI_Get_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win)\n\nMPI_Get_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Get_count-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Get_count","text":"MPI_Get_count(status, datatype, count)\n\nMPI_Get_count man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Get_count_c-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Get_count_c","text":"MPI_Get_count_c(status, datatype, count)\n\nMPI_Get_count_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Get_elements-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Get_elements","text":"MPI_Get_elements(status, datatype, count)\n\nMPI_Get_elements man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Get_elements_c-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Get_elements_c","text":"MPI_Get_elements_c(status, datatype, count)\n\nMPI_Get_elements_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Get_elements_x-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Get_elements_x","text":"MPI_Get_elements_x(status, datatype, count)\n\nMPI_Get_elements_x man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Get_library_version-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Get_library_version","text":"MPI_Get_library_version(version, resultlen)\n\nMPI_Get_library_version man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Get_processor_name-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Get_processor_name","text":"MPI_Get_processor_name(name, resultlen)\n\nMPI_Get_processor_name man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Get_version-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Get_version","text":"MPI_Get_version(version, subversion)\n\nMPI_Get_version man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Graph_create-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Graph_create","text":"MPI_Graph_create(comm_old, nnodes, indx, edges, reorder, comm_graph)\n\nMPI_Graph_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Graph_get-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Graph_get","text":"MPI_Graph_get(comm, maxindex, maxedges, indx, edges)\n\nMPI_Graph_get man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Graph_map-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Graph_map","text":"MPI_Graph_map(comm, nnodes, indx, edges, newrank)\n\nMPI_Graph_map man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Graph_neighbors-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Graph_neighbors","text":"MPI_Graph_neighbors(comm, rank, maxneighbors, neighbors)\n\nMPI_Graph_neighbors man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Graph_neighbors_count-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Graph_neighbors_count","text":"MPI_Graph_neighbors_count(comm, rank, nneighbors)\n\nMPI_Graph_neighbors_count man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Graphdims_get-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Graphdims_get","text":"MPI_Graphdims_get(comm, nnodes, nedges)\n\nMPI_Graphdims_get man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Grequest_complete-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Grequest_complete","text":"MPI_Grequest_complete(request)\n\nMPI_Grequest_complete man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Grequest_start-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Grequest_start","text":"MPI_Grequest_start(query_fn, free_fn, cancel_fn, extra_state, request)\n\nMPI_Grequest_start man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Group_compare-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Group_compare","text":"MPI_Group_compare(group1, group2, result)\n\nMPI_Group_compare man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Group_difference-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Group_difference","text":"MPI_Group_difference(group1, group2, newgroup)\n\nMPI_Group_difference man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Group_excl-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Group_excl","text":"MPI_Group_excl(group, n, ranks, newgroup)\n\nMPI_Group_excl man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Group_free-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Group_free","text":"MPI_Group_free(group)\n\nMPI_Group_free man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Group_incl-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Group_incl","text":"MPI_Group_incl(group, n, ranks, newgroup)\n\nMPI_Group_incl man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Group_intersection-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Group_intersection","text":"MPI_Group_intersection(group1, group2, newgroup)\n\nMPI_Group_intersection man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Group_range_excl-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Group_range_excl","text":"MPI_Group_range_excl(group, n, ranges, newgroup)\n\nMPI_Group_range_excl man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Group_range_incl-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Group_range_incl","text":"MPI_Group_range_incl(group, n, ranges, newgroup)\n\nMPI_Group_range_incl man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Group_rank-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Group_rank","text":"MPI_Group_rank(group, rank)\n\nMPI_Group_rank man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Group_size-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Group_size","text":"MPI_Group_size(group, size)\n\nMPI_Group_size man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Group_translate_ranks-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Group_translate_ranks","text":"MPI_Group_translate_ranks(group1, n, ranks1, group2, ranks2)\n\nMPI_Group_translate_ranks man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Group_union-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Group_union","text":"MPI_Group_union(group1, group2, newgroup)\n\nMPI_Group_union man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Iallgather-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Iallgather","text":"MPI_Iallgather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)\n\nMPI_Iallgather man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Iallgather_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Iallgather_c","text":"MPI_Iallgather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)\n\nMPI_Iallgather_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Iallgatherv-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Iallgatherv","text":"MPI_Iallgatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request)\n\nMPI_Iallgatherv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Iallgatherv_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Iallgatherv_c","text":"MPI_Iallgatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request)\n\nMPI_Iallgatherv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Iallreduce-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Iallreduce","text":"MPI_Iallreduce(sendbuf, recvbuf, count, datatype, op, comm, request)\n\nMPI_Iallreduce man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Iallreduce_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Iallreduce_c","text":"MPI_Iallreduce_c(sendbuf, recvbuf, count, datatype, op, comm, request)\n\nMPI_Iallreduce_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ialltoall-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Ialltoall","text":"MPI_Ialltoall(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)\n\nMPI_Ialltoall man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ialltoall_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Ialltoall_c","text":"MPI_Ialltoall_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)\n\nMPI_Ialltoall_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ialltoallv-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Ialltoallv","text":"MPI_Ialltoallv(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request)\n\nMPI_Ialltoallv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ialltoallv_c-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Ialltoallv_c","text":"MPI_Ialltoallv_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request)\n\nMPI_Ialltoallv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ialltoallw-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Ialltoallw","text":"MPI_Ialltoallw(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request)\n\nMPI_Ialltoallw man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ialltoallw_c-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Ialltoallw_c","text":"MPI_Ialltoallw_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request)\n\nMPI_Ialltoallw_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ibarrier-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Ibarrier","text":"MPI_Ibarrier(comm, request)\n\nMPI_Ibarrier man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ibcast-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Ibcast","text":"MPI_Ibcast(buffer, count, datatype, root, comm, request)\n\nMPI_Ibcast man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ibcast_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Ibcast_c","text":"MPI_Ibcast_c(buffer, count, datatype, root, comm, request)\n\nMPI_Ibcast_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ibsend-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Ibsend","text":"MPI_Ibsend(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Ibsend man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ibsend_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Ibsend_c","text":"MPI_Ibsend_c(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Ibsend_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Iexscan-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Iexscan","text":"MPI_Iexscan(sendbuf, recvbuf, count, datatype, op, comm, request)\n\nMPI_Iexscan man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Iexscan_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Iexscan_c","text":"MPI_Iexscan_c(sendbuf, recvbuf, count, datatype, op, comm, request)\n\nMPI_Iexscan_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Igather-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Igather","text":"MPI_Igather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request)\n\nMPI_Igather man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Igather_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Igather_c","text":"MPI_Igather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request)\n\nMPI_Igather_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Igatherv-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Igatherv","text":"MPI_Igatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, request)\n\nMPI_Igatherv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Igatherv_c-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Igatherv_c","text":"MPI_Igatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, request)\n\nMPI_Igatherv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Improbe-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Improbe","text":"MPI_Improbe(source, tag, comm, flag, message, status)\n\nMPI_Improbe man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Imrecv-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Imrecv","text":"MPI_Imrecv(buf, count, datatype, message, request)\n\nMPI_Imrecv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Imrecv_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Imrecv_c","text":"MPI_Imrecv_c(buf, count, datatype, message, request)\n\nMPI_Imrecv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ineighbor_allgather-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Ineighbor_allgather","text":"MPI_Ineighbor_allgather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)\n\nMPI_Ineighbor_allgather man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ineighbor_allgather_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Ineighbor_allgather_c","text":"MPI_Ineighbor_allgather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)\n\nMPI_Ineighbor_allgather_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ineighbor_allgatherv-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Ineighbor_allgatherv","text":"MPI_Ineighbor_allgatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request)\n\nMPI_Ineighbor_allgatherv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ineighbor_allgatherv_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Ineighbor_allgatherv_c","text":"MPI_Ineighbor_allgatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request)\n\nMPI_Ineighbor_allgatherv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ineighbor_alltoall-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Ineighbor_alltoall","text":"MPI_Ineighbor_alltoall(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)\n\nMPI_Ineighbor_alltoall man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ineighbor_alltoall_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Ineighbor_alltoall_c","text":"MPI_Ineighbor_alltoall_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)\n\nMPI_Ineighbor_alltoall_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ineighbor_alltoallv-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Ineighbor_alltoallv","text":"MPI_Ineighbor_alltoallv(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request)\n\nMPI_Ineighbor_alltoallv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ineighbor_alltoallv_c-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Ineighbor_alltoallv_c","text":"MPI_Ineighbor_alltoallv_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request)\n\nMPI_Ineighbor_alltoallv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ineighbor_alltoallw-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Ineighbor_alltoallw","text":"MPI_Ineighbor_alltoallw(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request)\n\nMPI_Ineighbor_alltoallw man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ineighbor_alltoallw_c-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Ineighbor_alltoallw_c","text":"MPI_Ineighbor_alltoallw_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request)\n\nMPI_Ineighbor_alltoallw_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Info_create-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Info_create","text":"MPI_Info_create(info)\n\nMPI_Info_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Info_create_env-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Info_create_env","text":"MPI_Info_create_env(argc, argv, info)\n\nMPI_Info_create_env man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Info_delete-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Info_delete","text":"MPI_Info_delete(info, key)\n\nMPI_Info_delete man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Info_dup-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Info_dup","text":"MPI_Info_dup(info, newinfo)\n\nMPI_Info_dup man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Info_free-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Info_free","text":"MPI_Info_free(info)\n\nMPI_Info_free man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Info_get-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Info_get","text":"MPI_Info_get(info, key, valuelen, value, flag)\n\nMPI_Info_get man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Info_get_nkeys-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Info_get_nkeys","text":"MPI_Info_get_nkeys(info, nkeys)\n\nMPI_Info_get_nkeys man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Info_get_nthkey-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Info_get_nthkey","text":"MPI_Info_get_nthkey(info, n, key)\n\nMPI_Info_get_nthkey man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Info_get_string-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Info_get_string","text":"MPI_Info_get_string(info, key, buflen, value, flag)\n\nMPI_Info_get_string man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Info_get_valuelen-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Info_get_valuelen","text":"MPI_Info_get_valuelen(info, key, valuelen, flag)\n\nMPI_Info_get_valuelen man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Info_set-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Info_set","text":"MPI_Info_set(info, key, value)\n\nMPI_Info_set man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Init-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Init","text":"MPI_Init(argc, argv)\n\nMPI_Init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Init_thread-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Init_thread","text":"MPI_Init_thread(argc, argv, required, provided)\n\nMPI_Init_thread man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Initialized-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Initialized","text":"MPI_Initialized(flag)\n\nMPI_Initialized man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Intercomm_create-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Intercomm_create","text":"MPI_Intercomm_create(local_comm, local_leader, peer_comm, remote_leader, tag, newintercomm)\n\nMPI_Intercomm_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Intercomm_create_from_groups-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Intercomm_create_from_groups","text":"MPI_Intercomm_create_from_groups(local_group, local_leader, remote_group, remote_leader, stringtag, info, errhandler, newintercomm)\n\nMPI_Intercomm_create_from_groups man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Intercomm_merge-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Intercomm_merge","text":"MPI_Intercomm_merge(intercomm, high, newintracomm)\n\nMPI_Intercomm_merge man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Iprobe-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Iprobe","text":"MPI_Iprobe(source, tag, comm, flag, status)\n\nMPI_Iprobe man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Irecv-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Irecv","text":"MPI_Irecv(buf, count, datatype, source, tag, comm, request)\n\nMPI_Irecv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Irecv_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Irecv_c","text":"MPI_Irecv_c(buf, count, datatype, source, tag, comm, request)\n\nMPI_Irecv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ireduce-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Ireduce","text":"MPI_Ireduce(sendbuf, recvbuf, count, datatype, op, root, comm, request)\n\nMPI_Ireduce man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ireduce_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Ireduce_c","text":"MPI_Ireduce_c(sendbuf, recvbuf, count, datatype, op, root, comm, request)\n\nMPI_Ireduce_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ireduce_scatter-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Ireduce_scatter","text":"MPI_Ireduce_scatter(sendbuf, recvbuf, recvcounts, datatype, op, comm, request)\n\nMPI_Ireduce_scatter man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ireduce_scatter_block-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Ireduce_scatter_block","text":"MPI_Ireduce_scatter_block(sendbuf, recvbuf, recvcount, datatype, op, comm, request)\n\nMPI_Ireduce_scatter_block man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ireduce_scatter_block_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Ireduce_scatter_block_c","text":"MPI_Ireduce_scatter_block_c(sendbuf, recvbuf, recvcount, datatype, op, comm, request)\n\nMPI_Ireduce_scatter_block_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ireduce_scatter_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Ireduce_scatter_c","text":"MPI_Ireduce_scatter_c(sendbuf, recvbuf, recvcounts, datatype, op, comm, request)\n\nMPI_Ireduce_scatter_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Irsend-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Irsend","text":"MPI_Irsend(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Irsend man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Irsend_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Irsend_c","text":"MPI_Irsend_c(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Irsend_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Is_thread_main-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Is_thread_main","text":"MPI_Is_thread_main(flag)\n\nMPI_Is_thread_main man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Iscan-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Iscan","text":"MPI_Iscan(sendbuf, recvbuf, count, datatype, op, comm, request)\n\nMPI_Iscan man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Iscan_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Iscan_c","text":"MPI_Iscan_c(sendbuf, recvbuf, count, datatype, op, comm, request)\n\nMPI_Iscan_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Iscatter-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Iscatter","text":"MPI_Iscatter(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request)\n\nMPI_Iscatter man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Iscatter_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Iscatter_c","text":"MPI_Iscatter_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request)\n\nMPI_Iscatter_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Iscatterv-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Iscatterv","text":"MPI_Iscatterv(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, request)\n\nMPI_Iscatterv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Iscatterv_c-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Iscatterv_c","text":"MPI_Iscatterv_c(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, request)\n\nMPI_Iscatterv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Isend-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Isend","text":"MPI_Isend(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Isend man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Isend_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Isend_c","text":"MPI_Isend_c(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Isend_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Isendrecv-NTuple{12, Any}","page":"Low-level API","title":"MPI.API.MPI_Isendrecv","text":"MPI_Isendrecv(sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, request)\n\nMPI_Isendrecv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Isendrecv_c-NTuple{12, Any}","page":"Low-level API","title":"MPI.API.MPI_Isendrecv_c","text":"MPI_Isendrecv_c(sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, request)\n\nMPI_Isendrecv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Isendrecv_replace-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Isendrecv_replace","text":"MPI_Isendrecv_replace(buf, count, datatype, dest, sendtag, source, recvtag, comm, request)\n\nMPI_Isendrecv_replace man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Isendrecv_replace_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Isendrecv_replace_c","text":"MPI_Isendrecv_replace_c(buf, count, datatype, dest, sendtag, source, recvtag, comm, request)\n\nMPI_Isendrecv_replace_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Issend-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Issend","text":"MPI_Issend(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Issend man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Issend_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Issend_c","text":"MPI_Issend_c(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Issend_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Keyval_create-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Keyval_create","text":"MPI_Keyval_create(copy_fn, delete_fn, keyval, extra_state)\n\nMPI_Keyval_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Keyval_free-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Keyval_free","text":"MPI_Keyval_free(keyval)\n\nMPI_Keyval_free man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Lookup_name-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Lookup_name","text":"MPI_Lookup_name(service_name, info, port_name)\n\nMPI_Lookup_name man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Mprobe-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Mprobe","text":"MPI_Mprobe(source, tag, comm, message, status)\n\nMPI_Mprobe man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Mrecv-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Mrecv","text":"MPI_Mrecv(buf, count, datatype, message, status)\n\nMPI_Mrecv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Mrecv_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Mrecv_c","text":"MPI_Mrecv_c(buf, count, datatype, message, status)\n\nMPI_Mrecv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_allgather-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_allgather","text":"MPI_Neighbor_allgather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)\n\nMPI_Neighbor_allgather man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_allgather_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_allgather_c","text":"MPI_Neighbor_allgather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)\n\nMPI_Neighbor_allgather_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_allgather_init-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_allgather_init","text":"MPI_Neighbor_allgather_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)\n\nMPI_Neighbor_allgather_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_allgather_init_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_allgather_init_c","text":"MPI_Neighbor_allgather_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)\n\nMPI_Neighbor_allgather_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_allgatherv-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_allgatherv","text":"MPI_Neighbor_allgatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm)\n\nMPI_Neighbor_allgatherv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_allgatherv_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_allgatherv_c","text":"MPI_Neighbor_allgatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm)\n\nMPI_Neighbor_allgatherv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_allgatherv_init-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_allgatherv_init","text":"MPI_Neighbor_allgatherv_init(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request)\n\nMPI_Neighbor_allgatherv_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_allgatherv_init_c-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_allgatherv_init_c","text":"MPI_Neighbor_allgatherv_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request)\n\nMPI_Neighbor_allgatherv_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_alltoall-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_alltoall","text":"MPI_Neighbor_alltoall(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)\n\nMPI_Neighbor_alltoall man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_alltoall_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_alltoall_c","text":"MPI_Neighbor_alltoall_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)\n\nMPI_Neighbor_alltoall_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_alltoall_init-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_alltoall_init","text":"MPI_Neighbor_alltoall_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)\n\nMPI_Neighbor_alltoall_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_alltoall_init_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_alltoall_init_c","text":"MPI_Neighbor_alltoall_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)\n\nMPI_Neighbor_alltoall_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_alltoallv-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_alltoallv","text":"MPI_Neighbor_alltoallv(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm)\n\nMPI_Neighbor_alltoallv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_alltoallv_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_alltoallv_c","text":"MPI_Neighbor_alltoallv_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm)\n\nMPI_Neighbor_alltoallv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_alltoallv_init-NTuple{11, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_alltoallv_init","text":"MPI_Neighbor_alltoallv_init(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request)\n\nMPI_Neighbor_alltoallv_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_alltoallv_init_c-NTuple{11, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_alltoallv_init_c","text":"MPI_Neighbor_alltoallv_init_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request)\n\nMPI_Neighbor_alltoallv_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_alltoallw-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_alltoallw","text":"MPI_Neighbor_alltoallw(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm)\n\nMPI_Neighbor_alltoallw man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_alltoallw_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_alltoallw_c","text":"MPI_Neighbor_alltoallw_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm)\n\nMPI_Neighbor_alltoallw_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_alltoallw_init-NTuple{11, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_alltoallw_init","text":"MPI_Neighbor_alltoallw_init(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request)\n\nMPI_Neighbor_alltoallw_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_alltoallw_init_c-NTuple{11, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_alltoallw_init_c","text":"MPI_Neighbor_alltoallw_init_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request)\n\nMPI_Neighbor_alltoallw_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Op_commutative-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Op_commutative","text":"MPI_Op_commutative(op, commute)\n\nMPI_Op_commutative man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Op_create-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Op_create","text":"MPI_Op_create(user_fn, commute, op)\n\nMPI_Op_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Op_create_c-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Op_create_c","text":"MPI_Op_create_c(user_fn, commute, op)\n\nMPI_Op_create_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Op_free-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Op_free","text":"MPI_Op_free(op)\n\nMPI_Op_free man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Open_port-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Open_port","text":"MPI_Open_port(info, port_name)\n\nMPI_Open_port man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Pack-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Pack","text":"MPI_Pack(inbuf, incount, datatype, outbuf, outsize, position, comm)\n\nMPI_Pack man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Pack_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Pack_c","text":"MPI_Pack_c(inbuf, incount, datatype, outbuf, outsize, position, comm)\n\nMPI_Pack_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Pack_external-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Pack_external","text":"MPI_Pack_external(datarep, inbuf, incount, datatype, outbuf, outsize, position)\n\nMPI_Pack_external man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Pack_external_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Pack_external_c","text":"MPI_Pack_external_c(datarep, inbuf, incount, datatype, outbuf, outsize, position)\n\nMPI_Pack_external_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Pack_external_size-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Pack_external_size","text":"MPI_Pack_external_size(datarep, incount, datatype, size)\n\nMPI_Pack_external_size man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Pack_external_size_c-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Pack_external_size_c","text":"MPI_Pack_external_size_c(datarep, incount, datatype, size)\n\nMPI_Pack_external_size_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Pack_size-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Pack_size","text":"MPI_Pack_size(incount, datatype, comm, size)\n\nMPI_Pack_size man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Pack_size_c-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Pack_size_c","text":"MPI_Pack_size_c(incount, datatype, comm, size)\n\nMPI_Pack_size_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Parrived-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Parrived","text":"MPI_Parrived(request, partition, flag)\n\nMPI_Parrived man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Pready-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Pready","text":"MPI_Pready(partition, request)\n\nMPI_Pready man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Pready_list-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Pready_list","text":"MPI_Pready_list(length, array_of_partitions, request)\n\nMPI_Pready_list man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Pready_range-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Pready_range","text":"MPI_Pready_range(partition_low, partition_high, request)\n\nMPI_Pready_range man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Precv_init-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Precv_init","text":"MPI_Precv_init(buf, partitions, count, datatype, dest, tag, comm, info, request)\n\nMPI_Precv_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Probe-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Probe","text":"MPI_Probe(source, tag, comm, status)\n\nMPI_Probe man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Psend_init-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Psend_init","text":"MPI_Psend_init(buf, partitions, count, datatype, dest, tag, comm, info, request)\n\nMPI_Psend_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Publish_name-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Publish_name","text":"MPI_Publish_name(service_name, info, port_name)\n\nMPI_Publish_name man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Put-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Put","text":"MPI_Put(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win)\n\nMPI_Put man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Put_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Put_c","text":"MPI_Put_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win)\n\nMPI_Put_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Query_thread-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Query_thread","text":"MPI_Query_thread(provided)\n\nMPI_Query_thread man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Raccumulate-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Raccumulate","text":"MPI_Raccumulate(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request)\n\nMPI_Raccumulate man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Raccumulate_c-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Raccumulate_c","text":"MPI_Raccumulate_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request)\n\nMPI_Raccumulate_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Recv-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Recv","text":"MPI_Recv(buf, count, datatype, source, tag, comm, status)\n\nMPI_Recv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Recv_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Recv_c","text":"MPI_Recv_c(buf, count, datatype, source, tag, comm, status)\n\nMPI_Recv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Recv_init-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Recv_init","text":"MPI_Recv_init(buf, count, datatype, source, tag, comm, request)\n\nMPI_Recv_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Recv_init_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Recv_init_c","text":"MPI_Recv_init_c(buf, count, datatype, source, tag, comm, request)\n\nMPI_Recv_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Reduce-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Reduce","text":"MPI_Reduce(sendbuf, recvbuf, count, datatype, op, root, comm)\n\nMPI_Reduce man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Reduce_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Reduce_c","text":"MPI_Reduce_c(sendbuf, recvbuf, count, datatype, op, root, comm)\n\nMPI_Reduce_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Reduce_init-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Reduce_init","text":"MPI_Reduce_init(sendbuf, recvbuf, count, datatype, op, root, comm, info, request)\n\nMPI_Reduce_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Reduce_init_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Reduce_init_c","text":"MPI_Reduce_init_c(sendbuf, recvbuf, count, datatype, op, root, comm, info, request)\n\nMPI_Reduce_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Reduce_local-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Reduce_local","text":"MPI_Reduce_local(inbuf, inoutbuf, count, datatype, op)\n\nMPI_Reduce_local man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Reduce_local_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Reduce_local_c","text":"MPI_Reduce_local_c(inbuf, inoutbuf, count, datatype, op)\n\nMPI_Reduce_local_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Reduce_scatter-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Reduce_scatter","text":"MPI_Reduce_scatter(sendbuf, recvbuf, recvcounts, datatype, op, comm)\n\nMPI_Reduce_scatter man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Reduce_scatter_block-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Reduce_scatter_block","text":"MPI_Reduce_scatter_block(sendbuf, recvbuf, recvcount, datatype, op, comm)\n\nMPI_Reduce_scatter_block man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Reduce_scatter_block_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Reduce_scatter_block_c","text":"MPI_Reduce_scatter_block_c(sendbuf, recvbuf, recvcount, datatype, op, comm)\n\nMPI_Reduce_scatter_block_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Reduce_scatter_block_init-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Reduce_scatter_block_init","text":"MPI_Reduce_scatter_block_init(sendbuf, recvbuf, recvcount, datatype, op, comm, info, request)\n\nMPI_Reduce_scatter_block_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Reduce_scatter_block_init_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Reduce_scatter_block_init_c","text":"MPI_Reduce_scatter_block_init_c(sendbuf, recvbuf, recvcount, datatype, op, comm, info, request)\n\nMPI_Reduce_scatter_block_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Reduce_scatter_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Reduce_scatter_c","text":"MPI_Reduce_scatter_c(sendbuf, recvbuf, recvcounts, datatype, op, comm)\n\nMPI_Reduce_scatter_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Reduce_scatter_init-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Reduce_scatter_init","text":"MPI_Reduce_scatter_init(sendbuf, recvbuf, recvcounts, datatype, op, comm, info, request)\n\nMPI_Reduce_scatter_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Reduce_scatter_init_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Reduce_scatter_init_c","text":"MPI_Reduce_scatter_init_c(sendbuf, recvbuf, recvcounts, datatype, op, comm, info, request)\n\nMPI_Reduce_scatter_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Register_datarep-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Register_datarep","text":"MPI_Register_datarep(datarep, read_conversion_fn, write_conversion_fn, dtype_file_extent_fn, extra_state)\n\nMPI_Register_datarep man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Register_datarep_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Register_datarep_c","text":"MPI_Register_datarep_c(datarep, read_conversion_fn, write_conversion_fn, dtype_file_extent_fn, extra_state)\n\nMPI_Register_datarep_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Request_free-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Request_free","text":"MPI_Request_free(request)\n\nMPI_Request_free man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Request_get_status-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Request_get_status","text":"MPI_Request_get_status(request, flag, status)\n\nMPI_Request_get_status man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Rget-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Rget","text":"MPI_Rget(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request)\n\nMPI_Rget man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Rget_accumulate-NTuple{13, Any}","page":"Low-level API","title":"MPI.API.MPI_Rget_accumulate","text":"MPI_Rget_accumulate(origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request)\n\nMPI_Rget_accumulate man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Rget_accumulate_c-NTuple{13, Any}","page":"Low-level API","title":"MPI.API.MPI_Rget_accumulate_c","text":"MPI_Rget_accumulate_c(origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request)\n\nMPI_Rget_accumulate_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Rget_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Rget_c","text":"MPI_Rget_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request)\n\nMPI_Rget_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Rput-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Rput","text":"MPI_Rput(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request)\n\nMPI_Rput man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Rput_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Rput_c","text":"MPI_Rput_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request)\n\nMPI_Rput_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Rsend-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Rsend","text":"MPI_Rsend(buf, count, datatype, dest, tag, comm)\n\nMPI_Rsend man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Rsend_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Rsend_c","text":"MPI_Rsend_c(buf, count, datatype, dest, tag, comm)\n\nMPI_Rsend_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Rsend_init-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Rsend_init","text":"MPI_Rsend_init(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Rsend_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Rsend_init_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Rsend_init_c","text":"MPI_Rsend_init_c(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Rsend_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Scan-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Scan","text":"MPI_Scan(sendbuf, recvbuf, count, datatype, op, comm)\n\nMPI_Scan man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Scan_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Scan_c","text":"MPI_Scan_c(sendbuf, recvbuf, count, datatype, op, comm)\n\nMPI_Scan_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Scan_init-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Scan_init","text":"MPI_Scan_init(sendbuf, recvbuf, count, datatype, op, comm, info, request)\n\nMPI_Scan_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Scan_init_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Scan_init_c","text":"MPI_Scan_init_c(sendbuf, recvbuf, count, datatype, op, comm, info, request)\n\nMPI_Scan_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Scatter-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Scatter","text":"MPI_Scatter(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm)\n\nMPI_Scatter man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Scatter_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Scatter_c","text":"MPI_Scatter_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm)\n\nMPI_Scatter_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Scatter_init-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Scatter_init","text":"MPI_Scatter_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request)\n\nMPI_Scatter_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Scatter_init_c-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Scatter_init_c","text":"MPI_Scatter_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request)\n\nMPI_Scatter_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Scatterv-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Scatterv","text":"MPI_Scatterv(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm)\n\nMPI_Scatterv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Scatterv_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Scatterv_c","text":"MPI_Scatterv_c(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm)\n\nMPI_Scatterv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Scatterv_init-NTuple{11, Any}","page":"Low-level API","title":"MPI.API.MPI_Scatterv_init","text":"MPI_Scatterv_init(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request)\n\nMPI_Scatterv_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Scatterv_init_c-NTuple{11, Any}","page":"Low-level API","title":"MPI.API.MPI_Scatterv_init_c","text":"MPI_Scatterv_init_c(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request)\n\nMPI_Scatterv_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Send-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Send","text":"MPI_Send(buf, count, datatype, dest, tag, comm)\n\nMPI_Send man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Send_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Send_c","text":"MPI_Send_c(buf, count, datatype, dest, tag, comm)\n\nMPI_Send_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Send_init-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Send_init","text":"MPI_Send_init(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Send_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Send_init_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Send_init_c","text":"MPI_Send_init_c(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Send_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Sendrecv-NTuple{12, Any}","page":"Low-level API","title":"MPI.API.MPI_Sendrecv","text":"MPI_Sendrecv(sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, status)\n\nMPI_Sendrecv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Sendrecv_c-NTuple{12, Any}","page":"Low-level API","title":"MPI.API.MPI_Sendrecv_c","text":"MPI_Sendrecv_c(sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, status)\n\nMPI_Sendrecv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Sendrecv_replace-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Sendrecv_replace","text":"MPI_Sendrecv_replace(buf, count, datatype, dest, sendtag, source, recvtag, comm, status)\n\nMPI_Sendrecv_replace man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Sendrecv_replace_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Sendrecv_replace_c","text":"MPI_Sendrecv_replace_c(buf, count, datatype, dest, sendtag, source, recvtag, comm, status)\n\nMPI_Sendrecv_replace_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ssend-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Ssend","text":"MPI_Ssend(buf, count, datatype, dest, tag, comm)\n\nMPI_Ssend man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ssend_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Ssend_c","text":"MPI_Ssend_c(buf, count, datatype, dest, tag, comm)\n\nMPI_Ssend_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ssend_init-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Ssend_init","text":"MPI_Ssend_init(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Ssend_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ssend_init_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Ssend_init_c","text":"MPI_Ssend_init_c(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Ssend_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Start-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Start","text":"MPI_Start(request)\n\nMPI_Start man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Startall-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Startall","text":"MPI_Startall(count, array_of_requests)\n\nMPI_Startall man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Status_c2f-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Status_c2f","text":"MPI_Status_c2f(c_status, f_status)\n\nMPI_Status_c2f man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Status_f2c-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Status_f2c","text":"MPI_Status_f2c(f_status, c_status)\n\nMPI_Status_f2c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Status_set_cancelled-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Status_set_cancelled","text":"MPI_Status_set_cancelled(status, flag)\n\nMPI_Status_set_cancelled man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Status_set_elements-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Status_set_elements","text":"MPI_Status_set_elements(status, datatype, count)\n\nMPI_Status_set_elements man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Status_set_elements_x-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Status_set_elements_x","text":"MPI_Status_set_elements_x(status, datatype, count)\n\nMPI_Status_set_elements_x man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Test-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Test","text":"MPI_Test(request, flag, status)\n\nMPI_Test man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Test_cancelled-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Test_cancelled","text":"MPI_Test_cancelled(status, flag)\n\nMPI_Test_cancelled man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Testall-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Testall","text":"MPI_Testall(count, array_of_requests, flag, array_of_statuses)\n\nMPI_Testall man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Testany-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Testany","text":"MPI_Testany(count, array_of_requests, indx, flag, status)\n\nMPI_Testany man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Testsome-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Testsome","text":"MPI_Testsome(incount, array_of_requests, outcount, array_of_indices, array_of_statuses)\n\nMPI_Testsome man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Topo_test-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Topo_test","text":"MPI_Topo_test(comm, status)\n\nMPI_Topo_test man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_commit-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Type_commit","text":"MPI_Type_commit(datatype)\n\nMPI_Type_commit man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_contiguous-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_contiguous","text":"MPI_Type_contiguous(count, oldtype, newtype)\n\nMPI_Type_contiguous man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_contiguous_c-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_contiguous_c","text":"MPI_Type_contiguous_c(count, oldtype, newtype)\n\nMPI_Type_contiguous_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_darray-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_darray","text":"MPI_Type_create_darray(size, rank, ndims, array_of_gsizes, array_of_distribs, array_of_dargs, array_of_psizes, order, oldtype, newtype)\n\nMPI_Type_create_darray man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_darray_c-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_darray_c","text":"MPI_Type_create_darray_c(size, rank, ndims, array_of_gsizes, array_of_distribs, array_of_dargs, array_of_psizes, order, oldtype, newtype)\n\nMPI_Type_create_darray_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_f90_complex-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_f90_complex","text":"MPI_Type_create_f90_complex(p, r, newtype)\n\nMPI_Type_create_f90_complex man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_f90_integer-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_f90_integer","text":"MPI_Type_create_f90_integer(r, newtype)\n\nMPI_Type_create_f90_integer man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_f90_real-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_f90_real","text":"MPI_Type_create_f90_real(p, r, newtype)\n\nMPI_Type_create_f90_real man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_hindexed-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_hindexed","text":"MPI_Type_create_hindexed(count, array_of_blocklengths, array_of_displacements, oldtype, newtype)\n\nMPI_Type_create_hindexed man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_hindexed_block-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_hindexed_block","text":"MPI_Type_create_hindexed_block(count, blocklength, array_of_displacements, oldtype, newtype)\n\nMPI_Type_create_hindexed_block man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_hindexed_block_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_hindexed_block_c","text":"MPI_Type_create_hindexed_block_c(count, blocklength, array_of_displacements, oldtype, newtype)\n\nMPI_Type_create_hindexed_block_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_hindexed_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_hindexed_c","text":"MPI_Type_create_hindexed_c(count, array_of_blocklengths, array_of_displacements, oldtype, newtype)\n\nMPI_Type_create_hindexed_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_hvector-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_hvector","text":"MPI_Type_create_hvector(count, blocklength, stride, oldtype, newtype)\n\nMPI_Type_create_hvector man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_hvector_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_hvector_c","text":"MPI_Type_create_hvector_c(count, blocklength, stride, oldtype, newtype)\n\nMPI_Type_create_hvector_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_indexed_block-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_indexed_block","text":"MPI_Type_create_indexed_block(count, blocklength, array_of_displacements, oldtype, newtype)\n\nMPI_Type_create_indexed_block man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_indexed_block_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_indexed_block_c","text":"MPI_Type_create_indexed_block_c(count, blocklength, array_of_displacements, oldtype, newtype)\n\nMPI_Type_create_indexed_block_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_keyval-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_keyval","text":"MPI_Type_create_keyval(type_copy_attr_fn, type_delete_attr_fn, type_keyval, extra_state)\n\nMPI_Type_create_keyval man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_resized-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_resized","text":"MPI_Type_create_resized(oldtype, lb, extent, newtype)\n\nMPI_Type_create_resized man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_resized_c-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_resized_c","text":"MPI_Type_create_resized_c(oldtype, lb, extent, newtype)\n\nMPI_Type_create_resized_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_struct-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_struct","text":"MPI_Type_create_struct(count, array_of_blocklengths, array_of_displacements, array_of_types, newtype)\n\nMPI_Type_create_struct man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_struct_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_struct_c","text":"MPI_Type_create_struct_c(count, array_of_blocklengths, array_of_displacements, array_of_types, newtype)\n\nMPI_Type_create_struct_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_subarray-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_subarray","text":"MPI_Type_create_subarray(ndims, array_of_sizes, array_of_subsizes, array_of_starts, order, oldtype, newtype)\n\nMPI_Type_create_subarray man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_subarray_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_subarray_c","text":"MPI_Type_create_subarray_c(ndims, array_of_sizes, array_of_subsizes, array_of_starts, order, oldtype, newtype)\n\nMPI_Type_create_subarray_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_delete_attr-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_delete_attr","text":"MPI_Type_delete_attr(datatype, type_keyval)\n\nMPI_Type_delete_attr man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_dup-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_dup","text":"MPI_Type_dup(oldtype, newtype)\n\nMPI_Type_dup man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_extent-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_extent","text":"MPI_Type_extent(datatype, extent)\n\nMPI_Type_extent man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_free-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Type_free","text":"MPI_Type_free(datatype)\n\nMPI_Type_free man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_free_keyval-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Type_free_keyval","text":"MPI_Type_free_keyval(type_keyval)\n\nMPI_Type_free_keyval man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_get_attr-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_get_attr","text":"MPI_Type_get_attr(datatype, type_keyval, attribute_val, flag)\n\nMPI_Type_get_attr man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_get_contents-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_get_contents","text":"MPI_Type_get_contents(datatype, max_integers, max_addresses, max_datatypes, array_of_integers, array_of_addresses, array_of_datatypes)\n\nMPI_Type_get_contents man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_get_contents_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_get_contents_c","text":"MPI_Type_get_contents_c(datatype, max_integers, max_addresses, max_large_counts, max_datatypes, array_of_integers, array_of_addresses, array_of_large_counts, array_of_datatypes)\n\nMPI_Type_get_contents_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_get_envelope-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_get_envelope","text":"MPI_Type_get_envelope(datatype, num_integers, num_addresses, num_datatypes, combiner)\n\nMPI_Type_get_envelope man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_get_envelope_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_get_envelope_c","text":"MPI_Type_get_envelope_c(datatype, num_integers, num_addresses, num_large_counts, num_datatypes, combiner)\n\nMPI_Type_get_envelope_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_get_extent-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_get_extent","text":"MPI_Type_get_extent(datatype, lb, extent)\n\nMPI_Type_get_extent man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_get_extent_c-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_get_extent_c","text":"MPI_Type_get_extent_c(datatype, lb, extent)\n\nMPI_Type_get_extent_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_get_extent_x-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_get_extent_x","text":"MPI_Type_get_extent_x(datatype, lb, extent)\n\nMPI_Type_get_extent_x man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_get_name-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_get_name","text":"MPI_Type_get_name(datatype, type_name, resultlen)\n\nMPI_Type_get_name man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_get_true_extent-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_get_true_extent","text":"MPI_Type_get_true_extent(datatype, true_lb, true_extent)\n\nMPI_Type_get_true_extent man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_get_true_extent_c-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_get_true_extent_c","text":"MPI_Type_get_true_extent_c(datatype, true_lb, true_extent)\n\nMPI_Type_get_true_extent_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_get_true_extent_x-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_get_true_extent_x","text":"MPI_Type_get_true_extent_x(datatype, true_lb, true_extent)\n\nMPI_Type_get_true_extent_x man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_hindexed-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_hindexed","text":"MPI_Type_hindexed(count, array_of_blocklengths, array_of_displacements, oldtype, newtype)\n\nMPI_Type_hindexed man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_hvector-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_hvector","text":"MPI_Type_hvector(count, blocklength, stride, oldtype, newtype)\n\nMPI_Type_hvector man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_indexed-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_indexed","text":"MPI_Type_indexed(count, array_of_blocklengths, array_of_displacements, oldtype, newtype)\n\nMPI_Type_indexed man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_indexed_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_indexed_c","text":"MPI_Type_indexed_c(count, array_of_blocklengths, array_of_displacements, oldtype, newtype)\n\nMPI_Type_indexed_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_lb-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_lb","text":"MPI_Type_lb(datatype, displacement)\n\nMPI_Type_lb man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_match_size-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_match_size","text":"MPI_Type_match_size(typeclass, size, datatype)\n\nMPI_Type_match_size man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_set_attr-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_set_attr","text":"MPI_Type_set_attr(datatype, type_keyval, attribute_val)\n\nMPI_Type_set_attr man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_set_name-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_set_name","text":"MPI_Type_set_name(datatype, type_name)\n\nMPI_Type_set_name man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_size-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_size","text":"MPI_Type_size(datatype, size)\n\nMPI_Type_size man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_size_c-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_size_c","text":"MPI_Type_size_c(datatype, size)\n\nMPI_Type_size_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_size_x-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_size_x","text":"MPI_Type_size_x(datatype, size)\n\nMPI_Type_size_x man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_struct-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_struct","text":"MPI_Type_struct(count, array_of_blocklengths, array_of_displacements, array_of_types, newtype)\n\nMPI_Type_struct man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_ub-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_ub","text":"MPI_Type_ub(datatype, displacement)\n\nMPI_Type_ub man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_vector-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_vector","text":"MPI_Type_vector(count, blocklength, stride, oldtype, newtype)\n\nMPI_Type_vector man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_vector_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_vector_c","text":"MPI_Type_vector_c(count, blocklength, stride, oldtype, newtype)\n\nMPI_Type_vector_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Unpack-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Unpack","text":"MPI_Unpack(inbuf, insize, position, outbuf, outcount, datatype, comm)\n\nMPI_Unpack man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Unpack_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Unpack_c","text":"MPI_Unpack_c(inbuf, insize, position, outbuf, outcount, datatype, comm)\n\nMPI_Unpack_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Unpack_external-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Unpack_external","text":"MPI_Unpack_external(datarep, inbuf, insize, position, outbuf, outcount, datatype)\n\nMPI_Unpack_external man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Unpack_external_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Unpack_external_c","text":"MPI_Unpack_external_c(datarep, inbuf, insize, position, outbuf, outcount, datatype)\n\nMPI_Unpack_external_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Unpublish_name-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Unpublish_name","text":"MPI_Unpublish_name(service_name, info, port_name)\n\nMPI_Unpublish_name man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Wait-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Wait","text":"MPI_Wait(request, status)\n\nMPI_Wait man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Waitall-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Waitall","text":"MPI_Waitall(count, array_of_requests, array_of_statuses)\n\nMPI_Waitall man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Waitany-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Waitany","text":"MPI_Waitany(count, array_of_requests, indx, status)\n\nMPI_Waitany man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Waitsome-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Waitsome","text":"MPI_Waitsome(incount, array_of_requests, outcount, array_of_indices, array_of_statuses)\n\nMPI_Waitsome man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_allocate-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_allocate","text":"MPI_Win_allocate(size, disp_unit, info, comm, baseptr, win)\n\nMPI_Win_allocate man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_allocate_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_allocate_c","text":"MPI_Win_allocate_c(size, disp_unit, info, comm, baseptr, win)\n\nMPI_Win_allocate_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_allocate_shared-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_allocate_shared","text":"MPI_Win_allocate_shared(size, disp_unit, info, comm, baseptr, win)\n\nMPI_Win_allocate_shared man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_allocate_shared_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_allocate_shared_c","text":"MPI_Win_allocate_shared_c(size, disp_unit, info, comm, baseptr, win)\n\nMPI_Win_allocate_shared_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_attach-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_attach","text":"MPI_Win_attach(win, base, size)\n\nMPI_Win_attach man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_call_errhandler-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_call_errhandler","text":"MPI_Win_call_errhandler(win, errorcode)\n\nMPI_Win_call_errhandler man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_complete-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Win_complete","text":"MPI_Win_complete(win)\n\nMPI_Win_complete man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_create-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_create","text":"MPI_Win_create(base, size, disp_unit, info, comm, win)\n\nMPI_Win_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_create_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_create_c","text":"MPI_Win_create_c(base, size, disp_unit, info, comm, win)\n\nMPI_Win_create_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_create_dynamic-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_create_dynamic","text":"MPI_Win_create_dynamic(info, comm, win)\n\nMPI_Win_create_dynamic man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_create_errhandler-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_create_errhandler","text":"MPI_Win_create_errhandler(win_errhandler_fn, errhandler)\n\nMPI_Win_create_errhandler man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_create_keyval-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_create_keyval","text":"MPI_Win_create_keyval(win_copy_attr_fn, win_delete_attr_fn, win_keyval, extra_state)\n\nMPI_Win_create_keyval man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_delete_attr-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_delete_attr","text":"MPI_Win_delete_attr(win, win_keyval)\n\nMPI_Win_delete_attr man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_detach-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_detach","text":"MPI_Win_detach(win, base)\n\nMPI_Win_detach man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_fence-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_fence","text":"MPI_Win_fence(assert, win)\n\nMPI_Win_fence man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_flush-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_flush","text":"MPI_Win_flush(rank, win)\n\nMPI_Win_flush man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_flush_all-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Win_flush_all","text":"MPI_Win_flush_all(win)\n\nMPI_Win_flush_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_flush_local-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_flush_local","text":"MPI_Win_flush_local(rank, win)\n\nMPI_Win_flush_local man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_flush_local_all-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Win_flush_local_all","text":"MPI_Win_flush_local_all(win)\n\nMPI_Win_flush_local_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_free-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Win_free","text":"MPI_Win_free(win)\n\nMPI_Win_free man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_free_keyval-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Win_free_keyval","text":"MPI_Win_free_keyval(win_keyval)\n\nMPI_Win_free_keyval man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_get_attr-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_get_attr","text":"MPI_Win_get_attr(win, win_keyval, attribute_val, flag)\n\nMPI_Win_get_attr man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_get_errhandler-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_get_errhandler","text":"MPI_Win_get_errhandler(win, errhandler)\n\nMPI_Win_get_errhandler man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_get_group-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_get_group","text":"MPI_Win_get_group(win, group)\n\nMPI_Win_get_group man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_get_info-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_get_info","text":"MPI_Win_get_info(win, info_used)\n\nMPI_Win_get_info man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_get_name-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_get_name","text":"MPI_Win_get_name(win, win_name, resultlen)\n\nMPI_Win_get_name man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_lock-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_lock","text":"MPI_Win_lock(lock_type, rank, assert, win)\n\nMPI_Win_lock man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_lock_all-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_lock_all","text":"MPI_Win_lock_all(assert, win)\n\nMPI_Win_lock_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_post-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_post","text":"MPI_Win_post(group, assert, win)\n\nMPI_Win_post man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_set_attr-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_set_attr","text":"MPI_Win_set_attr(win, win_keyval, attribute_val)\n\nMPI_Win_set_attr man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_set_errhandler-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_set_errhandler","text":"MPI_Win_set_errhandler(win, errhandler)\n\nMPI_Win_set_errhandler man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_set_info-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_set_info","text":"MPI_Win_set_info(win, info)\n\nMPI_Win_set_info man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_set_name-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_set_name","text":"MPI_Win_set_name(win, win_name)\n\nMPI_Win_set_name man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_shared_query-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_shared_query","text":"MPI_Win_shared_query(win, rank, size, disp_unit, baseptr)\n\nMPI_Win_shared_query man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_shared_query_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_shared_query_c","text":"MPI_Win_shared_query_c(win, rank, size, disp_unit, baseptr)\n\nMPI_Win_shared_query_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_start-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_start","text":"MPI_Win_start(group, assert, win)\n\nMPI_Win_start man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_sync-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Win_sync","text":"MPI_Win_sync(win)\n\nMPI_Win_sync man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_test-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_test","text":"MPI_Win_test(win, flag)\n\nMPI_Win_test man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_unlock-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_unlock","text":"MPI_Win_unlock(rank, win)\n\nMPI_Win_unlock man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_unlock_all-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Win_unlock_all","text":"MPI_Win_unlock_all(win)\n\nMPI_Win_unlock_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_wait-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Win_wait","text":"MPI_Win_wait(win)\n\nMPI_Win_wait man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Wtick-Tuple{}","page":"Low-level API","title":"MPI.API.MPI_Wtick","text":"MPI_Wtick()\n\nMPI_Wtick man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Wtime-Tuple{}","page":"Low-level API","title":"MPI.API.MPI_Wtime","text":"MPI_Wtime()\n\nMPI_Wtime man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/collective/#Collective-communication","page":"Collective communication","title":"Collective communication","text":"","category":"section"},{"location":"reference/collective/#Synchronization","page":"Collective communication","title":"Synchronization","text":"","category":"section"},{"location":"reference/collective/","page":"Collective communication","title":"Collective communication","text":"MPI.Barrier\nMPI.Ibarrier","category":"page"},{"location":"reference/collective/#MPI.Barrier","page":"Collective communication","title":"MPI.Barrier","text":"Barrier(comm::Comm)\n\nBlocks until comm is synchronized.\n\nIf comm is an intracommunicator, then it blocks until all members of the group have called it.\n\nIf comm is an intercommunicator, then it blocks until all members of the other group have called it.\n\nExternal links\n\nMPI_Barrier man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Ibarrier","page":"Collective communication","title":"MPI.Ibarrier","text":"Ibarrier(comm::Comm[, req::AbstractRequest = Request())\n\nBlocks until comm is synchronized.\n\nIf comm is an intracommunicator, then it blocks until all members of the group have called it.\n\nIf comm is an intercommunicator, then it blocks until all members of the other group have called it.\n\nExternal links\n\nMPI_Ibarrier man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#Broadcast","page":"Collective communication","title":"Broadcast","text":"","category":"section"},{"location":"reference/collective/","page":"Collective communication","title":"Collective communication","text":"MPI.Bcast!\nMPI.Bcast\nMPI.bcast","category":"page"},{"location":"reference/collective/#MPI.Bcast!","page":"Collective communication","title":"MPI.Bcast!","text":"Bcast!(buf, comm::Comm; root::Integer=0)\n\nBroadcast the buffer buf from root to all processes in comm.\n\nSee also\n\nbcast\n\nExternal links\n\nMPI_Bcast man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Bcast","page":"Collective communication","title":"MPI.Bcast","text":"Bcast(obj, root::Integer, comm::Comm)\n\nBroadcast the obj from root to all processes in comm. Returns the object. Currently obj must be isbits, i.e. isbitstype(typeof(obj)) == true.\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.bcast","page":"Collective communication","title":"MPI.bcast","text":"bcast(obj, comm::Comm; root::Integer=0)\n\nBroadcast the object obj from rank root to all processes on comm. This is able to handle arbitrary data.\n\nSee also\n\nBcast!\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#Gather/Scatter","page":"Collective communication","title":"Gather/Scatter","text":"","category":"section"},{"location":"reference/collective/#Gather","page":"Collective communication","title":"Gather","text":"","category":"section"},{"location":"reference/collective/","page":"Collective communication","title":"Collective communication","text":"MPI.Gather!\nMPI.Gather\nMPI.Gatherv!\nMPI.Allgather!\nMPI.Allgather\nMPI.Allgatherv!\nMPI.Neighbor_allgather!\nMPI.Neighbor_allgatherv!","category":"page"},{"location":"reference/collective/#MPI.Gather!","page":"Collective communication","title":"MPI.Gather!","text":"Gather!(sendbuf, recvbuf, comm::Comm; root::Integer=0)\n\nEach process sends the contents of the buffer sendbuf to the root process. The root process stores elements in rank order in the buffer buffer recvbuf.\n\nsendbuf should be a Buffer object, or any object for which Buffer_send is defined, with the same length on all processes, and should be the same length on all processes.\n\nOn the root process, sendbuf can be MPI.IN_PLACE on the root process, in which case the corresponding entries in recvbuf are assumed to be already in place (this corresponds the behaviour of MPI_IN_PLACE in MPI_Gather). For example:\n\nif root == MPI.Comm_rank(comm)\n    MPI.Gather!(MPI.IN_PLACE, UBuffer(buf, count), comm; root=root)\nelse\n    MPI.Gather!(buf, nothing, comm; root=root)\nend\n\nrecvbuf on the root process should be a UBuffer, or can be an AbstractArray if the length can be determined from sendbuf. On non-root processes it is ignored and can be nothing.\n\nSee also\n\nGather for the allocating operation.\nGatherv! if the number of elements varies between processes.\nAllgather! to send the result to all processes.\n\nExternal links\n\nMPI_Gather man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Gather","page":"Collective communication","title":"MPI.Gather","text":"Gather(sendbuf, comm::Comm; root=0)\n\nEach process sends the contents of the buffer sendbuf to the root process. The root allocates the output buffer and stores elements in rank order.\n\nsendbuf can be an AbstractArray or a scalar, and should be the same length on all processes.\n\nSee also\n\nGather! for the mutating operation.\nGatherv! if the number of elements varies between processes.\nAllgather!/Allgather to send the result to all processes.\n\nExternal links\n\nMPI_Gather man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Gatherv!","page":"Collective communication","title":"MPI.Gatherv!","text":"Gatherv!(sendbuf, recvbuf, comm::Comm; root::Integer=0)\n\nEach process sends the contents of the buffer sendbuf to the root process. The root stores elements in rank order in the buffer recvbuf.\n\nsendbuf should be a Buffer object, or any object for which Buffer_send is defined, with the same length on all processes.\n\nOn the root process, sendbuf can be MPI.IN_PLACE, in which case the corresponding entries in recvbuf are assumed to be already in place. For example\n\nif root == MPI.Comm_rank(comm)\n    Gatherv!(MPI.IN_PLACE, VBuffer(buf, counts), comm; root=root)\nelse\n    Gatherv!(buf, nothing, comm; root=root)\nend\n\nrecvbuf on the root process should be a VBuffer, or can be an AbstractArray if the length can be determined from sendbuf. On non-root processes it is ignored and can be nothing.\n\nSee also\n\nGather! if the number of elements is the same between processes.\nAllgatherv! to send the result to all processes.\n\nExternal links\n\nMPI_Gatherv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Allgather!","page":"Collective communication","title":"MPI.Allgather!","text":"Allgather!(sendbuf, recvbuf::UBuffer, comm::Comm)\nAllgather!(sendrecvbuf::UBuffer, comm::Comm)\n\nEach process sends the contents of sendbuf to the other processes, the result of which is stored in rank order into recvbuf.\n\nsendbuf can be a Buffer object, or any object for which Buffer_send is defined, and should be the same length on all processes.\n\nrecvbuf can be a UBuffer, or can be an AbstractArray if the length can be determined from sendbuf.\n\nIf only one buffer sendrecvbuf is provided, then on each process the data to send is assumed to be in the area where it would receive its own contribution.\n\nSee also\n\nAllgather for the allocating operation\nAllgatherv! if the number of elements varies between processes.\nGather! to send only to a single root process\n\nExternal links\n\nMPI_Allgather man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Allgather","page":"Collective communication","title":"MPI.Allgather","text":"Allgather(sendbuf, comm)\n\nEach process sends the contents of sendbuf to the other processes, who store the results in rank order allocating the output buffer.\n\nsendbuf can be an AbstractArray or a scalar, and should be the same size on all processes.\n\nSee also\n\nAllgather! for the mutating operation\nAllgatherv! if the number of elements varies between processes.\nGather! to send only to a single root process\n\nExternal links\n\nMPI_Allgather man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Allgatherv!","page":"Collective communication","title":"MPI.Allgatherv!","text":"Allgatherv!(sendbuf, recvbuf::VBuffer, comm::Comm)\nAllgatherv!(sendrecvbuf::VBuffer, comm::Comm)\n\nEach process sends the contents of sendbuf to all other process. Each process stores the received in the VBuffer recvbuf.\n\nsendbuf can be a Buffer object, or any object for which Buffer_send is defined.\n\nIf only one buffer sendrecvbuf is provided, then for each process, the data to be sent is taken from the interval of recvbuf where it would store its own data.\n\nSee also\n\nGatherv! to send the result to a single process\n\nExternal links\n\nMPI_Allgatherv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Neighbor_allgather!","page":"Collective communication","title":"MPI.Neighbor_allgather!","text":"Neighbor_allgather!(sendbuf::Buffer, recvbuf::UBuffer, comm::Comm)\n\nPerform an all-gather communication along the directed edges of the graph.\n\nSee also MPI.Allgather!.\n\nExternal links\n\nMPI_Neighbor_allgather man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Neighbor_allgatherv!","page":"Collective communication","title":"MPI.Neighbor_allgatherv!","text":"Neighbor_allgatherv!(sendbuf::Buffer, recvbuf::VBuffer, comm::Comm)\n\nPerform an all-gather communication along the directed edges of the graph with variable sized data.\n\nSee also MPI.Allgatherv!.\n\nExternal links\n\nMPI_Neighbor_allgatherv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#Scatter","page":"Collective communication","title":"Scatter","text":"","category":"section"},{"location":"reference/collective/","page":"Collective communication","title":"Collective communication","text":"MPI.Scatter!\nMPI.Scatter\nMPI.Scatterv!","category":"page"},{"location":"reference/collective/#MPI.Scatter!","page":"Collective communication","title":"MPI.Scatter!","text":"Scatter!(sendbuf::Union{UBuffer,Nothing}, recvbuf, comm::Comm;\n    root::Integer=0)\n\nSplits the buffer sendbuf in the root process into Comm_size(comm) chunks, sending the j-th chunk to the process of rank j-1 into the recvbuf buffer.\n\nsendbuf on the root process should be a UBuffer (an Array can also be passed directly if the sizes can be determined from recvbuf). On non-root processes it is ignored, and nothing can be passed instead.\n\nrecvbuf is a Buffer object, or any object for which Buffer(recvbuf) is defined. On the root process, it can also be MPI.IN_PLACE, in which case it is unmodified. For example:\n\nif root == MPI.Comm_rank(comm)\n    MPI.Scatter!(UBuffer(buf, count), MPI.IN_PLACE, comm; root=root)\nelse\n    MPI.Scatter!(nothing, buf, comm; root=root)\nend\n\nSee also\n\nScatterv! if the number of elements varies between processes.\n\nExternal links\n\nMPI_Scatter man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Scatter","page":"Collective communication","title":"MPI.Scatter","text":"Scatter(sendbuf, T, comm::Comm; root::Integer=0)\n\nSplits the buffer sendbuf in the root process into Comm_size(comm) chunks, sending the j-th chunk to the process of rank j-1 as an object of type T.\n\nSee also\n\nScatter!\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Scatterv!","page":"Collective communication","title":"MPI.Scatterv!","text":"Scatterv!(sendbuf, recvbuf, comm::Comm; root::Integer=0)\n\nSplits the buffer sendbuf in the root process into Comm_size(comm) chunks and sends the jth chunk to the process of rank j-1 into the recvbuf buffer.\n\nsendbuf on the root process should be a VBuffer. On non-root processes it is ignored, and nothing can be passed instead.\n\nrecvbuf is a Buffer object, or any object for which Buffer(recvbuf) is defined. On the root process, it can also be MPI.IN_PLACE, in which case it is unmodified. For example:\n\nif root == MPI.Comm_rank(comm)\n    MPI.Scatterv!(VBuffer(buf, counts), MPI.IN_PLACE, comm; root=root)\nelse\n    MPI.Scatterv!(nothing, buf, comm; root=root)\nend\n\nSee also\n\nScatter! if the number of elements are the same for all processes\n\nExternal links\n\nMPI_Scatterv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#All-to-all","page":"Collective communication","title":"All-to-all","text":"","category":"section"},{"location":"reference/collective/","page":"Collective communication","title":"Collective communication","text":"MPI.Alltoall!\nMPI.Alltoall\nMPI.Alltoallv!\nMPI.Neighbor_alltoall!\nMPI.Neighbor_alltoallv!","category":"page"},{"location":"reference/collective/#MPI.Alltoall!","page":"Collective communication","title":"MPI.Alltoall!","text":"Alltoall!(sendbuf::UBuffer, recvbuf::UBuffer, comm::Comm)\nAlltoall!(sendrecvbuf::UBuffer, comm::Comm)\n\nEvery process divides the UBuffer sendbuf into Comm_size(comm) chunks of equal size, sending the j-th chunk to the process of rank j-1.  Every process stores the data received from rank j-1 process in the j-th chunk of the buffer recvbuf.\n\nrank    send buf                        recv buf\n----    --------                        --------\n 0      a,b,c,d,e,f       Alltoall      a,b,A,B,α,β\n 1      A,B,C,D,E,F  ---------------->  c,d,C,D,γ,ψ\n 2      α,β,γ,ψ,η,ν                     e,f,E,F,η,ν\n\nIf only one buffer sendrecvbuf is used, then data is overwritten.\n\nSee also\n\nAlltoall for the allocating operation\n\nExternal links\n\nMPI_Alltoall man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Alltoall","page":"Collective communication","title":"MPI.Alltoall","text":"Alltoall(sendbuf::UBuffer, comm::Comm)\n\nEvery process divides the UBuffer sendbuf into Comm_size(comm) chunks of equal size, sending the j-th chunk to the process of rank j-1. Every process allocates the output buffer and stores the data received from the process on rank j-1 in the j-th chunk.\n\nrank    send buf                        recv buf\n----    --------                        --------\n 0      a,b,c,d,e,f       Alltoall      a,b,A,B,α,β\n 1      A,B,C,D,E,F  ---------------->  c,d,C,D,γ,ψ\n 2      α,β,γ,ψ,η,ν                     e,f,E,F,η,ν\n\nSee also\n\nAlltoall! for the mutating operation\n\nExternal links\n\nMPI_Alltoall man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Alltoallv!","page":"Collective communication","title":"MPI.Alltoallv!","text":"Alltoallv!(sendbuf::VBuffer, recvbuf::VBuffer, comm::Comm)\n\nSimilar to Alltoall!, except with different size chunks per process.\n\nSee also\n\nVBuffer\n\nExternal links\n\nMPI_Alltoallv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Neighbor_alltoall!","page":"Collective communication","title":"MPI.Neighbor_alltoall!","text":"Neighbor_alltoall!(sendbuf::UBuffer, recvbuf::UBuffer, comm::Comm)\n\nPerform an all-to-all communication along the directed edges of the graph with fixed size messages.\n\nSee also MPI.Alltoall!.\n\nExternal links\n\nMPI_Neighbor_alltoall man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Neighbor_alltoallv!","page":"Collective communication","title":"MPI.Neighbor_alltoallv!","text":"Neighbor_alltoallv!(sendbuf::VBuffer, recvbuf::VBuffer, graph_comm::Comm)\n\nPerform an all-to-all communication along the directed edges of the graph with variable size messages.\n\nSee also MPI.Alltoallv!.\n\nExternal links\n\nMPI_Neighbor_alltoallv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#Reduce/Scan","page":"Collective communication","title":"Reduce/Scan","text":"","category":"section"},{"location":"reference/collective/","page":"Collective communication","title":"Collective communication","text":"MPI.Reduce!\nMPI.Reduce\nMPI.Allreduce!\nMPI.Allreduce\nMPI.Scan!\nMPI.Scan\nMPI.Exscan!\nMPI.Exscan","category":"page"},{"location":"reference/collective/#MPI.Reduce!","page":"Collective communication","title":"MPI.Reduce!","text":"Reduce!(sendbuf, recvbuf, op, comm::Comm; root::Integer=0)\nReduce!(sendrecvbuf, op, comm::Comm; root::Integer=0)\n\nPerforms elementwise reduction using the operator op on the buffer sendbuf and stores the result in recvbuf on the process of rank root.\n\nOn non-root processes recvbuf is ignored, and can be nothing.\n\nTo perform the reduction in place, provide a single buffer sendrecvbuf.\n\nSee also\n\nReduce to handle allocation of the output buffer.\nAllreduce!/Allreduce to send reduction to all ranks.\nOp for details on reduction operators.\n\nExternal links\n\nMPI_Reduce man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Reduce","page":"Collective communication","title":"MPI.Reduce","text":"recvbuf = Reduce(sendbuf, op, comm::Comm; root::Integer=0)\n\nPerforms elementwise reduction using the operator op on the buffer sendbuf, returning the result recvbuf on the process of rank root, and nothing on non-root processes.\n\nsendbuf can also be a scalar, in which case recvbuf will be a value of the same type.\n\nSee also\n\nReduce! for mutating and in-place operations\nAllreduce!/Allreduce to send reduction to all ranks.\nOp for details on reduction operators.\n\nExternal links\n\nMPI_Reduce man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Allreduce!","page":"Collective communication","title":"MPI.Allreduce!","text":"Allreduce!(sendbuf, recvbuf, op, comm::Comm)\nAllreduce!(sendrecvbuf, op, comm::Comm)\n\nPerforms elementwise reduction using the operator op on the buffer sendbuf, storing the result in the recvbuf of all processes in the group.\n\nAllreduce! is equivalent to a Reduce! operation followed by a Bcast!, but can lead to better performance.\n\nIf only one sendrecvbuf buffer is provided, then the operation is performed in-place.\n\nSee also\n\nAllreduce, to handle allocation of the output buffer.\nReduce!/Reduce to send reduction to a single rank.\nOp for details on reduction operators.\n\nExternal links\n\nMPI_Allreduce man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Allreduce","page":"Collective communication","title":"MPI.Allreduce","text":"recvbuf = Allreduce(sendbuf, op, comm)\n\nPerforms elementwise reduction using the operator op on the buffer sendbuf, returning the result in the recvbuf of all processes in the group.\n\nsendbuf can also be a scalar, in which case recvbuf will be a value of the same type.\n\nSee also\n\nAllreduce! for mutating or in-place operations.\nReduce!/Reduce to send reduction to a single rank.\nOp for details on reduction operators.\n\nExternal links\n\nMPI_Allreduce man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Scan!","page":"Collective communication","title":"MPI.Scan!","text":"Scan!(sendbuf, recvbuf, op, comm::Comm)\nScan!(sendrecvbuf, op, comm::Comm)\n\nInclusive prefix reduction (analagous to accumulate in Julia): recvbuf on rank i will contain the the result of reducing sendbuf by op from ranks 0:i.\n\nIf only a single buffer sendrecvbuf is provided, then operations will be performed in-place.\n\nSee also\n\nScan to handle allocation of the output buffer\nExscan!/Exscan for exclusive scan\nOp for details on reduction operators.\n\nExternal links\n\nMPI_Scan man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Scan","page":"Collective communication","title":"MPI.Scan","text":"recvbuf = Scan(sendbuf, op, comm::Comm)\n\nInclusive prefix reduction (analagous to accumulate in Julia): recvbuf on rank i will contain the the result of reducing sendbuf by op from ranks 0:i.\n\nsendbuf can also be a scalar, in which case recvbuf will also be a scalar of the same type.\n\nSee also\n\nScan! for mutating or in-place operations\nExscan!/Exscan for exclusive scan\nOp for details on reduction operators.\n\nExternal links\n\nMPI_Scan man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Exscan!","page":"Collective communication","title":"MPI.Exscan!","text":"Exscan!(sendbuf, recvbuf, op, comm::Comm)\nExscan!(sendrecvbuf, op, comm::Comm)\n\nExclusive prefix reduction (analagous to accumulate in Julia): recvbuf on rank i will contain the the result of reducing sendbuf by op from ranks 0:i-1. The recvbuf on rank 0 is ignored, and the recvbuf on rank 1 will contain the contents of sendbuf on rank 0.\n\nIf only a single sendrecvbuf is provided, then operations are performed in-place, and buf on rank 0 will remain unchanged.\n\nSee also\n\nExscan to handle allocation of the output buffer\nScan!/Scan for inclusive scan\nOp for details on reduction operators.\n\nExternal links\n\nMPI_Exscan man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Exscan","page":"Collective communication","title":"MPI.Exscan","text":"recvbuf = Exscan(sendbuf, op, comm::Comm)\n\nExclusive prefix reduction (analagous to accumulate in Julia): recvbuf on rank i will contain the the result of reducing sendbuf by op from ranks 0:i-1. The recvbuf on rank 0 is undefined, and the recvbuf on rank 1 will contain the contents of sendbuf on rank 0.\n\nSee also\n\nExscan! for mutating and in-place operations\nScan!/Scan for inclusive scan\nOp for details on reduction operators.\n\nExternal links\n\nMPI_Scan man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"#MPI.jl","page":"MPI.jl","title":"MPI.jl","text":"","category":"section"},{"location":"","page":"MPI.jl","title":"MPI.jl","text":"This is a basic Julia wrapper for the portable message passing system Message Passing Interface (MPI). Inspiration is taken from mpi4py, although we generally follow the C and not the C++ MPI API. (The C++ MPI API is deprecated.)","category":"page"},{"location":"","page":"MPI.jl","title":"MPI.jl","text":"If you use MPI.jl in your work, please cite the following paper:","category":"page"},{"location":"","page":"MPI.jl","title":"MPI.jl","text":"Simon Byrne, Lucas C. Wilcox, and Valentin Churavy (2021) \"MPI.jl: Julia bindings for the Message Passing Interface\". JuliaCon Proceedings, 1(1), 68, doi: 10.21105/jcon.00068","category":"page"}]
-}
diff --git a/previews/PR626/siteinfo.js b/previews/PR626/siteinfo.js
deleted file mode 100644
index 4b4cee4b5..000000000
--- a/previews/PR626/siteinfo.js
+++ /dev/null
@@ -1 +0,0 @@
-var DOCUMENTER_CURRENT_VERSION = "previews/PR626";
diff --git a/previews/PR626/usage/index.html b/previews/PR626/usage/index.html
deleted file mode 100644
index 6d442cdef..000000000
--- a/previews/PR626/usage/index.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Usage · MPI.jl</title><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../"><img src="../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../">MPI.jl</a></span></div><form class="docs-search" action="../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../">MPI.jl</a></li><li><a class="tocitem" href="../configuration/">Configuration</a></li><li class="is-active"><a class="tocitem" href>Usage</a><ul class="internal"><li><a class="tocitem" href="#Basic-example"><span>Basic example</span></a></li><li><a class="tocitem" href="#Julia-wrapper-for-mpiexec"><span>Julia wrapper for <code>mpiexec</code></span></a></li><li><a class="tocitem" href="#CUDA-aware-MPI-support"><span>CUDA-aware MPI support</span></a></li><li><a class="tocitem" href="#ROCm-aware-MPI-support"><span>ROCm-aware MPI support</span></a></li><li><a class="tocitem" href="#Writing-MPI-tests"><span>Writing MPI tests</span></a></li></ul></li><li><a class="tocitem" href="../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../reference/library/">Library information</a></li><li><a class="tocitem" href="../reference/environment/">Environment</a></li><li><a class="tocitem" href="../reference/misc/">Miscellanea</a></li><li><a class="tocitem" href="../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../reference/topology/">Topology</a></li><li><a class="tocitem" href="../reference/io/">I/O</a></li><li><a class="tocitem" href="../reference/advanced/">Advanced</a></li><li><a class="tocitem" href="../reference/api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>Usage</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Usage</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/usage.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Usage"><a class="docs-heading-anchor" href="#Usage">Usage</a><a id="Usage-1"></a><a class="docs-heading-anchor-permalink" href="#Usage" title="Permalink"></a></h1><p>MPI is based on a <a href="https://en.wikipedia.org/wiki/SPMD">single program, multiple data (SPMD)</a> model, where multiple processes are launched running independent programs, which then communicate as necessary via messages.</p><p>As the main entry point for users, <code>MPI.jl</code> provides a high-level interface which loosely follows the MPI C API and is described in details in the following sections. The syntax should look familiar if you know MPI already, but some arguments may not be needed (e.g. the type or the number of elements of arrays, which are inferred automatically), others may be placed slightly differently, and others may be optional keyword arguments (e.g. for the index of the root process, or the source and destination of point-to-point communication functions).</p><p>In addition to the high-level interface, <code>MPI.jl</code> provides a <a href="../reference/api/#Low-level-API">low-level API</a> which closely matches the MPI C API and from which it has been automatically generated. This is not intended for general usage, but it can be employed if a high-level wrapper is not yet available.</p><h2 id="Basic-example"><a class="docs-heading-anchor" href="#Basic-example">Basic example</a><a id="Basic-example-1"></a><a class="docs-heading-anchor-permalink" href="#Basic-example" title="Permalink"></a></h2><p>A script should include <code>using MPI</code> and <a href="../reference/environment/#MPI.Init"><code>MPI.Init()</code></a> statements before calling any MPI operations, for example</p><pre><code class="language-julia hljs"># examples/01-hello.jl
-using MPI
-MPI.Init()
-
-comm = MPI.COMM_WORLD
-println(&quot;Hello world, I am $(MPI.Comm_rank(comm)) of $(MPI.Comm_size(comm))&quot;)
-MPI.Barrier(comm)</code></pre><p>Calling <a href="../reference/environment/#MPI.Finalize"><code>MPI.Finalize()</code></a> at the end of the program is optional, as it will be called automatically when Julia exits.</p><p>The program can then be launched via an MPI launch command (typically <code>mpiexec</code>, <code>mpirun</code> or <code>srun</code>), e.g.</p><pre><code class="nohighlight hljs">$ mpiexec -n 3 julia --project examples/01-hello.jl
-Hello world, I am rank 0 of 3
-Hello world, I am rank 2 of 3
-Hello world, I am rank 1 of 3</code></pre><p>The <a href="../reference/environment/#MPICH_jll.mpiexec"><code>mpiexec</code></a> function is provided for launching MPI programs from Julia itself.</p><h2 id="Julia-wrapper-for-mpiexec"><a class="docs-heading-anchor" href="#Julia-wrapper-for-mpiexec">Julia wrapper for <code>mpiexec</code></a><a id="Julia-wrapper-for-mpiexec-1"></a><a class="docs-heading-anchor-permalink" href="#Julia-wrapper-for-mpiexec" title="Permalink"></a></h2><p>Since you can configure <code>MPI.jl</code> to use one of several MPI implementations, you may have different Julia projects using different implementation.  Thus, it may be cumbersome to find out which <code>mpiexec</code> executable is associated to a specific project.  To make this easy, on Unix-based systems <code>MPI.jl</code> comes with a thin project-aware wrapper around <code>mpiexec</code>, called <code>mpiexecjl</code>.</p><h3 id="Installation"><a class="docs-heading-anchor" href="#Installation">Installation</a><a id="Installation-1"></a><a class="docs-heading-anchor-permalink" href="#Installation" title="Permalink"></a></h3><p>You can install <code>mpiexecjl</code> with <a href="../reference/environment/#MPI.install_mpiexecjl"><code>MPI.install_mpiexecjl()</code></a>.  The default destination directory is <code>joinpath(DEPOT_PATH[1], &quot;bin&quot;)</code>, which usually translates to <code>~/.julia/bin</code>, but check the value on your system.  You can also tell <code>MPI.install_mpiexecjl</code> to install to a different directory.</p><pre><code class="language-sh hljs">$ julia
-julia&gt; using MPI
-julia&gt; MPI.install_mpiexecjl()</code></pre><p>To quickly call this wrapper we recommend you to add the destination directory to your <a href="https://en.wikipedia.org/wiki/PATH_(variable)"><code>PATH</code></a> environment variable.</p><h3 id="Usage-2"><a class="docs-heading-anchor" href="#Usage-2">Usage</a><a class="docs-heading-anchor-permalink" href="#Usage-2" title="Permalink"></a></h3><p><code>mpiexecjl</code> has the same syntax as the <code>mpiexec</code> binary that will be called, but it takes in addition a <code>--project</code> option to call the specific binary associated to the <code>MPI.jl</code> version in the given project.  If no <code>--project</code> flag is used, the <code>MPI.jl</code> in the global Julia environment will be used instead.</p><p>After installing <code>mpiexecjl</code> and adding its directory to <code>PATH</code>, you can run it with:</p><pre><code class="language-sh hljs">$ mpiexecjl --project=/path/to/project -n 20 julia script.jl</code></pre><h2 id="CUDA-aware-MPI-support"><a class="docs-heading-anchor" href="#CUDA-aware-MPI-support">CUDA-aware MPI support</a><a id="CUDA-aware-MPI-support-1"></a><a class="docs-heading-anchor-permalink" href="#CUDA-aware-MPI-support" title="Permalink"></a></h2><p>If your MPI implementation has been compiled with CUDA support, then <code>CUDA.CuArray</code>s (from the <a href="https://github.com/JuliaGPU/CUDA.jl">CUDA.jl</a> package) can be passed directly as send and receive buffers for point-to-point and collective operations (they may also work with one-sided operations, but these are not often supported).</p><p>Successfully running the <a href="https://gist.github.com/luraess/0063e90cb08eb2208b7fe204bbd90ed2">alltoall_test_cuda.jl</a>  should confirm your MPI implementation to have the CUDA support enabled. Moreover, successfully running the  <a href="https://gist.github.com/luraess/ed93cc09ba04fe16f63b4219c1811566">alltoall_test_cuda_multigpu.jl</a> should confirm  your CUDA-aware MPI implementation to use multiple Nvidia GPUs (one GPU per rank).</p><p>If using OpenMPI, the status of CUDA support can be checked via the <a href="../reference/library/#MPI.has_cuda"><code>MPI.has_cuda()</code></a> function.</p><h2 id="ROCm-aware-MPI-support"><a class="docs-heading-anchor" href="#ROCm-aware-MPI-support">ROCm-aware MPI support</a><a id="ROCm-aware-MPI-support-1"></a><a class="docs-heading-anchor-permalink" href="#ROCm-aware-MPI-support" title="Permalink"></a></h2><p>If your MPI implementation has been compiled with ROCm support (AMDGPU), then <code>AMDGPU.ROCArray</code>s (from the <a href="https://github.com/JuliaGPU/AMDGPU.jl">AMDGPU.jl</a> package) can be passed directly as send and receive buffers for point-to-point and collective operations (they may also work with one-sided operations, but these are not often supported).</p><p>Successfully running the <a href="https://gist.github.com/luraess/c228ec08629737888a18c6a1e397643c">alltoall_test_rocm.jl</a>  should confirm your MPI implementation to have the ROCm support (AMDGPU) enabled. Moreover, successfully running the  <a href="https://gist.github.com/luraess/a47931d7fb668bd4348a2c730d5489f4">alltoall_test_rocm_multigpu.jl</a> should confirm  your ROCm-aware MPI implementation to use multiple AMD GPUs (one GPU per rank).</p><p>The status of ROCm (AMDGPU) support cannot currently be queried.</p><h2 id="Writing-MPI-tests"><a class="docs-heading-anchor" href="#Writing-MPI-tests">Writing MPI tests</a><a id="Writing-MPI-tests-1"></a><a class="docs-heading-anchor-permalink" href="#Writing-MPI-tests" title="Permalink"></a></h2><p>It is recommended to use the <code>mpiexec()</code> wrapper when writing your package tests in <code>runtests.jl</code>:</p><pre><code class="language-julia hljs"># test/runtests.jl
-using MPI
-using Test
-
-@testset &quot;hello&quot; begin
-    n = 2  # number of processes
-    mpiexec() do exe  # MPI wrapper
-        run(`$exe -n $n $(Base.julia_cmd()) [...]/01-hello.jl`)
-        # alternatively:
-        # p = run(ignorestatus(`...`))
-        # @test success(p)
-    end
-end</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../configuration/">« Configuration</a><a class="docs-footer-nextpage" href="../knownissues/">Known issues »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 1 January 2023 03:50">Sunday 1 January 2023</span>. Using Julia version 1.8.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR645/assets/documenter.js b/previews/PR645/assets/documenter.js
deleted file mode 100644
index 6adfbbbf4..000000000
--- a/previews/PR645/assets/documenter.js
+++ /dev/null
@@ -1,331 +0,0 @@
-// Generated by Documenter.jl
-requirejs.config({
-  paths: {
-    'highlight-julia': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.5.1/languages/julia.min',
-    'headroom': 'https://cdnjs.cloudflare.com/ajax/libs/headroom/0.12.0/headroom.min',
-    'jqueryui': 'https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min',
-    'katex-auto-render': 'https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/contrib/auto-render.min',
-    'jquery': 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min',
-    'headroom-jquery': 'https://cdnjs.cloudflare.com/ajax/libs/headroom/0.12.0/jQuery.headroom.min',
-    'katex': 'https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min',
-    'highlight': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.5.1/highlight.min',
-    'highlight-julia-repl': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.5.1/languages/julia-repl.min',
-  },
-  shim: {
-  "highlight-julia": {
-    "deps": [
-      "highlight"
-    ]
-  },
-  "katex-auto-render": {
-    "deps": [
-      "katex"
-    ]
-  },
-  "headroom-jquery": {
-    "deps": [
-      "jquery",
-      "headroom"
-    ]
-  },
-  "highlight-julia-repl": {
-    "deps": [
-      "highlight"
-    ]
-  }
-}
-});
-////////////////////////////////////////////////////////////////////////////////
-require(['jquery', 'katex', 'katex-auto-render'], function($, katex, renderMathInElement) {
-$(document).ready(function() {
-  renderMathInElement(
-    document.body,
-    {
-  "delimiters": [
-    {
-      "left": "$",
-      "right": "$",
-      "display": false
-    },
-    {
-      "left": "$$",
-      "right": "$$",
-      "display": true
-    },
-    {
-      "left": "\\[",
-      "right": "\\]",
-      "display": true
-    }
-  ]
-}
-
-  );
-})
-
-})
-////////////////////////////////////////////////////////////////////////////////
-require(['jquery', 'highlight', 'highlight-julia', 'highlight-julia-repl'], function($) {
-$(document).ready(function() {
-    hljs.highlightAll();
-})
-
-})
-////////////////////////////////////////////////////////////////////////////////
-require([], function() {
-function addCopyButtonCallbacks() {
-  for (const el of document.getElementsByTagName("pre")) {
-    const button = document.createElement("button");
-    button.classList.add("copy-button", "fas", "fa-copy");
-    el.appendChild(button);
-
-    const success = function () {
-      button.classList.add("success", "fa-check");
-      button.classList.remove("fa-copy");
-    };
-
-    const failure = function () {
-      button.classList.add("error", "fa-times");
-      button.classList.remove("fa-copy");
-    };
-
-    button.addEventListener("click", function () {
-      copyToClipboard(el.innerText).then(success, failure);
-
-      setTimeout(function () {
-        button.classList.add("fa-copy");
-        button.classList.remove("success", "fa-check", "fa-times");
-      }, 5000);
-    });
-  }
-}
-
-function copyToClipboard(text) {
-  // clipboard API is only available in secure contexts
-  if (window.navigator && window.navigator.clipboard) {
-    return window.navigator.clipboard.writeText(text);
-  } else {
-    return new Promise(function (resolve, reject) {
-      try {
-        const el = document.createElement("textarea");
-        el.textContent = text;
-        el.style.position = "fixed";
-        el.style.opacity = 0;
-        document.body.appendChild(el);
-        el.select();
-        document.execCommand("copy");
-
-        resolve();
-      } catch (err) {
-        reject(err);
-      } finally {
-        document.body.removeChild(el);
-      }
-    });
-  }
-}
-
-if (document.readyState === "loading") {
-  document.addEventListener("DOMContentLoaded", addCopyButtonCallbacks);
-} else {
-  addCopyButtonCallbacks();
-}
-
-})
-////////////////////////////////////////////////////////////////////////////////
-require(['jquery', 'headroom', 'headroom-jquery'], function($, Headroom) {
-
-// Manages the top navigation bar (hides it when the user starts scrolling down on the
-// mobile).
-window.Headroom = Headroom; // work around buggy module loading?
-$(document).ready(function() {
-  $('#documenter .docs-navbar').headroom({
-    "tolerance": {"up": 10, "down": 10},
-  });
-})
-
-})
-////////////////////////////////////////////////////////////////////////////////
-require(['jquery'], function($) {
-
-// Modal settings dialog
-$(document).ready(function() {
-  var settings = $('#documenter-settings');
-  $('#documenter-settings-button').click(function(){
-    settings.toggleClass('is-active');
-  });
-  // Close the dialog if X is clicked
-  $('#documenter-settings button.delete').click(function(){
-    settings.removeClass('is-active');
-  });
-  // Close dialog if ESC is pressed
-  $(document).keyup(function(e) {
-    if (e.keyCode == 27) settings.removeClass('is-active');
-  });
-});
-
-})
-////////////////////////////////////////////////////////////////////////////////
-require(['jquery'], function($) {
-
-// Manages the showing and hiding of the sidebar.
-$(document).ready(function() {
-  var sidebar = $("#documenter > .docs-sidebar");
-  var sidebar_button = $("#documenter-sidebar-button")
-  sidebar_button.click(function(ev) {
-    ev.preventDefault();
-    sidebar.toggleClass('visible');
-    if (sidebar.hasClass('visible')) {
-      // Makes sure that the current menu item is visible in the sidebar.
-      $("#documenter .docs-menu a.is-active").focus();
-    }
-  });
-  $("#documenter > .docs-main").bind('click', function(ev) {
-    if ($(ev.target).is(sidebar_button)) {
-      return;
-    }
-    if (sidebar.hasClass('visible')) {
-      sidebar.removeClass('visible');
-    }
-  });
-})
-
-// Resizes the package name / sitename in the sidebar if it is too wide.
-// Inspired by: https://github.com/davatron5000/FitText.js
-$(document).ready(function() {
-  e = $("#documenter .docs-autofit");
-  function resize() {
-    var L = parseInt(e.css('max-width'), 10);
-    var L0 = e.width();
-    if(L0 > L) {
-      var h0 = parseInt(e.css('font-size'), 10);
-      e.css('font-size', L * h0 / L0);
-      // TODO: make sure it survives resizes?
-    }
-  }
-  // call once and then register events
-  resize();
-  $(window).resize(resize);
-  $(window).on('orientationchange', resize);
-});
-
-// Scroll the navigation bar to the currently selected menu item
-$(document).ready(function() {
-  var sidebar = $("#documenter .docs-menu").get(0);
-  var active = $("#documenter .docs-menu .is-active").get(0);
-  if(typeof active !== 'undefined') {
-    sidebar.scrollTop = active.offsetTop - sidebar.offsetTop - 15;
-  }
-})
-
-})
-////////////////////////////////////////////////////////////////////////////////
-require(['jquery'], function($) {
-
-function set_theme(theme) {
-  var active = null;
-  var disabled = [];
-  for (var i = 0; i < document.styleSheets.length; i++) {
-    var ss = document.styleSheets[i];
-    var themename = ss.ownerNode.getAttribute("data-theme-name");
-    if(themename === null) continue; // ignore non-theme stylesheets
-    // Find the active theme
-    if(themename === theme) active = ss;
-    else disabled.push(ss);
-  }
-  if(active !== null) {
-    active.disabled = false;
-    if(active.ownerNode.getAttribute("data-theme-primary") === null) {
-      document.getElementsByTagName('html')[0].className = "theme--" + theme;
-    } else {
-      document.getElementsByTagName('html')[0].className = "";
-    }
-    disabled.forEach(function(ss){
-      ss.disabled = true;
-    });
-  }
-
-  // Store the theme in localStorage
-  if(typeof(window.localStorage) !== "undefined") {
-    window.localStorage.setItem("documenter-theme", theme);
-  } else {
-    console.error("Browser does not support window.localStorage");
-  }
-}
-
-// Theme picker setup
-$(document).ready(function() {
-  // onchange callback
-  $('#documenter-themepicker').change(function themepick_callback(ev){
-    var themename = $('#documenter-themepicker option:selected').attr('value');
-    set_theme(themename);
-  });
-
-  // Make sure that the themepicker displays the correct theme when the theme is retrieved
-  // from localStorage
-  if(typeof(window.localStorage) !== "undefined") {
-    var theme =  window.localStorage.getItem("documenter-theme");
-    if(theme !== null) {
-      $('#documenter-themepicker option').each(function(i,e) {
-        e.selected = (e.value === theme);
-      })
-    } else {
-      $('#documenter-themepicker option').each(function(i,e) {
-        e.selected = $("html").hasClass(`theme--${e.value}`);
-      })
-    }
-  }
-})
-
-})
-////////////////////////////////////////////////////////////////////////////////
-require(['jquery'], function($) {
-
-// update the version selector with info from the siteinfo.js and ../versions.js files
-$(document).ready(function() {
-  // If the version selector is disabled with DOCUMENTER_VERSION_SELECTOR_DISABLED in the
-  // siteinfo.js file, we just return immediately and not display the version selector.
-  if (typeof DOCUMENTER_VERSION_SELECTOR_DISABLED === 'boolean' && DOCUMENTER_VERSION_SELECTOR_DISABLED) {
-    return;
-  }
-
-  var version_selector = $("#documenter .docs-version-selector");
-  var version_selector_select = $("#documenter .docs-version-selector select");
-
-  version_selector_select.change(function(x) {
-    target_href = version_selector_select.children("option:selected").get(0).value;
-    window.location.href = target_href;
-  });
-
-  // add the current version to the selector based on siteinfo.js, but only if the selector is empty
-  if (typeof DOCUMENTER_CURRENT_VERSION !== 'undefined' && $('#version-selector > option').length == 0) {
-    var option = $("<option value='#' selected='selected'>" + DOCUMENTER_CURRENT_VERSION + "</option>");
-    version_selector_select.append(option);
-  }
-
-  if (typeof DOC_VERSIONS !== 'undefined') {
-    var existing_versions = version_selector_select.children("option");
-    var existing_versions_texts = existing_versions.map(function(i,x){return x.text});
-    DOC_VERSIONS.forEach(function(each) {
-      var version_url = documenterBaseURL + "/../" + each;
-      var existing_id = $.inArray(each, existing_versions_texts);
-      // if not already in the version selector, add it as a new option,
-      // otherwise update the old option with the URL and enable it
-      if (existing_id == -1) {
-        var option = $("<option value='" + version_url + "'>" + each + "</option>");
-        version_selector_select.append(option);
-      } else {
-        var option = existing_versions[existing_id];
-        option.value = version_url;
-        option.disabled = false;
-      }
-    });
-  }
-
-  // only show the version selector if the selector has been populated
-  if (version_selector_select.children("option").length > 0) {
-    version_selector.toggleClass("visible");
-  }
-})
-
-})
diff --git a/previews/PR645/assets/logo.svg b/previews/PR645/assets/logo.svg
deleted file mode 100644
index 0b01097a2..000000000
--- a/previews/PR645/assets/logo.svg
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   inkscape:version="1.0rc1 (09960d6, 2020-04-09)"
-   sodipodi:docname="mpi_jl.svg"
-   viewBox="0 0 275.6608 198.06421"
-   height="198.06421"
-   width="275.6608"
-   id="svg80"
-   version="1.1">
-  <metadata
-     id="metadata86">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title></dc:title>
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <defs
-     id="defs84" />
-  <sodipodi:namedview
-     inkscape:current-layer="g88"
-     inkscape:window-maximized="0"
-     inkscape:window-y="44"
-     inkscape:window-x="1763"
-     inkscape:cy="145.35694"
-     inkscape:cx="280.32616"
-     inkscape:zoom="1.1"
-     showgrid="false"
-     id="namedview82"
-     inkscape:window-height="853"
-     inkscape:window-width="1418"
-     inkscape:pageshadow="2"
-     inkscape:pageopacity="0"
-     guidetolerance="10"
-     gridtolerance="10"
-     objecttolerance="10"
-     borderopacity="1"
-     bordercolor="#666666"
-     pagecolor="#ffffff" />
-  <g
-     id="g88"
-     inkscape:label="Image"
-     inkscape:groupmode="layer">
-    <rect
-       transform="matrix(0.99981558,0.01920454,-0.32803664,0.944665,0,0)"
-       y="-2.7273855"
-       x="134.15919"
-       height="141.78041"
-       width="140.65759"
-       id="rect94-6-7"
-       style="fill:#9558b2;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.13111" />
-    <rect
-       style="fill:#389826;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.13111;stroke-opacity:1"
-       id="rect94-6"
-       width="140.65759"
-       height="141.78041"
-       x="100.75105"
-       y="30.745317"
-       transform="matrix(0.99981558,0.01920454,-0.32803664,0.944665,0,0)" />
-    <rect
-       transform="matrix(0.99981558,0.01920454,-0.32803664,0.944665,0,0)"
-       y="63.65591"
-       x="67.403069"
-       height="141.78041"
-       width="140.65759"
-       id="rect94"
-       style="fill:#cb3c33;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.13111" />
-  </g>
-</svg>
diff --git a/previews/PR645/assets/search.js b/previews/PR645/assets/search.js
deleted file mode 100644
index c133f7410..000000000
--- a/previews/PR645/assets/search.js
+++ /dev/null
@@ -1,267 +0,0 @@
-// Generated by Documenter.jl
-requirejs.config({
-  paths: {
-    'lunr': 'https://cdnjs.cloudflare.com/ajax/libs/lunr.js/2.3.9/lunr.min',
-    'lodash': 'https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min',
-    'jquery': 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min',
-  }
-});
-////////////////////////////////////////////////////////////////////////////////
-require(['jquery', 'lunr', 'lodash'], function($, lunr, _) {
-
-$(document).ready(function() {
-  // parseUri 1.2.2
-  // (c) Steven Levithan <stevenlevithan.com>
-  // MIT License
-  function parseUri (str) {
-    var  o   = parseUri.options,
-      m   = o.parser[o.strictMode ? "strict" : "loose"].exec(str),
-      uri = {},
-      i   = 14;
-
-    while (i--) uri[o.key[i]] = m[i] || "";
-
-    uri[o.q.name] = {};
-    uri[o.key[12]].replace(o.q.parser, function ($0, $1, $2) {
-      if ($1) uri[o.q.name][$1] = $2;
-    });
-
-    return uri;
-  };
-  parseUri.options = {
-    strictMode: false,
-    key: ["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],
-    q:   {
-      name:   "queryKey",
-      parser: /(?:^|&)([^&=]*)=?([^&]*)/g
-    },
-    parser: {
-      strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,
-      loose:  /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/
-    }
-  };
-
-  $("#search-form").submit(function(e) {
-    e.preventDefault()
-  })
-
-  // list below is the lunr 2.1.3 list minus the intersect with names(Base)
-  // (all, any, get, in, is, only, which) and (do, else, for, let, where, while, with)
-  // ideally we'd just filter the original list but it's not available as a variable
-  lunr.stopWordFilter = lunr.generateStopWordFilter([
-    'a',
-    'able',
-    'about',
-    'across',
-    'after',
-    'almost',
-    'also',
-    'am',
-    'among',
-    'an',
-    'and',
-    'are',
-    'as',
-    'at',
-    'be',
-    'because',
-    'been',
-    'but',
-    'by',
-    'can',
-    'cannot',
-    'could',
-    'dear',
-    'did',
-    'does',
-    'either',
-    'ever',
-    'every',
-    'from',
-    'got',
-    'had',
-    'has',
-    'have',
-    'he',
-    'her',
-    'hers',
-    'him',
-    'his',
-    'how',
-    'however',
-    'i',
-    'if',
-    'into',
-    'it',
-    'its',
-    'just',
-    'least',
-    'like',
-    'likely',
-    'may',
-    'me',
-    'might',
-    'most',
-    'must',
-    'my',
-    'neither',
-    'no',
-    'nor',
-    'not',
-    'of',
-    'off',
-    'often',
-    'on',
-    'or',
-    'other',
-    'our',
-    'own',
-    'rather',
-    'said',
-    'say',
-    'says',
-    'she',
-    'should',
-    'since',
-    'so',
-    'some',
-    'than',
-    'that',
-    'the',
-    'their',
-    'them',
-    'then',
-    'there',
-    'these',
-    'they',
-    'this',
-    'tis',
-    'to',
-    'too',
-    'twas',
-    'us',
-    'wants',
-    'was',
-    'we',
-    'were',
-    'what',
-    'when',
-    'who',
-    'whom',
-    'why',
-    'will',
-    'would',
-    'yet',
-    'you',
-    'your'
-  ])
-
-  // add . as a separator, because otherwise "title": "Documenter.Anchors.add!"
-  // would not find anything if searching for "add!", only for the entire qualification
-  lunr.tokenizer.separator = /[\s\-\.]+/
-
-  // custom trimmer that doesn't strip @ and !, which are used in julia macro and function names
-  lunr.trimmer = function (token) {
-    return token.update(function (s) {
-      return s.replace(/^[^a-zA-Z0-9@!]+/, '').replace(/[^a-zA-Z0-9@!]+$/, '')
-    })
-  }
-
-  lunr.Pipeline.registerFunction(lunr.stopWordFilter, 'juliaStopWordFilter')
-  lunr.Pipeline.registerFunction(lunr.trimmer, 'juliaTrimmer')
-
-  var index = lunr(function () {
-    this.ref('location')
-    this.field('title',{boost: 100})
-    this.field('text')
-    documenterSearchIndex['docs'].forEach(function(e) {
-        this.add(e)
-    }, this)
-  })
-  var store = {}
-
-  documenterSearchIndex['docs'].forEach(function(e) {
-      store[e.location] = {title: e.title, category: e.category, page: e.page}
-  })
-
-  $(function(){
-    searchresults = $('#documenter-search-results');
-    searchinfo = $('#documenter-search-info');
-    searchbox = $('#documenter-search-query');
-    searchform = $('.docs-search');
-    sidebar = $('.docs-sidebar');
-    function update_search(querystring) {
-      tokens = lunr.tokenizer(querystring)
-      results = index.query(function (q) {
-        tokens.forEach(function (t) {
-          q.term(t.toString(), {
-            fields: ["title"],
-            boost: 100,
-            usePipeline: true,
-            editDistance: 0,
-            wildcard: lunr.Query.wildcard.NONE
-          })
-          q.term(t.toString(), {
-            fields: ["title"],
-            boost: 10,
-            usePipeline: true,
-            editDistance: 2,
-            wildcard: lunr.Query.wildcard.NONE
-          })
-          q.term(t.toString(), {
-            fields: ["text"],
-            boost: 1,
-            usePipeline: true,
-            editDistance: 0,
-            wildcard: lunr.Query.wildcard.NONE
-          })
-        })
-      })
-      searchinfo.text("Number of results: " + results.length)
-      searchresults.empty()
-      results.forEach(function(result) {
-        data = store[result.ref]
-        link = $('<a class="docs-label">'+data.title+'</a>')
-        link.attr('href', documenterBaseURL+'/'+result.ref)
-        if (data.category != "page"){
-          cat = $('<span class="docs-category">('+data.category+', '+data.page+')</span>')
-        } else {
-          cat = $('<span class="docs-category">('+data.category+')</span>')
-        }
-        li = $('<li>').append(link).append(" ").append(cat)
-        searchresults.append(li)
-      })
-    }
-
-    function update_search_box() {
-      querystring = searchbox.val()
-      update_search(querystring)
-    }
-
-    searchbox.keyup(_.debounce(update_search_box, 250))
-    searchbox.change(update_search_box)
-
-    // Disable enter-key form submission for the searchbox on the search page
-    // and just re-run search rather than refresh the whole page.
-    searchform.keypress(
-      function(event){
-        if (event.which == '13') {
-          if (sidebar.hasClass('visible')) {
-            sidebar.removeClass('visible');
-          }
-          update_search_box();
-          event.preventDefault();
-        }
-      }
-    );
-
-    search_query_uri = parseUri(window.location).queryKey["q"]
-    if(search_query_uri !== undefined) {
-      search_query = decodeURIComponent(search_query_uri.replace(/\+/g, '%20'))
-      searchbox.val(search_query)
-    }
-    update_search_box();
-  })
-})
-
-})
diff --git a/previews/PR645/assets/themes/documenter-dark.css b/previews/PR645/assets/themes/documenter-dark.css
deleted file mode 100644
index 0bf1af7d5..000000000
--- a/previews/PR645/assets/themes/documenter-dark.css
+++ /dev/null
@@ -1,7702 +0,0 @@
-@charset "UTF-8";
-/* Font Awesome 5 mixin. Can be included in any rule that should render Font Awesome icons. */
-@keyframes spinAround {
-  from {
-    transform: rotate(0deg); }
-  to {
-    transform: rotate(359deg); } }
-
-html.theme--documenter-dark .tabs, html.theme--documenter-dark .pagination-previous,
-html.theme--documenter-dark .pagination-next,
-html.theme--documenter-dark .pagination-link,
-html.theme--documenter-dark .pagination-ellipsis, html.theme--documenter-dark .breadcrumb, html.theme--documenter-dark .file, html.theme--documenter-dark .button, .is-unselectable, html.theme--documenter-dark .modal-close, html.theme--documenter-dark .delete {
-  -webkit-touch-callout: none;
-  -webkit-user-select: none;
-  -moz-user-select: none;
-  -ms-user-select: none;
-  user-select: none; }
-
-html.theme--documenter-dark .navbar-link:not(.is-arrowless)::after, html.theme--documenter-dark .select:not(.is-multiple):not(.is-loading)::after {
-  border: 3px solid transparent;
-  border-radius: 2px;
-  border-right: 0;
-  border-top: 0;
-  content: " ";
-  display: block;
-  height: 0.625em;
-  margin-top: -0.4375em;
-  pointer-events: none;
-  position: absolute;
-  top: 50%;
-  transform: rotate(-45deg);
-  transform-origin: center;
-  width: 0.625em; }
-
-html.theme--documenter-dark .admonition:not(:last-child), html.theme--documenter-dark .tabs:not(:last-child), html.theme--documenter-dark .message:not(:last-child), html.theme--documenter-dark .list:not(:last-child), html.theme--documenter-dark .level:not(:last-child), html.theme--documenter-dark .breadcrumb:not(:last-child), html.theme--documenter-dark .highlight:not(:last-child), html.theme--documenter-dark .block:not(:last-child), html.theme--documenter-dark .title:not(:last-child),
-html.theme--documenter-dark .subtitle:not(:last-child), html.theme--documenter-dark .table-container:not(:last-child), html.theme--documenter-dark .table:not(:last-child), html.theme--documenter-dark .progress:not(:last-child), html.theme--documenter-dark .notification:not(:last-child), html.theme--documenter-dark .content:not(:last-child), html.theme--documenter-dark .box:not(:last-child) {
-  margin-bottom: 1.5rem; }
-
-html.theme--documenter-dark .modal-close, html.theme--documenter-dark .delete {
-  -moz-appearance: none;
-  -webkit-appearance: none;
-  background-color: rgba(10, 10, 10, 0.2);
-  border: none;
-  border-radius: 290486px;
-  cursor: pointer;
-  pointer-events: auto;
-  display: inline-block;
-  flex-grow: 0;
-  flex-shrink: 0;
-  font-size: 0;
-  height: 20px;
-  max-height: 20px;
-  max-width: 20px;
-  min-height: 20px;
-  min-width: 20px;
-  outline: none;
-  position: relative;
-  vertical-align: top;
-  width: 20px; }
-  html.theme--documenter-dark .modal-close::before, html.theme--documenter-dark .delete::before, html.theme--documenter-dark .modal-close::after, html.theme--documenter-dark .delete::after {
-    background-color: white;
-    content: "";
-    display: block;
-    left: 50%;
-    position: absolute;
-    top: 50%;
-    transform: translateX(-50%) translateY(-50%) rotate(45deg);
-    transform-origin: center center; }
-  html.theme--documenter-dark .modal-close::before, html.theme--documenter-dark .delete::before {
-    height: 2px;
-    width: 50%; }
-  html.theme--documenter-dark .modal-close::after, html.theme--documenter-dark .delete::after {
-    height: 50%;
-    width: 2px; }
-  html.theme--documenter-dark .modal-close:hover, html.theme--documenter-dark .delete:hover, html.theme--documenter-dark .modal-close:focus, html.theme--documenter-dark .delete:focus {
-    background-color: rgba(10, 10, 10, 0.3); }
-  html.theme--documenter-dark .modal-close:active, html.theme--documenter-dark .delete:active {
-    background-color: rgba(10, 10, 10, 0.4); }
-  html.theme--documenter-dark .is-small.modal-close, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.modal-close, html.theme--documenter-dark .is-small.delete, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.delete {
-    height: 16px;
-    max-height: 16px;
-    max-width: 16px;
-    min-height: 16px;
-    min-width: 16px;
-    width: 16px; }
-  html.theme--documenter-dark .is-medium.modal-close, html.theme--documenter-dark .is-medium.delete {
-    height: 24px;
-    max-height: 24px;
-    max-width: 24px;
-    min-height: 24px;
-    min-width: 24px;
-    width: 24px; }
-  html.theme--documenter-dark .is-large.modal-close, html.theme--documenter-dark .is-large.delete {
-    height: 32px;
-    max-height: 32px;
-    max-width: 32px;
-    min-height: 32px;
-    min-width: 32px;
-    width: 32px; }
-
-html.theme--documenter-dark .control.is-loading::after, html.theme--documenter-dark .select.is-loading::after, html.theme--documenter-dark .loader, html.theme--documenter-dark .button.is-loading::after {
-  animation: spinAround 500ms infinite linear;
-  border: 2px solid #dbdee0;
-  border-radius: 290486px;
-  border-right-color: transparent;
-  border-top-color: transparent;
-  content: "";
-  display: block;
-  height: 1em;
-  position: relative;
-  width: 1em; }
-
-html.theme--documenter-dark .hero-video, html.theme--documenter-dark .modal-background, html.theme--documenter-dark .modal, html.theme--documenter-dark .image.is-square img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-square img,
-html.theme--documenter-dark .image.is-square .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-square .has-ratio, html.theme--documenter-dark .image.is-1by1 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by1 img,
-html.theme--documenter-dark .image.is-1by1 .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by1 .has-ratio, html.theme--documenter-dark .image.is-5by4 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by4 img,
-html.theme--documenter-dark .image.is-5by4 .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by4 .has-ratio, html.theme--documenter-dark .image.is-4by3 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by3 img,
-html.theme--documenter-dark .image.is-4by3 .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by3 .has-ratio, html.theme--documenter-dark .image.is-3by2 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by2 img,
-html.theme--documenter-dark .image.is-3by2 .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by2 .has-ratio, html.theme--documenter-dark .image.is-5by3 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by3 img,
-html.theme--documenter-dark .image.is-5by3 .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by3 .has-ratio, html.theme--documenter-dark .image.is-16by9 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-16by9 img,
-html.theme--documenter-dark .image.is-16by9 .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-16by9 .has-ratio, html.theme--documenter-dark .image.is-2by1 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by1 img,
-html.theme--documenter-dark .image.is-2by1 .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by1 .has-ratio, html.theme--documenter-dark .image.is-3by1 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by1 img,
-html.theme--documenter-dark .image.is-3by1 .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by1 .has-ratio, html.theme--documenter-dark .image.is-4by5 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by5 img,
-html.theme--documenter-dark .image.is-4by5 .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by5 .has-ratio, html.theme--documenter-dark .image.is-3by4 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by4 img,
-html.theme--documenter-dark .image.is-3by4 .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by4 .has-ratio, html.theme--documenter-dark .image.is-2by3 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by3 img,
-html.theme--documenter-dark .image.is-2by3 .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by3 .has-ratio, html.theme--documenter-dark .image.is-3by5 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by5 img,
-html.theme--documenter-dark .image.is-3by5 .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by5 .has-ratio, html.theme--documenter-dark .image.is-9by16 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-9by16 img,
-html.theme--documenter-dark .image.is-9by16 .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-9by16 .has-ratio, html.theme--documenter-dark .image.is-1by2 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by2 img,
-html.theme--documenter-dark .image.is-1by2 .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by2 .has-ratio, html.theme--documenter-dark .image.is-1by3 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by3 img,
-html.theme--documenter-dark .image.is-1by3 .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by3 .has-ratio, .is-overlay {
-  bottom: 0;
-  left: 0;
-  position: absolute;
-  right: 0;
-  top: 0; }
-
-html.theme--documenter-dark .pagination-previous,
-html.theme--documenter-dark .pagination-next,
-html.theme--documenter-dark .pagination-link,
-html.theme--documenter-dark .pagination-ellipsis, html.theme--documenter-dark .file-cta,
-html.theme--documenter-dark .file-name, html.theme--documenter-dark .select select, html.theme--documenter-dark .textarea, html.theme--documenter-dark .input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input, html.theme--documenter-dark .button {
-  -moz-appearance: none;
-  -webkit-appearance: none;
-  align-items: center;
-  border: 1px solid transparent;
-  border-radius: 0.4em;
-  box-shadow: none;
-  display: inline-flex;
-  font-size: 15px;
-  height: 2.25em;
-  justify-content: flex-start;
-  line-height: 1.5;
-  padding-bottom: calc(0.375em - 1px);
-  padding-left: calc(0.625em - 1px);
-  padding-right: calc(0.625em - 1px);
-  padding-top: calc(0.375em - 1px);
-  position: relative;
-  vertical-align: top; }
-  html.theme--documenter-dark .pagination-previous:focus,
-  html.theme--documenter-dark .pagination-next:focus,
-  html.theme--documenter-dark .pagination-link:focus,
-  html.theme--documenter-dark .pagination-ellipsis:focus, html.theme--documenter-dark .file-cta:focus,
-  html.theme--documenter-dark .file-name:focus, html.theme--documenter-dark .select select:focus, html.theme--documenter-dark .textarea:focus, html.theme--documenter-dark .input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:focus, html.theme--documenter-dark .button:focus, html.theme--documenter-dark .is-focused.pagination-previous,
-  html.theme--documenter-dark .is-focused.pagination-next,
-  html.theme--documenter-dark .is-focused.pagination-link,
-  html.theme--documenter-dark .is-focused.pagination-ellipsis, html.theme--documenter-dark .is-focused.file-cta,
-  html.theme--documenter-dark .is-focused.file-name, html.theme--documenter-dark .select select.is-focused, html.theme--documenter-dark .is-focused.textarea, html.theme--documenter-dark .is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .is-focused.button, html.theme--documenter-dark .pagination-previous:active,
-  html.theme--documenter-dark .pagination-next:active,
-  html.theme--documenter-dark .pagination-link:active,
-  html.theme--documenter-dark .pagination-ellipsis:active, html.theme--documenter-dark .file-cta:active,
-  html.theme--documenter-dark .file-name:active, html.theme--documenter-dark .select select:active, html.theme--documenter-dark .textarea:active, html.theme--documenter-dark .input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:active, html.theme--documenter-dark .button:active, html.theme--documenter-dark .is-active.pagination-previous,
-  html.theme--documenter-dark .is-active.pagination-next,
-  html.theme--documenter-dark .is-active.pagination-link,
-  html.theme--documenter-dark .is-active.pagination-ellipsis, html.theme--documenter-dark .is-active.file-cta,
-  html.theme--documenter-dark .is-active.file-name, html.theme--documenter-dark .select select.is-active, html.theme--documenter-dark .is-active.textarea, html.theme--documenter-dark .is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active, html.theme--documenter-dark .is-active.button {
-    outline: none; }
-  html.theme--documenter-dark .pagination-previous[disabled],
-  html.theme--documenter-dark .pagination-next[disabled],
-  html.theme--documenter-dark .pagination-link[disabled],
-  html.theme--documenter-dark .pagination-ellipsis[disabled], html.theme--documenter-dark .file-cta[disabled],
-  html.theme--documenter-dark .file-name[disabled], html.theme--documenter-dark .select select[disabled], html.theme--documenter-dark .textarea[disabled], html.theme--documenter-dark .input[disabled], html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input[disabled], html.theme--documenter-dark .button[disabled], fieldset[disabled] html.theme--documenter-dark .pagination-previous, html.theme--documenter-dark fieldset[disabled] .pagination-previous,
-  fieldset[disabled] html.theme--documenter-dark .pagination-next,
-  html.theme--documenter-dark fieldset[disabled] .pagination-next,
-  fieldset[disabled] html.theme--documenter-dark .pagination-link,
-  html.theme--documenter-dark fieldset[disabled] .pagination-link,
-  fieldset[disabled] html.theme--documenter-dark .pagination-ellipsis,
-  html.theme--documenter-dark fieldset[disabled] .pagination-ellipsis, fieldset[disabled] html.theme--documenter-dark .file-cta, html.theme--documenter-dark fieldset[disabled] .file-cta,
-  fieldset[disabled] html.theme--documenter-dark .file-name,
-  html.theme--documenter-dark fieldset[disabled] .file-name, fieldset[disabled] html.theme--documenter-dark .select select, fieldset[disabled] html.theme--documenter-dark .textarea, fieldset[disabled] html.theme--documenter-dark .input, fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input, html.theme--documenter-dark fieldset[disabled] .select select, html.theme--documenter-dark .select fieldset[disabled] select, html.theme--documenter-dark fieldset[disabled] .textarea, html.theme--documenter-dark fieldset[disabled] .input, html.theme--documenter-dark fieldset[disabled] #documenter .docs-sidebar form.docs-search > input, html.theme--documenter-dark #documenter .docs-sidebar fieldset[disabled] form.docs-search > input, fieldset[disabled] html.theme--documenter-dark .button, html.theme--documenter-dark fieldset[disabled] .button {
-    cursor: not-allowed; }
-
-/*! minireset.css v0.0.4 | MIT License | github.com/jgthms/minireset.css */
-html,
-body,
-p,
-ol,
-ul,
-li,
-dl,
-dt,
-dd,
-blockquote,
-figure,
-fieldset,
-legend,
-textarea,
-pre,
-iframe,
-hr,
-h1,
-h2,
-h3,
-h4,
-h5,
-h6 {
-  margin: 0;
-  padding: 0; }
-
-h1,
-h2,
-h3,
-h4,
-h5,
-h6 {
-  font-size: 100%;
-  font-weight: normal; }
-
-ul {
-  list-style: none; }
-
-button,
-input,
-select,
-textarea {
-  margin: 0; }
-
-html {
-  box-sizing: border-box; }
-
-*, *::before, *::after {
-  box-sizing: inherit; }
-
-img,
-embed,
-iframe,
-object,
-video {
-  height: auto;
-  max-width: 100%; }
-
-audio {
-  max-width: 100%; }
-
-iframe {
-  border: 0; }
-
-table {
-  border-collapse: collapse;
-  border-spacing: 0; }
-
-td,
-th {
-  padding: 0; }
-  td:not([align]),
-  th:not([align]) {
-    text-align: left; }
-
-.is-clearfix::after {
-  clear: both;
-  content: " ";
-  display: table; }
-
-.is-pulled-left {
-  float: left !important; }
-
-.is-pulled-right {
-  float: right !important; }
-
-.is-clipped {
-  overflow: hidden !important; }
-
-.is-size-1 {
-  font-size: 3rem !important; }
-
-.is-size-2 {
-  font-size: 2.5rem !important; }
-
-.is-size-3 {
-  font-size: 2rem !important; }
-
-.is-size-4 {
-  font-size: 1.5rem !important; }
-
-.is-size-5 {
-  font-size: 1.25rem !important; }
-
-.is-size-6 {
-  font-size: 15px !important; }
-
-.is-size-7, html.theme--documenter-dark .docstring > section > a.docs-sourcelink {
-  font-size: 0.85em !important; }
-
-@media screen and (max-width: 768px) {
-  .is-size-1-mobile {
-    font-size: 3rem !important; }
-  .is-size-2-mobile {
-    font-size: 2.5rem !important; }
-  .is-size-3-mobile {
-    font-size: 2rem !important; }
-  .is-size-4-mobile {
-    font-size: 1.5rem !important; }
-  .is-size-5-mobile {
-    font-size: 1.25rem !important; }
-  .is-size-6-mobile {
-    font-size: 15px !important; }
-  .is-size-7-mobile {
-    font-size: 0.85em !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-size-1-tablet {
-    font-size: 3rem !important; }
-  .is-size-2-tablet {
-    font-size: 2.5rem !important; }
-  .is-size-3-tablet {
-    font-size: 2rem !important; }
-  .is-size-4-tablet {
-    font-size: 1.5rem !important; }
-  .is-size-5-tablet {
-    font-size: 1.25rem !important; }
-  .is-size-6-tablet {
-    font-size: 15px !important; }
-  .is-size-7-tablet {
-    font-size: 0.85em !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-size-1-touch {
-    font-size: 3rem !important; }
-  .is-size-2-touch {
-    font-size: 2.5rem !important; }
-  .is-size-3-touch {
-    font-size: 2rem !important; }
-  .is-size-4-touch {
-    font-size: 1.5rem !important; }
-  .is-size-5-touch {
-    font-size: 1.25rem !important; }
-  .is-size-6-touch {
-    font-size: 15px !important; }
-  .is-size-7-touch {
-    font-size: 0.85em !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-size-1-desktop {
-    font-size: 3rem !important; }
-  .is-size-2-desktop {
-    font-size: 2.5rem !important; }
-  .is-size-3-desktop {
-    font-size: 2rem !important; }
-  .is-size-4-desktop {
-    font-size: 1.5rem !important; }
-  .is-size-5-desktop {
-    font-size: 1.25rem !important; }
-  .is-size-6-desktop {
-    font-size: 15px !important; }
-  .is-size-7-desktop {
-    font-size: 0.85em !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-size-1-widescreen {
-    font-size: 3rem !important; }
-  .is-size-2-widescreen {
-    font-size: 2.5rem !important; }
-  .is-size-3-widescreen {
-    font-size: 2rem !important; }
-  .is-size-4-widescreen {
-    font-size: 1.5rem !important; }
-  .is-size-5-widescreen {
-    font-size: 1.25rem !important; }
-  .is-size-6-widescreen {
-    font-size: 15px !important; }
-  .is-size-7-widescreen {
-    font-size: 0.85em !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-size-1-fullhd {
-    font-size: 3rem !important; }
-  .is-size-2-fullhd {
-    font-size: 2.5rem !important; }
-  .is-size-3-fullhd {
-    font-size: 2rem !important; }
-  .is-size-4-fullhd {
-    font-size: 1.5rem !important; }
-  .is-size-5-fullhd {
-    font-size: 1.25rem !important; }
-  .is-size-6-fullhd {
-    font-size: 15px !important; }
-  .is-size-7-fullhd {
-    font-size: 0.85em !important; } }
-
-.has-text-centered {
-  text-align: center !important; }
-
-.has-text-justified {
-  text-align: justify !important; }
-
-.has-text-left {
-  text-align: left !important; }
-
-.has-text-right {
-  text-align: right !important; }
-
-@media screen and (max-width: 768px) {
-  .has-text-centered-mobile {
-    text-align: center !important; } }
-
-@media screen and (min-width: 769px), print {
-  .has-text-centered-tablet {
-    text-align: center !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .has-text-centered-tablet-only {
-    text-align: center !important; } }
-
-@media screen and (max-width: 1055px) {
-  .has-text-centered-touch {
-    text-align: center !important; } }
-
-@media screen and (min-width: 1056px) {
-  .has-text-centered-desktop {
-    text-align: center !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .has-text-centered-desktop-only {
-    text-align: center !important; } }
-
-@media screen and (min-width: 1216px) {
-  .has-text-centered-widescreen {
-    text-align: center !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .has-text-centered-widescreen-only {
-    text-align: center !important; } }
-
-@media screen and (min-width: 1408px) {
-  .has-text-centered-fullhd {
-    text-align: center !important; } }
-
-@media screen and (max-width: 768px) {
-  .has-text-justified-mobile {
-    text-align: justify !important; } }
-
-@media screen and (min-width: 769px), print {
-  .has-text-justified-tablet {
-    text-align: justify !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .has-text-justified-tablet-only {
-    text-align: justify !important; } }
-
-@media screen and (max-width: 1055px) {
-  .has-text-justified-touch {
-    text-align: justify !important; } }
-
-@media screen and (min-width: 1056px) {
-  .has-text-justified-desktop {
-    text-align: justify !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .has-text-justified-desktop-only {
-    text-align: justify !important; } }
-
-@media screen and (min-width: 1216px) {
-  .has-text-justified-widescreen {
-    text-align: justify !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .has-text-justified-widescreen-only {
-    text-align: justify !important; } }
-
-@media screen and (min-width: 1408px) {
-  .has-text-justified-fullhd {
-    text-align: justify !important; } }
-
-@media screen and (max-width: 768px) {
-  .has-text-left-mobile {
-    text-align: left !important; } }
-
-@media screen and (min-width: 769px), print {
-  .has-text-left-tablet {
-    text-align: left !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .has-text-left-tablet-only {
-    text-align: left !important; } }
-
-@media screen and (max-width: 1055px) {
-  .has-text-left-touch {
-    text-align: left !important; } }
-
-@media screen and (min-width: 1056px) {
-  .has-text-left-desktop {
-    text-align: left !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .has-text-left-desktop-only {
-    text-align: left !important; } }
-
-@media screen and (min-width: 1216px) {
-  .has-text-left-widescreen {
-    text-align: left !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .has-text-left-widescreen-only {
-    text-align: left !important; } }
-
-@media screen and (min-width: 1408px) {
-  .has-text-left-fullhd {
-    text-align: left !important; } }
-
-@media screen and (max-width: 768px) {
-  .has-text-right-mobile {
-    text-align: right !important; } }
-
-@media screen and (min-width: 769px), print {
-  .has-text-right-tablet {
-    text-align: right !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .has-text-right-tablet-only {
-    text-align: right !important; } }
-
-@media screen and (max-width: 1055px) {
-  .has-text-right-touch {
-    text-align: right !important; } }
-
-@media screen and (min-width: 1056px) {
-  .has-text-right-desktop {
-    text-align: right !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .has-text-right-desktop-only {
-    text-align: right !important; } }
-
-@media screen and (min-width: 1216px) {
-  .has-text-right-widescreen {
-    text-align: right !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .has-text-right-widescreen-only {
-    text-align: right !important; } }
-
-@media screen and (min-width: 1408px) {
-  .has-text-right-fullhd {
-    text-align: right !important; } }
-
-.is-capitalized {
-  text-transform: capitalize !important; }
-
-.is-lowercase {
-  text-transform: lowercase !important; }
-
-.is-uppercase {
-  text-transform: uppercase !important; }
-
-.is-italic {
-  font-style: italic !important; }
-
-.has-text-white {
-  color: white !important; }
-
-a.has-text-white:hover, a.has-text-white:focus {
-  color: #e6e6e6 !important; }
-
-.has-background-white {
-  background-color: white !important; }
-
-.has-text-black {
-  color: #0a0a0a !important; }
-
-a.has-text-black:hover, a.has-text-black:focus {
-  color: black !important; }
-
-.has-background-black {
-  background-color: #0a0a0a !important; }
-
-.has-text-light {
-  color: #ecf0f1 !important; }
-
-a.has-text-light:hover, a.has-text-light:focus {
-  color: #cfd9db !important; }
-
-.has-background-light {
-  background-color: #ecf0f1 !important; }
-
-.has-text-dark {
-  color: #282f2f !important; }
-
-a.has-text-dark:hover, a.has-text-dark:focus {
-  color: #111414 !important; }
-
-.has-background-dark {
-  background-color: #282f2f !important; }
-
-.has-text-primary {
-  color: #375a7f !important; }
-
-a.has-text-primary:hover, a.has-text-primary:focus {
-  color: #28415b !important; }
-
-.has-background-primary {
-  background-color: #375a7f !important; }
-
-.has-text-link {
-  color: #1abc9c !important; }
-
-a.has-text-link:hover, a.has-text-link:focus {
-  color: #148f77 !important; }
-
-.has-background-link {
-  background-color: #1abc9c !important; }
-
-.has-text-info {
-  color: #024c7d !important; }
-
-a.has-text-info:hover, a.has-text-info:focus {
-  color: #012d4b !important; }
-
-.has-background-info {
-  background-color: #024c7d !important; }
-
-.has-text-success {
-  color: #008438 !important; }
-
-a.has-text-success:hover, a.has-text-success:focus {
-  color: #005122 !important; }
-
-.has-background-success {
-  background-color: #008438 !important; }
-
-.has-text-warning {
-  color: #ad8100 !important; }
-
-a.has-text-warning:hover, a.has-text-warning:focus {
-  color: #7a5b00 !important; }
-
-.has-background-warning {
-  background-color: #ad8100 !important; }
-
-.has-text-danger {
-  color: #9e1b0d !important; }
-
-a.has-text-danger:hover, a.has-text-danger:focus {
-  color: #6f1309 !important; }
-
-.has-background-danger {
-  background-color: #9e1b0d !important; }
-
-.has-text-black-bis {
-  color: #121212 !important; }
-
-.has-background-black-bis {
-  background-color: #121212 !important; }
-
-.has-text-black-ter {
-  color: #242424 !important; }
-
-.has-background-black-ter {
-  background-color: #242424 !important; }
-
-.has-text-grey-darker {
-  color: #282f2f !important; }
-
-.has-background-grey-darker {
-  background-color: #282f2f !important; }
-
-.has-text-grey-dark {
-  color: #343c3d !important; }
-
-.has-background-grey-dark {
-  background-color: #343c3d !important; }
-
-.has-text-grey {
-  color: #5e6d6f !important; }
-
-.has-background-grey {
-  background-color: #5e6d6f !important; }
-
-.has-text-grey-light {
-  color: #8c9b9d !important; }
-
-.has-background-grey-light {
-  background-color: #8c9b9d !important; }
-
-.has-text-grey-lighter {
-  color: #dbdee0 !important; }
-
-.has-background-grey-lighter {
-  background-color: #dbdee0 !important; }
-
-.has-text-white-ter {
-  color: #ecf0f1 !important; }
-
-.has-background-white-ter {
-  background-color: #ecf0f1 !important; }
-
-.has-text-white-bis {
-  color: #fafafa !important; }
-
-.has-background-white-bis {
-  background-color: #fafafa !important; }
-
-.has-text-weight-light {
-  font-weight: 300 !important; }
-
-.has-text-weight-normal {
-  font-weight: 400 !important; }
-
-.has-text-weight-medium {
-  font-weight: 500 !important; }
-
-.has-text-weight-semibold {
-  font-weight: 600 !important; }
-
-.has-text-weight-bold {
-  font-weight: 700 !important; }
-
-.is-family-primary {
-  font-family: "Lato Medium", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; }
-
-.is-family-secondary {
-  font-family: "Lato Medium", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; }
-
-.is-family-sans-serif {
-  font-family: "Lato Medium", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; }
-
-.is-family-monospace {
-  font-family: "JuliaMono", "SFMono-Regular", "Menlo", "Consolas", "Liberation Mono", "DejaVu Sans Mono", monospace !important; }
-
-.is-family-code {
-  font-family: "JuliaMono", "SFMono-Regular", "Menlo", "Consolas", "Liberation Mono", "DejaVu Sans Mono", monospace !important; }
-
-.is-block {
-  display: block !important; }
-
-@media screen and (max-width: 768px) {
-  .is-block-mobile {
-    display: block !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-block-tablet {
-    display: block !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .is-block-tablet-only {
-    display: block !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-block-touch {
-    display: block !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-block-desktop {
-    display: block !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .is-block-desktop-only {
-    display: block !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-block-widescreen {
-    display: block !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .is-block-widescreen-only {
-    display: block !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-block-fullhd {
-    display: block !important; } }
-
-.is-flex {
-  display: flex !important; }
-
-@media screen and (max-width: 768px) {
-  .is-flex-mobile {
-    display: flex !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-flex-tablet {
-    display: flex !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .is-flex-tablet-only {
-    display: flex !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-flex-touch {
-    display: flex !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-flex-desktop {
-    display: flex !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .is-flex-desktop-only {
-    display: flex !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-flex-widescreen {
-    display: flex !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .is-flex-widescreen-only {
-    display: flex !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-flex-fullhd {
-    display: flex !important; } }
-
-.is-inline {
-  display: inline !important; }
-
-@media screen and (max-width: 768px) {
-  .is-inline-mobile {
-    display: inline !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-inline-tablet {
-    display: inline !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .is-inline-tablet-only {
-    display: inline !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-inline-touch {
-    display: inline !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-inline-desktop {
-    display: inline !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .is-inline-desktop-only {
-    display: inline !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-inline-widescreen {
-    display: inline !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .is-inline-widescreen-only {
-    display: inline !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-inline-fullhd {
-    display: inline !important; } }
-
-.is-inline-block {
-  display: inline-block !important; }
-
-@media screen and (max-width: 768px) {
-  .is-inline-block-mobile {
-    display: inline-block !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-inline-block-tablet {
-    display: inline-block !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .is-inline-block-tablet-only {
-    display: inline-block !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-inline-block-touch {
-    display: inline-block !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-inline-block-desktop {
-    display: inline-block !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .is-inline-block-desktop-only {
-    display: inline-block !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-inline-block-widescreen {
-    display: inline-block !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .is-inline-block-widescreen-only {
-    display: inline-block !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-inline-block-fullhd {
-    display: inline-block !important; } }
-
-.is-inline-flex {
-  display: inline-flex !important; }
-
-@media screen and (max-width: 768px) {
-  .is-inline-flex-mobile {
-    display: inline-flex !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-inline-flex-tablet {
-    display: inline-flex !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .is-inline-flex-tablet-only {
-    display: inline-flex !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-inline-flex-touch {
-    display: inline-flex !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-inline-flex-desktop {
-    display: inline-flex !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .is-inline-flex-desktop-only {
-    display: inline-flex !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-inline-flex-widescreen {
-    display: inline-flex !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .is-inline-flex-widescreen-only {
-    display: inline-flex !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-inline-flex-fullhd {
-    display: inline-flex !important; } }
-
-.is-hidden {
-  display: none !important; }
-
-.is-sr-only {
-  border: none !important;
-  clip: rect(0, 0, 0, 0) !important;
-  height: 0.01em !important;
-  overflow: hidden !important;
-  padding: 0 !important;
-  position: absolute !important;
-  white-space: nowrap !important;
-  width: 0.01em !important; }
-
-@media screen and (max-width: 768px) {
-  .is-hidden-mobile {
-    display: none !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-hidden-tablet {
-    display: none !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .is-hidden-tablet-only {
-    display: none !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-hidden-touch {
-    display: none !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-hidden-desktop {
-    display: none !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .is-hidden-desktop-only {
-    display: none !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-hidden-widescreen {
-    display: none !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .is-hidden-widescreen-only {
-    display: none !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-hidden-fullhd {
-    display: none !important; } }
-
-.is-invisible {
-  visibility: hidden !important; }
-
-@media screen and (max-width: 768px) {
-  .is-invisible-mobile {
-    visibility: hidden !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-invisible-tablet {
-    visibility: hidden !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .is-invisible-tablet-only {
-    visibility: hidden !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-invisible-touch {
-    visibility: hidden !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-invisible-desktop {
-    visibility: hidden !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .is-invisible-desktop-only {
-    visibility: hidden !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-invisible-widescreen {
-    visibility: hidden !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .is-invisible-widescreen-only {
-    visibility: hidden !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-invisible-fullhd {
-    visibility: hidden !important; } }
-
-.is-marginless {
-  margin: 0 !important; }
-
-.is-paddingless {
-  padding: 0 !important; }
-
-.is-radiusless {
-  border-radius: 0 !important; }
-
-.is-shadowless {
-  box-shadow: none !important; }
-
-.is-relative {
-  position: relative !important; }
-
-html.theme--documenter-dark {
-  /* This file contain the overall layout.
- *
- * The main container is <div> that is identified by id #documenter.
- */
-  /*!
-  Theme: a11y-dark
-  Author: @ericwbailey
-  Maintainer: @ericwbailey
-
-  Based on the Tomorrow Night Eighties theme: https://github.com/isagalaev/highlight.js/blob/master/src/styles/tomorrow-night-eighties.css
-*/
-  /* Comment */
-  /* Red */
-  /* Orange */
-  /* Yellow */
-  /* Green */
-  /* Blue */
-  /* Purple */ }
-  html.theme--documenter-dark html {
-    background-color: #1f2424;
-    font-size: 16px;
-    -moz-osx-font-smoothing: grayscale;
-    -webkit-font-smoothing: antialiased;
-    min-width: 300px;
-    overflow-x: auto;
-    overflow-y: scroll;
-    text-rendering: optimizeLegibility;
-    text-size-adjust: 100%; }
-  html.theme--documenter-dark article,
-  html.theme--documenter-dark aside,
-  html.theme--documenter-dark figure,
-  html.theme--documenter-dark footer,
-  html.theme--documenter-dark header,
-  html.theme--documenter-dark hgroup,
-  html.theme--documenter-dark section {
-    display: block; }
-  html.theme--documenter-dark body,
-  html.theme--documenter-dark button,
-  html.theme--documenter-dark input,
-  html.theme--documenter-dark select,
-  html.theme--documenter-dark textarea {
-    font-family: "Lato Medium", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
-  html.theme--documenter-dark code,
-  html.theme--documenter-dark pre {
-    -moz-osx-font-smoothing: auto;
-    -webkit-font-smoothing: auto;
-    font-family: "JuliaMono", "SFMono-Regular", "Menlo", "Consolas", "Liberation Mono", "DejaVu Sans Mono", monospace; }
-  html.theme--documenter-dark body {
-    color: #fff;
-    font-size: 1em;
-    font-weight: 400;
-    line-height: 1.5; }
-  html.theme--documenter-dark a {
-    color: #1abc9c;
-    cursor: pointer;
-    text-decoration: none; }
-    html.theme--documenter-dark a strong {
-      color: currentColor; }
-    html.theme--documenter-dark a:hover {
-      color: #1dd2af; }
-  html.theme--documenter-dark code {
-    background-color: rgba(255, 255, 255, 0.05);
-    color: #ececec;
-    font-size: 0.875em;
-    font-weight: normal;
-    padding: 0.1em; }
-  html.theme--documenter-dark hr {
-    background-color: #282f2f;
-    border: none;
-    display: block;
-    height: 2px;
-    margin: 1.5rem 0; }
-  html.theme--documenter-dark img {
-    height: auto;
-    max-width: 100%; }
-  html.theme--documenter-dark input[type="checkbox"],
-  html.theme--documenter-dark input[type="radio"] {
-    vertical-align: baseline; }
-  html.theme--documenter-dark small {
-    font-size: 0.875em; }
-  html.theme--documenter-dark span {
-    font-style: inherit;
-    font-weight: inherit; }
-  html.theme--documenter-dark strong {
-    color: #f2f2f2;
-    font-weight: 700; }
-  html.theme--documenter-dark fieldset {
-    border: none; }
-  html.theme--documenter-dark pre {
-    -webkit-overflow-scrolling: touch;
-    background-color: #282f2f;
-    color: #fff;
-    font-size: 0.875em;
-    overflow-x: auto;
-    padding: 1.25rem 1.5rem;
-    white-space: pre;
-    word-wrap: normal; }
-    html.theme--documenter-dark pre code {
-      background-color: transparent;
-      color: currentColor;
-      font-size: 1em;
-      padding: 0; }
-  html.theme--documenter-dark table td,
-  html.theme--documenter-dark table th {
-    vertical-align: top; }
-    html.theme--documenter-dark table td:not([align]),
-    html.theme--documenter-dark table th:not([align]) {
-      text-align: left; }
-  html.theme--documenter-dark table th {
-    color: #f2f2f2; }
-  html.theme--documenter-dark .box {
-    background-color: #343c3d;
-    border-radius: 8px;
-    box-shadow: none;
-    color: #fff;
-    display: block;
-    padding: 1.25rem; }
-  html.theme--documenter-dark a.box:hover, html.theme--documenter-dark a.box:focus {
-    box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px #1abc9c; }
-  html.theme--documenter-dark a.box:active {
-    box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2), 0 0 0 1px #1abc9c; }
-  html.theme--documenter-dark .button {
-    background-color: #282f2f;
-    border-color: #4c5759;
-    border-width: 1px;
-    color: #375a7f;
-    cursor: pointer;
-    justify-content: center;
-    padding-bottom: calc(0.375em - 1px);
-    padding-left: 0.75em;
-    padding-right: 0.75em;
-    padding-top: calc(0.375em - 1px);
-    text-align: center;
-    white-space: nowrap; }
-    html.theme--documenter-dark .button strong {
-      color: inherit; }
-    html.theme--documenter-dark .button .icon, html.theme--documenter-dark .button .icon.is-small, html.theme--documenter-dark .button #documenter .docs-sidebar form.docs-search > input.icon, html.theme--documenter-dark #documenter .docs-sidebar .button form.docs-search > input.icon, html.theme--documenter-dark .button .icon.is-medium, html.theme--documenter-dark .button .icon.is-large {
-      height: 1.5em;
-      width: 1.5em; }
-    html.theme--documenter-dark .button .icon:first-child:not(:last-child) {
-      margin-left: calc(-0.375em - 1px);
-      margin-right: 0.1875em; }
-    html.theme--documenter-dark .button .icon:last-child:not(:first-child) {
-      margin-left: 0.1875em;
-      margin-right: calc(-0.375em - 1px); }
-    html.theme--documenter-dark .button .icon:first-child:last-child {
-      margin-left: calc(-0.375em - 1px);
-      margin-right: calc(-0.375em - 1px); }
-    html.theme--documenter-dark .button:hover, html.theme--documenter-dark .button.is-hovered {
-      border-color: #8c9b9d;
-      color: #f2f2f2; }
-    html.theme--documenter-dark .button:focus, html.theme--documenter-dark .button.is-focused {
-      border-color: #8c9b9d;
-      color: #17a689; }
-      html.theme--documenter-dark .button:focus:not(:active), html.theme--documenter-dark .button.is-focused:not(:active) {
-        box-shadow: 0 0 0 0.125em rgba(26, 188, 156, 0.25); }
-    html.theme--documenter-dark .button:active, html.theme--documenter-dark .button.is-active {
-      border-color: #343c3d;
-      color: #f2f2f2; }
-    html.theme--documenter-dark .button.is-text {
-      background-color: transparent;
-      border-color: transparent;
-      color: #fff;
-      text-decoration: underline; }
-      html.theme--documenter-dark .button.is-text:hover, html.theme--documenter-dark .button.is-text.is-hovered, html.theme--documenter-dark .button.is-text:focus, html.theme--documenter-dark .button.is-text.is-focused {
-        background-color: #282f2f;
-        color: #f2f2f2; }
-      html.theme--documenter-dark .button.is-text:active, html.theme--documenter-dark .button.is-text.is-active {
-        background-color: #1d2122;
-        color: #f2f2f2; }
-      html.theme--documenter-dark .button.is-text[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-text {
-        background-color: transparent;
-        border-color: transparent;
-        box-shadow: none; }
-    html.theme--documenter-dark .button.is-white {
-      background-color: white;
-      border-color: transparent;
-      color: #0a0a0a; }
-      html.theme--documenter-dark .button.is-white:hover, html.theme--documenter-dark .button.is-white.is-hovered {
-        background-color: #f9f9f9;
-        border-color: transparent;
-        color: #0a0a0a; }
-      html.theme--documenter-dark .button.is-white:focus, html.theme--documenter-dark .button.is-white.is-focused {
-        border-color: transparent;
-        color: #0a0a0a; }
-        html.theme--documenter-dark .button.is-white:focus:not(:active), html.theme--documenter-dark .button.is-white.is-focused:not(:active) {
-          box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); }
-      html.theme--documenter-dark .button.is-white:active, html.theme--documenter-dark .button.is-white.is-active {
-        background-color: #f2f2f2;
-        border-color: transparent;
-        color: #0a0a0a; }
-      html.theme--documenter-dark .button.is-white[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-white {
-        background-color: white;
-        border-color: transparent;
-        box-shadow: none; }
-      html.theme--documenter-dark .button.is-white.is-inverted {
-        background-color: #0a0a0a;
-        color: white; }
-        html.theme--documenter-dark .button.is-white.is-inverted:hover, html.theme--documenter-dark .button.is-white.is-inverted.is-hovered {
-          background-color: black; }
-        html.theme--documenter-dark .button.is-white.is-inverted[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-white.is-inverted {
-          background-color: #0a0a0a;
-          border-color: transparent;
-          box-shadow: none;
-          color: white; }
-      html.theme--documenter-dark .button.is-white.is-loading::after {
-        border-color: transparent transparent #0a0a0a #0a0a0a !important; }
-      html.theme--documenter-dark .button.is-white.is-outlined {
-        background-color: transparent;
-        border-color: white;
-        color: white; }
-        html.theme--documenter-dark .button.is-white.is-outlined:hover, html.theme--documenter-dark .button.is-white.is-outlined.is-hovered, html.theme--documenter-dark .button.is-white.is-outlined:focus, html.theme--documenter-dark .button.is-white.is-outlined.is-focused {
-          background-color: white;
-          border-color: white;
-          color: #0a0a0a; }
-        html.theme--documenter-dark .button.is-white.is-outlined.is-loading::after {
-          border-color: transparent transparent white white !important; }
-        html.theme--documenter-dark .button.is-white.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-white.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-white.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-white.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #0a0a0a #0a0a0a !important; }
-        html.theme--documenter-dark .button.is-white.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-white.is-outlined {
-          background-color: transparent;
-          border-color: white;
-          box-shadow: none;
-          color: white; }
-      html.theme--documenter-dark .button.is-white.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: #0a0a0a;
-        color: #0a0a0a; }
-        html.theme--documenter-dark .button.is-white.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-white.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-focused {
-          background-color: #0a0a0a;
-          color: white; }
-        html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent white white !important; }
-        html.theme--documenter-dark .button.is-white.is-inverted.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-white.is-inverted.is-outlined {
-          background-color: transparent;
-          border-color: #0a0a0a;
-          box-shadow: none;
-          color: #0a0a0a; }
-    html.theme--documenter-dark .button.is-black {
-      background-color: #0a0a0a;
-      border-color: transparent;
-      color: white; }
-      html.theme--documenter-dark .button.is-black:hover, html.theme--documenter-dark .button.is-black.is-hovered {
-        background-color: #040404;
-        border-color: transparent;
-        color: white; }
-      html.theme--documenter-dark .button.is-black:focus, html.theme--documenter-dark .button.is-black.is-focused {
-        border-color: transparent;
-        color: white; }
-        html.theme--documenter-dark .button.is-black:focus:not(:active), html.theme--documenter-dark .button.is-black.is-focused:not(:active) {
-          box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); }
-      html.theme--documenter-dark .button.is-black:active, html.theme--documenter-dark .button.is-black.is-active {
-        background-color: black;
-        border-color: transparent;
-        color: white; }
-      html.theme--documenter-dark .button.is-black[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-black {
-        background-color: #0a0a0a;
-        border-color: transparent;
-        box-shadow: none; }
-      html.theme--documenter-dark .button.is-black.is-inverted {
-        background-color: white;
-        color: #0a0a0a; }
-        html.theme--documenter-dark .button.is-black.is-inverted:hover, html.theme--documenter-dark .button.is-black.is-inverted.is-hovered {
-          background-color: #f2f2f2; }
-        html.theme--documenter-dark .button.is-black.is-inverted[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-black.is-inverted {
-          background-color: white;
-          border-color: transparent;
-          box-shadow: none;
-          color: #0a0a0a; }
-      html.theme--documenter-dark .button.is-black.is-loading::after {
-        border-color: transparent transparent white white !important; }
-      html.theme--documenter-dark .button.is-black.is-outlined {
-        background-color: transparent;
-        border-color: #0a0a0a;
-        color: #0a0a0a; }
-        html.theme--documenter-dark .button.is-black.is-outlined:hover, html.theme--documenter-dark .button.is-black.is-outlined.is-hovered, html.theme--documenter-dark .button.is-black.is-outlined:focus, html.theme--documenter-dark .button.is-black.is-outlined.is-focused {
-          background-color: #0a0a0a;
-          border-color: #0a0a0a;
-          color: white; }
-        html.theme--documenter-dark .button.is-black.is-outlined.is-loading::after {
-          border-color: transparent transparent #0a0a0a #0a0a0a !important; }
-        html.theme--documenter-dark .button.is-black.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-black.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-black.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-black.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent white white !important; }
-        html.theme--documenter-dark .button.is-black.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-black.is-outlined {
-          background-color: transparent;
-          border-color: #0a0a0a;
-          box-shadow: none;
-          color: #0a0a0a; }
-      html.theme--documenter-dark .button.is-black.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: white;
-        color: white; }
-        html.theme--documenter-dark .button.is-black.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-black.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-focused {
-          background-color: white;
-          color: #0a0a0a; }
-        html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #0a0a0a #0a0a0a !important; }
-        html.theme--documenter-dark .button.is-black.is-inverted.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-black.is-inverted.is-outlined {
-          background-color: transparent;
-          border-color: white;
-          box-shadow: none;
-          color: white; }
-    html.theme--documenter-dark .button.is-light {
-      background-color: #ecf0f1;
-      border-color: transparent;
-      color: #282f2f; }
-      html.theme--documenter-dark .button.is-light:hover, html.theme--documenter-dark .button.is-light.is-hovered {
-        background-color: #e5eaec;
-        border-color: transparent;
-        color: #282f2f; }
-      html.theme--documenter-dark .button.is-light:focus, html.theme--documenter-dark .button.is-light.is-focused {
-        border-color: transparent;
-        color: #282f2f; }
-        html.theme--documenter-dark .button.is-light:focus:not(:active), html.theme--documenter-dark .button.is-light.is-focused:not(:active) {
-          box-shadow: 0 0 0 0.125em rgba(236, 240, 241, 0.25); }
-      html.theme--documenter-dark .button.is-light:active, html.theme--documenter-dark .button.is-light.is-active {
-        background-color: #dde4e6;
-        border-color: transparent;
-        color: #282f2f; }
-      html.theme--documenter-dark .button.is-light[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-light {
-        background-color: #ecf0f1;
-        border-color: transparent;
-        box-shadow: none; }
-      html.theme--documenter-dark .button.is-light.is-inverted {
-        background-color: #282f2f;
-        color: #ecf0f1; }
-        html.theme--documenter-dark .button.is-light.is-inverted:hover, html.theme--documenter-dark .button.is-light.is-inverted.is-hovered {
-          background-color: #1d2122; }
-        html.theme--documenter-dark .button.is-light.is-inverted[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-light.is-inverted {
-          background-color: #282f2f;
-          border-color: transparent;
-          box-shadow: none;
-          color: #ecf0f1; }
-      html.theme--documenter-dark .button.is-light.is-loading::after {
-        border-color: transparent transparent #282f2f #282f2f !important; }
-      html.theme--documenter-dark .button.is-light.is-outlined {
-        background-color: transparent;
-        border-color: #ecf0f1;
-        color: #ecf0f1; }
-        html.theme--documenter-dark .button.is-light.is-outlined:hover, html.theme--documenter-dark .button.is-light.is-outlined.is-hovered, html.theme--documenter-dark .button.is-light.is-outlined:focus, html.theme--documenter-dark .button.is-light.is-outlined.is-focused {
-          background-color: #ecf0f1;
-          border-color: #ecf0f1;
-          color: #282f2f; }
-        html.theme--documenter-dark .button.is-light.is-outlined.is-loading::after {
-          border-color: transparent transparent #ecf0f1 #ecf0f1 !important; }
-        html.theme--documenter-dark .button.is-light.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-light.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-light.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-light.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #282f2f #282f2f !important; }
-        html.theme--documenter-dark .button.is-light.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-light.is-outlined {
-          background-color: transparent;
-          border-color: #ecf0f1;
-          box-shadow: none;
-          color: #ecf0f1; }
-      html.theme--documenter-dark .button.is-light.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: #282f2f;
-        color: #282f2f; }
-        html.theme--documenter-dark .button.is-light.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-light.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-focused {
-          background-color: #282f2f;
-          color: #ecf0f1; }
-        html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #ecf0f1 #ecf0f1 !important; }
-        html.theme--documenter-dark .button.is-light.is-inverted.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-light.is-inverted.is-outlined {
-          background-color: transparent;
-          border-color: #282f2f;
-          box-shadow: none;
-          color: #282f2f; }
-    html.theme--documenter-dark .button.is-dark, html.theme--documenter-dark .content kbd.button {
-      background-color: #282f2f;
-      border-color: transparent;
-      color: #ecf0f1; }
-      html.theme--documenter-dark .button.is-dark:hover, html.theme--documenter-dark .content kbd.button:hover, html.theme--documenter-dark .button.is-dark.is-hovered, html.theme--documenter-dark .content kbd.button.is-hovered {
-        background-color: #232829;
-        border-color: transparent;
-        color: #ecf0f1; }
-      html.theme--documenter-dark .button.is-dark:focus, html.theme--documenter-dark .content kbd.button:focus, html.theme--documenter-dark .button.is-dark.is-focused, html.theme--documenter-dark .content kbd.button.is-focused {
-        border-color: transparent;
-        color: #ecf0f1; }
-        html.theme--documenter-dark .button.is-dark:focus:not(:active), html.theme--documenter-dark .content kbd.button:focus:not(:active), html.theme--documenter-dark .button.is-dark.is-focused:not(:active), html.theme--documenter-dark .content kbd.button.is-focused:not(:active) {
-          box-shadow: 0 0 0 0.125em rgba(40, 47, 47, 0.25); }
-      html.theme--documenter-dark .button.is-dark:active, html.theme--documenter-dark .content kbd.button:active, html.theme--documenter-dark .button.is-dark.is-active, html.theme--documenter-dark .content kbd.button.is-active {
-        background-color: #1d2122;
-        border-color: transparent;
-        color: #ecf0f1; }
-      html.theme--documenter-dark .button.is-dark[disabled], html.theme--documenter-dark .content kbd.button[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-dark, fieldset[disabled] html.theme--documenter-dark .content kbd.button {
-        background-color: #282f2f;
-        border-color: transparent;
-        box-shadow: none; }
-      html.theme--documenter-dark .button.is-dark.is-inverted, html.theme--documenter-dark .content kbd.button.is-inverted {
-        background-color: #ecf0f1;
-        color: #282f2f; }
-        html.theme--documenter-dark .button.is-dark.is-inverted:hover, html.theme--documenter-dark .content kbd.button.is-inverted:hover, html.theme--documenter-dark .button.is-dark.is-inverted.is-hovered, html.theme--documenter-dark .content kbd.button.is-inverted.is-hovered {
-          background-color: #dde4e6; }
-        html.theme--documenter-dark .button.is-dark.is-inverted[disabled], html.theme--documenter-dark .content kbd.button.is-inverted[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-dark.is-inverted, fieldset[disabled] html.theme--documenter-dark .content kbd.button.is-inverted {
-          background-color: #ecf0f1;
-          border-color: transparent;
-          box-shadow: none;
-          color: #282f2f; }
-      html.theme--documenter-dark .button.is-dark.is-loading::after, html.theme--documenter-dark .content kbd.button.is-loading::after {
-        border-color: transparent transparent #ecf0f1 #ecf0f1 !important; }
-      html.theme--documenter-dark .button.is-dark.is-outlined, html.theme--documenter-dark .content kbd.button.is-outlined {
-        background-color: transparent;
-        border-color: #282f2f;
-        color: #282f2f; }
-        html.theme--documenter-dark .button.is-dark.is-outlined:hover, html.theme--documenter-dark .content kbd.button.is-outlined:hover, html.theme--documenter-dark .button.is-dark.is-outlined.is-hovered, html.theme--documenter-dark .content kbd.button.is-outlined.is-hovered, html.theme--documenter-dark .button.is-dark.is-outlined:focus, html.theme--documenter-dark .content kbd.button.is-outlined:focus, html.theme--documenter-dark .button.is-dark.is-outlined.is-focused, html.theme--documenter-dark .content kbd.button.is-outlined.is-focused {
-          background-color: #282f2f;
-          border-color: #282f2f;
-          color: #ecf0f1; }
-        html.theme--documenter-dark .button.is-dark.is-outlined.is-loading::after, html.theme--documenter-dark .content kbd.button.is-outlined.is-loading::after {
-          border-color: transparent transparent #282f2f #282f2f !important; }
-        html.theme--documenter-dark .button.is-dark.is-outlined.is-loading:hover::after, html.theme--documenter-dark .content kbd.button.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-dark.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .content kbd.button.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-dark.is-outlined.is-loading:focus::after, html.theme--documenter-dark .content kbd.button.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-dark.is-outlined.is-loading.is-focused::after, html.theme--documenter-dark .content kbd.button.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #ecf0f1 #ecf0f1 !important; }
-        html.theme--documenter-dark .button.is-dark.is-outlined[disabled], html.theme--documenter-dark .content kbd.button.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-dark.is-outlined, fieldset[disabled] html.theme--documenter-dark .content kbd.button.is-outlined {
-          background-color: transparent;
-          border-color: #282f2f;
-          box-shadow: none;
-          color: #282f2f; }
-      html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: #ecf0f1;
-        color: #ecf0f1; }
-        html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined:hover, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined:focus, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-focused, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-focused {
-          background-color: #ecf0f1;
-          color: #282f2f; }
-        html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-loading.is-focused::after, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #282f2f #282f2f !important; }
-        html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined[disabled], html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined, fieldset[disabled] html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined {
-          background-color: transparent;
-          border-color: #ecf0f1;
-          box-shadow: none;
-          color: #ecf0f1; }
-    html.theme--documenter-dark .button.is-primary, html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink {
-      background-color: #375a7f;
-      border-color: transparent;
-      color: #fff; }
-      html.theme--documenter-dark .button.is-primary:hover, html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink:hover, html.theme--documenter-dark .button.is-primary.is-hovered, html.theme--documenter-dark .docstring > section > a.button.is-hovered.docs-sourcelink {
-        background-color: #335476;
-        border-color: transparent;
-        color: #fff; }
-      html.theme--documenter-dark .button.is-primary:focus, html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink:focus, html.theme--documenter-dark .button.is-primary.is-focused, html.theme--documenter-dark .docstring > section > a.button.is-focused.docs-sourcelink {
-        border-color: transparent;
-        color: #fff; }
-        html.theme--documenter-dark .button.is-primary:focus:not(:active), html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink:focus:not(:active), html.theme--documenter-dark .button.is-primary.is-focused:not(:active), html.theme--documenter-dark .docstring > section > a.button.is-focused.docs-sourcelink:not(:active) {
-          box-shadow: 0 0 0 0.125em rgba(55, 90, 127, 0.25); }
-      html.theme--documenter-dark .button.is-primary:active, html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink:active, html.theme--documenter-dark .button.is-primary.is-active, html.theme--documenter-dark .docstring > section > a.button.is-active.docs-sourcelink {
-        background-color: #2f4d6d;
-        border-color: transparent;
-        color: #fff; }
-      html.theme--documenter-dark .button.is-primary[disabled], html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-primary, fieldset[disabled] html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink {
-        background-color: #375a7f;
-        border-color: transparent;
-        box-shadow: none; }
-      html.theme--documenter-dark .button.is-primary.is-inverted, html.theme--documenter-dark .docstring > section > a.button.is-inverted.docs-sourcelink {
-        background-color: #fff;
-        color: #375a7f; }
-        html.theme--documenter-dark .button.is-primary.is-inverted:hover, html.theme--documenter-dark .docstring > section > a.button.is-inverted.docs-sourcelink:hover, html.theme--documenter-dark .button.is-primary.is-inverted.is-hovered, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-hovered.docs-sourcelink {
-          background-color: #f2f2f2; }
-        html.theme--documenter-dark .button.is-primary.is-inverted[disabled], html.theme--documenter-dark .docstring > section > a.button.is-inverted.docs-sourcelink[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-primary.is-inverted, fieldset[disabled] html.theme--documenter-dark .docstring > section > a.button.is-inverted.docs-sourcelink {
-          background-color: #fff;
-          border-color: transparent;
-          box-shadow: none;
-          color: #375a7f; }
-      html.theme--documenter-dark .button.is-primary.is-loading::after, html.theme--documenter-dark .docstring > section > a.button.is-loading.docs-sourcelink::after {
-        border-color: transparent transparent #fff #fff !important; }
-      html.theme--documenter-dark .button.is-primary.is-outlined, html.theme--documenter-dark .docstring > section > a.button.is-outlined.docs-sourcelink {
-        background-color: transparent;
-        border-color: #375a7f;
-        color: #375a7f; }
-        html.theme--documenter-dark .button.is-primary.is-outlined:hover, html.theme--documenter-dark .docstring > section > a.button.is-outlined.docs-sourcelink:hover, html.theme--documenter-dark .button.is-primary.is-outlined.is-hovered, html.theme--documenter-dark .docstring > section > a.button.is-outlined.is-hovered.docs-sourcelink, html.theme--documenter-dark .button.is-primary.is-outlined:focus, html.theme--documenter-dark .docstring > section > a.button.is-outlined.docs-sourcelink:focus, html.theme--documenter-dark .button.is-primary.is-outlined.is-focused, html.theme--documenter-dark .docstring > section > a.button.is-outlined.is-focused.docs-sourcelink {
-          background-color: #375a7f;
-          border-color: #375a7f;
-          color: #fff; }
-        html.theme--documenter-dark .button.is-primary.is-outlined.is-loading::after, html.theme--documenter-dark .docstring > section > a.button.is-outlined.is-loading.docs-sourcelink::after {
-          border-color: transparent transparent #375a7f #375a7f !important; }
-        html.theme--documenter-dark .button.is-primary.is-outlined.is-loading:hover::after, html.theme--documenter-dark .docstring > section > a.button.is-outlined.is-loading.docs-sourcelink:hover::after, html.theme--documenter-dark .button.is-primary.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .docstring > section > a.button.is-outlined.is-loading.is-hovered.docs-sourcelink::after, html.theme--documenter-dark .button.is-primary.is-outlined.is-loading:focus::after, html.theme--documenter-dark .docstring > section > a.button.is-outlined.is-loading.docs-sourcelink:focus::after, html.theme--documenter-dark .button.is-primary.is-outlined.is-loading.is-focused::after, html.theme--documenter-dark .docstring > section > a.button.is-outlined.is-loading.is-focused.docs-sourcelink::after {
-          border-color: transparent transparent #fff #fff !important; }
-        html.theme--documenter-dark .button.is-primary.is-outlined[disabled], html.theme--documenter-dark .docstring > section > a.button.is-outlined.docs-sourcelink[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-primary.is-outlined, fieldset[disabled] html.theme--documenter-dark .docstring > section > a.button.is-outlined.docs-sourcelink {
-          background-color: transparent;
-          border-color: #375a7f;
-          box-shadow: none;
-          color: #375a7f; }
-      html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink {
-        background-color: transparent;
-        border-color: #fff;
-        color: #fff; }
-        html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined:hover, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink:hover, html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.is-hovered.docs-sourcelink, html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined:focus, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink:focus, html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-focused, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.is-focused.docs-sourcelink {
-          background-color: #fff;
-          color: #375a7f; }
-        html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.is-loading.docs-sourcelink:hover::after, html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.is-loading.is-hovered.docs-sourcelink::after, html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.is-loading.docs-sourcelink:focus::after, html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-loading.is-focused::after, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.is-loading.is-focused.docs-sourcelink::after {
-          border-color: transparent transparent #375a7f #375a7f !important; }
-        html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined[disabled], html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined, fieldset[disabled] html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink {
-          background-color: transparent;
-          border-color: #fff;
-          box-shadow: none;
-          color: #fff; }
-    html.theme--documenter-dark .button.is-link {
-      background-color: #1abc9c;
-      border-color: transparent;
-      color: #fff; }
-      html.theme--documenter-dark .button.is-link:hover, html.theme--documenter-dark .button.is-link.is-hovered {
-        background-color: #18b193;
-        border-color: transparent;
-        color: #fff; }
-      html.theme--documenter-dark .button.is-link:focus, html.theme--documenter-dark .button.is-link.is-focused {
-        border-color: transparent;
-        color: #fff; }
-        html.theme--documenter-dark .button.is-link:focus:not(:active), html.theme--documenter-dark .button.is-link.is-focused:not(:active) {
-          box-shadow: 0 0 0 0.125em rgba(26, 188, 156, 0.25); }
-      html.theme--documenter-dark .button.is-link:active, html.theme--documenter-dark .button.is-link.is-active {
-        background-color: #17a689;
-        border-color: transparent;
-        color: #fff; }
-      html.theme--documenter-dark .button.is-link[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-link {
-        background-color: #1abc9c;
-        border-color: transparent;
-        box-shadow: none; }
-      html.theme--documenter-dark .button.is-link.is-inverted {
-        background-color: #fff;
-        color: #1abc9c; }
-        html.theme--documenter-dark .button.is-link.is-inverted:hover, html.theme--documenter-dark .button.is-link.is-inverted.is-hovered {
-          background-color: #f2f2f2; }
-        html.theme--documenter-dark .button.is-link.is-inverted[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-link.is-inverted {
-          background-color: #fff;
-          border-color: transparent;
-          box-shadow: none;
-          color: #1abc9c; }
-      html.theme--documenter-dark .button.is-link.is-loading::after {
-        border-color: transparent transparent #fff #fff !important; }
-      html.theme--documenter-dark .button.is-link.is-outlined {
-        background-color: transparent;
-        border-color: #1abc9c;
-        color: #1abc9c; }
-        html.theme--documenter-dark .button.is-link.is-outlined:hover, html.theme--documenter-dark .button.is-link.is-outlined.is-hovered, html.theme--documenter-dark .button.is-link.is-outlined:focus, html.theme--documenter-dark .button.is-link.is-outlined.is-focused {
-          background-color: #1abc9c;
-          border-color: #1abc9c;
-          color: #fff; }
-        html.theme--documenter-dark .button.is-link.is-outlined.is-loading::after {
-          border-color: transparent transparent #1abc9c #1abc9c !important; }
-        html.theme--documenter-dark .button.is-link.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-link.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-link.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-link.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #fff #fff !important; }
-        html.theme--documenter-dark .button.is-link.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-link.is-outlined {
-          background-color: transparent;
-          border-color: #1abc9c;
-          box-shadow: none;
-          color: #1abc9c; }
-      html.theme--documenter-dark .button.is-link.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: #fff;
-        color: #fff; }
-        html.theme--documenter-dark .button.is-link.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-link.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-focused {
-          background-color: #fff;
-          color: #1abc9c; }
-        html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #1abc9c #1abc9c !important; }
-        html.theme--documenter-dark .button.is-link.is-inverted.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-link.is-inverted.is-outlined {
-          background-color: transparent;
-          border-color: #fff;
-          box-shadow: none;
-          color: #fff; }
-    html.theme--documenter-dark .button.is-info {
-      background-color: #024c7d;
-      border-color: transparent;
-      color: #fff; }
-      html.theme--documenter-dark .button.is-info:hover, html.theme--documenter-dark .button.is-info.is-hovered {
-        background-color: #024470;
-        border-color: transparent;
-        color: #fff; }
-      html.theme--documenter-dark .button.is-info:focus, html.theme--documenter-dark .button.is-info.is-focused {
-        border-color: transparent;
-        color: #fff; }
-        html.theme--documenter-dark .button.is-info:focus:not(:active), html.theme--documenter-dark .button.is-info.is-focused:not(:active) {
-          box-shadow: 0 0 0 0.125em rgba(2, 76, 125, 0.25); }
-      html.theme--documenter-dark .button.is-info:active, html.theme--documenter-dark .button.is-info.is-active {
-        background-color: #023d64;
-        border-color: transparent;
-        color: #fff; }
-      html.theme--documenter-dark .button.is-info[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-info {
-        background-color: #024c7d;
-        border-color: transparent;
-        box-shadow: none; }
-      html.theme--documenter-dark .button.is-info.is-inverted {
-        background-color: #fff;
-        color: #024c7d; }
-        html.theme--documenter-dark .button.is-info.is-inverted:hover, html.theme--documenter-dark .button.is-info.is-inverted.is-hovered {
-          background-color: #f2f2f2; }
-        html.theme--documenter-dark .button.is-info.is-inverted[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-info.is-inverted {
-          background-color: #fff;
-          border-color: transparent;
-          box-shadow: none;
-          color: #024c7d; }
-      html.theme--documenter-dark .button.is-info.is-loading::after {
-        border-color: transparent transparent #fff #fff !important; }
-      html.theme--documenter-dark .button.is-info.is-outlined {
-        background-color: transparent;
-        border-color: #024c7d;
-        color: #024c7d; }
-        html.theme--documenter-dark .button.is-info.is-outlined:hover, html.theme--documenter-dark .button.is-info.is-outlined.is-hovered, html.theme--documenter-dark .button.is-info.is-outlined:focus, html.theme--documenter-dark .button.is-info.is-outlined.is-focused {
-          background-color: #024c7d;
-          border-color: #024c7d;
-          color: #fff; }
-        html.theme--documenter-dark .button.is-info.is-outlined.is-loading::after {
-          border-color: transparent transparent #024c7d #024c7d !important; }
-        html.theme--documenter-dark .button.is-info.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-info.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-info.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-info.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #fff #fff !important; }
-        html.theme--documenter-dark .button.is-info.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-info.is-outlined {
-          background-color: transparent;
-          border-color: #024c7d;
-          box-shadow: none;
-          color: #024c7d; }
-      html.theme--documenter-dark .button.is-info.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: #fff;
-        color: #fff; }
-        html.theme--documenter-dark .button.is-info.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-info.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-focused {
-          background-color: #fff;
-          color: #024c7d; }
-        html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #024c7d #024c7d !important; }
-        html.theme--documenter-dark .button.is-info.is-inverted.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-info.is-inverted.is-outlined {
-          background-color: transparent;
-          border-color: #fff;
-          box-shadow: none;
-          color: #fff; }
-    html.theme--documenter-dark .button.is-success {
-      background-color: #008438;
-      border-color: transparent;
-      color: #fff; }
-      html.theme--documenter-dark .button.is-success:hover, html.theme--documenter-dark .button.is-success.is-hovered {
-        background-color: #007733;
-        border-color: transparent;
-        color: #fff; }
-      html.theme--documenter-dark .button.is-success:focus, html.theme--documenter-dark .button.is-success.is-focused {
-        border-color: transparent;
-        color: #fff; }
-        html.theme--documenter-dark .button.is-success:focus:not(:active), html.theme--documenter-dark .button.is-success.is-focused:not(:active) {
-          box-shadow: 0 0 0 0.125em rgba(0, 132, 56, 0.25); }
-      html.theme--documenter-dark .button.is-success:active, html.theme--documenter-dark .button.is-success.is-active {
-        background-color: #006b2d;
-        border-color: transparent;
-        color: #fff; }
-      html.theme--documenter-dark .button.is-success[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-success {
-        background-color: #008438;
-        border-color: transparent;
-        box-shadow: none; }
-      html.theme--documenter-dark .button.is-success.is-inverted {
-        background-color: #fff;
-        color: #008438; }
-        html.theme--documenter-dark .button.is-success.is-inverted:hover, html.theme--documenter-dark .button.is-success.is-inverted.is-hovered {
-          background-color: #f2f2f2; }
-        html.theme--documenter-dark .button.is-success.is-inverted[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-success.is-inverted {
-          background-color: #fff;
-          border-color: transparent;
-          box-shadow: none;
-          color: #008438; }
-      html.theme--documenter-dark .button.is-success.is-loading::after {
-        border-color: transparent transparent #fff #fff !important; }
-      html.theme--documenter-dark .button.is-success.is-outlined {
-        background-color: transparent;
-        border-color: #008438;
-        color: #008438; }
-        html.theme--documenter-dark .button.is-success.is-outlined:hover, html.theme--documenter-dark .button.is-success.is-outlined.is-hovered, html.theme--documenter-dark .button.is-success.is-outlined:focus, html.theme--documenter-dark .button.is-success.is-outlined.is-focused {
-          background-color: #008438;
-          border-color: #008438;
-          color: #fff; }
-        html.theme--documenter-dark .button.is-success.is-outlined.is-loading::after {
-          border-color: transparent transparent #008438 #008438 !important; }
-        html.theme--documenter-dark .button.is-success.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-success.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-success.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-success.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #fff #fff !important; }
-        html.theme--documenter-dark .button.is-success.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-success.is-outlined {
-          background-color: transparent;
-          border-color: #008438;
-          box-shadow: none;
-          color: #008438; }
-      html.theme--documenter-dark .button.is-success.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: #fff;
-        color: #fff; }
-        html.theme--documenter-dark .button.is-success.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-success.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-focused {
-          background-color: #fff;
-          color: #008438; }
-        html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #008438 #008438 !important; }
-        html.theme--documenter-dark .button.is-success.is-inverted.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-success.is-inverted.is-outlined {
-          background-color: transparent;
-          border-color: #fff;
-          box-shadow: none;
-          color: #fff; }
-    html.theme--documenter-dark .button.is-warning {
-      background-color: #ad8100;
-      border-color: transparent;
-      color: #fff; }
-      html.theme--documenter-dark .button.is-warning:hover, html.theme--documenter-dark .button.is-warning.is-hovered {
-        background-color: #a07700;
-        border-color: transparent;
-        color: #fff; }
-      html.theme--documenter-dark .button.is-warning:focus, html.theme--documenter-dark .button.is-warning.is-focused {
-        border-color: transparent;
-        color: #fff; }
-        html.theme--documenter-dark .button.is-warning:focus:not(:active), html.theme--documenter-dark .button.is-warning.is-focused:not(:active) {
-          box-shadow: 0 0 0 0.125em rgba(173, 129, 0, 0.25); }
-      html.theme--documenter-dark .button.is-warning:active, html.theme--documenter-dark .button.is-warning.is-active {
-        background-color: #946e00;
-        border-color: transparent;
-        color: #fff; }
-      html.theme--documenter-dark .button.is-warning[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-warning {
-        background-color: #ad8100;
-        border-color: transparent;
-        box-shadow: none; }
-      html.theme--documenter-dark .button.is-warning.is-inverted {
-        background-color: #fff;
-        color: #ad8100; }
-        html.theme--documenter-dark .button.is-warning.is-inverted:hover, html.theme--documenter-dark .button.is-warning.is-inverted.is-hovered {
-          background-color: #f2f2f2; }
-        html.theme--documenter-dark .button.is-warning.is-inverted[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-warning.is-inverted {
-          background-color: #fff;
-          border-color: transparent;
-          box-shadow: none;
-          color: #ad8100; }
-      html.theme--documenter-dark .button.is-warning.is-loading::after {
-        border-color: transparent transparent #fff #fff !important; }
-      html.theme--documenter-dark .button.is-warning.is-outlined {
-        background-color: transparent;
-        border-color: #ad8100;
-        color: #ad8100; }
-        html.theme--documenter-dark .button.is-warning.is-outlined:hover, html.theme--documenter-dark .button.is-warning.is-outlined.is-hovered, html.theme--documenter-dark .button.is-warning.is-outlined:focus, html.theme--documenter-dark .button.is-warning.is-outlined.is-focused {
-          background-color: #ad8100;
-          border-color: #ad8100;
-          color: #fff; }
-        html.theme--documenter-dark .button.is-warning.is-outlined.is-loading::after {
-          border-color: transparent transparent #ad8100 #ad8100 !important; }
-        html.theme--documenter-dark .button.is-warning.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-warning.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-warning.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-warning.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #fff #fff !important; }
-        html.theme--documenter-dark .button.is-warning.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-warning.is-outlined {
-          background-color: transparent;
-          border-color: #ad8100;
-          box-shadow: none;
-          color: #ad8100; }
-      html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: #fff;
-        color: #fff; }
-        html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-focused {
-          background-color: #fff;
-          color: #ad8100; }
-        html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #ad8100 #ad8100 !important; }
-        html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined {
-          background-color: transparent;
-          border-color: #fff;
-          box-shadow: none;
-          color: #fff; }
-    html.theme--documenter-dark .button.is-danger {
-      background-color: #9e1b0d;
-      border-color: transparent;
-      color: #fff; }
-      html.theme--documenter-dark .button.is-danger:hover, html.theme--documenter-dark .button.is-danger.is-hovered {
-        background-color: #92190c;
-        border-color: transparent;
-        color: #fff; }
-      html.theme--documenter-dark .button.is-danger:focus, html.theme--documenter-dark .button.is-danger.is-focused {
-        border-color: transparent;
-        color: #fff; }
-        html.theme--documenter-dark .button.is-danger:focus:not(:active), html.theme--documenter-dark .button.is-danger.is-focused:not(:active) {
-          box-shadow: 0 0 0 0.125em rgba(158, 27, 13, 0.25); }
-      html.theme--documenter-dark .button.is-danger:active, html.theme--documenter-dark .button.is-danger.is-active {
-        background-color: #86170b;
-        border-color: transparent;
-        color: #fff; }
-      html.theme--documenter-dark .button.is-danger[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-danger {
-        background-color: #9e1b0d;
-        border-color: transparent;
-        box-shadow: none; }
-      html.theme--documenter-dark .button.is-danger.is-inverted {
-        background-color: #fff;
-        color: #9e1b0d; }
-        html.theme--documenter-dark .button.is-danger.is-inverted:hover, html.theme--documenter-dark .button.is-danger.is-inverted.is-hovered {
-          background-color: #f2f2f2; }
-        html.theme--documenter-dark .button.is-danger.is-inverted[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-danger.is-inverted {
-          background-color: #fff;
-          border-color: transparent;
-          box-shadow: none;
-          color: #9e1b0d; }
-      html.theme--documenter-dark .button.is-danger.is-loading::after {
-        border-color: transparent transparent #fff #fff !important; }
-      html.theme--documenter-dark .button.is-danger.is-outlined {
-        background-color: transparent;
-        border-color: #9e1b0d;
-        color: #9e1b0d; }
-        html.theme--documenter-dark .button.is-danger.is-outlined:hover, html.theme--documenter-dark .button.is-danger.is-outlined.is-hovered, html.theme--documenter-dark .button.is-danger.is-outlined:focus, html.theme--documenter-dark .button.is-danger.is-outlined.is-focused {
-          background-color: #9e1b0d;
-          border-color: #9e1b0d;
-          color: #fff; }
-        html.theme--documenter-dark .button.is-danger.is-outlined.is-loading::after {
-          border-color: transparent transparent #9e1b0d #9e1b0d !important; }
-        html.theme--documenter-dark .button.is-danger.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-danger.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-danger.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-danger.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #fff #fff !important; }
-        html.theme--documenter-dark .button.is-danger.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-danger.is-outlined {
-          background-color: transparent;
-          border-color: #9e1b0d;
-          box-shadow: none;
-          color: #9e1b0d; }
-      html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: #fff;
-        color: #fff; }
-        html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-focused {
-          background-color: #fff;
-          color: #9e1b0d; }
-        html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #9e1b0d #9e1b0d !important; }
-        html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined {
-          background-color: transparent;
-          border-color: #fff;
-          box-shadow: none;
-          color: #fff; }
-    html.theme--documenter-dark .button.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.button {
-      border-radius: 3px;
-      font-size: 0.85em; }
-    html.theme--documenter-dark .button.is-normal {
-      font-size: 15px; }
-    html.theme--documenter-dark .button.is-medium {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .button.is-large {
-      font-size: 1.5rem; }
-    html.theme--documenter-dark .button[disabled], fieldset[disabled] html.theme--documenter-dark .button {
-      background-color: #8c9b9d;
-      border-color: #dbdee0;
-      box-shadow: none;
-      opacity: 0.5; }
-    html.theme--documenter-dark .button.is-fullwidth {
-      display: flex;
-      width: 100%; }
-    html.theme--documenter-dark .button.is-loading {
-      color: transparent !important;
-      pointer-events: none; }
-      html.theme--documenter-dark .button.is-loading::after {
-        position: absolute;
-        left: calc(50% - (1em / 2));
-        top: calc(50% - (1em / 2));
-        position: absolute !important; }
-    html.theme--documenter-dark .button.is-static {
-      background-color: #282f2f;
-      border-color: #5e6d6f;
-      color: #dbdee0;
-      box-shadow: none;
-      pointer-events: none; }
-    html.theme--documenter-dark .button.is-rounded, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.button {
-      border-radius: 290486px;
-      padding-left: 1em;
-      padding-right: 1em; }
-  html.theme--documenter-dark .buttons {
-    align-items: center;
-    display: flex;
-    flex-wrap: wrap;
-    justify-content: flex-start; }
-    html.theme--documenter-dark .buttons .button {
-      margin-bottom: 0.5rem; }
-      html.theme--documenter-dark .buttons .button:not(:last-child):not(.is-fullwidth) {
-        margin-right: 0.5rem; }
-    html.theme--documenter-dark .buttons:last-child {
-      margin-bottom: -0.5rem; }
-    html.theme--documenter-dark .buttons:not(:last-child) {
-      margin-bottom: 1rem; }
-    html.theme--documenter-dark .buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large) {
-      border-radius: 3px;
-      font-size: 0.85em; }
-    html.theme--documenter-dark .buttons.are-medium .button:not(.is-small):not(.is-normal):not(.is-large) {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .buttons.are-large .button:not(.is-small):not(.is-normal):not(.is-medium) {
-      font-size: 1.5rem; }
-    html.theme--documenter-dark .buttons.has-addons .button:not(:first-child) {
-      border-bottom-left-radius: 0;
-      border-top-left-radius: 0; }
-    html.theme--documenter-dark .buttons.has-addons .button:not(:last-child) {
-      border-bottom-right-radius: 0;
-      border-top-right-radius: 0;
-      margin-right: -1px; }
-    html.theme--documenter-dark .buttons.has-addons .button:last-child {
-      margin-right: 0; }
-    html.theme--documenter-dark .buttons.has-addons .button:hover, html.theme--documenter-dark .buttons.has-addons .button.is-hovered {
-      z-index: 2; }
-    html.theme--documenter-dark .buttons.has-addons .button:focus, html.theme--documenter-dark .buttons.has-addons .button.is-focused, html.theme--documenter-dark .buttons.has-addons .button:active, html.theme--documenter-dark .buttons.has-addons .button.is-active, html.theme--documenter-dark .buttons.has-addons .button.is-selected {
-      z-index: 3; }
-      html.theme--documenter-dark .buttons.has-addons .button:focus:hover, html.theme--documenter-dark .buttons.has-addons .button.is-focused:hover, html.theme--documenter-dark .buttons.has-addons .button:active:hover, html.theme--documenter-dark .buttons.has-addons .button.is-active:hover, html.theme--documenter-dark .buttons.has-addons .button.is-selected:hover {
-        z-index: 4; }
-    html.theme--documenter-dark .buttons.has-addons .button.is-expanded {
-      flex-grow: 1;
-      flex-shrink: 1; }
-    html.theme--documenter-dark .buttons.is-centered {
-      justify-content: center; }
-      html.theme--documenter-dark .buttons.is-centered:not(.has-addons) .button:not(.is-fullwidth) {
-        margin-left: 0.25rem;
-        margin-right: 0.25rem; }
-    html.theme--documenter-dark .buttons.is-right {
-      justify-content: flex-end; }
-      html.theme--documenter-dark .buttons.is-right:not(.has-addons) .button:not(.is-fullwidth) {
-        margin-left: 0.25rem;
-        margin-right: 0.25rem; }
-  html.theme--documenter-dark .container {
-    flex-grow: 1;
-    margin: 0 auto;
-    position: relative;
-    width: auto; }
-    @media screen and (min-width: 1056px) {
-      html.theme--documenter-dark .container {
-        max-width: 992px; }
-        html.theme--documenter-dark .container.is-fluid {
-          margin-left: 32px;
-          margin-right: 32px;
-          max-width: none; } }
-    @media screen and (max-width: 1215px) {
-      html.theme--documenter-dark .container.is-widescreen {
-        max-width: 1152px; } }
-    @media screen and (max-width: 1407px) {
-      html.theme--documenter-dark .container.is-fullhd {
-        max-width: 1344px; } }
-    @media screen and (min-width: 1216px) {
-      html.theme--documenter-dark .container {
-        max-width: 1152px; } }
-    @media screen and (min-width: 1408px) {
-      html.theme--documenter-dark .container {
-        max-width: 1344px; } }
-  html.theme--documenter-dark .content li + li {
-    margin-top: 0.25em; }
-  html.theme--documenter-dark .content p:not(:last-child),
-  html.theme--documenter-dark .content dl:not(:last-child),
-  html.theme--documenter-dark .content ol:not(:last-child),
-  html.theme--documenter-dark .content ul:not(:last-child),
-  html.theme--documenter-dark .content blockquote:not(:last-child),
-  html.theme--documenter-dark .content pre:not(:last-child),
-  html.theme--documenter-dark .content table:not(:last-child) {
-    margin-bottom: 1em; }
-  html.theme--documenter-dark .content h1,
-  html.theme--documenter-dark .content h2,
-  html.theme--documenter-dark .content h3,
-  html.theme--documenter-dark .content h4,
-  html.theme--documenter-dark .content h5,
-  html.theme--documenter-dark .content h6 {
-    color: #f2f2f2;
-    font-weight: 600;
-    line-height: 1.125; }
-  html.theme--documenter-dark .content h1 {
-    font-size: 2em;
-    margin-bottom: 0.5em; }
-    html.theme--documenter-dark .content h1:not(:first-child) {
-      margin-top: 1em; }
-  html.theme--documenter-dark .content h2 {
-    font-size: 1.75em;
-    margin-bottom: 0.5714em; }
-    html.theme--documenter-dark .content h2:not(:first-child) {
-      margin-top: 1.1428em; }
-  html.theme--documenter-dark .content h3 {
-    font-size: 1.5em;
-    margin-bottom: 0.6666em; }
-    html.theme--documenter-dark .content h3:not(:first-child) {
-      margin-top: 1.3333em; }
-  html.theme--documenter-dark .content h4 {
-    font-size: 1.25em;
-    margin-bottom: 0.8em; }
-  html.theme--documenter-dark .content h5 {
-    font-size: 1.125em;
-    margin-bottom: 0.8888em; }
-  html.theme--documenter-dark .content h6 {
-    font-size: 1em;
-    margin-bottom: 1em; }
-  html.theme--documenter-dark .content blockquote {
-    background-color: #282f2f;
-    border-left: 5px solid #5e6d6f;
-    padding: 1.25em 1.5em; }
-  html.theme--documenter-dark .content ol {
-    list-style-position: outside;
-    margin-left: 2em;
-    margin-top: 1em; }
-    html.theme--documenter-dark .content ol:not([type]) {
-      list-style-type: decimal; }
-      html.theme--documenter-dark .content ol.is-lower-alpha:not([type]) {
-        list-style-type: lower-alpha; }
-      html.theme--documenter-dark .content ol.is-lower-roman:not([type]) {
-        list-style-type: lower-roman; }
-      html.theme--documenter-dark .content ol.is-upper-alpha:not([type]) {
-        list-style-type: upper-alpha; }
-      html.theme--documenter-dark .content ol.is-upper-roman:not([type]) {
-        list-style-type: upper-roman; }
-  html.theme--documenter-dark .content ul {
-    list-style: disc outside;
-    margin-left: 2em;
-    margin-top: 1em; }
-    html.theme--documenter-dark .content ul ul {
-      list-style-type: circle;
-      margin-top: 0.5em; }
-      html.theme--documenter-dark .content ul ul ul {
-        list-style-type: square; }
-  html.theme--documenter-dark .content dd {
-    margin-left: 2em; }
-  html.theme--documenter-dark .content figure {
-    margin-left: 2em;
-    margin-right: 2em;
-    text-align: center; }
-    html.theme--documenter-dark .content figure:not(:first-child) {
-      margin-top: 2em; }
-    html.theme--documenter-dark .content figure:not(:last-child) {
-      margin-bottom: 2em; }
-    html.theme--documenter-dark .content figure img {
-      display: inline-block; }
-    html.theme--documenter-dark .content figure figcaption {
-      font-style: italic; }
-  html.theme--documenter-dark .content pre {
-    -webkit-overflow-scrolling: touch;
-    overflow-x: auto;
-    padding: 0;
-    white-space: pre;
-    word-wrap: normal; }
-  html.theme--documenter-dark .content sup,
-  html.theme--documenter-dark .content sub {
-    font-size: 75%; }
-  html.theme--documenter-dark .content table {
-    width: 100%; }
-    html.theme--documenter-dark .content table td,
-    html.theme--documenter-dark .content table th {
-      border: 1px solid #5e6d6f;
-      border-width: 0 0 1px;
-      padding: 0.5em 0.75em;
-      vertical-align: top; }
-    html.theme--documenter-dark .content table th {
-      color: #f2f2f2; }
-      html.theme--documenter-dark .content table th:not([align]) {
-        text-align: left; }
-    html.theme--documenter-dark .content table thead td,
-    html.theme--documenter-dark .content table thead th {
-      border-width: 0 0 2px;
-      color: #f2f2f2; }
-    html.theme--documenter-dark .content table tfoot td,
-    html.theme--documenter-dark .content table tfoot th {
-      border-width: 2px 0 0;
-      color: #f2f2f2; }
-    html.theme--documenter-dark .content table tbody tr:last-child td,
-    html.theme--documenter-dark .content table tbody tr:last-child th {
-      border-bottom-width: 0; }
-  html.theme--documenter-dark .content .tabs li + li {
-    margin-top: 0; }
-  html.theme--documenter-dark .content.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.content {
-    font-size: 0.85em; }
-  html.theme--documenter-dark .content.is-medium {
-    font-size: 1.25rem; }
-  html.theme--documenter-dark .content.is-large {
-    font-size: 1.5rem; }
-  html.theme--documenter-dark .icon {
-    align-items: center;
-    display: inline-flex;
-    justify-content: center;
-    height: 1.5rem;
-    width: 1.5rem; }
-    html.theme--documenter-dark .icon.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.icon {
-      height: 1rem;
-      width: 1rem; }
-    html.theme--documenter-dark .icon.is-medium {
-      height: 2rem;
-      width: 2rem; }
-    html.theme--documenter-dark .icon.is-large {
-      height: 3rem;
-      width: 3rem; }
-  html.theme--documenter-dark .image, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img {
-    display: block;
-    position: relative; }
-    html.theme--documenter-dark .image img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img img {
-      display: block;
-      height: auto;
-      width: 100%; }
-      html.theme--documenter-dark .image img.is-rounded, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img img.is-rounded {
-        border-radius: 290486px; }
-    html.theme--documenter-dark .image.is-square img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-square img,
-    html.theme--documenter-dark .image.is-square .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-square .has-ratio, html.theme--documenter-dark .image.is-1by1 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by1 img,
-    html.theme--documenter-dark .image.is-1by1 .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by1 .has-ratio, html.theme--documenter-dark .image.is-5by4 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by4 img,
-    html.theme--documenter-dark .image.is-5by4 .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by4 .has-ratio, html.theme--documenter-dark .image.is-4by3 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by3 img,
-    html.theme--documenter-dark .image.is-4by3 .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by3 .has-ratio, html.theme--documenter-dark .image.is-3by2 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by2 img,
-    html.theme--documenter-dark .image.is-3by2 .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by2 .has-ratio, html.theme--documenter-dark .image.is-5by3 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by3 img,
-    html.theme--documenter-dark .image.is-5by3 .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by3 .has-ratio, html.theme--documenter-dark .image.is-16by9 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-16by9 img,
-    html.theme--documenter-dark .image.is-16by9 .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-16by9 .has-ratio, html.theme--documenter-dark .image.is-2by1 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by1 img,
-    html.theme--documenter-dark .image.is-2by1 .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by1 .has-ratio, html.theme--documenter-dark .image.is-3by1 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by1 img,
-    html.theme--documenter-dark .image.is-3by1 .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by1 .has-ratio, html.theme--documenter-dark .image.is-4by5 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by5 img,
-    html.theme--documenter-dark .image.is-4by5 .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by5 .has-ratio, html.theme--documenter-dark .image.is-3by4 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by4 img,
-    html.theme--documenter-dark .image.is-3by4 .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by4 .has-ratio, html.theme--documenter-dark .image.is-2by3 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by3 img,
-    html.theme--documenter-dark .image.is-2by3 .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by3 .has-ratio, html.theme--documenter-dark .image.is-3by5 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by5 img,
-    html.theme--documenter-dark .image.is-3by5 .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by5 .has-ratio, html.theme--documenter-dark .image.is-9by16 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-9by16 img,
-    html.theme--documenter-dark .image.is-9by16 .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-9by16 .has-ratio, html.theme--documenter-dark .image.is-1by2 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by2 img,
-    html.theme--documenter-dark .image.is-1by2 .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by2 .has-ratio, html.theme--documenter-dark .image.is-1by3 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by3 img,
-    html.theme--documenter-dark .image.is-1by3 .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by3 .has-ratio {
-      height: 100%;
-      width: 100%; }
-    html.theme--documenter-dark .image.is-square, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-square, html.theme--documenter-dark .image.is-1by1, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by1 {
-      padding-top: 100%; }
-    html.theme--documenter-dark .image.is-5by4, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by4 {
-      padding-top: 80%; }
-    html.theme--documenter-dark .image.is-4by3, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by3 {
-      padding-top: 75%; }
-    html.theme--documenter-dark .image.is-3by2, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by2 {
-      padding-top: 66.6666%; }
-    html.theme--documenter-dark .image.is-5by3, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by3 {
-      padding-top: 60%; }
-    html.theme--documenter-dark .image.is-16by9, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-16by9 {
-      padding-top: 56.25%; }
-    html.theme--documenter-dark .image.is-2by1, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by1 {
-      padding-top: 50%; }
-    html.theme--documenter-dark .image.is-3by1, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by1 {
-      padding-top: 33.3333%; }
-    html.theme--documenter-dark .image.is-4by5, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by5 {
-      padding-top: 125%; }
-    html.theme--documenter-dark .image.is-3by4, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by4 {
-      padding-top: 133.3333%; }
-    html.theme--documenter-dark .image.is-2by3, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by3 {
-      padding-top: 150%; }
-    html.theme--documenter-dark .image.is-3by5, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by5 {
-      padding-top: 166.6666%; }
-    html.theme--documenter-dark .image.is-9by16, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-9by16 {
-      padding-top: 177.7777%; }
-    html.theme--documenter-dark .image.is-1by2, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by2 {
-      padding-top: 200%; }
-    html.theme--documenter-dark .image.is-1by3, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by3 {
-      padding-top: 300%; }
-    html.theme--documenter-dark .image.is-16x16, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-16x16 {
-      height: 16px;
-      width: 16px; }
-    html.theme--documenter-dark .image.is-24x24, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-24x24 {
-      height: 24px;
-      width: 24px; }
-    html.theme--documenter-dark .image.is-32x32, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-32x32 {
-      height: 32px;
-      width: 32px; }
-    html.theme--documenter-dark .image.is-48x48, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-48x48 {
-      height: 48px;
-      width: 48px; }
-    html.theme--documenter-dark .image.is-64x64, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-64x64 {
-      height: 64px;
-      width: 64px; }
-    html.theme--documenter-dark .image.is-96x96, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-96x96 {
-      height: 96px;
-      width: 96px; }
-    html.theme--documenter-dark .image.is-128x128, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-128x128 {
-      height: 128px;
-      width: 128px; }
-  html.theme--documenter-dark .notification {
-    background-color: #282f2f;
-    border-radius: 0.4em;
-    padding: 1.25rem 2.5rem 1.25rem 1.5rem;
-    position: relative; }
-    html.theme--documenter-dark .notification a:not(.button):not(.dropdown-item) {
-      color: currentColor;
-      text-decoration: underline; }
-    html.theme--documenter-dark .notification strong {
-      color: currentColor; }
-    html.theme--documenter-dark .notification code,
-    html.theme--documenter-dark .notification pre {
-      background: white; }
-    html.theme--documenter-dark .notification pre code {
-      background: transparent; }
-    html.theme--documenter-dark .notification > .delete {
-      position: absolute;
-      right: 0.5rem;
-      top: 0.5rem; }
-    html.theme--documenter-dark .notification .title,
-    html.theme--documenter-dark .notification .subtitle,
-    html.theme--documenter-dark .notification .content {
-      color: currentColor; }
-    html.theme--documenter-dark .notification.is-white {
-      background-color: white;
-      color: #0a0a0a; }
-    html.theme--documenter-dark .notification.is-black {
-      background-color: #0a0a0a;
-      color: white; }
-    html.theme--documenter-dark .notification.is-light {
-      background-color: #ecf0f1;
-      color: #282f2f; }
-    html.theme--documenter-dark .notification.is-dark, html.theme--documenter-dark .content kbd.notification {
-      background-color: #282f2f;
-      color: #ecf0f1; }
-    html.theme--documenter-dark .notification.is-primary, html.theme--documenter-dark .docstring > section > a.notification.docs-sourcelink {
-      background-color: #375a7f;
-      color: #fff; }
-    html.theme--documenter-dark .notification.is-link {
-      background-color: #1abc9c;
-      color: #fff; }
-    html.theme--documenter-dark .notification.is-info {
-      background-color: #024c7d;
-      color: #fff; }
-    html.theme--documenter-dark .notification.is-success {
-      background-color: #008438;
-      color: #fff; }
-    html.theme--documenter-dark .notification.is-warning {
-      background-color: #ad8100;
-      color: #fff; }
-    html.theme--documenter-dark .notification.is-danger {
-      background-color: #9e1b0d;
-      color: #fff; }
-  html.theme--documenter-dark .progress {
-    -moz-appearance: none;
-    -webkit-appearance: none;
-    border: none;
-    border-radius: 290486px;
-    display: block;
-    height: 15px;
-    overflow: hidden;
-    padding: 0;
-    width: 100%; }
-    html.theme--documenter-dark .progress::-webkit-progress-bar {
-      background-color: #5e6d6f; }
-    html.theme--documenter-dark .progress::-webkit-progress-value {
-      background-color: #dbdee0; }
-    html.theme--documenter-dark .progress::-moz-progress-bar {
-      background-color: #dbdee0; }
-    html.theme--documenter-dark .progress::-ms-fill {
-      background-color: #dbdee0;
-      border: none; }
-    html.theme--documenter-dark .progress.is-white::-webkit-progress-value {
-      background-color: white; }
-    html.theme--documenter-dark .progress.is-white::-moz-progress-bar {
-      background-color: white; }
-    html.theme--documenter-dark .progress.is-white::-ms-fill {
-      background-color: white; }
-    html.theme--documenter-dark .progress.is-white:indeterminate {
-      background-image: linear-gradient(to right, white 30%, #5e6d6f 30%); }
-    html.theme--documenter-dark .progress.is-black::-webkit-progress-value {
-      background-color: #0a0a0a; }
-    html.theme--documenter-dark .progress.is-black::-moz-progress-bar {
-      background-color: #0a0a0a; }
-    html.theme--documenter-dark .progress.is-black::-ms-fill {
-      background-color: #0a0a0a; }
-    html.theme--documenter-dark .progress.is-black:indeterminate {
-      background-image: linear-gradient(to right, #0a0a0a 30%, #5e6d6f 30%); }
-    html.theme--documenter-dark .progress.is-light::-webkit-progress-value {
-      background-color: #ecf0f1; }
-    html.theme--documenter-dark .progress.is-light::-moz-progress-bar {
-      background-color: #ecf0f1; }
-    html.theme--documenter-dark .progress.is-light::-ms-fill {
-      background-color: #ecf0f1; }
-    html.theme--documenter-dark .progress.is-light:indeterminate {
-      background-image: linear-gradient(to right, #ecf0f1 30%, #5e6d6f 30%); }
-    html.theme--documenter-dark .progress.is-dark::-webkit-progress-value, html.theme--documenter-dark .content kbd.progress::-webkit-progress-value {
-      background-color: #282f2f; }
-    html.theme--documenter-dark .progress.is-dark::-moz-progress-bar, html.theme--documenter-dark .content kbd.progress::-moz-progress-bar {
-      background-color: #282f2f; }
-    html.theme--documenter-dark .progress.is-dark::-ms-fill, html.theme--documenter-dark .content kbd.progress::-ms-fill {
-      background-color: #282f2f; }
-    html.theme--documenter-dark .progress.is-dark:indeterminate, html.theme--documenter-dark .content kbd.progress:indeterminate {
-      background-image: linear-gradient(to right, #282f2f 30%, #5e6d6f 30%); }
-    html.theme--documenter-dark .progress.is-primary::-webkit-progress-value, html.theme--documenter-dark .docstring > section > a.progress.docs-sourcelink::-webkit-progress-value {
-      background-color: #375a7f; }
-    html.theme--documenter-dark .progress.is-primary::-moz-progress-bar, html.theme--documenter-dark .docstring > section > a.progress.docs-sourcelink::-moz-progress-bar {
-      background-color: #375a7f; }
-    html.theme--documenter-dark .progress.is-primary::-ms-fill, html.theme--documenter-dark .docstring > section > a.progress.docs-sourcelink::-ms-fill {
-      background-color: #375a7f; }
-    html.theme--documenter-dark .progress.is-primary:indeterminate, html.theme--documenter-dark .docstring > section > a.progress.docs-sourcelink:indeterminate {
-      background-image: linear-gradient(to right, #375a7f 30%, #5e6d6f 30%); }
-    html.theme--documenter-dark .progress.is-link::-webkit-progress-value {
-      background-color: #1abc9c; }
-    html.theme--documenter-dark .progress.is-link::-moz-progress-bar {
-      background-color: #1abc9c; }
-    html.theme--documenter-dark .progress.is-link::-ms-fill {
-      background-color: #1abc9c; }
-    html.theme--documenter-dark .progress.is-link:indeterminate {
-      background-image: linear-gradient(to right, #1abc9c 30%, #5e6d6f 30%); }
-    html.theme--documenter-dark .progress.is-info::-webkit-progress-value {
-      background-color: #024c7d; }
-    html.theme--documenter-dark .progress.is-info::-moz-progress-bar {
-      background-color: #024c7d; }
-    html.theme--documenter-dark .progress.is-info::-ms-fill {
-      background-color: #024c7d; }
-    html.theme--documenter-dark .progress.is-info:indeterminate {
-      background-image: linear-gradient(to right, #024c7d 30%, #5e6d6f 30%); }
-    html.theme--documenter-dark .progress.is-success::-webkit-progress-value {
-      background-color: #008438; }
-    html.theme--documenter-dark .progress.is-success::-moz-progress-bar {
-      background-color: #008438; }
-    html.theme--documenter-dark .progress.is-success::-ms-fill {
-      background-color: #008438; }
-    html.theme--documenter-dark .progress.is-success:indeterminate {
-      background-image: linear-gradient(to right, #008438 30%, #5e6d6f 30%); }
-    html.theme--documenter-dark .progress.is-warning::-webkit-progress-value {
-      background-color: #ad8100; }
-    html.theme--documenter-dark .progress.is-warning::-moz-progress-bar {
-      background-color: #ad8100; }
-    html.theme--documenter-dark .progress.is-warning::-ms-fill {
-      background-color: #ad8100; }
-    html.theme--documenter-dark .progress.is-warning:indeterminate {
-      background-image: linear-gradient(to right, #ad8100 30%, #5e6d6f 30%); }
-    html.theme--documenter-dark .progress.is-danger::-webkit-progress-value {
-      background-color: #9e1b0d; }
-    html.theme--documenter-dark .progress.is-danger::-moz-progress-bar {
-      background-color: #9e1b0d; }
-    html.theme--documenter-dark .progress.is-danger::-ms-fill {
-      background-color: #9e1b0d; }
-    html.theme--documenter-dark .progress.is-danger:indeterminate {
-      background-image: linear-gradient(to right, #9e1b0d 30%, #5e6d6f 30%); }
-    html.theme--documenter-dark .progress:indeterminate {
-      animation-duration: 1.5s;
-      animation-iteration-count: infinite;
-      animation-name: moveIndeterminate;
-      animation-timing-function: linear;
-      background-color: #5e6d6f;
-      background-image: linear-gradient(to right, #fff 30%, #5e6d6f 30%);
-      background-position: top left;
-      background-repeat: no-repeat;
-      background-size: 150% 150%; }
-      html.theme--documenter-dark .progress:indeterminate::-webkit-progress-bar {
-        background-color: transparent; }
-      html.theme--documenter-dark .progress:indeterminate::-moz-progress-bar {
-        background-color: transparent; }
-    html.theme--documenter-dark .progress.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.progress {
-      height: 0.85em; }
-    html.theme--documenter-dark .progress.is-medium {
-      height: 1.25rem; }
-    html.theme--documenter-dark .progress.is-large {
-      height: 1.5rem; }
-
-@keyframes moveIndeterminate {
-  from {
-    background-position: 200% 0; }
-  to {
-    background-position: -200% 0; } }
-  html.theme--documenter-dark .table {
-    background-color: #343c3d;
-    color: #fff; }
-    html.theme--documenter-dark .table td,
-    html.theme--documenter-dark .table th {
-      border: 1px solid #5e6d6f;
-      border-width: 0 0 1px;
-      padding: 0.5em 0.75em;
-      vertical-align: top; }
-      html.theme--documenter-dark .table td.is-white,
-      html.theme--documenter-dark .table th.is-white {
-        background-color: white;
-        border-color: white;
-        color: #0a0a0a; }
-      html.theme--documenter-dark .table td.is-black,
-      html.theme--documenter-dark .table th.is-black {
-        background-color: #0a0a0a;
-        border-color: #0a0a0a;
-        color: white; }
-      html.theme--documenter-dark .table td.is-light,
-      html.theme--documenter-dark .table th.is-light {
-        background-color: #ecf0f1;
-        border-color: #ecf0f1;
-        color: #282f2f; }
-      html.theme--documenter-dark .table td.is-dark,
-      html.theme--documenter-dark .table th.is-dark {
-        background-color: #282f2f;
-        border-color: #282f2f;
-        color: #ecf0f1; }
-      html.theme--documenter-dark .table td.is-primary,
-      html.theme--documenter-dark .table th.is-primary {
-        background-color: #375a7f;
-        border-color: #375a7f;
-        color: #fff; }
-      html.theme--documenter-dark .table td.is-link,
-      html.theme--documenter-dark .table th.is-link {
-        background-color: #1abc9c;
-        border-color: #1abc9c;
-        color: #fff; }
-      html.theme--documenter-dark .table td.is-info,
-      html.theme--documenter-dark .table th.is-info {
-        background-color: #024c7d;
-        border-color: #024c7d;
-        color: #fff; }
-      html.theme--documenter-dark .table td.is-success,
-      html.theme--documenter-dark .table th.is-success {
-        background-color: #008438;
-        border-color: #008438;
-        color: #fff; }
-      html.theme--documenter-dark .table td.is-warning,
-      html.theme--documenter-dark .table th.is-warning {
-        background-color: #ad8100;
-        border-color: #ad8100;
-        color: #fff; }
-      html.theme--documenter-dark .table td.is-danger,
-      html.theme--documenter-dark .table th.is-danger {
-        background-color: #9e1b0d;
-        border-color: #9e1b0d;
-        color: #fff; }
-      html.theme--documenter-dark .table td.is-narrow,
-      html.theme--documenter-dark .table th.is-narrow {
-        white-space: nowrap;
-        width: 1%; }
-      html.theme--documenter-dark .table td.is-selected,
-      html.theme--documenter-dark .table th.is-selected {
-        background-color: #375a7f;
-        color: #fff; }
-        html.theme--documenter-dark .table td.is-selected a,
-        html.theme--documenter-dark .table td.is-selected strong,
-        html.theme--documenter-dark .table th.is-selected a,
-        html.theme--documenter-dark .table th.is-selected strong {
-          color: currentColor; }
-    html.theme--documenter-dark .table th {
-      color: #f2f2f2; }
-      html.theme--documenter-dark .table th:not([align]) {
-        text-align: left; }
-    html.theme--documenter-dark .table tr.is-selected {
-      background-color: #375a7f;
-      color: #fff; }
-      html.theme--documenter-dark .table tr.is-selected a,
-      html.theme--documenter-dark .table tr.is-selected strong {
-        color: currentColor; }
-      html.theme--documenter-dark .table tr.is-selected td,
-      html.theme--documenter-dark .table tr.is-selected th {
-        border-color: #fff;
-        color: currentColor; }
-    html.theme--documenter-dark .table thead {
-      background-color: transparent; }
-      html.theme--documenter-dark .table thead td,
-      html.theme--documenter-dark .table thead th {
-        border-width: 0 0 2px;
-        color: #f2f2f2; }
-    html.theme--documenter-dark .table tfoot {
-      background-color: transparent; }
-      html.theme--documenter-dark .table tfoot td,
-      html.theme--documenter-dark .table tfoot th {
-        border-width: 2px 0 0;
-        color: #f2f2f2; }
-    html.theme--documenter-dark .table tbody {
-      background-color: transparent; }
-      html.theme--documenter-dark .table tbody tr:last-child td,
-      html.theme--documenter-dark .table tbody tr:last-child th {
-        border-bottom-width: 0; }
-    html.theme--documenter-dark .table.is-bordered td,
-    html.theme--documenter-dark .table.is-bordered th {
-      border-width: 1px; }
-    html.theme--documenter-dark .table.is-bordered tr:last-child td,
-    html.theme--documenter-dark .table.is-bordered tr:last-child th {
-      border-bottom-width: 1px; }
-    html.theme--documenter-dark .table.is-fullwidth {
-      width: 100%; }
-    html.theme--documenter-dark .table.is-hoverable tbody tr:not(.is-selected):hover {
-      background-color: #282f2f; }
-    html.theme--documenter-dark .table.is-hoverable.is-striped tbody tr:not(.is-selected):hover {
-      background-color: #282f2f; }
-      html.theme--documenter-dark .table.is-hoverable.is-striped tbody tr:not(.is-selected):hover:nth-child(even) {
-        background-color: #2d3435; }
-    html.theme--documenter-dark .table.is-narrow td,
-    html.theme--documenter-dark .table.is-narrow th {
-      padding: 0.25em 0.5em; }
-    html.theme--documenter-dark .table.is-striped tbody tr:not(.is-selected):nth-child(even) {
-      background-color: #282f2f; }
-  html.theme--documenter-dark .table-container {
-    -webkit-overflow-scrolling: touch;
-    overflow: auto;
-    overflow-y: hidden;
-    max-width: 100%; }
-  html.theme--documenter-dark .tags {
-    align-items: center;
-    display: flex;
-    flex-wrap: wrap;
-    justify-content: flex-start; }
-    html.theme--documenter-dark .tags .tag, html.theme--documenter-dark .tags .content kbd, html.theme--documenter-dark .content .tags kbd, html.theme--documenter-dark .tags .docstring > section > a.docs-sourcelink {
-      margin-bottom: 0.5rem; }
-      html.theme--documenter-dark .tags .tag:not(:last-child), html.theme--documenter-dark .tags .content kbd:not(:last-child), html.theme--documenter-dark .content .tags kbd:not(:last-child), html.theme--documenter-dark .tags .docstring > section > a.docs-sourcelink:not(:last-child) {
-        margin-right: 0.5rem; }
-    html.theme--documenter-dark .tags:last-child {
-      margin-bottom: -0.5rem; }
-    html.theme--documenter-dark .tags:not(:last-child) {
-      margin-bottom: 1rem; }
-    html.theme--documenter-dark .tags.are-medium .tag:not(.is-normal):not(.is-large), html.theme--documenter-dark .tags.are-medium .content kbd:not(.is-normal):not(.is-large), html.theme--documenter-dark .content .tags.are-medium kbd:not(.is-normal):not(.is-large), html.theme--documenter-dark .tags.are-medium .docstring > section > a.docs-sourcelink:not(.is-normal):not(.is-large) {
-      font-size: 15px; }
-    html.theme--documenter-dark .tags.are-large .tag:not(.is-normal):not(.is-medium), html.theme--documenter-dark .tags.are-large .content kbd:not(.is-normal):not(.is-medium), html.theme--documenter-dark .content .tags.are-large kbd:not(.is-normal):not(.is-medium), html.theme--documenter-dark .tags.are-large .docstring > section > a.docs-sourcelink:not(.is-normal):not(.is-medium) {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .tags.is-centered {
-      justify-content: center; }
-      html.theme--documenter-dark .tags.is-centered .tag, html.theme--documenter-dark .tags.is-centered .content kbd, html.theme--documenter-dark .content .tags.is-centered kbd, html.theme--documenter-dark .tags.is-centered .docstring > section > a.docs-sourcelink {
-        margin-right: 0.25rem;
-        margin-left: 0.25rem; }
-    html.theme--documenter-dark .tags.is-right {
-      justify-content: flex-end; }
-      html.theme--documenter-dark .tags.is-right .tag:not(:first-child), html.theme--documenter-dark .tags.is-right .content kbd:not(:first-child), html.theme--documenter-dark .content .tags.is-right kbd:not(:first-child), html.theme--documenter-dark .tags.is-right .docstring > section > a.docs-sourcelink:not(:first-child) {
-        margin-left: 0.5rem; }
-      html.theme--documenter-dark .tags.is-right .tag:not(:last-child), html.theme--documenter-dark .tags.is-right .content kbd:not(:last-child), html.theme--documenter-dark .content .tags.is-right kbd:not(:last-child), html.theme--documenter-dark .tags.is-right .docstring > section > a.docs-sourcelink:not(:last-child) {
-        margin-right: 0; }
-    html.theme--documenter-dark .tags.has-addons .tag, html.theme--documenter-dark .tags.has-addons .content kbd, html.theme--documenter-dark .content .tags.has-addons kbd, html.theme--documenter-dark .tags.has-addons .docstring > section > a.docs-sourcelink {
-      margin-right: 0; }
-      html.theme--documenter-dark .tags.has-addons .tag:not(:first-child), html.theme--documenter-dark .tags.has-addons .content kbd:not(:first-child), html.theme--documenter-dark .content .tags.has-addons kbd:not(:first-child), html.theme--documenter-dark .tags.has-addons .docstring > section > a.docs-sourcelink:not(:first-child) {
-        margin-left: 0;
-        border-bottom-left-radius: 0;
-        border-top-left-radius: 0; }
-      html.theme--documenter-dark .tags.has-addons .tag:not(:last-child), html.theme--documenter-dark .tags.has-addons .content kbd:not(:last-child), html.theme--documenter-dark .content .tags.has-addons kbd:not(:last-child), html.theme--documenter-dark .tags.has-addons .docstring > section > a.docs-sourcelink:not(:last-child) {
-        border-bottom-right-radius: 0;
-        border-top-right-radius: 0; }
-  html.theme--documenter-dark .tag:not(body), html.theme--documenter-dark .content kbd:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body) {
-    align-items: center;
-    background-color: #282f2f;
-    border-radius: 0.4em;
-    color: #fff;
-    display: inline-flex;
-    font-size: 0.85em;
-    height: 2em;
-    justify-content: center;
-    line-height: 1.5;
-    padding-left: 0.75em;
-    padding-right: 0.75em;
-    white-space: nowrap; }
-    html.theme--documenter-dark .tag:not(body) .delete, html.theme--documenter-dark .content kbd:not(body) .delete, html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body) .delete {
-      margin-left: 0.25rem;
-      margin-right: -0.375rem; }
-    html.theme--documenter-dark .tag.is-white:not(body), html.theme--documenter-dark .content kbd.is-white:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-white:not(body) {
-      background-color: white;
-      color: #0a0a0a; }
-    html.theme--documenter-dark .tag.is-black:not(body), html.theme--documenter-dark .content kbd.is-black:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-black:not(body) {
-      background-color: #0a0a0a;
-      color: white; }
-    html.theme--documenter-dark .tag.is-light:not(body), html.theme--documenter-dark .content kbd.is-light:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-light:not(body) {
-      background-color: #ecf0f1;
-      color: #282f2f; }
-    html.theme--documenter-dark .tag.is-dark:not(body), html.theme--documenter-dark .content kbd:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-dark:not(body), html.theme--documenter-dark .content .docstring > section > kbd:not(body) {
-      background-color: #282f2f;
-      color: #ecf0f1; }
-    html.theme--documenter-dark .tag.is-primary:not(body), html.theme--documenter-dark .content kbd.is-primary:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body) {
-      background-color: #375a7f;
-      color: #fff; }
-    html.theme--documenter-dark .tag.is-link:not(body), html.theme--documenter-dark .content kbd.is-link:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-link:not(body) {
-      background-color: #1abc9c;
-      color: #fff; }
-    html.theme--documenter-dark .tag.is-info:not(body), html.theme--documenter-dark .content kbd.is-info:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-info:not(body) {
-      background-color: #024c7d;
-      color: #fff; }
-    html.theme--documenter-dark .tag.is-success:not(body), html.theme--documenter-dark .content kbd.is-success:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-success:not(body) {
-      background-color: #008438;
-      color: #fff; }
-    html.theme--documenter-dark .tag.is-warning:not(body), html.theme--documenter-dark .content kbd.is-warning:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-warning:not(body) {
-      background-color: #ad8100;
-      color: #fff; }
-    html.theme--documenter-dark .tag.is-danger:not(body), html.theme--documenter-dark .content kbd.is-danger:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-danger:not(body) {
-      background-color: #9e1b0d;
-      color: #fff; }
-    html.theme--documenter-dark .tag.is-normal:not(body), html.theme--documenter-dark .content kbd.is-normal:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-normal:not(body) {
-      font-size: 0.85em; }
-    html.theme--documenter-dark .tag.is-medium:not(body), html.theme--documenter-dark .content kbd.is-medium:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-medium:not(body) {
-      font-size: 15px; }
-    html.theme--documenter-dark .tag.is-large:not(body), html.theme--documenter-dark .content kbd.is-large:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-large:not(body) {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .tag:not(body) .icon:first-child:not(:last-child), html.theme--documenter-dark .content kbd:not(body) .icon:first-child:not(:last-child), html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body) .icon:first-child:not(:last-child) {
-      margin-left: -0.375em;
-      margin-right: 0.1875em; }
-    html.theme--documenter-dark .tag:not(body) .icon:last-child:not(:first-child), html.theme--documenter-dark .content kbd:not(body) .icon:last-child:not(:first-child), html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body) .icon:last-child:not(:first-child) {
-      margin-left: 0.1875em;
-      margin-right: -0.375em; }
-    html.theme--documenter-dark .tag:not(body) .icon:first-child:last-child, html.theme--documenter-dark .content kbd:not(body) .icon:first-child:last-child, html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body) .icon:first-child:last-child {
-      margin-left: -0.375em;
-      margin-right: -0.375em; }
-    html.theme--documenter-dark .tag.is-delete:not(body), html.theme--documenter-dark .content kbd.is-delete:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-delete:not(body) {
-      margin-left: 1px;
-      padding: 0;
-      position: relative;
-      width: 2em; }
-      html.theme--documenter-dark .tag.is-delete:not(body)::before, html.theme--documenter-dark .content kbd.is-delete:not(body)::before, html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-delete:not(body)::before, html.theme--documenter-dark .tag.is-delete:not(body)::after, html.theme--documenter-dark .content kbd.is-delete:not(body)::after, html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-delete:not(body)::after {
-        background-color: currentColor;
-        content: "";
-        display: block;
-        left: 50%;
-        position: absolute;
-        top: 50%;
-        transform: translateX(-50%) translateY(-50%) rotate(45deg);
-        transform-origin: center center; }
-      html.theme--documenter-dark .tag.is-delete:not(body)::before, html.theme--documenter-dark .content kbd.is-delete:not(body)::before, html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-delete:not(body)::before {
-        height: 1px;
-        width: 50%; }
-      html.theme--documenter-dark .tag.is-delete:not(body)::after, html.theme--documenter-dark .content kbd.is-delete:not(body)::after, html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-delete:not(body)::after {
-        height: 50%;
-        width: 1px; }
-      html.theme--documenter-dark .tag.is-delete:not(body):hover, html.theme--documenter-dark .content kbd.is-delete:not(body):hover, html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-delete:not(body):hover, html.theme--documenter-dark .tag.is-delete:not(body):focus, html.theme--documenter-dark .content kbd.is-delete:not(body):focus, html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-delete:not(body):focus {
-        background-color: #1d2122; }
-      html.theme--documenter-dark .tag.is-delete:not(body):active, html.theme--documenter-dark .content kbd.is-delete:not(body):active, html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-delete:not(body):active {
-        background-color: #111414; }
-    html.theme--documenter-dark .tag.is-rounded:not(body), html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:not(body), html.theme--documenter-dark .content kbd.is-rounded:not(body), html.theme--documenter-dark #documenter .docs-sidebar .content form.docs-search > input:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-rounded:not(body) {
-      border-radius: 290486px; }
-  html.theme--documenter-dark a.tag:hover, html.theme--documenter-dark .docstring > section > a.docs-sourcelink:hover {
-    text-decoration: underline; }
-  html.theme--documenter-dark .title,
-  html.theme--documenter-dark .subtitle {
-    word-break: break-word; }
-    html.theme--documenter-dark .title em,
-    html.theme--documenter-dark .title span,
-    html.theme--documenter-dark .subtitle em,
-    html.theme--documenter-dark .subtitle span {
-      font-weight: inherit; }
-    html.theme--documenter-dark .title sub,
-    html.theme--documenter-dark .subtitle sub {
-      font-size: 0.75em; }
-    html.theme--documenter-dark .title sup,
-    html.theme--documenter-dark .subtitle sup {
-      font-size: 0.75em; }
-    html.theme--documenter-dark .title .tag, html.theme--documenter-dark .title .content kbd, html.theme--documenter-dark .content .title kbd, html.theme--documenter-dark .title .docstring > section > a.docs-sourcelink,
-    html.theme--documenter-dark .subtitle .tag,
-    html.theme--documenter-dark .subtitle .content kbd,
-    html.theme--documenter-dark .content .subtitle kbd,
-    html.theme--documenter-dark .subtitle .docstring > section > a.docs-sourcelink {
-      vertical-align: middle; }
-  html.theme--documenter-dark .title {
-    color: #fff;
-    font-size: 2rem;
-    font-weight: 500;
-    line-height: 1.125; }
-    html.theme--documenter-dark .title strong {
-      color: inherit;
-      font-weight: inherit; }
-    html.theme--documenter-dark .title + .highlight {
-      margin-top: -0.75rem; }
-    html.theme--documenter-dark .title:not(.is-spaced) + .subtitle {
-      margin-top: -1.25rem; }
-    html.theme--documenter-dark .title.is-1 {
-      font-size: 3rem; }
-    html.theme--documenter-dark .title.is-2 {
-      font-size: 2.5rem; }
-    html.theme--documenter-dark .title.is-3 {
-      font-size: 2rem; }
-    html.theme--documenter-dark .title.is-4 {
-      font-size: 1.5rem; }
-    html.theme--documenter-dark .title.is-5 {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .title.is-6 {
-      font-size: 15px; }
-    html.theme--documenter-dark .title.is-7 {
-      font-size: 0.85em; }
-  html.theme--documenter-dark .subtitle {
-    color: #8c9b9d;
-    font-size: 1.25rem;
-    font-weight: 400;
-    line-height: 1.25; }
-    html.theme--documenter-dark .subtitle strong {
-      color: #8c9b9d;
-      font-weight: 600; }
-    html.theme--documenter-dark .subtitle:not(.is-spaced) + .title {
-      margin-top: -1.25rem; }
-    html.theme--documenter-dark .subtitle.is-1 {
-      font-size: 3rem; }
-    html.theme--documenter-dark .subtitle.is-2 {
-      font-size: 2.5rem; }
-    html.theme--documenter-dark .subtitle.is-3 {
-      font-size: 2rem; }
-    html.theme--documenter-dark .subtitle.is-4 {
-      font-size: 1.5rem; }
-    html.theme--documenter-dark .subtitle.is-5 {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .subtitle.is-6 {
-      font-size: 15px; }
-    html.theme--documenter-dark .subtitle.is-7 {
-      font-size: 0.85em; }
-  html.theme--documenter-dark .heading {
-    display: block;
-    font-size: 11px;
-    letter-spacing: 1px;
-    margin-bottom: 5px;
-    text-transform: uppercase; }
-  html.theme--documenter-dark .highlight {
-    font-weight: 400;
-    max-width: 100%;
-    overflow: hidden;
-    padding: 0; }
-    html.theme--documenter-dark .highlight pre {
-      overflow: auto;
-      max-width: 100%; }
-  html.theme--documenter-dark .number {
-    align-items: center;
-    background-color: #282f2f;
-    border-radius: 290486px;
-    display: inline-flex;
-    font-size: 1.25rem;
-    height: 2em;
-    justify-content: center;
-    margin-right: 1.5rem;
-    min-width: 2.5em;
-    padding: 0.25rem 0.5rem;
-    text-align: center;
-    vertical-align: top; }
-  html.theme--documenter-dark .select select, html.theme--documenter-dark .textarea, html.theme--documenter-dark .input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input {
-    background-color: #1f2424;
-    border-color: #5e6d6f;
-    border-radius: 0.4em;
-    color: #dbdee0; }
-    html.theme--documenter-dark .select select::-moz-placeholder, html.theme--documenter-dark .textarea::-moz-placeholder, html.theme--documenter-dark .input::-moz-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input::-moz-placeholder {
-      color: rgba(219, 222, 224, 0.3); }
-    html.theme--documenter-dark .select select::-webkit-input-placeholder, html.theme--documenter-dark .textarea::-webkit-input-placeholder, html.theme--documenter-dark .input::-webkit-input-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input::-webkit-input-placeholder {
-      color: rgba(219, 222, 224, 0.3); }
-    html.theme--documenter-dark .select select:-moz-placeholder, html.theme--documenter-dark .textarea:-moz-placeholder, html.theme--documenter-dark .input:-moz-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:-moz-placeholder {
-      color: rgba(219, 222, 224, 0.3); }
-    html.theme--documenter-dark .select select:-ms-input-placeholder, html.theme--documenter-dark .textarea:-ms-input-placeholder, html.theme--documenter-dark .input:-ms-input-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:-ms-input-placeholder {
-      color: rgba(219, 222, 224, 0.3); }
-    html.theme--documenter-dark .select select:hover, html.theme--documenter-dark .textarea:hover, html.theme--documenter-dark .input:hover, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:hover, html.theme--documenter-dark .select select.is-hovered, html.theme--documenter-dark .is-hovered.textarea, html.theme--documenter-dark .is-hovered.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-hovered {
-      border-color: #8c9b9d; }
-    html.theme--documenter-dark .select select:focus, html.theme--documenter-dark .textarea:focus, html.theme--documenter-dark .input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:focus, html.theme--documenter-dark .select select.is-focused, html.theme--documenter-dark .is-focused.textarea, html.theme--documenter-dark .is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .select select:active, html.theme--documenter-dark .textarea:active, html.theme--documenter-dark .input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:active, html.theme--documenter-dark .select select.is-active, html.theme--documenter-dark .is-active.textarea, html.theme--documenter-dark .is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active {
-      border-color: #1abc9c;
-      box-shadow: 0 0 0 0.125em rgba(26, 188, 156, 0.25); }
-    html.theme--documenter-dark .select select[disabled], html.theme--documenter-dark .textarea[disabled], html.theme--documenter-dark .input[disabled], html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input[disabled], fieldset[disabled] html.theme--documenter-dark .select select, fieldset[disabled] html.theme--documenter-dark .textarea, fieldset[disabled] html.theme--documenter-dark .input, fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input {
-      background-color: #8c9b9d;
-      border-color: #282f2f;
-      box-shadow: none;
-      color: white; }
-      html.theme--documenter-dark .select select[disabled]::-moz-placeholder, html.theme--documenter-dark .textarea[disabled]::-moz-placeholder, html.theme--documenter-dark .input[disabled]::-moz-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input[disabled]::-moz-placeholder, fieldset[disabled] html.theme--documenter-dark .select select::-moz-placeholder, fieldset[disabled] html.theme--documenter-dark .textarea::-moz-placeholder, fieldset[disabled] html.theme--documenter-dark .input::-moz-placeholder, fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input::-moz-placeholder {
-        color: rgba(255, 255, 255, 0.3); }
-      html.theme--documenter-dark .select select[disabled]::-webkit-input-placeholder, html.theme--documenter-dark .textarea[disabled]::-webkit-input-placeholder, html.theme--documenter-dark .input[disabled]::-webkit-input-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input[disabled]::-webkit-input-placeholder, fieldset[disabled] html.theme--documenter-dark .select select::-webkit-input-placeholder, fieldset[disabled] html.theme--documenter-dark .textarea::-webkit-input-placeholder, fieldset[disabled] html.theme--documenter-dark .input::-webkit-input-placeholder, fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input::-webkit-input-placeholder {
-        color: rgba(255, 255, 255, 0.3); }
-      html.theme--documenter-dark .select select[disabled]:-moz-placeholder, html.theme--documenter-dark .textarea[disabled]:-moz-placeholder, html.theme--documenter-dark .input[disabled]:-moz-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input[disabled]:-moz-placeholder, fieldset[disabled] html.theme--documenter-dark .select select:-moz-placeholder, fieldset[disabled] html.theme--documenter-dark .textarea:-moz-placeholder, fieldset[disabled] html.theme--documenter-dark .input:-moz-placeholder, fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:-moz-placeholder {
-        color: rgba(255, 255, 255, 0.3); }
-      html.theme--documenter-dark .select select[disabled]:-ms-input-placeholder, html.theme--documenter-dark .textarea[disabled]:-ms-input-placeholder, html.theme--documenter-dark .input[disabled]:-ms-input-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input[disabled]:-ms-input-placeholder, fieldset[disabled] html.theme--documenter-dark .select select:-ms-input-placeholder, fieldset[disabled] html.theme--documenter-dark .textarea:-ms-input-placeholder, fieldset[disabled] html.theme--documenter-dark .input:-ms-input-placeholder, fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:-ms-input-placeholder {
-        color: rgba(255, 255, 255, 0.3); }
-  html.theme--documenter-dark .textarea, html.theme--documenter-dark .input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input {
-    box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
-    max-width: 100%;
-    width: 100%; }
-    html.theme--documenter-dark .textarea[readonly], html.theme--documenter-dark .input[readonly], html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input[readonly] {
-      box-shadow: none; }
-    html.theme--documenter-dark .is-white.textarea, html.theme--documenter-dark .is-white.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-white {
-      border-color: white; }
-      html.theme--documenter-dark .is-white.textarea:focus, html.theme--documenter-dark .is-white.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-white:focus, html.theme--documenter-dark .is-white.is-focused.textarea, html.theme--documenter-dark .is-white.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .is-white.textarea:active, html.theme--documenter-dark .is-white.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-white:active, html.theme--documenter-dark .is-white.is-active.textarea, html.theme--documenter-dark .is-white.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active {
-        box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); }
-    html.theme--documenter-dark .is-black.textarea, html.theme--documenter-dark .is-black.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-black {
-      border-color: #0a0a0a; }
-      html.theme--documenter-dark .is-black.textarea:focus, html.theme--documenter-dark .is-black.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-black:focus, html.theme--documenter-dark .is-black.is-focused.textarea, html.theme--documenter-dark .is-black.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .is-black.textarea:active, html.theme--documenter-dark .is-black.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-black:active, html.theme--documenter-dark .is-black.is-active.textarea, html.theme--documenter-dark .is-black.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active {
-        box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); }
-    html.theme--documenter-dark .is-light.textarea, html.theme--documenter-dark .is-light.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-light {
-      border-color: #ecf0f1; }
-      html.theme--documenter-dark .is-light.textarea:focus, html.theme--documenter-dark .is-light.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-light:focus, html.theme--documenter-dark .is-light.is-focused.textarea, html.theme--documenter-dark .is-light.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .is-light.textarea:active, html.theme--documenter-dark .is-light.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-light:active, html.theme--documenter-dark .is-light.is-active.textarea, html.theme--documenter-dark .is-light.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active {
-        box-shadow: 0 0 0 0.125em rgba(236, 240, 241, 0.25); }
-    html.theme--documenter-dark .is-dark.textarea, html.theme--documenter-dark .content kbd.textarea, html.theme--documenter-dark .is-dark.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-dark, html.theme--documenter-dark .content kbd.input {
-      border-color: #282f2f; }
-      html.theme--documenter-dark .is-dark.textarea:focus, html.theme--documenter-dark .content kbd.textarea:focus, html.theme--documenter-dark .is-dark.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-dark:focus, html.theme--documenter-dark .content kbd.input:focus, html.theme--documenter-dark .is-dark.is-focused.textarea, html.theme--documenter-dark .content kbd.is-focused.textarea, html.theme--documenter-dark .is-dark.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .content kbd.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar .content form.docs-search > input.is-focused, html.theme--documenter-dark .is-dark.textarea:active, html.theme--documenter-dark .content kbd.textarea:active, html.theme--documenter-dark .is-dark.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-dark:active, html.theme--documenter-dark .content kbd.input:active, html.theme--documenter-dark .is-dark.is-active.textarea, html.theme--documenter-dark .content kbd.is-active.textarea, html.theme--documenter-dark .is-dark.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active, html.theme--documenter-dark .content kbd.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar .content form.docs-search > input.is-active {
-        box-shadow: 0 0 0 0.125em rgba(40, 47, 47, 0.25); }
-    html.theme--documenter-dark .is-primary.textarea, html.theme--documenter-dark .docstring > section > a.textarea.docs-sourcelink, html.theme--documenter-dark .is-primary.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-primary, html.theme--documenter-dark .docstring > section > a.input.docs-sourcelink {
-      border-color: #375a7f; }
-      html.theme--documenter-dark .is-primary.textarea:focus, html.theme--documenter-dark .docstring > section > a.textarea.docs-sourcelink:focus, html.theme--documenter-dark .is-primary.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-primary:focus, html.theme--documenter-dark .docstring > section > a.input.docs-sourcelink:focus, html.theme--documenter-dark .is-primary.is-focused.textarea, html.theme--documenter-dark .docstring > section > a.is-focused.textarea.docs-sourcelink, html.theme--documenter-dark .is-primary.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .docstring > section > a.is-focused.input.docs-sourcelink, html.theme--documenter-dark .is-primary.textarea:active, html.theme--documenter-dark .docstring > section > a.textarea.docs-sourcelink:active, html.theme--documenter-dark .is-primary.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-primary:active, html.theme--documenter-dark .docstring > section > a.input.docs-sourcelink:active, html.theme--documenter-dark .is-primary.is-active.textarea, html.theme--documenter-dark .docstring > section > a.is-active.textarea.docs-sourcelink, html.theme--documenter-dark .is-primary.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active, html.theme--documenter-dark .docstring > section > a.is-active.input.docs-sourcelink {
-        box-shadow: 0 0 0 0.125em rgba(55, 90, 127, 0.25); }
-    html.theme--documenter-dark .is-link.textarea, html.theme--documenter-dark .is-link.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-link {
-      border-color: #1abc9c; }
-      html.theme--documenter-dark .is-link.textarea:focus, html.theme--documenter-dark .is-link.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-link:focus, html.theme--documenter-dark .is-link.is-focused.textarea, html.theme--documenter-dark .is-link.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .is-link.textarea:active, html.theme--documenter-dark .is-link.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-link:active, html.theme--documenter-dark .is-link.is-active.textarea, html.theme--documenter-dark .is-link.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active {
-        box-shadow: 0 0 0 0.125em rgba(26, 188, 156, 0.25); }
-    html.theme--documenter-dark .is-info.textarea, html.theme--documenter-dark .is-info.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-info {
-      border-color: #024c7d; }
-      html.theme--documenter-dark .is-info.textarea:focus, html.theme--documenter-dark .is-info.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-info:focus, html.theme--documenter-dark .is-info.is-focused.textarea, html.theme--documenter-dark .is-info.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .is-info.textarea:active, html.theme--documenter-dark .is-info.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-info:active, html.theme--documenter-dark .is-info.is-active.textarea, html.theme--documenter-dark .is-info.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active {
-        box-shadow: 0 0 0 0.125em rgba(2, 76, 125, 0.25); }
-    html.theme--documenter-dark .is-success.textarea, html.theme--documenter-dark .is-success.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-success {
-      border-color: #008438; }
-      html.theme--documenter-dark .is-success.textarea:focus, html.theme--documenter-dark .is-success.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-success:focus, html.theme--documenter-dark .is-success.is-focused.textarea, html.theme--documenter-dark .is-success.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .is-success.textarea:active, html.theme--documenter-dark .is-success.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-success:active, html.theme--documenter-dark .is-success.is-active.textarea, html.theme--documenter-dark .is-success.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active {
-        box-shadow: 0 0 0 0.125em rgba(0, 132, 56, 0.25); }
-    html.theme--documenter-dark .is-warning.textarea, html.theme--documenter-dark .is-warning.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-warning {
-      border-color: #ad8100; }
-      html.theme--documenter-dark .is-warning.textarea:focus, html.theme--documenter-dark .is-warning.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-warning:focus, html.theme--documenter-dark .is-warning.is-focused.textarea, html.theme--documenter-dark .is-warning.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .is-warning.textarea:active, html.theme--documenter-dark .is-warning.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-warning:active, html.theme--documenter-dark .is-warning.is-active.textarea, html.theme--documenter-dark .is-warning.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active {
-        box-shadow: 0 0 0 0.125em rgba(173, 129, 0, 0.25); }
-    html.theme--documenter-dark .is-danger.textarea, html.theme--documenter-dark .is-danger.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-danger {
-      border-color: #9e1b0d; }
-      html.theme--documenter-dark .is-danger.textarea:focus, html.theme--documenter-dark .is-danger.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-danger:focus, html.theme--documenter-dark .is-danger.is-focused.textarea, html.theme--documenter-dark .is-danger.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .is-danger.textarea:active, html.theme--documenter-dark .is-danger.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-danger:active, html.theme--documenter-dark .is-danger.is-active.textarea, html.theme--documenter-dark .is-danger.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active {
-        box-shadow: 0 0 0 0.125em rgba(158, 27, 13, 0.25); }
-    html.theme--documenter-dark .is-small.textarea, html.theme--documenter-dark .is-small.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input {
-      border-radius: 3px;
-      font-size: 0.85em; }
-    html.theme--documenter-dark .is-medium.textarea, html.theme--documenter-dark .is-medium.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-medium {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .is-large.textarea, html.theme--documenter-dark .is-large.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-large {
-      font-size: 1.5rem; }
-    html.theme--documenter-dark .is-fullwidth.textarea, html.theme--documenter-dark .is-fullwidth.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-fullwidth {
-      display: block;
-      width: 100%; }
-    html.theme--documenter-dark .is-inline.textarea, html.theme--documenter-dark .is-inline.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-inline {
-      display: inline;
-      width: auto; }
-  html.theme--documenter-dark .input.is-rounded, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input {
-    border-radius: 290486px;
-    padding-left: 1em;
-    padding-right: 1em; }
-  html.theme--documenter-dark .input.is-static, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-static {
-    background-color: transparent;
-    border-color: transparent;
-    box-shadow: none;
-    padding-left: 0;
-    padding-right: 0; }
-  html.theme--documenter-dark .textarea {
-    display: block;
-    max-width: 100%;
-    min-width: 100%;
-    padding: 0.625em;
-    resize: vertical; }
-    html.theme--documenter-dark .textarea:not([rows]) {
-      max-height: 600px;
-      min-height: 120px; }
-    html.theme--documenter-dark .textarea[rows] {
-      height: initial; }
-    html.theme--documenter-dark .textarea.has-fixed-size {
-      resize: none; }
-  html.theme--documenter-dark .radio, html.theme--documenter-dark .checkbox {
-    cursor: pointer;
-    display: inline-block;
-    line-height: 1.25;
-    position: relative; }
-    html.theme--documenter-dark .radio input, html.theme--documenter-dark .checkbox input {
-      cursor: pointer; }
-    html.theme--documenter-dark .radio:hover, html.theme--documenter-dark .checkbox:hover {
-      color: #8c9b9d; }
-    html.theme--documenter-dark .radio[disabled], html.theme--documenter-dark .checkbox[disabled], fieldset[disabled] html.theme--documenter-dark .radio, fieldset[disabled] html.theme--documenter-dark .checkbox {
-      color: white;
-      cursor: not-allowed; }
-  html.theme--documenter-dark .radio + .radio {
-    margin-left: 0.5em; }
-  html.theme--documenter-dark .select {
-    display: inline-block;
-    max-width: 100%;
-    position: relative;
-    vertical-align: top; }
-    html.theme--documenter-dark .select:not(.is-multiple) {
-      height: 2.25em; }
-    html.theme--documenter-dark .select:not(.is-multiple):not(.is-loading)::after {
-      border-color: #1abc9c;
-      right: 1.125em;
-      z-index: 4; }
-    html.theme--documenter-dark .select.is-rounded select, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.select select {
-      border-radius: 290486px;
-      padding-left: 1em; }
-    html.theme--documenter-dark .select select {
-      cursor: pointer;
-      display: block;
-      font-size: 1em;
-      max-width: 100%;
-      outline: none; }
-      html.theme--documenter-dark .select select::-ms-expand {
-        display: none; }
-      html.theme--documenter-dark .select select[disabled]:hover, fieldset[disabled] html.theme--documenter-dark .select select:hover {
-        border-color: #282f2f; }
-      html.theme--documenter-dark .select select:not([multiple]) {
-        padding-right: 2.5em; }
-      html.theme--documenter-dark .select select[multiple] {
-        height: auto;
-        padding: 0; }
-        html.theme--documenter-dark .select select[multiple] option {
-          padding: 0.5em 1em; }
-    html.theme--documenter-dark .select:not(.is-multiple):not(.is-loading):hover::after {
-      border-color: #8c9b9d; }
-    html.theme--documenter-dark .select.is-white:not(:hover)::after {
-      border-color: white; }
-    html.theme--documenter-dark .select.is-white select {
-      border-color: white; }
-      html.theme--documenter-dark .select.is-white select:hover, html.theme--documenter-dark .select.is-white select.is-hovered {
-        border-color: #f2f2f2; }
-      html.theme--documenter-dark .select.is-white select:focus, html.theme--documenter-dark .select.is-white select.is-focused, html.theme--documenter-dark .select.is-white select:active, html.theme--documenter-dark .select.is-white select.is-active {
-        box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); }
-    html.theme--documenter-dark .select.is-black:not(:hover)::after {
-      border-color: #0a0a0a; }
-    html.theme--documenter-dark .select.is-black select {
-      border-color: #0a0a0a; }
-      html.theme--documenter-dark .select.is-black select:hover, html.theme--documenter-dark .select.is-black select.is-hovered {
-        border-color: black; }
-      html.theme--documenter-dark .select.is-black select:focus, html.theme--documenter-dark .select.is-black select.is-focused, html.theme--documenter-dark .select.is-black select:active, html.theme--documenter-dark .select.is-black select.is-active {
-        box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); }
-    html.theme--documenter-dark .select.is-light:not(:hover)::after {
-      border-color: #ecf0f1; }
-    html.theme--documenter-dark .select.is-light select {
-      border-color: #ecf0f1; }
-      html.theme--documenter-dark .select.is-light select:hover, html.theme--documenter-dark .select.is-light select.is-hovered {
-        border-color: #dde4e6; }
-      html.theme--documenter-dark .select.is-light select:focus, html.theme--documenter-dark .select.is-light select.is-focused, html.theme--documenter-dark .select.is-light select:active, html.theme--documenter-dark .select.is-light select.is-active {
-        box-shadow: 0 0 0 0.125em rgba(236, 240, 241, 0.25); }
-    html.theme--documenter-dark .select.is-dark:not(:hover)::after, html.theme--documenter-dark .content kbd.select:not(:hover)::after {
-      border-color: #282f2f; }
-    html.theme--documenter-dark .select.is-dark select, html.theme--documenter-dark .content kbd.select select {
-      border-color: #282f2f; }
-      html.theme--documenter-dark .select.is-dark select:hover, html.theme--documenter-dark .content kbd.select select:hover, html.theme--documenter-dark .select.is-dark select.is-hovered, html.theme--documenter-dark .content kbd.select select.is-hovered {
-        border-color: #1d2122; }
-      html.theme--documenter-dark .select.is-dark select:focus, html.theme--documenter-dark .content kbd.select select:focus, html.theme--documenter-dark .select.is-dark select.is-focused, html.theme--documenter-dark .content kbd.select select.is-focused, html.theme--documenter-dark .select.is-dark select:active, html.theme--documenter-dark .content kbd.select select:active, html.theme--documenter-dark .select.is-dark select.is-active, html.theme--documenter-dark .content kbd.select select.is-active {
-        box-shadow: 0 0 0 0.125em rgba(40, 47, 47, 0.25); }
-    html.theme--documenter-dark .select.is-primary:not(:hover)::after, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink:not(:hover)::after {
-      border-color: #375a7f; }
-    html.theme--documenter-dark .select.is-primary select, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink select {
-      border-color: #375a7f; }
-      html.theme--documenter-dark .select.is-primary select:hover, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink select:hover, html.theme--documenter-dark .select.is-primary select.is-hovered, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink select.is-hovered {
-        border-color: #2f4d6d; }
-      html.theme--documenter-dark .select.is-primary select:focus, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink select:focus, html.theme--documenter-dark .select.is-primary select.is-focused, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink select.is-focused, html.theme--documenter-dark .select.is-primary select:active, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink select:active, html.theme--documenter-dark .select.is-primary select.is-active, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink select.is-active {
-        box-shadow: 0 0 0 0.125em rgba(55, 90, 127, 0.25); }
-    html.theme--documenter-dark .select.is-link:not(:hover)::after {
-      border-color: #1abc9c; }
-    html.theme--documenter-dark .select.is-link select {
-      border-color: #1abc9c; }
-      html.theme--documenter-dark .select.is-link select:hover, html.theme--documenter-dark .select.is-link select.is-hovered {
-        border-color: #17a689; }
-      html.theme--documenter-dark .select.is-link select:focus, html.theme--documenter-dark .select.is-link select.is-focused, html.theme--documenter-dark .select.is-link select:active, html.theme--documenter-dark .select.is-link select.is-active {
-        box-shadow: 0 0 0 0.125em rgba(26, 188, 156, 0.25); }
-    html.theme--documenter-dark .select.is-info:not(:hover)::after {
-      border-color: #024c7d; }
-    html.theme--documenter-dark .select.is-info select {
-      border-color: #024c7d; }
-      html.theme--documenter-dark .select.is-info select:hover, html.theme--documenter-dark .select.is-info select.is-hovered {
-        border-color: #023d64; }
-      html.theme--documenter-dark .select.is-info select:focus, html.theme--documenter-dark .select.is-info select.is-focused, html.theme--documenter-dark .select.is-info select:active, html.theme--documenter-dark .select.is-info select.is-active {
-        box-shadow: 0 0 0 0.125em rgba(2, 76, 125, 0.25); }
-    html.theme--documenter-dark .select.is-success:not(:hover)::after {
-      border-color: #008438; }
-    html.theme--documenter-dark .select.is-success select {
-      border-color: #008438; }
-      html.theme--documenter-dark .select.is-success select:hover, html.theme--documenter-dark .select.is-success select.is-hovered {
-        border-color: #006b2d; }
-      html.theme--documenter-dark .select.is-success select:focus, html.theme--documenter-dark .select.is-success select.is-focused, html.theme--documenter-dark .select.is-success select:active, html.theme--documenter-dark .select.is-success select.is-active {
-        box-shadow: 0 0 0 0.125em rgba(0, 132, 56, 0.25); }
-    html.theme--documenter-dark .select.is-warning:not(:hover)::after {
-      border-color: #ad8100; }
-    html.theme--documenter-dark .select.is-warning select {
-      border-color: #ad8100; }
-      html.theme--documenter-dark .select.is-warning select:hover, html.theme--documenter-dark .select.is-warning select.is-hovered {
-        border-color: #946e00; }
-      html.theme--documenter-dark .select.is-warning select:focus, html.theme--documenter-dark .select.is-warning select.is-focused, html.theme--documenter-dark .select.is-warning select:active, html.theme--documenter-dark .select.is-warning select.is-active {
-        box-shadow: 0 0 0 0.125em rgba(173, 129, 0, 0.25); }
-    html.theme--documenter-dark .select.is-danger:not(:hover)::after {
-      border-color: #9e1b0d; }
-    html.theme--documenter-dark .select.is-danger select {
-      border-color: #9e1b0d; }
-      html.theme--documenter-dark .select.is-danger select:hover, html.theme--documenter-dark .select.is-danger select.is-hovered {
-        border-color: #86170b; }
-      html.theme--documenter-dark .select.is-danger select:focus, html.theme--documenter-dark .select.is-danger select.is-focused, html.theme--documenter-dark .select.is-danger select:active, html.theme--documenter-dark .select.is-danger select.is-active {
-        box-shadow: 0 0 0 0.125em rgba(158, 27, 13, 0.25); }
-    html.theme--documenter-dark .select.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.select {
-      border-radius: 3px;
-      font-size: 0.85em; }
-    html.theme--documenter-dark .select.is-medium {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .select.is-large {
-      font-size: 1.5rem; }
-    html.theme--documenter-dark .select.is-disabled::after {
-      border-color: white; }
-    html.theme--documenter-dark .select.is-fullwidth {
-      width: 100%; }
-      html.theme--documenter-dark .select.is-fullwidth select {
-        width: 100%; }
-    html.theme--documenter-dark .select.is-loading::after {
-      margin-top: 0;
-      position: absolute;
-      right: 0.625em;
-      top: 0.625em;
-      transform: none; }
-    html.theme--documenter-dark .select.is-loading.is-small:after, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-loading:after {
-      font-size: 0.85em; }
-    html.theme--documenter-dark .select.is-loading.is-medium:after {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .select.is-loading.is-large:after {
-      font-size: 1.5rem; }
-  html.theme--documenter-dark .file {
-    align-items: stretch;
-    display: flex;
-    justify-content: flex-start;
-    position: relative; }
-    html.theme--documenter-dark .file.is-white .file-cta {
-      background-color: white;
-      border-color: transparent;
-      color: #0a0a0a; }
-    html.theme--documenter-dark .file.is-white:hover .file-cta, html.theme--documenter-dark .file.is-white.is-hovered .file-cta {
-      background-color: #f9f9f9;
-      border-color: transparent;
-      color: #0a0a0a; }
-    html.theme--documenter-dark .file.is-white:focus .file-cta, html.theme--documenter-dark .file.is-white.is-focused .file-cta {
-      border-color: transparent;
-      box-shadow: 0 0 0.5em rgba(255, 255, 255, 0.25);
-      color: #0a0a0a; }
-    html.theme--documenter-dark .file.is-white:active .file-cta, html.theme--documenter-dark .file.is-white.is-active .file-cta {
-      background-color: #f2f2f2;
-      border-color: transparent;
-      color: #0a0a0a; }
-    html.theme--documenter-dark .file.is-black .file-cta {
-      background-color: #0a0a0a;
-      border-color: transparent;
-      color: white; }
-    html.theme--documenter-dark .file.is-black:hover .file-cta, html.theme--documenter-dark .file.is-black.is-hovered .file-cta {
-      background-color: #040404;
-      border-color: transparent;
-      color: white; }
-    html.theme--documenter-dark .file.is-black:focus .file-cta, html.theme--documenter-dark .file.is-black.is-focused .file-cta {
-      border-color: transparent;
-      box-shadow: 0 0 0.5em rgba(10, 10, 10, 0.25);
-      color: white; }
-    html.theme--documenter-dark .file.is-black:active .file-cta, html.theme--documenter-dark .file.is-black.is-active .file-cta {
-      background-color: black;
-      border-color: transparent;
-      color: white; }
-    html.theme--documenter-dark .file.is-light .file-cta {
-      background-color: #ecf0f1;
-      border-color: transparent;
-      color: #282f2f; }
-    html.theme--documenter-dark .file.is-light:hover .file-cta, html.theme--documenter-dark .file.is-light.is-hovered .file-cta {
-      background-color: #e5eaec;
-      border-color: transparent;
-      color: #282f2f; }
-    html.theme--documenter-dark .file.is-light:focus .file-cta, html.theme--documenter-dark .file.is-light.is-focused .file-cta {
-      border-color: transparent;
-      box-shadow: 0 0 0.5em rgba(236, 240, 241, 0.25);
-      color: #282f2f; }
-    html.theme--documenter-dark .file.is-light:active .file-cta, html.theme--documenter-dark .file.is-light.is-active .file-cta {
-      background-color: #dde4e6;
-      border-color: transparent;
-      color: #282f2f; }
-    html.theme--documenter-dark .file.is-dark .file-cta, html.theme--documenter-dark .content kbd.file .file-cta {
-      background-color: #282f2f;
-      border-color: transparent;
-      color: #ecf0f1; }
-    html.theme--documenter-dark .file.is-dark:hover .file-cta, html.theme--documenter-dark .content kbd.file:hover .file-cta, html.theme--documenter-dark .file.is-dark.is-hovered .file-cta, html.theme--documenter-dark .content kbd.file.is-hovered .file-cta {
-      background-color: #232829;
-      border-color: transparent;
-      color: #ecf0f1; }
-    html.theme--documenter-dark .file.is-dark:focus .file-cta, html.theme--documenter-dark .content kbd.file:focus .file-cta, html.theme--documenter-dark .file.is-dark.is-focused .file-cta, html.theme--documenter-dark .content kbd.file.is-focused .file-cta {
-      border-color: transparent;
-      box-shadow: 0 0 0.5em rgba(40, 47, 47, 0.25);
-      color: #ecf0f1; }
-    html.theme--documenter-dark .file.is-dark:active .file-cta, html.theme--documenter-dark .content kbd.file:active .file-cta, html.theme--documenter-dark .file.is-dark.is-active .file-cta, html.theme--documenter-dark .content kbd.file.is-active .file-cta {
-      background-color: #1d2122;
-      border-color: transparent;
-      color: #ecf0f1; }
-    html.theme--documenter-dark .file.is-primary .file-cta, html.theme--documenter-dark .docstring > section > a.file.docs-sourcelink .file-cta {
-      background-color: #375a7f;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-primary:hover .file-cta, html.theme--documenter-dark .docstring > section > a.file.docs-sourcelink:hover .file-cta, html.theme--documenter-dark .file.is-primary.is-hovered .file-cta, html.theme--documenter-dark .docstring > section > a.file.is-hovered.docs-sourcelink .file-cta {
-      background-color: #335476;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-primary:focus .file-cta, html.theme--documenter-dark .docstring > section > a.file.docs-sourcelink:focus .file-cta, html.theme--documenter-dark .file.is-primary.is-focused .file-cta, html.theme--documenter-dark .docstring > section > a.file.is-focused.docs-sourcelink .file-cta {
-      border-color: transparent;
-      box-shadow: 0 0 0.5em rgba(55, 90, 127, 0.25);
-      color: #fff; }
-    html.theme--documenter-dark .file.is-primary:active .file-cta, html.theme--documenter-dark .docstring > section > a.file.docs-sourcelink:active .file-cta, html.theme--documenter-dark .file.is-primary.is-active .file-cta, html.theme--documenter-dark .docstring > section > a.file.is-active.docs-sourcelink .file-cta {
-      background-color: #2f4d6d;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-link .file-cta {
-      background-color: #1abc9c;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-link:hover .file-cta, html.theme--documenter-dark .file.is-link.is-hovered .file-cta {
-      background-color: #18b193;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-link:focus .file-cta, html.theme--documenter-dark .file.is-link.is-focused .file-cta {
-      border-color: transparent;
-      box-shadow: 0 0 0.5em rgba(26, 188, 156, 0.25);
-      color: #fff; }
-    html.theme--documenter-dark .file.is-link:active .file-cta, html.theme--documenter-dark .file.is-link.is-active .file-cta {
-      background-color: #17a689;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-info .file-cta {
-      background-color: #024c7d;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-info:hover .file-cta, html.theme--documenter-dark .file.is-info.is-hovered .file-cta {
-      background-color: #024470;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-info:focus .file-cta, html.theme--documenter-dark .file.is-info.is-focused .file-cta {
-      border-color: transparent;
-      box-shadow: 0 0 0.5em rgba(2, 76, 125, 0.25);
-      color: #fff; }
-    html.theme--documenter-dark .file.is-info:active .file-cta, html.theme--documenter-dark .file.is-info.is-active .file-cta {
-      background-color: #023d64;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-success .file-cta {
-      background-color: #008438;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-success:hover .file-cta, html.theme--documenter-dark .file.is-success.is-hovered .file-cta {
-      background-color: #007733;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-success:focus .file-cta, html.theme--documenter-dark .file.is-success.is-focused .file-cta {
-      border-color: transparent;
-      box-shadow: 0 0 0.5em rgba(0, 132, 56, 0.25);
-      color: #fff; }
-    html.theme--documenter-dark .file.is-success:active .file-cta, html.theme--documenter-dark .file.is-success.is-active .file-cta {
-      background-color: #006b2d;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-warning .file-cta {
-      background-color: #ad8100;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-warning:hover .file-cta, html.theme--documenter-dark .file.is-warning.is-hovered .file-cta {
-      background-color: #a07700;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-warning:focus .file-cta, html.theme--documenter-dark .file.is-warning.is-focused .file-cta {
-      border-color: transparent;
-      box-shadow: 0 0 0.5em rgba(173, 129, 0, 0.25);
-      color: #fff; }
-    html.theme--documenter-dark .file.is-warning:active .file-cta, html.theme--documenter-dark .file.is-warning.is-active .file-cta {
-      background-color: #946e00;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-danger .file-cta {
-      background-color: #9e1b0d;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-danger:hover .file-cta, html.theme--documenter-dark .file.is-danger.is-hovered .file-cta {
-      background-color: #92190c;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-danger:focus .file-cta, html.theme--documenter-dark .file.is-danger.is-focused .file-cta {
-      border-color: transparent;
-      box-shadow: 0 0 0.5em rgba(158, 27, 13, 0.25);
-      color: #fff; }
-    html.theme--documenter-dark .file.is-danger:active .file-cta, html.theme--documenter-dark .file.is-danger.is-active .file-cta {
-      background-color: #86170b;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.file {
-      font-size: 0.85em; }
-    html.theme--documenter-dark .file.is-medium {
-      font-size: 1.25rem; }
-      html.theme--documenter-dark .file.is-medium .file-icon .fa {
-        font-size: 21px; }
-    html.theme--documenter-dark .file.is-large {
-      font-size: 1.5rem; }
-      html.theme--documenter-dark .file.is-large .file-icon .fa {
-        font-size: 28px; }
-    html.theme--documenter-dark .file.has-name .file-cta {
-      border-bottom-right-radius: 0;
-      border-top-right-radius: 0; }
-    html.theme--documenter-dark .file.has-name .file-name {
-      border-bottom-left-radius: 0;
-      border-top-left-radius: 0; }
-    html.theme--documenter-dark .file.has-name.is-empty .file-cta {
-      border-radius: 0.4em; }
-    html.theme--documenter-dark .file.has-name.is-empty .file-name {
-      display: none; }
-    html.theme--documenter-dark .file.is-boxed .file-label {
-      flex-direction: column; }
-    html.theme--documenter-dark .file.is-boxed .file-cta {
-      flex-direction: column;
-      height: auto;
-      padding: 1em 3em; }
-    html.theme--documenter-dark .file.is-boxed .file-name {
-      border-width: 0 1px 1px; }
-    html.theme--documenter-dark .file.is-boxed .file-icon {
-      height: 1.5em;
-      width: 1.5em; }
-      html.theme--documenter-dark .file.is-boxed .file-icon .fa {
-        font-size: 21px; }
-    html.theme--documenter-dark .file.is-boxed.is-small .file-icon .fa, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-boxed .file-icon .fa {
-      font-size: 14px; }
-    html.theme--documenter-dark .file.is-boxed.is-medium .file-icon .fa {
-      font-size: 28px; }
-    html.theme--documenter-dark .file.is-boxed.is-large .file-icon .fa {
-      font-size: 35px; }
-    html.theme--documenter-dark .file.is-boxed.has-name .file-cta {
-      border-radius: 0.4em 0.4em 0 0; }
-    html.theme--documenter-dark .file.is-boxed.has-name .file-name {
-      border-radius: 0 0 0.4em 0.4em;
-      border-width: 0 1px 1px; }
-    html.theme--documenter-dark .file.is-centered {
-      justify-content: center; }
-    html.theme--documenter-dark .file.is-fullwidth .file-label {
-      width: 100%; }
-    html.theme--documenter-dark .file.is-fullwidth .file-name {
-      flex-grow: 1;
-      max-width: none; }
-    html.theme--documenter-dark .file.is-right {
-      justify-content: flex-end; }
-      html.theme--documenter-dark .file.is-right .file-cta {
-        border-radius: 0 0.4em 0.4em 0; }
-      html.theme--documenter-dark .file.is-right .file-name {
-        border-radius: 0.4em 0 0 0.4em;
-        border-width: 1px 0 1px 1px;
-        order: -1; }
-  html.theme--documenter-dark .file-label {
-    align-items: stretch;
-    display: flex;
-    cursor: pointer;
-    justify-content: flex-start;
-    overflow: hidden;
-    position: relative; }
-    html.theme--documenter-dark .file-label:hover .file-cta {
-      background-color: #e5eaec;
-      color: #282f2f; }
-    html.theme--documenter-dark .file-label:hover .file-name {
-      border-color: #596668; }
-    html.theme--documenter-dark .file-label:active .file-cta {
-      background-color: #dde4e6;
-      color: #282f2f; }
-    html.theme--documenter-dark .file-label:active .file-name {
-      border-color: #535f61; }
-  html.theme--documenter-dark .file-input {
-    height: 100%;
-    left: 0;
-    opacity: 0;
-    outline: none;
-    position: absolute;
-    top: 0;
-    width: 100%; }
-  html.theme--documenter-dark .file-cta,
-  html.theme--documenter-dark .file-name {
-    border-color: #5e6d6f;
-    border-radius: 0.4em;
-    font-size: 1em;
-    padding-left: 1em;
-    padding-right: 1em;
-    white-space: nowrap; }
-  html.theme--documenter-dark .file-cta {
-    background-color: #ecf0f1;
-    color: #343c3d; }
-  html.theme--documenter-dark .file-name {
-    border-color: #5e6d6f;
-    border-style: solid;
-    border-width: 1px 1px 1px 0;
-    display: block;
-    max-width: 16em;
-    overflow: hidden;
-    text-align: left;
-    text-overflow: ellipsis; }
-  html.theme--documenter-dark .file-icon {
-    align-items: center;
-    display: flex;
-    height: 1em;
-    justify-content: center;
-    margin-right: 0.5em;
-    width: 1em; }
-    html.theme--documenter-dark .file-icon .fa {
-      font-size: 14px; }
-  html.theme--documenter-dark .label {
-    color: #282f2f;
-    display: block;
-    font-size: 15px;
-    font-weight: 700; }
-    html.theme--documenter-dark .label:not(:last-child) {
-      margin-bottom: 0.5em; }
-    html.theme--documenter-dark .label.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.label {
-      font-size: 0.85em; }
-    html.theme--documenter-dark .label.is-medium {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .label.is-large {
-      font-size: 1.5rem; }
-  html.theme--documenter-dark .help {
-    display: block;
-    font-size: 0.85em;
-    margin-top: 0.25rem; }
-    html.theme--documenter-dark .help.is-white {
-      color: white; }
-    html.theme--documenter-dark .help.is-black {
-      color: #0a0a0a; }
-    html.theme--documenter-dark .help.is-light {
-      color: #ecf0f1; }
-    html.theme--documenter-dark .help.is-dark, html.theme--documenter-dark .content kbd.help {
-      color: #282f2f; }
-    html.theme--documenter-dark .help.is-primary, html.theme--documenter-dark .docstring > section > a.help.docs-sourcelink {
-      color: #375a7f; }
-    html.theme--documenter-dark .help.is-link {
-      color: #1abc9c; }
-    html.theme--documenter-dark .help.is-info {
-      color: #024c7d; }
-    html.theme--documenter-dark .help.is-success {
-      color: #008438; }
-    html.theme--documenter-dark .help.is-warning {
-      color: #ad8100; }
-    html.theme--documenter-dark .help.is-danger {
-      color: #9e1b0d; }
-  html.theme--documenter-dark .field:not(:last-child) {
-    margin-bottom: 0.75rem; }
-  html.theme--documenter-dark .field.has-addons {
-    display: flex;
-    justify-content: flex-start; }
-    html.theme--documenter-dark .field.has-addons .control:not(:last-child) {
-      margin-right: -1px; }
-    html.theme--documenter-dark .field.has-addons .control:not(:first-child):not(:last-child) .button,
-    html.theme--documenter-dark .field.has-addons .control:not(:first-child):not(:last-child) .input,
-    html.theme--documenter-dark .field.has-addons .control:not(:first-child):not(:last-child) #documenter .docs-sidebar form.docs-search > input,
-    html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control:not(:first-child):not(:last-child) form.docs-search > input,
-    html.theme--documenter-dark .field.has-addons .control:not(:first-child):not(:last-child) .select select {
-      border-radius: 0; }
-    html.theme--documenter-dark .field.has-addons .control:first-child:not(:only-child) .button,
-    html.theme--documenter-dark .field.has-addons .control:first-child:not(:only-child) .input,
-    html.theme--documenter-dark .field.has-addons .control:first-child:not(:only-child) #documenter .docs-sidebar form.docs-search > input,
-    html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control:first-child:not(:only-child) form.docs-search > input,
-    html.theme--documenter-dark .field.has-addons .control:first-child:not(:only-child) .select select {
-      border-bottom-right-radius: 0;
-      border-top-right-radius: 0; }
-    html.theme--documenter-dark .field.has-addons .control:last-child:not(:only-child) .button,
-    html.theme--documenter-dark .field.has-addons .control:last-child:not(:only-child) .input,
-    html.theme--documenter-dark .field.has-addons .control:last-child:not(:only-child) #documenter .docs-sidebar form.docs-search > input,
-    html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control:last-child:not(:only-child) form.docs-search > input,
-    html.theme--documenter-dark .field.has-addons .control:last-child:not(:only-child) .select select {
-      border-bottom-left-radius: 0;
-      border-top-left-radius: 0; }
-    html.theme--documenter-dark .field.has-addons .control .button:not([disabled]):hover, html.theme--documenter-dark .field.has-addons .control .button.is-hovered:not([disabled]),
-    html.theme--documenter-dark .field.has-addons .control .input:not([disabled]):hover,
-    html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):hover,
-    html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):hover,
-    html.theme--documenter-dark .field.has-addons .control .input.is-hovered:not([disabled]),
-    html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-hovered:not([disabled]),
-    html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-hovered:not([disabled]),
-    html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]):hover,
-    html.theme--documenter-dark .field.has-addons .control .select select.is-hovered:not([disabled]) {
-      z-index: 2; }
-    html.theme--documenter-dark .field.has-addons .control .button:not([disabled]):focus, html.theme--documenter-dark .field.has-addons .control .button.is-focused:not([disabled]), html.theme--documenter-dark .field.has-addons .control .button:not([disabled]):active, html.theme--documenter-dark .field.has-addons .control .button.is-active:not([disabled]),
-    html.theme--documenter-dark .field.has-addons .control .input:not([disabled]):focus,
-    html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):focus,
-    html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):focus,
-    html.theme--documenter-dark .field.has-addons .control .input.is-focused:not([disabled]),
-    html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-focused:not([disabled]),
-    html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-focused:not([disabled]),
-    html.theme--documenter-dark .field.has-addons .control .input:not([disabled]):active,
-    html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):active,
-    html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):active,
-    html.theme--documenter-dark .field.has-addons .control .input.is-active:not([disabled]),
-    html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-active:not([disabled]),
-    html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-active:not([disabled]),
-    html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]):focus,
-    html.theme--documenter-dark .field.has-addons .control .select select.is-focused:not([disabled]),
-    html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]):active,
-    html.theme--documenter-dark .field.has-addons .control .select select.is-active:not([disabled]) {
-      z-index: 3; }
-      html.theme--documenter-dark .field.has-addons .control .button:not([disabled]):focus:hover, html.theme--documenter-dark .field.has-addons .control .button.is-focused:not([disabled]):hover, html.theme--documenter-dark .field.has-addons .control .button:not([disabled]):active:hover, html.theme--documenter-dark .field.has-addons .control .button.is-active:not([disabled]):hover,
-      html.theme--documenter-dark .field.has-addons .control .input:not([disabled]):focus:hover,
-      html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):focus:hover,
-      html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):focus:hover,
-      html.theme--documenter-dark .field.has-addons .control .input.is-focused:not([disabled]):hover,
-      html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-focused:not([disabled]):hover,
-      html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-focused:not([disabled]):hover,
-      html.theme--documenter-dark .field.has-addons .control .input:not([disabled]):active:hover,
-      html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):active:hover,
-      html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):active:hover,
-      html.theme--documenter-dark .field.has-addons .control .input.is-active:not([disabled]):hover,
-      html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-active:not([disabled]):hover,
-      html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-active:not([disabled]):hover,
-      html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]):focus:hover,
-      html.theme--documenter-dark .field.has-addons .control .select select.is-focused:not([disabled]):hover,
-      html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]):active:hover,
-      html.theme--documenter-dark .field.has-addons .control .select select.is-active:not([disabled]):hover {
-        z-index: 4; }
-    html.theme--documenter-dark .field.has-addons .control.is-expanded {
-      flex-grow: 1;
-      flex-shrink: 1; }
-    html.theme--documenter-dark .field.has-addons.has-addons-centered {
-      justify-content: center; }
-    html.theme--documenter-dark .field.has-addons.has-addons-right {
-      justify-content: flex-end; }
-    html.theme--documenter-dark .field.has-addons.has-addons-fullwidth .control {
-      flex-grow: 1;
-      flex-shrink: 0; }
-  html.theme--documenter-dark .field.is-grouped {
-    display: flex;
-    justify-content: flex-start; }
-    html.theme--documenter-dark .field.is-grouped > .control {
-      flex-shrink: 0; }
-      html.theme--documenter-dark .field.is-grouped > .control:not(:last-child) {
-        margin-bottom: 0;
-        margin-right: 0.75rem; }
-      html.theme--documenter-dark .field.is-grouped > .control.is-expanded {
-        flex-grow: 1;
-        flex-shrink: 1; }
-    html.theme--documenter-dark .field.is-grouped.is-grouped-centered {
-      justify-content: center; }
-    html.theme--documenter-dark .field.is-grouped.is-grouped-right {
-      justify-content: flex-end; }
-    html.theme--documenter-dark .field.is-grouped.is-grouped-multiline {
-      flex-wrap: wrap; }
-      html.theme--documenter-dark .field.is-grouped.is-grouped-multiline > .control:last-child, html.theme--documenter-dark .field.is-grouped.is-grouped-multiline > .control:not(:last-child) {
-        margin-bottom: 0.75rem; }
-      html.theme--documenter-dark .field.is-grouped.is-grouped-multiline:last-child {
-        margin-bottom: -0.75rem; }
-      html.theme--documenter-dark .field.is-grouped.is-grouped-multiline:not(:last-child) {
-        margin-bottom: 0; }
-  @media screen and (min-width: 769px), print {
-    html.theme--documenter-dark .field.is-horizontal {
-      display: flex; } }
-  html.theme--documenter-dark .field-label .label {
-    font-size: inherit; }
-  @media screen and (max-width: 768px) {
-    html.theme--documenter-dark .field-label {
-      margin-bottom: 0.5rem; } }
-  @media screen and (min-width: 769px), print {
-    html.theme--documenter-dark .field-label {
-      flex-basis: 0;
-      flex-grow: 1;
-      flex-shrink: 0;
-      margin-right: 1.5rem;
-      text-align: right; }
-      html.theme--documenter-dark .field-label.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.field-label {
-        font-size: 0.85em;
-        padding-top: 0.375em; }
-      html.theme--documenter-dark .field-label.is-normal {
-        padding-top: 0.375em; }
-      html.theme--documenter-dark .field-label.is-medium {
-        font-size: 1.25rem;
-        padding-top: 0.375em; }
-      html.theme--documenter-dark .field-label.is-large {
-        font-size: 1.5rem;
-        padding-top: 0.375em; } }
-  html.theme--documenter-dark .field-body .field .field {
-    margin-bottom: 0; }
-  @media screen and (min-width: 769px), print {
-    html.theme--documenter-dark .field-body {
-      display: flex;
-      flex-basis: 0;
-      flex-grow: 5;
-      flex-shrink: 1; }
-      html.theme--documenter-dark .field-body .field {
-        margin-bottom: 0; }
-      html.theme--documenter-dark .field-body > .field {
-        flex-shrink: 1; }
-        html.theme--documenter-dark .field-body > .field:not(.is-narrow) {
-          flex-grow: 1; }
-        html.theme--documenter-dark .field-body > .field:not(:last-child) {
-          margin-right: 0.75rem; } }
-  html.theme--documenter-dark .control {
-    box-sizing: border-box;
-    clear: both;
-    font-size: 15px;
-    position: relative;
-    text-align: left; }
-    html.theme--documenter-dark .control.has-icons-left .input:focus ~ .icon, html.theme--documenter-dark .control.has-icons-left #documenter .docs-sidebar form.docs-search > input:focus ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-left form.docs-search > input:focus ~ .icon,
-    html.theme--documenter-dark .control.has-icons-left .select:focus ~ .icon, html.theme--documenter-dark .control.has-icons-right .input:focus ~ .icon, html.theme--documenter-dark .control.has-icons-right #documenter .docs-sidebar form.docs-search > input:focus ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-right form.docs-search > input:focus ~ .icon,
-    html.theme--documenter-dark .control.has-icons-right .select:focus ~ .icon {
-      color: #5e6d6f; }
-    html.theme--documenter-dark .control.has-icons-left .input.is-small ~ .icon, html.theme--documenter-dark .control.has-icons-left #documenter .docs-sidebar form.docs-search > input ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-left form.docs-search > input ~ .icon,
-    html.theme--documenter-dark .control.has-icons-left .select.is-small ~ .icon, html.theme--documenter-dark .control.has-icons-right .input.is-small ~ .icon, html.theme--documenter-dark .control.has-icons-right #documenter .docs-sidebar form.docs-search > input ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-right form.docs-search > input ~ .icon,
-    html.theme--documenter-dark .control.has-icons-right .select.is-small ~ .icon {
-      font-size: 0.85em; }
-    html.theme--documenter-dark .control.has-icons-left .input.is-medium ~ .icon, html.theme--documenter-dark .control.has-icons-left #documenter .docs-sidebar form.docs-search > input.is-medium ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-left form.docs-search > input.is-medium ~ .icon,
-    html.theme--documenter-dark .control.has-icons-left .select.is-medium ~ .icon, html.theme--documenter-dark .control.has-icons-right .input.is-medium ~ .icon, html.theme--documenter-dark .control.has-icons-right #documenter .docs-sidebar form.docs-search > input.is-medium ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-right form.docs-search > input.is-medium ~ .icon,
-    html.theme--documenter-dark .control.has-icons-right .select.is-medium ~ .icon {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .control.has-icons-left .input.is-large ~ .icon, html.theme--documenter-dark .control.has-icons-left #documenter .docs-sidebar form.docs-search > input.is-large ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-left form.docs-search > input.is-large ~ .icon,
-    html.theme--documenter-dark .control.has-icons-left .select.is-large ~ .icon, html.theme--documenter-dark .control.has-icons-right .input.is-large ~ .icon, html.theme--documenter-dark .control.has-icons-right #documenter .docs-sidebar form.docs-search > input.is-large ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-right form.docs-search > input.is-large ~ .icon,
-    html.theme--documenter-dark .control.has-icons-right .select.is-large ~ .icon {
-      font-size: 1.5rem; }
-    html.theme--documenter-dark .control.has-icons-left .icon, html.theme--documenter-dark .control.has-icons-right .icon {
-      color: #dbdee0;
-      height: 2.25em;
-      pointer-events: none;
-      position: absolute;
-      top: 0;
-      width: 2.25em;
-      z-index: 4; }
-    html.theme--documenter-dark .control.has-icons-left .input, html.theme--documenter-dark .control.has-icons-left #documenter .docs-sidebar form.docs-search > input, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-left form.docs-search > input,
-    html.theme--documenter-dark .control.has-icons-left .select select {
-      padding-left: 2.25em; }
-    html.theme--documenter-dark .control.has-icons-left .icon.is-left {
-      left: 0; }
-    html.theme--documenter-dark .control.has-icons-right .input, html.theme--documenter-dark .control.has-icons-right #documenter .docs-sidebar form.docs-search > input, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-right form.docs-search > input,
-    html.theme--documenter-dark .control.has-icons-right .select select {
-      padding-right: 2.25em; }
-    html.theme--documenter-dark .control.has-icons-right .icon.is-right {
-      right: 0; }
-    html.theme--documenter-dark .control.is-loading::after {
-      position: absolute !important;
-      right: 0.625em;
-      top: 0.625em;
-      z-index: 4; }
-    html.theme--documenter-dark .control.is-loading.is-small:after, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-loading:after {
-      font-size: 0.85em; }
-    html.theme--documenter-dark .control.is-loading.is-medium:after {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .control.is-loading.is-large:after {
-      font-size: 1.5rem; }
-  html.theme--documenter-dark .breadcrumb {
-    font-size: 15px;
-    white-space: nowrap; }
-    html.theme--documenter-dark .breadcrumb a {
-      align-items: center;
-      color: #1abc9c;
-      display: flex;
-      justify-content: center;
-      padding: 0 0.75em; }
-      html.theme--documenter-dark .breadcrumb a:hover {
-        color: #1dd2af; }
-    html.theme--documenter-dark .breadcrumb li {
-      align-items: center;
-      display: flex; }
-      html.theme--documenter-dark .breadcrumb li:first-child a {
-        padding-left: 0; }
-      html.theme--documenter-dark .breadcrumb li.is-active a {
-        color: #f2f2f2;
-        cursor: default;
-        pointer-events: none; }
-      html.theme--documenter-dark .breadcrumb li + li::before {
-        color: #8c9b9d;
-        content: "\0002f"; }
-    html.theme--documenter-dark .breadcrumb ul,
-    html.theme--documenter-dark .breadcrumb ol {
-      align-items: flex-start;
-      display: flex;
-      flex-wrap: wrap;
-      justify-content: flex-start; }
-    html.theme--documenter-dark .breadcrumb .icon:first-child {
-      margin-right: 0.5em; }
-    html.theme--documenter-dark .breadcrumb .icon:last-child {
-      margin-left: 0.5em; }
-    html.theme--documenter-dark .breadcrumb.is-centered ol,
-    html.theme--documenter-dark .breadcrumb.is-centered ul {
-      justify-content: center; }
-    html.theme--documenter-dark .breadcrumb.is-right ol,
-    html.theme--documenter-dark .breadcrumb.is-right ul {
-      justify-content: flex-end; }
-    html.theme--documenter-dark .breadcrumb.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.breadcrumb {
-      font-size: 0.85em; }
-    html.theme--documenter-dark .breadcrumb.is-medium {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .breadcrumb.is-large {
-      font-size: 1.5rem; }
-    html.theme--documenter-dark .breadcrumb.has-arrow-separator li + li::before {
-      content: "\02192"; }
-    html.theme--documenter-dark .breadcrumb.has-bullet-separator li + li::before {
-      content: "\02022"; }
-    html.theme--documenter-dark .breadcrumb.has-dot-separator li + li::before {
-      content: "\000b7"; }
-    html.theme--documenter-dark .breadcrumb.has-succeeds-separator li + li::before {
-      content: "\0227B"; }
-  html.theme--documenter-dark .card {
-    background-color: white;
-    box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
-    color: #fff;
-    max-width: 100%;
-    position: relative; }
-  html.theme--documenter-dark .card-header {
-    background-color: transparent;
-    align-items: stretch;
-    box-shadow: 0 1px 2px rgba(10, 10, 10, 0.1);
-    display: flex; }
-  html.theme--documenter-dark .card-header-title {
-    align-items: center;
-    color: #f2f2f2;
-    display: flex;
-    flex-grow: 1;
-    font-weight: 700;
-    padding: 0.75rem; }
-    html.theme--documenter-dark .card-header-title.is-centered {
-      justify-content: center; }
-  html.theme--documenter-dark .card-header-icon {
-    align-items: center;
-    cursor: pointer;
-    display: flex;
-    justify-content: center;
-    padding: 0.75rem; }
-  html.theme--documenter-dark .card-image {
-    display: block;
-    position: relative; }
-  html.theme--documenter-dark .card-content {
-    background-color: transparent;
-    padding: 1.5rem; }
-  html.theme--documenter-dark .card-footer {
-    background-color: transparent;
-    border-top: 1px solid #5e6d6f;
-    align-items: stretch;
-    display: flex; }
-  html.theme--documenter-dark .card-footer-item {
-    align-items: center;
-    display: flex;
-    flex-basis: 0;
-    flex-grow: 1;
-    flex-shrink: 0;
-    justify-content: center;
-    padding: 0.75rem; }
-    html.theme--documenter-dark .card-footer-item:not(:last-child) {
-      border-right: 1px solid #5e6d6f; }
-  html.theme--documenter-dark .card .media:not(:last-child) {
-    margin-bottom: 1.5rem; }
-  html.theme--documenter-dark .dropdown {
-    display: inline-flex;
-    position: relative;
-    vertical-align: top; }
-    html.theme--documenter-dark .dropdown.is-active .dropdown-menu, html.theme--documenter-dark .dropdown.is-hoverable:hover .dropdown-menu {
-      display: block; }
-    html.theme--documenter-dark .dropdown.is-right .dropdown-menu {
-      left: auto;
-      right: 0; }
-    html.theme--documenter-dark .dropdown.is-up .dropdown-menu {
-      bottom: 100%;
-      padding-bottom: 4px;
-      padding-top: initial;
-      top: auto; }
-  html.theme--documenter-dark .dropdown-menu {
-    display: none;
-    left: 0;
-    min-width: 12rem;
-    padding-top: 4px;
-    position: absolute;
-    top: 100%;
-    z-index: 20; }
-  html.theme--documenter-dark .dropdown-content {
-    background-color: #282f2f;
-    border-radius: 0.4em;
-    box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
-    padding-bottom: 0.5rem;
-    padding-top: 0.5rem; }
-  html.theme--documenter-dark .dropdown-item {
-    color: #fff;
-    display: block;
-    font-size: 0.875rem;
-    line-height: 1.5;
-    padding: 0.375rem 1rem;
-    position: relative; }
-  html.theme--documenter-dark a.dropdown-item,
-  html.theme--documenter-dark button.dropdown-item {
-    padding-right: 3rem;
-    text-align: left;
-    white-space: nowrap;
-    width: 100%; }
-    html.theme--documenter-dark a.dropdown-item:hover,
-    html.theme--documenter-dark button.dropdown-item:hover {
-      background-color: #282f2f;
-      color: #0a0a0a; }
-    html.theme--documenter-dark a.dropdown-item.is-active,
-    html.theme--documenter-dark button.dropdown-item.is-active {
-      background-color: #1abc9c;
-      color: #fff; }
-  html.theme--documenter-dark .dropdown-divider {
-    background-color: #5e6d6f;
-    border: none;
-    display: block;
-    height: 1px;
-    margin: 0.5rem 0; }
-  html.theme--documenter-dark .level {
-    align-items: center;
-    justify-content: space-between; }
-    html.theme--documenter-dark .level code {
-      border-radius: 0.4em; }
-    html.theme--documenter-dark .level img {
-      display: inline-block;
-      vertical-align: top; }
-    html.theme--documenter-dark .level.is-mobile {
-      display: flex; }
-      html.theme--documenter-dark .level.is-mobile .level-left,
-      html.theme--documenter-dark .level.is-mobile .level-right {
-        display: flex; }
-      html.theme--documenter-dark .level.is-mobile .level-left + .level-right {
-        margin-top: 0; }
-      html.theme--documenter-dark .level.is-mobile .level-item:not(:last-child) {
-        margin-bottom: 0;
-        margin-right: 0.75rem; }
-      html.theme--documenter-dark .level.is-mobile .level-item:not(.is-narrow) {
-        flex-grow: 1; }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .level {
-        display: flex; }
-        html.theme--documenter-dark .level > .level-item:not(.is-narrow) {
-          flex-grow: 1; } }
-  html.theme--documenter-dark .level-item {
-    align-items: center;
-    display: flex;
-    flex-basis: auto;
-    flex-grow: 0;
-    flex-shrink: 0;
-    justify-content: center; }
-    html.theme--documenter-dark .level-item .title,
-    html.theme--documenter-dark .level-item .subtitle {
-      margin-bottom: 0; }
-    @media screen and (max-width: 768px) {
-      html.theme--documenter-dark .level-item:not(:last-child) {
-        margin-bottom: 0.75rem; } }
-  html.theme--documenter-dark .level-left,
-  html.theme--documenter-dark .level-right {
-    flex-basis: auto;
-    flex-grow: 0;
-    flex-shrink: 0; }
-    html.theme--documenter-dark .level-left .level-item.is-flexible,
-    html.theme--documenter-dark .level-right .level-item.is-flexible {
-      flex-grow: 1; }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .level-left .level-item:not(:last-child),
-      html.theme--documenter-dark .level-right .level-item:not(:last-child) {
-        margin-right: 0.75rem; } }
-  html.theme--documenter-dark .level-left {
-    align-items: center;
-    justify-content: flex-start; }
-    @media screen and (max-width: 768px) {
-      html.theme--documenter-dark .level-left + .level-right {
-        margin-top: 1.5rem; } }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .level-left {
-        display: flex; } }
-  html.theme--documenter-dark .level-right {
-    align-items: center;
-    justify-content: flex-end; }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .level-right {
-        display: flex; } }
-  html.theme--documenter-dark .list {
-    background-color: white;
-    border-radius: 0.4em;
-    box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1); }
-  html.theme--documenter-dark .list-item {
-    display: block;
-    padding: 0.5em 1em; }
-    html.theme--documenter-dark .list-item:not(a) {
-      color: #fff; }
-    html.theme--documenter-dark .list-item:first-child {
-      border-top-left-radius: 0.4em;
-      border-top-right-radius: 0.4em; }
-    html.theme--documenter-dark .list-item:last-child {
-      border-bottom-left-radius: 0.4em;
-      border-bottom-right-radius: 0.4em; }
-    html.theme--documenter-dark .list-item:not(:last-child) {
-      border-bottom: 1px solid #5e6d6f; }
-    html.theme--documenter-dark .list-item.is-active {
-      background-color: #1abc9c;
-      color: #fff; }
-  html.theme--documenter-dark a.list-item {
-    background-color: #282f2f;
-    cursor: pointer; }
-  html.theme--documenter-dark .media {
-    align-items: flex-start;
-    display: flex;
-    text-align: left; }
-    html.theme--documenter-dark .media .content:not(:last-child) {
-      margin-bottom: 0.75rem; }
-    html.theme--documenter-dark .media .media {
-      border-top: 1px solid rgba(94, 109, 111, 0.5);
-      display: flex;
-      padding-top: 0.75rem; }
-      html.theme--documenter-dark .media .media .content:not(:last-child),
-      html.theme--documenter-dark .media .media .control:not(:last-child) {
-        margin-bottom: 0.5rem; }
-      html.theme--documenter-dark .media .media .media {
-        padding-top: 0.5rem; }
-        html.theme--documenter-dark .media .media .media + .media {
-          margin-top: 0.5rem; }
-    html.theme--documenter-dark .media + .media {
-      border-top: 1px solid rgba(94, 109, 111, 0.5);
-      margin-top: 1rem;
-      padding-top: 1rem; }
-    html.theme--documenter-dark .media.is-large + .media {
-      margin-top: 1.5rem;
-      padding-top: 1.5rem; }
-  html.theme--documenter-dark .media-left,
-  html.theme--documenter-dark .media-right {
-    flex-basis: auto;
-    flex-grow: 0;
-    flex-shrink: 0; }
-  html.theme--documenter-dark .media-left {
-    margin-right: 1rem; }
-  html.theme--documenter-dark .media-right {
-    margin-left: 1rem; }
-  html.theme--documenter-dark .media-content {
-    flex-basis: auto;
-    flex-grow: 1;
-    flex-shrink: 1;
-    text-align: left; }
-  @media screen and (max-width: 768px) {
-    html.theme--documenter-dark .media-content {
-      overflow-x: auto; } }
-  html.theme--documenter-dark .menu {
-    font-size: 15px; }
-    html.theme--documenter-dark .menu.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.menu {
-      font-size: 0.85em; }
-    html.theme--documenter-dark .menu.is-medium {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .menu.is-large {
-      font-size: 1.5rem; }
-  html.theme--documenter-dark .menu-list {
-    line-height: 1.25; }
-    html.theme--documenter-dark .menu-list a {
-      border-radius: 3px;
-      color: #fff;
-      display: block;
-      padding: 0.5em 0.75em; }
-      html.theme--documenter-dark .menu-list a:hover {
-        background-color: #282f2f;
-        color: #f2f2f2; }
-      html.theme--documenter-dark .menu-list a.is-active {
-        background-color: #1abc9c;
-        color: #fff; }
-    html.theme--documenter-dark .menu-list li ul {
-      border-left: 1px solid #5e6d6f;
-      margin: 0.75em;
-      padding-left: 0.75em; }
-  html.theme--documenter-dark .menu-label {
-    color: white;
-    font-size: 0.75em;
-    letter-spacing: 0.1em;
-    text-transform: uppercase; }
-    html.theme--documenter-dark .menu-label:not(:first-child) {
-      margin-top: 1em; }
-    html.theme--documenter-dark .menu-label:not(:last-child) {
-      margin-bottom: 1em; }
-  html.theme--documenter-dark .message {
-    background-color: #282f2f;
-    border-radius: 0.4em;
-    font-size: 15px; }
-    html.theme--documenter-dark .message strong {
-      color: currentColor; }
-    html.theme--documenter-dark .message a:not(.button):not(.tag):not(.dropdown-item) {
-      color: currentColor;
-      text-decoration: underline; }
-    html.theme--documenter-dark .message.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.message {
-      font-size: 0.85em; }
-    html.theme--documenter-dark .message.is-medium {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .message.is-large {
-      font-size: 1.5rem; }
-    html.theme--documenter-dark .message.is-white {
-      background-color: white; }
-      html.theme--documenter-dark .message.is-white .message-header {
-        background-color: white;
-        color: #0a0a0a; }
-      html.theme--documenter-dark .message.is-white .message-body {
-        border-color: white;
-        color: #4d4d4d; }
-    html.theme--documenter-dark .message.is-black {
-      background-color: #fafafa; }
-      html.theme--documenter-dark .message.is-black .message-header {
-        background-color: #0a0a0a;
-        color: white; }
-      html.theme--documenter-dark .message.is-black .message-body {
-        border-color: #0a0a0a;
-        color: #090909; }
-    html.theme--documenter-dark .message.is-light {
-      background-color: #f9fafb; }
-      html.theme--documenter-dark .message.is-light .message-header {
-        background-color: #ecf0f1;
-        color: #282f2f; }
-      html.theme--documenter-dark .message.is-light .message-body {
-        border-color: #ecf0f1;
-        color: #505050; }
-    html.theme--documenter-dark .message.is-dark, html.theme--documenter-dark .content kbd.message {
-      background-color: #f9fafa; }
-      html.theme--documenter-dark .message.is-dark .message-header, html.theme--documenter-dark .content kbd.message .message-header {
-        background-color: #282f2f;
-        color: #ecf0f1; }
-      html.theme--documenter-dark .message.is-dark .message-body, html.theme--documenter-dark .content kbd.message .message-body {
-        border-color: #282f2f;
-        color: #212526; }
-    html.theme--documenter-dark .message.is-primary, html.theme--documenter-dark .docstring > section > a.message.docs-sourcelink {
-      background-color: #f8fafc; }
-      html.theme--documenter-dark .message.is-primary .message-header, html.theme--documenter-dark .docstring > section > a.message.docs-sourcelink .message-header {
-        background-color: #375a7f;
-        color: #fff; }
-      html.theme--documenter-dark .message.is-primary .message-body, html.theme--documenter-dark .docstring > section > a.message.docs-sourcelink .message-body {
-        border-color: #375a7f;
-        color: #2b4159; }
-    html.theme--documenter-dark .message.is-link {
-      background-color: #f6fefc; }
-      html.theme--documenter-dark .message.is-link .message-header {
-        background-color: #1abc9c;
-        color: #fff; }
-      html.theme--documenter-dark .message.is-link .message-body {
-        border-color: #1abc9c;
-        color: #0b2f28; }
-    html.theme--documenter-dark .message.is-info {
-      background-color: #f5fbff; }
-      html.theme--documenter-dark .message.is-info .message-header {
-        background-color: #024c7d;
-        color: #fff; }
-      html.theme--documenter-dark .message.is-info .message-body {
-        border-color: #024c7d;
-        color: #033659; }
-    html.theme--documenter-dark .message.is-success {
-      background-color: #f5fff9; }
-      html.theme--documenter-dark .message.is-success .message-header {
-        background-color: #008438;
-        color: #fff; }
-      html.theme--documenter-dark .message.is-success .message-body {
-        border-color: #008438;
-        color: #023518; }
-    html.theme--documenter-dark .message.is-warning {
-      background-color: #fffcf5; }
-      html.theme--documenter-dark .message.is-warning .message-header {
-        background-color: #ad8100;
-        color: #fff; }
-      html.theme--documenter-dark .message.is-warning .message-body {
-        border-color: #ad8100;
-        color: #3d2e03; }
-    html.theme--documenter-dark .message.is-danger {
-      background-color: #fef6f6; }
-      html.theme--documenter-dark .message.is-danger .message-header {
-        background-color: #9e1b0d;
-        color: #fff; }
-      html.theme--documenter-dark .message.is-danger .message-body {
-        border-color: #9e1b0d;
-        color: #7a170c; }
-  html.theme--documenter-dark .message-header {
-    align-items: center;
-    background-color: #fff;
-    border-radius: 0.4em 0.4em 0 0;
-    color: rgba(0, 0, 0, 0.7);
-    display: flex;
-    font-weight: 700;
-    justify-content: space-between;
-    line-height: 1.25;
-    padding: 0.75em 1em;
-    position: relative; }
-    html.theme--documenter-dark .message-header .delete {
-      flex-grow: 0;
-      flex-shrink: 0;
-      margin-left: 0.75em; }
-    html.theme--documenter-dark .message-header + .message-body {
-      border-width: 0;
-      border-top-left-radius: 0;
-      border-top-right-radius: 0; }
-  html.theme--documenter-dark .message-body {
-    border-color: #5e6d6f;
-    border-radius: 0.4em;
-    border-style: solid;
-    border-width: 0 0 0 4px;
-    color: #fff;
-    padding: 1.25em 1.5em; }
-    html.theme--documenter-dark .message-body code,
-    html.theme--documenter-dark .message-body pre {
-      background-color: white; }
-    html.theme--documenter-dark .message-body pre code {
-      background-color: transparent; }
-  html.theme--documenter-dark .modal {
-    align-items: center;
-    display: none;
-    flex-direction: column;
-    justify-content: center;
-    overflow: hidden;
-    position: fixed;
-    z-index: 40; }
-    html.theme--documenter-dark .modal.is-active {
-      display: flex; }
-  html.theme--documenter-dark .modal-background {
-    background-color: rgba(10, 10, 10, 0.86); }
-  html.theme--documenter-dark .modal-content,
-  html.theme--documenter-dark .modal-card {
-    margin: 0 20px;
-    max-height: calc(100vh - 160px);
-    overflow: auto;
-    position: relative;
-    width: 100%; }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .modal-content,
-      html.theme--documenter-dark .modal-card {
-        margin: 0 auto;
-        max-height: calc(100vh - 40px);
-        width: 640px; } }
-  html.theme--documenter-dark .modal-close {
-    background: none;
-    height: 40px;
-    position: fixed;
-    right: 20px;
-    top: 20px;
-    width: 40px; }
-  html.theme--documenter-dark .modal-card {
-    display: flex;
-    flex-direction: column;
-    max-height: calc(100vh - 40px);
-    overflow: hidden;
-    -ms-overflow-y: visible; }
-  html.theme--documenter-dark .modal-card-head,
-  html.theme--documenter-dark .modal-card-foot {
-    align-items: center;
-    background-color: #282f2f;
-    display: flex;
-    flex-shrink: 0;
-    justify-content: flex-start;
-    padding: 20px;
-    position: relative; }
-  html.theme--documenter-dark .modal-card-head {
-    border-bottom: 1px solid #5e6d6f;
-    border-top-left-radius: 8px;
-    border-top-right-radius: 8px; }
-  html.theme--documenter-dark .modal-card-title {
-    color: #f2f2f2;
-    flex-grow: 1;
-    flex-shrink: 0;
-    font-size: 1.5rem;
-    line-height: 1; }
-  html.theme--documenter-dark .modal-card-foot {
-    border-bottom-left-radius: 8px;
-    border-bottom-right-radius: 8px;
-    border-top: 1px solid #5e6d6f; }
-    html.theme--documenter-dark .modal-card-foot .button:not(:last-child) {
-      margin-right: 0.5em; }
-  html.theme--documenter-dark .modal-card-body {
-    -webkit-overflow-scrolling: touch;
-    background-color: white;
-    flex-grow: 1;
-    flex-shrink: 1;
-    overflow: auto;
-    padding: 20px; }
-  html.theme--documenter-dark .navbar {
-    background-color: #375a7f;
-    min-height: 4rem;
-    position: relative;
-    z-index: 30; }
-    html.theme--documenter-dark .navbar.is-white {
-      background-color: white;
-      color: #0a0a0a; }
-      html.theme--documenter-dark .navbar.is-white .navbar-brand > .navbar-item,
-      html.theme--documenter-dark .navbar.is-white .navbar-brand .navbar-link {
-        color: #0a0a0a; }
-      html.theme--documenter-dark .navbar.is-white .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-white .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-white .navbar-brand > a.navbar-item.is-active,
-      html.theme--documenter-dark .navbar.is-white .navbar-brand .navbar-link:focus,
-      html.theme--documenter-dark .navbar.is-white .navbar-brand .navbar-link:hover,
-      html.theme--documenter-dark .navbar.is-white .navbar-brand .navbar-link.is-active {
-        background-color: #f2f2f2;
-        color: #0a0a0a; }
-      html.theme--documenter-dark .navbar.is-white .navbar-brand .navbar-link::after {
-        border-color: #0a0a0a; }
-      html.theme--documenter-dark .navbar.is-white .navbar-burger {
-        color: #0a0a0a; }
-      @media screen and (min-width: 1056px) {
-        html.theme--documenter-dark .navbar.is-white .navbar-start > .navbar-item,
-        html.theme--documenter-dark .navbar.is-white .navbar-start .navbar-link,
-        html.theme--documenter-dark .navbar.is-white .navbar-end > .navbar-item,
-        html.theme--documenter-dark .navbar.is-white .navbar-end .navbar-link {
-          color: #0a0a0a; }
-        html.theme--documenter-dark .navbar.is-white .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-white .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-white .navbar-start > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-white .navbar-start .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-white .navbar-start .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-white .navbar-start .navbar-link.is-active,
-        html.theme--documenter-dark .navbar.is-white .navbar-end > a.navbar-item:focus,
-        html.theme--documenter-dark .navbar.is-white .navbar-end > a.navbar-item:hover,
-        html.theme--documenter-dark .navbar.is-white .navbar-end > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-white .navbar-end .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-white .navbar-end .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-white .navbar-end .navbar-link.is-active {
-          background-color: #f2f2f2;
-          color: #0a0a0a; }
-        html.theme--documenter-dark .navbar.is-white .navbar-start .navbar-link::after,
-        html.theme--documenter-dark .navbar.is-white .navbar-end .navbar-link::after {
-          border-color: #0a0a0a; }
-        html.theme--documenter-dark .navbar.is-white .navbar-item.has-dropdown:focus .navbar-link,
-        html.theme--documenter-dark .navbar.is-white .navbar-item.has-dropdown:hover .navbar-link,
-        html.theme--documenter-dark .navbar.is-white .navbar-item.has-dropdown.is-active .navbar-link {
-          background-color: #f2f2f2;
-          color: #0a0a0a; }
-        html.theme--documenter-dark .navbar.is-white .navbar-dropdown a.navbar-item.is-active {
-          background-color: white;
-          color: #0a0a0a; } }
-    html.theme--documenter-dark .navbar.is-black {
-      background-color: #0a0a0a;
-      color: white; }
-      html.theme--documenter-dark .navbar.is-black .navbar-brand > .navbar-item,
-      html.theme--documenter-dark .navbar.is-black .navbar-brand .navbar-link {
-        color: white; }
-      html.theme--documenter-dark .navbar.is-black .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-black .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-black .navbar-brand > a.navbar-item.is-active,
-      html.theme--documenter-dark .navbar.is-black .navbar-brand .navbar-link:focus,
-      html.theme--documenter-dark .navbar.is-black .navbar-brand .navbar-link:hover,
-      html.theme--documenter-dark .navbar.is-black .navbar-brand .navbar-link.is-active {
-        background-color: black;
-        color: white; }
-      html.theme--documenter-dark .navbar.is-black .navbar-brand .navbar-link::after {
-        border-color: white; }
-      html.theme--documenter-dark .navbar.is-black .navbar-burger {
-        color: white; }
-      @media screen and (min-width: 1056px) {
-        html.theme--documenter-dark .navbar.is-black .navbar-start > .navbar-item,
-        html.theme--documenter-dark .navbar.is-black .navbar-start .navbar-link,
-        html.theme--documenter-dark .navbar.is-black .navbar-end > .navbar-item,
-        html.theme--documenter-dark .navbar.is-black .navbar-end .navbar-link {
-          color: white; }
-        html.theme--documenter-dark .navbar.is-black .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-black .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-black .navbar-start > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-black .navbar-start .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-black .navbar-start .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-black .navbar-start .navbar-link.is-active,
-        html.theme--documenter-dark .navbar.is-black .navbar-end > a.navbar-item:focus,
-        html.theme--documenter-dark .navbar.is-black .navbar-end > a.navbar-item:hover,
-        html.theme--documenter-dark .navbar.is-black .navbar-end > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-black .navbar-end .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-black .navbar-end .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-black .navbar-end .navbar-link.is-active {
-          background-color: black;
-          color: white; }
-        html.theme--documenter-dark .navbar.is-black .navbar-start .navbar-link::after,
-        html.theme--documenter-dark .navbar.is-black .navbar-end .navbar-link::after {
-          border-color: white; }
-        html.theme--documenter-dark .navbar.is-black .navbar-item.has-dropdown:focus .navbar-link,
-        html.theme--documenter-dark .navbar.is-black .navbar-item.has-dropdown:hover .navbar-link,
-        html.theme--documenter-dark .navbar.is-black .navbar-item.has-dropdown.is-active .navbar-link {
-          background-color: black;
-          color: white; }
-        html.theme--documenter-dark .navbar.is-black .navbar-dropdown a.navbar-item.is-active {
-          background-color: #0a0a0a;
-          color: white; } }
-    html.theme--documenter-dark .navbar.is-light {
-      background-color: #ecf0f1;
-      color: #282f2f; }
-      html.theme--documenter-dark .navbar.is-light .navbar-brand > .navbar-item,
-      html.theme--documenter-dark .navbar.is-light .navbar-brand .navbar-link {
-        color: #282f2f; }
-      html.theme--documenter-dark .navbar.is-light .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-light .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-light .navbar-brand > a.navbar-item.is-active,
-      html.theme--documenter-dark .navbar.is-light .navbar-brand .navbar-link:focus,
-      html.theme--documenter-dark .navbar.is-light .navbar-brand .navbar-link:hover,
-      html.theme--documenter-dark .navbar.is-light .navbar-brand .navbar-link.is-active {
-        background-color: #dde4e6;
-        color: #282f2f; }
-      html.theme--documenter-dark .navbar.is-light .navbar-brand .navbar-link::after {
-        border-color: #282f2f; }
-      html.theme--documenter-dark .navbar.is-light .navbar-burger {
-        color: #282f2f; }
-      @media screen and (min-width: 1056px) {
-        html.theme--documenter-dark .navbar.is-light .navbar-start > .navbar-item,
-        html.theme--documenter-dark .navbar.is-light .navbar-start .navbar-link,
-        html.theme--documenter-dark .navbar.is-light .navbar-end > .navbar-item,
-        html.theme--documenter-dark .navbar.is-light .navbar-end .navbar-link {
-          color: #282f2f; }
-        html.theme--documenter-dark .navbar.is-light .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-light .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-light .navbar-start > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-light .navbar-start .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-light .navbar-start .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-light .navbar-start .navbar-link.is-active,
-        html.theme--documenter-dark .navbar.is-light .navbar-end > a.navbar-item:focus,
-        html.theme--documenter-dark .navbar.is-light .navbar-end > a.navbar-item:hover,
-        html.theme--documenter-dark .navbar.is-light .navbar-end > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-light .navbar-end .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-light .navbar-end .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-light .navbar-end .navbar-link.is-active {
-          background-color: #dde4e6;
-          color: #282f2f; }
-        html.theme--documenter-dark .navbar.is-light .navbar-start .navbar-link::after,
-        html.theme--documenter-dark .navbar.is-light .navbar-end .navbar-link::after {
-          border-color: #282f2f; }
-        html.theme--documenter-dark .navbar.is-light .navbar-item.has-dropdown:focus .navbar-link,
-        html.theme--documenter-dark .navbar.is-light .navbar-item.has-dropdown:hover .navbar-link,
-        html.theme--documenter-dark .navbar.is-light .navbar-item.has-dropdown.is-active .navbar-link {
-          background-color: #dde4e6;
-          color: #282f2f; }
-        html.theme--documenter-dark .navbar.is-light .navbar-dropdown a.navbar-item.is-active {
-          background-color: #ecf0f1;
-          color: #282f2f; } }
-    html.theme--documenter-dark .navbar.is-dark, html.theme--documenter-dark .content kbd.navbar {
-      background-color: #282f2f;
-      color: #ecf0f1; }
-      html.theme--documenter-dark .navbar.is-dark .navbar-brand > .navbar-item, html.theme--documenter-dark .content kbd.navbar .navbar-brand > .navbar-item,
-      html.theme--documenter-dark .navbar.is-dark .navbar-brand .navbar-link,
-      html.theme--documenter-dark .content kbd.navbar .navbar-brand .navbar-link {
-        color: #ecf0f1; }
-      html.theme--documenter-dark .navbar.is-dark .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .content kbd.navbar .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-dark .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .content kbd.navbar .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-dark .navbar-brand > a.navbar-item.is-active, html.theme--documenter-dark .content kbd.navbar .navbar-brand > a.navbar-item.is-active,
-      html.theme--documenter-dark .navbar.is-dark .navbar-brand .navbar-link:focus,
-      html.theme--documenter-dark .content kbd.navbar .navbar-brand .navbar-link:focus,
-      html.theme--documenter-dark .navbar.is-dark .navbar-brand .navbar-link:hover,
-      html.theme--documenter-dark .content kbd.navbar .navbar-brand .navbar-link:hover,
-      html.theme--documenter-dark .navbar.is-dark .navbar-brand .navbar-link.is-active,
-      html.theme--documenter-dark .content kbd.navbar .navbar-brand .navbar-link.is-active {
-        background-color: #1d2122;
-        color: #ecf0f1; }
-      html.theme--documenter-dark .navbar.is-dark .navbar-brand .navbar-link::after, html.theme--documenter-dark .content kbd.navbar .navbar-brand .navbar-link::after {
-        border-color: #ecf0f1; }
-      html.theme--documenter-dark .navbar.is-dark .navbar-burger, html.theme--documenter-dark .content kbd.navbar .navbar-burger {
-        color: #ecf0f1; }
-      @media screen and (min-width: 1056px) {
-        html.theme--documenter-dark .navbar.is-dark .navbar-start > .navbar-item, html.theme--documenter-dark .content kbd.navbar .navbar-start > .navbar-item,
-        html.theme--documenter-dark .navbar.is-dark .navbar-start .navbar-link,
-        html.theme--documenter-dark .content kbd.navbar .navbar-start .navbar-link,
-        html.theme--documenter-dark .navbar.is-dark .navbar-end > .navbar-item,
-        html.theme--documenter-dark .content kbd.navbar .navbar-end > .navbar-item,
-        html.theme--documenter-dark .navbar.is-dark .navbar-end .navbar-link,
-        html.theme--documenter-dark .content kbd.navbar .navbar-end .navbar-link {
-          color: #ecf0f1; }
-        html.theme--documenter-dark .navbar.is-dark .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .content kbd.navbar .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-dark .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .content kbd.navbar .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-dark .navbar-start > a.navbar-item.is-active, html.theme--documenter-dark .content kbd.navbar .navbar-start > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-dark .navbar-start .navbar-link:focus,
-        html.theme--documenter-dark .content kbd.navbar .navbar-start .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-dark .navbar-start .navbar-link:hover,
-        html.theme--documenter-dark .content kbd.navbar .navbar-start .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-dark .navbar-start .navbar-link.is-active,
-        html.theme--documenter-dark .content kbd.navbar .navbar-start .navbar-link.is-active,
-        html.theme--documenter-dark .navbar.is-dark .navbar-end > a.navbar-item:focus,
-        html.theme--documenter-dark .content kbd.navbar .navbar-end > a.navbar-item:focus,
-        html.theme--documenter-dark .navbar.is-dark .navbar-end > a.navbar-item:hover,
-        html.theme--documenter-dark .content kbd.navbar .navbar-end > a.navbar-item:hover,
-        html.theme--documenter-dark .navbar.is-dark .navbar-end > a.navbar-item.is-active,
-        html.theme--documenter-dark .content kbd.navbar .navbar-end > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-dark .navbar-end .navbar-link:focus,
-        html.theme--documenter-dark .content kbd.navbar .navbar-end .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-dark .navbar-end .navbar-link:hover,
-        html.theme--documenter-dark .content kbd.navbar .navbar-end .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-dark .navbar-end .navbar-link.is-active,
-        html.theme--documenter-dark .content kbd.navbar .navbar-end .navbar-link.is-active {
-          background-color: #1d2122;
-          color: #ecf0f1; }
-        html.theme--documenter-dark .navbar.is-dark .navbar-start .navbar-link::after, html.theme--documenter-dark .content kbd.navbar .navbar-start .navbar-link::after,
-        html.theme--documenter-dark .navbar.is-dark .navbar-end .navbar-link::after,
-        html.theme--documenter-dark .content kbd.navbar .navbar-end .navbar-link::after {
-          border-color: #ecf0f1; }
-        html.theme--documenter-dark .navbar.is-dark .navbar-item.has-dropdown:focus .navbar-link, html.theme--documenter-dark .content kbd.navbar .navbar-item.has-dropdown:focus .navbar-link,
-        html.theme--documenter-dark .navbar.is-dark .navbar-item.has-dropdown:hover .navbar-link,
-        html.theme--documenter-dark .content kbd.navbar .navbar-item.has-dropdown:hover .navbar-link,
-        html.theme--documenter-dark .navbar.is-dark .navbar-item.has-dropdown.is-active .navbar-link,
-        html.theme--documenter-dark .content kbd.navbar .navbar-item.has-dropdown.is-active .navbar-link {
-          background-color: #1d2122;
-          color: #ecf0f1; }
-        html.theme--documenter-dark .navbar.is-dark .navbar-dropdown a.navbar-item.is-active, html.theme--documenter-dark .content kbd.navbar .navbar-dropdown a.navbar-item.is-active {
-          background-color: #282f2f;
-          color: #ecf0f1; } }
-    html.theme--documenter-dark .navbar.is-primary, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink {
-      background-color: #375a7f;
-      color: #fff; }
-      html.theme--documenter-dark .navbar.is-primary .navbar-brand > .navbar-item, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand > .navbar-item,
-      html.theme--documenter-dark .navbar.is-primary .navbar-brand .navbar-link,
-      html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link {
-        color: #fff; }
-      html.theme--documenter-dark .navbar.is-primary .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-primary .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-primary .navbar-brand > a.navbar-item.is-active, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand > a.navbar-item.is-active,
-      html.theme--documenter-dark .navbar.is-primary .navbar-brand .navbar-link:focus,
-      html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link:focus,
-      html.theme--documenter-dark .navbar.is-primary .navbar-brand .navbar-link:hover,
-      html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link:hover,
-      html.theme--documenter-dark .navbar.is-primary .navbar-brand .navbar-link.is-active,
-      html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link.is-active {
-        background-color: #2f4d6d;
-        color: #fff; }
-      html.theme--documenter-dark .navbar.is-primary .navbar-brand .navbar-link::after, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link::after {
-        border-color: #fff; }
-      html.theme--documenter-dark .navbar.is-primary .navbar-burger, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-burger {
-        color: #fff; }
-      @media screen and (min-width: 1056px) {
-        html.theme--documenter-dark .navbar.is-primary .navbar-start > .navbar-item, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start > .navbar-item,
-        html.theme--documenter-dark .navbar.is-primary .navbar-start .navbar-link,
-        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link,
-        html.theme--documenter-dark .navbar.is-primary .navbar-end > .navbar-item,
-        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end > .navbar-item,
-        html.theme--documenter-dark .navbar.is-primary .navbar-end .navbar-link,
-        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link {
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-primary .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-primary .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-primary .navbar-start > a.navbar-item.is-active, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-primary .navbar-start .navbar-link:focus,
-        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-primary .navbar-start .navbar-link:hover,
-        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-primary .navbar-start .navbar-link.is-active,
-        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link.is-active,
-        html.theme--documenter-dark .navbar.is-primary .navbar-end > a.navbar-item:focus,
-        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end > a.navbar-item:focus,
-        html.theme--documenter-dark .navbar.is-primary .navbar-end > a.navbar-item:hover,
-        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end > a.navbar-item:hover,
-        html.theme--documenter-dark .navbar.is-primary .navbar-end > a.navbar-item.is-active,
-        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-primary .navbar-end .navbar-link:focus,
-        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-primary .navbar-end .navbar-link:hover,
-        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-primary .navbar-end .navbar-link.is-active,
-        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link.is-active {
-          background-color: #2f4d6d;
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-primary .navbar-start .navbar-link::after, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link::after,
-        html.theme--documenter-dark .navbar.is-primary .navbar-end .navbar-link::after,
-        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link::after {
-          border-color: #fff; }
-        html.theme--documenter-dark .navbar.is-primary .navbar-item.has-dropdown:focus .navbar-link, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-item.has-dropdown:focus .navbar-link,
-        html.theme--documenter-dark .navbar.is-primary .navbar-item.has-dropdown:hover .navbar-link,
-        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-item.has-dropdown:hover .navbar-link,
-        html.theme--documenter-dark .navbar.is-primary .navbar-item.has-dropdown.is-active .navbar-link,
-        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-item.has-dropdown.is-active .navbar-link {
-          background-color: #2f4d6d;
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-primary .navbar-dropdown a.navbar-item.is-active, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-dropdown a.navbar-item.is-active {
-          background-color: #375a7f;
-          color: #fff; } }
-    html.theme--documenter-dark .navbar.is-link {
-      background-color: #1abc9c;
-      color: #fff; }
-      html.theme--documenter-dark .navbar.is-link .navbar-brand > .navbar-item,
-      html.theme--documenter-dark .navbar.is-link .navbar-brand .navbar-link {
-        color: #fff; }
-      html.theme--documenter-dark .navbar.is-link .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-link .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-link .navbar-brand > a.navbar-item.is-active,
-      html.theme--documenter-dark .navbar.is-link .navbar-brand .navbar-link:focus,
-      html.theme--documenter-dark .navbar.is-link .navbar-brand .navbar-link:hover,
-      html.theme--documenter-dark .navbar.is-link .navbar-brand .navbar-link.is-active {
-        background-color: #17a689;
-        color: #fff; }
-      html.theme--documenter-dark .navbar.is-link .navbar-brand .navbar-link::after {
-        border-color: #fff; }
-      html.theme--documenter-dark .navbar.is-link .navbar-burger {
-        color: #fff; }
-      @media screen and (min-width: 1056px) {
-        html.theme--documenter-dark .navbar.is-link .navbar-start > .navbar-item,
-        html.theme--documenter-dark .navbar.is-link .navbar-start .navbar-link,
-        html.theme--documenter-dark .navbar.is-link .navbar-end > .navbar-item,
-        html.theme--documenter-dark .navbar.is-link .navbar-end .navbar-link {
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-link .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-link .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-link .navbar-start > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-link .navbar-start .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-link .navbar-start .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-link .navbar-start .navbar-link.is-active,
-        html.theme--documenter-dark .navbar.is-link .navbar-end > a.navbar-item:focus,
-        html.theme--documenter-dark .navbar.is-link .navbar-end > a.navbar-item:hover,
-        html.theme--documenter-dark .navbar.is-link .navbar-end > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-link .navbar-end .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-link .navbar-end .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-link .navbar-end .navbar-link.is-active {
-          background-color: #17a689;
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-link .navbar-start .navbar-link::after,
-        html.theme--documenter-dark .navbar.is-link .navbar-end .navbar-link::after {
-          border-color: #fff; }
-        html.theme--documenter-dark .navbar.is-link .navbar-item.has-dropdown:focus .navbar-link,
-        html.theme--documenter-dark .navbar.is-link .navbar-item.has-dropdown:hover .navbar-link,
-        html.theme--documenter-dark .navbar.is-link .navbar-item.has-dropdown.is-active .navbar-link {
-          background-color: #17a689;
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-link .navbar-dropdown a.navbar-item.is-active {
-          background-color: #1abc9c;
-          color: #fff; } }
-    html.theme--documenter-dark .navbar.is-info {
-      background-color: #024c7d;
-      color: #fff; }
-      html.theme--documenter-dark .navbar.is-info .navbar-brand > .navbar-item,
-      html.theme--documenter-dark .navbar.is-info .navbar-brand .navbar-link {
-        color: #fff; }
-      html.theme--documenter-dark .navbar.is-info .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-info .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-info .navbar-brand > a.navbar-item.is-active,
-      html.theme--documenter-dark .navbar.is-info .navbar-brand .navbar-link:focus,
-      html.theme--documenter-dark .navbar.is-info .navbar-brand .navbar-link:hover,
-      html.theme--documenter-dark .navbar.is-info .navbar-brand .navbar-link.is-active {
-        background-color: #023d64;
-        color: #fff; }
-      html.theme--documenter-dark .navbar.is-info .navbar-brand .navbar-link::after {
-        border-color: #fff; }
-      html.theme--documenter-dark .navbar.is-info .navbar-burger {
-        color: #fff; }
-      @media screen and (min-width: 1056px) {
-        html.theme--documenter-dark .navbar.is-info .navbar-start > .navbar-item,
-        html.theme--documenter-dark .navbar.is-info .navbar-start .navbar-link,
-        html.theme--documenter-dark .navbar.is-info .navbar-end > .navbar-item,
-        html.theme--documenter-dark .navbar.is-info .navbar-end .navbar-link {
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-info .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-info .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-info .navbar-start > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-info .navbar-start .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-info .navbar-start .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-info .navbar-start .navbar-link.is-active,
-        html.theme--documenter-dark .navbar.is-info .navbar-end > a.navbar-item:focus,
-        html.theme--documenter-dark .navbar.is-info .navbar-end > a.navbar-item:hover,
-        html.theme--documenter-dark .navbar.is-info .navbar-end > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-info .navbar-end .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-info .navbar-end .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-info .navbar-end .navbar-link.is-active {
-          background-color: #023d64;
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-info .navbar-start .navbar-link::after,
-        html.theme--documenter-dark .navbar.is-info .navbar-end .navbar-link::after {
-          border-color: #fff; }
-        html.theme--documenter-dark .navbar.is-info .navbar-item.has-dropdown:focus .navbar-link,
-        html.theme--documenter-dark .navbar.is-info .navbar-item.has-dropdown:hover .navbar-link,
-        html.theme--documenter-dark .navbar.is-info .navbar-item.has-dropdown.is-active .navbar-link {
-          background-color: #023d64;
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-info .navbar-dropdown a.navbar-item.is-active {
-          background-color: #024c7d;
-          color: #fff; } }
-    html.theme--documenter-dark .navbar.is-success {
-      background-color: #008438;
-      color: #fff; }
-      html.theme--documenter-dark .navbar.is-success .navbar-brand > .navbar-item,
-      html.theme--documenter-dark .navbar.is-success .navbar-brand .navbar-link {
-        color: #fff; }
-      html.theme--documenter-dark .navbar.is-success .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-success .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-success .navbar-brand > a.navbar-item.is-active,
-      html.theme--documenter-dark .navbar.is-success .navbar-brand .navbar-link:focus,
-      html.theme--documenter-dark .navbar.is-success .navbar-brand .navbar-link:hover,
-      html.theme--documenter-dark .navbar.is-success .navbar-brand .navbar-link.is-active {
-        background-color: #006b2d;
-        color: #fff; }
-      html.theme--documenter-dark .navbar.is-success .navbar-brand .navbar-link::after {
-        border-color: #fff; }
-      html.theme--documenter-dark .navbar.is-success .navbar-burger {
-        color: #fff; }
-      @media screen and (min-width: 1056px) {
-        html.theme--documenter-dark .navbar.is-success .navbar-start > .navbar-item,
-        html.theme--documenter-dark .navbar.is-success .navbar-start .navbar-link,
-        html.theme--documenter-dark .navbar.is-success .navbar-end > .navbar-item,
-        html.theme--documenter-dark .navbar.is-success .navbar-end .navbar-link {
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-success .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-success .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-success .navbar-start > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-success .navbar-start .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-success .navbar-start .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-success .navbar-start .navbar-link.is-active,
-        html.theme--documenter-dark .navbar.is-success .navbar-end > a.navbar-item:focus,
-        html.theme--documenter-dark .navbar.is-success .navbar-end > a.navbar-item:hover,
-        html.theme--documenter-dark .navbar.is-success .navbar-end > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-success .navbar-end .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-success .navbar-end .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-success .navbar-end .navbar-link.is-active {
-          background-color: #006b2d;
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-success .navbar-start .navbar-link::after,
-        html.theme--documenter-dark .navbar.is-success .navbar-end .navbar-link::after {
-          border-color: #fff; }
-        html.theme--documenter-dark .navbar.is-success .navbar-item.has-dropdown:focus .navbar-link,
-        html.theme--documenter-dark .navbar.is-success .navbar-item.has-dropdown:hover .navbar-link,
-        html.theme--documenter-dark .navbar.is-success .navbar-item.has-dropdown.is-active .navbar-link {
-          background-color: #006b2d;
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-success .navbar-dropdown a.navbar-item.is-active {
-          background-color: #008438;
-          color: #fff; } }
-    html.theme--documenter-dark .navbar.is-warning {
-      background-color: #ad8100;
-      color: #fff; }
-      html.theme--documenter-dark .navbar.is-warning .navbar-brand > .navbar-item,
-      html.theme--documenter-dark .navbar.is-warning .navbar-brand .navbar-link {
-        color: #fff; }
-      html.theme--documenter-dark .navbar.is-warning .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-warning .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-warning .navbar-brand > a.navbar-item.is-active,
-      html.theme--documenter-dark .navbar.is-warning .navbar-brand .navbar-link:focus,
-      html.theme--documenter-dark .navbar.is-warning .navbar-brand .navbar-link:hover,
-      html.theme--documenter-dark .navbar.is-warning .navbar-brand .navbar-link.is-active {
-        background-color: #946e00;
-        color: #fff; }
-      html.theme--documenter-dark .navbar.is-warning .navbar-brand .navbar-link::after {
-        border-color: #fff; }
-      html.theme--documenter-dark .navbar.is-warning .navbar-burger {
-        color: #fff; }
-      @media screen and (min-width: 1056px) {
-        html.theme--documenter-dark .navbar.is-warning .navbar-start > .navbar-item,
-        html.theme--documenter-dark .navbar.is-warning .navbar-start .navbar-link,
-        html.theme--documenter-dark .navbar.is-warning .navbar-end > .navbar-item,
-        html.theme--documenter-dark .navbar.is-warning .navbar-end .navbar-link {
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-warning .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-warning .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-warning .navbar-start > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-warning .navbar-start .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-warning .navbar-start .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-warning .navbar-start .navbar-link.is-active,
-        html.theme--documenter-dark .navbar.is-warning .navbar-end > a.navbar-item:focus,
-        html.theme--documenter-dark .navbar.is-warning .navbar-end > a.navbar-item:hover,
-        html.theme--documenter-dark .navbar.is-warning .navbar-end > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-warning .navbar-end .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-warning .navbar-end .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-warning .navbar-end .navbar-link.is-active {
-          background-color: #946e00;
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-warning .navbar-start .navbar-link::after,
-        html.theme--documenter-dark .navbar.is-warning .navbar-end .navbar-link::after {
-          border-color: #fff; }
-        html.theme--documenter-dark .navbar.is-warning .navbar-item.has-dropdown:focus .navbar-link,
-        html.theme--documenter-dark .navbar.is-warning .navbar-item.has-dropdown:hover .navbar-link,
-        html.theme--documenter-dark .navbar.is-warning .navbar-item.has-dropdown.is-active .navbar-link {
-          background-color: #946e00;
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-warning .navbar-dropdown a.navbar-item.is-active {
-          background-color: #ad8100;
-          color: #fff; } }
-    html.theme--documenter-dark .navbar.is-danger {
-      background-color: #9e1b0d;
-      color: #fff; }
-      html.theme--documenter-dark .navbar.is-danger .navbar-brand > .navbar-item,
-      html.theme--documenter-dark .navbar.is-danger .navbar-brand .navbar-link {
-        color: #fff; }
-      html.theme--documenter-dark .navbar.is-danger .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-danger .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-danger .navbar-brand > a.navbar-item.is-active,
-      html.theme--documenter-dark .navbar.is-danger .navbar-brand .navbar-link:focus,
-      html.theme--documenter-dark .navbar.is-danger .navbar-brand .navbar-link:hover,
-      html.theme--documenter-dark .navbar.is-danger .navbar-brand .navbar-link.is-active {
-        background-color: #86170b;
-        color: #fff; }
-      html.theme--documenter-dark .navbar.is-danger .navbar-brand .navbar-link::after {
-        border-color: #fff; }
-      html.theme--documenter-dark .navbar.is-danger .navbar-burger {
-        color: #fff; }
-      @media screen and (min-width: 1056px) {
-        html.theme--documenter-dark .navbar.is-danger .navbar-start > .navbar-item,
-        html.theme--documenter-dark .navbar.is-danger .navbar-start .navbar-link,
-        html.theme--documenter-dark .navbar.is-danger .navbar-end > .navbar-item,
-        html.theme--documenter-dark .navbar.is-danger .navbar-end .navbar-link {
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-danger .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-danger .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-danger .navbar-start > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-danger .navbar-start .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-danger .navbar-start .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-danger .navbar-start .navbar-link.is-active,
-        html.theme--documenter-dark .navbar.is-danger .navbar-end > a.navbar-item:focus,
-        html.theme--documenter-dark .navbar.is-danger .navbar-end > a.navbar-item:hover,
-        html.theme--documenter-dark .navbar.is-danger .navbar-end > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-danger .navbar-end .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-danger .navbar-end .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-danger .navbar-end .navbar-link.is-active {
-          background-color: #86170b;
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-danger .navbar-start .navbar-link::after,
-        html.theme--documenter-dark .navbar.is-danger .navbar-end .navbar-link::after {
-          border-color: #fff; }
-        html.theme--documenter-dark .navbar.is-danger .navbar-item.has-dropdown:focus .navbar-link,
-        html.theme--documenter-dark .navbar.is-danger .navbar-item.has-dropdown:hover .navbar-link,
-        html.theme--documenter-dark .navbar.is-danger .navbar-item.has-dropdown.is-active .navbar-link {
-          background-color: #86170b;
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-danger .navbar-dropdown a.navbar-item.is-active {
-          background-color: #9e1b0d;
-          color: #fff; } }
-    html.theme--documenter-dark .navbar > .container {
-      align-items: stretch;
-      display: flex;
-      min-height: 4rem;
-      width: 100%; }
-    html.theme--documenter-dark .navbar.has-shadow {
-      box-shadow: 0 2px 0 0 #282f2f; }
-    html.theme--documenter-dark .navbar.is-fixed-bottom, html.theme--documenter-dark .navbar.is-fixed-top {
-      left: 0;
-      position: fixed;
-      right: 0;
-      z-index: 30; }
-    html.theme--documenter-dark .navbar.is-fixed-bottom {
-      bottom: 0; }
-      html.theme--documenter-dark .navbar.is-fixed-bottom.has-shadow {
-        box-shadow: 0 -2px 0 0 #282f2f; }
-    html.theme--documenter-dark .navbar.is-fixed-top {
-      top: 0; }
-  html.theme--documenter-dark html.has-navbar-fixed-top,
-  html.theme--documenter-dark body.has-navbar-fixed-top {
-    padding-top: 4rem; }
-  html.theme--documenter-dark html.has-navbar-fixed-bottom,
-  html.theme--documenter-dark body.has-navbar-fixed-bottom {
-    padding-bottom: 4rem; }
-  html.theme--documenter-dark .navbar-brand,
-  html.theme--documenter-dark .navbar-tabs {
-    align-items: stretch;
-    display: flex;
-    flex-shrink: 0;
-    min-height: 4rem; }
-  html.theme--documenter-dark .navbar-brand a.navbar-item:focus, html.theme--documenter-dark .navbar-brand a.navbar-item:hover {
-    background-color: transparent; }
-  html.theme--documenter-dark .navbar-tabs {
-    -webkit-overflow-scrolling: touch;
-    max-width: 100vw;
-    overflow-x: auto;
-    overflow-y: hidden; }
-  html.theme--documenter-dark .navbar-burger {
-    color: #fff;
-    cursor: pointer;
-    display: block;
-    height: 4rem;
-    position: relative;
-    width: 4rem;
-    margin-left: auto; }
-    html.theme--documenter-dark .navbar-burger span {
-      background-color: currentColor;
-      display: block;
-      height: 1px;
-      left: calc(50% - 8px);
-      position: absolute;
-      transform-origin: center;
-      transition-duration: 86ms;
-      transition-property: background-color, opacity, transform;
-      transition-timing-function: ease-out;
-      width: 16px; }
-      html.theme--documenter-dark .navbar-burger span:nth-child(1) {
-        top: calc(50% - 6px); }
-      html.theme--documenter-dark .navbar-burger span:nth-child(2) {
-        top: calc(50% - 1px); }
-      html.theme--documenter-dark .navbar-burger span:nth-child(3) {
-        top: calc(50% + 4px); }
-    html.theme--documenter-dark .navbar-burger:hover {
-      background-color: rgba(0, 0, 0, 0.05); }
-    html.theme--documenter-dark .navbar-burger.is-active span:nth-child(1) {
-      transform: translateY(5px) rotate(45deg); }
-    html.theme--documenter-dark .navbar-burger.is-active span:nth-child(2) {
-      opacity: 0; }
-    html.theme--documenter-dark .navbar-burger.is-active span:nth-child(3) {
-      transform: translateY(-5px) rotate(-45deg); }
-  html.theme--documenter-dark .navbar-menu {
-    display: none; }
-  html.theme--documenter-dark .navbar-item,
-  html.theme--documenter-dark .navbar-link {
-    color: #fff;
-    display: block;
-    line-height: 1.5;
-    padding: 0.5rem 0.75rem;
-    position: relative; }
-    html.theme--documenter-dark .navbar-item .icon:only-child,
-    html.theme--documenter-dark .navbar-link .icon:only-child {
-      margin-left: -0.25rem;
-      margin-right: -0.25rem; }
-  html.theme--documenter-dark a.navbar-item,
-  html.theme--documenter-dark .navbar-link {
-    cursor: pointer; }
-    html.theme--documenter-dark a.navbar-item:focus, html.theme--documenter-dark a.navbar-item:focus-within, html.theme--documenter-dark a.navbar-item:hover, html.theme--documenter-dark a.navbar-item.is-active,
-    html.theme--documenter-dark .navbar-link:focus,
-    html.theme--documenter-dark .navbar-link:focus-within,
-    html.theme--documenter-dark .navbar-link:hover,
-    html.theme--documenter-dark .navbar-link.is-active {
-      background-color: transparent;
-      color: #1abc9c; }
-  html.theme--documenter-dark .navbar-item {
-    display: block;
-    flex-grow: 0;
-    flex-shrink: 0; }
-    html.theme--documenter-dark .navbar-item img {
-      max-height: 1.75rem; }
-    html.theme--documenter-dark .navbar-item.has-dropdown {
-      padding: 0; }
-    html.theme--documenter-dark .navbar-item.is-expanded {
-      flex-grow: 1;
-      flex-shrink: 1; }
-    html.theme--documenter-dark .navbar-item.is-tab {
-      border-bottom: 1px solid transparent;
-      min-height: 4rem;
-      padding-bottom: calc(0.5rem - 1px); }
-      html.theme--documenter-dark .navbar-item.is-tab:focus, html.theme--documenter-dark .navbar-item.is-tab:hover {
-        background-color: transparent;
-        border-bottom-color: #1abc9c; }
-      html.theme--documenter-dark .navbar-item.is-tab.is-active {
-        background-color: transparent;
-        border-bottom-color: #1abc9c;
-        border-bottom-style: solid;
-        border-bottom-width: 3px;
-        color: #1abc9c;
-        padding-bottom: calc(0.5rem - 3px); }
-  html.theme--documenter-dark .navbar-content {
-    flex-grow: 1;
-    flex-shrink: 1; }
-  html.theme--documenter-dark .navbar-link:not(.is-arrowless) {
-    padding-right: 2.5em; }
-    html.theme--documenter-dark .navbar-link:not(.is-arrowless)::after {
-      border-color: #fff;
-      margin-top: -0.375em;
-      right: 1.125em; }
-  html.theme--documenter-dark .navbar-dropdown {
-    font-size: 0.875rem;
-    padding-bottom: 0.5rem;
-    padding-top: 0.5rem; }
-    html.theme--documenter-dark .navbar-dropdown .navbar-item {
-      padding-left: 1.5rem;
-      padding-right: 1.5rem; }
-  html.theme--documenter-dark .navbar-divider {
-    background-color: rgba(0, 0, 0, 0.2);
-    border: none;
-    display: none;
-    height: 2px;
-    margin: 0.5rem 0; }
-  @media screen and (max-width: 1055px) {
-    html.theme--documenter-dark .navbar > .container {
-      display: block; }
-    html.theme--documenter-dark .navbar-brand .navbar-item,
-    html.theme--documenter-dark .navbar-tabs .navbar-item {
-      align-items: center;
-      display: flex; }
-    html.theme--documenter-dark .navbar-link::after {
-      display: none; }
-    html.theme--documenter-dark .navbar-menu {
-      background-color: #375a7f;
-      box-shadow: 0 8px 16px rgba(10, 10, 10, 0.1);
-      padding: 0.5rem 0; }
-      html.theme--documenter-dark .navbar-menu.is-active {
-        display: block; }
-    html.theme--documenter-dark .navbar.is-fixed-bottom-touch, html.theme--documenter-dark .navbar.is-fixed-top-touch {
-      left: 0;
-      position: fixed;
-      right: 0;
-      z-index: 30; }
-    html.theme--documenter-dark .navbar.is-fixed-bottom-touch {
-      bottom: 0; }
-      html.theme--documenter-dark .navbar.is-fixed-bottom-touch.has-shadow {
-        box-shadow: 0 -2px 3px rgba(10, 10, 10, 0.1); }
-    html.theme--documenter-dark .navbar.is-fixed-top-touch {
-      top: 0; }
-    html.theme--documenter-dark .navbar.is-fixed-top .navbar-menu, html.theme--documenter-dark .navbar.is-fixed-top-touch .navbar-menu {
-      -webkit-overflow-scrolling: touch;
-      max-height: calc(100vh - 4rem);
-      overflow: auto; }
-    html.theme--documenter-dark html.has-navbar-fixed-top-touch,
-    html.theme--documenter-dark body.has-navbar-fixed-top-touch {
-      padding-top: 4rem; }
-    html.theme--documenter-dark html.has-navbar-fixed-bottom-touch,
-    html.theme--documenter-dark body.has-navbar-fixed-bottom-touch {
-      padding-bottom: 4rem; } }
-  @media screen and (min-width: 1056px) {
-    html.theme--documenter-dark .navbar,
-    html.theme--documenter-dark .navbar-menu,
-    html.theme--documenter-dark .navbar-start,
-    html.theme--documenter-dark .navbar-end {
-      align-items: stretch;
-      display: flex; }
-    html.theme--documenter-dark .navbar {
-      min-height: 4rem; }
-      html.theme--documenter-dark .navbar.is-spaced {
-        padding: 1rem 2rem; }
-        html.theme--documenter-dark .navbar.is-spaced .navbar-start,
-        html.theme--documenter-dark .navbar.is-spaced .navbar-end {
-          align-items: center; }
-        html.theme--documenter-dark .navbar.is-spaced a.navbar-item,
-        html.theme--documenter-dark .navbar.is-spaced .navbar-link {
-          border-radius: 0.4em; }
-      html.theme--documenter-dark .navbar.is-transparent a.navbar-item:focus, html.theme--documenter-dark .navbar.is-transparent a.navbar-item:hover, html.theme--documenter-dark .navbar.is-transparent a.navbar-item.is-active,
-      html.theme--documenter-dark .navbar.is-transparent .navbar-link:focus,
-      html.theme--documenter-dark .navbar.is-transparent .navbar-link:hover,
-      html.theme--documenter-dark .navbar.is-transparent .navbar-link.is-active {
-        background-color: transparent !important; }
-      html.theme--documenter-dark .navbar.is-transparent .navbar-item.has-dropdown.is-active .navbar-link, html.theme--documenter-dark .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus .navbar-link, html.theme--documenter-dark .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus-within .navbar-link, html.theme--documenter-dark .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:hover .navbar-link {
-        background-color: transparent !important; }
-      html.theme--documenter-dark .navbar.is-transparent .navbar-dropdown a.navbar-item:focus, html.theme--documenter-dark .navbar.is-transparent .navbar-dropdown a.navbar-item:hover {
-        background-color: transparent;
-        color: #dbdee0; }
-      html.theme--documenter-dark .navbar.is-transparent .navbar-dropdown a.navbar-item.is-active {
-        background-color: transparent;
-        color: #1abc9c; }
-    html.theme--documenter-dark .navbar-burger {
-      display: none; }
-    html.theme--documenter-dark .navbar-item,
-    html.theme--documenter-dark .navbar-link {
-      align-items: center;
-      display: flex; }
-    html.theme--documenter-dark .navbar-item {
-      display: flex; }
-      html.theme--documenter-dark .navbar-item.has-dropdown {
-        align-items: stretch; }
-      html.theme--documenter-dark .navbar-item.has-dropdown-up .navbar-link::after {
-        transform: rotate(135deg) translate(0.25em, -0.25em); }
-      html.theme--documenter-dark .navbar-item.has-dropdown-up .navbar-dropdown {
-        border-bottom: 1px solid rgba(0, 0, 0, 0.2);
-        border-radius: 8px 8px 0 0;
-        border-top: none;
-        bottom: 100%;
-        box-shadow: 0 -8px 8px rgba(10, 10, 10, 0.1);
-        top: auto; }
-      html.theme--documenter-dark .navbar-item.is-active .navbar-dropdown, html.theme--documenter-dark .navbar-item.is-hoverable:focus .navbar-dropdown, html.theme--documenter-dark .navbar-item.is-hoverable:focus-within .navbar-dropdown, html.theme--documenter-dark .navbar-item.is-hoverable:hover .navbar-dropdown {
-        display: block; }
-        .navbar.is-spaced html.theme--documenter-dark .navbar-item.is-active .navbar-dropdown, html.theme--documenter-dark .navbar-item.is-active .navbar-dropdown.is-boxed, .navbar.is-spaced html.theme--documenter-dark .navbar-item.is-hoverable:focus .navbar-dropdown, html.theme--documenter-dark .navbar-item.is-hoverable:focus .navbar-dropdown.is-boxed, .navbar.is-spaced html.theme--documenter-dark .navbar-item.is-hoverable:focus-within .navbar-dropdown, html.theme--documenter-dark .navbar-item.is-hoverable:focus-within .navbar-dropdown.is-boxed, .navbar.is-spaced html.theme--documenter-dark .navbar-item.is-hoverable:hover .navbar-dropdown, html.theme--documenter-dark .navbar-item.is-hoverable:hover .navbar-dropdown.is-boxed {
-          opacity: 1;
-          pointer-events: auto;
-          transform: translateY(0); }
-    html.theme--documenter-dark .navbar-menu {
-      flex-grow: 1;
-      flex-shrink: 0; }
-    html.theme--documenter-dark .navbar-start {
-      justify-content: flex-start;
-      margin-right: auto; }
-    html.theme--documenter-dark .navbar-end {
-      justify-content: flex-end;
-      margin-left: auto; }
-    html.theme--documenter-dark .navbar-dropdown {
-      background-color: #375a7f;
-      border-bottom-left-radius: 8px;
-      border-bottom-right-radius: 8px;
-      border-top: 1px solid rgba(0, 0, 0, 0.2);
-      box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1);
-      display: none;
-      font-size: 0.875rem;
-      left: 0;
-      min-width: 100%;
-      position: absolute;
-      top: 100%;
-      z-index: 20; }
-      html.theme--documenter-dark .navbar-dropdown .navbar-item {
-        padding: 0.375rem 1rem;
-        white-space: nowrap; }
-      html.theme--documenter-dark .navbar-dropdown a.navbar-item {
-        padding-right: 3rem; }
-        html.theme--documenter-dark .navbar-dropdown a.navbar-item:focus, html.theme--documenter-dark .navbar-dropdown a.navbar-item:hover {
-          background-color: transparent;
-          color: #dbdee0; }
-        html.theme--documenter-dark .navbar-dropdown a.navbar-item.is-active {
-          background-color: transparent;
-          color: #1abc9c; }
-      .navbar.is-spaced html.theme--documenter-dark .navbar-dropdown, html.theme--documenter-dark .navbar-dropdown.is-boxed {
-        border-radius: 8px;
-        border-top: none;
-        box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
-        display: block;
-        opacity: 0;
-        pointer-events: none;
-        top: calc(100% + (-4px));
-        transform: translateY(-5px);
-        transition-duration: 86ms;
-        transition-property: opacity, transform; }
-      html.theme--documenter-dark .navbar-dropdown.is-right {
-        left: auto;
-        right: 0; }
-    html.theme--documenter-dark .navbar-divider {
-      display: block; }
-    html.theme--documenter-dark .navbar > .container .navbar-brand,
-    html.theme--documenter-dark .container > .navbar .navbar-brand {
-      margin-left: -.75rem; }
-    html.theme--documenter-dark .navbar > .container .navbar-menu,
-    html.theme--documenter-dark .container > .navbar .navbar-menu {
-      margin-right: -.75rem; }
-    html.theme--documenter-dark .navbar.is-fixed-bottom-desktop, html.theme--documenter-dark .navbar.is-fixed-top-desktop {
-      left: 0;
-      position: fixed;
-      right: 0;
-      z-index: 30; }
-    html.theme--documenter-dark .navbar.is-fixed-bottom-desktop {
-      bottom: 0; }
-      html.theme--documenter-dark .navbar.is-fixed-bottom-desktop.has-shadow {
-        box-shadow: 0 -2px 3px rgba(10, 10, 10, 0.1); }
-    html.theme--documenter-dark .navbar.is-fixed-top-desktop {
-      top: 0; }
-    html.theme--documenter-dark html.has-navbar-fixed-top-desktop,
-    html.theme--documenter-dark body.has-navbar-fixed-top-desktop {
-      padding-top: 4rem; }
-    html.theme--documenter-dark html.has-navbar-fixed-bottom-desktop,
-    html.theme--documenter-dark body.has-navbar-fixed-bottom-desktop {
-      padding-bottom: 4rem; }
-    html.theme--documenter-dark html.has-spaced-navbar-fixed-top,
-    html.theme--documenter-dark body.has-spaced-navbar-fixed-top {
-      padding-top: 6rem; }
-    html.theme--documenter-dark html.has-spaced-navbar-fixed-bottom,
-    html.theme--documenter-dark body.has-spaced-navbar-fixed-bottom {
-      padding-bottom: 6rem; }
-    html.theme--documenter-dark a.navbar-item.is-active,
-    html.theme--documenter-dark .navbar-link.is-active {
-      color: #1abc9c; }
-    html.theme--documenter-dark a.navbar-item.is-active:not(:focus):not(:hover),
-    html.theme--documenter-dark .navbar-link.is-active:not(:focus):not(:hover) {
-      background-color: transparent; }
-    html.theme--documenter-dark .navbar-item.has-dropdown:focus .navbar-link, html.theme--documenter-dark .navbar-item.has-dropdown:hover .navbar-link, html.theme--documenter-dark .navbar-item.has-dropdown.is-active .navbar-link {
-      background-color: transparent; } }
-  html.theme--documenter-dark .hero.is-fullheight-with-navbar {
-    min-height: calc(100vh - 4rem); }
-  html.theme--documenter-dark .pagination {
-    font-size: 15px;
-    margin: -0.25rem; }
-    html.theme--documenter-dark .pagination.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.pagination {
-      font-size: 0.85em; }
-    html.theme--documenter-dark .pagination.is-medium {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .pagination.is-large {
-      font-size: 1.5rem; }
-    html.theme--documenter-dark .pagination.is-rounded .pagination-previous, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.pagination .pagination-previous,
-    html.theme--documenter-dark .pagination.is-rounded .pagination-next,
-    html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.pagination .pagination-next {
-      padding-left: 1em;
-      padding-right: 1em;
-      border-radius: 290486px; }
-    html.theme--documenter-dark .pagination.is-rounded .pagination-link, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.pagination .pagination-link {
-      border-radius: 290486px; }
-  html.theme--documenter-dark .pagination,
-  html.theme--documenter-dark .pagination-list {
-    align-items: center;
-    display: flex;
-    justify-content: center;
-    text-align: center; }
-  html.theme--documenter-dark .pagination-previous,
-  html.theme--documenter-dark .pagination-next,
-  html.theme--documenter-dark .pagination-link,
-  html.theme--documenter-dark .pagination-ellipsis {
-    font-size: 1em;
-    justify-content: center;
-    margin: 0.25rem;
-    padding-left: 0.5em;
-    padding-right: 0.5em;
-    text-align: center; }
-  html.theme--documenter-dark .pagination-previous,
-  html.theme--documenter-dark .pagination-next,
-  html.theme--documenter-dark .pagination-link {
-    border-color: #5e6d6f;
-    color: #1abc9c;
-    min-width: 2.25em; }
-    html.theme--documenter-dark .pagination-previous:hover,
-    html.theme--documenter-dark .pagination-next:hover,
-    html.theme--documenter-dark .pagination-link:hover {
-      border-color: #8c9b9d;
-      color: #1dd2af; }
-    html.theme--documenter-dark .pagination-previous:focus,
-    html.theme--documenter-dark .pagination-next:focus,
-    html.theme--documenter-dark .pagination-link:focus {
-      border-color: #8c9b9d; }
-    html.theme--documenter-dark .pagination-previous:active,
-    html.theme--documenter-dark .pagination-next:active,
-    html.theme--documenter-dark .pagination-link:active {
-      box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2); }
-    html.theme--documenter-dark .pagination-previous[disabled],
-    html.theme--documenter-dark .pagination-next[disabled],
-    html.theme--documenter-dark .pagination-link[disabled] {
-      background-color: #dbdee0;
-      border-color: #dbdee0;
-      box-shadow: none;
-      color: #5e6d6f;
-      opacity: 0.5; }
-  html.theme--documenter-dark .pagination-previous,
-  html.theme--documenter-dark .pagination-next {
-    padding-left: 0.75em;
-    padding-right: 0.75em;
-    white-space: nowrap; }
-  html.theme--documenter-dark .pagination-link.is-current {
-    background-color: #1abc9c;
-    border-color: #1abc9c;
-    color: #fff; }
-  html.theme--documenter-dark .pagination-ellipsis {
-    color: #8c9b9d;
-    pointer-events: none; }
-  html.theme--documenter-dark .pagination-list {
-    flex-wrap: wrap; }
-  @media screen and (max-width: 768px) {
-    html.theme--documenter-dark .pagination {
-      flex-wrap: wrap; }
-    html.theme--documenter-dark .pagination-previous,
-    html.theme--documenter-dark .pagination-next {
-      flex-grow: 1;
-      flex-shrink: 1; }
-    html.theme--documenter-dark .pagination-list li {
-      flex-grow: 1;
-      flex-shrink: 1; } }
-  @media screen and (min-width: 769px), print {
-    html.theme--documenter-dark .pagination-list {
-      flex-grow: 1;
-      flex-shrink: 1;
-      justify-content: flex-start;
-      order: 1; }
-    html.theme--documenter-dark .pagination-previous {
-      order: 2; }
-    html.theme--documenter-dark .pagination-next {
-      order: 3; }
-    html.theme--documenter-dark .pagination {
-      justify-content: space-between; }
-      html.theme--documenter-dark .pagination.is-centered .pagination-previous {
-        order: 1; }
-      html.theme--documenter-dark .pagination.is-centered .pagination-list {
-        justify-content: center;
-        order: 2; }
-      html.theme--documenter-dark .pagination.is-centered .pagination-next {
-        order: 3; }
-      html.theme--documenter-dark .pagination.is-right .pagination-previous {
-        order: 1; }
-      html.theme--documenter-dark .pagination.is-right .pagination-next {
-        order: 2; }
-      html.theme--documenter-dark .pagination.is-right .pagination-list {
-        justify-content: flex-end;
-        order: 3; } }
-  html.theme--documenter-dark .panel {
-    font-size: 15px; }
-    html.theme--documenter-dark .panel:not(:last-child) {
-      margin-bottom: 1.5rem; }
-  html.theme--documenter-dark .panel-heading,
-  html.theme--documenter-dark .panel-tabs,
-  html.theme--documenter-dark .panel-block {
-    border-bottom: 1px solid #5e6d6f;
-    border-left: 1px solid #5e6d6f;
-    border-right: 1px solid #5e6d6f; }
-    html.theme--documenter-dark .panel-heading:first-child,
-    html.theme--documenter-dark .panel-tabs:first-child,
-    html.theme--documenter-dark .panel-block:first-child {
-      border-top: 1px solid #5e6d6f; }
-  html.theme--documenter-dark .panel-heading {
-    background-color: #282f2f;
-    border-radius: 0.4em 0.4em 0 0;
-    color: #f2f2f2;
-    font-size: 1.25em;
-    font-weight: 300;
-    line-height: 1.25;
-    padding: 0.5em 0.75em; }
-  html.theme--documenter-dark .panel-tabs {
-    align-items: flex-end;
-    display: flex;
-    font-size: 0.875em;
-    justify-content: center; }
-    html.theme--documenter-dark .panel-tabs a {
-      border-bottom: 1px solid #5e6d6f;
-      margin-bottom: -1px;
-      padding: 0.5em; }
-      html.theme--documenter-dark .panel-tabs a.is-active {
-        border-bottom-color: #343c3d;
-        color: #17a689; }
-  html.theme--documenter-dark .panel-list a {
-    color: #fff; }
-    html.theme--documenter-dark .panel-list a:hover {
-      color: #1abc9c; }
-  html.theme--documenter-dark .panel-block {
-    align-items: center;
-    color: #f2f2f2;
-    display: flex;
-    justify-content: flex-start;
-    padding: 0.5em 0.75em; }
-    html.theme--documenter-dark .panel-block input[type="checkbox"] {
-      margin-right: 0.75em; }
-    html.theme--documenter-dark .panel-block > .control {
-      flex-grow: 1;
-      flex-shrink: 1;
-      width: 100%; }
-    html.theme--documenter-dark .panel-block.is-wrapped {
-      flex-wrap: wrap; }
-    html.theme--documenter-dark .panel-block.is-active {
-      border-left-color: #1abc9c;
-      color: #17a689; }
-      html.theme--documenter-dark .panel-block.is-active .panel-icon {
-        color: #1abc9c; }
-  html.theme--documenter-dark a.panel-block,
-  html.theme--documenter-dark label.panel-block {
-    cursor: pointer; }
-    html.theme--documenter-dark a.panel-block:hover,
-    html.theme--documenter-dark label.panel-block:hover {
-      background-color: #282f2f; }
-  html.theme--documenter-dark .panel-icon {
-    display: inline-block;
-    font-size: 14px;
-    height: 1em;
-    line-height: 1em;
-    text-align: center;
-    vertical-align: top;
-    width: 1em;
-    color: white;
-    margin-right: 0.75em; }
-    html.theme--documenter-dark .panel-icon .fa {
-      font-size: inherit;
-      line-height: inherit; }
-  html.theme--documenter-dark .tabs {
-    -webkit-overflow-scrolling: touch;
-    align-items: stretch;
-    display: flex;
-    font-size: 15px;
-    justify-content: space-between;
-    overflow: hidden;
-    overflow-x: auto;
-    white-space: nowrap; }
-    html.theme--documenter-dark .tabs a {
-      align-items: center;
-      border-bottom-color: #5e6d6f;
-      border-bottom-style: solid;
-      border-bottom-width: 1px;
-      color: #fff;
-      display: flex;
-      justify-content: center;
-      margin-bottom: -1px;
-      padding: 0.5em 1em;
-      vertical-align: top; }
-      html.theme--documenter-dark .tabs a:hover {
-        border-bottom-color: #f2f2f2;
-        color: #f2f2f2; }
-    html.theme--documenter-dark .tabs li {
-      display: block; }
-      html.theme--documenter-dark .tabs li.is-active a {
-        border-bottom-color: #1abc9c;
-        color: #1abc9c; }
-    html.theme--documenter-dark .tabs ul {
-      align-items: center;
-      border-bottom-color: #5e6d6f;
-      border-bottom-style: solid;
-      border-bottom-width: 1px;
-      display: flex;
-      flex-grow: 1;
-      flex-shrink: 0;
-      justify-content: flex-start; }
-      html.theme--documenter-dark .tabs ul.is-left {
-        padding-right: 0.75em; }
-      html.theme--documenter-dark .tabs ul.is-center {
-        flex: none;
-        justify-content: center;
-        padding-left: 0.75em;
-        padding-right: 0.75em; }
-      html.theme--documenter-dark .tabs ul.is-right {
-        justify-content: flex-end;
-        padding-left: 0.75em; }
-    html.theme--documenter-dark .tabs .icon:first-child {
-      margin-right: 0.5em; }
-    html.theme--documenter-dark .tabs .icon:last-child {
-      margin-left: 0.5em; }
-    html.theme--documenter-dark .tabs.is-centered ul {
-      justify-content: center; }
-    html.theme--documenter-dark .tabs.is-right ul {
-      justify-content: flex-end; }
-    html.theme--documenter-dark .tabs.is-boxed a {
-      border: 1px solid transparent;
-      border-radius: 0.4em 0.4em 0 0; }
-      html.theme--documenter-dark .tabs.is-boxed a:hover {
-        background-color: #282f2f;
-        border-bottom-color: #5e6d6f; }
-    html.theme--documenter-dark .tabs.is-boxed li.is-active a {
-      background-color: white;
-      border-color: #5e6d6f;
-      border-bottom-color: transparent !important; }
-    html.theme--documenter-dark .tabs.is-fullwidth li {
-      flex-grow: 1;
-      flex-shrink: 0; }
-    html.theme--documenter-dark .tabs.is-toggle a {
-      border-color: #5e6d6f;
-      border-style: solid;
-      border-width: 1px;
-      margin-bottom: 0;
-      position: relative; }
-      html.theme--documenter-dark .tabs.is-toggle a:hover {
-        background-color: #282f2f;
-        border-color: #8c9b9d;
-        z-index: 2; }
-    html.theme--documenter-dark .tabs.is-toggle li + li {
-      margin-left: -1px; }
-    html.theme--documenter-dark .tabs.is-toggle li:first-child a {
-      border-radius: 0.4em 0 0 0.4em; }
-    html.theme--documenter-dark .tabs.is-toggle li:last-child a {
-      border-radius: 0 0.4em 0.4em 0; }
-    html.theme--documenter-dark .tabs.is-toggle li.is-active a {
-      background-color: #1abc9c;
-      border-color: #1abc9c;
-      color: #fff;
-      z-index: 1; }
-    html.theme--documenter-dark .tabs.is-toggle ul {
-      border-bottom: none; }
-    html.theme--documenter-dark .tabs.is-toggle.is-toggle-rounded li:first-child a {
-      border-bottom-left-radius: 290486px;
-      border-top-left-radius: 290486px;
-      padding-left: 1.25em; }
-    html.theme--documenter-dark .tabs.is-toggle.is-toggle-rounded li:last-child a {
-      border-bottom-right-radius: 290486px;
-      border-top-right-radius: 290486px;
-      padding-right: 1.25em; }
-    html.theme--documenter-dark .tabs.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.tabs {
-      font-size: 0.85em; }
-    html.theme--documenter-dark .tabs.is-medium {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .tabs.is-large {
-      font-size: 1.5rem; }
-  html.theme--documenter-dark .column {
-    display: block;
-    flex-basis: 0;
-    flex-grow: 1;
-    flex-shrink: 1;
-    padding: 0.75rem; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-narrow {
-      flex: none; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-full {
-      flex: none;
-      width: 100%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-three-quarters {
-      flex: none;
-      width: 75%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-two-thirds {
-      flex: none;
-      width: 66.6666%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-half {
-      flex: none;
-      width: 50%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-one-third {
-      flex: none;
-      width: 33.3333%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-one-quarter {
-      flex: none;
-      width: 25%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-one-fifth {
-      flex: none;
-      width: 20%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-two-fifths {
-      flex: none;
-      width: 40%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-three-fifths {
-      flex: none;
-      width: 60%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-four-fifths {
-      flex: none;
-      width: 80%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-three-quarters {
-      margin-left: 75%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-two-thirds {
-      margin-left: 66.6666%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-half {
-      margin-left: 50%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-one-third {
-      margin-left: 33.3333%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-one-quarter {
-      margin-left: 25%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-one-fifth {
-      margin-left: 20%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-two-fifths {
-      margin-left: 40%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-three-fifths {
-      margin-left: 60%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-four-fifths {
-      margin-left: 80%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-0 {
-      flex: none;
-      width: 0%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-0 {
-      margin-left: 0%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-1 {
-      flex: none;
-      width: 8.3333333333%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-1 {
-      margin-left: 8.3333333333%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-2 {
-      flex: none;
-      width: 16.6666666667%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-2 {
-      margin-left: 16.6666666667%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-3 {
-      flex: none;
-      width: 25%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-3 {
-      margin-left: 25%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-4 {
-      flex: none;
-      width: 33.3333333333%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-4 {
-      margin-left: 33.3333333333%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-5 {
-      flex: none;
-      width: 41.6666666667%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-5 {
-      margin-left: 41.6666666667%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-6 {
-      flex: none;
-      width: 50%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-6 {
-      margin-left: 50%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-7 {
-      flex: none;
-      width: 58.3333333333%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-7 {
-      margin-left: 58.3333333333%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-8 {
-      flex: none;
-      width: 66.6666666667%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-8 {
-      margin-left: 66.6666666667%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-9 {
-      flex: none;
-      width: 75%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-9 {
-      margin-left: 75%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-10 {
-      flex: none;
-      width: 83.3333333333%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-10 {
-      margin-left: 83.3333333333%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-11 {
-      flex: none;
-      width: 91.6666666667%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-11 {
-      margin-left: 91.6666666667%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-12 {
-      flex: none;
-      width: 100%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-12 {
-      margin-left: 100%; }
-    @media screen and (max-width: 768px) {
-      html.theme--documenter-dark .column.is-narrow-mobile {
-        flex: none; }
-      html.theme--documenter-dark .column.is-full-mobile {
-        flex: none;
-        width: 100%; }
-      html.theme--documenter-dark .column.is-three-quarters-mobile {
-        flex: none;
-        width: 75%; }
-      html.theme--documenter-dark .column.is-two-thirds-mobile {
-        flex: none;
-        width: 66.6666%; }
-      html.theme--documenter-dark .column.is-half-mobile {
-        flex: none;
-        width: 50%; }
-      html.theme--documenter-dark .column.is-one-third-mobile {
-        flex: none;
-        width: 33.3333%; }
-      html.theme--documenter-dark .column.is-one-quarter-mobile {
-        flex: none;
-        width: 25%; }
-      html.theme--documenter-dark .column.is-one-fifth-mobile {
-        flex: none;
-        width: 20%; }
-      html.theme--documenter-dark .column.is-two-fifths-mobile {
-        flex: none;
-        width: 40%; }
-      html.theme--documenter-dark .column.is-three-fifths-mobile {
-        flex: none;
-        width: 60%; }
-      html.theme--documenter-dark .column.is-four-fifths-mobile {
-        flex: none;
-        width: 80%; }
-      html.theme--documenter-dark .column.is-offset-three-quarters-mobile {
-        margin-left: 75%; }
-      html.theme--documenter-dark .column.is-offset-two-thirds-mobile {
-        margin-left: 66.6666%; }
-      html.theme--documenter-dark .column.is-offset-half-mobile {
-        margin-left: 50%; }
-      html.theme--documenter-dark .column.is-offset-one-third-mobile {
-        margin-left: 33.3333%; }
-      html.theme--documenter-dark .column.is-offset-one-quarter-mobile {
-        margin-left: 25%; }
-      html.theme--documenter-dark .column.is-offset-one-fifth-mobile {
-        margin-left: 20%; }
-      html.theme--documenter-dark .column.is-offset-two-fifths-mobile {
-        margin-left: 40%; }
-      html.theme--documenter-dark .column.is-offset-three-fifths-mobile {
-        margin-left: 60%; }
-      html.theme--documenter-dark .column.is-offset-four-fifths-mobile {
-        margin-left: 80%; }
-      html.theme--documenter-dark .column.is-0-mobile {
-        flex: none;
-        width: 0%; }
-      html.theme--documenter-dark .column.is-offset-0-mobile {
-        margin-left: 0%; }
-      html.theme--documenter-dark .column.is-1-mobile {
-        flex: none;
-        width: 8.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-1-mobile {
-        margin-left: 8.3333333333%; }
-      html.theme--documenter-dark .column.is-2-mobile {
-        flex: none;
-        width: 16.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-2-mobile {
-        margin-left: 16.6666666667%; }
-      html.theme--documenter-dark .column.is-3-mobile {
-        flex: none;
-        width: 25%; }
-      html.theme--documenter-dark .column.is-offset-3-mobile {
-        margin-left: 25%; }
-      html.theme--documenter-dark .column.is-4-mobile {
-        flex: none;
-        width: 33.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-4-mobile {
-        margin-left: 33.3333333333%; }
-      html.theme--documenter-dark .column.is-5-mobile {
-        flex: none;
-        width: 41.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-5-mobile {
-        margin-left: 41.6666666667%; }
-      html.theme--documenter-dark .column.is-6-mobile {
-        flex: none;
-        width: 50%; }
-      html.theme--documenter-dark .column.is-offset-6-mobile {
-        margin-left: 50%; }
-      html.theme--documenter-dark .column.is-7-mobile {
-        flex: none;
-        width: 58.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-7-mobile {
-        margin-left: 58.3333333333%; }
-      html.theme--documenter-dark .column.is-8-mobile {
-        flex: none;
-        width: 66.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-8-mobile {
-        margin-left: 66.6666666667%; }
-      html.theme--documenter-dark .column.is-9-mobile {
-        flex: none;
-        width: 75%; }
-      html.theme--documenter-dark .column.is-offset-9-mobile {
-        margin-left: 75%; }
-      html.theme--documenter-dark .column.is-10-mobile {
-        flex: none;
-        width: 83.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-10-mobile {
-        margin-left: 83.3333333333%; }
-      html.theme--documenter-dark .column.is-11-mobile {
-        flex: none;
-        width: 91.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-11-mobile {
-        margin-left: 91.6666666667%; }
-      html.theme--documenter-dark .column.is-12-mobile {
-        flex: none;
-        width: 100%; }
-      html.theme--documenter-dark .column.is-offset-12-mobile {
-        margin-left: 100%; } }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .column.is-narrow, html.theme--documenter-dark .column.is-narrow-tablet {
-        flex: none; }
-      html.theme--documenter-dark .column.is-full, html.theme--documenter-dark .column.is-full-tablet {
-        flex: none;
-        width: 100%; }
-      html.theme--documenter-dark .column.is-three-quarters, html.theme--documenter-dark .column.is-three-quarters-tablet {
-        flex: none;
-        width: 75%; }
-      html.theme--documenter-dark .column.is-two-thirds, html.theme--documenter-dark .column.is-two-thirds-tablet {
-        flex: none;
-        width: 66.6666%; }
-      html.theme--documenter-dark .column.is-half, html.theme--documenter-dark .column.is-half-tablet {
-        flex: none;
-        width: 50%; }
-      html.theme--documenter-dark .column.is-one-third, html.theme--documenter-dark .column.is-one-third-tablet {
-        flex: none;
-        width: 33.3333%; }
-      html.theme--documenter-dark .column.is-one-quarter, html.theme--documenter-dark .column.is-one-quarter-tablet {
-        flex: none;
-        width: 25%; }
-      html.theme--documenter-dark .column.is-one-fifth, html.theme--documenter-dark .column.is-one-fifth-tablet {
-        flex: none;
-        width: 20%; }
-      html.theme--documenter-dark .column.is-two-fifths, html.theme--documenter-dark .column.is-two-fifths-tablet {
-        flex: none;
-        width: 40%; }
-      html.theme--documenter-dark .column.is-three-fifths, html.theme--documenter-dark .column.is-three-fifths-tablet {
-        flex: none;
-        width: 60%; }
-      html.theme--documenter-dark .column.is-four-fifths, html.theme--documenter-dark .column.is-four-fifths-tablet {
-        flex: none;
-        width: 80%; }
-      html.theme--documenter-dark .column.is-offset-three-quarters, html.theme--documenter-dark .column.is-offset-three-quarters-tablet {
-        margin-left: 75%; }
-      html.theme--documenter-dark .column.is-offset-two-thirds, html.theme--documenter-dark .column.is-offset-two-thirds-tablet {
-        margin-left: 66.6666%; }
-      html.theme--documenter-dark .column.is-offset-half, html.theme--documenter-dark .column.is-offset-half-tablet {
-        margin-left: 50%; }
-      html.theme--documenter-dark .column.is-offset-one-third, html.theme--documenter-dark .column.is-offset-one-third-tablet {
-        margin-left: 33.3333%; }
-      html.theme--documenter-dark .column.is-offset-one-quarter, html.theme--documenter-dark .column.is-offset-one-quarter-tablet {
-        margin-left: 25%; }
-      html.theme--documenter-dark .column.is-offset-one-fifth, html.theme--documenter-dark .column.is-offset-one-fifth-tablet {
-        margin-left: 20%; }
-      html.theme--documenter-dark .column.is-offset-two-fifths, html.theme--documenter-dark .column.is-offset-two-fifths-tablet {
-        margin-left: 40%; }
-      html.theme--documenter-dark .column.is-offset-three-fifths, html.theme--documenter-dark .column.is-offset-three-fifths-tablet {
-        margin-left: 60%; }
-      html.theme--documenter-dark .column.is-offset-four-fifths, html.theme--documenter-dark .column.is-offset-four-fifths-tablet {
-        margin-left: 80%; }
-      html.theme--documenter-dark .column.is-0, html.theme--documenter-dark .column.is-0-tablet {
-        flex: none;
-        width: 0%; }
-      html.theme--documenter-dark .column.is-offset-0, html.theme--documenter-dark .column.is-offset-0-tablet {
-        margin-left: 0%; }
-      html.theme--documenter-dark .column.is-1, html.theme--documenter-dark .column.is-1-tablet {
-        flex: none;
-        width: 8.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-1, html.theme--documenter-dark .column.is-offset-1-tablet {
-        margin-left: 8.3333333333%; }
-      html.theme--documenter-dark .column.is-2, html.theme--documenter-dark .column.is-2-tablet {
-        flex: none;
-        width: 16.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-2, html.theme--documenter-dark .column.is-offset-2-tablet {
-        margin-left: 16.6666666667%; }
-      html.theme--documenter-dark .column.is-3, html.theme--documenter-dark .column.is-3-tablet {
-        flex: none;
-        width: 25%; }
-      html.theme--documenter-dark .column.is-offset-3, html.theme--documenter-dark .column.is-offset-3-tablet {
-        margin-left: 25%; }
-      html.theme--documenter-dark .column.is-4, html.theme--documenter-dark .column.is-4-tablet {
-        flex: none;
-        width: 33.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-4, html.theme--documenter-dark .column.is-offset-4-tablet {
-        margin-left: 33.3333333333%; }
-      html.theme--documenter-dark .column.is-5, html.theme--documenter-dark .column.is-5-tablet {
-        flex: none;
-        width: 41.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-5, html.theme--documenter-dark .column.is-offset-5-tablet {
-        margin-left: 41.6666666667%; }
-      html.theme--documenter-dark .column.is-6, html.theme--documenter-dark .column.is-6-tablet {
-        flex: none;
-        width: 50%; }
-      html.theme--documenter-dark .column.is-offset-6, html.theme--documenter-dark .column.is-offset-6-tablet {
-        margin-left: 50%; }
-      html.theme--documenter-dark .column.is-7, html.theme--documenter-dark .column.is-7-tablet {
-        flex: none;
-        width: 58.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-7, html.theme--documenter-dark .column.is-offset-7-tablet {
-        margin-left: 58.3333333333%; }
-      html.theme--documenter-dark .column.is-8, html.theme--documenter-dark .column.is-8-tablet {
-        flex: none;
-        width: 66.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-8, html.theme--documenter-dark .column.is-offset-8-tablet {
-        margin-left: 66.6666666667%; }
-      html.theme--documenter-dark .column.is-9, html.theme--documenter-dark .column.is-9-tablet {
-        flex: none;
-        width: 75%; }
-      html.theme--documenter-dark .column.is-offset-9, html.theme--documenter-dark .column.is-offset-9-tablet {
-        margin-left: 75%; }
-      html.theme--documenter-dark .column.is-10, html.theme--documenter-dark .column.is-10-tablet {
-        flex: none;
-        width: 83.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-10, html.theme--documenter-dark .column.is-offset-10-tablet {
-        margin-left: 83.3333333333%; }
-      html.theme--documenter-dark .column.is-11, html.theme--documenter-dark .column.is-11-tablet {
-        flex: none;
-        width: 91.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-11, html.theme--documenter-dark .column.is-offset-11-tablet {
-        margin-left: 91.6666666667%; }
-      html.theme--documenter-dark .column.is-12, html.theme--documenter-dark .column.is-12-tablet {
-        flex: none;
-        width: 100%; }
-      html.theme--documenter-dark .column.is-offset-12, html.theme--documenter-dark .column.is-offset-12-tablet {
-        margin-left: 100%; } }
-    @media screen and (max-width: 1055px) {
-      html.theme--documenter-dark .column.is-narrow-touch {
-        flex: none; }
-      html.theme--documenter-dark .column.is-full-touch {
-        flex: none;
-        width: 100%; }
-      html.theme--documenter-dark .column.is-three-quarters-touch {
-        flex: none;
-        width: 75%; }
-      html.theme--documenter-dark .column.is-two-thirds-touch {
-        flex: none;
-        width: 66.6666%; }
-      html.theme--documenter-dark .column.is-half-touch {
-        flex: none;
-        width: 50%; }
-      html.theme--documenter-dark .column.is-one-third-touch {
-        flex: none;
-        width: 33.3333%; }
-      html.theme--documenter-dark .column.is-one-quarter-touch {
-        flex: none;
-        width: 25%; }
-      html.theme--documenter-dark .column.is-one-fifth-touch {
-        flex: none;
-        width: 20%; }
-      html.theme--documenter-dark .column.is-two-fifths-touch {
-        flex: none;
-        width: 40%; }
-      html.theme--documenter-dark .column.is-three-fifths-touch {
-        flex: none;
-        width: 60%; }
-      html.theme--documenter-dark .column.is-four-fifths-touch {
-        flex: none;
-        width: 80%; }
-      html.theme--documenter-dark .column.is-offset-three-quarters-touch {
-        margin-left: 75%; }
-      html.theme--documenter-dark .column.is-offset-two-thirds-touch {
-        margin-left: 66.6666%; }
-      html.theme--documenter-dark .column.is-offset-half-touch {
-        margin-left: 50%; }
-      html.theme--documenter-dark .column.is-offset-one-third-touch {
-        margin-left: 33.3333%; }
-      html.theme--documenter-dark .column.is-offset-one-quarter-touch {
-        margin-left: 25%; }
-      html.theme--documenter-dark .column.is-offset-one-fifth-touch {
-        margin-left: 20%; }
-      html.theme--documenter-dark .column.is-offset-two-fifths-touch {
-        margin-left: 40%; }
-      html.theme--documenter-dark .column.is-offset-three-fifths-touch {
-        margin-left: 60%; }
-      html.theme--documenter-dark .column.is-offset-four-fifths-touch {
-        margin-left: 80%; }
-      html.theme--documenter-dark .column.is-0-touch {
-        flex: none;
-        width: 0%; }
-      html.theme--documenter-dark .column.is-offset-0-touch {
-        margin-left: 0%; }
-      html.theme--documenter-dark .column.is-1-touch {
-        flex: none;
-        width: 8.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-1-touch {
-        margin-left: 8.3333333333%; }
-      html.theme--documenter-dark .column.is-2-touch {
-        flex: none;
-        width: 16.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-2-touch {
-        margin-left: 16.6666666667%; }
-      html.theme--documenter-dark .column.is-3-touch {
-        flex: none;
-        width: 25%; }
-      html.theme--documenter-dark .column.is-offset-3-touch {
-        margin-left: 25%; }
-      html.theme--documenter-dark .column.is-4-touch {
-        flex: none;
-        width: 33.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-4-touch {
-        margin-left: 33.3333333333%; }
-      html.theme--documenter-dark .column.is-5-touch {
-        flex: none;
-        width: 41.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-5-touch {
-        margin-left: 41.6666666667%; }
-      html.theme--documenter-dark .column.is-6-touch {
-        flex: none;
-        width: 50%; }
-      html.theme--documenter-dark .column.is-offset-6-touch {
-        margin-left: 50%; }
-      html.theme--documenter-dark .column.is-7-touch {
-        flex: none;
-        width: 58.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-7-touch {
-        margin-left: 58.3333333333%; }
-      html.theme--documenter-dark .column.is-8-touch {
-        flex: none;
-        width: 66.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-8-touch {
-        margin-left: 66.6666666667%; }
-      html.theme--documenter-dark .column.is-9-touch {
-        flex: none;
-        width: 75%; }
-      html.theme--documenter-dark .column.is-offset-9-touch {
-        margin-left: 75%; }
-      html.theme--documenter-dark .column.is-10-touch {
-        flex: none;
-        width: 83.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-10-touch {
-        margin-left: 83.3333333333%; }
-      html.theme--documenter-dark .column.is-11-touch {
-        flex: none;
-        width: 91.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-11-touch {
-        margin-left: 91.6666666667%; }
-      html.theme--documenter-dark .column.is-12-touch {
-        flex: none;
-        width: 100%; }
-      html.theme--documenter-dark .column.is-offset-12-touch {
-        margin-left: 100%; } }
-    @media screen and (min-width: 1056px) {
-      html.theme--documenter-dark .column.is-narrow-desktop {
-        flex: none; }
-      html.theme--documenter-dark .column.is-full-desktop {
-        flex: none;
-        width: 100%; }
-      html.theme--documenter-dark .column.is-three-quarters-desktop {
-        flex: none;
-        width: 75%; }
-      html.theme--documenter-dark .column.is-two-thirds-desktop {
-        flex: none;
-        width: 66.6666%; }
-      html.theme--documenter-dark .column.is-half-desktop {
-        flex: none;
-        width: 50%; }
-      html.theme--documenter-dark .column.is-one-third-desktop {
-        flex: none;
-        width: 33.3333%; }
-      html.theme--documenter-dark .column.is-one-quarter-desktop {
-        flex: none;
-        width: 25%; }
-      html.theme--documenter-dark .column.is-one-fifth-desktop {
-        flex: none;
-        width: 20%; }
-      html.theme--documenter-dark .column.is-two-fifths-desktop {
-        flex: none;
-        width: 40%; }
-      html.theme--documenter-dark .column.is-three-fifths-desktop {
-        flex: none;
-        width: 60%; }
-      html.theme--documenter-dark .column.is-four-fifths-desktop {
-        flex: none;
-        width: 80%; }
-      html.theme--documenter-dark .column.is-offset-three-quarters-desktop {
-        margin-left: 75%; }
-      html.theme--documenter-dark .column.is-offset-two-thirds-desktop {
-        margin-left: 66.6666%; }
-      html.theme--documenter-dark .column.is-offset-half-desktop {
-        margin-left: 50%; }
-      html.theme--documenter-dark .column.is-offset-one-third-desktop {
-        margin-left: 33.3333%; }
-      html.theme--documenter-dark .column.is-offset-one-quarter-desktop {
-        margin-left: 25%; }
-      html.theme--documenter-dark .column.is-offset-one-fifth-desktop {
-        margin-left: 20%; }
-      html.theme--documenter-dark .column.is-offset-two-fifths-desktop {
-        margin-left: 40%; }
-      html.theme--documenter-dark .column.is-offset-three-fifths-desktop {
-        margin-left: 60%; }
-      html.theme--documenter-dark .column.is-offset-four-fifths-desktop {
-        margin-left: 80%; }
-      html.theme--documenter-dark .column.is-0-desktop {
-        flex: none;
-        width: 0%; }
-      html.theme--documenter-dark .column.is-offset-0-desktop {
-        margin-left: 0%; }
-      html.theme--documenter-dark .column.is-1-desktop {
-        flex: none;
-        width: 8.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-1-desktop {
-        margin-left: 8.3333333333%; }
-      html.theme--documenter-dark .column.is-2-desktop {
-        flex: none;
-        width: 16.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-2-desktop {
-        margin-left: 16.6666666667%; }
-      html.theme--documenter-dark .column.is-3-desktop {
-        flex: none;
-        width: 25%; }
-      html.theme--documenter-dark .column.is-offset-3-desktop {
-        margin-left: 25%; }
-      html.theme--documenter-dark .column.is-4-desktop {
-        flex: none;
-        width: 33.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-4-desktop {
-        margin-left: 33.3333333333%; }
-      html.theme--documenter-dark .column.is-5-desktop {
-        flex: none;
-        width: 41.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-5-desktop {
-        margin-left: 41.6666666667%; }
-      html.theme--documenter-dark .column.is-6-desktop {
-        flex: none;
-        width: 50%; }
-      html.theme--documenter-dark .column.is-offset-6-desktop {
-        margin-left: 50%; }
-      html.theme--documenter-dark .column.is-7-desktop {
-        flex: none;
-        width: 58.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-7-desktop {
-        margin-left: 58.3333333333%; }
-      html.theme--documenter-dark .column.is-8-desktop {
-        flex: none;
-        width: 66.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-8-desktop {
-        margin-left: 66.6666666667%; }
-      html.theme--documenter-dark .column.is-9-desktop {
-        flex: none;
-        width: 75%; }
-      html.theme--documenter-dark .column.is-offset-9-desktop {
-        margin-left: 75%; }
-      html.theme--documenter-dark .column.is-10-desktop {
-        flex: none;
-        width: 83.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-10-desktop {
-        margin-left: 83.3333333333%; }
-      html.theme--documenter-dark .column.is-11-desktop {
-        flex: none;
-        width: 91.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-11-desktop {
-        margin-left: 91.6666666667%; }
-      html.theme--documenter-dark .column.is-12-desktop {
-        flex: none;
-        width: 100%; }
-      html.theme--documenter-dark .column.is-offset-12-desktop {
-        margin-left: 100%; } }
-    @media screen and (min-width: 1216px) {
-      html.theme--documenter-dark .column.is-narrow-widescreen {
-        flex: none; }
-      html.theme--documenter-dark .column.is-full-widescreen {
-        flex: none;
-        width: 100%; }
-      html.theme--documenter-dark .column.is-three-quarters-widescreen {
-        flex: none;
-        width: 75%; }
-      html.theme--documenter-dark .column.is-two-thirds-widescreen {
-        flex: none;
-        width: 66.6666%; }
-      html.theme--documenter-dark .column.is-half-widescreen {
-        flex: none;
-        width: 50%; }
-      html.theme--documenter-dark .column.is-one-third-widescreen {
-        flex: none;
-        width: 33.3333%; }
-      html.theme--documenter-dark .column.is-one-quarter-widescreen {
-        flex: none;
-        width: 25%; }
-      html.theme--documenter-dark .column.is-one-fifth-widescreen {
-        flex: none;
-        width: 20%; }
-      html.theme--documenter-dark .column.is-two-fifths-widescreen {
-        flex: none;
-        width: 40%; }
-      html.theme--documenter-dark .column.is-three-fifths-widescreen {
-        flex: none;
-        width: 60%; }
-      html.theme--documenter-dark .column.is-four-fifths-widescreen {
-        flex: none;
-        width: 80%; }
-      html.theme--documenter-dark .column.is-offset-three-quarters-widescreen {
-        margin-left: 75%; }
-      html.theme--documenter-dark .column.is-offset-two-thirds-widescreen {
-        margin-left: 66.6666%; }
-      html.theme--documenter-dark .column.is-offset-half-widescreen {
-        margin-left: 50%; }
-      html.theme--documenter-dark .column.is-offset-one-third-widescreen {
-        margin-left: 33.3333%; }
-      html.theme--documenter-dark .column.is-offset-one-quarter-widescreen {
-        margin-left: 25%; }
-      html.theme--documenter-dark .column.is-offset-one-fifth-widescreen {
-        margin-left: 20%; }
-      html.theme--documenter-dark .column.is-offset-two-fifths-widescreen {
-        margin-left: 40%; }
-      html.theme--documenter-dark .column.is-offset-three-fifths-widescreen {
-        margin-left: 60%; }
-      html.theme--documenter-dark .column.is-offset-four-fifths-widescreen {
-        margin-left: 80%; }
-      html.theme--documenter-dark .column.is-0-widescreen {
-        flex: none;
-        width: 0%; }
-      html.theme--documenter-dark .column.is-offset-0-widescreen {
-        margin-left: 0%; }
-      html.theme--documenter-dark .column.is-1-widescreen {
-        flex: none;
-        width: 8.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-1-widescreen {
-        margin-left: 8.3333333333%; }
-      html.theme--documenter-dark .column.is-2-widescreen {
-        flex: none;
-        width: 16.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-2-widescreen {
-        margin-left: 16.6666666667%; }
-      html.theme--documenter-dark .column.is-3-widescreen {
-        flex: none;
-        width: 25%; }
-      html.theme--documenter-dark .column.is-offset-3-widescreen {
-        margin-left: 25%; }
-      html.theme--documenter-dark .column.is-4-widescreen {
-        flex: none;
-        width: 33.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-4-widescreen {
-        margin-left: 33.3333333333%; }
-      html.theme--documenter-dark .column.is-5-widescreen {
-        flex: none;
-        width: 41.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-5-widescreen {
-        margin-left: 41.6666666667%; }
-      html.theme--documenter-dark .column.is-6-widescreen {
-        flex: none;
-        width: 50%; }
-      html.theme--documenter-dark .column.is-offset-6-widescreen {
-        margin-left: 50%; }
-      html.theme--documenter-dark .column.is-7-widescreen {
-        flex: none;
-        width: 58.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-7-widescreen {
-        margin-left: 58.3333333333%; }
-      html.theme--documenter-dark .column.is-8-widescreen {
-        flex: none;
-        width: 66.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-8-widescreen {
-        margin-left: 66.6666666667%; }
-      html.theme--documenter-dark .column.is-9-widescreen {
-        flex: none;
-        width: 75%; }
-      html.theme--documenter-dark .column.is-offset-9-widescreen {
-        margin-left: 75%; }
-      html.theme--documenter-dark .column.is-10-widescreen {
-        flex: none;
-        width: 83.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-10-widescreen {
-        margin-left: 83.3333333333%; }
-      html.theme--documenter-dark .column.is-11-widescreen {
-        flex: none;
-        width: 91.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-11-widescreen {
-        margin-left: 91.6666666667%; }
-      html.theme--documenter-dark .column.is-12-widescreen {
-        flex: none;
-        width: 100%; }
-      html.theme--documenter-dark .column.is-offset-12-widescreen {
-        margin-left: 100%; } }
-    @media screen and (min-width: 1408px) {
-      html.theme--documenter-dark .column.is-narrow-fullhd {
-        flex: none; }
-      html.theme--documenter-dark .column.is-full-fullhd {
-        flex: none;
-        width: 100%; }
-      html.theme--documenter-dark .column.is-three-quarters-fullhd {
-        flex: none;
-        width: 75%; }
-      html.theme--documenter-dark .column.is-two-thirds-fullhd {
-        flex: none;
-        width: 66.6666%; }
-      html.theme--documenter-dark .column.is-half-fullhd {
-        flex: none;
-        width: 50%; }
-      html.theme--documenter-dark .column.is-one-third-fullhd {
-        flex: none;
-        width: 33.3333%; }
-      html.theme--documenter-dark .column.is-one-quarter-fullhd {
-        flex: none;
-        width: 25%; }
-      html.theme--documenter-dark .column.is-one-fifth-fullhd {
-        flex: none;
-        width: 20%; }
-      html.theme--documenter-dark .column.is-two-fifths-fullhd {
-        flex: none;
-        width: 40%; }
-      html.theme--documenter-dark .column.is-three-fifths-fullhd {
-        flex: none;
-        width: 60%; }
-      html.theme--documenter-dark .column.is-four-fifths-fullhd {
-        flex: none;
-        width: 80%; }
-      html.theme--documenter-dark .column.is-offset-three-quarters-fullhd {
-        margin-left: 75%; }
-      html.theme--documenter-dark .column.is-offset-two-thirds-fullhd {
-        margin-left: 66.6666%; }
-      html.theme--documenter-dark .column.is-offset-half-fullhd {
-        margin-left: 50%; }
-      html.theme--documenter-dark .column.is-offset-one-third-fullhd {
-        margin-left: 33.3333%; }
-      html.theme--documenter-dark .column.is-offset-one-quarter-fullhd {
-        margin-left: 25%; }
-      html.theme--documenter-dark .column.is-offset-one-fifth-fullhd {
-        margin-left: 20%; }
-      html.theme--documenter-dark .column.is-offset-two-fifths-fullhd {
-        margin-left: 40%; }
-      html.theme--documenter-dark .column.is-offset-three-fifths-fullhd {
-        margin-left: 60%; }
-      html.theme--documenter-dark .column.is-offset-four-fifths-fullhd {
-        margin-left: 80%; }
-      html.theme--documenter-dark .column.is-0-fullhd {
-        flex: none;
-        width: 0%; }
-      html.theme--documenter-dark .column.is-offset-0-fullhd {
-        margin-left: 0%; }
-      html.theme--documenter-dark .column.is-1-fullhd {
-        flex: none;
-        width: 8.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-1-fullhd {
-        margin-left: 8.3333333333%; }
-      html.theme--documenter-dark .column.is-2-fullhd {
-        flex: none;
-        width: 16.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-2-fullhd {
-        margin-left: 16.6666666667%; }
-      html.theme--documenter-dark .column.is-3-fullhd {
-        flex: none;
-        width: 25%; }
-      html.theme--documenter-dark .column.is-offset-3-fullhd {
-        margin-left: 25%; }
-      html.theme--documenter-dark .column.is-4-fullhd {
-        flex: none;
-        width: 33.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-4-fullhd {
-        margin-left: 33.3333333333%; }
-      html.theme--documenter-dark .column.is-5-fullhd {
-        flex: none;
-        width: 41.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-5-fullhd {
-        margin-left: 41.6666666667%; }
-      html.theme--documenter-dark .column.is-6-fullhd {
-        flex: none;
-        width: 50%; }
-      html.theme--documenter-dark .column.is-offset-6-fullhd {
-        margin-left: 50%; }
-      html.theme--documenter-dark .column.is-7-fullhd {
-        flex: none;
-        width: 58.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-7-fullhd {
-        margin-left: 58.3333333333%; }
-      html.theme--documenter-dark .column.is-8-fullhd {
-        flex: none;
-        width: 66.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-8-fullhd {
-        margin-left: 66.6666666667%; }
-      html.theme--documenter-dark .column.is-9-fullhd {
-        flex: none;
-        width: 75%; }
-      html.theme--documenter-dark .column.is-offset-9-fullhd {
-        margin-left: 75%; }
-      html.theme--documenter-dark .column.is-10-fullhd {
-        flex: none;
-        width: 83.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-10-fullhd {
-        margin-left: 83.3333333333%; }
-      html.theme--documenter-dark .column.is-11-fullhd {
-        flex: none;
-        width: 91.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-11-fullhd {
-        margin-left: 91.6666666667%; }
-      html.theme--documenter-dark .column.is-12-fullhd {
-        flex: none;
-        width: 100%; }
-      html.theme--documenter-dark .column.is-offset-12-fullhd {
-        margin-left: 100%; } }
-  html.theme--documenter-dark .columns {
-    margin-left: -0.75rem;
-    margin-right: -0.75rem;
-    margin-top: -0.75rem; }
-    html.theme--documenter-dark .columns:last-child {
-      margin-bottom: -0.75rem; }
-    html.theme--documenter-dark .columns:not(:last-child) {
-      margin-bottom: calc(1.5rem - 0.75rem); }
-    html.theme--documenter-dark .columns.is-centered {
-      justify-content: center; }
-    html.theme--documenter-dark .columns.is-gapless {
-      margin-left: 0;
-      margin-right: 0;
-      margin-top: 0; }
-      html.theme--documenter-dark .columns.is-gapless > .column {
-        margin: 0;
-        padding: 0 !important; }
-      html.theme--documenter-dark .columns.is-gapless:not(:last-child) {
-        margin-bottom: 1.5rem; }
-      html.theme--documenter-dark .columns.is-gapless:last-child {
-        margin-bottom: 0; }
-    html.theme--documenter-dark .columns.is-mobile {
-      display: flex; }
-    html.theme--documenter-dark .columns.is-multiline {
-      flex-wrap: wrap; }
-    html.theme--documenter-dark .columns.is-vcentered {
-      align-items: center; }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .columns:not(.is-desktop) {
-        display: flex; } }
-    @media screen and (min-width: 1056px) {
-      html.theme--documenter-dark .columns.is-desktop {
-        display: flex; } }
-  html.theme--documenter-dark .columns.is-variable {
-    --columnGap: 0.75rem;
-    margin-left: calc(-1 * var(--columnGap));
-    margin-right: calc(-1 * var(--columnGap)); }
-    html.theme--documenter-dark .columns.is-variable .column {
-      padding-left: var(--columnGap);
-      padding-right: var(--columnGap); }
-    html.theme--documenter-dark .columns.is-variable.is-0 {
-      --columnGap: 0rem; }
-    @media screen and (max-width: 768px) {
-      html.theme--documenter-dark .columns.is-variable.is-0-mobile {
-        --columnGap: 0rem; } }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .columns.is-variable.is-0-tablet {
-        --columnGap: 0rem; } }
-    @media screen and (min-width: 769px) and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-0-tablet-only {
-        --columnGap: 0rem; } }
-    @media screen and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-0-touch {
-        --columnGap: 0rem; } }
-    @media screen and (min-width: 1056px) {
-      html.theme--documenter-dark .columns.is-variable.is-0-desktop {
-        --columnGap: 0rem; } }
-    @media screen and (min-width: 1056px) and (max-width: 1215px) {
-      html.theme--documenter-dark .columns.is-variable.is-0-desktop-only {
-        --columnGap: 0rem; } }
-    @media screen and (min-width: 1216px) {
-      html.theme--documenter-dark .columns.is-variable.is-0-widescreen {
-        --columnGap: 0rem; } }
-    @media screen and (min-width: 1216px) and (max-width: 1407px) {
-      html.theme--documenter-dark .columns.is-variable.is-0-widescreen-only {
-        --columnGap: 0rem; } }
-    @media screen and (min-width: 1408px) {
-      html.theme--documenter-dark .columns.is-variable.is-0-fullhd {
-        --columnGap: 0rem; } }
-    html.theme--documenter-dark .columns.is-variable.is-1 {
-      --columnGap: 0.25rem; }
-    @media screen and (max-width: 768px) {
-      html.theme--documenter-dark .columns.is-variable.is-1-mobile {
-        --columnGap: 0.25rem; } }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .columns.is-variable.is-1-tablet {
-        --columnGap: 0.25rem; } }
-    @media screen and (min-width: 769px) and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-1-tablet-only {
-        --columnGap: 0.25rem; } }
-    @media screen and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-1-touch {
-        --columnGap: 0.25rem; } }
-    @media screen and (min-width: 1056px) {
-      html.theme--documenter-dark .columns.is-variable.is-1-desktop {
-        --columnGap: 0.25rem; } }
-    @media screen and (min-width: 1056px) and (max-width: 1215px) {
-      html.theme--documenter-dark .columns.is-variable.is-1-desktop-only {
-        --columnGap: 0.25rem; } }
-    @media screen and (min-width: 1216px) {
-      html.theme--documenter-dark .columns.is-variable.is-1-widescreen {
-        --columnGap: 0.25rem; } }
-    @media screen and (min-width: 1216px) and (max-width: 1407px) {
-      html.theme--documenter-dark .columns.is-variable.is-1-widescreen-only {
-        --columnGap: 0.25rem; } }
-    @media screen and (min-width: 1408px) {
-      html.theme--documenter-dark .columns.is-variable.is-1-fullhd {
-        --columnGap: 0.25rem; } }
-    html.theme--documenter-dark .columns.is-variable.is-2 {
-      --columnGap: 0.5rem; }
-    @media screen and (max-width: 768px) {
-      html.theme--documenter-dark .columns.is-variable.is-2-mobile {
-        --columnGap: 0.5rem; } }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .columns.is-variable.is-2-tablet {
-        --columnGap: 0.5rem; } }
-    @media screen and (min-width: 769px) and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-2-tablet-only {
-        --columnGap: 0.5rem; } }
-    @media screen and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-2-touch {
-        --columnGap: 0.5rem; } }
-    @media screen and (min-width: 1056px) {
-      html.theme--documenter-dark .columns.is-variable.is-2-desktop {
-        --columnGap: 0.5rem; } }
-    @media screen and (min-width: 1056px) and (max-width: 1215px) {
-      html.theme--documenter-dark .columns.is-variable.is-2-desktop-only {
-        --columnGap: 0.5rem; } }
-    @media screen and (min-width: 1216px) {
-      html.theme--documenter-dark .columns.is-variable.is-2-widescreen {
-        --columnGap: 0.5rem; } }
-    @media screen and (min-width: 1216px) and (max-width: 1407px) {
-      html.theme--documenter-dark .columns.is-variable.is-2-widescreen-only {
-        --columnGap: 0.5rem; } }
-    @media screen and (min-width: 1408px) {
-      html.theme--documenter-dark .columns.is-variable.is-2-fullhd {
-        --columnGap: 0.5rem; } }
-    html.theme--documenter-dark .columns.is-variable.is-3 {
-      --columnGap: 0.75rem; }
-    @media screen and (max-width: 768px) {
-      html.theme--documenter-dark .columns.is-variable.is-3-mobile {
-        --columnGap: 0.75rem; } }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .columns.is-variable.is-3-tablet {
-        --columnGap: 0.75rem; } }
-    @media screen and (min-width: 769px) and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-3-tablet-only {
-        --columnGap: 0.75rem; } }
-    @media screen and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-3-touch {
-        --columnGap: 0.75rem; } }
-    @media screen and (min-width: 1056px) {
-      html.theme--documenter-dark .columns.is-variable.is-3-desktop {
-        --columnGap: 0.75rem; } }
-    @media screen and (min-width: 1056px) and (max-width: 1215px) {
-      html.theme--documenter-dark .columns.is-variable.is-3-desktop-only {
-        --columnGap: 0.75rem; } }
-    @media screen and (min-width: 1216px) {
-      html.theme--documenter-dark .columns.is-variable.is-3-widescreen {
-        --columnGap: 0.75rem; } }
-    @media screen and (min-width: 1216px) and (max-width: 1407px) {
-      html.theme--documenter-dark .columns.is-variable.is-3-widescreen-only {
-        --columnGap: 0.75rem; } }
-    @media screen and (min-width: 1408px) {
-      html.theme--documenter-dark .columns.is-variable.is-3-fullhd {
-        --columnGap: 0.75rem; } }
-    html.theme--documenter-dark .columns.is-variable.is-4 {
-      --columnGap: 1rem; }
-    @media screen and (max-width: 768px) {
-      html.theme--documenter-dark .columns.is-variable.is-4-mobile {
-        --columnGap: 1rem; } }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .columns.is-variable.is-4-tablet {
-        --columnGap: 1rem; } }
-    @media screen and (min-width: 769px) and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-4-tablet-only {
-        --columnGap: 1rem; } }
-    @media screen and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-4-touch {
-        --columnGap: 1rem; } }
-    @media screen and (min-width: 1056px) {
-      html.theme--documenter-dark .columns.is-variable.is-4-desktop {
-        --columnGap: 1rem; } }
-    @media screen and (min-width: 1056px) and (max-width: 1215px) {
-      html.theme--documenter-dark .columns.is-variable.is-4-desktop-only {
-        --columnGap: 1rem; } }
-    @media screen and (min-width: 1216px) {
-      html.theme--documenter-dark .columns.is-variable.is-4-widescreen {
-        --columnGap: 1rem; } }
-    @media screen and (min-width: 1216px) and (max-width: 1407px) {
-      html.theme--documenter-dark .columns.is-variable.is-4-widescreen-only {
-        --columnGap: 1rem; } }
-    @media screen and (min-width: 1408px) {
-      html.theme--documenter-dark .columns.is-variable.is-4-fullhd {
-        --columnGap: 1rem; } }
-    html.theme--documenter-dark .columns.is-variable.is-5 {
-      --columnGap: 1.25rem; }
-    @media screen and (max-width: 768px) {
-      html.theme--documenter-dark .columns.is-variable.is-5-mobile {
-        --columnGap: 1.25rem; } }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .columns.is-variable.is-5-tablet {
-        --columnGap: 1.25rem; } }
-    @media screen and (min-width: 769px) and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-5-tablet-only {
-        --columnGap: 1.25rem; } }
-    @media screen and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-5-touch {
-        --columnGap: 1.25rem; } }
-    @media screen and (min-width: 1056px) {
-      html.theme--documenter-dark .columns.is-variable.is-5-desktop {
-        --columnGap: 1.25rem; } }
-    @media screen and (min-width: 1056px) and (max-width: 1215px) {
-      html.theme--documenter-dark .columns.is-variable.is-5-desktop-only {
-        --columnGap: 1.25rem; } }
-    @media screen and (min-width: 1216px) {
-      html.theme--documenter-dark .columns.is-variable.is-5-widescreen {
-        --columnGap: 1.25rem; } }
-    @media screen and (min-width: 1216px) and (max-width: 1407px) {
-      html.theme--documenter-dark .columns.is-variable.is-5-widescreen-only {
-        --columnGap: 1.25rem; } }
-    @media screen and (min-width: 1408px) {
-      html.theme--documenter-dark .columns.is-variable.is-5-fullhd {
-        --columnGap: 1.25rem; } }
-    html.theme--documenter-dark .columns.is-variable.is-6 {
-      --columnGap: 1.5rem; }
-    @media screen and (max-width: 768px) {
-      html.theme--documenter-dark .columns.is-variable.is-6-mobile {
-        --columnGap: 1.5rem; } }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .columns.is-variable.is-6-tablet {
-        --columnGap: 1.5rem; } }
-    @media screen and (min-width: 769px) and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-6-tablet-only {
-        --columnGap: 1.5rem; } }
-    @media screen and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-6-touch {
-        --columnGap: 1.5rem; } }
-    @media screen and (min-width: 1056px) {
-      html.theme--documenter-dark .columns.is-variable.is-6-desktop {
-        --columnGap: 1.5rem; } }
-    @media screen and (min-width: 1056px) and (max-width: 1215px) {
-      html.theme--documenter-dark .columns.is-variable.is-6-desktop-only {
-        --columnGap: 1.5rem; } }
-    @media screen and (min-width: 1216px) {
-      html.theme--documenter-dark .columns.is-variable.is-6-widescreen {
-        --columnGap: 1.5rem; } }
-    @media screen and (min-width: 1216px) and (max-width: 1407px) {
-      html.theme--documenter-dark .columns.is-variable.is-6-widescreen-only {
-        --columnGap: 1.5rem; } }
-    @media screen and (min-width: 1408px) {
-      html.theme--documenter-dark .columns.is-variable.is-6-fullhd {
-        --columnGap: 1.5rem; } }
-    html.theme--documenter-dark .columns.is-variable.is-7 {
-      --columnGap: 1.75rem; }
-    @media screen and (max-width: 768px) {
-      html.theme--documenter-dark .columns.is-variable.is-7-mobile {
-        --columnGap: 1.75rem; } }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .columns.is-variable.is-7-tablet {
-        --columnGap: 1.75rem; } }
-    @media screen and (min-width: 769px) and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-7-tablet-only {
-        --columnGap: 1.75rem; } }
-    @media screen and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-7-touch {
-        --columnGap: 1.75rem; } }
-    @media screen and (min-width: 1056px) {
-      html.theme--documenter-dark .columns.is-variable.is-7-desktop {
-        --columnGap: 1.75rem; } }
-    @media screen and (min-width: 1056px) and (max-width: 1215px) {
-      html.theme--documenter-dark .columns.is-variable.is-7-desktop-only {
-        --columnGap: 1.75rem; } }
-    @media screen and (min-width: 1216px) {
-      html.theme--documenter-dark .columns.is-variable.is-7-widescreen {
-        --columnGap: 1.75rem; } }
-    @media screen and (min-width: 1216px) and (max-width: 1407px) {
-      html.theme--documenter-dark .columns.is-variable.is-7-widescreen-only {
-        --columnGap: 1.75rem; } }
-    @media screen and (min-width: 1408px) {
-      html.theme--documenter-dark .columns.is-variable.is-7-fullhd {
-        --columnGap: 1.75rem; } }
-    html.theme--documenter-dark .columns.is-variable.is-8 {
-      --columnGap: 2rem; }
-    @media screen and (max-width: 768px) {
-      html.theme--documenter-dark .columns.is-variable.is-8-mobile {
-        --columnGap: 2rem; } }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .columns.is-variable.is-8-tablet {
-        --columnGap: 2rem; } }
-    @media screen and (min-width: 769px) and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-8-tablet-only {
-        --columnGap: 2rem; } }
-    @media screen and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-8-touch {
-        --columnGap: 2rem; } }
-    @media screen and (min-width: 1056px) {
-      html.theme--documenter-dark .columns.is-variable.is-8-desktop {
-        --columnGap: 2rem; } }
-    @media screen and (min-width: 1056px) and (max-width: 1215px) {
-      html.theme--documenter-dark .columns.is-variable.is-8-desktop-only {
-        --columnGap: 2rem; } }
-    @media screen and (min-width: 1216px) {
-      html.theme--documenter-dark .columns.is-variable.is-8-widescreen {
-        --columnGap: 2rem; } }
-    @media screen and (min-width: 1216px) and (max-width: 1407px) {
-      html.theme--documenter-dark .columns.is-variable.is-8-widescreen-only {
-        --columnGap: 2rem; } }
-    @media screen and (min-width: 1408px) {
-      html.theme--documenter-dark .columns.is-variable.is-8-fullhd {
-        --columnGap: 2rem; } }
-  html.theme--documenter-dark .tile {
-    align-items: stretch;
-    display: block;
-    flex-basis: 0;
-    flex-grow: 1;
-    flex-shrink: 1;
-    min-height: min-content; }
-    html.theme--documenter-dark .tile.is-ancestor {
-      margin-left: -0.75rem;
-      margin-right: -0.75rem;
-      margin-top: -0.75rem; }
-      html.theme--documenter-dark .tile.is-ancestor:last-child {
-        margin-bottom: -0.75rem; }
-      html.theme--documenter-dark .tile.is-ancestor:not(:last-child) {
-        margin-bottom: 0.75rem; }
-    html.theme--documenter-dark .tile.is-child {
-      margin: 0 !important; }
-    html.theme--documenter-dark .tile.is-parent {
-      padding: 0.75rem; }
-    html.theme--documenter-dark .tile.is-vertical {
-      flex-direction: column; }
-      html.theme--documenter-dark .tile.is-vertical > .tile.is-child:not(:last-child) {
-        margin-bottom: 1.5rem !important; }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .tile:not(.is-child) {
-        display: flex; }
-      html.theme--documenter-dark .tile.is-1 {
-        flex: none;
-        width: 8.3333333333%; }
-      html.theme--documenter-dark .tile.is-2 {
-        flex: none;
-        width: 16.6666666667%; }
-      html.theme--documenter-dark .tile.is-3 {
-        flex: none;
-        width: 25%; }
-      html.theme--documenter-dark .tile.is-4 {
-        flex: none;
-        width: 33.3333333333%; }
-      html.theme--documenter-dark .tile.is-5 {
-        flex: none;
-        width: 41.6666666667%; }
-      html.theme--documenter-dark .tile.is-6 {
-        flex: none;
-        width: 50%; }
-      html.theme--documenter-dark .tile.is-7 {
-        flex: none;
-        width: 58.3333333333%; }
-      html.theme--documenter-dark .tile.is-8 {
-        flex: none;
-        width: 66.6666666667%; }
-      html.theme--documenter-dark .tile.is-9 {
-        flex: none;
-        width: 75%; }
-      html.theme--documenter-dark .tile.is-10 {
-        flex: none;
-        width: 83.3333333333%; }
-      html.theme--documenter-dark .tile.is-11 {
-        flex: none;
-        width: 91.6666666667%; }
-      html.theme--documenter-dark .tile.is-12 {
-        flex: none;
-        width: 100%; } }
-  html.theme--documenter-dark .hero {
-    align-items: stretch;
-    display: flex;
-    flex-direction: column;
-    justify-content: space-between; }
-    html.theme--documenter-dark .hero .navbar {
-      background: none; }
-    html.theme--documenter-dark .hero .tabs ul {
-      border-bottom: none; }
-    html.theme--documenter-dark .hero.is-white {
-      background-color: white;
-      color: #0a0a0a; }
-      html.theme--documenter-dark .hero.is-white a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-      html.theme--documenter-dark .hero.is-white strong {
-        color: inherit; }
-      html.theme--documenter-dark .hero.is-white .title {
-        color: #0a0a0a; }
-      html.theme--documenter-dark .hero.is-white .subtitle {
-        color: rgba(10, 10, 10, 0.9); }
-        html.theme--documenter-dark .hero.is-white .subtitle a:not(.button),
-        html.theme--documenter-dark .hero.is-white .subtitle strong {
-          color: #0a0a0a; }
-      @media screen and (max-width: 1055px) {
-        html.theme--documenter-dark .hero.is-white .navbar-menu {
-          background-color: white; } }
-      html.theme--documenter-dark .hero.is-white .navbar-item,
-      html.theme--documenter-dark .hero.is-white .navbar-link {
-        color: rgba(10, 10, 10, 0.7); }
-      html.theme--documenter-dark .hero.is-white a.navbar-item:hover, html.theme--documenter-dark .hero.is-white a.navbar-item.is-active,
-      html.theme--documenter-dark .hero.is-white .navbar-link:hover,
-      html.theme--documenter-dark .hero.is-white .navbar-link.is-active {
-        background-color: #f2f2f2;
-        color: #0a0a0a; }
-      html.theme--documenter-dark .hero.is-white .tabs a {
-        color: #0a0a0a;
-        opacity: 0.9; }
-        html.theme--documenter-dark .hero.is-white .tabs a:hover {
-          opacity: 1; }
-      html.theme--documenter-dark .hero.is-white .tabs li.is-active a {
-        opacity: 1; }
-      html.theme--documenter-dark .hero.is-white .tabs.is-boxed a, html.theme--documenter-dark .hero.is-white .tabs.is-toggle a {
-        color: #0a0a0a; }
-        html.theme--documenter-dark .hero.is-white .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-white .tabs.is-toggle a:hover {
-          background-color: rgba(10, 10, 10, 0.1); }
-      html.theme--documenter-dark .hero.is-white .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-white .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-white .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-white .tabs.is-toggle li.is-active a:hover {
-        background-color: #0a0a0a;
-        border-color: #0a0a0a;
-        color: white; }
-      html.theme--documenter-dark .hero.is-white.is-bold {
-        background-image: linear-gradient(141deg, #e8e3e4 0%, white 71%, white 100%); }
-        @media screen and (max-width: 768px) {
-          html.theme--documenter-dark .hero.is-white.is-bold .navbar-menu {
-            background-image: linear-gradient(141deg, #e8e3e4 0%, white 71%, white 100%); } }
-    html.theme--documenter-dark .hero.is-black {
-      background-color: #0a0a0a;
-      color: white; }
-      html.theme--documenter-dark .hero.is-black a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-      html.theme--documenter-dark .hero.is-black strong {
-        color: inherit; }
-      html.theme--documenter-dark .hero.is-black .title {
-        color: white; }
-      html.theme--documenter-dark .hero.is-black .subtitle {
-        color: rgba(255, 255, 255, 0.9); }
-        html.theme--documenter-dark .hero.is-black .subtitle a:not(.button),
-        html.theme--documenter-dark .hero.is-black .subtitle strong {
-          color: white; }
-      @media screen and (max-width: 1055px) {
-        html.theme--documenter-dark .hero.is-black .navbar-menu {
-          background-color: #0a0a0a; } }
-      html.theme--documenter-dark .hero.is-black .navbar-item,
-      html.theme--documenter-dark .hero.is-black .navbar-link {
-        color: rgba(255, 255, 255, 0.7); }
-      html.theme--documenter-dark .hero.is-black a.navbar-item:hover, html.theme--documenter-dark .hero.is-black a.navbar-item.is-active,
-      html.theme--documenter-dark .hero.is-black .navbar-link:hover,
-      html.theme--documenter-dark .hero.is-black .navbar-link.is-active {
-        background-color: black;
-        color: white; }
-      html.theme--documenter-dark .hero.is-black .tabs a {
-        color: white;
-        opacity: 0.9; }
-        html.theme--documenter-dark .hero.is-black .tabs a:hover {
-          opacity: 1; }
-      html.theme--documenter-dark .hero.is-black .tabs li.is-active a {
-        opacity: 1; }
-      html.theme--documenter-dark .hero.is-black .tabs.is-boxed a, html.theme--documenter-dark .hero.is-black .tabs.is-toggle a {
-        color: white; }
-        html.theme--documenter-dark .hero.is-black .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-black .tabs.is-toggle a:hover {
-          background-color: rgba(10, 10, 10, 0.1); }
-      html.theme--documenter-dark .hero.is-black .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-black .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-black .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-black .tabs.is-toggle li.is-active a:hover {
-        background-color: white;
-        border-color: white;
-        color: #0a0a0a; }
-      html.theme--documenter-dark .hero.is-black.is-bold {
-        background-image: linear-gradient(141deg, black 0%, #0a0a0a 71%, #181616 100%); }
-        @media screen and (max-width: 768px) {
-          html.theme--documenter-dark .hero.is-black.is-bold .navbar-menu {
-            background-image: linear-gradient(141deg, black 0%, #0a0a0a 71%, #181616 100%); } }
-    html.theme--documenter-dark .hero.is-light {
-      background-color: #ecf0f1;
-      color: #282f2f; }
-      html.theme--documenter-dark .hero.is-light a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-      html.theme--documenter-dark .hero.is-light strong {
-        color: inherit; }
-      html.theme--documenter-dark .hero.is-light .title {
-        color: #282f2f; }
-      html.theme--documenter-dark .hero.is-light .subtitle {
-        color: rgba(40, 47, 47, 0.9); }
-        html.theme--documenter-dark .hero.is-light .subtitle a:not(.button),
-        html.theme--documenter-dark .hero.is-light .subtitle strong {
-          color: #282f2f; }
-      @media screen and (max-width: 1055px) {
-        html.theme--documenter-dark .hero.is-light .navbar-menu {
-          background-color: #ecf0f1; } }
-      html.theme--documenter-dark .hero.is-light .navbar-item,
-      html.theme--documenter-dark .hero.is-light .navbar-link {
-        color: rgba(40, 47, 47, 0.7); }
-      html.theme--documenter-dark .hero.is-light a.navbar-item:hover, html.theme--documenter-dark .hero.is-light a.navbar-item.is-active,
-      html.theme--documenter-dark .hero.is-light .navbar-link:hover,
-      html.theme--documenter-dark .hero.is-light .navbar-link.is-active {
-        background-color: #dde4e6;
-        color: #282f2f; }
-      html.theme--documenter-dark .hero.is-light .tabs a {
-        color: #282f2f;
-        opacity: 0.9; }
-        html.theme--documenter-dark .hero.is-light .tabs a:hover {
-          opacity: 1; }
-      html.theme--documenter-dark .hero.is-light .tabs li.is-active a {
-        opacity: 1; }
-      html.theme--documenter-dark .hero.is-light .tabs.is-boxed a, html.theme--documenter-dark .hero.is-light .tabs.is-toggle a {
-        color: #282f2f; }
-        html.theme--documenter-dark .hero.is-light .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-light .tabs.is-toggle a:hover {
-          background-color: rgba(10, 10, 10, 0.1); }
-      html.theme--documenter-dark .hero.is-light .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-light .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-light .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-light .tabs.is-toggle li.is-active a:hover {
-        background-color: #282f2f;
-        border-color: #282f2f;
-        color: #ecf0f1; }
-      html.theme--documenter-dark .hero.is-light.is-bold {
-        background-image: linear-gradient(141deg, #cadfe0 0%, #ecf0f1 71%, #fafbfc 100%); }
-        @media screen and (max-width: 768px) {
-          html.theme--documenter-dark .hero.is-light.is-bold .navbar-menu {
-            background-image: linear-gradient(141deg, #cadfe0 0%, #ecf0f1 71%, #fafbfc 100%); } }
-    html.theme--documenter-dark .hero.is-dark, html.theme--documenter-dark .content kbd.hero {
-      background-color: #282f2f;
-      color: #ecf0f1; }
-      html.theme--documenter-dark .hero.is-dark a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), html.theme--documenter-dark .content kbd.hero a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-      html.theme--documenter-dark .hero.is-dark strong,
-      html.theme--documenter-dark .content kbd.hero strong {
-        color: inherit; }
-      html.theme--documenter-dark .hero.is-dark .title, html.theme--documenter-dark .content kbd.hero .title {
-        color: #ecf0f1; }
-      html.theme--documenter-dark .hero.is-dark .subtitle, html.theme--documenter-dark .content kbd.hero .subtitle {
-        color: rgba(236, 240, 241, 0.9); }
-        html.theme--documenter-dark .hero.is-dark .subtitle a:not(.button), html.theme--documenter-dark .content kbd.hero .subtitle a:not(.button),
-        html.theme--documenter-dark .hero.is-dark .subtitle strong,
-        html.theme--documenter-dark .content kbd.hero .subtitle strong {
-          color: #ecf0f1; }
-      @media screen and (max-width: 1055px) {
-        html.theme--documenter-dark .hero.is-dark .navbar-menu, html.theme--documenter-dark .content kbd.hero .navbar-menu {
-          background-color: #282f2f; } }
-      html.theme--documenter-dark .hero.is-dark .navbar-item, html.theme--documenter-dark .content kbd.hero .navbar-item,
-      html.theme--documenter-dark .hero.is-dark .navbar-link,
-      html.theme--documenter-dark .content kbd.hero .navbar-link {
-        color: rgba(236, 240, 241, 0.7); }
-      html.theme--documenter-dark .hero.is-dark a.navbar-item:hover, html.theme--documenter-dark .content kbd.hero a.navbar-item:hover, html.theme--documenter-dark .hero.is-dark a.navbar-item.is-active, html.theme--documenter-dark .content kbd.hero a.navbar-item.is-active,
-      html.theme--documenter-dark .hero.is-dark .navbar-link:hover,
-      html.theme--documenter-dark .content kbd.hero .navbar-link:hover,
-      html.theme--documenter-dark .hero.is-dark .navbar-link.is-active,
-      html.theme--documenter-dark .content kbd.hero .navbar-link.is-active {
-        background-color: #1d2122;
-        color: #ecf0f1; }
-      html.theme--documenter-dark .hero.is-dark .tabs a, html.theme--documenter-dark .content kbd.hero .tabs a {
-        color: #ecf0f1;
-        opacity: 0.9; }
-        html.theme--documenter-dark .hero.is-dark .tabs a:hover, html.theme--documenter-dark .content kbd.hero .tabs a:hover {
-          opacity: 1; }
-      html.theme--documenter-dark .hero.is-dark .tabs li.is-active a, html.theme--documenter-dark .content kbd.hero .tabs li.is-active a {
-        opacity: 1; }
-      html.theme--documenter-dark .hero.is-dark .tabs.is-boxed a, html.theme--documenter-dark .content kbd.hero .tabs.is-boxed a, html.theme--documenter-dark .hero.is-dark .tabs.is-toggle a, html.theme--documenter-dark .content kbd.hero .tabs.is-toggle a {
-        color: #ecf0f1; }
-        html.theme--documenter-dark .hero.is-dark .tabs.is-boxed a:hover, html.theme--documenter-dark .content kbd.hero .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-dark .tabs.is-toggle a:hover, html.theme--documenter-dark .content kbd.hero .tabs.is-toggle a:hover {
-          background-color: rgba(10, 10, 10, 0.1); }
-      html.theme--documenter-dark .hero.is-dark .tabs.is-boxed li.is-active a, html.theme--documenter-dark .content kbd.hero .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-dark .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-dark .tabs.is-toggle li.is-active a, html.theme--documenter-dark .content kbd.hero .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-dark .tabs.is-toggle li.is-active a:hover {
-        background-color: #ecf0f1;
-        border-color: #ecf0f1;
-        color: #282f2f; }
-      html.theme--documenter-dark .hero.is-dark.is-bold, html.theme--documenter-dark .content kbd.hero.is-bold {
-        background-image: linear-gradient(141deg, #0f1615 0%, #282f2f 71%, #313c40 100%); }
-        @media screen and (max-width: 768px) {
-          html.theme--documenter-dark .hero.is-dark.is-bold .navbar-menu, html.theme--documenter-dark .content kbd.hero.is-bold .navbar-menu {
-            background-image: linear-gradient(141deg, #0f1615 0%, #282f2f 71%, #313c40 100%); } }
-    html.theme--documenter-dark .hero.is-primary, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink {
-      background-color: #375a7f;
-      color: #fff; }
-      html.theme--documenter-dark .hero.is-primary a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-      html.theme--documenter-dark .hero.is-primary strong,
-      html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink strong {
-        color: inherit; }
-      html.theme--documenter-dark .hero.is-primary .title, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .title {
-        color: #fff; }
-      html.theme--documenter-dark .hero.is-primary .subtitle, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .subtitle {
-        color: rgba(255, 255, 255, 0.9); }
-        html.theme--documenter-dark .hero.is-primary .subtitle a:not(.button), html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .subtitle a:not(.button),
-        html.theme--documenter-dark .hero.is-primary .subtitle strong,
-        html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .subtitle strong {
-          color: #fff; }
-      @media screen and (max-width: 1055px) {
-        html.theme--documenter-dark .hero.is-primary .navbar-menu, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .navbar-menu {
-          background-color: #375a7f; } }
-      html.theme--documenter-dark .hero.is-primary .navbar-item, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .navbar-item,
-      html.theme--documenter-dark .hero.is-primary .navbar-link,
-      html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .navbar-link {
-        color: rgba(255, 255, 255, 0.7); }
-      html.theme--documenter-dark .hero.is-primary a.navbar-item:hover, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink a.navbar-item:hover, html.theme--documenter-dark .hero.is-primary a.navbar-item.is-active, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink a.navbar-item.is-active,
-      html.theme--documenter-dark .hero.is-primary .navbar-link:hover,
-      html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .navbar-link:hover,
-      html.theme--documenter-dark .hero.is-primary .navbar-link.is-active,
-      html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .navbar-link.is-active {
-        background-color: #2f4d6d;
-        color: #fff; }
-      html.theme--documenter-dark .hero.is-primary .tabs a, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs a {
-        color: #fff;
-        opacity: 0.9; }
-        html.theme--documenter-dark .hero.is-primary .tabs a:hover, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs a:hover {
-          opacity: 1; }
-      html.theme--documenter-dark .hero.is-primary .tabs li.is-active a, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs li.is-active a {
-        opacity: 1; }
-      html.theme--documenter-dark .hero.is-primary .tabs.is-boxed a, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs.is-boxed a, html.theme--documenter-dark .hero.is-primary .tabs.is-toggle a, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs.is-toggle a {
-        color: #fff; }
-        html.theme--documenter-dark .hero.is-primary .tabs.is-boxed a:hover, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-primary .tabs.is-toggle a:hover, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs.is-toggle a:hover {
-          background-color: rgba(10, 10, 10, 0.1); }
-      html.theme--documenter-dark .hero.is-primary .tabs.is-boxed li.is-active a, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-primary .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-primary .tabs.is-toggle li.is-active a, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-primary .tabs.is-toggle li.is-active a:hover {
-        background-color: #fff;
-        border-color: #fff;
-        color: #375a7f; }
-      html.theme--documenter-dark .hero.is-primary.is-bold, html.theme--documenter-dark .docstring > section > a.hero.is-bold.docs-sourcelink {
-        background-image: linear-gradient(141deg, #214b62 0%, #375a7f 71%, #3a5796 100%); }
-        @media screen and (max-width: 768px) {
-          html.theme--documenter-dark .hero.is-primary.is-bold .navbar-menu, html.theme--documenter-dark .docstring > section > a.hero.is-bold.docs-sourcelink .navbar-menu {
-            background-image: linear-gradient(141deg, #214b62 0%, #375a7f 71%, #3a5796 100%); } }
-    html.theme--documenter-dark .hero.is-link {
-      background-color: #1abc9c;
-      color: #fff; }
-      html.theme--documenter-dark .hero.is-link a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-      html.theme--documenter-dark .hero.is-link strong {
-        color: inherit; }
-      html.theme--documenter-dark .hero.is-link .title {
-        color: #fff; }
-      html.theme--documenter-dark .hero.is-link .subtitle {
-        color: rgba(255, 255, 255, 0.9); }
-        html.theme--documenter-dark .hero.is-link .subtitle a:not(.button),
-        html.theme--documenter-dark .hero.is-link .subtitle strong {
-          color: #fff; }
-      @media screen and (max-width: 1055px) {
-        html.theme--documenter-dark .hero.is-link .navbar-menu {
-          background-color: #1abc9c; } }
-      html.theme--documenter-dark .hero.is-link .navbar-item,
-      html.theme--documenter-dark .hero.is-link .navbar-link {
-        color: rgba(255, 255, 255, 0.7); }
-      html.theme--documenter-dark .hero.is-link a.navbar-item:hover, html.theme--documenter-dark .hero.is-link a.navbar-item.is-active,
-      html.theme--documenter-dark .hero.is-link .navbar-link:hover,
-      html.theme--documenter-dark .hero.is-link .navbar-link.is-active {
-        background-color: #17a689;
-        color: #fff; }
-      html.theme--documenter-dark .hero.is-link .tabs a {
-        color: #fff;
-        opacity: 0.9; }
-        html.theme--documenter-dark .hero.is-link .tabs a:hover {
-          opacity: 1; }
-      html.theme--documenter-dark .hero.is-link .tabs li.is-active a {
-        opacity: 1; }
-      html.theme--documenter-dark .hero.is-link .tabs.is-boxed a, html.theme--documenter-dark .hero.is-link .tabs.is-toggle a {
-        color: #fff; }
-        html.theme--documenter-dark .hero.is-link .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-link .tabs.is-toggle a:hover {
-          background-color: rgba(10, 10, 10, 0.1); }
-      html.theme--documenter-dark .hero.is-link .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-link .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-link .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-link .tabs.is-toggle li.is-active a:hover {
-        background-color: #fff;
-        border-color: #fff;
-        color: #1abc9c; }
-      html.theme--documenter-dark .hero.is-link.is-bold {
-        background-image: linear-gradient(141deg, #0c9764 0%, #1abc9c 71%, #17d8d2 100%); }
-        @media screen and (max-width: 768px) {
-          html.theme--documenter-dark .hero.is-link.is-bold .navbar-menu {
-            background-image: linear-gradient(141deg, #0c9764 0%, #1abc9c 71%, #17d8d2 100%); } }
-    html.theme--documenter-dark .hero.is-info {
-      background-color: #024c7d;
-      color: #fff; }
-      html.theme--documenter-dark .hero.is-info a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-      html.theme--documenter-dark .hero.is-info strong {
-        color: inherit; }
-      html.theme--documenter-dark .hero.is-info .title {
-        color: #fff; }
-      html.theme--documenter-dark .hero.is-info .subtitle {
-        color: rgba(255, 255, 255, 0.9); }
-        html.theme--documenter-dark .hero.is-info .subtitle a:not(.button),
-        html.theme--documenter-dark .hero.is-info .subtitle strong {
-          color: #fff; }
-      @media screen and (max-width: 1055px) {
-        html.theme--documenter-dark .hero.is-info .navbar-menu {
-          background-color: #024c7d; } }
-      html.theme--documenter-dark .hero.is-info .navbar-item,
-      html.theme--documenter-dark .hero.is-info .navbar-link {
-        color: rgba(255, 255, 255, 0.7); }
-      html.theme--documenter-dark .hero.is-info a.navbar-item:hover, html.theme--documenter-dark .hero.is-info a.navbar-item.is-active,
-      html.theme--documenter-dark .hero.is-info .navbar-link:hover,
-      html.theme--documenter-dark .hero.is-info .navbar-link.is-active {
-        background-color: #023d64;
-        color: #fff; }
-      html.theme--documenter-dark .hero.is-info .tabs a {
-        color: #fff;
-        opacity: 0.9; }
-        html.theme--documenter-dark .hero.is-info .tabs a:hover {
-          opacity: 1; }
-      html.theme--documenter-dark .hero.is-info .tabs li.is-active a {
-        opacity: 1; }
-      html.theme--documenter-dark .hero.is-info .tabs.is-boxed a, html.theme--documenter-dark .hero.is-info .tabs.is-toggle a {
-        color: #fff; }
-        html.theme--documenter-dark .hero.is-info .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-info .tabs.is-toggle a:hover {
-          background-color: rgba(10, 10, 10, 0.1); }
-      html.theme--documenter-dark .hero.is-info .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-info .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-info .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-info .tabs.is-toggle li.is-active a:hover {
-        background-color: #fff;
-        border-color: #fff;
-        color: #024c7d; }
-      html.theme--documenter-dark .hero.is-info.is-bold {
-        background-image: linear-gradient(141deg, #003a4c 0%, #024c7d 71%, #004299 100%); }
-        @media screen and (max-width: 768px) {
-          html.theme--documenter-dark .hero.is-info.is-bold .navbar-menu {
-            background-image: linear-gradient(141deg, #003a4c 0%, #024c7d 71%, #004299 100%); } }
-    html.theme--documenter-dark .hero.is-success {
-      background-color: #008438;
-      color: #fff; }
-      html.theme--documenter-dark .hero.is-success a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-      html.theme--documenter-dark .hero.is-success strong {
-        color: inherit; }
-      html.theme--documenter-dark .hero.is-success .title {
-        color: #fff; }
-      html.theme--documenter-dark .hero.is-success .subtitle {
-        color: rgba(255, 255, 255, 0.9); }
-        html.theme--documenter-dark .hero.is-success .subtitle a:not(.button),
-        html.theme--documenter-dark .hero.is-success .subtitle strong {
-          color: #fff; }
-      @media screen and (max-width: 1055px) {
-        html.theme--documenter-dark .hero.is-success .navbar-menu {
-          background-color: #008438; } }
-      html.theme--documenter-dark .hero.is-success .navbar-item,
-      html.theme--documenter-dark .hero.is-success .navbar-link {
-        color: rgba(255, 255, 255, 0.7); }
-      html.theme--documenter-dark .hero.is-success a.navbar-item:hover, html.theme--documenter-dark .hero.is-success a.navbar-item.is-active,
-      html.theme--documenter-dark .hero.is-success .navbar-link:hover,
-      html.theme--documenter-dark .hero.is-success .navbar-link.is-active {
-        background-color: #006b2d;
-        color: #fff; }
-      html.theme--documenter-dark .hero.is-success .tabs a {
-        color: #fff;
-        opacity: 0.9; }
-        html.theme--documenter-dark .hero.is-success .tabs a:hover {
-          opacity: 1; }
-      html.theme--documenter-dark .hero.is-success .tabs li.is-active a {
-        opacity: 1; }
-      html.theme--documenter-dark .hero.is-success .tabs.is-boxed a, html.theme--documenter-dark .hero.is-success .tabs.is-toggle a {
-        color: #fff; }
-        html.theme--documenter-dark .hero.is-success .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-success .tabs.is-toggle a:hover {
-          background-color: rgba(10, 10, 10, 0.1); }
-      html.theme--documenter-dark .hero.is-success .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-success .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-success .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-success .tabs.is-toggle li.is-active a:hover {
-        background-color: #fff;
-        border-color: #fff;
-        color: #008438; }
-      html.theme--documenter-dark .hero.is-success.is-bold {
-        background-image: linear-gradient(141deg, #005115 0%, #008438 71%, #009e5d 100%); }
-        @media screen and (max-width: 768px) {
-          html.theme--documenter-dark .hero.is-success.is-bold .navbar-menu {
-            background-image: linear-gradient(141deg, #005115 0%, #008438 71%, #009e5d 100%); } }
-    html.theme--documenter-dark .hero.is-warning {
-      background-color: #ad8100;
-      color: #fff; }
-      html.theme--documenter-dark .hero.is-warning a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-      html.theme--documenter-dark .hero.is-warning strong {
-        color: inherit; }
-      html.theme--documenter-dark .hero.is-warning .title {
-        color: #fff; }
-      html.theme--documenter-dark .hero.is-warning .subtitle {
-        color: rgba(255, 255, 255, 0.9); }
-        html.theme--documenter-dark .hero.is-warning .subtitle a:not(.button),
-        html.theme--documenter-dark .hero.is-warning .subtitle strong {
-          color: #fff; }
-      @media screen and (max-width: 1055px) {
-        html.theme--documenter-dark .hero.is-warning .navbar-menu {
-          background-color: #ad8100; } }
-      html.theme--documenter-dark .hero.is-warning .navbar-item,
-      html.theme--documenter-dark .hero.is-warning .navbar-link {
-        color: rgba(255, 255, 255, 0.7); }
-      html.theme--documenter-dark .hero.is-warning a.navbar-item:hover, html.theme--documenter-dark .hero.is-warning a.navbar-item.is-active,
-      html.theme--documenter-dark .hero.is-warning .navbar-link:hover,
-      html.theme--documenter-dark .hero.is-warning .navbar-link.is-active {
-        background-color: #946e00;
-        color: #fff; }
-      html.theme--documenter-dark .hero.is-warning .tabs a {
-        color: #fff;
-        opacity: 0.9; }
-        html.theme--documenter-dark .hero.is-warning .tabs a:hover {
-          opacity: 1; }
-      html.theme--documenter-dark .hero.is-warning .tabs li.is-active a {
-        opacity: 1; }
-      html.theme--documenter-dark .hero.is-warning .tabs.is-boxed a, html.theme--documenter-dark .hero.is-warning .tabs.is-toggle a {
-        color: #fff; }
-        html.theme--documenter-dark .hero.is-warning .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-warning .tabs.is-toggle a:hover {
-          background-color: rgba(10, 10, 10, 0.1); }
-      html.theme--documenter-dark .hero.is-warning .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-warning .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-warning .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-warning .tabs.is-toggle li.is-active a:hover {
-        background-color: #fff;
-        border-color: #fff;
-        color: #ad8100; }
-      html.theme--documenter-dark .hero.is-warning.is-bold {
-        background-image: linear-gradient(141deg, #7a4700 0%, #ad8100 71%, #c7b500 100%); }
-        @media screen and (max-width: 768px) {
-          html.theme--documenter-dark .hero.is-warning.is-bold .navbar-menu {
-            background-image: linear-gradient(141deg, #7a4700 0%, #ad8100 71%, #c7b500 100%); } }
-    html.theme--documenter-dark .hero.is-danger {
-      background-color: #9e1b0d;
-      color: #fff; }
-      html.theme--documenter-dark .hero.is-danger a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-      html.theme--documenter-dark .hero.is-danger strong {
-        color: inherit; }
-      html.theme--documenter-dark .hero.is-danger .title {
-        color: #fff; }
-      html.theme--documenter-dark .hero.is-danger .subtitle {
-        color: rgba(255, 255, 255, 0.9); }
-        html.theme--documenter-dark .hero.is-danger .subtitle a:not(.button),
-        html.theme--documenter-dark .hero.is-danger .subtitle strong {
-          color: #fff; }
-      @media screen and (max-width: 1055px) {
-        html.theme--documenter-dark .hero.is-danger .navbar-menu {
-          background-color: #9e1b0d; } }
-      html.theme--documenter-dark .hero.is-danger .navbar-item,
-      html.theme--documenter-dark .hero.is-danger .navbar-link {
-        color: rgba(255, 255, 255, 0.7); }
-      html.theme--documenter-dark .hero.is-danger a.navbar-item:hover, html.theme--documenter-dark .hero.is-danger a.navbar-item.is-active,
-      html.theme--documenter-dark .hero.is-danger .navbar-link:hover,
-      html.theme--documenter-dark .hero.is-danger .navbar-link.is-active {
-        background-color: #86170b;
-        color: #fff; }
-      html.theme--documenter-dark .hero.is-danger .tabs a {
-        color: #fff;
-        opacity: 0.9; }
-        html.theme--documenter-dark .hero.is-danger .tabs a:hover {
-          opacity: 1; }
-      html.theme--documenter-dark .hero.is-danger .tabs li.is-active a {
-        opacity: 1; }
-      html.theme--documenter-dark .hero.is-danger .tabs.is-boxed a, html.theme--documenter-dark .hero.is-danger .tabs.is-toggle a {
-        color: #fff; }
-        html.theme--documenter-dark .hero.is-danger .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-danger .tabs.is-toggle a:hover {
-          background-color: rgba(10, 10, 10, 0.1); }
-      html.theme--documenter-dark .hero.is-danger .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-danger .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-danger .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-danger .tabs.is-toggle li.is-active a:hover {
-        background-color: #fff;
-        border-color: #fff;
-        color: #9e1b0d; }
-      html.theme--documenter-dark .hero.is-danger.is-bold {
-        background-image: linear-gradient(141deg, #75030b 0%, #9e1b0d 71%, #ba380a 100%); }
-        @media screen and (max-width: 768px) {
-          html.theme--documenter-dark .hero.is-danger.is-bold .navbar-menu {
-            background-image: linear-gradient(141deg, #75030b 0%, #9e1b0d 71%, #ba380a 100%); } }
-    html.theme--documenter-dark .hero.is-small .hero-body, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.hero .hero-body {
-      padding-bottom: 1.5rem;
-      padding-top: 1.5rem; }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .hero.is-medium .hero-body {
-        padding-bottom: 9rem;
-        padding-top: 9rem; } }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .hero.is-large .hero-body {
-        padding-bottom: 18rem;
-        padding-top: 18rem; } }
-    html.theme--documenter-dark .hero.is-halfheight .hero-body, html.theme--documenter-dark .hero.is-fullheight .hero-body, html.theme--documenter-dark .hero.is-fullheight-with-navbar .hero-body {
-      align-items: center;
-      display: flex; }
-      html.theme--documenter-dark .hero.is-halfheight .hero-body > .container, html.theme--documenter-dark .hero.is-fullheight .hero-body > .container, html.theme--documenter-dark .hero.is-fullheight-with-navbar .hero-body > .container {
-        flex-grow: 1;
-        flex-shrink: 1; }
-    html.theme--documenter-dark .hero.is-halfheight {
-      min-height: 50vh; }
-    html.theme--documenter-dark .hero.is-fullheight {
-      min-height: 100vh; }
-  html.theme--documenter-dark .hero-video {
-    overflow: hidden; }
-    html.theme--documenter-dark .hero-video video {
-      left: 50%;
-      min-height: 100%;
-      min-width: 100%;
-      position: absolute;
-      top: 50%;
-      transform: translate3d(-50%, -50%, 0); }
-    html.theme--documenter-dark .hero-video.is-transparent {
-      opacity: 0.3; }
-    @media screen and (max-width: 768px) {
-      html.theme--documenter-dark .hero-video {
-        display: none; } }
-  html.theme--documenter-dark .hero-buttons {
-    margin-top: 1.5rem; }
-    @media screen and (max-width: 768px) {
-      html.theme--documenter-dark .hero-buttons .button {
-        display: flex; }
-        html.theme--documenter-dark .hero-buttons .button:not(:last-child) {
-          margin-bottom: 0.75rem; } }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .hero-buttons {
-        display: flex;
-        justify-content: center; }
-        html.theme--documenter-dark .hero-buttons .button:not(:last-child) {
-          margin-right: 1.5rem; } }
-  html.theme--documenter-dark .hero-head,
-  html.theme--documenter-dark .hero-foot {
-    flex-grow: 0;
-    flex-shrink: 0; }
-  html.theme--documenter-dark .hero-body {
-    flex-grow: 1;
-    flex-shrink: 0;
-    padding: 3rem 1.5rem; }
-  html.theme--documenter-dark .section {
-    padding: 3rem 1.5rem; }
-    @media screen and (min-width: 1056px) {
-      html.theme--documenter-dark .section.is-medium {
-        padding: 9rem 1.5rem; }
-      html.theme--documenter-dark .section.is-large {
-        padding: 18rem 1.5rem; } }
-  html.theme--documenter-dark .footer {
-    background-color: #282f2f;
-    padding: 3rem 1.5rem 6rem; }
-  html.theme--documenter-dark hr {
-    height: 1px; }
-  html.theme--documenter-dark h6 {
-    text-transform: uppercase;
-    letter-spacing: 0.5px; }
-  html.theme--documenter-dark .hero {
-    background-color: #343c3d; }
-  html.theme--documenter-dark a {
-    transition: all 200ms ease; }
-  html.theme--documenter-dark .button {
-    transition: all 200ms ease;
-    border-width: 1px;
-    color: white; }
-    html.theme--documenter-dark .button.is-active, html.theme--documenter-dark .button.is-focused, html.theme--documenter-dark .button:active, html.theme--documenter-dark .button:focus {
-      box-shadow: 0 0 0 2px rgba(140, 155, 157, 0.5); }
-    html.theme--documenter-dark .button.is-white.is-hovered, html.theme--documenter-dark .button.is-white:hover {
-      background-color: white; }
-    html.theme--documenter-dark .button.is-white.is-active, html.theme--documenter-dark .button.is-white.is-focused, html.theme--documenter-dark .button.is-white:active, html.theme--documenter-dark .button.is-white:focus {
-      border-color: white;
-      box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5); }
-    html.theme--documenter-dark .button.is-black.is-hovered, html.theme--documenter-dark .button.is-black:hover {
-      background-color: #1d1d1d; }
-    html.theme--documenter-dark .button.is-black.is-active, html.theme--documenter-dark .button.is-black.is-focused, html.theme--documenter-dark .button.is-black:active, html.theme--documenter-dark .button.is-black:focus {
-      border-color: #0a0a0a;
-      box-shadow: 0 0 0 2px rgba(10, 10, 10, 0.5); }
-    html.theme--documenter-dark .button.is-light.is-hovered, html.theme--documenter-dark .button.is-light:hover {
-      background-color: white; }
-    html.theme--documenter-dark .button.is-light.is-active, html.theme--documenter-dark .button.is-light.is-focused, html.theme--documenter-dark .button.is-light:active, html.theme--documenter-dark .button.is-light:focus {
-      border-color: #ecf0f1;
-      box-shadow: 0 0 0 2px rgba(236, 240, 241, 0.5); }
-    html.theme--documenter-dark .button.is-dark.is-hovered, html.theme--documenter-dark .content kbd.button.is-hovered, html.theme--documenter-dark .button.is-dark:hover, html.theme--documenter-dark .content kbd.button:hover {
-      background-color: #3a4344; }
-    html.theme--documenter-dark .button.is-dark.is-active, html.theme--documenter-dark .content kbd.button.is-active, html.theme--documenter-dark .button.is-dark.is-focused, html.theme--documenter-dark .content kbd.button.is-focused, html.theme--documenter-dark .button.is-dark:active, html.theme--documenter-dark .content kbd.button:active, html.theme--documenter-dark .button.is-dark:focus, html.theme--documenter-dark .content kbd.button:focus {
-      border-color: #282f2f;
-      box-shadow: 0 0 0 2px rgba(40, 47, 47, 0.5); }
-    html.theme--documenter-dark .button.is-primary.is-hovered, html.theme--documenter-dark .docstring > section > a.button.is-hovered.docs-sourcelink, html.theme--documenter-dark .button.is-primary:hover, html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink:hover {
-      background-color: #436d9a; }
-    html.theme--documenter-dark .button.is-primary.is-active, html.theme--documenter-dark .docstring > section > a.button.is-active.docs-sourcelink, html.theme--documenter-dark .button.is-primary.is-focused, html.theme--documenter-dark .docstring > section > a.button.is-focused.docs-sourcelink, html.theme--documenter-dark .button.is-primary:active, html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink:active, html.theme--documenter-dark .button.is-primary:focus, html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink:focus {
-      border-color: #375a7f;
-      box-shadow: 0 0 0 2px rgba(55, 90, 127, 0.5); }
-    html.theme--documenter-dark .button.is-link.is-hovered, html.theme--documenter-dark .button.is-link:hover {
-      background-color: #1fdeb8; }
-    html.theme--documenter-dark .button.is-link.is-active, html.theme--documenter-dark .button.is-link.is-focused, html.theme--documenter-dark .button.is-link:active, html.theme--documenter-dark .button.is-link:focus {
-      border-color: #1abc9c;
-      box-shadow: 0 0 0 2px rgba(26, 188, 156, 0.5); }
-    html.theme--documenter-dark .button.is-info.is-hovered, html.theme--documenter-dark .button.is-info:hover {
-      background-color: #0363a3; }
-    html.theme--documenter-dark .button.is-info.is-active, html.theme--documenter-dark .button.is-info.is-focused, html.theme--documenter-dark .button.is-info:active, html.theme--documenter-dark .button.is-info:focus {
-      border-color: #024c7d;
-      box-shadow: 0 0 0 2px rgba(2, 76, 125, 0.5); }
-    html.theme--documenter-dark .button.is-success.is-hovered, html.theme--documenter-dark .button.is-success:hover {
-      background-color: #00aa48; }
-    html.theme--documenter-dark .button.is-success.is-active, html.theme--documenter-dark .button.is-success.is-focused, html.theme--documenter-dark .button.is-success:active, html.theme--documenter-dark .button.is-success:focus {
-      border-color: #008438;
-      box-shadow: 0 0 0 2px rgba(0, 132, 56, 0.5); }
-    html.theme--documenter-dark .button.is-warning.is-hovered, html.theme--documenter-dark .button.is-warning:hover {
-      background-color: #d39e00; }
-    html.theme--documenter-dark .button.is-warning.is-active, html.theme--documenter-dark .button.is-warning.is-focused, html.theme--documenter-dark .button.is-warning:active, html.theme--documenter-dark .button.is-warning:focus {
-      border-color: #ad8100;
-      box-shadow: 0 0 0 2px rgba(173, 129, 0, 0.5); }
-    html.theme--documenter-dark .button.is-danger.is-hovered, html.theme--documenter-dark .button.is-danger:hover {
-      background-color: #c12110; }
-    html.theme--documenter-dark .button.is-danger.is-active, html.theme--documenter-dark .button.is-danger.is-focused, html.theme--documenter-dark .button.is-danger:active, html.theme--documenter-dark .button.is-danger:focus {
-      border-color: #9e1b0d;
-      box-shadow: 0 0 0 2px rgba(158, 27, 13, 0.5); }
-  html.theme--documenter-dark .label {
-    color: #dbdee0; }
-  html.theme--documenter-dark .button,
-  html.theme--documenter-dark .control.has-icons-left .icon,
-  html.theme--documenter-dark .control.has-icons-right .icon,
-  html.theme--documenter-dark .input,
-  html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input,
-  html.theme--documenter-dark .pagination-ellipsis,
-  html.theme--documenter-dark .pagination-link,
-  html.theme--documenter-dark .pagination-next,
-  html.theme--documenter-dark .pagination-previous,
-  html.theme--documenter-dark .select,
-  html.theme--documenter-dark .select select,
-  html.theme--documenter-dark .textarea {
-    height: 2.5em; }
-  html.theme--documenter-dark .input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input,
-  html.theme--documenter-dark .textarea {
-    transition: all 200ms ease;
-    box-shadow: none;
-    border-width: 1px;
-    padding-left: 1em;
-    padding-right: 1em; }
-  html.theme--documenter-dark .select:after,
-  html.theme--documenter-dark .select select {
-    border-width: 1px; }
-  html.theme--documenter-dark .control.has-addons .button,
-  html.theme--documenter-dark .control.has-addons .input,
-  html.theme--documenter-dark .control.has-addons #documenter .docs-sidebar form.docs-search > input,
-  html.theme--documenter-dark #documenter .docs-sidebar .control.has-addons form.docs-search > input,
-  html.theme--documenter-dark .control.has-addons .select {
-    margin-right: -1px; }
-  html.theme--documenter-dark .notification {
-    background-color: #343c3d; }
-  html.theme--documenter-dark .card {
-    box-shadow: none;
-    border: 1px solid #343c3d;
-    background-color: #282f2f;
-    border-radius: 0.4em; }
-    html.theme--documenter-dark .card .card-image img {
-      border-radius: 0.4em 0.4em 0 0; }
-    html.theme--documenter-dark .card .card-header {
-      box-shadow: none;
-      background-color: rgba(18, 18, 18, 0.2);
-      border-radius: 0.4em 0.4em 0 0; }
-    html.theme--documenter-dark .card .card-footer {
-      background-color: rgba(18, 18, 18, 0.2); }
-    html.theme--documenter-dark .card .card-footer,
-    html.theme--documenter-dark .card .card-footer-item {
-      border-width: 1px;
-      border-color: #343c3d; }
-  html.theme--documenter-dark .notification.is-white a:not(.button) {
-    color: #0a0a0a;
-    text-decoration: underline; }
-  html.theme--documenter-dark .notification.is-black a:not(.button) {
-    color: white;
-    text-decoration: underline; }
-  html.theme--documenter-dark .notification.is-light a:not(.button) {
-    color: #282f2f;
-    text-decoration: underline; }
-  html.theme--documenter-dark .notification.is-dark a:not(.button), html.theme--documenter-dark .content kbd.notification a:not(.button) {
-    color: #ecf0f1;
-    text-decoration: underline; }
-  html.theme--documenter-dark .notification.is-primary a:not(.button), html.theme--documenter-dark .docstring > section > a.notification.docs-sourcelink a:not(.button) {
-    color: #fff;
-    text-decoration: underline; }
-  html.theme--documenter-dark .notification.is-link a:not(.button) {
-    color: #fff;
-    text-decoration: underline; }
-  html.theme--documenter-dark .notification.is-info a:not(.button) {
-    color: #fff;
-    text-decoration: underline; }
-  html.theme--documenter-dark .notification.is-success a:not(.button) {
-    color: #fff;
-    text-decoration: underline; }
-  html.theme--documenter-dark .notification.is-warning a:not(.button) {
-    color: #fff;
-    text-decoration: underline; }
-  html.theme--documenter-dark .notification.is-danger a:not(.button) {
-    color: #fff;
-    text-decoration: underline; }
-  html.theme--documenter-dark .tag, html.theme--documenter-dark .content kbd, html.theme--documenter-dark .docstring > section > a.docs-sourcelink {
-    border-radius: 0.4em; }
-  html.theme--documenter-dark .menu-list a {
-    transition: all 300ms ease; }
-  html.theme--documenter-dark .modal-card-body {
-    background-color: #282f2f; }
-  html.theme--documenter-dark .modal-card-foot,
-  html.theme--documenter-dark .modal-card-head {
-    border-color: #343c3d; }
-  html.theme--documenter-dark .message-header {
-    font-weight: 700;
-    background-color: #343c3d;
-    color: white; }
-  html.theme--documenter-dark .message-body {
-    border-width: 1px;
-    border-color: #343c3d; }
-  html.theme--documenter-dark .navbar {
-    border-radius: 0.4em; }
-    html.theme--documenter-dark .navbar.is-transparent {
-      background: none; }
-    html.theme--documenter-dark .navbar.is-primary .navbar-dropdown a.navbar-item.is-active, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-dropdown a.navbar-item.is-active {
-      background-color: #1abc9c; }
-    @media screen and (max-width: 1055px) {
-      html.theme--documenter-dark .navbar .navbar-menu {
-        background-color: #375a7f;
-        border-radius: 0 0 0.4em 0.4em; } }
-  html.theme--documenter-dark .hero .navbar,
-  html.theme--documenter-dark body > .navbar {
-    border-radius: 0; }
-  html.theme--documenter-dark .pagination-link,
-  html.theme--documenter-dark .pagination-next,
-  html.theme--documenter-dark .pagination-previous {
-    border-width: 1px; }
-  html.theme--documenter-dark .panel-block,
-  html.theme--documenter-dark .panel-heading,
-  html.theme--documenter-dark .panel-tabs {
-    border-width: 1px; }
-    html.theme--documenter-dark .panel-block:first-child,
-    html.theme--documenter-dark .panel-heading:first-child,
-    html.theme--documenter-dark .panel-tabs:first-child {
-      border-top-width: 1px; }
-  html.theme--documenter-dark .panel-heading {
-    font-weight: 700; }
-  html.theme--documenter-dark .panel-tabs a {
-    border-width: 1px;
-    margin-bottom: -1px; }
-    html.theme--documenter-dark .panel-tabs a.is-active {
-      border-bottom-color: #17a689; }
-  html.theme--documenter-dark .panel-block:hover {
-    color: #1dd2af; }
-    html.theme--documenter-dark .panel-block:hover .panel-icon {
-      color: #1dd2af; }
-  html.theme--documenter-dark .panel-block.is-active .panel-icon {
-    color: #17a689; }
-  html.theme--documenter-dark .tabs a {
-    border-bottom-width: 1px;
-    margin-bottom: -1px; }
-  html.theme--documenter-dark .tabs ul {
-    border-bottom-width: 1px; }
-  html.theme--documenter-dark .tabs.is-boxed a {
-    border-width: 1px; }
-  html.theme--documenter-dark .tabs.is-boxed li.is-active a {
-    background-color: #1f2424; }
-  html.theme--documenter-dark .tabs.is-toggle li a {
-    border-width: 1px;
-    margin-bottom: 0; }
-  html.theme--documenter-dark .tabs.is-toggle li + li {
-    margin-left: -1px; }
-  html.theme--documenter-dark .hero.is-white .navbar .navbar-dropdown .navbar-item:hover {
-    background-color: transparent; }
-  html.theme--documenter-dark .hero.is-black .navbar .navbar-dropdown .navbar-item:hover {
-    background-color: transparent; }
-  html.theme--documenter-dark .hero.is-light .navbar .navbar-dropdown .navbar-item:hover {
-    background-color: transparent; }
-  html.theme--documenter-dark .hero.is-dark .navbar .navbar-dropdown .navbar-item:hover, html.theme--documenter-dark .content kbd.hero .navbar .navbar-dropdown .navbar-item:hover {
-    background-color: transparent; }
-  html.theme--documenter-dark .hero.is-primary .navbar .navbar-dropdown .navbar-item:hover, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .navbar .navbar-dropdown .navbar-item:hover {
-    background-color: transparent; }
-  html.theme--documenter-dark .hero.is-link .navbar .navbar-dropdown .navbar-item:hover {
-    background-color: transparent; }
-  html.theme--documenter-dark .hero.is-info .navbar .navbar-dropdown .navbar-item:hover {
-    background-color: transparent; }
-  html.theme--documenter-dark .hero.is-success .navbar .navbar-dropdown .navbar-item:hover {
-    background-color: transparent; }
-  html.theme--documenter-dark .hero.is-warning .navbar .navbar-dropdown .navbar-item:hover {
-    background-color: transparent; }
-  html.theme--documenter-dark .hero.is-danger .navbar .navbar-dropdown .navbar-item:hover {
-    background-color: transparent; }
-  html.theme--documenter-dark h1 .docs-heading-anchor, html.theme--documenter-dark h1 .docs-heading-anchor:hover, html.theme--documenter-dark h1 .docs-heading-anchor:visited, html.theme--documenter-dark h2 .docs-heading-anchor, html.theme--documenter-dark h2 .docs-heading-anchor:hover, html.theme--documenter-dark h2 .docs-heading-anchor:visited, html.theme--documenter-dark h3 .docs-heading-anchor, html.theme--documenter-dark h3 .docs-heading-anchor:hover, html.theme--documenter-dark h3 .docs-heading-anchor:visited, html.theme--documenter-dark h4 .docs-heading-anchor, html.theme--documenter-dark h4 .docs-heading-anchor:hover, html.theme--documenter-dark h4 .docs-heading-anchor:visited, html.theme--documenter-dark h5 .docs-heading-anchor, html.theme--documenter-dark h5 .docs-heading-anchor:hover, html.theme--documenter-dark h5 .docs-heading-anchor:visited, html.theme--documenter-dark h6 .docs-heading-anchor, html.theme--documenter-dark h6 .docs-heading-anchor:hover, html.theme--documenter-dark h6 .docs-heading-anchor:visited {
-    color: #f2f2f2; }
-  html.theme--documenter-dark h1 .docs-heading-anchor-permalink, html.theme--documenter-dark h2 .docs-heading-anchor-permalink, html.theme--documenter-dark h3 .docs-heading-anchor-permalink, html.theme--documenter-dark h4 .docs-heading-anchor-permalink, html.theme--documenter-dark h5 .docs-heading-anchor-permalink, html.theme--documenter-dark h6 .docs-heading-anchor-permalink {
-    visibility: hidden;
-    vertical-align: middle;
-    margin-left: 0.5em;
-    font-size: 0.7rem; }
-    html.theme--documenter-dark h1 .docs-heading-anchor-permalink::before, html.theme--documenter-dark h2 .docs-heading-anchor-permalink::before, html.theme--documenter-dark h3 .docs-heading-anchor-permalink::before, html.theme--documenter-dark h4 .docs-heading-anchor-permalink::before, html.theme--documenter-dark h5 .docs-heading-anchor-permalink::before, html.theme--documenter-dark h6 .docs-heading-anchor-permalink::before {
-      font-family: "Font Awesome 5 Free";
-      font-weight: 900;
-      content: "\f0c1"; }
-  html.theme--documenter-dark h1:hover .docs-heading-anchor-permalink, html.theme--documenter-dark h2:hover .docs-heading-anchor-permalink, html.theme--documenter-dark h3:hover .docs-heading-anchor-permalink, html.theme--documenter-dark h4:hover .docs-heading-anchor-permalink, html.theme--documenter-dark h5:hover .docs-heading-anchor-permalink, html.theme--documenter-dark h6:hover .docs-heading-anchor-permalink {
-    visibility: visible; }
-  html.theme--documenter-dark .docs-light-only {
-    display: none !important; }
-  html.theme--documenter-dark pre {
-    position: relative;
-    overflow: hidden; }
-    html.theme--documenter-dark pre code, html.theme--documenter-dark pre code.hljs {
-      padding: 0 0.75rem !important;
-      overflow: auto;
-      display: block; }
-    html.theme--documenter-dark pre code:first-of-type, html.theme--documenter-dark pre code.hljs:first-of-type {
-      padding-top: 0.5rem !important; }
-    html.theme--documenter-dark pre code:last-of-type, html.theme--documenter-dark pre code.hljs:last-of-type {
-      padding-bottom: 0.5rem !important; }
-    html.theme--documenter-dark pre .copy-button {
-      opacity: 0.2;
-      transition: opacity 0.2s;
-      position: absolute;
-      right: 0em;
-      top: 0em;
-      padding: 0.5em;
-      width: 2.5em;
-      height: 2.5em;
-      background: transparent;
-      border: none;
-      font-family: "Font Awesome 5 Free";
-      color: #fff;
-      cursor: pointer;
-      text-align: center; }
-      html.theme--documenter-dark pre .copy-button:focus, html.theme--documenter-dark pre .copy-button:hover {
-        opacity: 1;
-        background: rgba(255, 255, 255, 0.1);
-        color: #1abc9c; }
-      html.theme--documenter-dark pre .copy-button.success {
-        color: #259a12;
-        opacity: 1; }
-      html.theme--documenter-dark pre .copy-button.error {
-        color: #cb3c33;
-        opacity: 1; }
-    html.theme--documenter-dark pre:hover .copy-button {
-      opacity: 1; }
-  html.theme--documenter-dark .admonition {
-    background-color: #282f2f;
-    border-style: solid;
-    border-width: 1px;
-    border-color: #5e6d6f;
-    border-radius: 0.4em;
-    font-size: 15px; }
-    html.theme--documenter-dark .admonition strong {
-      color: currentColor; }
-    html.theme--documenter-dark .admonition.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.admonition {
-      font-size: 0.85em; }
-    html.theme--documenter-dark .admonition.is-medium {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .admonition.is-large {
-      font-size: 1.5rem; }
-    html.theme--documenter-dark .admonition.is-default {
-      background-color: #282f2f;
-      border-color: #5e6d6f; }
-      html.theme--documenter-dark .admonition.is-default > .admonition-header {
-        background-color: #5e6d6f; }
-    html.theme--documenter-dark .admonition.is-info {
-      background-color: #282f2f;
-      border-color: #024c7d; }
-      html.theme--documenter-dark .admonition.is-info > .admonition-header {
-        background-color: #024c7d; }
-    html.theme--documenter-dark .admonition.is-success {
-      background-color: #282f2f;
-      border-color: #008438; }
-      html.theme--documenter-dark .admonition.is-success > .admonition-header {
-        background-color: #008438; }
-    html.theme--documenter-dark .admonition.is-warning {
-      background-color: #282f2f;
-      border-color: #ad8100; }
-      html.theme--documenter-dark .admonition.is-warning > .admonition-header {
-        background-color: #ad8100; }
-    html.theme--documenter-dark .admonition.is-danger {
-      background-color: #282f2f;
-      border-color: #9e1b0d; }
-      html.theme--documenter-dark .admonition.is-danger > .admonition-header {
-        background-color: #9e1b0d; }
-    html.theme--documenter-dark .admonition.is-compat {
-      background-color: #282f2f;
-      border-color: #137886; }
-      html.theme--documenter-dark .admonition.is-compat > .admonition-header {
-        background-color: #137886; }
-  html.theme--documenter-dark .admonition-header {
-    background-color: #5e6d6f;
-    align-items: center;
-    font-weight: 700;
-    justify-content: space-between;
-    line-height: 1.25;
-    padding: 0.5rem 0.75rem;
-    position: relative; }
-    html.theme--documenter-dark .admonition-header:before {
-      font-family: "Font Awesome 5 Free";
-      font-weight: 900;
-      margin-right: 0.75rem;
-      content: "\f06a"; }
-  html.theme--documenter-dark .admonition-body {
-    color: #fff;
-    padding: 0.5rem 0.75rem; }
-    html.theme--documenter-dark .admonition-body pre {
-      background-color: #282f2f; }
-    html.theme--documenter-dark .admonition-body code {
-      background-color: rgba(255, 255, 255, 0.05); }
-  html.theme--documenter-dark .docstring {
-    margin-bottom: 1em;
-    background-color: transparent;
-    border: 1px solid #5e6d6f;
-    box-shadow: none;
-    max-width: 100%; }
-    html.theme--documenter-dark .docstring > header {
-      display: flex;
-      flex-grow: 1;
-      align-items: stretch;
-      padding: 0.5rem 0.75rem;
-      background-color: #282f2f;
-      box-shadow: 0 1px 2px rgba(10, 10, 10, 0.1);
-      box-shadow: none;
-      border-bottom: 1px solid #5e6d6f; }
-      html.theme--documenter-dark .docstring > header code {
-        background-color: transparent; }
-      html.theme--documenter-dark .docstring > header .docstring-binding {
-        margin-right: 0.3em; }
-      html.theme--documenter-dark .docstring > header .docstring-category {
-        margin-left: 0.3em; }
-    html.theme--documenter-dark .docstring > section {
-      position: relative;
-      padding: 0.75rem 0.75rem;
-      border-bottom: 1px solid #5e6d6f; }
-      html.theme--documenter-dark .docstring > section:last-child {
-        border-bottom: none; }
-      html.theme--documenter-dark .docstring > section > a.docs-sourcelink {
-        transition: opacity 0.3s;
-        opacity: 0;
-        position: absolute;
-        right: 0.375rem;
-        bottom: 0.375rem; }
-        html.theme--documenter-dark .docstring > section > a.docs-sourcelink:focus {
-          opacity: 1 !important; }
-    html.theme--documenter-dark .docstring:hover > section > a.docs-sourcelink {
-      opacity: 0.2; }
-    html.theme--documenter-dark .docstring:focus-within > section > a.docs-sourcelink {
-      opacity: 0.2; }
-    html.theme--documenter-dark .docstring > section:hover a.docs-sourcelink {
-      opacity: 1; }
-  html.theme--documenter-dark .documenter-example-output {
-    background-color: #1f2424; }
-  html.theme--documenter-dark .outdated-warning-overlay {
-    position: fixed;
-    top: 0;
-    left: 0;
-    right: 0;
-    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
-    z-index: 999;
-    background-color: #282f2f;
-    border-bottom: 3px solid #9e1b0d;
-    padding: 10px 35px;
-    text-align: center;
-    font-size: 15px; }
-    html.theme--documenter-dark .outdated-warning-overlay .outdated-warning-closer {
-      position: absolute;
-      top: calc(50% - 10px);
-      right: 18px;
-      cursor: pointer;
-      width: 12px; }
-    html.theme--documenter-dark .outdated-warning-overlay a {
-      color: #1abc9c; }
-      html.theme--documenter-dark .outdated-warning-overlay a:hover {
-        color: #1dd2af; }
-  html.theme--documenter-dark .content pre {
-    border: 1px solid #5e6d6f; }
-  html.theme--documenter-dark .content code {
-    font-weight: inherit; }
-  html.theme--documenter-dark .content a code {
-    color: #1abc9c; }
-  html.theme--documenter-dark .content h1 code, html.theme--documenter-dark .content h2 code, html.theme--documenter-dark .content h3 code, html.theme--documenter-dark .content h4 code, html.theme--documenter-dark .content h5 code, html.theme--documenter-dark .content h6 code {
-    color: #f2f2f2; }
-  html.theme--documenter-dark .content table {
-    display: block;
-    width: initial;
-    max-width: 100%;
-    overflow-x: auto; }
-  html.theme--documenter-dark .content blockquote > ul:first-child, html.theme--documenter-dark .content blockquote > ol:first-child, html.theme--documenter-dark .content .admonition-body > ul:first-child, html.theme--documenter-dark .content .admonition-body > ol:first-child {
-    margin-top: 0; }
-  html.theme--documenter-dark pre, html.theme--documenter-dark code {
-    font-variant-ligatures: no-contextual; }
-  html.theme--documenter-dark .breadcrumb a.is-disabled {
-    cursor: default;
-    pointer-events: none; }
-    html.theme--documenter-dark .breadcrumb a.is-disabled, html.theme--documenter-dark .breadcrumb a.is-disabled:hover {
-      color: #f2f2f2; }
-  html.theme--documenter-dark .hljs {
-    background: initial !important; }
-  html.theme--documenter-dark .katex .katex-mathml {
-    top: 0;
-    right: 0; }
-  html.theme--documenter-dark .katex-display, html.theme--documenter-dark mjx-container, html.theme--documenter-dark .MathJax_Display {
-    margin: 0.5em 0 !important; }
-  html.theme--documenter-dark html {
-    -moz-osx-font-smoothing: auto;
-    -webkit-font-smoothing: auto; }
-  html.theme--documenter-dark li.no-marker {
-    list-style: none; }
-  html.theme--documenter-dark #documenter .docs-main > article {
-    overflow-wrap: break-word; }
-    html.theme--documenter-dark #documenter .docs-main > article .math-container {
-      overflow-x: auto;
-      overflow-y: hidden; }
-  @media screen and (min-width: 1056px) {
-    html.theme--documenter-dark #documenter .docs-main {
-      max-width: 52rem;
-      margin-left: 20rem;
-      padding-right: 1rem; } }
-  @media screen and (max-width: 1055px) {
-    html.theme--documenter-dark #documenter .docs-main {
-      width: 100%; }
-      html.theme--documenter-dark #documenter .docs-main > article {
-        max-width: 52rem;
-        margin-left: auto;
-        margin-right: auto;
-        margin-bottom: 1rem;
-        padding: 0 1rem; }
-      html.theme--documenter-dark #documenter .docs-main > header, html.theme--documenter-dark #documenter .docs-main > nav {
-        max-width: 100%;
-        width: 100%;
-        margin: 0; } }
-  html.theme--documenter-dark #documenter .docs-main header.docs-navbar {
-    background-color: #1f2424;
-    border-bottom: 1px solid #5e6d6f;
-    z-index: 2;
-    min-height: 4rem;
-    margin-bottom: 1rem;
-    display: flex; }
-    html.theme--documenter-dark #documenter .docs-main header.docs-navbar .breadcrumb {
-      flex-grow: 1; }
-    html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right {
-      display: flex;
-      white-space: nowrap; }
-      html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-icon, html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-label, html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-sidebar-button {
-        display: inline-block; }
-      html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-label {
-        padding: 0;
-        margin-left: 0.3em; }
-      html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-settings-button {
-        margin: auto 0 auto 1rem; }
-      html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-sidebar-button {
-        font-size: 1.5rem;
-        margin: auto 0 auto 1rem; }
-    html.theme--documenter-dark #documenter .docs-main header.docs-navbar > * {
-      margin: auto 0; }
-    @media screen and (max-width: 1055px) {
-      html.theme--documenter-dark #documenter .docs-main header.docs-navbar {
-        position: sticky;
-        top: 0;
-        padding: 0 1rem;
-        /* For Headroom.js */
-        transition-property: top, box-shadow;
-        -webkit-transition-property: top, box-shadow;
-        /* Safari */
-        transition-duration: 0.3s;
-        -webkit-transition-duration: 0.3s;
-        /* Safari */ }
-        html.theme--documenter-dark #documenter .docs-main header.docs-navbar.headroom--not-top {
-          box-shadow: 0.2rem 0rem 0.4rem #171717;
-          transition-duration: 0.7s;
-          -webkit-transition-duration: 0.7s;
-          /* Safari */ }
-        html.theme--documenter-dark #documenter .docs-main header.docs-navbar.headroom--unpinned.headroom--not-top.headroom--not-bottom {
-          top: -4.5rem;
-          transition-duration: 0.7s;
-          -webkit-transition-duration: 0.7s;
-          /* Safari */ } }
-  html.theme--documenter-dark #documenter .docs-main section.footnotes {
-    border-top: 1px solid #5e6d6f; }
-    html.theme--documenter-dark #documenter .docs-main section.footnotes li .tag:first-child, html.theme--documenter-dark #documenter .docs-main section.footnotes li .docstring > section > a.docs-sourcelink:first-child, html.theme--documenter-dark #documenter .docs-main section.footnotes li .content kbd:first-child, html.theme--documenter-dark .content #documenter .docs-main section.footnotes li kbd:first-child {
-      margin-right: 1em;
-      margin-bottom: 0.4em; }
-  html.theme--documenter-dark #documenter .docs-main .docs-footer {
-    display: flex;
-    flex-wrap: wrap;
-    margin-left: 0;
-    margin-right: 0;
-    border-top: 1px solid #5e6d6f;
-    padding-top: 1rem;
-    padding-bottom: 1rem; }
-    @media screen and (max-width: 1055px) {
-      html.theme--documenter-dark #documenter .docs-main .docs-footer {
-        padding-left: 1rem;
-        padding-right: 1rem; } }
-    html.theme--documenter-dark #documenter .docs-main .docs-footer .docs-footer-nextpage, html.theme--documenter-dark #documenter .docs-main .docs-footer .docs-footer-prevpage {
-      flex-grow: 1; }
-    html.theme--documenter-dark #documenter .docs-main .docs-footer .docs-footer-nextpage {
-      text-align: right; }
-    html.theme--documenter-dark #documenter .docs-main .docs-footer .flexbox-break {
-      flex-basis: 100%;
-      height: 0; }
-    html.theme--documenter-dark #documenter .docs-main .docs-footer .footer-message {
-      font-size: 0.8em;
-      margin: 0.5em auto 0 auto;
-      text-align: center; }
-  html.theme--documenter-dark #documenter .docs-sidebar {
-    display: flex;
-    flex-direction: column;
-    color: #fff;
-    background-color: #282f2f;
-    border-right: 1px solid #5e6d6f;
-    padding: 0;
-    flex: 0 0 18rem;
-    z-index: 5;
-    font-size: 15px;
-    position: fixed;
-    left: -18rem;
-    width: 18rem;
-    height: 100%;
-    transition: left 0.3s;
-    /* Setting up a nicer theme style for the scrollbar */ }
-    html.theme--documenter-dark #documenter .docs-sidebar.visible {
-      left: 0;
-      box-shadow: 0.4rem 0rem 0.8rem #171717; }
-      @media screen and (min-width: 1056px) {
-        html.theme--documenter-dark #documenter .docs-sidebar.visible {
-          box-shadow: none; } }
-    @media screen and (min-width: 1056px) {
-      html.theme--documenter-dark #documenter .docs-sidebar {
-        left: 0;
-        top: 0; } }
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo {
-      margin-top: 1rem;
-      padding: 0 1rem; }
-      html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img {
-        max-height: 6rem;
-        margin: auto; }
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-package-name {
-      flex-shrink: 0;
-      font-size: 1.5rem;
-      font-weight: 700;
-      text-align: center;
-      white-space: nowrap;
-      overflow: hidden;
-      padding: 0.5rem 0; }
-      html.theme--documenter-dark #documenter .docs-sidebar .docs-package-name .docs-autofit {
-        max-width: 16.2rem; }
-      html.theme--documenter-dark #documenter .docs-sidebar .docs-package-name a, html.theme--documenter-dark #documenter .docs-sidebar .docs-package-name a:hover {
-        color: #fff; }
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-version-selector {
-      border-top: 1px solid #5e6d6f;
-      display: none;
-      padding: 0.5rem; }
-      html.theme--documenter-dark #documenter .docs-sidebar .docs-version-selector.visible {
-        display: flex; }
-    html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu {
-      flex-grow: 1;
-      user-select: none;
-      border-top: 1px solid #5e6d6f;
-      padding-bottom: 1.5rem;
-      /* Managing collapsible submenus */ }
-      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu > li > .tocitem {
-        font-weight: bold; }
-      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu > li li {
-        font-size: 14.25px;
-        margin-left: 1em;
-        border-left: 1px solid #5e6d6f; }
-      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu input.collapse-toggle {
-        display: none; }
-      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu ul.collapsed {
-        display: none; }
-      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu input:checked ~ ul.collapsed {
-        display: block; }
-      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu label.tocitem {
-        display: flex; }
-        html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu label.tocitem .docs-label {
-          flex-grow: 2; }
-        html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu label.tocitem .docs-chevron {
-          display: inline-block;
-          font-style: normal;
-          font-variant: normal;
-          text-rendering: auto;
-          line-height: 1;
-          font-size: 11.25px;
-          margin-left: 1rem;
-          margin-top: auto;
-          margin-bottom: auto; }
-          html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu label.tocitem .docs-chevron::before {
-            font-family: "Font Awesome 5 Free";
-            font-weight: 900;
-            content: "\f054"; }
-      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu input:checked ~ label.tocitem .docs-chevron::before {
-        content: "\f078"; }
-      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu .tocitem {
-        display: block;
-        padding: 0.5rem 0.5rem; }
-        html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu .tocitem, html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu .tocitem:hover {
-          color: #fff;
-          background: #282f2f; }
-      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu a.tocitem:hover, html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu label.tocitem:hover {
-        color: #fff;
-        background-color: #32393a; }
-      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu li.is-active {
-        border-top: 1px solid #5e6d6f;
-        border-bottom: 1px solid #5e6d6f;
-        background-color: #1f2424; }
-        html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu li.is-active .tocitem, html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu li.is-active .tocitem:hover {
-          background-color: #1f2424;
-          color: #fff; }
-        html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu li.is-active ul.internal .tocitem:hover {
-          background-color: #32393a;
-          color: #fff; }
-      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu > li.is-active:first-child {
-        border-top: none; }
-      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu ul.internal {
-        margin: 0 0.5rem 0.5rem;
-        border-top: 1px solid #5e6d6f; }
-        html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu ul.internal li {
-          font-size: 12.75px;
-          border-left: none;
-          margin-left: 0;
-          margin-top: 0.5rem; }
-        html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu ul.internal .tocitem {
-          width: 100%;
-          padding: 0; }
-          html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu ul.internal .tocitem::before {
-            content: "⚬";
-            margin-right: 0.4em; }
-    html.theme--documenter-dark #documenter .docs-sidebar form.docs-search {
-      margin: auto;
-      margin-top: 0.5rem;
-      margin-bottom: 0.5rem; }
-      html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input {
-        width: 14.4rem; }
-    @media screen and (min-width: 1056px) {
-      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu {
-        overflow-y: auto;
-        -webkit-overflow-scroll: touch; }
-        html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar {
-          width: .3rem;
-          background: none; }
-        html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar-thumb {
-          border-radius: 5px 0px 0px 5px;
-          background: #3b4445; }
-        html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar-thumb:hover {
-          background: #4e5a5c; } }
-    @media screen and (max-width: 1055px) {
-      html.theme--documenter-dark #documenter .docs-sidebar {
-        overflow-y: auto;
-        -webkit-overflow-scroll: touch; }
-        html.theme--documenter-dark #documenter .docs-sidebar::-webkit-scrollbar {
-          width: .3rem;
-          background: none; }
-        html.theme--documenter-dark #documenter .docs-sidebar::-webkit-scrollbar-thumb {
-          border-radius: 5px 0px 0px 5px;
-          background: #3b4445; }
-        html.theme--documenter-dark #documenter .docs-sidebar::-webkit-scrollbar-thumb:hover {
-          background: #4e5a5c; } }
-  html.theme--documenter-dark #documenter .docs-main #documenter-search-info {
-    margin-bottom: 1rem; }
-  html.theme--documenter-dark #documenter .docs-main #documenter-search-results {
-    list-style-type: circle;
-    list-style-position: outside; }
-    html.theme--documenter-dark #documenter .docs-main #documenter-search-results li {
-      margin-left: 2rem; }
-    html.theme--documenter-dark #documenter .docs-main #documenter-search-results .docs-highlight {
-      background-color: yellow; }
-  html.theme--documenter-dark {
-    background-color: #1f2424;
-    font-size: 16px;
-    min-width: 300px;
-    overflow-x: auto;
-    overflow-y: scroll;
-    text-rendering: optimizeLegibility;
-    text-size-adjust: 100%; }
-  html.theme--documenter-dark .ansi span.sgr1 {
-    font-weight: bolder; }
-  html.theme--documenter-dark .ansi span.sgr2 {
-    font-weight: lighter; }
-  html.theme--documenter-dark .ansi span.sgr3 {
-    font-style: italic; }
-  html.theme--documenter-dark .ansi span.sgr4 {
-    text-decoration: underline; }
-  html.theme--documenter-dark .ansi span.sgr7 {
-    color: #1f2424;
-    background-color: #fff; }
-  html.theme--documenter-dark .ansi span.sgr8 {
-    color: transparent; }
-    html.theme--documenter-dark .ansi span.sgr8 span {
-      color: transparent; }
-  html.theme--documenter-dark .ansi span.sgr9 {
-    text-decoration: line-through; }
-  html.theme--documenter-dark .ansi span.sgr30 {
-    color: #242424; }
-  html.theme--documenter-dark .ansi span.sgr31 {
-    color: #f6705f; }
-  html.theme--documenter-dark .ansi span.sgr32 {
-    color: #4fb43a; }
-  html.theme--documenter-dark .ansi span.sgr33 {
-    color: #f4c72f; }
-  html.theme--documenter-dark .ansi span.sgr34 {
-    color: #7587f0; }
-  html.theme--documenter-dark .ansi span.sgr35 {
-    color: #bc89d3; }
-  html.theme--documenter-dark .ansi span.sgr36 {
-    color: #49b6ca; }
-  html.theme--documenter-dark .ansi span.sgr37 {
-    color: #b3bdbe; }
-  html.theme--documenter-dark .ansi span.sgr40 {
-    background-color: #242424; }
-  html.theme--documenter-dark .ansi span.sgr41 {
-    background-color: #f6705f; }
-  html.theme--documenter-dark .ansi span.sgr42 {
-    background-color: #4fb43a; }
-  html.theme--documenter-dark .ansi span.sgr43 {
-    background-color: #f4c72f; }
-  html.theme--documenter-dark .ansi span.sgr44 {
-    background-color: #7587f0; }
-  html.theme--documenter-dark .ansi span.sgr45 {
-    background-color: #bc89d3; }
-  html.theme--documenter-dark .ansi span.sgr46 {
-    background-color: #49b6ca; }
-  html.theme--documenter-dark .ansi span.sgr47 {
-    background-color: #b3bdbe; }
-  html.theme--documenter-dark .ansi span.sgr90 {
-    color: #92a0a2; }
-  html.theme--documenter-dark .ansi span.sgr91 {
-    color: #ff8674; }
-  html.theme--documenter-dark .ansi span.sgr92 {
-    color: #79d462; }
-  html.theme--documenter-dark .ansi span.sgr93 {
-    color: #ffe76b; }
-  html.theme--documenter-dark .ansi span.sgr94 {
-    color: #8a98ff; }
-  html.theme--documenter-dark .ansi span.sgr95 {
-    color: #d2a4e6; }
-  html.theme--documenter-dark .ansi span.sgr96 {
-    color: #6bc8db; }
-  html.theme--documenter-dark .ansi span.sgr97 {
-    color: #ecf0f1; }
-  html.theme--documenter-dark .ansi span.sgr100 {
-    background-color: #92a0a2; }
-  html.theme--documenter-dark .ansi span.sgr101 {
-    background-color: #ff8674; }
-  html.theme--documenter-dark .ansi span.sgr102 {
-    background-color: #79d462; }
-  html.theme--documenter-dark .ansi span.sgr103 {
-    background-color: #ffe76b; }
-  html.theme--documenter-dark .ansi span.sgr104 {
-    background-color: #8a98ff; }
-  html.theme--documenter-dark .ansi span.sgr105 {
-    background-color: #d2a4e6; }
-  html.theme--documenter-dark .ansi span.sgr106 {
-    background-color: #6bc8db; }
-  html.theme--documenter-dark .ansi span.sgr107 {
-    background-color: #ecf0f1; }
-  html.theme--documenter-dark code.language-julia-repl > span.hljs-meta {
-    color: #4fb43a;
-    font-weight: bolder; }
-  html.theme--documenter-dark .hljs {
-    background: #2b2b2b;
-    color: #f8f8f2; }
-  html.theme--documenter-dark .hljs-comment,
-  html.theme--documenter-dark .hljs-quote {
-    color: #d4d0ab; }
-  html.theme--documenter-dark .hljs-variable,
-  html.theme--documenter-dark .hljs-template-variable,
-  html.theme--documenter-dark .hljs-tag,
-  html.theme--documenter-dark .hljs-name,
-  html.theme--documenter-dark .hljs-selector-id,
-  html.theme--documenter-dark .hljs-selector-class,
-  html.theme--documenter-dark .hljs-regexp,
-  html.theme--documenter-dark .hljs-deletion {
-    color: #ffa07a; }
-  html.theme--documenter-dark .hljs-number,
-  html.theme--documenter-dark .hljs-built_in,
-  html.theme--documenter-dark .hljs-literal,
-  html.theme--documenter-dark .hljs-type,
-  html.theme--documenter-dark .hljs-params,
-  html.theme--documenter-dark .hljs-meta,
-  html.theme--documenter-dark .hljs-link {
-    color: #f5ab35; }
-  html.theme--documenter-dark .hljs-attribute {
-    color: #ffd700; }
-  html.theme--documenter-dark .hljs-string,
-  html.theme--documenter-dark .hljs-symbol,
-  html.theme--documenter-dark .hljs-bullet,
-  html.theme--documenter-dark .hljs-addition {
-    color: #abe338; }
-  html.theme--documenter-dark .hljs-title,
-  html.theme--documenter-dark .hljs-section {
-    color: #00e0e0; }
-  html.theme--documenter-dark .hljs-keyword,
-  html.theme--documenter-dark .hljs-selector-tag {
-    color: #dcc6e0; }
-  html.theme--documenter-dark .hljs-emphasis {
-    font-style: italic; }
-  html.theme--documenter-dark .hljs-strong {
-    font-weight: bold; }
-  @media screen and (-ms-high-contrast: active) {
-    html.theme--documenter-dark .hljs-addition,
-    html.theme--documenter-dark .hljs-attribute,
-    html.theme--documenter-dark .hljs-built_in,
-    html.theme--documenter-dark .hljs-bullet,
-    html.theme--documenter-dark .hljs-comment,
-    html.theme--documenter-dark .hljs-link,
-    html.theme--documenter-dark .hljs-literal,
-    html.theme--documenter-dark .hljs-meta,
-    html.theme--documenter-dark .hljs-number,
-    html.theme--documenter-dark .hljs-params,
-    html.theme--documenter-dark .hljs-string,
-    html.theme--documenter-dark .hljs-symbol,
-    html.theme--documenter-dark .hljs-type,
-    html.theme--documenter-dark .hljs-quote {
-      color: highlight; }
-    html.theme--documenter-dark .hljs-keyword,
-    html.theme--documenter-dark .hljs-selector-tag {
-      font-weight: bold; } }
-  html.theme--documenter-dark .hljs-subst {
-    color: #f8f8f2; }
diff --git a/previews/PR645/assets/themes/documenter-light.css b/previews/PR645/assets/themes/documenter-light.css
deleted file mode 100644
index 9595d5b8e..000000000
--- a/previews/PR645/assets/themes/documenter-light.css
+++ /dev/null
@@ -1,7738 +0,0 @@
-@charset "UTF-8";
-/* Font Awesome 5 mixin. Can be included in any rule that should render Font Awesome icons. */
-@keyframes spinAround {
-  from {
-    transform: rotate(0deg); }
-  to {
-    transform: rotate(359deg); } }
-
-.tabs, .pagination-previous,
-.pagination-next,
-.pagination-link,
-.pagination-ellipsis, .breadcrumb, .file, .button, .is-unselectable, .modal-close, .delete {
-  -webkit-touch-callout: none;
-  -webkit-user-select: none;
-  -moz-user-select: none;
-  -ms-user-select: none;
-  user-select: none; }
-
-.navbar-link:not(.is-arrowless)::after, .select:not(.is-multiple):not(.is-loading)::after {
-  border: 3px solid transparent;
-  border-radius: 2px;
-  border-right: 0;
-  border-top: 0;
-  content: " ";
-  display: block;
-  height: 0.625em;
-  margin-top: -0.4375em;
-  pointer-events: none;
-  position: absolute;
-  top: 50%;
-  transform: rotate(-45deg);
-  transform-origin: center;
-  width: 0.625em; }
-
-.admonition:not(:last-child), .tabs:not(:last-child), .message:not(:last-child), .list:not(:last-child), .level:not(:last-child), .breadcrumb:not(:last-child), .highlight:not(:last-child), .block:not(:last-child), .title:not(:last-child),
-.subtitle:not(:last-child), .table-container:not(:last-child), .table:not(:last-child), .progress:not(:last-child), .notification:not(:last-child), .content:not(:last-child), .box:not(:last-child) {
-  margin-bottom: 1.5rem; }
-
-.modal-close, .delete {
-  -moz-appearance: none;
-  -webkit-appearance: none;
-  background-color: rgba(10, 10, 10, 0.2);
-  border: none;
-  border-radius: 290486px;
-  cursor: pointer;
-  pointer-events: auto;
-  display: inline-block;
-  flex-grow: 0;
-  flex-shrink: 0;
-  font-size: 0;
-  height: 20px;
-  max-height: 20px;
-  max-width: 20px;
-  min-height: 20px;
-  min-width: 20px;
-  outline: none;
-  position: relative;
-  vertical-align: top;
-  width: 20px; }
-  .modal-close::before, .delete::before, .modal-close::after, .delete::after {
-    background-color: white;
-    content: "";
-    display: block;
-    left: 50%;
-    position: absolute;
-    top: 50%;
-    transform: translateX(-50%) translateY(-50%) rotate(45deg);
-    transform-origin: center center; }
-  .modal-close::before, .delete::before {
-    height: 2px;
-    width: 50%; }
-  .modal-close::after, .delete::after {
-    height: 50%;
-    width: 2px; }
-  .modal-close:hover, .delete:hover, .modal-close:focus, .delete:focus {
-    background-color: rgba(10, 10, 10, 0.3); }
-  .modal-close:active, .delete:active {
-    background-color: rgba(10, 10, 10, 0.4); }
-  .is-small.modal-close, #documenter .docs-sidebar form.docs-search > input.modal-close, .is-small.delete, #documenter .docs-sidebar form.docs-search > input.delete {
-    height: 16px;
-    max-height: 16px;
-    max-width: 16px;
-    min-height: 16px;
-    min-width: 16px;
-    width: 16px; }
-  .is-medium.modal-close, .is-medium.delete {
-    height: 24px;
-    max-height: 24px;
-    max-width: 24px;
-    min-height: 24px;
-    min-width: 24px;
-    width: 24px; }
-  .is-large.modal-close, .is-large.delete {
-    height: 32px;
-    max-height: 32px;
-    max-width: 32px;
-    min-height: 32px;
-    min-width: 32px;
-    width: 32px; }
-
-.control.is-loading::after, .select.is-loading::after, .loader, .button.is-loading::after {
-  animation: spinAround 500ms infinite linear;
-  border: 2px solid #dbdbdb;
-  border-radius: 290486px;
-  border-right-color: transparent;
-  border-top-color: transparent;
-  content: "";
-  display: block;
-  height: 1em;
-  position: relative;
-  width: 1em; }
-
-.hero-video, .modal-background, .modal, .image.is-square img, #documenter .docs-sidebar .docs-logo > img.is-square img,
-.image.is-square .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-square .has-ratio, .image.is-1by1 img, #documenter .docs-sidebar .docs-logo > img.is-1by1 img,
-.image.is-1by1 .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-1by1 .has-ratio, .image.is-5by4 img, #documenter .docs-sidebar .docs-logo > img.is-5by4 img,
-.image.is-5by4 .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-5by4 .has-ratio, .image.is-4by3 img, #documenter .docs-sidebar .docs-logo > img.is-4by3 img,
-.image.is-4by3 .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-4by3 .has-ratio, .image.is-3by2 img, #documenter .docs-sidebar .docs-logo > img.is-3by2 img,
-.image.is-3by2 .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-3by2 .has-ratio, .image.is-5by3 img, #documenter .docs-sidebar .docs-logo > img.is-5by3 img,
-.image.is-5by3 .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-5by3 .has-ratio, .image.is-16by9 img, #documenter .docs-sidebar .docs-logo > img.is-16by9 img,
-.image.is-16by9 .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-16by9 .has-ratio, .image.is-2by1 img, #documenter .docs-sidebar .docs-logo > img.is-2by1 img,
-.image.is-2by1 .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-2by1 .has-ratio, .image.is-3by1 img, #documenter .docs-sidebar .docs-logo > img.is-3by1 img,
-.image.is-3by1 .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-3by1 .has-ratio, .image.is-4by5 img, #documenter .docs-sidebar .docs-logo > img.is-4by5 img,
-.image.is-4by5 .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-4by5 .has-ratio, .image.is-3by4 img, #documenter .docs-sidebar .docs-logo > img.is-3by4 img,
-.image.is-3by4 .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-3by4 .has-ratio, .image.is-2by3 img, #documenter .docs-sidebar .docs-logo > img.is-2by3 img,
-.image.is-2by3 .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-2by3 .has-ratio, .image.is-3by5 img, #documenter .docs-sidebar .docs-logo > img.is-3by5 img,
-.image.is-3by5 .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-3by5 .has-ratio, .image.is-9by16 img, #documenter .docs-sidebar .docs-logo > img.is-9by16 img,
-.image.is-9by16 .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-9by16 .has-ratio, .image.is-1by2 img, #documenter .docs-sidebar .docs-logo > img.is-1by2 img,
-.image.is-1by2 .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-1by2 .has-ratio, .image.is-1by3 img, #documenter .docs-sidebar .docs-logo > img.is-1by3 img,
-.image.is-1by3 .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-1by3 .has-ratio, .is-overlay {
-  bottom: 0;
-  left: 0;
-  position: absolute;
-  right: 0;
-  top: 0; }
-
-.pagination-previous,
-.pagination-next,
-.pagination-link,
-.pagination-ellipsis, .file-cta,
-.file-name, .select select, .textarea, .input, #documenter .docs-sidebar form.docs-search > input, .button {
-  -moz-appearance: none;
-  -webkit-appearance: none;
-  align-items: center;
-  border: 1px solid transparent;
-  border-radius: 4px;
-  box-shadow: none;
-  display: inline-flex;
-  font-size: 1rem;
-  height: 2.25em;
-  justify-content: flex-start;
-  line-height: 1.5;
-  padding-bottom: calc(0.375em - 1px);
-  padding-left: calc(0.625em - 1px);
-  padding-right: calc(0.625em - 1px);
-  padding-top: calc(0.375em - 1px);
-  position: relative;
-  vertical-align: top; }
-  .pagination-previous:focus,
-  .pagination-next:focus,
-  .pagination-link:focus,
-  .pagination-ellipsis:focus, .file-cta:focus,
-  .file-name:focus, .select select:focus, .textarea:focus, .input:focus, #documenter .docs-sidebar form.docs-search > input:focus, .button:focus, .is-focused.pagination-previous,
-  .is-focused.pagination-next,
-  .is-focused.pagination-link,
-  .is-focused.pagination-ellipsis, .is-focused.file-cta,
-  .is-focused.file-name, .select select.is-focused, .is-focused.textarea, .is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-focused.button, .pagination-previous:active,
-  .pagination-next:active,
-  .pagination-link:active,
-  .pagination-ellipsis:active, .file-cta:active,
-  .file-name:active, .select select:active, .textarea:active, .input:active, #documenter .docs-sidebar form.docs-search > input:active, .button:active, .is-active.pagination-previous,
-  .is-active.pagination-next,
-  .is-active.pagination-link,
-  .is-active.pagination-ellipsis, .is-active.file-cta,
-  .is-active.file-name, .select select.is-active, .is-active.textarea, .is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active, .is-active.button {
-    outline: none; }
-  .pagination-previous[disabled],
-  .pagination-next[disabled],
-  .pagination-link[disabled],
-  .pagination-ellipsis[disabled], .file-cta[disabled],
-  .file-name[disabled], .select select[disabled], .textarea[disabled], .input[disabled], #documenter .docs-sidebar form.docs-search > input[disabled], .button[disabled], fieldset[disabled] .pagination-previous,
-  fieldset[disabled] .pagination-next,
-  fieldset[disabled] .pagination-link,
-  fieldset[disabled] .pagination-ellipsis, fieldset[disabled] .file-cta,
-  fieldset[disabled] .file-name, fieldset[disabled] .select select, .select fieldset[disabled] select, fieldset[disabled] .textarea, fieldset[disabled] .input, fieldset[disabled] #documenter .docs-sidebar form.docs-search > input, #documenter .docs-sidebar fieldset[disabled] form.docs-search > input, fieldset[disabled] .button {
-    cursor: not-allowed; }
-
-/*! minireset.css v0.0.4 | MIT License | github.com/jgthms/minireset.css */
-html,
-body,
-p,
-ol,
-ul,
-li,
-dl,
-dt,
-dd,
-blockquote,
-figure,
-fieldset,
-legend,
-textarea,
-pre,
-iframe,
-hr,
-h1,
-h2,
-h3,
-h4,
-h5,
-h6 {
-  margin: 0;
-  padding: 0; }
-
-h1,
-h2,
-h3,
-h4,
-h5,
-h6 {
-  font-size: 100%;
-  font-weight: normal; }
-
-ul {
-  list-style: none; }
-
-button,
-input,
-select,
-textarea {
-  margin: 0; }
-
-html {
-  box-sizing: border-box; }
-
-*, *::before, *::after {
-  box-sizing: inherit; }
-
-img,
-embed,
-iframe,
-object,
-video {
-  height: auto;
-  max-width: 100%; }
-
-audio {
-  max-width: 100%; }
-
-iframe {
-  border: 0; }
-
-table {
-  border-collapse: collapse;
-  border-spacing: 0; }
-
-td,
-th {
-  padding: 0; }
-  td:not([align]),
-  th:not([align]) {
-    text-align: left; }
-
-html {
-  background-color: white;
-  font-size: 16px;
-  -moz-osx-font-smoothing: grayscale;
-  -webkit-font-smoothing: antialiased;
-  min-width: 300px;
-  overflow-x: auto;
-  overflow-y: scroll;
-  text-rendering: optimizeLegibility;
-  text-size-adjust: 100%; }
-
-article,
-aside,
-figure,
-footer,
-header,
-hgroup,
-section {
-  display: block; }
-
-body,
-button,
-input,
-select,
-textarea {
-  font-family: "Lato Medium", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
-
-code,
-pre {
-  -moz-osx-font-smoothing: auto;
-  -webkit-font-smoothing: auto;
-  font-family: "JuliaMono", "SFMono-Regular", "Menlo", "Consolas", "Liberation Mono", "DejaVu Sans Mono", monospace; }
-
-body {
-  color: #222222;
-  font-size: 1em;
-  font-weight: 400;
-  line-height: 1.5; }
-
-a {
-  color: #2e63b8;
-  cursor: pointer;
-  text-decoration: none; }
-  a strong {
-    color: currentColor; }
-  a:hover {
-    color: #363636; }
-
-code {
-  background-color: rgba(0, 0, 0, 0.05);
-  color: #000000;
-  font-size: 0.875em;
-  font-weight: normal;
-  padding: 0.1em; }
-
-hr {
-  background-color: whitesmoke;
-  border: none;
-  display: block;
-  height: 2px;
-  margin: 1.5rem 0; }
-
-img {
-  height: auto;
-  max-width: 100%; }
-
-input[type="checkbox"],
-input[type="radio"] {
-  vertical-align: baseline; }
-
-small {
-  font-size: 0.875em; }
-
-span {
-  font-style: inherit;
-  font-weight: inherit; }
-
-strong {
-  color: #222222;
-  font-weight: 700; }
-
-fieldset {
-  border: none; }
-
-pre {
-  -webkit-overflow-scrolling: touch;
-  background-color: whitesmoke;
-  color: #222222;
-  font-size: 0.875em;
-  overflow-x: auto;
-  padding: 1.25rem 1.5rem;
-  white-space: pre;
-  word-wrap: normal; }
-  pre code {
-    background-color: transparent;
-    color: currentColor;
-    font-size: 1em;
-    padding: 0; }
-
-table td,
-table th {
-  vertical-align: top; }
-  table td:not([align]),
-  table th:not([align]) {
-    text-align: left; }
-
-table th {
-  color: #222222; }
-
-.is-clearfix::after {
-  clear: both;
-  content: " ";
-  display: table; }
-
-.is-pulled-left {
-  float: left !important; }
-
-.is-pulled-right {
-  float: right !important; }
-
-.is-clipped {
-  overflow: hidden !important; }
-
-.is-size-1 {
-  font-size: 3rem !important; }
-
-.is-size-2 {
-  font-size: 2.5rem !important; }
-
-.is-size-3 {
-  font-size: 2rem !important; }
-
-.is-size-4 {
-  font-size: 1.5rem !important; }
-
-.is-size-5 {
-  font-size: 1.25rem !important; }
-
-.is-size-6 {
-  font-size: 1rem !important; }
-
-.is-size-7, .docstring > section > a.docs-sourcelink {
-  font-size: 0.75rem !important; }
-
-@media screen and (max-width: 768px) {
-  .is-size-1-mobile {
-    font-size: 3rem !important; }
-  .is-size-2-mobile {
-    font-size: 2.5rem !important; }
-  .is-size-3-mobile {
-    font-size: 2rem !important; }
-  .is-size-4-mobile {
-    font-size: 1.5rem !important; }
-  .is-size-5-mobile {
-    font-size: 1.25rem !important; }
-  .is-size-6-mobile {
-    font-size: 1rem !important; }
-  .is-size-7-mobile {
-    font-size: 0.75rem !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-size-1-tablet {
-    font-size: 3rem !important; }
-  .is-size-2-tablet {
-    font-size: 2.5rem !important; }
-  .is-size-3-tablet {
-    font-size: 2rem !important; }
-  .is-size-4-tablet {
-    font-size: 1.5rem !important; }
-  .is-size-5-tablet {
-    font-size: 1.25rem !important; }
-  .is-size-6-tablet {
-    font-size: 1rem !important; }
-  .is-size-7-tablet {
-    font-size: 0.75rem !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-size-1-touch {
-    font-size: 3rem !important; }
-  .is-size-2-touch {
-    font-size: 2.5rem !important; }
-  .is-size-3-touch {
-    font-size: 2rem !important; }
-  .is-size-4-touch {
-    font-size: 1.5rem !important; }
-  .is-size-5-touch {
-    font-size: 1.25rem !important; }
-  .is-size-6-touch {
-    font-size: 1rem !important; }
-  .is-size-7-touch {
-    font-size: 0.75rem !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-size-1-desktop {
-    font-size: 3rem !important; }
-  .is-size-2-desktop {
-    font-size: 2.5rem !important; }
-  .is-size-3-desktop {
-    font-size: 2rem !important; }
-  .is-size-4-desktop {
-    font-size: 1.5rem !important; }
-  .is-size-5-desktop {
-    font-size: 1.25rem !important; }
-  .is-size-6-desktop {
-    font-size: 1rem !important; }
-  .is-size-7-desktop {
-    font-size: 0.75rem !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-size-1-widescreen {
-    font-size: 3rem !important; }
-  .is-size-2-widescreen {
-    font-size: 2.5rem !important; }
-  .is-size-3-widescreen {
-    font-size: 2rem !important; }
-  .is-size-4-widescreen {
-    font-size: 1.5rem !important; }
-  .is-size-5-widescreen {
-    font-size: 1.25rem !important; }
-  .is-size-6-widescreen {
-    font-size: 1rem !important; }
-  .is-size-7-widescreen {
-    font-size: 0.75rem !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-size-1-fullhd {
-    font-size: 3rem !important; }
-  .is-size-2-fullhd {
-    font-size: 2.5rem !important; }
-  .is-size-3-fullhd {
-    font-size: 2rem !important; }
-  .is-size-4-fullhd {
-    font-size: 1.5rem !important; }
-  .is-size-5-fullhd {
-    font-size: 1.25rem !important; }
-  .is-size-6-fullhd {
-    font-size: 1rem !important; }
-  .is-size-7-fullhd {
-    font-size: 0.75rem !important; } }
-
-.has-text-centered {
-  text-align: center !important; }
-
-.has-text-justified {
-  text-align: justify !important; }
-
-.has-text-left {
-  text-align: left !important; }
-
-.has-text-right {
-  text-align: right !important; }
-
-@media screen and (max-width: 768px) {
-  .has-text-centered-mobile {
-    text-align: center !important; } }
-
-@media screen and (min-width: 769px), print {
-  .has-text-centered-tablet {
-    text-align: center !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .has-text-centered-tablet-only {
-    text-align: center !important; } }
-
-@media screen and (max-width: 1055px) {
-  .has-text-centered-touch {
-    text-align: center !important; } }
-
-@media screen and (min-width: 1056px) {
-  .has-text-centered-desktop {
-    text-align: center !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .has-text-centered-desktop-only {
-    text-align: center !important; } }
-
-@media screen and (min-width: 1216px) {
-  .has-text-centered-widescreen {
-    text-align: center !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .has-text-centered-widescreen-only {
-    text-align: center !important; } }
-
-@media screen and (min-width: 1408px) {
-  .has-text-centered-fullhd {
-    text-align: center !important; } }
-
-@media screen and (max-width: 768px) {
-  .has-text-justified-mobile {
-    text-align: justify !important; } }
-
-@media screen and (min-width: 769px), print {
-  .has-text-justified-tablet {
-    text-align: justify !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .has-text-justified-tablet-only {
-    text-align: justify !important; } }
-
-@media screen and (max-width: 1055px) {
-  .has-text-justified-touch {
-    text-align: justify !important; } }
-
-@media screen and (min-width: 1056px) {
-  .has-text-justified-desktop {
-    text-align: justify !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .has-text-justified-desktop-only {
-    text-align: justify !important; } }
-
-@media screen and (min-width: 1216px) {
-  .has-text-justified-widescreen {
-    text-align: justify !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .has-text-justified-widescreen-only {
-    text-align: justify !important; } }
-
-@media screen and (min-width: 1408px) {
-  .has-text-justified-fullhd {
-    text-align: justify !important; } }
-
-@media screen and (max-width: 768px) {
-  .has-text-left-mobile {
-    text-align: left !important; } }
-
-@media screen and (min-width: 769px), print {
-  .has-text-left-tablet {
-    text-align: left !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .has-text-left-tablet-only {
-    text-align: left !important; } }
-
-@media screen and (max-width: 1055px) {
-  .has-text-left-touch {
-    text-align: left !important; } }
-
-@media screen and (min-width: 1056px) {
-  .has-text-left-desktop {
-    text-align: left !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .has-text-left-desktop-only {
-    text-align: left !important; } }
-
-@media screen and (min-width: 1216px) {
-  .has-text-left-widescreen {
-    text-align: left !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .has-text-left-widescreen-only {
-    text-align: left !important; } }
-
-@media screen and (min-width: 1408px) {
-  .has-text-left-fullhd {
-    text-align: left !important; } }
-
-@media screen and (max-width: 768px) {
-  .has-text-right-mobile {
-    text-align: right !important; } }
-
-@media screen and (min-width: 769px), print {
-  .has-text-right-tablet {
-    text-align: right !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .has-text-right-tablet-only {
-    text-align: right !important; } }
-
-@media screen and (max-width: 1055px) {
-  .has-text-right-touch {
-    text-align: right !important; } }
-
-@media screen and (min-width: 1056px) {
-  .has-text-right-desktop {
-    text-align: right !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .has-text-right-desktop-only {
-    text-align: right !important; } }
-
-@media screen and (min-width: 1216px) {
-  .has-text-right-widescreen {
-    text-align: right !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .has-text-right-widescreen-only {
-    text-align: right !important; } }
-
-@media screen and (min-width: 1408px) {
-  .has-text-right-fullhd {
-    text-align: right !important; } }
-
-.is-capitalized {
-  text-transform: capitalize !important; }
-
-.is-lowercase {
-  text-transform: lowercase !important; }
-
-.is-uppercase {
-  text-transform: uppercase !important; }
-
-.is-italic {
-  font-style: italic !important; }
-
-.has-text-white {
-  color: white !important; }
-
-a.has-text-white:hover, a.has-text-white:focus {
-  color: #e6e6e6 !important; }
-
-.has-background-white {
-  background-color: white !important; }
-
-.has-text-black {
-  color: #0a0a0a !important; }
-
-a.has-text-black:hover, a.has-text-black:focus {
-  color: black !important; }
-
-.has-background-black {
-  background-color: #0a0a0a !important; }
-
-.has-text-light {
-  color: whitesmoke !important; }
-
-a.has-text-light:hover, a.has-text-light:focus {
-  color: #dbdbdb !important; }
-
-.has-background-light {
-  background-color: whitesmoke !important; }
-
-.has-text-dark {
-  color: #363636 !important; }
-
-a.has-text-dark:hover, a.has-text-dark:focus {
-  color: #1c1c1c !important; }
-
-.has-background-dark {
-  background-color: #363636 !important; }
-
-.has-text-primary {
-  color: #4eb5de !important; }
-
-a.has-text-primary:hover, a.has-text-primary:focus {
-  color: #27a1d2 !important; }
-
-.has-background-primary {
-  background-color: #4eb5de !important; }
-
-.has-text-link {
-  color: #2e63b8 !important; }
-
-a.has-text-link:hover, a.has-text-link:focus {
-  color: #244d8f !important; }
-
-.has-background-link {
-  background-color: #2e63b8 !important; }
-
-.has-text-info {
-  color: #209cee !important; }
-
-a.has-text-info:hover, a.has-text-info:focus {
-  color: #1081cb !important; }
-
-.has-background-info {
-  background-color: #209cee !important; }
-
-.has-text-success {
-  color: #22c35b !important; }
-
-a.has-text-success:hover, a.has-text-success:focus {
-  color: #1a9847 !important; }
-
-.has-background-success {
-  background-color: #22c35b !important; }
-
-.has-text-warning {
-  color: #ffdd57 !important; }
-
-a.has-text-warning:hover, a.has-text-warning:focus {
-  color: #ffd324 !important; }
-
-.has-background-warning {
-  background-color: #ffdd57 !important; }
-
-.has-text-danger {
-  color: #da0b00 !important; }
-
-a.has-text-danger:hover, a.has-text-danger:focus {
-  color: #a70800 !important; }
-
-.has-background-danger {
-  background-color: #da0b00 !important; }
-
-.has-text-black-bis {
-  color: #121212 !important; }
-
-.has-background-black-bis {
-  background-color: #121212 !important; }
-
-.has-text-black-ter {
-  color: #242424 !important; }
-
-.has-background-black-ter {
-  background-color: #242424 !important; }
-
-.has-text-grey-darker {
-  color: #363636 !important; }
-
-.has-background-grey-darker {
-  background-color: #363636 !important; }
-
-.has-text-grey-dark {
-  color: #4a4a4a !important; }
-
-.has-background-grey-dark {
-  background-color: #4a4a4a !important; }
-
-.has-text-grey {
-  color: #6b6b6b !important; }
-
-.has-background-grey {
-  background-color: #6b6b6b !important; }
-
-.has-text-grey-light {
-  color: #b5b5b5 !important; }
-
-.has-background-grey-light {
-  background-color: #b5b5b5 !important; }
-
-.has-text-grey-lighter {
-  color: #dbdbdb !important; }
-
-.has-background-grey-lighter {
-  background-color: #dbdbdb !important; }
-
-.has-text-white-ter {
-  color: whitesmoke !important; }
-
-.has-background-white-ter {
-  background-color: whitesmoke !important; }
-
-.has-text-white-bis {
-  color: #fafafa !important; }
-
-.has-background-white-bis {
-  background-color: #fafafa !important; }
-
-.has-text-weight-light {
-  font-weight: 300 !important; }
-
-.has-text-weight-normal {
-  font-weight: 400 !important; }
-
-.has-text-weight-medium {
-  font-weight: 500 !important; }
-
-.has-text-weight-semibold {
-  font-weight: 600 !important; }
-
-.has-text-weight-bold {
-  font-weight: 700 !important; }
-
-.is-family-primary {
-  font-family: "Lato Medium", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; }
-
-.is-family-secondary {
-  font-family: "Lato Medium", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; }
-
-.is-family-sans-serif {
-  font-family: "Lato Medium", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; }
-
-.is-family-monospace {
-  font-family: "JuliaMono", "SFMono-Regular", "Menlo", "Consolas", "Liberation Mono", "DejaVu Sans Mono", monospace !important; }
-
-.is-family-code {
-  font-family: "JuliaMono", "SFMono-Regular", "Menlo", "Consolas", "Liberation Mono", "DejaVu Sans Mono", monospace !important; }
-
-.is-block {
-  display: block !important; }
-
-@media screen and (max-width: 768px) {
-  .is-block-mobile {
-    display: block !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-block-tablet {
-    display: block !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .is-block-tablet-only {
-    display: block !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-block-touch {
-    display: block !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-block-desktop {
-    display: block !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .is-block-desktop-only {
-    display: block !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-block-widescreen {
-    display: block !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .is-block-widescreen-only {
-    display: block !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-block-fullhd {
-    display: block !important; } }
-
-.is-flex {
-  display: flex !important; }
-
-@media screen and (max-width: 768px) {
-  .is-flex-mobile {
-    display: flex !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-flex-tablet {
-    display: flex !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .is-flex-tablet-only {
-    display: flex !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-flex-touch {
-    display: flex !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-flex-desktop {
-    display: flex !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .is-flex-desktop-only {
-    display: flex !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-flex-widescreen {
-    display: flex !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .is-flex-widescreen-only {
-    display: flex !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-flex-fullhd {
-    display: flex !important; } }
-
-.is-inline {
-  display: inline !important; }
-
-@media screen and (max-width: 768px) {
-  .is-inline-mobile {
-    display: inline !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-inline-tablet {
-    display: inline !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .is-inline-tablet-only {
-    display: inline !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-inline-touch {
-    display: inline !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-inline-desktop {
-    display: inline !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .is-inline-desktop-only {
-    display: inline !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-inline-widescreen {
-    display: inline !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .is-inline-widescreen-only {
-    display: inline !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-inline-fullhd {
-    display: inline !important; } }
-
-.is-inline-block {
-  display: inline-block !important; }
-
-@media screen and (max-width: 768px) {
-  .is-inline-block-mobile {
-    display: inline-block !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-inline-block-tablet {
-    display: inline-block !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .is-inline-block-tablet-only {
-    display: inline-block !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-inline-block-touch {
-    display: inline-block !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-inline-block-desktop {
-    display: inline-block !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .is-inline-block-desktop-only {
-    display: inline-block !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-inline-block-widescreen {
-    display: inline-block !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .is-inline-block-widescreen-only {
-    display: inline-block !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-inline-block-fullhd {
-    display: inline-block !important; } }
-
-.is-inline-flex {
-  display: inline-flex !important; }
-
-@media screen and (max-width: 768px) {
-  .is-inline-flex-mobile {
-    display: inline-flex !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-inline-flex-tablet {
-    display: inline-flex !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .is-inline-flex-tablet-only {
-    display: inline-flex !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-inline-flex-touch {
-    display: inline-flex !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-inline-flex-desktop {
-    display: inline-flex !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .is-inline-flex-desktop-only {
-    display: inline-flex !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-inline-flex-widescreen {
-    display: inline-flex !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .is-inline-flex-widescreen-only {
-    display: inline-flex !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-inline-flex-fullhd {
-    display: inline-flex !important; } }
-
-.is-hidden {
-  display: none !important; }
-
-.is-sr-only {
-  border: none !important;
-  clip: rect(0, 0, 0, 0) !important;
-  height: 0.01em !important;
-  overflow: hidden !important;
-  padding: 0 !important;
-  position: absolute !important;
-  white-space: nowrap !important;
-  width: 0.01em !important; }
-
-@media screen and (max-width: 768px) {
-  .is-hidden-mobile {
-    display: none !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-hidden-tablet {
-    display: none !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .is-hidden-tablet-only {
-    display: none !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-hidden-touch {
-    display: none !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-hidden-desktop {
-    display: none !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .is-hidden-desktop-only {
-    display: none !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-hidden-widescreen {
-    display: none !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .is-hidden-widescreen-only {
-    display: none !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-hidden-fullhd {
-    display: none !important; } }
-
-.is-invisible {
-  visibility: hidden !important; }
-
-@media screen and (max-width: 768px) {
-  .is-invisible-mobile {
-    visibility: hidden !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-invisible-tablet {
-    visibility: hidden !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .is-invisible-tablet-only {
-    visibility: hidden !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-invisible-touch {
-    visibility: hidden !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-invisible-desktop {
-    visibility: hidden !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .is-invisible-desktop-only {
-    visibility: hidden !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-invisible-widescreen {
-    visibility: hidden !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .is-invisible-widescreen-only {
-    visibility: hidden !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-invisible-fullhd {
-    visibility: hidden !important; } }
-
-.is-marginless {
-  margin: 0 !important; }
-
-.is-paddingless {
-  padding: 0 !important; }
-
-.is-radiusless {
-  border-radius: 0 !important; }
-
-.is-shadowless {
-  box-shadow: none !important; }
-
-.is-relative {
-  position: relative !important; }
-
-.box {
-  background-color: white;
-  border-radius: 6px;
-  box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
-  color: #222222;
-  display: block;
-  padding: 1.25rem; }
-
-a.box:hover, a.box:focus {
-  box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px #2e63b8; }
-
-a.box:active {
-  box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2), 0 0 0 1px #2e63b8; }
-
-.button {
-  background-color: white;
-  border-color: #dbdbdb;
-  border-width: 1px;
-  color: #363636;
-  cursor: pointer;
-  justify-content: center;
-  padding-bottom: calc(0.375em - 1px);
-  padding-left: 0.75em;
-  padding-right: 0.75em;
-  padding-top: calc(0.375em - 1px);
-  text-align: center;
-  white-space: nowrap; }
-  .button strong {
-    color: inherit; }
-  .button .icon, .button .icon.is-small, .button #documenter .docs-sidebar form.docs-search > input.icon, #documenter .docs-sidebar .button form.docs-search > input.icon, .button .icon.is-medium, .button .icon.is-large {
-    height: 1.5em;
-    width: 1.5em; }
-  .button .icon:first-child:not(:last-child) {
-    margin-left: calc(-0.375em - 1px);
-    margin-right: 0.1875em; }
-  .button .icon:last-child:not(:first-child) {
-    margin-left: 0.1875em;
-    margin-right: calc(-0.375em - 1px); }
-  .button .icon:first-child:last-child {
-    margin-left: calc(-0.375em - 1px);
-    margin-right: calc(-0.375em - 1px); }
-  .button:hover, .button.is-hovered {
-    border-color: #b5b5b5;
-    color: #363636; }
-  .button:focus, .button.is-focused {
-    border-color: #3c5dcd;
-    color: #363636; }
-    .button:focus:not(:active), .button.is-focused:not(:active) {
-      box-shadow: 0 0 0 0.125em rgba(46, 99, 184, 0.25); }
-  .button:active, .button.is-active {
-    border-color: #4a4a4a;
-    color: #363636; }
-  .button.is-text {
-    background-color: transparent;
-    border-color: transparent;
-    color: #222222;
-    text-decoration: underline; }
-    .button.is-text:hover, .button.is-text.is-hovered, .button.is-text:focus, .button.is-text.is-focused {
-      background-color: whitesmoke;
-      color: #222222; }
-    .button.is-text:active, .button.is-text.is-active {
-      background-color: #e8e8e8;
-      color: #222222; }
-    .button.is-text[disabled], fieldset[disabled] .button.is-text {
-      background-color: transparent;
-      border-color: transparent;
-      box-shadow: none; }
-  .button.is-white {
-    background-color: white;
-    border-color: transparent;
-    color: #0a0a0a; }
-    .button.is-white:hover, .button.is-white.is-hovered {
-      background-color: #f9f9f9;
-      border-color: transparent;
-      color: #0a0a0a; }
-    .button.is-white:focus, .button.is-white.is-focused {
-      border-color: transparent;
-      color: #0a0a0a; }
-      .button.is-white:focus:not(:active), .button.is-white.is-focused:not(:active) {
-        box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); }
-    .button.is-white:active, .button.is-white.is-active {
-      background-color: #f2f2f2;
-      border-color: transparent;
-      color: #0a0a0a; }
-    .button.is-white[disabled], fieldset[disabled] .button.is-white {
-      background-color: white;
-      border-color: transparent;
-      box-shadow: none; }
-    .button.is-white.is-inverted {
-      background-color: #0a0a0a;
-      color: white; }
-      .button.is-white.is-inverted:hover, .button.is-white.is-inverted.is-hovered {
-        background-color: black; }
-      .button.is-white.is-inverted[disabled], fieldset[disabled] .button.is-white.is-inverted {
-        background-color: #0a0a0a;
-        border-color: transparent;
-        box-shadow: none;
-        color: white; }
-    .button.is-white.is-loading::after {
-      border-color: transparent transparent #0a0a0a #0a0a0a !important; }
-    .button.is-white.is-outlined {
-      background-color: transparent;
-      border-color: white;
-      color: white; }
-      .button.is-white.is-outlined:hover, .button.is-white.is-outlined.is-hovered, .button.is-white.is-outlined:focus, .button.is-white.is-outlined.is-focused {
-        background-color: white;
-        border-color: white;
-        color: #0a0a0a; }
-      .button.is-white.is-outlined.is-loading::after {
-        border-color: transparent transparent white white !important; }
-      .button.is-white.is-outlined.is-loading:hover::after, .button.is-white.is-outlined.is-loading.is-hovered::after, .button.is-white.is-outlined.is-loading:focus::after, .button.is-white.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent #0a0a0a #0a0a0a !important; }
-      .button.is-white.is-outlined[disabled], fieldset[disabled] .button.is-white.is-outlined {
-        background-color: transparent;
-        border-color: white;
-        box-shadow: none;
-        color: white; }
-    .button.is-white.is-inverted.is-outlined {
-      background-color: transparent;
-      border-color: #0a0a0a;
-      color: #0a0a0a; }
-      .button.is-white.is-inverted.is-outlined:hover, .button.is-white.is-inverted.is-outlined.is-hovered, .button.is-white.is-inverted.is-outlined:focus, .button.is-white.is-inverted.is-outlined.is-focused {
-        background-color: #0a0a0a;
-        color: white; }
-      .button.is-white.is-inverted.is-outlined.is-loading:hover::after, .button.is-white.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-white.is-inverted.is-outlined.is-loading:focus::after, .button.is-white.is-inverted.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent white white !important; }
-      .button.is-white.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-white.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: #0a0a0a;
-        box-shadow: none;
-        color: #0a0a0a; }
-  .button.is-black {
-    background-color: #0a0a0a;
-    border-color: transparent;
-    color: white; }
-    .button.is-black:hover, .button.is-black.is-hovered {
-      background-color: #040404;
-      border-color: transparent;
-      color: white; }
-    .button.is-black:focus, .button.is-black.is-focused {
-      border-color: transparent;
-      color: white; }
-      .button.is-black:focus:not(:active), .button.is-black.is-focused:not(:active) {
-        box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); }
-    .button.is-black:active, .button.is-black.is-active {
-      background-color: black;
-      border-color: transparent;
-      color: white; }
-    .button.is-black[disabled], fieldset[disabled] .button.is-black {
-      background-color: #0a0a0a;
-      border-color: transparent;
-      box-shadow: none; }
-    .button.is-black.is-inverted {
-      background-color: white;
-      color: #0a0a0a; }
-      .button.is-black.is-inverted:hover, .button.is-black.is-inverted.is-hovered {
-        background-color: #f2f2f2; }
-      .button.is-black.is-inverted[disabled], fieldset[disabled] .button.is-black.is-inverted {
-        background-color: white;
-        border-color: transparent;
-        box-shadow: none;
-        color: #0a0a0a; }
-    .button.is-black.is-loading::after {
-      border-color: transparent transparent white white !important; }
-    .button.is-black.is-outlined {
-      background-color: transparent;
-      border-color: #0a0a0a;
-      color: #0a0a0a; }
-      .button.is-black.is-outlined:hover, .button.is-black.is-outlined.is-hovered, .button.is-black.is-outlined:focus, .button.is-black.is-outlined.is-focused {
-        background-color: #0a0a0a;
-        border-color: #0a0a0a;
-        color: white; }
-      .button.is-black.is-outlined.is-loading::after {
-        border-color: transparent transparent #0a0a0a #0a0a0a !important; }
-      .button.is-black.is-outlined.is-loading:hover::after, .button.is-black.is-outlined.is-loading.is-hovered::after, .button.is-black.is-outlined.is-loading:focus::after, .button.is-black.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent white white !important; }
-      .button.is-black.is-outlined[disabled], fieldset[disabled] .button.is-black.is-outlined {
-        background-color: transparent;
-        border-color: #0a0a0a;
-        box-shadow: none;
-        color: #0a0a0a; }
-    .button.is-black.is-inverted.is-outlined {
-      background-color: transparent;
-      border-color: white;
-      color: white; }
-      .button.is-black.is-inverted.is-outlined:hover, .button.is-black.is-inverted.is-outlined.is-hovered, .button.is-black.is-inverted.is-outlined:focus, .button.is-black.is-inverted.is-outlined.is-focused {
-        background-color: white;
-        color: #0a0a0a; }
-      .button.is-black.is-inverted.is-outlined.is-loading:hover::after, .button.is-black.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-black.is-inverted.is-outlined.is-loading:focus::after, .button.is-black.is-inverted.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent #0a0a0a #0a0a0a !important; }
-      .button.is-black.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-black.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: white;
-        box-shadow: none;
-        color: white; }
-  .button.is-light {
-    background-color: whitesmoke;
-    border-color: transparent;
-    color: #363636; }
-    .button.is-light:hover, .button.is-light.is-hovered {
-      background-color: #eeeeee;
-      border-color: transparent;
-      color: #363636; }
-    .button.is-light:focus, .button.is-light.is-focused {
-      border-color: transparent;
-      color: #363636; }
-      .button.is-light:focus:not(:active), .button.is-light.is-focused:not(:active) {
-        box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); }
-    .button.is-light:active, .button.is-light.is-active {
-      background-color: #e8e8e8;
-      border-color: transparent;
-      color: #363636; }
-    .button.is-light[disabled], fieldset[disabled] .button.is-light {
-      background-color: whitesmoke;
-      border-color: transparent;
-      box-shadow: none; }
-    .button.is-light.is-inverted {
-      background-color: #363636;
-      color: whitesmoke; }
-      .button.is-light.is-inverted:hover, .button.is-light.is-inverted.is-hovered {
-        background-color: #292929; }
-      .button.is-light.is-inverted[disabled], fieldset[disabled] .button.is-light.is-inverted {
-        background-color: #363636;
-        border-color: transparent;
-        box-shadow: none;
-        color: whitesmoke; }
-    .button.is-light.is-loading::after {
-      border-color: transparent transparent #363636 #363636 !important; }
-    .button.is-light.is-outlined {
-      background-color: transparent;
-      border-color: whitesmoke;
-      color: whitesmoke; }
-      .button.is-light.is-outlined:hover, .button.is-light.is-outlined.is-hovered, .button.is-light.is-outlined:focus, .button.is-light.is-outlined.is-focused {
-        background-color: whitesmoke;
-        border-color: whitesmoke;
-        color: #363636; }
-      .button.is-light.is-outlined.is-loading::after {
-        border-color: transparent transparent whitesmoke whitesmoke !important; }
-      .button.is-light.is-outlined.is-loading:hover::after, .button.is-light.is-outlined.is-loading.is-hovered::after, .button.is-light.is-outlined.is-loading:focus::after, .button.is-light.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent #363636 #363636 !important; }
-      .button.is-light.is-outlined[disabled], fieldset[disabled] .button.is-light.is-outlined {
-        background-color: transparent;
-        border-color: whitesmoke;
-        box-shadow: none;
-        color: whitesmoke; }
-    .button.is-light.is-inverted.is-outlined {
-      background-color: transparent;
-      border-color: #363636;
-      color: #363636; }
-      .button.is-light.is-inverted.is-outlined:hover, .button.is-light.is-inverted.is-outlined.is-hovered, .button.is-light.is-inverted.is-outlined:focus, .button.is-light.is-inverted.is-outlined.is-focused {
-        background-color: #363636;
-        color: whitesmoke; }
-      .button.is-light.is-inverted.is-outlined.is-loading:hover::after, .button.is-light.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-light.is-inverted.is-outlined.is-loading:focus::after, .button.is-light.is-inverted.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent whitesmoke whitesmoke !important; }
-      .button.is-light.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-light.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: #363636;
-        box-shadow: none;
-        color: #363636; }
-  .button.is-dark, .content kbd.button {
-    background-color: #363636;
-    border-color: transparent;
-    color: whitesmoke; }
-    .button.is-dark:hover, .content kbd.button:hover, .button.is-dark.is-hovered, .content kbd.button.is-hovered {
-      background-color: #2f2f2f;
-      border-color: transparent;
-      color: whitesmoke; }
-    .button.is-dark:focus, .content kbd.button:focus, .button.is-dark.is-focused, .content kbd.button.is-focused {
-      border-color: transparent;
-      color: whitesmoke; }
-      .button.is-dark:focus:not(:active), .content kbd.button:focus:not(:active), .button.is-dark.is-focused:not(:active), .content kbd.button.is-focused:not(:active) {
-        box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25); }
-    .button.is-dark:active, .content kbd.button:active, .button.is-dark.is-active, .content kbd.button.is-active {
-      background-color: #292929;
-      border-color: transparent;
-      color: whitesmoke; }
-    .button.is-dark[disabled], .content kbd.button[disabled], fieldset[disabled] .button.is-dark, fieldset[disabled] .content kbd.button, .content fieldset[disabled] kbd.button {
-      background-color: #363636;
-      border-color: transparent;
-      box-shadow: none; }
-    .button.is-dark.is-inverted, .content kbd.button.is-inverted {
-      background-color: whitesmoke;
-      color: #363636; }
-      .button.is-dark.is-inverted:hover, .content kbd.button.is-inverted:hover, .button.is-dark.is-inverted.is-hovered, .content kbd.button.is-inverted.is-hovered {
-        background-color: #e8e8e8; }
-      .button.is-dark.is-inverted[disabled], .content kbd.button.is-inverted[disabled], fieldset[disabled] .button.is-dark.is-inverted, fieldset[disabled] .content kbd.button.is-inverted, .content fieldset[disabled] kbd.button.is-inverted {
-        background-color: whitesmoke;
-        border-color: transparent;
-        box-shadow: none;
-        color: #363636; }
-    .button.is-dark.is-loading::after, .content kbd.button.is-loading::after {
-      border-color: transparent transparent whitesmoke whitesmoke !important; }
-    .button.is-dark.is-outlined, .content kbd.button.is-outlined {
-      background-color: transparent;
-      border-color: #363636;
-      color: #363636; }
-      .button.is-dark.is-outlined:hover, .content kbd.button.is-outlined:hover, .button.is-dark.is-outlined.is-hovered, .content kbd.button.is-outlined.is-hovered, .button.is-dark.is-outlined:focus, .content kbd.button.is-outlined:focus, .button.is-dark.is-outlined.is-focused, .content kbd.button.is-outlined.is-focused {
-        background-color: #363636;
-        border-color: #363636;
-        color: whitesmoke; }
-      .button.is-dark.is-outlined.is-loading::after, .content kbd.button.is-outlined.is-loading::after {
-        border-color: transparent transparent #363636 #363636 !important; }
-      .button.is-dark.is-outlined.is-loading:hover::after, .content kbd.button.is-outlined.is-loading:hover::after, .button.is-dark.is-outlined.is-loading.is-hovered::after, .content kbd.button.is-outlined.is-loading.is-hovered::after, .button.is-dark.is-outlined.is-loading:focus::after, .content kbd.button.is-outlined.is-loading:focus::after, .button.is-dark.is-outlined.is-loading.is-focused::after, .content kbd.button.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent whitesmoke whitesmoke !important; }
-      .button.is-dark.is-outlined[disabled], .content kbd.button.is-outlined[disabled], fieldset[disabled] .button.is-dark.is-outlined, fieldset[disabled] .content kbd.button.is-outlined, .content fieldset[disabled] kbd.button.is-outlined {
-        background-color: transparent;
-        border-color: #363636;
-        box-shadow: none;
-        color: #363636; }
-    .button.is-dark.is-inverted.is-outlined, .content kbd.button.is-inverted.is-outlined {
-      background-color: transparent;
-      border-color: whitesmoke;
-      color: whitesmoke; }
-      .button.is-dark.is-inverted.is-outlined:hover, .content kbd.button.is-inverted.is-outlined:hover, .button.is-dark.is-inverted.is-outlined.is-hovered, .content kbd.button.is-inverted.is-outlined.is-hovered, .button.is-dark.is-inverted.is-outlined:focus, .content kbd.button.is-inverted.is-outlined:focus, .button.is-dark.is-inverted.is-outlined.is-focused, .content kbd.button.is-inverted.is-outlined.is-focused {
-        background-color: whitesmoke;
-        color: #363636; }
-      .button.is-dark.is-inverted.is-outlined.is-loading:hover::after, .content kbd.button.is-inverted.is-outlined.is-loading:hover::after, .button.is-dark.is-inverted.is-outlined.is-loading.is-hovered::after, .content kbd.button.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-dark.is-inverted.is-outlined.is-loading:focus::after, .content kbd.button.is-inverted.is-outlined.is-loading:focus::after, .button.is-dark.is-inverted.is-outlined.is-loading.is-focused::after, .content kbd.button.is-inverted.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent #363636 #363636 !important; }
-      .button.is-dark.is-inverted.is-outlined[disabled], .content kbd.button.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-dark.is-inverted.is-outlined, fieldset[disabled] .content kbd.button.is-inverted.is-outlined, .content fieldset[disabled] kbd.button.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: whitesmoke;
-        box-shadow: none;
-        color: whitesmoke; }
-  .button.is-primary, .docstring > section > a.button.docs-sourcelink {
-    background-color: #4eb5de;
-    border-color: transparent;
-    color: #fff; }
-    .button.is-primary:hover, .docstring > section > a.button.docs-sourcelink:hover, .button.is-primary.is-hovered, .docstring > section > a.button.is-hovered.docs-sourcelink {
-      background-color: #43b1dc;
-      border-color: transparent;
-      color: #fff; }
-    .button.is-primary:focus, .docstring > section > a.button.docs-sourcelink:focus, .button.is-primary.is-focused, .docstring > section > a.button.is-focused.docs-sourcelink {
-      border-color: transparent;
-      color: #fff; }
-      .button.is-primary:focus:not(:active), .docstring > section > a.button.docs-sourcelink:focus:not(:active), .button.is-primary.is-focused:not(:active), .docstring > section > a.button.is-focused.docs-sourcelink:not(:active) {
-        box-shadow: 0 0 0 0.125em rgba(78, 181, 222, 0.25); }
-    .button.is-primary:active, .docstring > section > a.button.docs-sourcelink:active, .button.is-primary.is-active, .docstring > section > a.button.is-active.docs-sourcelink {
-      background-color: #39acda;
-      border-color: transparent;
-      color: #fff; }
-    .button.is-primary[disabled], .docstring > section > a.button.docs-sourcelink[disabled], fieldset[disabled] .button.is-primary, fieldset[disabled] .docstring > section > a.button.docs-sourcelink {
-      background-color: #4eb5de;
-      border-color: transparent;
-      box-shadow: none; }
-    .button.is-primary.is-inverted, .docstring > section > a.button.is-inverted.docs-sourcelink {
-      background-color: #fff;
-      color: #4eb5de; }
-      .button.is-primary.is-inverted:hover, .docstring > section > a.button.is-inverted.docs-sourcelink:hover, .button.is-primary.is-inverted.is-hovered, .docstring > section > a.button.is-inverted.is-hovered.docs-sourcelink {
-        background-color: #f2f2f2; }
-      .button.is-primary.is-inverted[disabled], .docstring > section > a.button.is-inverted.docs-sourcelink[disabled], fieldset[disabled] .button.is-primary.is-inverted, fieldset[disabled] .docstring > section > a.button.is-inverted.docs-sourcelink {
-        background-color: #fff;
-        border-color: transparent;
-        box-shadow: none;
-        color: #4eb5de; }
-    .button.is-primary.is-loading::after, .docstring > section > a.button.is-loading.docs-sourcelink::after {
-      border-color: transparent transparent #fff #fff !important; }
-    .button.is-primary.is-outlined, .docstring > section > a.button.is-outlined.docs-sourcelink {
-      background-color: transparent;
-      border-color: #4eb5de;
-      color: #4eb5de; }
-      .button.is-primary.is-outlined:hover, .docstring > section > a.button.is-outlined.docs-sourcelink:hover, .button.is-primary.is-outlined.is-hovered, .docstring > section > a.button.is-outlined.is-hovered.docs-sourcelink, .button.is-primary.is-outlined:focus, .docstring > section > a.button.is-outlined.docs-sourcelink:focus, .button.is-primary.is-outlined.is-focused, .docstring > section > a.button.is-outlined.is-focused.docs-sourcelink {
-        background-color: #4eb5de;
-        border-color: #4eb5de;
-        color: #fff; }
-      .button.is-primary.is-outlined.is-loading::after, .docstring > section > a.button.is-outlined.is-loading.docs-sourcelink::after {
-        border-color: transparent transparent #4eb5de #4eb5de !important; }
-      .button.is-primary.is-outlined.is-loading:hover::after, .docstring > section > a.button.is-outlined.is-loading.docs-sourcelink:hover::after, .button.is-primary.is-outlined.is-loading.is-hovered::after, .docstring > section > a.button.is-outlined.is-loading.is-hovered.docs-sourcelink::after, .button.is-primary.is-outlined.is-loading:focus::after, .docstring > section > a.button.is-outlined.is-loading.docs-sourcelink:focus::after, .button.is-primary.is-outlined.is-loading.is-focused::after, .docstring > section > a.button.is-outlined.is-loading.is-focused.docs-sourcelink::after {
-        border-color: transparent transparent #fff #fff !important; }
-      .button.is-primary.is-outlined[disabled], .docstring > section > a.button.is-outlined.docs-sourcelink[disabled], fieldset[disabled] .button.is-primary.is-outlined, fieldset[disabled] .docstring > section > a.button.is-outlined.docs-sourcelink {
-        background-color: transparent;
-        border-color: #4eb5de;
-        box-shadow: none;
-        color: #4eb5de; }
-    .button.is-primary.is-inverted.is-outlined, .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink {
-      background-color: transparent;
-      border-color: #fff;
-      color: #fff; }
-      .button.is-primary.is-inverted.is-outlined:hover, .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink:hover, .button.is-primary.is-inverted.is-outlined.is-hovered, .docstring > section > a.button.is-inverted.is-outlined.is-hovered.docs-sourcelink, .button.is-primary.is-inverted.is-outlined:focus, .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink:focus, .button.is-primary.is-inverted.is-outlined.is-focused, .docstring > section > a.button.is-inverted.is-outlined.is-focused.docs-sourcelink {
-        background-color: #fff;
-        color: #4eb5de; }
-      .button.is-primary.is-inverted.is-outlined.is-loading:hover::after, .docstring > section > a.button.is-inverted.is-outlined.is-loading.docs-sourcelink:hover::after, .button.is-primary.is-inverted.is-outlined.is-loading.is-hovered::after, .docstring > section > a.button.is-inverted.is-outlined.is-loading.is-hovered.docs-sourcelink::after, .button.is-primary.is-inverted.is-outlined.is-loading:focus::after, .docstring > section > a.button.is-inverted.is-outlined.is-loading.docs-sourcelink:focus::after, .button.is-primary.is-inverted.is-outlined.is-loading.is-focused::after, .docstring > section > a.button.is-inverted.is-outlined.is-loading.is-focused.docs-sourcelink::after {
-        border-color: transparent transparent #4eb5de #4eb5de !important; }
-      .button.is-primary.is-inverted.is-outlined[disabled], .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink[disabled], fieldset[disabled] .button.is-primary.is-inverted.is-outlined, fieldset[disabled] .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink {
-        background-color: transparent;
-        border-color: #fff;
-        box-shadow: none;
-        color: #fff; }
-  .button.is-link {
-    background-color: #2e63b8;
-    border-color: transparent;
-    color: #fff; }
-    .button.is-link:hover, .button.is-link.is-hovered {
-      background-color: #2b5eae;
-      border-color: transparent;
-      color: #fff; }
-    .button.is-link:focus, .button.is-link.is-focused {
-      border-color: transparent;
-      color: #fff; }
-      .button.is-link:focus:not(:active), .button.is-link.is-focused:not(:active) {
-        box-shadow: 0 0 0 0.125em rgba(46, 99, 184, 0.25); }
-    .button.is-link:active, .button.is-link.is-active {
-      background-color: #2958a4;
-      border-color: transparent;
-      color: #fff; }
-    .button.is-link[disabled], fieldset[disabled] .button.is-link {
-      background-color: #2e63b8;
-      border-color: transparent;
-      box-shadow: none; }
-    .button.is-link.is-inverted {
-      background-color: #fff;
-      color: #2e63b8; }
-      .button.is-link.is-inverted:hover, .button.is-link.is-inverted.is-hovered {
-        background-color: #f2f2f2; }
-      .button.is-link.is-inverted[disabled], fieldset[disabled] .button.is-link.is-inverted {
-        background-color: #fff;
-        border-color: transparent;
-        box-shadow: none;
-        color: #2e63b8; }
-    .button.is-link.is-loading::after {
-      border-color: transparent transparent #fff #fff !important; }
-    .button.is-link.is-outlined {
-      background-color: transparent;
-      border-color: #2e63b8;
-      color: #2e63b8; }
-      .button.is-link.is-outlined:hover, .button.is-link.is-outlined.is-hovered, .button.is-link.is-outlined:focus, .button.is-link.is-outlined.is-focused {
-        background-color: #2e63b8;
-        border-color: #2e63b8;
-        color: #fff; }
-      .button.is-link.is-outlined.is-loading::after {
-        border-color: transparent transparent #2e63b8 #2e63b8 !important; }
-      .button.is-link.is-outlined.is-loading:hover::after, .button.is-link.is-outlined.is-loading.is-hovered::after, .button.is-link.is-outlined.is-loading:focus::after, .button.is-link.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent #fff #fff !important; }
-      .button.is-link.is-outlined[disabled], fieldset[disabled] .button.is-link.is-outlined {
-        background-color: transparent;
-        border-color: #2e63b8;
-        box-shadow: none;
-        color: #2e63b8; }
-    .button.is-link.is-inverted.is-outlined {
-      background-color: transparent;
-      border-color: #fff;
-      color: #fff; }
-      .button.is-link.is-inverted.is-outlined:hover, .button.is-link.is-inverted.is-outlined.is-hovered, .button.is-link.is-inverted.is-outlined:focus, .button.is-link.is-inverted.is-outlined.is-focused {
-        background-color: #fff;
-        color: #2e63b8; }
-      .button.is-link.is-inverted.is-outlined.is-loading:hover::after, .button.is-link.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-link.is-inverted.is-outlined.is-loading:focus::after, .button.is-link.is-inverted.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent #2e63b8 #2e63b8 !important; }
-      .button.is-link.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-link.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: #fff;
-        box-shadow: none;
-        color: #fff; }
-  .button.is-info {
-    background-color: #209cee;
-    border-color: transparent;
-    color: #fff; }
-    .button.is-info:hover, .button.is-info.is-hovered {
-      background-color: #1497ed;
-      border-color: transparent;
-      color: #fff; }
-    .button.is-info:focus, .button.is-info.is-focused {
-      border-color: transparent;
-      color: #fff; }
-      .button.is-info:focus:not(:active), .button.is-info.is-focused:not(:active) {
-        box-shadow: 0 0 0 0.125em rgba(32, 156, 238, 0.25); }
-    .button.is-info:active, .button.is-info.is-active {
-      background-color: #1190e3;
-      border-color: transparent;
-      color: #fff; }
-    .button.is-info[disabled], fieldset[disabled] .button.is-info {
-      background-color: #209cee;
-      border-color: transparent;
-      box-shadow: none; }
-    .button.is-info.is-inverted {
-      background-color: #fff;
-      color: #209cee; }
-      .button.is-info.is-inverted:hover, .button.is-info.is-inverted.is-hovered {
-        background-color: #f2f2f2; }
-      .button.is-info.is-inverted[disabled], fieldset[disabled] .button.is-info.is-inverted {
-        background-color: #fff;
-        border-color: transparent;
-        box-shadow: none;
-        color: #209cee; }
-    .button.is-info.is-loading::after {
-      border-color: transparent transparent #fff #fff !important; }
-    .button.is-info.is-outlined {
-      background-color: transparent;
-      border-color: #209cee;
-      color: #209cee; }
-      .button.is-info.is-outlined:hover, .button.is-info.is-outlined.is-hovered, .button.is-info.is-outlined:focus, .button.is-info.is-outlined.is-focused {
-        background-color: #209cee;
-        border-color: #209cee;
-        color: #fff; }
-      .button.is-info.is-outlined.is-loading::after {
-        border-color: transparent transparent #209cee #209cee !important; }
-      .button.is-info.is-outlined.is-loading:hover::after, .button.is-info.is-outlined.is-loading.is-hovered::after, .button.is-info.is-outlined.is-loading:focus::after, .button.is-info.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent #fff #fff !important; }
-      .button.is-info.is-outlined[disabled], fieldset[disabled] .button.is-info.is-outlined {
-        background-color: transparent;
-        border-color: #209cee;
-        box-shadow: none;
-        color: #209cee; }
-    .button.is-info.is-inverted.is-outlined {
-      background-color: transparent;
-      border-color: #fff;
-      color: #fff; }
-      .button.is-info.is-inverted.is-outlined:hover, .button.is-info.is-inverted.is-outlined.is-hovered, .button.is-info.is-inverted.is-outlined:focus, .button.is-info.is-inverted.is-outlined.is-focused {
-        background-color: #fff;
-        color: #209cee; }
-      .button.is-info.is-inverted.is-outlined.is-loading:hover::after, .button.is-info.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-info.is-inverted.is-outlined.is-loading:focus::after, .button.is-info.is-inverted.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent #209cee #209cee !important; }
-      .button.is-info.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-info.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: #fff;
-        box-shadow: none;
-        color: #fff; }
-  .button.is-success {
-    background-color: #22c35b;
-    border-color: transparent;
-    color: #fff; }
-    .button.is-success:hover, .button.is-success.is-hovered {
-      background-color: #20b856;
-      border-color: transparent;
-      color: #fff; }
-    .button.is-success:focus, .button.is-success.is-focused {
-      border-color: transparent;
-      color: #fff; }
-      .button.is-success:focus:not(:active), .button.is-success.is-focused:not(:active) {
-        box-shadow: 0 0 0 0.125em rgba(34, 195, 91, 0.25); }
-    .button.is-success:active, .button.is-success.is-active {
-      background-color: #1ead51;
-      border-color: transparent;
-      color: #fff; }
-    .button.is-success[disabled], fieldset[disabled] .button.is-success {
-      background-color: #22c35b;
-      border-color: transparent;
-      box-shadow: none; }
-    .button.is-success.is-inverted {
-      background-color: #fff;
-      color: #22c35b; }
-      .button.is-success.is-inverted:hover, .button.is-success.is-inverted.is-hovered {
-        background-color: #f2f2f2; }
-      .button.is-success.is-inverted[disabled], fieldset[disabled] .button.is-success.is-inverted {
-        background-color: #fff;
-        border-color: transparent;
-        box-shadow: none;
-        color: #22c35b; }
-    .button.is-success.is-loading::after {
-      border-color: transparent transparent #fff #fff !important; }
-    .button.is-success.is-outlined {
-      background-color: transparent;
-      border-color: #22c35b;
-      color: #22c35b; }
-      .button.is-success.is-outlined:hover, .button.is-success.is-outlined.is-hovered, .button.is-success.is-outlined:focus, .button.is-success.is-outlined.is-focused {
-        background-color: #22c35b;
-        border-color: #22c35b;
-        color: #fff; }
-      .button.is-success.is-outlined.is-loading::after {
-        border-color: transparent transparent #22c35b #22c35b !important; }
-      .button.is-success.is-outlined.is-loading:hover::after, .button.is-success.is-outlined.is-loading.is-hovered::after, .button.is-success.is-outlined.is-loading:focus::after, .button.is-success.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent #fff #fff !important; }
-      .button.is-success.is-outlined[disabled], fieldset[disabled] .button.is-success.is-outlined {
-        background-color: transparent;
-        border-color: #22c35b;
-        box-shadow: none;
-        color: #22c35b; }
-    .button.is-success.is-inverted.is-outlined {
-      background-color: transparent;
-      border-color: #fff;
-      color: #fff; }
-      .button.is-success.is-inverted.is-outlined:hover, .button.is-success.is-inverted.is-outlined.is-hovered, .button.is-success.is-inverted.is-outlined:focus, .button.is-success.is-inverted.is-outlined.is-focused {
-        background-color: #fff;
-        color: #22c35b; }
-      .button.is-success.is-inverted.is-outlined.is-loading:hover::after, .button.is-success.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-success.is-inverted.is-outlined.is-loading:focus::after, .button.is-success.is-inverted.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent #22c35b #22c35b !important; }
-      .button.is-success.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-success.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: #fff;
-        box-shadow: none;
-        color: #fff; }
-  .button.is-warning {
-    background-color: #ffdd57;
-    border-color: transparent;
-    color: rgba(0, 0, 0, 0.7); }
-    .button.is-warning:hover, .button.is-warning.is-hovered {
-      background-color: #ffda4a;
-      border-color: transparent;
-      color: rgba(0, 0, 0, 0.7); }
-    .button.is-warning:focus, .button.is-warning.is-focused {
-      border-color: transparent;
-      color: rgba(0, 0, 0, 0.7); }
-      .button.is-warning:focus:not(:active), .button.is-warning.is-focused:not(:active) {
-        box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25); }
-    .button.is-warning:active, .button.is-warning.is-active {
-      background-color: #ffd83e;
-      border-color: transparent;
-      color: rgba(0, 0, 0, 0.7); }
-    .button.is-warning[disabled], fieldset[disabled] .button.is-warning {
-      background-color: #ffdd57;
-      border-color: transparent;
-      box-shadow: none; }
-    .button.is-warning.is-inverted {
-      background-color: rgba(0, 0, 0, 0.7);
-      color: #ffdd57; }
-      .button.is-warning.is-inverted:hover, .button.is-warning.is-inverted.is-hovered {
-        background-color: rgba(0, 0, 0, 0.7); }
-      .button.is-warning.is-inverted[disabled], fieldset[disabled] .button.is-warning.is-inverted {
-        background-color: rgba(0, 0, 0, 0.7);
-        border-color: transparent;
-        box-shadow: none;
-        color: #ffdd57; }
-    .button.is-warning.is-loading::after {
-      border-color: transparent transparent rgba(0, 0, 0, 0.7) rgba(0, 0, 0, 0.7) !important; }
-    .button.is-warning.is-outlined {
-      background-color: transparent;
-      border-color: #ffdd57;
-      color: #ffdd57; }
-      .button.is-warning.is-outlined:hover, .button.is-warning.is-outlined.is-hovered, .button.is-warning.is-outlined:focus, .button.is-warning.is-outlined.is-focused {
-        background-color: #ffdd57;
-        border-color: #ffdd57;
-        color: rgba(0, 0, 0, 0.7); }
-      .button.is-warning.is-outlined.is-loading::after {
-        border-color: transparent transparent #ffdd57 #ffdd57 !important; }
-      .button.is-warning.is-outlined.is-loading:hover::after, .button.is-warning.is-outlined.is-loading.is-hovered::after, .button.is-warning.is-outlined.is-loading:focus::after, .button.is-warning.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent rgba(0, 0, 0, 0.7) rgba(0, 0, 0, 0.7) !important; }
-      .button.is-warning.is-outlined[disabled], fieldset[disabled] .button.is-warning.is-outlined {
-        background-color: transparent;
-        border-color: #ffdd57;
-        box-shadow: none;
-        color: #ffdd57; }
-    .button.is-warning.is-inverted.is-outlined {
-      background-color: transparent;
-      border-color: rgba(0, 0, 0, 0.7);
-      color: rgba(0, 0, 0, 0.7); }
-      .button.is-warning.is-inverted.is-outlined:hover, .button.is-warning.is-inverted.is-outlined.is-hovered, .button.is-warning.is-inverted.is-outlined:focus, .button.is-warning.is-inverted.is-outlined.is-focused {
-        background-color: rgba(0, 0, 0, 0.7);
-        color: #ffdd57; }
-      .button.is-warning.is-inverted.is-outlined.is-loading:hover::after, .button.is-warning.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-warning.is-inverted.is-outlined.is-loading:focus::after, .button.is-warning.is-inverted.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent #ffdd57 #ffdd57 !important; }
-      .button.is-warning.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-warning.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: rgba(0, 0, 0, 0.7);
-        box-shadow: none;
-        color: rgba(0, 0, 0, 0.7); }
-  .button.is-danger {
-    background-color: #da0b00;
-    border-color: transparent;
-    color: #fff; }
-    .button.is-danger:hover, .button.is-danger.is-hovered {
-      background-color: #cd0a00;
-      border-color: transparent;
-      color: #fff; }
-    .button.is-danger:focus, .button.is-danger.is-focused {
-      border-color: transparent;
-      color: #fff; }
-      .button.is-danger:focus:not(:active), .button.is-danger.is-focused:not(:active) {
-        box-shadow: 0 0 0 0.125em rgba(218, 11, 0, 0.25); }
-    .button.is-danger:active, .button.is-danger.is-active {
-      background-color: #c10a00;
-      border-color: transparent;
-      color: #fff; }
-    .button.is-danger[disabled], fieldset[disabled] .button.is-danger {
-      background-color: #da0b00;
-      border-color: transparent;
-      box-shadow: none; }
-    .button.is-danger.is-inverted {
-      background-color: #fff;
-      color: #da0b00; }
-      .button.is-danger.is-inverted:hover, .button.is-danger.is-inverted.is-hovered {
-        background-color: #f2f2f2; }
-      .button.is-danger.is-inverted[disabled], fieldset[disabled] .button.is-danger.is-inverted {
-        background-color: #fff;
-        border-color: transparent;
-        box-shadow: none;
-        color: #da0b00; }
-    .button.is-danger.is-loading::after {
-      border-color: transparent transparent #fff #fff !important; }
-    .button.is-danger.is-outlined {
-      background-color: transparent;
-      border-color: #da0b00;
-      color: #da0b00; }
-      .button.is-danger.is-outlined:hover, .button.is-danger.is-outlined.is-hovered, .button.is-danger.is-outlined:focus, .button.is-danger.is-outlined.is-focused {
-        background-color: #da0b00;
-        border-color: #da0b00;
-        color: #fff; }
-      .button.is-danger.is-outlined.is-loading::after {
-        border-color: transparent transparent #da0b00 #da0b00 !important; }
-      .button.is-danger.is-outlined.is-loading:hover::after, .button.is-danger.is-outlined.is-loading.is-hovered::after, .button.is-danger.is-outlined.is-loading:focus::after, .button.is-danger.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent #fff #fff !important; }
-      .button.is-danger.is-outlined[disabled], fieldset[disabled] .button.is-danger.is-outlined {
-        background-color: transparent;
-        border-color: #da0b00;
-        box-shadow: none;
-        color: #da0b00; }
-    .button.is-danger.is-inverted.is-outlined {
-      background-color: transparent;
-      border-color: #fff;
-      color: #fff; }
-      .button.is-danger.is-inverted.is-outlined:hover, .button.is-danger.is-inverted.is-outlined.is-hovered, .button.is-danger.is-inverted.is-outlined:focus, .button.is-danger.is-inverted.is-outlined.is-focused {
-        background-color: #fff;
-        color: #da0b00; }
-      .button.is-danger.is-inverted.is-outlined.is-loading:hover::after, .button.is-danger.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-danger.is-inverted.is-outlined.is-loading:focus::after, .button.is-danger.is-inverted.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent #da0b00 #da0b00 !important; }
-      .button.is-danger.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-danger.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: #fff;
-        box-shadow: none;
-        color: #fff; }
-  .button.is-small, #documenter .docs-sidebar form.docs-search > input.button {
-    border-radius: 2px;
-    font-size: 0.75rem; }
-  .button.is-normal {
-    font-size: 1rem; }
-  .button.is-medium {
-    font-size: 1.25rem; }
-  .button.is-large {
-    font-size: 1.5rem; }
-  .button[disabled], fieldset[disabled] .button {
-    background-color: white;
-    border-color: #dbdbdb;
-    box-shadow: none;
-    opacity: 0.5; }
-  .button.is-fullwidth {
-    display: flex;
-    width: 100%; }
-  .button.is-loading {
-    color: transparent !important;
-    pointer-events: none; }
-    .button.is-loading::after {
-      position: absolute;
-      left: calc(50% - (1em / 2));
-      top: calc(50% - (1em / 2));
-      position: absolute !important; }
-  .button.is-static {
-    background-color: whitesmoke;
-    border-color: #dbdbdb;
-    color: #6b6b6b;
-    box-shadow: none;
-    pointer-events: none; }
-  .button.is-rounded, #documenter .docs-sidebar form.docs-search > input.button {
-    border-radius: 290486px;
-    padding-left: 1em;
-    padding-right: 1em; }
-
-.buttons {
-  align-items: center;
-  display: flex;
-  flex-wrap: wrap;
-  justify-content: flex-start; }
-  .buttons .button {
-    margin-bottom: 0.5rem; }
-    .buttons .button:not(:last-child):not(.is-fullwidth) {
-      margin-right: 0.5rem; }
-  .buttons:last-child {
-    margin-bottom: -0.5rem; }
-  .buttons:not(:last-child) {
-    margin-bottom: 1rem; }
-  .buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large) {
-    border-radius: 2px;
-    font-size: 0.75rem; }
-  .buttons.are-medium .button:not(.is-small):not(.is-normal):not(.is-large) {
-    font-size: 1.25rem; }
-  .buttons.are-large .button:not(.is-small):not(.is-normal):not(.is-medium) {
-    font-size: 1.5rem; }
-  .buttons.has-addons .button:not(:first-child) {
-    border-bottom-left-radius: 0;
-    border-top-left-radius: 0; }
-  .buttons.has-addons .button:not(:last-child) {
-    border-bottom-right-radius: 0;
-    border-top-right-radius: 0;
-    margin-right: -1px; }
-  .buttons.has-addons .button:last-child {
-    margin-right: 0; }
-  .buttons.has-addons .button:hover, .buttons.has-addons .button.is-hovered {
-    z-index: 2; }
-  .buttons.has-addons .button:focus, .buttons.has-addons .button.is-focused, .buttons.has-addons .button:active, .buttons.has-addons .button.is-active, .buttons.has-addons .button.is-selected {
-    z-index: 3; }
-    .buttons.has-addons .button:focus:hover, .buttons.has-addons .button.is-focused:hover, .buttons.has-addons .button:active:hover, .buttons.has-addons .button.is-active:hover, .buttons.has-addons .button.is-selected:hover {
-      z-index: 4; }
-  .buttons.has-addons .button.is-expanded {
-    flex-grow: 1;
-    flex-shrink: 1; }
-  .buttons.is-centered {
-    justify-content: center; }
-    .buttons.is-centered:not(.has-addons) .button:not(.is-fullwidth) {
-      margin-left: 0.25rem;
-      margin-right: 0.25rem; }
-  .buttons.is-right {
-    justify-content: flex-end; }
-    .buttons.is-right:not(.has-addons) .button:not(.is-fullwidth) {
-      margin-left: 0.25rem;
-      margin-right: 0.25rem; }
-
-.container {
-  flex-grow: 1;
-  margin: 0 auto;
-  position: relative;
-  width: auto; }
-  @media screen and (min-width: 1056px) {
-    .container {
-      max-width: 992px; }
-      .container.is-fluid {
-        margin-left: 32px;
-        margin-right: 32px;
-        max-width: none; } }
-  @media screen and (max-width: 1215px) {
-    .container.is-widescreen {
-      max-width: 1152px; } }
-  @media screen and (max-width: 1407px) {
-    .container.is-fullhd {
-      max-width: 1344px; } }
-  @media screen and (min-width: 1216px) {
-    .container {
-      max-width: 1152px; } }
-  @media screen and (min-width: 1408px) {
-    .container {
-      max-width: 1344px; } }
-.content li + li {
-  margin-top: 0.25em; }
-
-.content p:not(:last-child),
-.content dl:not(:last-child),
-.content ol:not(:last-child),
-.content ul:not(:last-child),
-.content blockquote:not(:last-child),
-.content pre:not(:last-child),
-.content table:not(:last-child) {
-  margin-bottom: 1em; }
-
-.content h1,
-.content h2,
-.content h3,
-.content h4,
-.content h5,
-.content h6 {
-  color: #222222;
-  font-weight: 600;
-  line-height: 1.125; }
-
-.content h1 {
-  font-size: 2em;
-  margin-bottom: 0.5em; }
-  .content h1:not(:first-child) {
-    margin-top: 1em; }
-
-.content h2 {
-  font-size: 1.75em;
-  margin-bottom: 0.5714em; }
-  .content h2:not(:first-child) {
-    margin-top: 1.1428em; }
-
-.content h3 {
-  font-size: 1.5em;
-  margin-bottom: 0.6666em; }
-  .content h3:not(:first-child) {
-    margin-top: 1.3333em; }
-
-.content h4 {
-  font-size: 1.25em;
-  margin-bottom: 0.8em; }
-
-.content h5 {
-  font-size: 1.125em;
-  margin-bottom: 0.8888em; }
-
-.content h6 {
-  font-size: 1em;
-  margin-bottom: 1em; }
-
-.content blockquote {
-  background-color: whitesmoke;
-  border-left: 5px solid #dbdbdb;
-  padding: 1.25em 1.5em; }
-
-.content ol {
-  list-style-position: outside;
-  margin-left: 2em;
-  margin-top: 1em; }
-  .content ol:not([type]) {
-    list-style-type: decimal; }
-    .content ol.is-lower-alpha:not([type]) {
-      list-style-type: lower-alpha; }
-    .content ol.is-lower-roman:not([type]) {
-      list-style-type: lower-roman; }
-    .content ol.is-upper-alpha:not([type]) {
-      list-style-type: upper-alpha; }
-    .content ol.is-upper-roman:not([type]) {
-      list-style-type: upper-roman; }
-
-.content ul {
-  list-style: disc outside;
-  margin-left: 2em;
-  margin-top: 1em; }
-  .content ul ul {
-    list-style-type: circle;
-    margin-top: 0.5em; }
-    .content ul ul ul {
-      list-style-type: square; }
-
-.content dd {
-  margin-left: 2em; }
-
-.content figure {
-  margin-left: 2em;
-  margin-right: 2em;
-  text-align: center; }
-  .content figure:not(:first-child) {
-    margin-top: 2em; }
-  .content figure:not(:last-child) {
-    margin-bottom: 2em; }
-  .content figure img {
-    display: inline-block; }
-  .content figure figcaption {
-    font-style: italic; }
-
-.content pre {
-  -webkit-overflow-scrolling: touch;
-  overflow-x: auto;
-  padding: 0;
-  white-space: pre;
-  word-wrap: normal; }
-
-.content sup,
-.content sub {
-  font-size: 75%; }
-
-.content table {
-  width: 100%; }
-  .content table td,
-  .content table th {
-    border: 1px solid #dbdbdb;
-    border-width: 0 0 1px;
-    padding: 0.5em 0.75em;
-    vertical-align: top; }
-  .content table th {
-    color: #222222; }
-    .content table th:not([align]) {
-      text-align: left; }
-  .content table thead td,
-  .content table thead th {
-    border-width: 0 0 2px;
-    color: #222222; }
-  .content table tfoot td,
-  .content table tfoot th {
-    border-width: 2px 0 0;
-    color: #222222; }
-  .content table tbody tr:last-child td,
-  .content table tbody tr:last-child th {
-    border-bottom-width: 0; }
-
-.content .tabs li + li {
-  margin-top: 0; }
-
-.content.is-small, #documenter .docs-sidebar form.docs-search > input.content {
-  font-size: 0.75rem; }
-
-.content.is-medium {
-  font-size: 1.25rem; }
-
-.content.is-large {
-  font-size: 1.5rem; }
-
-.icon {
-  align-items: center;
-  display: inline-flex;
-  justify-content: center;
-  height: 1.5rem;
-  width: 1.5rem; }
-  .icon.is-small, #documenter .docs-sidebar form.docs-search > input.icon {
-    height: 1rem;
-    width: 1rem; }
-  .icon.is-medium {
-    height: 2rem;
-    width: 2rem; }
-  .icon.is-large {
-    height: 3rem;
-    width: 3rem; }
-
-.image, #documenter .docs-sidebar .docs-logo > img {
-  display: block;
-  position: relative; }
-  .image img, #documenter .docs-sidebar .docs-logo > img img {
-    display: block;
-    height: auto;
-    width: 100%; }
-    .image img.is-rounded, #documenter .docs-sidebar .docs-logo > img img.is-rounded {
-      border-radius: 290486px; }
-  .image.is-square img, #documenter .docs-sidebar .docs-logo > img.is-square img,
-  .image.is-square .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-square .has-ratio, .image.is-1by1 img, #documenter .docs-sidebar .docs-logo > img.is-1by1 img,
-  .image.is-1by1 .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-1by1 .has-ratio, .image.is-5by4 img, #documenter .docs-sidebar .docs-logo > img.is-5by4 img,
-  .image.is-5by4 .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-5by4 .has-ratio, .image.is-4by3 img, #documenter .docs-sidebar .docs-logo > img.is-4by3 img,
-  .image.is-4by3 .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-4by3 .has-ratio, .image.is-3by2 img, #documenter .docs-sidebar .docs-logo > img.is-3by2 img,
-  .image.is-3by2 .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-3by2 .has-ratio, .image.is-5by3 img, #documenter .docs-sidebar .docs-logo > img.is-5by3 img,
-  .image.is-5by3 .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-5by3 .has-ratio, .image.is-16by9 img, #documenter .docs-sidebar .docs-logo > img.is-16by9 img,
-  .image.is-16by9 .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-16by9 .has-ratio, .image.is-2by1 img, #documenter .docs-sidebar .docs-logo > img.is-2by1 img,
-  .image.is-2by1 .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-2by1 .has-ratio, .image.is-3by1 img, #documenter .docs-sidebar .docs-logo > img.is-3by1 img,
-  .image.is-3by1 .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-3by1 .has-ratio, .image.is-4by5 img, #documenter .docs-sidebar .docs-logo > img.is-4by5 img,
-  .image.is-4by5 .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-4by5 .has-ratio, .image.is-3by4 img, #documenter .docs-sidebar .docs-logo > img.is-3by4 img,
-  .image.is-3by4 .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-3by4 .has-ratio, .image.is-2by3 img, #documenter .docs-sidebar .docs-logo > img.is-2by3 img,
-  .image.is-2by3 .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-2by3 .has-ratio, .image.is-3by5 img, #documenter .docs-sidebar .docs-logo > img.is-3by5 img,
-  .image.is-3by5 .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-3by5 .has-ratio, .image.is-9by16 img, #documenter .docs-sidebar .docs-logo > img.is-9by16 img,
-  .image.is-9by16 .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-9by16 .has-ratio, .image.is-1by2 img, #documenter .docs-sidebar .docs-logo > img.is-1by2 img,
-  .image.is-1by2 .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-1by2 .has-ratio, .image.is-1by3 img, #documenter .docs-sidebar .docs-logo > img.is-1by3 img,
-  .image.is-1by3 .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-1by3 .has-ratio {
-    height: 100%;
-    width: 100%; }
-  .image.is-square, #documenter .docs-sidebar .docs-logo > img.is-square, .image.is-1by1, #documenter .docs-sidebar .docs-logo > img.is-1by1 {
-    padding-top: 100%; }
-  .image.is-5by4, #documenter .docs-sidebar .docs-logo > img.is-5by4 {
-    padding-top: 80%; }
-  .image.is-4by3, #documenter .docs-sidebar .docs-logo > img.is-4by3 {
-    padding-top: 75%; }
-  .image.is-3by2, #documenter .docs-sidebar .docs-logo > img.is-3by2 {
-    padding-top: 66.6666%; }
-  .image.is-5by3, #documenter .docs-sidebar .docs-logo > img.is-5by3 {
-    padding-top: 60%; }
-  .image.is-16by9, #documenter .docs-sidebar .docs-logo > img.is-16by9 {
-    padding-top: 56.25%; }
-  .image.is-2by1, #documenter .docs-sidebar .docs-logo > img.is-2by1 {
-    padding-top: 50%; }
-  .image.is-3by1, #documenter .docs-sidebar .docs-logo > img.is-3by1 {
-    padding-top: 33.3333%; }
-  .image.is-4by5, #documenter .docs-sidebar .docs-logo > img.is-4by5 {
-    padding-top: 125%; }
-  .image.is-3by4, #documenter .docs-sidebar .docs-logo > img.is-3by4 {
-    padding-top: 133.3333%; }
-  .image.is-2by3, #documenter .docs-sidebar .docs-logo > img.is-2by3 {
-    padding-top: 150%; }
-  .image.is-3by5, #documenter .docs-sidebar .docs-logo > img.is-3by5 {
-    padding-top: 166.6666%; }
-  .image.is-9by16, #documenter .docs-sidebar .docs-logo > img.is-9by16 {
-    padding-top: 177.7777%; }
-  .image.is-1by2, #documenter .docs-sidebar .docs-logo > img.is-1by2 {
-    padding-top: 200%; }
-  .image.is-1by3, #documenter .docs-sidebar .docs-logo > img.is-1by3 {
-    padding-top: 300%; }
-  .image.is-16x16, #documenter .docs-sidebar .docs-logo > img.is-16x16 {
-    height: 16px;
-    width: 16px; }
-  .image.is-24x24, #documenter .docs-sidebar .docs-logo > img.is-24x24 {
-    height: 24px;
-    width: 24px; }
-  .image.is-32x32, #documenter .docs-sidebar .docs-logo > img.is-32x32 {
-    height: 32px;
-    width: 32px; }
-  .image.is-48x48, #documenter .docs-sidebar .docs-logo > img.is-48x48 {
-    height: 48px;
-    width: 48px; }
-  .image.is-64x64, #documenter .docs-sidebar .docs-logo > img.is-64x64 {
-    height: 64px;
-    width: 64px; }
-  .image.is-96x96, #documenter .docs-sidebar .docs-logo > img.is-96x96 {
-    height: 96px;
-    width: 96px; }
-  .image.is-128x128, #documenter .docs-sidebar .docs-logo > img.is-128x128 {
-    height: 128px;
-    width: 128px; }
-
-.notification {
-  background-color: whitesmoke;
-  border-radius: 4px;
-  padding: 1.25rem 2.5rem 1.25rem 1.5rem;
-  position: relative; }
-  .notification a:not(.button):not(.dropdown-item) {
-    color: currentColor;
-    text-decoration: underline; }
-  .notification strong {
-    color: currentColor; }
-  .notification code,
-  .notification pre {
-    background: white; }
-  .notification pre code {
-    background: transparent; }
-  .notification > .delete {
-    position: absolute;
-    right: 0.5rem;
-    top: 0.5rem; }
-  .notification .title,
-  .notification .subtitle,
-  .notification .content {
-    color: currentColor; }
-  .notification.is-white {
-    background-color: white;
-    color: #0a0a0a; }
-  .notification.is-black {
-    background-color: #0a0a0a;
-    color: white; }
-  .notification.is-light {
-    background-color: whitesmoke;
-    color: #363636; }
-  .notification.is-dark, .content kbd.notification {
-    background-color: #363636;
-    color: whitesmoke; }
-  .notification.is-primary, .docstring > section > a.notification.docs-sourcelink {
-    background-color: #4eb5de;
-    color: #fff; }
-  .notification.is-link {
-    background-color: #2e63b8;
-    color: #fff; }
-  .notification.is-info {
-    background-color: #209cee;
-    color: #fff; }
-  .notification.is-success {
-    background-color: #22c35b;
-    color: #fff; }
-  .notification.is-warning {
-    background-color: #ffdd57;
-    color: rgba(0, 0, 0, 0.7); }
-  .notification.is-danger {
-    background-color: #da0b00;
-    color: #fff; }
-
-.progress {
-  -moz-appearance: none;
-  -webkit-appearance: none;
-  border: none;
-  border-radius: 290486px;
-  display: block;
-  height: 1rem;
-  overflow: hidden;
-  padding: 0;
-  width: 100%; }
-  .progress::-webkit-progress-bar {
-    background-color: #dbdbdb; }
-  .progress::-webkit-progress-value {
-    background-color: #222222; }
-  .progress::-moz-progress-bar {
-    background-color: #222222; }
-  .progress::-ms-fill {
-    background-color: #222222;
-    border: none; }
-  .progress.is-white::-webkit-progress-value {
-    background-color: white; }
-  .progress.is-white::-moz-progress-bar {
-    background-color: white; }
-  .progress.is-white::-ms-fill {
-    background-color: white; }
-  .progress.is-white:indeterminate {
-    background-image: linear-gradient(to right, white 30%, #dbdbdb 30%); }
-  .progress.is-black::-webkit-progress-value {
-    background-color: #0a0a0a; }
-  .progress.is-black::-moz-progress-bar {
-    background-color: #0a0a0a; }
-  .progress.is-black::-ms-fill {
-    background-color: #0a0a0a; }
-  .progress.is-black:indeterminate {
-    background-image: linear-gradient(to right, #0a0a0a 30%, #dbdbdb 30%); }
-  .progress.is-light::-webkit-progress-value {
-    background-color: whitesmoke; }
-  .progress.is-light::-moz-progress-bar {
-    background-color: whitesmoke; }
-  .progress.is-light::-ms-fill {
-    background-color: whitesmoke; }
-  .progress.is-light:indeterminate {
-    background-image: linear-gradient(to right, whitesmoke 30%, #dbdbdb 30%); }
-  .progress.is-dark::-webkit-progress-value, .content kbd.progress::-webkit-progress-value {
-    background-color: #363636; }
-  .progress.is-dark::-moz-progress-bar, .content kbd.progress::-moz-progress-bar {
-    background-color: #363636; }
-  .progress.is-dark::-ms-fill, .content kbd.progress::-ms-fill {
-    background-color: #363636; }
-  .progress.is-dark:indeterminate, .content kbd.progress:indeterminate {
-    background-image: linear-gradient(to right, #363636 30%, #dbdbdb 30%); }
-  .progress.is-primary::-webkit-progress-value, .docstring > section > a.progress.docs-sourcelink::-webkit-progress-value {
-    background-color: #4eb5de; }
-  .progress.is-primary::-moz-progress-bar, .docstring > section > a.progress.docs-sourcelink::-moz-progress-bar {
-    background-color: #4eb5de; }
-  .progress.is-primary::-ms-fill, .docstring > section > a.progress.docs-sourcelink::-ms-fill {
-    background-color: #4eb5de; }
-  .progress.is-primary:indeterminate, .docstring > section > a.progress.docs-sourcelink:indeterminate {
-    background-image: linear-gradient(to right, #4eb5de 30%, #dbdbdb 30%); }
-  .progress.is-link::-webkit-progress-value {
-    background-color: #2e63b8; }
-  .progress.is-link::-moz-progress-bar {
-    background-color: #2e63b8; }
-  .progress.is-link::-ms-fill {
-    background-color: #2e63b8; }
-  .progress.is-link:indeterminate {
-    background-image: linear-gradient(to right, #2e63b8 30%, #dbdbdb 30%); }
-  .progress.is-info::-webkit-progress-value {
-    background-color: #209cee; }
-  .progress.is-info::-moz-progress-bar {
-    background-color: #209cee; }
-  .progress.is-info::-ms-fill {
-    background-color: #209cee; }
-  .progress.is-info:indeterminate {
-    background-image: linear-gradient(to right, #209cee 30%, #dbdbdb 30%); }
-  .progress.is-success::-webkit-progress-value {
-    background-color: #22c35b; }
-  .progress.is-success::-moz-progress-bar {
-    background-color: #22c35b; }
-  .progress.is-success::-ms-fill {
-    background-color: #22c35b; }
-  .progress.is-success:indeterminate {
-    background-image: linear-gradient(to right, #22c35b 30%, #dbdbdb 30%); }
-  .progress.is-warning::-webkit-progress-value {
-    background-color: #ffdd57; }
-  .progress.is-warning::-moz-progress-bar {
-    background-color: #ffdd57; }
-  .progress.is-warning::-ms-fill {
-    background-color: #ffdd57; }
-  .progress.is-warning:indeterminate {
-    background-image: linear-gradient(to right, #ffdd57 30%, #dbdbdb 30%); }
-  .progress.is-danger::-webkit-progress-value {
-    background-color: #da0b00; }
-  .progress.is-danger::-moz-progress-bar {
-    background-color: #da0b00; }
-  .progress.is-danger::-ms-fill {
-    background-color: #da0b00; }
-  .progress.is-danger:indeterminate {
-    background-image: linear-gradient(to right, #da0b00 30%, #dbdbdb 30%); }
-  .progress:indeterminate {
-    animation-duration: 1.5s;
-    animation-iteration-count: infinite;
-    animation-name: moveIndeterminate;
-    animation-timing-function: linear;
-    background-color: #dbdbdb;
-    background-image: linear-gradient(to right, #222222 30%, #dbdbdb 30%);
-    background-position: top left;
-    background-repeat: no-repeat;
-    background-size: 150% 150%; }
-    .progress:indeterminate::-webkit-progress-bar {
-      background-color: transparent; }
-    .progress:indeterminate::-moz-progress-bar {
-      background-color: transparent; }
-  .progress.is-small, #documenter .docs-sidebar form.docs-search > input.progress {
-    height: 0.75rem; }
-  .progress.is-medium {
-    height: 1.25rem; }
-  .progress.is-large {
-    height: 1.5rem; }
-
-@keyframes moveIndeterminate {
-  from {
-    background-position: 200% 0; }
-  to {
-    background-position: -200% 0; } }
-
-.table {
-  background-color: white;
-  color: #363636; }
-  .table td,
-  .table th {
-    border: 1px solid #dbdbdb;
-    border-width: 0 0 1px;
-    padding: 0.5em 0.75em;
-    vertical-align: top; }
-    .table td.is-white,
-    .table th.is-white {
-      background-color: white;
-      border-color: white;
-      color: #0a0a0a; }
-    .table td.is-black,
-    .table th.is-black {
-      background-color: #0a0a0a;
-      border-color: #0a0a0a;
-      color: white; }
-    .table td.is-light,
-    .table th.is-light {
-      background-color: whitesmoke;
-      border-color: whitesmoke;
-      color: #363636; }
-    .table td.is-dark,
-    .table th.is-dark {
-      background-color: #363636;
-      border-color: #363636;
-      color: whitesmoke; }
-    .table td.is-primary,
-    .table th.is-primary {
-      background-color: #4eb5de;
-      border-color: #4eb5de;
-      color: #fff; }
-    .table td.is-link,
-    .table th.is-link {
-      background-color: #2e63b8;
-      border-color: #2e63b8;
-      color: #fff; }
-    .table td.is-info,
-    .table th.is-info {
-      background-color: #209cee;
-      border-color: #209cee;
-      color: #fff; }
-    .table td.is-success,
-    .table th.is-success {
-      background-color: #22c35b;
-      border-color: #22c35b;
-      color: #fff; }
-    .table td.is-warning,
-    .table th.is-warning {
-      background-color: #ffdd57;
-      border-color: #ffdd57;
-      color: rgba(0, 0, 0, 0.7); }
-    .table td.is-danger,
-    .table th.is-danger {
-      background-color: #da0b00;
-      border-color: #da0b00;
-      color: #fff; }
-    .table td.is-narrow,
-    .table th.is-narrow {
-      white-space: nowrap;
-      width: 1%; }
-    .table td.is-selected,
-    .table th.is-selected {
-      background-color: #4eb5de;
-      color: #fff; }
-      .table td.is-selected a,
-      .table td.is-selected strong,
-      .table th.is-selected a,
-      .table th.is-selected strong {
-        color: currentColor; }
-  .table th {
-    color: #222222; }
-    .table th:not([align]) {
-      text-align: left; }
-  .table tr.is-selected {
-    background-color: #4eb5de;
-    color: #fff; }
-    .table tr.is-selected a,
-    .table tr.is-selected strong {
-      color: currentColor; }
-    .table tr.is-selected td,
-    .table tr.is-selected th {
-      border-color: #fff;
-      color: currentColor; }
-  .table thead {
-    background-color: transparent; }
-    .table thead td,
-    .table thead th {
-      border-width: 0 0 2px;
-      color: #222222; }
-  .table tfoot {
-    background-color: transparent; }
-    .table tfoot td,
-    .table tfoot th {
-      border-width: 2px 0 0;
-      color: #222222; }
-  .table tbody {
-    background-color: transparent; }
-    .table tbody tr:last-child td,
-    .table tbody tr:last-child th {
-      border-bottom-width: 0; }
-  .table.is-bordered td,
-  .table.is-bordered th {
-    border-width: 1px; }
-  .table.is-bordered tr:last-child td,
-  .table.is-bordered tr:last-child th {
-    border-bottom-width: 1px; }
-  .table.is-fullwidth {
-    width: 100%; }
-  .table.is-hoverable tbody tr:not(.is-selected):hover {
-    background-color: #fafafa; }
-  .table.is-hoverable.is-striped tbody tr:not(.is-selected):hover {
-    background-color: #fafafa; }
-    .table.is-hoverable.is-striped tbody tr:not(.is-selected):hover:nth-child(even) {
-      background-color: whitesmoke; }
-  .table.is-narrow td,
-  .table.is-narrow th {
-    padding: 0.25em 0.5em; }
-  .table.is-striped tbody tr:not(.is-selected):nth-child(even) {
-    background-color: #fafafa; }
-
-.table-container {
-  -webkit-overflow-scrolling: touch;
-  overflow: auto;
-  overflow-y: hidden;
-  max-width: 100%; }
-
-.tags {
-  align-items: center;
-  display: flex;
-  flex-wrap: wrap;
-  justify-content: flex-start; }
-  .tags .tag, .tags .content kbd, .content .tags kbd, .tags .docstring > section > a.docs-sourcelink {
-    margin-bottom: 0.5rem; }
-    .tags .tag:not(:last-child), .tags .content kbd:not(:last-child), .content .tags kbd:not(:last-child), .tags .docstring > section > a.docs-sourcelink:not(:last-child) {
-      margin-right: 0.5rem; }
-  .tags:last-child {
-    margin-bottom: -0.5rem; }
-  .tags:not(:last-child) {
-    margin-bottom: 1rem; }
-  .tags.are-medium .tag:not(.is-normal):not(.is-large), .tags.are-medium .content kbd:not(.is-normal):not(.is-large), .content .tags.are-medium kbd:not(.is-normal):not(.is-large), .tags.are-medium .docstring > section > a.docs-sourcelink:not(.is-normal):not(.is-large) {
-    font-size: 1rem; }
-  .tags.are-large .tag:not(.is-normal):not(.is-medium), .tags.are-large .content kbd:not(.is-normal):not(.is-medium), .content .tags.are-large kbd:not(.is-normal):not(.is-medium), .tags.are-large .docstring > section > a.docs-sourcelink:not(.is-normal):not(.is-medium) {
-    font-size: 1.25rem; }
-  .tags.is-centered {
-    justify-content: center; }
-    .tags.is-centered .tag, .tags.is-centered .content kbd, .content .tags.is-centered kbd, .tags.is-centered .docstring > section > a.docs-sourcelink {
-      margin-right: 0.25rem;
-      margin-left: 0.25rem; }
-  .tags.is-right {
-    justify-content: flex-end; }
-    .tags.is-right .tag:not(:first-child), .tags.is-right .content kbd:not(:first-child), .content .tags.is-right kbd:not(:first-child), .tags.is-right .docstring > section > a.docs-sourcelink:not(:first-child) {
-      margin-left: 0.5rem; }
-    .tags.is-right .tag:not(:last-child), .tags.is-right .content kbd:not(:last-child), .content .tags.is-right kbd:not(:last-child), .tags.is-right .docstring > section > a.docs-sourcelink:not(:last-child) {
-      margin-right: 0; }
-  .tags.has-addons .tag, .tags.has-addons .content kbd, .content .tags.has-addons kbd, .tags.has-addons .docstring > section > a.docs-sourcelink {
-    margin-right: 0; }
-    .tags.has-addons .tag:not(:first-child), .tags.has-addons .content kbd:not(:first-child), .content .tags.has-addons kbd:not(:first-child), .tags.has-addons .docstring > section > a.docs-sourcelink:not(:first-child) {
-      margin-left: 0;
-      border-bottom-left-radius: 0;
-      border-top-left-radius: 0; }
-    .tags.has-addons .tag:not(:last-child), .tags.has-addons .content kbd:not(:last-child), .content .tags.has-addons kbd:not(:last-child), .tags.has-addons .docstring > section > a.docs-sourcelink:not(:last-child) {
-      border-bottom-right-radius: 0;
-      border-top-right-radius: 0; }
-
-.tag:not(body), .content kbd:not(body), .docstring > section > a.docs-sourcelink:not(body) {
-  align-items: center;
-  background-color: whitesmoke;
-  border-radius: 4px;
-  color: #222222;
-  display: inline-flex;
-  font-size: 0.75rem;
-  height: 2em;
-  justify-content: center;
-  line-height: 1.5;
-  padding-left: 0.75em;
-  padding-right: 0.75em;
-  white-space: nowrap; }
-  .tag:not(body) .delete, .content kbd:not(body) .delete, .docstring > section > a.docs-sourcelink:not(body) .delete {
-    margin-left: 0.25rem;
-    margin-right: -0.375rem; }
-  .tag.is-white:not(body), .content kbd.is-white:not(body), .docstring > section > a.docs-sourcelink.is-white:not(body) {
-    background-color: white;
-    color: #0a0a0a; }
-  .tag.is-black:not(body), .content kbd.is-black:not(body), .docstring > section > a.docs-sourcelink.is-black:not(body) {
-    background-color: #0a0a0a;
-    color: white; }
-  .tag.is-light:not(body), .content kbd.is-light:not(body), .docstring > section > a.docs-sourcelink.is-light:not(body) {
-    background-color: whitesmoke;
-    color: #363636; }
-  .tag.is-dark:not(body), .content kbd:not(body), .docstring > section > a.docs-sourcelink.is-dark:not(body), .content .docstring > section > kbd:not(body) {
-    background-color: #363636;
-    color: whitesmoke; }
-  .tag.is-primary:not(body), .content kbd.is-primary:not(body), .docstring > section > a.docs-sourcelink:not(body) {
-    background-color: #4eb5de;
-    color: #fff; }
-  .tag.is-link:not(body), .content kbd.is-link:not(body), .docstring > section > a.docs-sourcelink.is-link:not(body) {
-    background-color: #2e63b8;
-    color: #fff; }
-  .tag.is-info:not(body), .content kbd.is-info:not(body), .docstring > section > a.docs-sourcelink.is-info:not(body) {
-    background-color: #209cee;
-    color: #fff; }
-  .tag.is-success:not(body), .content kbd.is-success:not(body), .docstring > section > a.docs-sourcelink.is-success:not(body) {
-    background-color: #22c35b;
-    color: #fff; }
-  .tag.is-warning:not(body), .content kbd.is-warning:not(body), .docstring > section > a.docs-sourcelink.is-warning:not(body) {
-    background-color: #ffdd57;
-    color: rgba(0, 0, 0, 0.7); }
-  .tag.is-danger:not(body), .content kbd.is-danger:not(body), .docstring > section > a.docs-sourcelink.is-danger:not(body) {
-    background-color: #da0b00;
-    color: #fff; }
-  .tag.is-normal:not(body), .content kbd.is-normal:not(body), .docstring > section > a.docs-sourcelink.is-normal:not(body) {
-    font-size: 0.75rem; }
-  .tag.is-medium:not(body), .content kbd.is-medium:not(body), .docstring > section > a.docs-sourcelink.is-medium:not(body) {
-    font-size: 1rem; }
-  .tag.is-large:not(body), .content kbd.is-large:not(body), .docstring > section > a.docs-sourcelink.is-large:not(body) {
-    font-size: 1.25rem; }
-  .tag:not(body) .icon:first-child:not(:last-child), .content kbd:not(body) .icon:first-child:not(:last-child), .docstring > section > a.docs-sourcelink:not(body) .icon:first-child:not(:last-child) {
-    margin-left: -0.375em;
-    margin-right: 0.1875em; }
-  .tag:not(body) .icon:last-child:not(:first-child), .content kbd:not(body) .icon:last-child:not(:first-child), .docstring > section > a.docs-sourcelink:not(body) .icon:last-child:not(:first-child) {
-    margin-left: 0.1875em;
-    margin-right: -0.375em; }
-  .tag:not(body) .icon:first-child:last-child, .content kbd:not(body) .icon:first-child:last-child, .docstring > section > a.docs-sourcelink:not(body) .icon:first-child:last-child {
-    margin-left: -0.375em;
-    margin-right: -0.375em; }
-  .tag.is-delete:not(body), .content kbd.is-delete:not(body), .docstring > section > a.docs-sourcelink.is-delete:not(body) {
-    margin-left: 1px;
-    padding: 0;
-    position: relative;
-    width: 2em; }
-    .tag.is-delete:not(body)::before, .content kbd.is-delete:not(body)::before, .docstring > section > a.docs-sourcelink.is-delete:not(body)::before, .tag.is-delete:not(body)::after, .content kbd.is-delete:not(body)::after, .docstring > section > a.docs-sourcelink.is-delete:not(body)::after {
-      background-color: currentColor;
-      content: "";
-      display: block;
-      left: 50%;
-      position: absolute;
-      top: 50%;
-      transform: translateX(-50%) translateY(-50%) rotate(45deg);
-      transform-origin: center center; }
-    .tag.is-delete:not(body)::before, .content kbd.is-delete:not(body)::before, .docstring > section > a.docs-sourcelink.is-delete:not(body)::before {
-      height: 1px;
-      width: 50%; }
-    .tag.is-delete:not(body)::after, .content kbd.is-delete:not(body)::after, .docstring > section > a.docs-sourcelink.is-delete:not(body)::after {
-      height: 50%;
-      width: 1px; }
-    .tag.is-delete:not(body):hover, .content kbd.is-delete:not(body):hover, .docstring > section > a.docs-sourcelink.is-delete:not(body):hover, .tag.is-delete:not(body):focus, .content kbd.is-delete:not(body):focus, .docstring > section > a.docs-sourcelink.is-delete:not(body):focus {
-      background-color: #e8e8e8; }
-    .tag.is-delete:not(body):active, .content kbd.is-delete:not(body):active, .docstring > section > a.docs-sourcelink.is-delete:not(body):active {
-      background-color: #dbdbdb; }
-  .tag.is-rounded:not(body), #documenter .docs-sidebar form.docs-search > input:not(body), .content kbd.is-rounded:not(body), #documenter .docs-sidebar .content form.docs-search > input:not(body), .docstring > section > a.docs-sourcelink.is-rounded:not(body) {
-    border-radius: 290486px; }
-
-a.tag:hover, .docstring > section > a.docs-sourcelink:hover {
-  text-decoration: underline; }
-
-.title,
-.subtitle {
-  word-break: break-word; }
-  .title em,
-  .title span,
-  .subtitle em,
-  .subtitle span {
-    font-weight: inherit; }
-  .title sub,
-  .subtitle sub {
-    font-size: 0.75em; }
-  .title sup,
-  .subtitle sup {
-    font-size: 0.75em; }
-  .title .tag, .title .content kbd, .content .title kbd, .title .docstring > section > a.docs-sourcelink,
-  .subtitle .tag,
-  .subtitle .content kbd,
-  .content .subtitle kbd,
-  .subtitle .docstring > section > a.docs-sourcelink {
-    vertical-align: middle; }
-
-.title {
-  color: #363636;
-  font-size: 2rem;
-  font-weight: 600;
-  line-height: 1.125; }
-  .title strong {
-    color: inherit;
-    font-weight: inherit; }
-  .title + .highlight {
-    margin-top: -0.75rem; }
-  .title:not(.is-spaced) + .subtitle {
-    margin-top: -1.25rem; }
-  .title.is-1 {
-    font-size: 3rem; }
-  .title.is-2 {
-    font-size: 2.5rem; }
-  .title.is-3 {
-    font-size: 2rem; }
-  .title.is-4 {
-    font-size: 1.5rem; }
-  .title.is-5 {
-    font-size: 1.25rem; }
-  .title.is-6 {
-    font-size: 1rem; }
-  .title.is-7 {
-    font-size: 0.75rem; }
-
-.subtitle {
-  color: #4a4a4a;
-  font-size: 1.25rem;
-  font-weight: 400;
-  line-height: 1.25; }
-  .subtitle strong {
-    color: #363636;
-    font-weight: 600; }
-  .subtitle:not(.is-spaced) + .title {
-    margin-top: -1.25rem; }
-  .subtitle.is-1 {
-    font-size: 3rem; }
-  .subtitle.is-2 {
-    font-size: 2.5rem; }
-  .subtitle.is-3 {
-    font-size: 2rem; }
-  .subtitle.is-4 {
-    font-size: 1.5rem; }
-  .subtitle.is-5 {
-    font-size: 1.25rem; }
-  .subtitle.is-6 {
-    font-size: 1rem; }
-  .subtitle.is-7 {
-    font-size: 0.75rem; }
-
-.heading {
-  display: block;
-  font-size: 11px;
-  letter-spacing: 1px;
-  margin-bottom: 5px;
-  text-transform: uppercase; }
-
-.highlight {
-  font-weight: 400;
-  max-width: 100%;
-  overflow: hidden;
-  padding: 0; }
-  .highlight pre {
-    overflow: auto;
-    max-width: 100%; }
-
-.number {
-  align-items: center;
-  background-color: whitesmoke;
-  border-radius: 290486px;
-  display: inline-flex;
-  font-size: 1.25rem;
-  height: 2em;
-  justify-content: center;
-  margin-right: 1.5rem;
-  min-width: 2.5em;
-  padding: 0.25rem 0.5rem;
-  text-align: center;
-  vertical-align: top; }
-
-.select select, .textarea, .input, #documenter .docs-sidebar form.docs-search > input {
-  background-color: white;
-  border-color: #dbdbdb;
-  border-radius: 4px;
-  color: #363636; }
-  .select select::-moz-placeholder, .textarea::-moz-placeholder, .input::-moz-placeholder, #documenter .docs-sidebar form.docs-search > input::-moz-placeholder {
-    color: rgba(54, 54, 54, 0.3); }
-  .select select::-webkit-input-placeholder, .textarea::-webkit-input-placeholder, .input::-webkit-input-placeholder, #documenter .docs-sidebar form.docs-search > input::-webkit-input-placeholder {
-    color: rgba(54, 54, 54, 0.3); }
-  .select select:-moz-placeholder, .textarea:-moz-placeholder, .input:-moz-placeholder, #documenter .docs-sidebar form.docs-search > input:-moz-placeholder {
-    color: rgba(54, 54, 54, 0.3); }
-  .select select:-ms-input-placeholder, .textarea:-ms-input-placeholder, .input:-ms-input-placeholder, #documenter .docs-sidebar form.docs-search > input:-ms-input-placeholder {
-    color: rgba(54, 54, 54, 0.3); }
-  .select select:hover, .textarea:hover, .input:hover, #documenter .docs-sidebar form.docs-search > input:hover, .select select.is-hovered, .is-hovered.textarea, .is-hovered.input, #documenter .docs-sidebar form.docs-search > input.is-hovered {
-    border-color: #b5b5b5; }
-  .select select:focus, .textarea:focus, .input:focus, #documenter .docs-sidebar form.docs-search > input:focus, .select select.is-focused, .is-focused.textarea, .is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .select select:active, .textarea:active, .input:active, #documenter .docs-sidebar form.docs-search > input:active, .select select.is-active, .is-active.textarea, .is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active {
-    border-color: #2e63b8;
-    box-shadow: 0 0 0 0.125em rgba(46, 99, 184, 0.25); }
-  .select select[disabled], .textarea[disabled], .input[disabled], #documenter .docs-sidebar form.docs-search > input[disabled], fieldset[disabled] .select select, .select fieldset[disabled] select, fieldset[disabled] .textarea, fieldset[disabled] .input, fieldset[disabled] #documenter .docs-sidebar form.docs-search > input, #documenter .docs-sidebar fieldset[disabled] form.docs-search > input {
-    background-color: whitesmoke;
-    border-color: whitesmoke;
-    box-shadow: none;
-    color: #6b6b6b; }
-    .select select[disabled]::-moz-placeholder, .textarea[disabled]::-moz-placeholder, .input[disabled]::-moz-placeholder, #documenter .docs-sidebar form.docs-search > input[disabled]::-moz-placeholder, fieldset[disabled] .select select::-moz-placeholder, .select fieldset[disabled] select::-moz-placeholder, fieldset[disabled] .textarea::-moz-placeholder, fieldset[disabled] .input::-moz-placeholder, fieldset[disabled] #documenter .docs-sidebar form.docs-search > input::-moz-placeholder, #documenter .docs-sidebar fieldset[disabled] form.docs-search > input::-moz-placeholder {
-      color: rgba(107, 107, 107, 0.3); }
-    .select select[disabled]::-webkit-input-placeholder, .textarea[disabled]::-webkit-input-placeholder, .input[disabled]::-webkit-input-placeholder, #documenter .docs-sidebar form.docs-search > input[disabled]::-webkit-input-placeholder, fieldset[disabled] .select select::-webkit-input-placeholder, .select fieldset[disabled] select::-webkit-input-placeholder, fieldset[disabled] .textarea::-webkit-input-placeholder, fieldset[disabled] .input::-webkit-input-placeholder, fieldset[disabled] #documenter .docs-sidebar form.docs-search > input::-webkit-input-placeholder, #documenter .docs-sidebar fieldset[disabled] form.docs-search > input::-webkit-input-placeholder {
-      color: rgba(107, 107, 107, 0.3); }
-    .select select[disabled]:-moz-placeholder, .textarea[disabled]:-moz-placeholder, .input[disabled]:-moz-placeholder, #documenter .docs-sidebar form.docs-search > input[disabled]:-moz-placeholder, fieldset[disabled] .select select:-moz-placeholder, .select fieldset[disabled] select:-moz-placeholder, fieldset[disabled] .textarea:-moz-placeholder, fieldset[disabled] .input:-moz-placeholder, fieldset[disabled] #documenter .docs-sidebar form.docs-search > input:-moz-placeholder, #documenter .docs-sidebar fieldset[disabled] form.docs-search > input:-moz-placeholder {
-      color: rgba(107, 107, 107, 0.3); }
-    .select select[disabled]:-ms-input-placeholder, .textarea[disabled]:-ms-input-placeholder, .input[disabled]:-ms-input-placeholder, #documenter .docs-sidebar form.docs-search > input[disabled]:-ms-input-placeholder, fieldset[disabled] .select select:-ms-input-placeholder, .select fieldset[disabled] select:-ms-input-placeholder, fieldset[disabled] .textarea:-ms-input-placeholder, fieldset[disabled] .input:-ms-input-placeholder, fieldset[disabled] #documenter .docs-sidebar form.docs-search > input:-ms-input-placeholder, #documenter .docs-sidebar fieldset[disabled] form.docs-search > input:-ms-input-placeholder {
-      color: rgba(107, 107, 107, 0.3); }
-
-.textarea, .input, #documenter .docs-sidebar form.docs-search > input {
-  box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
-  max-width: 100%;
-  width: 100%; }
-  .textarea[readonly], .input[readonly], #documenter .docs-sidebar form.docs-search > input[readonly] {
-    box-shadow: none; }
-  .is-white.textarea, .is-white.input, #documenter .docs-sidebar form.docs-search > input.is-white {
-    border-color: white; }
-    .is-white.textarea:focus, .is-white.input:focus, #documenter .docs-sidebar form.docs-search > input.is-white:focus, .is-white.is-focused.textarea, .is-white.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-white.textarea:active, .is-white.input:active, #documenter .docs-sidebar form.docs-search > input.is-white:active, .is-white.is-active.textarea, .is-white.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active {
-      box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); }
-  .is-black.textarea, .is-black.input, #documenter .docs-sidebar form.docs-search > input.is-black {
-    border-color: #0a0a0a; }
-    .is-black.textarea:focus, .is-black.input:focus, #documenter .docs-sidebar form.docs-search > input.is-black:focus, .is-black.is-focused.textarea, .is-black.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-black.textarea:active, .is-black.input:active, #documenter .docs-sidebar form.docs-search > input.is-black:active, .is-black.is-active.textarea, .is-black.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active {
-      box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); }
-  .is-light.textarea, .is-light.input, #documenter .docs-sidebar form.docs-search > input.is-light {
-    border-color: whitesmoke; }
-    .is-light.textarea:focus, .is-light.input:focus, #documenter .docs-sidebar form.docs-search > input.is-light:focus, .is-light.is-focused.textarea, .is-light.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-light.textarea:active, .is-light.input:active, #documenter .docs-sidebar form.docs-search > input.is-light:active, .is-light.is-active.textarea, .is-light.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active {
-      box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); }
-  .is-dark.textarea, .content kbd.textarea, .is-dark.input, #documenter .docs-sidebar form.docs-search > input.is-dark, .content kbd.input {
-    border-color: #363636; }
-    .is-dark.textarea:focus, .content kbd.textarea:focus, .is-dark.input:focus, #documenter .docs-sidebar form.docs-search > input.is-dark:focus, .content kbd.input:focus, .is-dark.is-focused.textarea, .content kbd.is-focused.textarea, .is-dark.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .content kbd.is-focused.input, #documenter .docs-sidebar .content form.docs-search > input.is-focused, .is-dark.textarea:active, .content kbd.textarea:active, .is-dark.input:active, #documenter .docs-sidebar form.docs-search > input.is-dark:active, .content kbd.input:active, .is-dark.is-active.textarea, .content kbd.is-active.textarea, .is-dark.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active, .content kbd.is-active.input, #documenter .docs-sidebar .content form.docs-search > input.is-active {
-      box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25); }
-  .is-primary.textarea, .docstring > section > a.textarea.docs-sourcelink, .is-primary.input, #documenter .docs-sidebar form.docs-search > input.is-primary, .docstring > section > a.input.docs-sourcelink {
-    border-color: #4eb5de; }
-    .is-primary.textarea:focus, .docstring > section > a.textarea.docs-sourcelink:focus, .is-primary.input:focus, #documenter .docs-sidebar form.docs-search > input.is-primary:focus, .docstring > section > a.input.docs-sourcelink:focus, .is-primary.is-focused.textarea, .docstring > section > a.is-focused.textarea.docs-sourcelink, .is-primary.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .docstring > section > a.is-focused.input.docs-sourcelink, .is-primary.textarea:active, .docstring > section > a.textarea.docs-sourcelink:active, .is-primary.input:active, #documenter .docs-sidebar form.docs-search > input.is-primary:active, .docstring > section > a.input.docs-sourcelink:active, .is-primary.is-active.textarea, .docstring > section > a.is-active.textarea.docs-sourcelink, .is-primary.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active, .docstring > section > a.is-active.input.docs-sourcelink {
-      box-shadow: 0 0 0 0.125em rgba(78, 181, 222, 0.25); }
-  .is-link.textarea, .is-link.input, #documenter .docs-sidebar form.docs-search > input.is-link {
-    border-color: #2e63b8; }
-    .is-link.textarea:focus, .is-link.input:focus, #documenter .docs-sidebar form.docs-search > input.is-link:focus, .is-link.is-focused.textarea, .is-link.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-link.textarea:active, .is-link.input:active, #documenter .docs-sidebar form.docs-search > input.is-link:active, .is-link.is-active.textarea, .is-link.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active {
-      box-shadow: 0 0 0 0.125em rgba(46, 99, 184, 0.25); }
-  .is-info.textarea, .is-info.input, #documenter .docs-sidebar form.docs-search > input.is-info {
-    border-color: #209cee; }
-    .is-info.textarea:focus, .is-info.input:focus, #documenter .docs-sidebar form.docs-search > input.is-info:focus, .is-info.is-focused.textarea, .is-info.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-info.textarea:active, .is-info.input:active, #documenter .docs-sidebar form.docs-search > input.is-info:active, .is-info.is-active.textarea, .is-info.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active {
-      box-shadow: 0 0 0 0.125em rgba(32, 156, 238, 0.25); }
-  .is-success.textarea, .is-success.input, #documenter .docs-sidebar form.docs-search > input.is-success {
-    border-color: #22c35b; }
-    .is-success.textarea:focus, .is-success.input:focus, #documenter .docs-sidebar form.docs-search > input.is-success:focus, .is-success.is-focused.textarea, .is-success.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-success.textarea:active, .is-success.input:active, #documenter .docs-sidebar form.docs-search > input.is-success:active, .is-success.is-active.textarea, .is-success.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active {
-      box-shadow: 0 0 0 0.125em rgba(34, 195, 91, 0.25); }
-  .is-warning.textarea, .is-warning.input, #documenter .docs-sidebar form.docs-search > input.is-warning {
-    border-color: #ffdd57; }
-    .is-warning.textarea:focus, .is-warning.input:focus, #documenter .docs-sidebar form.docs-search > input.is-warning:focus, .is-warning.is-focused.textarea, .is-warning.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-warning.textarea:active, .is-warning.input:active, #documenter .docs-sidebar form.docs-search > input.is-warning:active, .is-warning.is-active.textarea, .is-warning.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active {
-      box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25); }
-  .is-danger.textarea, .is-danger.input, #documenter .docs-sidebar form.docs-search > input.is-danger {
-    border-color: #da0b00; }
-    .is-danger.textarea:focus, .is-danger.input:focus, #documenter .docs-sidebar form.docs-search > input.is-danger:focus, .is-danger.is-focused.textarea, .is-danger.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-danger.textarea:active, .is-danger.input:active, #documenter .docs-sidebar form.docs-search > input.is-danger:active, .is-danger.is-active.textarea, .is-danger.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active {
-      box-shadow: 0 0 0 0.125em rgba(218, 11, 0, 0.25); }
-  .is-small.textarea, .is-small.input, #documenter .docs-sidebar form.docs-search > input {
-    border-radius: 2px;
-    font-size: 0.75rem; }
-  .is-medium.textarea, .is-medium.input, #documenter .docs-sidebar form.docs-search > input.is-medium {
-    font-size: 1.25rem; }
-  .is-large.textarea, .is-large.input, #documenter .docs-sidebar form.docs-search > input.is-large {
-    font-size: 1.5rem; }
-  .is-fullwidth.textarea, .is-fullwidth.input, #documenter .docs-sidebar form.docs-search > input.is-fullwidth {
-    display: block;
-    width: 100%; }
-  .is-inline.textarea, .is-inline.input, #documenter .docs-sidebar form.docs-search > input.is-inline {
-    display: inline;
-    width: auto; }
-
-.input.is-rounded, #documenter .docs-sidebar form.docs-search > input {
-  border-radius: 290486px;
-  padding-left: 1em;
-  padding-right: 1em; }
-
-.input.is-static, #documenter .docs-sidebar form.docs-search > input.is-static {
-  background-color: transparent;
-  border-color: transparent;
-  box-shadow: none;
-  padding-left: 0;
-  padding-right: 0; }
-
-.textarea {
-  display: block;
-  max-width: 100%;
-  min-width: 100%;
-  padding: 0.625em;
-  resize: vertical; }
-  .textarea:not([rows]) {
-    max-height: 600px;
-    min-height: 120px; }
-  .textarea[rows] {
-    height: initial; }
-  .textarea.has-fixed-size {
-    resize: none; }
-
-.radio, .checkbox {
-  cursor: pointer;
-  display: inline-block;
-  line-height: 1.25;
-  position: relative; }
-  .radio input, .checkbox input {
-    cursor: pointer; }
-  .radio:hover, .checkbox:hover {
-    color: #363636; }
-  .radio[disabled], .checkbox[disabled], fieldset[disabled] .radio, fieldset[disabled] .checkbox {
-    color: #6b6b6b;
-    cursor: not-allowed; }
-
-.radio + .radio {
-  margin-left: 0.5em; }
-
-.select {
-  display: inline-block;
-  max-width: 100%;
-  position: relative;
-  vertical-align: top; }
-  .select:not(.is-multiple) {
-    height: 2.25em; }
-  .select:not(.is-multiple):not(.is-loading)::after {
-    border-color: #2e63b8;
-    right: 1.125em;
-    z-index: 4; }
-  .select.is-rounded select, #documenter .docs-sidebar form.docs-search > input.select select {
-    border-radius: 290486px;
-    padding-left: 1em; }
-  .select select {
-    cursor: pointer;
-    display: block;
-    font-size: 1em;
-    max-width: 100%;
-    outline: none; }
-    .select select::-ms-expand {
-      display: none; }
-    .select select[disabled]:hover, fieldset[disabled] .select select:hover {
-      border-color: whitesmoke; }
-    .select select:not([multiple]) {
-      padding-right: 2.5em; }
-    .select select[multiple] {
-      height: auto;
-      padding: 0; }
-      .select select[multiple] option {
-        padding: 0.5em 1em; }
-  .select:not(.is-multiple):not(.is-loading):hover::after {
-    border-color: #363636; }
-  .select.is-white:not(:hover)::after {
-    border-color: white; }
-  .select.is-white select {
-    border-color: white; }
-    .select.is-white select:hover, .select.is-white select.is-hovered {
-      border-color: #f2f2f2; }
-    .select.is-white select:focus, .select.is-white select.is-focused, .select.is-white select:active, .select.is-white select.is-active {
-      box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); }
-  .select.is-black:not(:hover)::after {
-    border-color: #0a0a0a; }
-  .select.is-black select {
-    border-color: #0a0a0a; }
-    .select.is-black select:hover, .select.is-black select.is-hovered {
-      border-color: black; }
-    .select.is-black select:focus, .select.is-black select.is-focused, .select.is-black select:active, .select.is-black select.is-active {
-      box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); }
-  .select.is-light:not(:hover)::after {
-    border-color: whitesmoke; }
-  .select.is-light select {
-    border-color: whitesmoke; }
-    .select.is-light select:hover, .select.is-light select.is-hovered {
-      border-color: #e8e8e8; }
-    .select.is-light select:focus, .select.is-light select.is-focused, .select.is-light select:active, .select.is-light select.is-active {
-      box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); }
-  .select.is-dark:not(:hover)::after, .content kbd.select:not(:hover)::after {
-    border-color: #363636; }
-  .select.is-dark select, .content kbd.select select {
-    border-color: #363636; }
-    .select.is-dark select:hover, .content kbd.select select:hover, .select.is-dark select.is-hovered, .content kbd.select select.is-hovered {
-      border-color: #292929; }
-    .select.is-dark select:focus, .content kbd.select select:focus, .select.is-dark select.is-focused, .content kbd.select select.is-focused, .select.is-dark select:active, .content kbd.select select:active, .select.is-dark select.is-active, .content kbd.select select.is-active {
-      box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25); }
-  .select.is-primary:not(:hover)::after, .docstring > section > a.select.docs-sourcelink:not(:hover)::after {
-    border-color: #4eb5de; }
-  .select.is-primary select, .docstring > section > a.select.docs-sourcelink select {
-    border-color: #4eb5de; }
-    .select.is-primary select:hover, .docstring > section > a.select.docs-sourcelink select:hover, .select.is-primary select.is-hovered, .docstring > section > a.select.docs-sourcelink select.is-hovered {
-      border-color: #39acda; }
-    .select.is-primary select:focus, .docstring > section > a.select.docs-sourcelink select:focus, .select.is-primary select.is-focused, .docstring > section > a.select.docs-sourcelink select.is-focused, .select.is-primary select:active, .docstring > section > a.select.docs-sourcelink select:active, .select.is-primary select.is-active, .docstring > section > a.select.docs-sourcelink select.is-active {
-      box-shadow: 0 0 0 0.125em rgba(78, 181, 222, 0.25); }
-  .select.is-link:not(:hover)::after {
-    border-color: #2e63b8; }
-  .select.is-link select {
-    border-color: #2e63b8; }
-    .select.is-link select:hover, .select.is-link select.is-hovered {
-      border-color: #2958a4; }
-    .select.is-link select:focus, .select.is-link select.is-focused, .select.is-link select:active, .select.is-link select.is-active {
-      box-shadow: 0 0 0 0.125em rgba(46, 99, 184, 0.25); }
-  .select.is-info:not(:hover)::after {
-    border-color: #209cee; }
-  .select.is-info select {
-    border-color: #209cee; }
-    .select.is-info select:hover, .select.is-info select.is-hovered {
-      border-color: #1190e3; }
-    .select.is-info select:focus, .select.is-info select.is-focused, .select.is-info select:active, .select.is-info select.is-active {
-      box-shadow: 0 0 0 0.125em rgba(32, 156, 238, 0.25); }
-  .select.is-success:not(:hover)::after {
-    border-color: #22c35b; }
-  .select.is-success select {
-    border-color: #22c35b; }
-    .select.is-success select:hover, .select.is-success select.is-hovered {
-      border-color: #1ead51; }
-    .select.is-success select:focus, .select.is-success select.is-focused, .select.is-success select:active, .select.is-success select.is-active {
-      box-shadow: 0 0 0 0.125em rgba(34, 195, 91, 0.25); }
-  .select.is-warning:not(:hover)::after {
-    border-color: #ffdd57; }
-  .select.is-warning select {
-    border-color: #ffdd57; }
-    .select.is-warning select:hover, .select.is-warning select.is-hovered {
-      border-color: #ffd83e; }
-    .select.is-warning select:focus, .select.is-warning select.is-focused, .select.is-warning select:active, .select.is-warning select.is-active {
-      box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25); }
-  .select.is-danger:not(:hover)::after {
-    border-color: #da0b00; }
-  .select.is-danger select {
-    border-color: #da0b00; }
-    .select.is-danger select:hover, .select.is-danger select.is-hovered {
-      border-color: #c10a00; }
-    .select.is-danger select:focus, .select.is-danger select.is-focused, .select.is-danger select:active, .select.is-danger select.is-active {
-      box-shadow: 0 0 0 0.125em rgba(218, 11, 0, 0.25); }
-  .select.is-small, #documenter .docs-sidebar form.docs-search > input.select {
-    border-radius: 2px;
-    font-size: 0.75rem; }
-  .select.is-medium {
-    font-size: 1.25rem; }
-  .select.is-large {
-    font-size: 1.5rem; }
-  .select.is-disabled::after {
-    border-color: #6b6b6b; }
-  .select.is-fullwidth {
-    width: 100%; }
-    .select.is-fullwidth select {
-      width: 100%; }
-  .select.is-loading::after {
-    margin-top: 0;
-    position: absolute;
-    right: 0.625em;
-    top: 0.625em;
-    transform: none; }
-  .select.is-loading.is-small:after, #documenter .docs-sidebar form.docs-search > input.is-loading:after {
-    font-size: 0.75rem; }
-  .select.is-loading.is-medium:after {
-    font-size: 1.25rem; }
-  .select.is-loading.is-large:after {
-    font-size: 1.5rem; }
-
-.file {
-  align-items: stretch;
-  display: flex;
-  justify-content: flex-start;
-  position: relative; }
-  .file.is-white .file-cta {
-    background-color: white;
-    border-color: transparent;
-    color: #0a0a0a; }
-  .file.is-white:hover .file-cta, .file.is-white.is-hovered .file-cta {
-    background-color: #f9f9f9;
-    border-color: transparent;
-    color: #0a0a0a; }
-  .file.is-white:focus .file-cta, .file.is-white.is-focused .file-cta {
-    border-color: transparent;
-    box-shadow: 0 0 0.5em rgba(255, 255, 255, 0.25);
-    color: #0a0a0a; }
-  .file.is-white:active .file-cta, .file.is-white.is-active .file-cta {
-    background-color: #f2f2f2;
-    border-color: transparent;
-    color: #0a0a0a; }
-  .file.is-black .file-cta {
-    background-color: #0a0a0a;
-    border-color: transparent;
-    color: white; }
-  .file.is-black:hover .file-cta, .file.is-black.is-hovered .file-cta {
-    background-color: #040404;
-    border-color: transparent;
-    color: white; }
-  .file.is-black:focus .file-cta, .file.is-black.is-focused .file-cta {
-    border-color: transparent;
-    box-shadow: 0 0 0.5em rgba(10, 10, 10, 0.25);
-    color: white; }
-  .file.is-black:active .file-cta, .file.is-black.is-active .file-cta {
-    background-color: black;
-    border-color: transparent;
-    color: white; }
-  .file.is-light .file-cta {
-    background-color: whitesmoke;
-    border-color: transparent;
-    color: #363636; }
-  .file.is-light:hover .file-cta, .file.is-light.is-hovered .file-cta {
-    background-color: #eeeeee;
-    border-color: transparent;
-    color: #363636; }
-  .file.is-light:focus .file-cta, .file.is-light.is-focused .file-cta {
-    border-color: transparent;
-    box-shadow: 0 0 0.5em rgba(245, 245, 245, 0.25);
-    color: #363636; }
-  .file.is-light:active .file-cta, .file.is-light.is-active .file-cta {
-    background-color: #e8e8e8;
-    border-color: transparent;
-    color: #363636; }
-  .file.is-dark .file-cta, .content kbd.file .file-cta {
-    background-color: #363636;
-    border-color: transparent;
-    color: whitesmoke; }
-  .file.is-dark:hover .file-cta, .content kbd.file:hover .file-cta, .file.is-dark.is-hovered .file-cta, .content kbd.file.is-hovered .file-cta {
-    background-color: #2f2f2f;
-    border-color: transparent;
-    color: whitesmoke; }
-  .file.is-dark:focus .file-cta, .content kbd.file:focus .file-cta, .file.is-dark.is-focused .file-cta, .content kbd.file.is-focused .file-cta {
-    border-color: transparent;
-    box-shadow: 0 0 0.5em rgba(54, 54, 54, 0.25);
-    color: whitesmoke; }
-  .file.is-dark:active .file-cta, .content kbd.file:active .file-cta, .file.is-dark.is-active .file-cta, .content kbd.file.is-active .file-cta {
-    background-color: #292929;
-    border-color: transparent;
-    color: whitesmoke; }
-  .file.is-primary .file-cta, .docstring > section > a.file.docs-sourcelink .file-cta {
-    background-color: #4eb5de;
-    border-color: transparent;
-    color: #fff; }
-  .file.is-primary:hover .file-cta, .docstring > section > a.file.docs-sourcelink:hover .file-cta, .file.is-primary.is-hovered .file-cta, .docstring > section > a.file.is-hovered.docs-sourcelink .file-cta {
-    background-color: #43b1dc;
-    border-color: transparent;
-    color: #fff; }
-  .file.is-primary:focus .file-cta, .docstring > section > a.file.docs-sourcelink:focus .file-cta, .file.is-primary.is-focused .file-cta, .docstring > section > a.file.is-focused.docs-sourcelink .file-cta {
-    border-color: transparent;
-    box-shadow: 0 0 0.5em rgba(78, 181, 222, 0.25);
-    color: #fff; }
-  .file.is-primary:active .file-cta, .docstring > section > a.file.docs-sourcelink:active .file-cta, .file.is-primary.is-active .file-cta, .docstring > section > a.file.is-active.docs-sourcelink .file-cta {
-    background-color: #39acda;
-    border-color: transparent;
-    color: #fff; }
-  .file.is-link .file-cta {
-    background-color: #2e63b8;
-    border-color: transparent;
-    color: #fff; }
-  .file.is-link:hover .file-cta, .file.is-link.is-hovered .file-cta {
-    background-color: #2b5eae;
-    border-color: transparent;
-    color: #fff; }
-  .file.is-link:focus .file-cta, .file.is-link.is-focused .file-cta {
-    border-color: transparent;
-    box-shadow: 0 0 0.5em rgba(46, 99, 184, 0.25);
-    color: #fff; }
-  .file.is-link:active .file-cta, .file.is-link.is-active .file-cta {
-    background-color: #2958a4;
-    border-color: transparent;
-    color: #fff; }
-  .file.is-info .file-cta {
-    background-color: #209cee;
-    border-color: transparent;
-    color: #fff; }
-  .file.is-info:hover .file-cta, .file.is-info.is-hovered .file-cta {
-    background-color: #1497ed;
-    border-color: transparent;
-    color: #fff; }
-  .file.is-info:focus .file-cta, .file.is-info.is-focused .file-cta {
-    border-color: transparent;
-    box-shadow: 0 0 0.5em rgba(32, 156, 238, 0.25);
-    color: #fff; }
-  .file.is-info:active .file-cta, .file.is-info.is-active .file-cta {
-    background-color: #1190e3;
-    border-color: transparent;
-    color: #fff; }
-  .file.is-success .file-cta {
-    background-color: #22c35b;
-    border-color: transparent;
-    color: #fff; }
-  .file.is-success:hover .file-cta, .file.is-success.is-hovered .file-cta {
-    background-color: #20b856;
-    border-color: transparent;
-    color: #fff; }
-  .file.is-success:focus .file-cta, .file.is-success.is-focused .file-cta {
-    border-color: transparent;
-    box-shadow: 0 0 0.5em rgba(34, 195, 91, 0.25);
-    color: #fff; }
-  .file.is-success:active .file-cta, .file.is-success.is-active .file-cta {
-    background-color: #1ead51;
-    border-color: transparent;
-    color: #fff; }
-  .file.is-warning .file-cta {
-    background-color: #ffdd57;
-    border-color: transparent;
-    color: rgba(0, 0, 0, 0.7); }
-  .file.is-warning:hover .file-cta, .file.is-warning.is-hovered .file-cta {
-    background-color: #ffda4a;
-    border-color: transparent;
-    color: rgba(0, 0, 0, 0.7); }
-  .file.is-warning:focus .file-cta, .file.is-warning.is-focused .file-cta {
-    border-color: transparent;
-    box-shadow: 0 0 0.5em rgba(255, 221, 87, 0.25);
-    color: rgba(0, 0, 0, 0.7); }
-  .file.is-warning:active .file-cta, .file.is-warning.is-active .file-cta {
-    background-color: #ffd83e;
-    border-color: transparent;
-    color: rgba(0, 0, 0, 0.7); }
-  .file.is-danger .file-cta {
-    background-color: #da0b00;
-    border-color: transparent;
-    color: #fff; }
-  .file.is-danger:hover .file-cta, .file.is-danger.is-hovered .file-cta {
-    background-color: #cd0a00;
-    border-color: transparent;
-    color: #fff; }
-  .file.is-danger:focus .file-cta, .file.is-danger.is-focused .file-cta {
-    border-color: transparent;
-    box-shadow: 0 0 0.5em rgba(218, 11, 0, 0.25);
-    color: #fff; }
-  .file.is-danger:active .file-cta, .file.is-danger.is-active .file-cta {
-    background-color: #c10a00;
-    border-color: transparent;
-    color: #fff; }
-  .file.is-small, #documenter .docs-sidebar form.docs-search > input.file {
-    font-size: 0.75rem; }
-  .file.is-medium {
-    font-size: 1.25rem; }
-    .file.is-medium .file-icon .fa {
-      font-size: 21px; }
-  .file.is-large {
-    font-size: 1.5rem; }
-    .file.is-large .file-icon .fa {
-      font-size: 28px; }
-  .file.has-name .file-cta {
-    border-bottom-right-radius: 0;
-    border-top-right-radius: 0; }
-  .file.has-name .file-name {
-    border-bottom-left-radius: 0;
-    border-top-left-radius: 0; }
-  .file.has-name.is-empty .file-cta {
-    border-radius: 4px; }
-  .file.has-name.is-empty .file-name {
-    display: none; }
-  .file.is-boxed .file-label {
-    flex-direction: column; }
-  .file.is-boxed .file-cta {
-    flex-direction: column;
-    height: auto;
-    padding: 1em 3em; }
-  .file.is-boxed .file-name {
-    border-width: 0 1px 1px; }
-  .file.is-boxed .file-icon {
-    height: 1.5em;
-    width: 1.5em; }
-    .file.is-boxed .file-icon .fa {
-      font-size: 21px; }
-  .file.is-boxed.is-small .file-icon .fa, #documenter .docs-sidebar form.docs-search > input.is-boxed .file-icon .fa {
-    font-size: 14px; }
-  .file.is-boxed.is-medium .file-icon .fa {
-    font-size: 28px; }
-  .file.is-boxed.is-large .file-icon .fa {
-    font-size: 35px; }
-  .file.is-boxed.has-name .file-cta {
-    border-radius: 4px 4px 0 0; }
-  .file.is-boxed.has-name .file-name {
-    border-radius: 0 0 4px 4px;
-    border-width: 0 1px 1px; }
-  .file.is-centered {
-    justify-content: center; }
-  .file.is-fullwidth .file-label {
-    width: 100%; }
-  .file.is-fullwidth .file-name {
-    flex-grow: 1;
-    max-width: none; }
-  .file.is-right {
-    justify-content: flex-end; }
-    .file.is-right .file-cta {
-      border-radius: 0 4px 4px 0; }
-    .file.is-right .file-name {
-      border-radius: 4px 0 0 4px;
-      border-width: 1px 0 1px 1px;
-      order: -1; }
-
-.file-label {
-  align-items: stretch;
-  display: flex;
-  cursor: pointer;
-  justify-content: flex-start;
-  overflow: hidden;
-  position: relative; }
-  .file-label:hover .file-cta {
-    background-color: #eeeeee;
-    color: #363636; }
-  .file-label:hover .file-name {
-    border-color: #d5d5d5; }
-  .file-label:active .file-cta {
-    background-color: #e8e8e8;
-    color: #363636; }
-  .file-label:active .file-name {
-    border-color: #cfcfcf; }
-
-.file-input {
-  height: 100%;
-  left: 0;
-  opacity: 0;
-  outline: none;
-  position: absolute;
-  top: 0;
-  width: 100%; }
-
-.file-cta,
-.file-name {
-  border-color: #dbdbdb;
-  border-radius: 4px;
-  font-size: 1em;
-  padding-left: 1em;
-  padding-right: 1em;
-  white-space: nowrap; }
-
-.file-cta {
-  background-color: whitesmoke;
-  color: #4a4a4a; }
-
-.file-name {
-  border-color: #dbdbdb;
-  border-style: solid;
-  border-width: 1px 1px 1px 0;
-  display: block;
-  max-width: 16em;
-  overflow: hidden;
-  text-align: left;
-  text-overflow: ellipsis; }
-
-.file-icon {
-  align-items: center;
-  display: flex;
-  height: 1em;
-  justify-content: center;
-  margin-right: 0.5em;
-  width: 1em; }
-  .file-icon .fa {
-    font-size: 14px; }
-
-.label {
-  color: #363636;
-  display: block;
-  font-size: 1rem;
-  font-weight: 700; }
-  .label:not(:last-child) {
-    margin-bottom: 0.5em; }
-  .label.is-small, #documenter .docs-sidebar form.docs-search > input.label {
-    font-size: 0.75rem; }
-  .label.is-medium {
-    font-size: 1.25rem; }
-  .label.is-large {
-    font-size: 1.5rem; }
-
-.help {
-  display: block;
-  font-size: 0.75rem;
-  margin-top: 0.25rem; }
-  .help.is-white {
-    color: white; }
-  .help.is-black {
-    color: #0a0a0a; }
-  .help.is-light {
-    color: whitesmoke; }
-  .help.is-dark, .content kbd.help {
-    color: #363636; }
-  .help.is-primary, .docstring > section > a.help.docs-sourcelink {
-    color: #4eb5de; }
-  .help.is-link {
-    color: #2e63b8; }
-  .help.is-info {
-    color: #209cee; }
-  .help.is-success {
-    color: #22c35b; }
-  .help.is-warning {
-    color: #ffdd57; }
-  .help.is-danger {
-    color: #da0b00; }
-
-.field:not(:last-child) {
-  margin-bottom: 0.75rem; }
-
-.field.has-addons {
-  display: flex;
-  justify-content: flex-start; }
-  .field.has-addons .control:not(:last-child) {
-    margin-right: -1px; }
-  .field.has-addons .control:not(:first-child):not(:last-child) .button,
-  .field.has-addons .control:not(:first-child):not(:last-child) .input,
-  .field.has-addons .control:not(:first-child):not(:last-child) #documenter .docs-sidebar form.docs-search > input,
-  #documenter .docs-sidebar .field.has-addons .control:not(:first-child):not(:last-child) form.docs-search > input,
-  .field.has-addons .control:not(:first-child):not(:last-child) .select select {
-    border-radius: 0; }
-  .field.has-addons .control:first-child:not(:only-child) .button,
-  .field.has-addons .control:first-child:not(:only-child) .input,
-  .field.has-addons .control:first-child:not(:only-child) #documenter .docs-sidebar form.docs-search > input,
-  #documenter .docs-sidebar .field.has-addons .control:first-child:not(:only-child) form.docs-search > input,
-  .field.has-addons .control:first-child:not(:only-child) .select select {
-    border-bottom-right-radius: 0;
-    border-top-right-radius: 0; }
-  .field.has-addons .control:last-child:not(:only-child) .button,
-  .field.has-addons .control:last-child:not(:only-child) .input,
-  .field.has-addons .control:last-child:not(:only-child) #documenter .docs-sidebar form.docs-search > input,
-  #documenter .docs-sidebar .field.has-addons .control:last-child:not(:only-child) form.docs-search > input,
-  .field.has-addons .control:last-child:not(:only-child) .select select {
-    border-bottom-left-radius: 0;
-    border-top-left-radius: 0; }
-  .field.has-addons .control .button:not([disabled]):hover, .field.has-addons .control .button.is-hovered:not([disabled]),
-  .field.has-addons .control .input:not([disabled]):hover,
-  .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):hover,
-  #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):hover,
-  .field.has-addons .control .input.is-hovered:not([disabled]),
-  .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-hovered:not([disabled]),
-  #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-hovered:not([disabled]),
-  .field.has-addons .control .select select:not([disabled]):hover,
-  .field.has-addons .control .select select.is-hovered:not([disabled]) {
-    z-index: 2; }
-  .field.has-addons .control .button:not([disabled]):focus, .field.has-addons .control .button.is-focused:not([disabled]), .field.has-addons .control .button:not([disabled]):active, .field.has-addons .control .button.is-active:not([disabled]),
-  .field.has-addons .control .input:not([disabled]):focus,
-  .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):focus,
-  #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):focus,
-  .field.has-addons .control .input.is-focused:not([disabled]),
-  .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-focused:not([disabled]),
-  #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-focused:not([disabled]),
-  .field.has-addons .control .input:not([disabled]):active,
-  .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):active,
-  #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):active,
-  .field.has-addons .control .input.is-active:not([disabled]),
-  .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-active:not([disabled]),
-  #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-active:not([disabled]),
-  .field.has-addons .control .select select:not([disabled]):focus,
-  .field.has-addons .control .select select.is-focused:not([disabled]),
-  .field.has-addons .control .select select:not([disabled]):active,
-  .field.has-addons .control .select select.is-active:not([disabled]) {
-    z-index: 3; }
-    .field.has-addons .control .button:not([disabled]):focus:hover, .field.has-addons .control .button.is-focused:not([disabled]):hover, .field.has-addons .control .button:not([disabled]):active:hover, .field.has-addons .control .button.is-active:not([disabled]):hover,
-    .field.has-addons .control .input:not([disabled]):focus:hover,
-    .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):focus:hover,
-    #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):focus:hover,
-    .field.has-addons .control .input.is-focused:not([disabled]):hover,
-    .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-focused:not([disabled]):hover,
-    #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-focused:not([disabled]):hover,
-    .field.has-addons .control .input:not([disabled]):active:hover,
-    .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):active:hover,
-    #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):active:hover,
-    .field.has-addons .control .input.is-active:not([disabled]):hover,
-    .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-active:not([disabled]):hover,
-    #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-active:not([disabled]):hover,
-    .field.has-addons .control .select select:not([disabled]):focus:hover,
-    .field.has-addons .control .select select.is-focused:not([disabled]):hover,
-    .field.has-addons .control .select select:not([disabled]):active:hover,
-    .field.has-addons .control .select select.is-active:not([disabled]):hover {
-      z-index: 4; }
-  .field.has-addons .control.is-expanded {
-    flex-grow: 1;
-    flex-shrink: 1; }
-  .field.has-addons.has-addons-centered {
-    justify-content: center; }
-  .field.has-addons.has-addons-right {
-    justify-content: flex-end; }
-  .field.has-addons.has-addons-fullwidth .control {
-    flex-grow: 1;
-    flex-shrink: 0; }
-
-.field.is-grouped {
-  display: flex;
-  justify-content: flex-start; }
-  .field.is-grouped > .control {
-    flex-shrink: 0; }
-    .field.is-grouped > .control:not(:last-child) {
-      margin-bottom: 0;
-      margin-right: 0.75rem; }
-    .field.is-grouped > .control.is-expanded {
-      flex-grow: 1;
-      flex-shrink: 1; }
-  .field.is-grouped.is-grouped-centered {
-    justify-content: center; }
-  .field.is-grouped.is-grouped-right {
-    justify-content: flex-end; }
-  .field.is-grouped.is-grouped-multiline {
-    flex-wrap: wrap; }
-    .field.is-grouped.is-grouped-multiline > .control:last-child, .field.is-grouped.is-grouped-multiline > .control:not(:last-child) {
-      margin-bottom: 0.75rem; }
-    .field.is-grouped.is-grouped-multiline:last-child {
-      margin-bottom: -0.75rem; }
-    .field.is-grouped.is-grouped-multiline:not(:last-child) {
-      margin-bottom: 0; }
-
-@media screen and (min-width: 769px), print {
-  .field.is-horizontal {
-    display: flex; } }
-
-.field-label .label {
-  font-size: inherit; }
-
-@media screen and (max-width: 768px) {
-  .field-label {
-    margin-bottom: 0.5rem; } }
-
-@media screen and (min-width: 769px), print {
-  .field-label {
-    flex-basis: 0;
-    flex-grow: 1;
-    flex-shrink: 0;
-    margin-right: 1.5rem;
-    text-align: right; }
-    .field-label.is-small, #documenter .docs-sidebar form.docs-search > input.field-label {
-      font-size: 0.75rem;
-      padding-top: 0.375em; }
-    .field-label.is-normal {
-      padding-top: 0.375em; }
-    .field-label.is-medium {
-      font-size: 1.25rem;
-      padding-top: 0.375em; }
-    .field-label.is-large {
-      font-size: 1.5rem;
-      padding-top: 0.375em; } }
-
-.field-body .field .field {
-  margin-bottom: 0; }
-
-@media screen and (min-width: 769px), print {
-  .field-body {
-    display: flex;
-    flex-basis: 0;
-    flex-grow: 5;
-    flex-shrink: 1; }
-    .field-body .field {
-      margin-bottom: 0; }
-    .field-body > .field {
-      flex-shrink: 1; }
-      .field-body > .field:not(.is-narrow) {
-        flex-grow: 1; }
-      .field-body > .field:not(:last-child) {
-        margin-right: 0.75rem; } }
-
-.control {
-  box-sizing: border-box;
-  clear: both;
-  font-size: 1rem;
-  position: relative;
-  text-align: left; }
-  .control.has-icons-left .input:focus ~ .icon, .control.has-icons-left #documenter .docs-sidebar form.docs-search > input:focus ~ .icon, #documenter .docs-sidebar .control.has-icons-left form.docs-search > input:focus ~ .icon,
-  .control.has-icons-left .select:focus ~ .icon, .control.has-icons-right .input:focus ~ .icon, .control.has-icons-right #documenter .docs-sidebar form.docs-search > input:focus ~ .icon, #documenter .docs-sidebar .control.has-icons-right form.docs-search > input:focus ~ .icon,
-  .control.has-icons-right .select:focus ~ .icon {
-    color: #6b6b6b; }
-  .control.has-icons-left .input.is-small ~ .icon, .control.has-icons-left #documenter .docs-sidebar form.docs-search > input ~ .icon, #documenter .docs-sidebar .control.has-icons-left form.docs-search > input ~ .icon,
-  .control.has-icons-left .select.is-small ~ .icon, .control.has-icons-right .input.is-small ~ .icon, .control.has-icons-right #documenter .docs-sidebar form.docs-search > input ~ .icon, #documenter .docs-sidebar .control.has-icons-right form.docs-search > input ~ .icon,
-  .control.has-icons-right .select.is-small ~ .icon {
-    font-size: 0.75rem; }
-  .control.has-icons-left .input.is-medium ~ .icon, .control.has-icons-left #documenter .docs-sidebar form.docs-search > input.is-medium ~ .icon, #documenter .docs-sidebar .control.has-icons-left form.docs-search > input.is-medium ~ .icon,
-  .control.has-icons-left .select.is-medium ~ .icon, .control.has-icons-right .input.is-medium ~ .icon, .control.has-icons-right #documenter .docs-sidebar form.docs-search > input.is-medium ~ .icon, #documenter .docs-sidebar .control.has-icons-right form.docs-search > input.is-medium ~ .icon,
-  .control.has-icons-right .select.is-medium ~ .icon {
-    font-size: 1.25rem; }
-  .control.has-icons-left .input.is-large ~ .icon, .control.has-icons-left #documenter .docs-sidebar form.docs-search > input.is-large ~ .icon, #documenter .docs-sidebar .control.has-icons-left form.docs-search > input.is-large ~ .icon,
-  .control.has-icons-left .select.is-large ~ .icon, .control.has-icons-right .input.is-large ~ .icon, .control.has-icons-right #documenter .docs-sidebar form.docs-search > input.is-large ~ .icon, #documenter .docs-sidebar .control.has-icons-right form.docs-search > input.is-large ~ .icon,
-  .control.has-icons-right .select.is-large ~ .icon {
-    font-size: 1.5rem; }
-  .control.has-icons-left .icon, .control.has-icons-right .icon {
-    color: #dbdbdb;
-    height: 2.25em;
-    pointer-events: none;
-    position: absolute;
-    top: 0;
-    width: 2.25em;
-    z-index: 4; }
-  .control.has-icons-left .input, .control.has-icons-left #documenter .docs-sidebar form.docs-search > input, #documenter .docs-sidebar .control.has-icons-left form.docs-search > input,
-  .control.has-icons-left .select select {
-    padding-left: 2.25em; }
-  .control.has-icons-left .icon.is-left {
-    left: 0; }
-  .control.has-icons-right .input, .control.has-icons-right #documenter .docs-sidebar form.docs-search > input, #documenter .docs-sidebar .control.has-icons-right form.docs-search > input,
-  .control.has-icons-right .select select {
-    padding-right: 2.25em; }
-  .control.has-icons-right .icon.is-right {
-    right: 0; }
-  .control.is-loading::after {
-    position: absolute !important;
-    right: 0.625em;
-    top: 0.625em;
-    z-index: 4; }
-  .control.is-loading.is-small:after, #documenter .docs-sidebar form.docs-search > input.is-loading:after {
-    font-size: 0.75rem; }
-  .control.is-loading.is-medium:after {
-    font-size: 1.25rem; }
-  .control.is-loading.is-large:after {
-    font-size: 1.5rem; }
-
-.breadcrumb {
-  font-size: 1rem;
-  white-space: nowrap; }
-  .breadcrumb a {
-    align-items: center;
-    color: #2e63b8;
-    display: flex;
-    justify-content: center;
-    padding: 0 0.75em; }
-    .breadcrumb a:hover {
-      color: #363636; }
-  .breadcrumb li {
-    align-items: center;
-    display: flex; }
-    .breadcrumb li:first-child a {
-      padding-left: 0; }
-    .breadcrumb li.is-active a {
-      color: #222222;
-      cursor: default;
-      pointer-events: none; }
-    .breadcrumb li + li::before {
-      color: #b5b5b5;
-      content: "\0002f"; }
-  .breadcrumb ul,
-  .breadcrumb ol {
-    align-items: flex-start;
-    display: flex;
-    flex-wrap: wrap;
-    justify-content: flex-start; }
-  .breadcrumb .icon:first-child {
-    margin-right: 0.5em; }
-  .breadcrumb .icon:last-child {
-    margin-left: 0.5em; }
-  .breadcrumb.is-centered ol,
-  .breadcrumb.is-centered ul {
-    justify-content: center; }
-  .breadcrumb.is-right ol,
-  .breadcrumb.is-right ul {
-    justify-content: flex-end; }
-  .breadcrumb.is-small, #documenter .docs-sidebar form.docs-search > input.breadcrumb {
-    font-size: 0.75rem; }
-  .breadcrumb.is-medium {
-    font-size: 1.25rem; }
-  .breadcrumb.is-large {
-    font-size: 1.5rem; }
-  .breadcrumb.has-arrow-separator li + li::before {
-    content: "\02192"; }
-  .breadcrumb.has-bullet-separator li + li::before {
-    content: "\02022"; }
-  .breadcrumb.has-dot-separator li + li::before {
-    content: "\000b7"; }
-  .breadcrumb.has-succeeds-separator li + li::before {
-    content: "\0227B"; }
-
-.card {
-  background-color: white;
-  box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
-  color: #222222;
-  max-width: 100%;
-  position: relative; }
-
-.card-header {
-  background-color: transparent;
-  align-items: stretch;
-  box-shadow: 0 1px 2px rgba(10, 10, 10, 0.1);
-  display: flex; }
-
-.card-header-title {
-  align-items: center;
-  color: #222222;
-  display: flex;
-  flex-grow: 1;
-  font-weight: 700;
-  padding: 0.75rem; }
-  .card-header-title.is-centered {
-    justify-content: center; }
-
-.card-header-icon {
-  align-items: center;
-  cursor: pointer;
-  display: flex;
-  justify-content: center;
-  padding: 0.75rem; }
-
-.card-image {
-  display: block;
-  position: relative; }
-
-.card-content {
-  background-color: transparent;
-  padding: 1.5rem; }
-
-.card-footer {
-  background-color: transparent;
-  border-top: 1px solid #dbdbdb;
-  align-items: stretch;
-  display: flex; }
-
-.card-footer-item {
-  align-items: center;
-  display: flex;
-  flex-basis: 0;
-  flex-grow: 1;
-  flex-shrink: 0;
-  justify-content: center;
-  padding: 0.75rem; }
-  .card-footer-item:not(:last-child) {
-    border-right: 1px solid #dbdbdb; }
-
-.card .media:not(:last-child) {
-  margin-bottom: 1.5rem; }
-
-.dropdown {
-  display: inline-flex;
-  position: relative;
-  vertical-align: top; }
-  .dropdown.is-active .dropdown-menu, .dropdown.is-hoverable:hover .dropdown-menu {
-    display: block; }
-  .dropdown.is-right .dropdown-menu {
-    left: auto;
-    right: 0; }
-  .dropdown.is-up .dropdown-menu {
-    bottom: 100%;
-    padding-bottom: 4px;
-    padding-top: initial;
-    top: auto; }
-
-.dropdown-menu {
-  display: none;
-  left: 0;
-  min-width: 12rem;
-  padding-top: 4px;
-  position: absolute;
-  top: 100%;
-  z-index: 20; }
-
-.dropdown-content {
-  background-color: white;
-  border-radius: 4px;
-  box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
-  padding-bottom: 0.5rem;
-  padding-top: 0.5rem; }
-
-.dropdown-item {
-  color: #4a4a4a;
-  display: block;
-  font-size: 0.875rem;
-  line-height: 1.5;
-  padding: 0.375rem 1rem;
-  position: relative; }
-
-a.dropdown-item,
-button.dropdown-item {
-  padding-right: 3rem;
-  text-align: left;
-  white-space: nowrap;
-  width: 100%; }
-  a.dropdown-item:hover,
-  button.dropdown-item:hover {
-    background-color: whitesmoke;
-    color: #0a0a0a; }
-  a.dropdown-item.is-active,
-  button.dropdown-item.is-active {
-    background-color: #2e63b8;
-    color: #fff; }
-
-.dropdown-divider {
-  background-color: #dbdbdb;
-  border: none;
-  display: block;
-  height: 1px;
-  margin: 0.5rem 0; }
-
-.level {
-  align-items: center;
-  justify-content: space-between; }
-  .level code {
-    border-radius: 4px; }
-  .level img {
-    display: inline-block;
-    vertical-align: top; }
-  .level.is-mobile {
-    display: flex; }
-    .level.is-mobile .level-left,
-    .level.is-mobile .level-right {
-      display: flex; }
-    .level.is-mobile .level-left + .level-right {
-      margin-top: 0; }
-    .level.is-mobile .level-item:not(:last-child) {
-      margin-bottom: 0;
-      margin-right: 0.75rem; }
-    .level.is-mobile .level-item:not(.is-narrow) {
-      flex-grow: 1; }
-  @media screen and (min-width: 769px), print {
-    .level {
-      display: flex; }
-      .level > .level-item:not(.is-narrow) {
-        flex-grow: 1; } }
-.level-item {
-  align-items: center;
-  display: flex;
-  flex-basis: auto;
-  flex-grow: 0;
-  flex-shrink: 0;
-  justify-content: center; }
-  .level-item .title,
-  .level-item .subtitle {
-    margin-bottom: 0; }
-  @media screen and (max-width: 768px) {
-    .level-item:not(:last-child) {
-      margin-bottom: 0.75rem; } }
-.level-left,
-.level-right {
-  flex-basis: auto;
-  flex-grow: 0;
-  flex-shrink: 0; }
-  .level-left .level-item.is-flexible,
-  .level-right .level-item.is-flexible {
-    flex-grow: 1; }
-  @media screen and (min-width: 769px), print {
-    .level-left .level-item:not(:last-child),
-    .level-right .level-item:not(:last-child) {
-      margin-right: 0.75rem; } }
-.level-left {
-  align-items: center;
-  justify-content: flex-start; }
-  @media screen and (max-width: 768px) {
-    .level-left + .level-right {
-      margin-top: 1.5rem; } }
-  @media screen and (min-width: 769px), print {
-    .level-left {
-      display: flex; } }
-.level-right {
-  align-items: center;
-  justify-content: flex-end; }
-  @media screen and (min-width: 769px), print {
-    .level-right {
-      display: flex; } }
-.list {
-  background-color: white;
-  border-radius: 4px;
-  box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1); }
-
-.list-item {
-  display: block;
-  padding: 0.5em 1em; }
-  .list-item:not(a) {
-    color: #222222; }
-  .list-item:first-child {
-    border-top-left-radius: 4px;
-    border-top-right-radius: 4px; }
-  .list-item:last-child {
-    border-bottom-left-radius: 4px;
-    border-bottom-right-radius: 4px; }
-  .list-item:not(:last-child) {
-    border-bottom: 1px solid #dbdbdb; }
-  .list-item.is-active {
-    background-color: #2e63b8;
-    color: #fff; }
-
-a.list-item {
-  background-color: whitesmoke;
-  cursor: pointer; }
-
-.media {
-  align-items: flex-start;
-  display: flex;
-  text-align: left; }
-  .media .content:not(:last-child) {
-    margin-bottom: 0.75rem; }
-  .media .media {
-    border-top: 1px solid rgba(219, 219, 219, 0.5);
-    display: flex;
-    padding-top: 0.75rem; }
-    .media .media .content:not(:last-child),
-    .media .media .control:not(:last-child) {
-      margin-bottom: 0.5rem; }
-    .media .media .media {
-      padding-top: 0.5rem; }
-      .media .media .media + .media {
-        margin-top: 0.5rem; }
-  .media + .media {
-    border-top: 1px solid rgba(219, 219, 219, 0.5);
-    margin-top: 1rem;
-    padding-top: 1rem; }
-  .media.is-large + .media {
-    margin-top: 1.5rem;
-    padding-top: 1.5rem; }
-
-.media-left,
-.media-right {
-  flex-basis: auto;
-  flex-grow: 0;
-  flex-shrink: 0; }
-
-.media-left {
-  margin-right: 1rem; }
-
-.media-right {
-  margin-left: 1rem; }
-
-.media-content {
-  flex-basis: auto;
-  flex-grow: 1;
-  flex-shrink: 1;
-  text-align: left; }
-
-@media screen and (max-width: 768px) {
-  .media-content {
-    overflow-x: auto; } }
-
-.menu {
-  font-size: 1rem; }
-  .menu.is-small, #documenter .docs-sidebar form.docs-search > input.menu {
-    font-size: 0.75rem; }
-  .menu.is-medium {
-    font-size: 1.25rem; }
-  .menu.is-large {
-    font-size: 1.5rem; }
-
-.menu-list {
-  line-height: 1.25; }
-  .menu-list a {
-    border-radius: 2px;
-    color: #222222;
-    display: block;
-    padding: 0.5em 0.75em; }
-    .menu-list a:hover {
-      background-color: whitesmoke;
-      color: #222222; }
-    .menu-list a.is-active {
-      background-color: #2e63b8;
-      color: #fff; }
-  .menu-list li ul {
-    border-left: 1px solid #dbdbdb;
-    margin: 0.75em;
-    padding-left: 0.75em; }
-
-.menu-label {
-  color: #6b6b6b;
-  font-size: 0.75em;
-  letter-spacing: 0.1em;
-  text-transform: uppercase; }
-  .menu-label:not(:first-child) {
-    margin-top: 1em; }
-  .menu-label:not(:last-child) {
-    margin-bottom: 1em; }
-
-.message {
-  background-color: whitesmoke;
-  border-radius: 4px;
-  font-size: 1rem; }
-  .message strong {
-    color: currentColor; }
-  .message a:not(.button):not(.tag):not(.dropdown-item) {
-    color: currentColor;
-    text-decoration: underline; }
-  .message.is-small, #documenter .docs-sidebar form.docs-search > input.message {
-    font-size: 0.75rem; }
-  .message.is-medium {
-    font-size: 1.25rem; }
-  .message.is-large {
-    font-size: 1.5rem; }
-  .message.is-white {
-    background-color: white; }
-    .message.is-white .message-header {
-      background-color: white;
-      color: #0a0a0a; }
-    .message.is-white .message-body {
-      border-color: white;
-      color: #4d4d4d; }
-  .message.is-black {
-    background-color: #fafafa; }
-    .message.is-black .message-header {
-      background-color: #0a0a0a;
-      color: white; }
-    .message.is-black .message-body {
-      border-color: #0a0a0a;
-      color: #090909; }
-  .message.is-light {
-    background-color: #fafafa; }
-    .message.is-light .message-header {
-      background-color: whitesmoke;
-      color: #363636; }
-    .message.is-light .message-body {
-      border-color: whitesmoke;
-      color: #505050; }
-  .message.is-dark, .content kbd.message {
-    background-color: #fafafa; }
-    .message.is-dark .message-header, .content kbd.message .message-header {
-      background-color: #363636;
-      color: whitesmoke; }
-    .message.is-dark .message-body, .content kbd.message .message-body {
-      border-color: #363636;
-      color: #2a2a2a; }
-  .message.is-primary, .docstring > section > a.message.docs-sourcelink {
-    background-color: #f6fbfd; }
-    .message.is-primary .message-header, .docstring > section > a.message.docs-sourcelink .message-header {
-      background-color: #4eb5de;
-      color: #fff; }
-    .message.is-primary .message-body, .docstring > section > a.message.docs-sourcelink .message-body {
-      border-color: #4eb5de;
-      color: #1f556a; }
-  .message.is-link {
-    background-color: #f7f9fd; }
-    .message.is-link .message-header {
-      background-color: #2e63b8;
-      color: #fff; }
-    .message.is-link .message-body {
-      border-color: #2e63b8;
-      color: #264981; }
-  .message.is-info {
-    background-color: #f6fbfe; }
-    .message.is-info .message-header {
-      background-color: #209cee;
-      color: #fff; }
-    .message.is-info .message-body {
-      border-color: #209cee;
-      color: #12537d; }
-  .message.is-success {
-    background-color: #f6fdf9; }
-    .message.is-success .message-header {
-      background-color: #22c35b;
-      color: #fff; }
-    .message.is-success .message-body {
-      border-color: #22c35b;
-      color: #0f361d; }
-  .message.is-warning {
-    background-color: #fffdf5; }
-    .message.is-warning .message-header {
-      background-color: #ffdd57;
-      color: rgba(0, 0, 0, 0.7); }
-    .message.is-warning .message-body {
-      border-color: #ffdd57;
-      color: #3c3108; }
-  .message.is-danger {
-    background-color: #fff5f5; }
-    .message.is-danger .message-header {
-      background-color: #da0b00;
-      color: #fff; }
-    .message.is-danger .message-body {
-      border-color: #da0b00;
-      color: #9b0c04; }
-
-.message-header {
-  align-items: center;
-  background-color: #222222;
-  border-radius: 4px 4px 0 0;
-  color: #fff;
-  display: flex;
-  font-weight: 700;
-  justify-content: space-between;
-  line-height: 1.25;
-  padding: 0.75em 1em;
-  position: relative; }
-  .message-header .delete {
-    flex-grow: 0;
-    flex-shrink: 0;
-    margin-left: 0.75em; }
-  .message-header + .message-body {
-    border-width: 0;
-    border-top-left-radius: 0;
-    border-top-right-radius: 0; }
-
-.message-body {
-  border-color: #dbdbdb;
-  border-radius: 4px;
-  border-style: solid;
-  border-width: 0 0 0 4px;
-  color: #222222;
-  padding: 1.25em 1.5em; }
-  .message-body code,
-  .message-body pre {
-    background-color: white; }
-  .message-body pre code {
-    background-color: transparent; }
-
-.modal {
-  align-items: center;
-  display: none;
-  flex-direction: column;
-  justify-content: center;
-  overflow: hidden;
-  position: fixed;
-  z-index: 40; }
-  .modal.is-active {
-    display: flex; }
-
-.modal-background {
-  background-color: rgba(10, 10, 10, 0.86); }
-
-.modal-content,
-.modal-card {
-  margin: 0 20px;
-  max-height: calc(100vh - 160px);
-  overflow: auto;
-  position: relative;
-  width: 100%; }
-  @media screen and (min-width: 769px), print {
-    .modal-content,
-    .modal-card {
-      margin: 0 auto;
-      max-height: calc(100vh - 40px);
-      width: 640px; } }
-.modal-close {
-  background: none;
-  height: 40px;
-  position: fixed;
-  right: 20px;
-  top: 20px;
-  width: 40px; }
-
-.modal-card {
-  display: flex;
-  flex-direction: column;
-  max-height: calc(100vh - 40px);
-  overflow: hidden;
-  -ms-overflow-y: visible; }
-
-.modal-card-head,
-.modal-card-foot {
-  align-items: center;
-  background-color: whitesmoke;
-  display: flex;
-  flex-shrink: 0;
-  justify-content: flex-start;
-  padding: 20px;
-  position: relative; }
-
-.modal-card-head {
-  border-bottom: 1px solid #dbdbdb;
-  border-top-left-radius: 6px;
-  border-top-right-radius: 6px; }
-
-.modal-card-title {
-  color: #222222;
-  flex-grow: 1;
-  flex-shrink: 0;
-  font-size: 1.5rem;
-  line-height: 1; }
-
-.modal-card-foot {
-  border-bottom-left-radius: 6px;
-  border-bottom-right-radius: 6px;
-  border-top: 1px solid #dbdbdb; }
-  .modal-card-foot .button:not(:last-child) {
-    margin-right: 0.5em; }
-
-.modal-card-body {
-  -webkit-overflow-scrolling: touch;
-  background-color: white;
-  flex-grow: 1;
-  flex-shrink: 1;
-  overflow: auto;
-  padding: 20px; }
-
-.navbar {
-  background-color: white;
-  min-height: 3.25rem;
-  position: relative;
-  z-index: 30; }
-  .navbar.is-white {
-    background-color: white;
-    color: #0a0a0a; }
-    .navbar.is-white .navbar-brand > .navbar-item,
-    .navbar.is-white .navbar-brand .navbar-link {
-      color: #0a0a0a; }
-    .navbar.is-white .navbar-brand > a.navbar-item:focus, .navbar.is-white .navbar-brand > a.navbar-item:hover, .navbar.is-white .navbar-brand > a.navbar-item.is-active,
-    .navbar.is-white .navbar-brand .navbar-link:focus,
-    .navbar.is-white .navbar-brand .navbar-link:hover,
-    .navbar.is-white .navbar-brand .navbar-link.is-active {
-      background-color: #f2f2f2;
-      color: #0a0a0a; }
-    .navbar.is-white .navbar-brand .navbar-link::after {
-      border-color: #0a0a0a; }
-    .navbar.is-white .navbar-burger {
-      color: #0a0a0a; }
-    @media screen and (min-width: 1056px) {
-      .navbar.is-white .navbar-start > .navbar-item,
-      .navbar.is-white .navbar-start .navbar-link,
-      .navbar.is-white .navbar-end > .navbar-item,
-      .navbar.is-white .navbar-end .navbar-link {
-        color: #0a0a0a; }
-      .navbar.is-white .navbar-start > a.navbar-item:focus, .navbar.is-white .navbar-start > a.navbar-item:hover, .navbar.is-white .navbar-start > a.navbar-item.is-active,
-      .navbar.is-white .navbar-start .navbar-link:focus,
-      .navbar.is-white .navbar-start .navbar-link:hover,
-      .navbar.is-white .navbar-start .navbar-link.is-active,
-      .navbar.is-white .navbar-end > a.navbar-item:focus,
-      .navbar.is-white .navbar-end > a.navbar-item:hover,
-      .navbar.is-white .navbar-end > a.navbar-item.is-active,
-      .navbar.is-white .navbar-end .navbar-link:focus,
-      .navbar.is-white .navbar-end .navbar-link:hover,
-      .navbar.is-white .navbar-end .navbar-link.is-active {
-        background-color: #f2f2f2;
-        color: #0a0a0a; }
-      .navbar.is-white .navbar-start .navbar-link::after,
-      .navbar.is-white .navbar-end .navbar-link::after {
-        border-color: #0a0a0a; }
-      .navbar.is-white .navbar-item.has-dropdown:focus .navbar-link,
-      .navbar.is-white .navbar-item.has-dropdown:hover .navbar-link,
-      .navbar.is-white .navbar-item.has-dropdown.is-active .navbar-link {
-        background-color: #f2f2f2;
-        color: #0a0a0a; }
-      .navbar.is-white .navbar-dropdown a.navbar-item.is-active {
-        background-color: white;
-        color: #0a0a0a; } }
-  .navbar.is-black {
-    background-color: #0a0a0a;
-    color: white; }
-    .navbar.is-black .navbar-brand > .navbar-item,
-    .navbar.is-black .navbar-brand .navbar-link {
-      color: white; }
-    .navbar.is-black .navbar-brand > a.navbar-item:focus, .navbar.is-black .navbar-brand > a.navbar-item:hover, .navbar.is-black .navbar-brand > a.navbar-item.is-active,
-    .navbar.is-black .navbar-brand .navbar-link:focus,
-    .navbar.is-black .navbar-brand .navbar-link:hover,
-    .navbar.is-black .navbar-brand .navbar-link.is-active {
-      background-color: black;
-      color: white; }
-    .navbar.is-black .navbar-brand .navbar-link::after {
-      border-color: white; }
-    .navbar.is-black .navbar-burger {
-      color: white; }
-    @media screen and (min-width: 1056px) {
-      .navbar.is-black .navbar-start > .navbar-item,
-      .navbar.is-black .navbar-start .navbar-link,
-      .navbar.is-black .navbar-end > .navbar-item,
-      .navbar.is-black .navbar-end .navbar-link {
-        color: white; }
-      .navbar.is-black .navbar-start > a.navbar-item:focus, .navbar.is-black .navbar-start > a.navbar-item:hover, .navbar.is-black .navbar-start > a.navbar-item.is-active,
-      .navbar.is-black .navbar-start .navbar-link:focus,
-      .navbar.is-black .navbar-start .navbar-link:hover,
-      .navbar.is-black .navbar-start .navbar-link.is-active,
-      .navbar.is-black .navbar-end > a.navbar-item:focus,
-      .navbar.is-black .navbar-end > a.navbar-item:hover,
-      .navbar.is-black .navbar-end > a.navbar-item.is-active,
-      .navbar.is-black .navbar-end .navbar-link:focus,
-      .navbar.is-black .navbar-end .navbar-link:hover,
-      .navbar.is-black .navbar-end .navbar-link.is-active {
-        background-color: black;
-        color: white; }
-      .navbar.is-black .navbar-start .navbar-link::after,
-      .navbar.is-black .navbar-end .navbar-link::after {
-        border-color: white; }
-      .navbar.is-black .navbar-item.has-dropdown:focus .navbar-link,
-      .navbar.is-black .navbar-item.has-dropdown:hover .navbar-link,
-      .navbar.is-black .navbar-item.has-dropdown.is-active .navbar-link {
-        background-color: black;
-        color: white; }
-      .navbar.is-black .navbar-dropdown a.navbar-item.is-active {
-        background-color: #0a0a0a;
-        color: white; } }
-  .navbar.is-light {
-    background-color: whitesmoke;
-    color: #363636; }
-    .navbar.is-light .navbar-brand > .navbar-item,
-    .navbar.is-light .navbar-brand .navbar-link {
-      color: #363636; }
-    .navbar.is-light .navbar-brand > a.navbar-item:focus, .navbar.is-light .navbar-brand > a.navbar-item:hover, .navbar.is-light .navbar-brand > a.navbar-item.is-active,
-    .navbar.is-light .navbar-brand .navbar-link:focus,
-    .navbar.is-light .navbar-brand .navbar-link:hover,
-    .navbar.is-light .navbar-brand .navbar-link.is-active {
-      background-color: #e8e8e8;
-      color: #363636; }
-    .navbar.is-light .navbar-brand .navbar-link::after {
-      border-color: #363636; }
-    .navbar.is-light .navbar-burger {
-      color: #363636; }
-    @media screen and (min-width: 1056px) {
-      .navbar.is-light .navbar-start > .navbar-item,
-      .navbar.is-light .navbar-start .navbar-link,
-      .navbar.is-light .navbar-end > .navbar-item,
-      .navbar.is-light .navbar-end .navbar-link {
-        color: #363636; }
-      .navbar.is-light .navbar-start > a.navbar-item:focus, .navbar.is-light .navbar-start > a.navbar-item:hover, .navbar.is-light .navbar-start > a.navbar-item.is-active,
-      .navbar.is-light .navbar-start .navbar-link:focus,
-      .navbar.is-light .navbar-start .navbar-link:hover,
-      .navbar.is-light .navbar-start .navbar-link.is-active,
-      .navbar.is-light .navbar-end > a.navbar-item:focus,
-      .navbar.is-light .navbar-end > a.navbar-item:hover,
-      .navbar.is-light .navbar-end > a.navbar-item.is-active,
-      .navbar.is-light .navbar-end .navbar-link:focus,
-      .navbar.is-light .navbar-end .navbar-link:hover,
-      .navbar.is-light .navbar-end .navbar-link.is-active {
-        background-color: #e8e8e8;
-        color: #363636; }
-      .navbar.is-light .navbar-start .navbar-link::after,
-      .navbar.is-light .navbar-end .navbar-link::after {
-        border-color: #363636; }
-      .navbar.is-light .navbar-item.has-dropdown:focus .navbar-link,
-      .navbar.is-light .navbar-item.has-dropdown:hover .navbar-link,
-      .navbar.is-light .navbar-item.has-dropdown.is-active .navbar-link {
-        background-color: #e8e8e8;
-        color: #363636; }
-      .navbar.is-light .navbar-dropdown a.navbar-item.is-active {
-        background-color: whitesmoke;
-        color: #363636; } }
-  .navbar.is-dark, .content kbd.navbar {
-    background-color: #363636;
-    color: whitesmoke; }
-    .navbar.is-dark .navbar-brand > .navbar-item, .content kbd.navbar .navbar-brand > .navbar-item,
-    .navbar.is-dark .navbar-brand .navbar-link,
-    .content kbd.navbar .navbar-brand .navbar-link {
-      color: whitesmoke; }
-    .navbar.is-dark .navbar-brand > a.navbar-item:focus, .content kbd.navbar .navbar-brand > a.navbar-item:focus, .navbar.is-dark .navbar-brand > a.navbar-item:hover, .content kbd.navbar .navbar-brand > a.navbar-item:hover, .navbar.is-dark .navbar-brand > a.navbar-item.is-active, .content kbd.navbar .navbar-brand > a.navbar-item.is-active,
-    .navbar.is-dark .navbar-brand .navbar-link:focus,
-    .content kbd.navbar .navbar-brand .navbar-link:focus,
-    .navbar.is-dark .navbar-brand .navbar-link:hover,
-    .content kbd.navbar .navbar-brand .navbar-link:hover,
-    .navbar.is-dark .navbar-brand .navbar-link.is-active,
-    .content kbd.navbar .navbar-brand .navbar-link.is-active {
-      background-color: #292929;
-      color: whitesmoke; }
-    .navbar.is-dark .navbar-brand .navbar-link::after, .content kbd.navbar .navbar-brand .navbar-link::after {
-      border-color: whitesmoke; }
-    .navbar.is-dark .navbar-burger, .content kbd.navbar .navbar-burger {
-      color: whitesmoke; }
-    @media screen and (min-width: 1056px) {
-      .navbar.is-dark .navbar-start > .navbar-item, .content kbd.navbar .navbar-start > .navbar-item,
-      .navbar.is-dark .navbar-start .navbar-link,
-      .content kbd.navbar .navbar-start .navbar-link,
-      .navbar.is-dark .navbar-end > .navbar-item,
-      .content kbd.navbar .navbar-end > .navbar-item,
-      .navbar.is-dark .navbar-end .navbar-link,
-      .content kbd.navbar .navbar-end .navbar-link {
-        color: whitesmoke; }
-      .navbar.is-dark .navbar-start > a.navbar-item:focus, .content kbd.navbar .navbar-start > a.navbar-item:focus, .navbar.is-dark .navbar-start > a.navbar-item:hover, .content kbd.navbar .navbar-start > a.navbar-item:hover, .navbar.is-dark .navbar-start > a.navbar-item.is-active, .content kbd.navbar .navbar-start > a.navbar-item.is-active,
-      .navbar.is-dark .navbar-start .navbar-link:focus,
-      .content kbd.navbar .navbar-start .navbar-link:focus,
-      .navbar.is-dark .navbar-start .navbar-link:hover,
-      .content kbd.navbar .navbar-start .navbar-link:hover,
-      .navbar.is-dark .navbar-start .navbar-link.is-active,
-      .content kbd.navbar .navbar-start .navbar-link.is-active,
-      .navbar.is-dark .navbar-end > a.navbar-item:focus,
-      .content kbd.navbar .navbar-end > a.navbar-item:focus,
-      .navbar.is-dark .navbar-end > a.navbar-item:hover,
-      .content kbd.navbar .navbar-end > a.navbar-item:hover,
-      .navbar.is-dark .navbar-end > a.navbar-item.is-active,
-      .content kbd.navbar .navbar-end > a.navbar-item.is-active,
-      .navbar.is-dark .navbar-end .navbar-link:focus,
-      .content kbd.navbar .navbar-end .navbar-link:focus,
-      .navbar.is-dark .navbar-end .navbar-link:hover,
-      .content kbd.navbar .navbar-end .navbar-link:hover,
-      .navbar.is-dark .navbar-end .navbar-link.is-active,
-      .content kbd.navbar .navbar-end .navbar-link.is-active {
-        background-color: #292929;
-        color: whitesmoke; }
-      .navbar.is-dark .navbar-start .navbar-link::after, .content kbd.navbar .navbar-start .navbar-link::after,
-      .navbar.is-dark .navbar-end .navbar-link::after,
-      .content kbd.navbar .navbar-end .navbar-link::after {
-        border-color: whitesmoke; }
-      .navbar.is-dark .navbar-item.has-dropdown:focus .navbar-link, .content kbd.navbar .navbar-item.has-dropdown:focus .navbar-link,
-      .navbar.is-dark .navbar-item.has-dropdown:hover .navbar-link,
-      .content kbd.navbar .navbar-item.has-dropdown:hover .navbar-link,
-      .navbar.is-dark .navbar-item.has-dropdown.is-active .navbar-link,
-      .content kbd.navbar .navbar-item.has-dropdown.is-active .navbar-link {
-        background-color: #292929;
-        color: whitesmoke; }
-      .navbar.is-dark .navbar-dropdown a.navbar-item.is-active, .content kbd.navbar .navbar-dropdown a.navbar-item.is-active {
-        background-color: #363636;
-        color: whitesmoke; } }
-  .navbar.is-primary, .docstring > section > a.navbar.docs-sourcelink {
-    background-color: #4eb5de;
-    color: #fff; }
-    .navbar.is-primary .navbar-brand > .navbar-item, .docstring > section > a.navbar.docs-sourcelink .navbar-brand > .navbar-item,
-    .navbar.is-primary .navbar-brand .navbar-link,
-    .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link {
-      color: #fff; }
-    .navbar.is-primary .navbar-brand > a.navbar-item:focus, .docstring > section > a.navbar.docs-sourcelink .navbar-brand > a.navbar-item:focus, .navbar.is-primary .navbar-brand > a.navbar-item:hover, .docstring > section > a.navbar.docs-sourcelink .navbar-brand > a.navbar-item:hover, .navbar.is-primary .navbar-brand > a.navbar-item.is-active, .docstring > section > a.navbar.docs-sourcelink .navbar-brand > a.navbar-item.is-active,
-    .navbar.is-primary .navbar-brand .navbar-link:focus,
-    .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link:focus,
-    .navbar.is-primary .navbar-brand .navbar-link:hover,
-    .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link:hover,
-    .navbar.is-primary .navbar-brand .navbar-link.is-active,
-    .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link.is-active {
-      background-color: #39acda;
-      color: #fff; }
-    .navbar.is-primary .navbar-brand .navbar-link::after, .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link::after {
-      border-color: #fff; }
-    .navbar.is-primary .navbar-burger, .docstring > section > a.navbar.docs-sourcelink .navbar-burger {
-      color: #fff; }
-    @media screen and (min-width: 1056px) {
-      .navbar.is-primary .navbar-start > .navbar-item, .docstring > section > a.navbar.docs-sourcelink .navbar-start > .navbar-item,
-      .navbar.is-primary .navbar-start .navbar-link,
-      .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link,
-      .navbar.is-primary .navbar-end > .navbar-item,
-      .docstring > section > a.navbar.docs-sourcelink .navbar-end > .navbar-item,
-      .navbar.is-primary .navbar-end .navbar-link,
-      .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link {
-        color: #fff; }
-      .navbar.is-primary .navbar-start > a.navbar-item:focus, .docstring > section > a.navbar.docs-sourcelink .navbar-start > a.navbar-item:focus, .navbar.is-primary .navbar-start > a.navbar-item:hover, .docstring > section > a.navbar.docs-sourcelink .navbar-start > a.navbar-item:hover, .navbar.is-primary .navbar-start > a.navbar-item.is-active, .docstring > section > a.navbar.docs-sourcelink .navbar-start > a.navbar-item.is-active,
-      .navbar.is-primary .navbar-start .navbar-link:focus,
-      .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link:focus,
-      .navbar.is-primary .navbar-start .navbar-link:hover,
-      .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link:hover,
-      .navbar.is-primary .navbar-start .navbar-link.is-active,
-      .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link.is-active,
-      .navbar.is-primary .navbar-end > a.navbar-item:focus,
-      .docstring > section > a.navbar.docs-sourcelink .navbar-end > a.navbar-item:focus,
-      .navbar.is-primary .navbar-end > a.navbar-item:hover,
-      .docstring > section > a.navbar.docs-sourcelink .navbar-end > a.navbar-item:hover,
-      .navbar.is-primary .navbar-end > a.navbar-item.is-active,
-      .docstring > section > a.navbar.docs-sourcelink .navbar-end > a.navbar-item.is-active,
-      .navbar.is-primary .navbar-end .navbar-link:focus,
-      .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link:focus,
-      .navbar.is-primary .navbar-end .navbar-link:hover,
-      .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link:hover,
-      .navbar.is-primary .navbar-end .navbar-link.is-active,
-      .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link.is-active {
-        background-color: #39acda;
-        color: #fff; }
-      .navbar.is-primary .navbar-start .navbar-link::after, .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link::after,
-      .navbar.is-primary .navbar-end .navbar-link::after,
-      .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link::after {
-        border-color: #fff; }
-      .navbar.is-primary .navbar-item.has-dropdown:focus .navbar-link, .docstring > section > a.navbar.docs-sourcelink .navbar-item.has-dropdown:focus .navbar-link,
-      .navbar.is-primary .navbar-item.has-dropdown:hover .navbar-link,
-      .docstring > section > a.navbar.docs-sourcelink .navbar-item.has-dropdown:hover .navbar-link,
-      .navbar.is-primary .navbar-item.has-dropdown.is-active .navbar-link,
-      .docstring > section > a.navbar.docs-sourcelink .navbar-item.has-dropdown.is-active .navbar-link {
-        background-color: #39acda;
-        color: #fff; }
-      .navbar.is-primary .navbar-dropdown a.navbar-item.is-active, .docstring > section > a.navbar.docs-sourcelink .navbar-dropdown a.navbar-item.is-active {
-        background-color: #4eb5de;
-        color: #fff; } }
-  .navbar.is-link {
-    background-color: #2e63b8;
-    color: #fff; }
-    .navbar.is-link .navbar-brand > .navbar-item,
-    .navbar.is-link .navbar-brand .navbar-link {
-      color: #fff; }
-    .navbar.is-link .navbar-brand > a.navbar-item:focus, .navbar.is-link .navbar-brand > a.navbar-item:hover, .navbar.is-link .navbar-brand > a.navbar-item.is-active,
-    .navbar.is-link .navbar-brand .navbar-link:focus,
-    .navbar.is-link .navbar-brand .navbar-link:hover,
-    .navbar.is-link .navbar-brand .navbar-link.is-active {
-      background-color: #2958a4;
-      color: #fff; }
-    .navbar.is-link .navbar-brand .navbar-link::after {
-      border-color: #fff; }
-    .navbar.is-link .navbar-burger {
-      color: #fff; }
-    @media screen and (min-width: 1056px) {
-      .navbar.is-link .navbar-start > .navbar-item,
-      .navbar.is-link .navbar-start .navbar-link,
-      .navbar.is-link .navbar-end > .navbar-item,
-      .navbar.is-link .navbar-end .navbar-link {
-        color: #fff; }
-      .navbar.is-link .navbar-start > a.navbar-item:focus, .navbar.is-link .navbar-start > a.navbar-item:hover, .navbar.is-link .navbar-start > a.navbar-item.is-active,
-      .navbar.is-link .navbar-start .navbar-link:focus,
-      .navbar.is-link .navbar-start .navbar-link:hover,
-      .navbar.is-link .navbar-start .navbar-link.is-active,
-      .navbar.is-link .navbar-end > a.navbar-item:focus,
-      .navbar.is-link .navbar-end > a.navbar-item:hover,
-      .navbar.is-link .navbar-end > a.navbar-item.is-active,
-      .navbar.is-link .navbar-end .navbar-link:focus,
-      .navbar.is-link .navbar-end .navbar-link:hover,
-      .navbar.is-link .navbar-end .navbar-link.is-active {
-        background-color: #2958a4;
-        color: #fff; }
-      .navbar.is-link .navbar-start .navbar-link::after,
-      .navbar.is-link .navbar-end .navbar-link::after {
-        border-color: #fff; }
-      .navbar.is-link .navbar-item.has-dropdown:focus .navbar-link,
-      .navbar.is-link .navbar-item.has-dropdown:hover .navbar-link,
-      .navbar.is-link .navbar-item.has-dropdown.is-active .navbar-link {
-        background-color: #2958a4;
-        color: #fff; }
-      .navbar.is-link .navbar-dropdown a.navbar-item.is-active {
-        background-color: #2e63b8;
-        color: #fff; } }
-  .navbar.is-info {
-    background-color: #209cee;
-    color: #fff; }
-    .navbar.is-info .navbar-brand > .navbar-item,
-    .navbar.is-info .navbar-brand .navbar-link {
-      color: #fff; }
-    .navbar.is-info .navbar-brand > a.navbar-item:focus, .navbar.is-info .navbar-brand > a.navbar-item:hover, .navbar.is-info .navbar-brand > a.navbar-item.is-active,
-    .navbar.is-info .navbar-brand .navbar-link:focus,
-    .navbar.is-info .navbar-brand .navbar-link:hover,
-    .navbar.is-info .navbar-brand .navbar-link.is-active {
-      background-color: #1190e3;
-      color: #fff; }
-    .navbar.is-info .navbar-brand .navbar-link::after {
-      border-color: #fff; }
-    .navbar.is-info .navbar-burger {
-      color: #fff; }
-    @media screen and (min-width: 1056px) {
-      .navbar.is-info .navbar-start > .navbar-item,
-      .navbar.is-info .navbar-start .navbar-link,
-      .navbar.is-info .navbar-end > .navbar-item,
-      .navbar.is-info .navbar-end .navbar-link {
-        color: #fff; }
-      .navbar.is-info .navbar-start > a.navbar-item:focus, .navbar.is-info .navbar-start > a.navbar-item:hover, .navbar.is-info .navbar-start > a.navbar-item.is-active,
-      .navbar.is-info .navbar-start .navbar-link:focus,
-      .navbar.is-info .navbar-start .navbar-link:hover,
-      .navbar.is-info .navbar-start .navbar-link.is-active,
-      .navbar.is-info .navbar-end > a.navbar-item:focus,
-      .navbar.is-info .navbar-end > a.navbar-item:hover,
-      .navbar.is-info .navbar-end > a.navbar-item.is-active,
-      .navbar.is-info .navbar-end .navbar-link:focus,
-      .navbar.is-info .navbar-end .navbar-link:hover,
-      .navbar.is-info .navbar-end .navbar-link.is-active {
-        background-color: #1190e3;
-        color: #fff; }
-      .navbar.is-info .navbar-start .navbar-link::after,
-      .navbar.is-info .navbar-end .navbar-link::after {
-        border-color: #fff; }
-      .navbar.is-info .navbar-item.has-dropdown:focus .navbar-link,
-      .navbar.is-info .navbar-item.has-dropdown:hover .navbar-link,
-      .navbar.is-info .navbar-item.has-dropdown.is-active .navbar-link {
-        background-color: #1190e3;
-        color: #fff; }
-      .navbar.is-info .navbar-dropdown a.navbar-item.is-active {
-        background-color: #209cee;
-        color: #fff; } }
-  .navbar.is-success {
-    background-color: #22c35b;
-    color: #fff; }
-    .navbar.is-success .navbar-brand > .navbar-item,
-    .navbar.is-success .navbar-brand .navbar-link {
-      color: #fff; }
-    .navbar.is-success .navbar-brand > a.navbar-item:focus, .navbar.is-success .navbar-brand > a.navbar-item:hover, .navbar.is-success .navbar-brand > a.navbar-item.is-active,
-    .navbar.is-success .navbar-brand .navbar-link:focus,
-    .navbar.is-success .navbar-brand .navbar-link:hover,
-    .navbar.is-success .navbar-brand .navbar-link.is-active {
-      background-color: #1ead51;
-      color: #fff; }
-    .navbar.is-success .navbar-brand .navbar-link::after {
-      border-color: #fff; }
-    .navbar.is-success .navbar-burger {
-      color: #fff; }
-    @media screen and (min-width: 1056px) {
-      .navbar.is-success .navbar-start > .navbar-item,
-      .navbar.is-success .navbar-start .navbar-link,
-      .navbar.is-success .navbar-end > .navbar-item,
-      .navbar.is-success .navbar-end .navbar-link {
-        color: #fff; }
-      .navbar.is-success .navbar-start > a.navbar-item:focus, .navbar.is-success .navbar-start > a.navbar-item:hover, .navbar.is-success .navbar-start > a.navbar-item.is-active,
-      .navbar.is-success .navbar-start .navbar-link:focus,
-      .navbar.is-success .navbar-start .navbar-link:hover,
-      .navbar.is-success .navbar-start .navbar-link.is-active,
-      .navbar.is-success .navbar-end > a.navbar-item:focus,
-      .navbar.is-success .navbar-end > a.navbar-item:hover,
-      .navbar.is-success .navbar-end > a.navbar-item.is-active,
-      .navbar.is-success .navbar-end .navbar-link:focus,
-      .navbar.is-success .navbar-end .navbar-link:hover,
-      .navbar.is-success .navbar-end .navbar-link.is-active {
-        background-color: #1ead51;
-        color: #fff; }
-      .navbar.is-success .navbar-start .navbar-link::after,
-      .navbar.is-success .navbar-end .navbar-link::after {
-        border-color: #fff; }
-      .navbar.is-success .navbar-item.has-dropdown:focus .navbar-link,
-      .navbar.is-success .navbar-item.has-dropdown:hover .navbar-link,
-      .navbar.is-success .navbar-item.has-dropdown.is-active .navbar-link {
-        background-color: #1ead51;
-        color: #fff; }
-      .navbar.is-success .navbar-dropdown a.navbar-item.is-active {
-        background-color: #22c35b;
-        color: #fff; } }
-  .navbar.is-warning {
-    background-color: #ffdd57;
-    color: rgba(0, 0, 0, 0.7); }
-    .navbar.is-warning .navbar-brand > .navbar-item,
-    .navbar.is-warning .navbar-brand .navbar-link {
-      color: rgba(0, 0, 0, 0.7); }
-    .navbar.is-warning .navbar-brand > a.navbar-item:focus, .navbar.is-warning .navbar-brand > a.navbar-item:hover, .navbar.is-warning .navbar-brand > a.navbar-item.is-active,
-    .navbar.is-warning .navbar-brand .navbar-link:focus,
-    .navbar.is-warning .navbar-brand .navbar-link:hover,
-    .navbar.is-warning .navbar-brand .navbar-link.is-active {
-      background-color: #ffd83e;
-      color: rgba(0, 0, 0, 0.7); }
-    .navbar.is-warning .navbar-brand .navbar-link::after {
-      border-color: rgba(0, 0, 0, 0.7); }
-    .navbar.is-warning .navbar-burger {
-      color: rgba(0, 0, 0, 0.7); }
-    @media screen and (min-width: 1056px) {
-      .navbar.is-warning .navbar-start > .navbar-item,
-      .navbar.is-warning .navbar-start .navbar-link,
-      .navbar.is-warning .navbar-end > .navbar-item,
-      .navbar.is-warning .navbar-end .navbar-link {
-        color: rgba(0, 0, 0, 0.7); }
-      .navbar.is-warning .navbar-start > a.navbar-item:focus, .navbar.is-warning .navbar-start > a.navbar-item:hover, .navbar.is-warning .navbar-start > a.navbar-item.is-active,
-      .navbar.is-warning .navbar-start .navbar-link:focus,
-      .navbar.is-warning .navbar-start .navbar-link:hover,
-      .navbar.is-warning .navbar-start .navbar-link.is-active,
-      .navbar.is-warning .navbar-end > a.navbar-item:focus,
-      .navbar.is-warning .navbar-end > a.navbar-item:hover,
-      .navbar.is-warning .navbar-end > a.navbar-item.is-active,
-      .navbar.is-warning .navbar-end .navbar-link:focus,
-      .navbar.is-warning .navbar-end .navbar-link:hover,
-      .navbar.is-warning .navbar-end .navbar-link.is-active {
-        background-color: #ffd83e;
-        color: rgba(0, 0, 0, 0.7); }
-      .navbar.is-warning .navbar-start .navbar-link::after,
-      .navbar.is-warning .navbar-end .navbar-link::after {
-        border-color: rgba(0, 0, 0, 0.7); }
-      .navbar.is-warning .navbar-item.has-dropdown:focus .navbar-link,
-      .navbar.is-warning .navbar-item.has-dropdown:hover .navbar-link,
-      .navbar.is-warning .navbar-item.has-dropdown.is-active .navbar-link {
-        background-color: #ffd83e;
-        color: rgba(0, 0, 0, 0.7); }
-      .navbar.is-warning .navbar-dropdown a.navbar-item.is-active {
-        background-color: #ffdd57;
-        color: rgba(0, 0, 0, 0.7); } }
-  .navbar.is-danger {
-    background-color: #da0b00;
-    color: #fff; }
-    .navbar.is-danger .navbar-brand > .navbar-item,
-    .navbar.is-danger .navbar-brand .navbar-link {
-      color: #fff; }
-    .navbar.is-danger .navbar-brand > a.navbar-item:focus, .navbar.is-danger .navbar-brand > a.navbar-item:hover, .navbar.is-danger .navbar-brand > a.navbar-item.is-active,
-    .navbar.is-danger .navbar-brand .navbar-link:focus,
-    .navbar.is-danger .navbar-brand .navbar-link:hover,
-    .navbar.is-danger .navbar-brand .navbar-link.is-active {
-      background-color: #c10a00;
-      color: #fff; }
-    .navbar.is-danger .navbar-brand .navbar-link::after {
-      border-color: #fff; }
-    .navbar.is-danger .navbar-burger {
-      color: #fff; }
-    @media screen and (min-width: 1056px) {
-      .navbar.is-danger .navbar-start > .navbar-item,
-      .navbar.is-danger .navbar-start .navbar-link,
-      .navbar.is-danger .navbar-end > .navbar-item,
-      .navbar.is-danger .navbar-end .navbar-link {
-        color: #fff; }
-      .navbar.is-danger .navbar-start > a.navbar-item:focus, .navbar.is-danger .navbar-start > a.navbar-item:hover, .navbar.is-danger .navbar-start > a.navbar-item.is-active,
-      .navbar.is-danger .navbar-start .navbar-link:focus,
-      .navbar.is-danger .navbar-start .navbar-link:hover,
-      .navbar.is-danger .navbar-start .navbar-link.is-active,
-      .navbar.is-danger .navbar-end > a.navbar-item:focus,
-      .navbar.is-danger .navbar-end > a.navbar-item:hover,
-      .navbar.is-danger .navbar-end > a.navbar-item.is-active,
-      .navbar.is-danger .navbar-end .navbar-link:focus,
-      .navbar.is-danger .navbar-end .navbar-link:hover,
-      .navbar.is-danger .navbar-end .navbar-link.is-active {
-        background-color: #c10a00;
-        color: #fff; }
-      .navbar.is-danger .navbar-start .navbar-link::after,
-      .navbar.is-danger .navbar-end .navbar-link::after {
-        border-color: #fff; }
-      .navbar.is-danger .navbar-item.has-dropdown:focus .navbar-link,
-      .navbar.is-danger .navbar-item.has-dropdown:hover .navbar-link,
-      .navbar.is-danger .navbar-item.has-dropdown.is-active .navbar-link {
-        background-color: #c10a00;
-        color: #fff; }
-      .navbar.is-danger .navbar-dropdown a.navbar-item.is-active {
-        background-color: #da0b00;
-        color: #fff; } }
-  .navbar > .container {
-    align-items: stretch;
-    display: flex;
-    min-height: 3.25rem;
-    width: 100%; }
-  .navbar.has-shadow {
-    box-shadow: 0 2px 0 0 whitesmoke; }
-  .navbar.is-fixed-bottom, .navbar.is-fixed-top {
-    left: 0;
-    position: fixed;
-    right: 0;
-    z-index: 30; }
-  .navbar.is-fixed-bottom {
-    bottom: 0; }
-    .navbar.is-fixed-bottom.has-shadow {
-      box-shadow: 0 -2px 0 0 whitesmoke; }
-  .navbar.is-fixed-top {
-    top: 0; }
-
-html.has-navbar-fixed-top,
-body.has-navbar-fixed-top {
-  padding-top: 3.25rem; }
-
-html.has-navbar-fixed-bottom,
-body.has-navbar-fixed-bottom {
-  padding-bottom: 3.25rem; }
-
-.navbar-brand,
-.navbar-tabs {
-  align-items: stretch;
-  display: flex;
-  flex-shrink: 0;
-  min-height: 3.25rem; }
-
-.navbar-brand a.navbar-item:focus, .navbar-brand a.navbar-item:hover {
-  background-color: transparent; }
-
-.navbar-tabs {
-  -webkit-overflow-scrolling: touch;
-  max-width: 100vw;
-  overflow-x: auto;
-  overflow-y: hidden; }
-
-.navbar-burger {
-  color: #4a4a4a;
-  cursor: pointer;
-  display: block;
-  height: 3.25rem;
-  position: relative;
-  width: 3.25rem;
-  margin-left: auto; }
-  .navbar-burger span {
-    background-color: currentColor;
-    display: block;
-    height: 1px;
-    left: calc(50% - 8px);
-    position: absolute;
-    transform-origin: center;
-    transition-duration: 86ms;
-    transition-property: background-color, opacity, transform;
-    transition-timing-function: ease-out;
-    width: 16px; }
-    .navbar-burger span:nth-child(1) {
-      top: calc(50% - 6px); }
-    .navbar-burger span:nth-child(2) {
-      top: calc(50% - 1px); }
-    .navbar-burger span:nth-child(3) {
-      top: calc(50% + 4px); }
-  .navbar-burger:hover {
-    background-color: rgba(0, 0, 0, 0.05); }
-  .navbar-burger.is-active span:nth-child(1) {
-    transform: translateY(5px) rotate(45deg); }
-  .navbar-burger.is-active span:nth-child(2) {
-    opacity: 0; }
-  .navbar-burger.is-active span:nth-child(3) {
-    transform: translateY(-5px) rotate(-45deg); }
-
-.navbar-menu {
-  display: none; }
-
-.navbar-item,
-.navbar-link {
-  color: #4a4a4a;
-  display: block;
-  line-height: 1.5;
-  padding: 0.5rem 0.75rem;
-  position: relative; }
-  .navbar-item .icon:only-child,
-  .navbar-link .icon:only-child {
-    margin-left: -0.25rem;
-    margin-right: -0.25rem; }
-
-a.navbar-item,
-.navbar-link {
-  cursor: pointer; }
-  a.navbar-item:focus, a.navbar-item:focus-within, a.navbar-item:hover, a.navbar-item.is-active,
-  .navbar-link:focus,
-  .navbar-link:focus-within,
-  .navbar-link:hover,
-  .navbar-link.is-active {
-    background-color: #fafafa;
-    color: #2e63b8; }
-
-.navbar-item {
-  display: block;
-  flex-grow: 0;
-  flex-shrink: 0; }
-  .navbar-item img {
-    max-height: 1.75rem; }
-  .navbar-item.has-dropdown {
-    padding: 0; }
-  .navbar-item.is-expanded {
-    flex-grow: 1;
-    flex-shrink: 1; }
-  .navbar-item.is-tab {
-    border-bottom: 1px solid transparent;
-    min-height: 3.25rem;
-    padding-bottom: calc(0.5rem - 1px); }
-    .navbar-item.is-tab:focus, .navbar-item.is-tab:hover {
-      background-color: transparent;
-      border-bottom-color: #2e63b8; }
-    .navbar-item.is-tab.is-active {
-      background-color: transparent;
-      border-bottom-color: #2e63b8;
-      border-bottom-style: solid;
-      border-bottom-width: 3px;
-      color: #2e63b8;
-      padding-bottom: calc(0.5rem - 3px); }
-
-.navbar-content {
-  flex-grow: 1;
-  flex-shrink: 1; }
-
-.navbar-link:not(.is-arrowless) {
-  padding-right: 2.5em; }
-  .navbar-link:not(.is-arrowless)::after {
-    border-color: #2e63b8;
-    margin-top: -0.375em;
-    right: 1.125em; }
-
-.navbar-dropdown {
-  font-size: 0.875rem;
-  padding-bottom: 0.5rem;
-  padding-top: 0.5rem; }
-  .navbar-dropdown .navbar-item {
-    padding-left: 1.5rem;
-    padding-right: 1.5rem; }
-
-.navbar-divider {
-  background-color: whitesmoke;
-  border: none;
-  display: none;
-  height: 2px;
-  margin: 0.5rem 0; }
-
-@media screen and (max-width: 1055px) {
-  .navbar > .container {
-    display: block; }
-  .navbar-brand .navbar-item,
-  .navbar-tabs .navbar-item {
-    align-items: center;
-    display: flex; }
-  .navbar-link::after {
-    display: none; }
-  .navbar-menu {
-    background-color: white;
-    box-shadow: 0 8px 16px rgba(10, 10, 10, 0.1);
-    padding: 0.5rem 0; }
-    .navbar-menu.is-active {
-      display: block; }
-  .navbar.is-fixed-bottom-touch, .navbar.is-fixed-top-touch {
-    left: 0;
-    position: fixed;
-    right: 0;
-    z-index: 30; }
-  .navbar.is-fixed-bottom-touch {
-    bottom: 0; }
-    .navbar.is-fixed-bottom-touch.has-shadow {
-      box-shadow: 0 -2px 3px rgba(10, 10, 10, 0.1); }
-  .navbar.is-fixed-top-touch {
-    top: 0; }
-  .navbar.is-fixed-top .navbar-menu, .navbar.is-fixed-top-touch .navbar-menu {
-    -webkit-overflow-scrolling: touch;
-    max-height: calc(100vh - 3.25rem);
-    overflow: auto; }
-  html.has-navbar-fixed-top-touch,
-  body.has-navbar-fixed-top-touch {
-    padding-top: 3.25rem; }
-  html.has-navbar-fixed-bottom-touch,
-  body.has-navbar-fixed-bottom-touch {
-    padding-bottom: 3.25rem; } }
-
-@media screen and (min-width: 1056px) {
-  .navbar,
-  .navbar-menu,
-  .navbar-start,
-  .navbar-end {
-    align-items: stretch;
-    display: flex; }
-  .navbar {
-    min-height: 3.25rem; }
-    .navbar.is-spaced {
-      padding: 1rem 2rem; }
-      .navbar.is-spaced .navbar-start,
-      .navbar.is-spaced .navbar-end {
-        align-items: center; }
-      .navbar.is-spaced a.navbar-item,
-      .navbar.is-spaced .navbar-link {
-        border-radius: 4px; }
-    .navbar.is-transparent a.navbar-item:focus, .navbar.is-transparent a.navbar-item:hover, .navbar.is-transparent a.navbar-item.is-active,
-    .navbar.is-transparent .navbar-link:focus,
-    .navbar.is-transparent .navbar-link:hover,
-    .navbar.is-transparent .navbar-link.is-active {
-      background-color: transparent !important; }
-    .navbar.is-transparent .navbar-item.has-dropdown.is-active .navbar-link, .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus .navbar-link, .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus-within .navbar-link, .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:hover .navbar-link {
-      background-color: transparent !important; }
-    .navbar.is-transparent .navbar-dropdown a.navbar-item:focus, .navbar.is-transparent .navbar-dropdown a.navbar-item:hover {
-      background-color: whitesmoke;
-      color: #0a0a0a; }
-    .navbar.is-transparent .navbar-dropdown a.navbar-item.is-active {
-      background-color: whitesmoke;
-      color: #2e63b8; }
-  .navbar-burger {
-    display: none; }
-  .navbar-item,
-  .navbar-link {
-    align-items: center;
-    display: flex; }
-  .navbar-item {
-    display: flex; }
-    .navbar-item.has-dropdown {
-      align-items: stretch; }
-    .navbar-item.has-dropdown-up .navbar-link::after {
-      transform: rotate(135deg) translate(0.25em, -0.25em); }
-    .navbar-item.has-dropdown-up .navbar-dropdown {
-      border-bottom: 2px solid #dbdbdb;
-      border-radius: 6px 6px 0 0;
-      border-top: none;
-      bottom: 100%;
-      box-shadow: 0 -8px 8px rgba(10, 10, 10, 0.1);
-      top: auto; }
-    .navbar-item.is-active .navbar-dropdown, .navbar-item.is-hoverable:focus .navbar-dropdown, .navbar-item.is-hoverable:focus-within .navbar-dropdown, .navbar-item.is-hoverable:hover .navbar-dropdown {
-      display: block; }
-      .navbar.is-spaced .navbar-item.is-active .navbar-dropdown, .navbar-item.is-active .navbar-dropdown.is-boxed, .navbar.is-spaced .navbar-item.is-hoverable:focus .navbar-dropdown, .navbar-item.is-hoverable:focus .navbar-dropdown.is-boxed, .navbar.is-spaced .navbar-item.is-hoverable:focus-within .navbar-dropdown, .navbar-item.is-hoverable:focus-within .navbar-dropdown.is-boxed, .navbar.is-spaced .navbar-item.is-hoverable:hover .navbar-dropdown, .navbar-item.is-hoverable:hover .navbar-dropdown.is-boxed {
-        opacity: 1;
-        pointer-events: auto;
-        transform: translateY(0); }
-  .navbar-menu {
-    flex-grow: 1;
-    flex-shrink: 0; }
-  .navbar-start {
-    justify-content: flex-start;
-    margin-right: auto; }
-  .navbar-end {
-    justify-content: flex-end;
-    margin-left: auto; }
-  .navbar-dropdown {
-    background-color: white;
-    border-bottom-left-radius: 6px;
-    border-bottom-right-radius: 6px;
-    border-top: 2px solid #dbdbdb;
-    box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1);
-    display: none;
-    font-size: 0.875rem;
-    left: 0;
-    min-width: 100%;
-    position: absolute;
-    top: 100%;
-    z-index: 20; }
-    .navbar-dropdown .navbar-item {
-      padding: 0.375rem 1rem;
-      white-space: nowrap; }
-    .navbar-dropdown a.navbar-item {
-      padding-right: 3rem; }
-      .navbar-dropdown a.navbar-item:focus, .navbar-dropdown a.navbar-item:hover {
-        background-color: whitesmoke;
-        color: #0a0a0a; }
-      .navbar-dropdown a.navbar-item.is-active {
-        background-color: whitesmoke;
-        color: #2e63b8; }
-    .navbar.is-spaced .navbar-dropdown, .navbar-dropdown.is-boxed {
-      border-radius: 6px;
-      border-top: none;
-      box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
-      display: block;
-      opacity: 0;
-      pointer-events: none;
-      top: calc(100% + (-4px));
-      transform: translateY(-5px);
-      transition-duration: 86ms;
-      transition-property: opacity, transform; }
-    .navbar-dropdown.is-right {
-      left: auto;
-      right: 0; }
-  .navbar-divider {
-    display: block; }
-  .navbar > .container .navbar-brand,
-  .container > .navbar .navbar-brand {
-    margin-left: -.75rem; }
-  .navbar > .container .navbar-menu,
-  .container > .navbar .navbar-menu {
-    margin-right: -.75rem; }
-  .navbar.is-fixed-bottom-desktop, .navbar.is-fixed-top-desktop {
-    left: 0;
-    position: fixed;
-    right: 0;
-    z-index: 30; }
-  .navbar.is-fixed-bottom-desktop {
-    bottom: 0; }
-    .navbar.is-fixed-bottom-desktop.has-shadow {
-      box-shadow: 0 -2px 3px rgba(10, 10, 10, 0.1); }
-  .navbar.is-fixed-top-desktop {
-    top: 0; }
-  html.has-navbar-fixed-top-desktop,
-  body.has-navbar-fixed-top-desktop {
-    padding-top: 3.25rem; }
-  html.has-navbar-fixed-bottom-desktop,
-  body.has-navbar-fixed-bottom-desktop {
-    padding-bottom: 3.25rem; }
-  html.has-spaced-navbar-fixed-top,
-  body.has-spaced-navbar-fixed-top {
-    padding-top: 5.25rem; }
-  html.has-spaced-navbar-fixed-bottom,
-  body.has-spaced-navbar-fixed-bottom {
-    padding-bottom: 5.25rem; }
-  a.navbar-item.is-active,
-  .navbar-link.is-active {
-    color: #0a0a0a; }
-  a.navbar-item.is-active:not(:focus):not(:hover),
-  .navbar-link.is-active:not(:focus):not(:hover) {
-    background-color: transparent; }
-  .navbar-item.has-dropdown:focus .navbar-link, .navbar-item.has-dropdown:hover .navbar-link, .navbar-item.has-dropdown.is-active .navbar-link {
-    background-color: #fafafa; } }
-
-.hero.is-fullheight-with-navbar {
-  min-height: calc(100vh - 3.25rem); }
-
-.pagination {
-  font-size: 1rem;
-  margin: -0.25rem; }
-  .pagination.is-small, #documenter .docs-sidebar form.docs-search > input.pagination {
-    font-size: 0.75rem; }
-  .pagination.is-medium {
-    font-size: 1.25rem; }
-  .pagination.is-large {
-    font-size: 1.5rem; }
-  .pagination.is-rounded .pagination-previous, #documenter .docs-sidebar form.docs-search > input.pagination .pagination-previous,
-  .pagination.is-rounded .pagination-next,
-  #documenter .docs-sidebar form.docs-search > input.pagination .pagination-next {
-    padding-left: 1em;
-    padding-right: 1em;
-    border-radius: 290486px; }
-  .pagination.is-rounded .pagination-link, #documenter .docs-sidebar form.docs-search > input.pagination .pagination-link {
-    border-radius: 290486px; }
-
-.pagination,
-.pagination-list {
-  align-items: center;
-  display: flex;
-  justify-content: center;
-  text-align: center; }
-
-.pagination-previous,
-.pagination-next,
-.pagination-link,
-.pagination-ellipsis {
-  font-size: 1em;
-  justify-content: center;
-  margin: 0.25rem;
-  padding-left: 0.5em;
-  padding-right: 0.5em;
-  text-align: center; }
-
-.pagination-previous,
-.pagination-next,
-.pagination-link {
-  border-color: #dbdbdb;
-  color: #363636;
-  min-width: 2.25em; }
-  .pagination-previous:hover,
-  .pagination-next:hover,
-  .pagination-link:hover {
-    border-color: #b5b5b5;
-    color: #363636; }
-  .pagination-previous:focus,
-  .pagination-next:focus,
-  .pagination-link:focus {
-    border-color: #3c5dcd; }
-  .pagination-previous:active,
-  .pagination-next:active,
-  .pagination-link:active {
-    box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2); }
-  .pagination-previous[disabled],
-  .pagination-next[disabled],
-  .pagination-link[disabled] {
-    background-color: #dbdbdb;
-    border-color: #dbdbdb;
-    box-shadow: none;
-    color: #6b6b6b;
-    opacity: 0.5; }
-
-.pagination-previous,
-.pagination-next {
-  padding-left: 0.75em;
-  padding-right: 0.75em;
-  white-space: nowrap; }
-
-.pagination-link.is-current {
-  background-color: #2e63b8;
-  border-color: #2e63b8;
-  color: #fff; }
-
-.pagination-ellipsis {
-  color: #b5b5b5;
-  pointer-events: none; }
-
-.pagination-list {
-  flex-wrap: wrap; }
-
-@media screen and (max-width: 768px) {
-  .pagination {
-    flex-wrap: wrap; }
-  .pagination-previous,
-  .pagination-next {
-    flex-grow: 1;
-    flex-shrink: 1; }
-  .pagination-list li {
-    flex-grow: 1;
-    flex-shrink: 1; } }
-
-@media screen and (min-width: 769px), print {
-  .pagination-list {
-    flex-grow: 1;
-    flex-shrink: 1;
-    justify-content: flex-start;
-    order: 1; }
-  .pagination-previous {
-    order: 2; }
-  .pagination-next {
-    order: 3; }
-  .pagination {
-    justify-content: space-between; }
-    .pagination.is-centered .pagination-previous {
-      order: 1; }
-    .pagination.is-centered .pagination-list {
-      justify-content: center;
-      order: 2; }
-    .pagination.is-centered .pagination-next {
-      order: 3; }
-    .pagination.is-right .pagination-previous {
-      order: 1; }
-    .pagination.is-right .pagination-next {
-      order: 2; }
-    .pagination.is-right .pagination-list {
-      justify-content: flex-end;
-      order: 3; } }
-
-.panel {
-  font-size: 1rem; }
-  .panel:not(:last-child) {
-    margin-bottom: 1.5rem; }
-
-.panel-heading,
-.panel-tabs,
-.panel-block {
-  border-bottom: 1px solid #dbdbdb;
-  border-left: 1px solid #dbdbdb;
-  border-right: 1px solid #dbdbdb; }
-  .panel-heading:first-child,
-  .panel-tabs:first-child,
-  .panel-block:first-child {
-    border-top: 1px solid #dbdbdb; }
-
-.panel-heading {
-  background-color: whitesmoke;
-  border-radius: 4px 4px 0 0;
-  color: #222222;
-  font-size: 1.25em;
-  font-weight: 300;
-  line-height: 1.25;
-  padding: 0.5em 0.75em; }
-
-.panel-tabs {
-  align-items: flex-end;
-  display: flex;
-  font-size: 0.875em;
-  justify-content: center; }
-  .panel-tabs a {
-    border-bottom: 1px solid #dbdbdb;
-    margin-bottom: -1px;
-    padding: 0.5em; }
-    .panel-tabs a.is-active {
-      border-bottom-color: #4a4a4a;
-      color: #363636; }
-
-.panel-list a {
-  color: #222222; }
-  .panel-list a:hover {
-    color: #2e63b8; }
-
-.panel-block {
-  align-items: center;
-  color: #222222;
-  display: flex;
-  justify-content: flex-start;
-  padding: 0.5em 0.75em; }
-  .panel-block input[type="checkbox"] {
-    margin-right: 0.75em; }
-  .panel-block > .control {
-    flex-grow: 1;
-    flex-shrink: 1;
-    width: 100%; }
-  .panel-block.is-wrapped {
-    flex-wrap: wrap; }
-  .panel-block.is-active {
-    border-left-color: #2e63b8;
-    color: #363636; }
-    .panel-block.is-active .panel-icon {
-      color: #2e63b8; }
-
-a.panel-block,
-label.panel-block {
-  cursor: pointer; }
-  a.panel-block:hover,
-  label.panel-block:hover {
-    background-color: whitesmoke; }
-
-.panel-icon {
-  display: inline-block;
-  font-size: 14px;
-  height: 1em;
-  line-height: 1em;
-  text-align: center;
-  vertical-align: top;
-  width: 1em;
-  color: #6b6b6b;
-  margin-right: 0.75em; }
-  .panel-icon .fa {
-    font-size: inherit;
-    line-height: inherit; }
-
-.tabs {
-  -webkit-overflow-scrolling: touch;
-  align-items: stretch;
-  display: flex;
-  font-size: 1rem;
-  justify-content: space-between;
-  overflow: hidden;
-  overflow-x: auto;
-  white-space: nowrap; }
-  .tabs a {
-    align-items: center;
-    border-bottom-color: #dbdbdb;
-    border-bottom-style: solid;
-    border-bottom-width: 1px;
-    color: #222222;
-    display: flex;
-    justify-content: center;
-    margin-bottom: -1px;
-    padding: 0.5em 1em;
-    vertical-align: top; }
-    .tabs a:hover {
-      border-bottom-color: #222222;
-      color: #222222; }
-  .tabs li {
-    display: block; }
-    .tabs li.is-active a {
-      border-bottom-color: #2e63b8;
-      color: #2e63b8; }
-  .tabs ul {
-    align-items: center;
-    border-bottom-color: #dbdbdb;
-    border-bottom-style: solid;
-    border-bottom-width: 1px;
-    display: flex;
-    flex-grow: 1;
-    flex-shrink: 0;
-    justify-content: flex-start; }
-    .tabs ul.is-left {
-      padding-right: 0.75em; }
-    .tabs ul.is-center {
-      flex: none;
-      justify-content: center;
-      padding-left: 0.75em;
-      padding-right: 0.75em; }
-    .tabs ul.is-right {
-      justify-content: flex-end;
-      padding-left: 0.75em; }
-  .tabs .icon:first-child {
-    margin-right: 0.5em; }
-  .tabs .icon:last-child {
-    margin-left: 0.5em; }
-  .tabs.is-centered ul {
-    justify-content: center; }
-  .tabs.is-right ul {
-    justify-content: flex-end; }
-  .tabs.is-boxed a {
-    border: 1px solid transparent;
-    border-radius: 4px 4px 0 0; }
-    .tabs.is-boxed a:hover {
-      background-color: whitesmoke;
-      border-bottom-color: #dbdbdb; }
-  .tabs.is-boxed li.is-active a {
-    background-color: white;
-    border-color: #dbdbdb;
-    border-bottom-color: transparent !important; }
-  .tabs.is-fullwidth li {
-    flex-grow: 1;
-    flex-shrink: 0; }
-  .tabs.is-toggle a {
-    border-color: #dbdbdb;
-    border-style: solid;
-    border-width: 1px;
-    margin-bottom: 0;
-    position: relative; }
-    .tabs.is-toggle a:hover {
-      background-color: whitesmoke;
-      border-color: #b5b5b5;
-      z-index: 2; }
-  .tabs.is-toggle li + li {
-    margin-left: -1px; }
-  .tabs.is-toggle li:first-child a {
-    border-radius: 4px 0 0 4px; }
-  .tabs.is-toggle li:last-child a {
-    border-radius: 0 4px 4px 0; }
-  .tabs.is-toggle li.is-active a {
-    background-color: #2e63b8;
-    border-color: #2e63b8;
-    color: #fff;
-    z-index: 1; }
-  .tabs.is-toggle ul {
-    border-bottom: none; }
-  .tabs.is-toggle.is-toggle-rounded li:first-child a {
-    border-bottom-left-radius: 290486px;
-    border-top-left-radius: 290486px;
-    padding-left: 1.25em; }
-  .tabs.is-toggle.is-toggle-rounded li:last-child a {
-    border-bottom-right-radius: 290486px;
-    border-top-right-radius: 290486px;
-    padding-right: 1.25em; }
-  .tabs.is-small, #documenter .docs-sidebar form.docs-search > input.tabs {
-    font-size: 0.75rem; }
-  .tabs.is-medium {
-    font-size: 1.25rem; }
-  .tabs.is-large {
-    font-size: 1.5rem; }
-
-.column {
-  display: block;
-  flex-basis: 0;
-  flex-grow: 1;
-  flex-shrink: 1;
-  padding: 0.75rem; }
-  .columns.is-mobile > .column.is-narrow {
-    flex: none; }
-  .columns.is-mobile > .column.is-full {
-    flex: none;
-    width: 100%; }
-  .columns.is-mobile > .column.is-three-quarters {
-    flex: none;
-    width: 75%; }
-  .columns.is-mobile > .column.is-two-thirds {
-    flex: none;
-    width: 66.6666%; }
-  .columns.is-mobile > .column.is-half {
-    flex: none;
-    width: 50%; }
-  .columns.is-mobile > .column.is-one-third {
-    flex: none;
-    width: 33.3333%; }
-  .columns.is-mobile > .column.is-one-quarter {
-    flex: none;
-    width: 25%; }
-  .columns.is-mobile > .column.is-one-fifth {
-    flex: none;
-    width: 20%; }
-  .columns.is-mobile > .column.is-two-fifths {
-    flex: none;
-    width: 40%; }
-  .columns.is-mobile > .column.is-three-fifths {
-    flex: none;
-    width: 60%; }
-  .columns.is-mobile > .column.is-four-fifths {
-    flex: none;
-    width: 80%; }
-  .columns.is-mobile > .column.is-offset-three-quarters {
-    margin-left: 75%; }
-  .columns.is-mobile > .column.is-offset-two-thirds {
-    margin-left: 66.6666%; }
-  .columns.is-mobile > .column.is-offset-half {
-    margin-left: 50%; }
-  .columns.is-mobile > .column.is-offset-one-third {
-    margin-left: 33.3333%; }
-  .columns.is-mobile > .column.is-offset-one-quarter {
-    margin-left: 25%; }
-  .columns.is-mobile > .column.is-offset-one-fifth {
-    margin-left: 20%; }
-  .columns.is-mobile > .column.is-offset-two-fifths {
-    margin-left: 40%; }
-  .columns.is-mobile > .column.is-offset-three-fifths {
-    margin-left: 60%; }
-  .columns.is-mobile > .column.is-offset-four-fifths {
-    margin-left: 80%; }
-  .columns.is-mobile > .column.is-0 {
-    flex: none;
-    width: 0%; }
-  .columns.is-mobile > .column.is-offset-0 {
-    margin-left: 0%; }
-  .columns.is-mobile > .column.is-1 {
-    flex: none;
-    width: 8.3333333333%; }
-  .columns.is-mobile > .column.is-offset-1 {
-    margin-left: 8.3333333333%; }
-  .columns.is-mobile > .column.is-2 {
-    flex: none;
-    width: 16.6666666667%; }
-  .columns.is-mobile > .column.is-offset-2 {
-    margin-left: 16.6666666667%; }
-  .columns.is-mobile > .column.is-3 {
-    flex: none;
-    width: 25%; }
-  .columns.is-mobile > .column.is-offset-3 {
-    margin-left: 25%; }
-  .columns.is-mobile > .column.is-4 {
-    flex: none;
-    width: 33.3333333333%; }
-  .columns.is-mobile > .column.is-offset-4 {
-    margin-left: 33.3333333333%; }
-  .columns.is-mobile > .column.is-5 {
-    flex: none;
-    width: 41.6666666667%; }
-  .columns.is-mobile > .column.is-offset-5 {
-    margin-left: 41.6666666667%; }
-  .columns.is-mobile > .column.is-6 {
-    flex: none;
-    width: 50%; }
-  .columns.is-mobile > .column.is-offset-6 {
-    margin-left: 50%; }
-  .columns.is-mobile > .column.is-7 {
-    flex: none;
-    width: 58.3333333333%; }
-  .columns.is-mobile > .column.is-offset-7 {
-    margin-left: 58.3333333333%; }
-  .columns.is-mobile > .column.is-8 {
-    flex: none;
-    width: 66.6666666667%; }
-  .columns.is-mobile > .column.is-offset-8 {
-    margin-left: 66.6666666667%; }
-  .columns.is-mobile > .column.is-9 {
-    flex: none;
-    width: 75%; }
-  .columns.is-mobile > .column.is-offset-9 {
-    margin-left: 75%; }
-  .columns.is-mobile > .column.is-10 {
-    flex: none;
-    width: 83.3333333333%; }
-  .columns.is-mobile > .column.is-offset-10 {
-    margin-left: 83.3333333333%; }
-  .columns.is-mobile > .column.is-11 {
-    flex: none;
-    width: 91.6666666667%; }
-  .columns.is-mobile > .column.is-offset-11 {
-    margin-left: 91.6666666667%; }
-  .columns.is-mobile > .column.is-12 {
-    flex: none;
-    width: 100%; }
-  .columns.is-mobile > .column.is-offset-12 {
-    margin-left: 100%; }
-  @media screen and (max-width: 768px) {
-    .column.is-narrow-mobile {
-      flex: none; }
-    .column.is-full-mobile {
-      flex: none;
-      width: 100%; }
-    .column.is-three-quarters-mobile {
-      flex: none;
-      width: 75%; }
-    .column.is-two-thirds-mobile {
-      flex: none;
-      width: 66.6666%; }
-    .column.is-half-mobile {
-      flex: none;
-      width: 50%; }
-    .column.is-one-third-mobile {
-      flex: none;
-      width: 33.3333%; }
-    .column.is-one-quarter-mobile {
-      flex: none;
-      width: 25%; }
-    .column.is-one-fifth-mobile {
-      flex: none;
-      width: 20%; }
-    .column.is-two-fifths-mobile {
-      flex: none;
-      width: 40%; }
-    .column.is-three-fifths-mobile {
-      flex: none;
-      width: 60%; }
-    .column.is-four-fifths-mobile {
-      flex: none;
-      width: 80%; }
-    .column.is-offset-three-quarters-mobile {
-      margin-left: 75%; }
-    .column.is-offset-two-thirds-mobile {
-      margin-left: 66.6666%; }
-    .column.is-offset-half-mobile {
-      margin-left: 50%; }
-    .column.is-offset-one-third-mobile {
-      margin-left: 33.3333%; }
-    .column.is-offset-one-quarter-mobile {
-      margin-left: 25%; }
-    .column.is-offset-one-fifth-mobile {
-      margin-left: 20%; }
-    .column.is-offset-two-fifths-mobile {
-      margin-left: 40%; }
-    .column.is-offset-three-fifths-mobile {
-      margin-left: 60%; }
-    .column.is-offset-four-fifths-mobile {
-      margin-left: 80%; }
-    .column.is-0-mobile {
-      flex: none;
-      width: 0%; }
-    .column.is-offset-0-mobile {
-      margin-left: 0%; }
-    .column.is-1-mobile {
-      flex: none;
-      width: 8.3333333333%; }
-    .column.is-offset-1-mobile {
-      margin-left: 8.3333333333%; }
-    .column.is-2-mobile {
-      flex: none;
-      width: 16.6666666667%; }
-    .column.is-offset-2-mobile {
-      margin-left: 16.6666666667%; }
-    .column.is-3-mobile {
-      flex: none;
-      width: 25%; }
-    .column.is-offset-3-mobile {
-      margin-left: 25%; }
-    .column.is-4-mobile {
-      flex: none;
-      width: 33.3333333333%; }
-    .column.is-offset-4-mobile {
-      margin-left: 33.3333333333%; }
-    .column.is-5-mobile {
-      flex: none;
-      width: 41.6666666667%; }
-    .column.is-offset-5-mobile {
-      margin-left: 41.6666666667%; }
-    .column.is-6-mobile {
-      flex: none;
-      width: 50%; }
-    .column.is-offset-6-mobile {
-      margin-left: 50%; }
-    .column.is-7-mobile {
-      flex: none;
-      width: 58.3333333333%; }
-    .column.is-offset-7-mobile {
-      margin-left: 58.3333333333%; }
-    .column.is-8-mobile {
-      flex: none;
-      width: 66.6666666667%; }
-    .column.is-offset-8-mobile {
-      margin-left: 66.6666666667%; }
-    .column.is-9-mobile {
-      flex: none;
-      width: 75%; }
-    .column.is-offset-9-mobile {
-      margin-left: 75%; }
-    .column.is-10-mobile {
-      flex: none;
-      width: 83.3333333333%; }
-    .column.is-offset-10-mobile {
-      margin-left: 83.3333333333%; }
-    .column.is-11-mobile {
-      flex: none;
-      width: 91.6666666667%; }
-    .column.is-offset-11-mobile {
-      margin-left: 91.6666666667%; }
-    .column.is-12-mobile {
-      flex: none;
-      width: 100%; }
-    .column.is-offset-12-mobile {
-      margin-left: 100%; } }
-  @media screen and (min-width: 769px), print {
-    .column.is-narrow, .column.is-narrow-tablet {
-      flex: none; }
-    .column.is-full, .column.is-full-tablet {
-      flex: none;
-      width: 100%; }
-    .column.is-three-quarters, .column.is-three-quarters-tablet {
-      flex: none;
-      width: 75%; }
-    .column.is-two-thirds, .column.is-two-thirds-tablet {
-      flex: none;
-      width: 66.6666%; }
-    .column.is-half, .column.is-half-tablet {
-      flex: none;
-      width: 50%; }
-    .column.is-one-third, .column.is-one-third-tablet {
-      flex: none;
-      width: 33.3333%; }
-    .column.is-one-quarter, .column.is-one-quarter-tablet {
-      flex: none;
-      width: 25%; }
-    .column.is-one-fifth, .column.is-one-fifth-tablet {
-      flex: none;
-      width: 20%; }
-    .column.is-two-fifths, .column.is-two-fifths-tablet {
-      flex: none;
-      width: 40%; }
-    .column.is-three-fifths, .column.is-three-fifths-tablet {
-      flex: none;
-      width: 60%; }
-    .column.is-four-fifths, .column.is-four-fifths-tablet {
-      flex: none;
-      width: 80%; }
-    .column.is-offset-three-quarters, .column.is-offset-three-quarters-tablet {
-      margin-left: 75%; }
-    .column.is-offset-two-thirds, .column.is-offset-two-thirds-tablet {
-      margin-left: 66.6666%; }
-    .column.is-offset-half, .column.is-offset-half-tablet {
-      margin-left: 50%; }
-    .column.is-offset-one-third, .column.is-offset-one-third-tablet {
-      margin-left: 33.3333%; }
-    .column.is-offset-one-quarter, .column.is-offset-one-quarter-tablet {
-      margin-left: 25%; }
-    .column.is-offset-one-fifth, .column.is-offset-one-fifth-tablet {
-      margin-left: 20%; }
-    .column.is-offset-two-fifths, .column.is-offset-two-fifths-tablet {
-      margin-left: 40%; }
-    .column.is-offset-three-fifths, .column.is-offset-three-fifths-tablet {
-      margin-left: 60%; }
-    .column.is-offset-four-fifths, .column.is-offset-four-fifths-tablet {
-      margin-left: 80%; }
-    .column.is-0, .column.is-0-tablet {
-      flex: none;
-      width: 0%; }
-    .column.is-offset-0, .column.is-offset-0-tablet {
-      margin-left: 0%; }
-    .column.is-1, .column.is-1-tablet {
-      flex: none;
-      width: 8.3333333333%; }
-    .column.is-offset-1, .column.is-offset-1-tablet {
-      margin-left: 8.3333333333%; }
-    .column.is-2, .column.is-2-tablet {
-      flex: none;
-      width: 16.6666666667%; }
-    .column.is-offset-2, .column.is-offset-2-tablet {
-      margin-left: 16.6666666667%; }
-    .column.is-3, .column.is-3-tablet {
-      flex: none;
-      width: 25%; }
-    .column.is-offset-3, .column.is-offset-3-tablet {
-      margin-left: 25%; }
-    .column.is-4, .column.is-4-tablet {
-      flex: none;
-      width: 33.3333333333%; }
-    .column.is-offset-4, .column.is-offset-4-tablet {
-      margin-left: 33.3333333333%; }
-    .column.is-5, .column.is-5-tablet {
-      flex: none;
-      width: 41.6666666667%; }
-    .column.is-offset-5, .column.is-offset-5-tablet {
-      margin-left: 41.6666666667%; }
-    .column.is-6, .column.is-6-tablet {
-      flex: none;
-      width: 50%; }
-    .column.is-offset-6, .column.is-offset-6-tablet {
-      margin-left: 50%; }
-    .column.is-7, .column.is-7-tablet {
-      flex: none;
-      width: 58.3333333333%; }
-    .column.is-offset-7, .column.is-offset-7-tablet {
-      margin-left: 58.3333333333%; }
-    .column.is-8, .column.is-8-tablet {
-      flex: none;
-      width: 66.6666666667%; }
-    .column.is-offset-8, .column.is-offset-8-tablet {
-      margin-left: 66.6666666667%; }
-    .column.is-9, .column.is-9-tablet {
-      flex: none;
-      width: 75%; }
-    .column.is-offset-9, .column.is-offset-9-tablet {
-      margin-left: 75%; }
-    .column.is-10, .column.is-10-tablet {
-      flex: none;
-      width: 83.3333333333%; }
-    .column.is-offset-10, .column.is-offset-10-tablet {
-      margin-left: 83.3333333333%; }
-    .column.is-11, .column.is-11-tablet {
-      flex: none;
-      width: 91.6666666667%; }
-    .column.is-offset-11, .column.is-offset-11-tablet {
-      margin-left: 91.6666666667%; }
-    .column.is-12, .column.is-12-tablet {
-      flex: none;
-      width: 100%; }
-    .column.is-offset-12, .column.is-offset-12-tablet {
-      margin-left: 100%; } }
-  @media screen and (max-width: 1055px) {
-    .column.is-narrow-touch {
-      flex: none; }
-    .column.is-full-touch {
-      flex: none;
-      width: 100%; }
-    .column.is-three-quarters-touch {
-      flex: none;
-      width: 75%; }
-    .column.is-two-thirds-touch {
-      flex: none;
-      width: 66.6666%; }
-    .column.is-half-touch {
-      flex: none;
-      width: 50%; }
-    .column.is-one-third-touch {
-      flex: none;
-      width: 33.3333%; }
-    .column.is-one-quarter-touch {
-      flex: none;
-      width: 25%; }
-    .column.is-one-fifth-touch {
-      flex: none;
-      width: 20%; }
-    .column.is-two-fifths-touch {
-      flex: none;
-      width: 40%; }
-    .column.is-three-fifths-touch {
-      flex: none;
-      width: 60%; }
-    .column.is-four-fifths-touch {
-      flex: none;
-      width: 80%; }
-    .column.is-offset-three-quarters-touch {
-      margin-left: 75%; }
-    .column.is-offset-two-thirds-touch {
-      margin-left: 66.6666%; }
-    .column.is-offset-half-touch {
-      margin-left: 50%; }
-    .column.is-offset-one-third-touch {
-      margin-left: 33.3333%; }
-    .column.is-offset-one-quarter-touch {
-      margin-left: 25%; }
-    .column.is-offset-one-fifth-touch {
-      margin-left: 20%; }
-    .column.is-offset-two-fifths-touch {
-      margin-left: 40%; }
-    .column.is-offset-three-fifths-touch {
-      margin-left: 60%; }
-    .column.is-offset-four-fifths-touch {
-      margin-left: 80%; }
-    .column.is-0-touch {
-      flex: none;
-      width: 0%; }
-    .column.is-offset-0-touch {
-      margin-left: 0%; }
-    .column.is-1-touch {
-      flex: none;
-      width: 8.3333333333%; }
-    .column.is-offset-1-touch {
-      margin-left: 8.3333333333%; }
-    .column.is-2-touch {
-      flex: none;
-      width: 16.6666666667%; }
-    .column.is-offset-2-touch {
-      margin-left: 16.6666666667%; }
-    .column.is-3-touch {
-      flex: none;
-      width: 25%; }
-    .column.is-offset-3-touch {
-      margin-left: 25%; }
-    .column.is-4-touch {
-      flex: none;
-      width: 33.3333333333%; }
-    .column.is-offset-4-touch {
-      margin-left: 33.3333333333%; }
-    .column.is-5-touch {
-      flex: none;
-      width: 41.6666666667%; }
-    .column.is-offset-5-touch {
-      margin-left: 41.6666666667%; }
-    .column.is-6-touch {
-      flex: none;
-      width: 50%; }
-    .column.is-offset-6-touch {
-      margin-left: 50%; }
-    .column.is-7-touch {
-      flex: none;
-      width: 58.3333333333%; }
-    .column.is-offset-7-touch {
-      margin-left: 58.3333333333%; }
-    .column.is-8-touch {
-      flex: none;
-      width: 66.6666666667%; }
-    .column.is-offset-8-touch {
-      margin-left: 66.6666666667%; }
-    .column.is-9-touch {
-      flex: none;
-      width: 75%; }
-    .column.is-offset-9-touch {
-      margin-left: 75%; }
-    .column.is-10-touch {
-      flex: none;
-      width: 83.3333333333%; }
-    .column.is-offset-10-touch {
-      margin-left: 83.3333333333%; }
-    .column.is-11-touch {
-      flex: none;
-      width: 91.6666666667%; }
-    .column.is-offset-11-touch {
-      margin-left: 91.6666666667%; }
-    .column.is-12-touch {
-      flex: none;
-      width: 100%; }
-    .column.is-offset-12-touch {
-      margin-left: 100%; } }
-  @media screen and (min-width: 1056px) {
-    .column.is-narrow-desktop {
-      flex: none; }
-    .column.is-full-desktop {
-      flex: none;
-      width: 100%; }
-    .column.is-three-quarters-desktop {
-      flex: none;
-      width: 75%; }
-    .column.is-two-thirds-desktop {
-      flex: none;
-      width: 66.6666%; }
-    .column.is-half-desktop {
-      flex: none;
-      width: 50%; }
-    .column.is-one-third-desktop {
-      flex: none;
-      width: 33.3333%; }
-    .column.is-one-quarter-desktop {
-      flex: none;
-      width: 25%; }
-    .column.is-one-fifth-desktop {
-      flex: none;
-      width: 20%; }
-    .column.is-two-fifths-desktop {
-      flex: none;
-      width: 40%; }
-    .column.is-three-fifths-desktop {
-      flex: none;
-      width: 60%; }
-    .column.is-four-fifths-desktop {
-      flex: none;
-      width: 80%; }
-    .column.is-offset-three-quarters-desktop {
-      margin-left: 75%; }
-    .column.is-offset-two-thirds-desktop {
-      margin-left: 66.6666%; }
-    .column.is-offset-half-desktop {
-      margin-left: 50%; }
-    .column.is-offset-one-third-desktop {
-      margin-left: 33.3333%; }
-    .column.is-offset-one-quarter-desktop {
-      margin-left: 25%; }
-    .column.is-offset-one-fifth-desktop {
-      margin-left: 20%; }
-    .column.is-offset-two-fifths-desktop {
-      margin-left: 40%; }
-    .column.is-offset-three-fifths-desktop {
-      margin-left: 60%; }
-    .column.is-offset-four-fifths-desktop {
-      margin-left: 80%; }
-    .column.is-0-desktop {
-      flex: none;
-      width: 0%; }
-    .column.is-offset-0-desktop {
-      margin-left: 0%; }
-    .column.is-1-desktop {
-      flex: none;
-      width: 8.3333333333%; }
-    .column.is-offset-1-desktop {
-      margin-left: 8.3333333333%; }
-    .column.is-2-desktop {
-      flex: none;
-      width: 16.6666666667%; }
-    .column.is-offset-2-desktop {
-      margin-left: 16.6666666667%; }
-    .column.is-3-desktop {
-      flex: none;
-      width: 25%; }
-    .column.is-offset-3-desktop {
-      margin-left: 25%; }
-    .column.is-4-desktop {
-      flex: none;
-      width: 33.3333333333%; }
-    .column.is-offset-4-desktop {
-      margin-left: 33.3333333333%; }
-    .column.is-5-desktop {
-      flex: none;
-      width: 41.6666666667%; }
-    .column.is-offset-5-desktop {
-      margin-left: 41.6666666667%; }
-    .column.is-6-desktop {
-      flex: none;
-      width: 50%; }
-    .column.is-offset-6-desktop {
-      margin-left: 50%; }
-    .column.is-7-desktop {
-      flex: none;
-      width: 58.3333333333%; }
-    .column.is-offset-7-desktop {
-      margin-left: 58.3333333333%; }
-    .column.is-8-desktop {
-      flex: none;
-      width: 66.6666666667%; }
-    .column.is-offset-8-desktop {
-      margin-left: 66.6666666667%; }
-    .column.is-9-desktop {
-      flex: none;
-      width: 75%; }
-    .column.is-offset-9-desktop {
-      margin-left: 75%; }
-    .column.is-10-desktop {
-      flex: none;
-      width: 83.3333333333%; }
-    .column.is-offset-10-desktop {
-      margin-left: 83.3333333333%; }
-    .column.is-11-desktop {
-      flex: none;
-      width: 91.6666666667%; }
-    .column.is-offset-11-desktop {
-      margin-left: 91.6666666667%; }
-    .column.is-12-desktop {
-      flex: none;
-      width: 100%; }
-    .column.is-offset-12-desktop {
-      margin-left: 100%; } }
-  @media screen and (min-width: 1216px) {
-    .column.is-narrow-widescreen {
-      flex: none; }
-    .column.is-full-widescreen {
-      flex: none;
-      width: 100%; }
-    .column.is-three-quarters-widescreen {
-      flex: none;
-      width: 75%; }
-    .column.is-two-thirds-widescreen {
-      flex: none;
-      width: 66.6666%; }
-    .column.is-half-widescreen {
-      flex: none;
-      width: 50%; }
-    .column.is-one-third-widescreen {
-      flex: none;
-      width: 33.3333%; }
-    .column.is-one-quarter-widescreen {
-      flex: none;
-      width: 25%; }
-    .column.is-one-fifth-widescreen {
-      flex: none;
-      width: 20%; }
-    .column.is-two-fifths-widescreen {
-      flex: none;
-      width: 40%; }
-    .column.is-three-fifths-widescreen {
-      flex: none;
-      width: 60%; }
-    .column.is-four-fifths-widescreen {
-      flex: none;
-      width: 80%; }
-    .column.is-offset-three-quarters-widescreen {
-      margin-left: 75%; }
-    .column.is-offset-two-thirds-widescreen {
-      margin-left: 66.6666%; }
-    .column.is-offset-half-widescreen {
-      margin-left: 50%; }
-    .column.is-offset-one-third-widescreen {
-      margin-left: 33.3333%; }
-    .column.is-offset-one-quarter-widescreen {
-      margin-left: 25%; }
-    .column.is-offset-one-fifth-widescreen {
-      margin-left: 20%; }
-    .column.is-offset-two-fifths-widescreen {
-      margin-left: 40%; }
-    .column.is-offset-three-fifths-widescreen {
-      margin-left: 60%; }
-    .column.is-offset-four-fifths-widescreen {
-      margin-left: 80%; }
-    .column.is-0-widescreen {
-      flex: none;
-      width: 0%; }
-    .column.is-offset-0-widescreen {
-      margin-left: 0%; }
-    .column.is-1-widescreen {
-      flex: none;
-      width: 8.3333333333%; }
-    .column.is-offset-1-widescreen {
-      margin-left: 8.3333333333%; }
-    .column.is-2-widescreen {
-      flex: none;
-      width: 16.6666666667%; }
-    .column.is-offset-2-widescreen {
-      margin-left: 16.6666666667%; }
-    .column.is-3-widescreen {
-      flex: none;
-      width: 25%; }
-    .column.is-offset-3-widescreen {
-      margin-left: 25%; }
-    .column.is-4-widescreen {
-      flex: none;
-      width: 33.3333333333%; }
-    .column.is-offset-4-widescreen {
-      margin-left: 33.3333333333%; }
-    .column.is-5-widescreen {
-      flex: none;
-      width: 41.6666666667%; }
-    .column.is-offset-5-widescreen {
-      margin-left: 41.6666666667%; }
-    .column.is-6-widescreen {
-      flex: none;
-      width: 50%; }
-    .column.is-offset-6-widescreen {
-      margin-left: 50%; }
-    .column.is-7-widescreen {
-      flex: none;
-      width: 58.3333333333%; }
-    .column.is-offset-7-widescreen {
-      margin-left: 58.3333333333%; }
-    .column.is-8-widescreen {
-      flex: none;
-      width: 66.6666666667%; }
-    .column.is-offset-8-widescreen {
-      margin-left: 66.6666666667%; }
-    .column.is-9-widescreen {
-      flex: none;
-      width: 75%; }
-    .column.is-offset-9-widescreen {
-      margin-left: 75%; }
-    .column.is-10-widescreen {
-      flex: none;
-      width: 83.3333333333%; }
-    .column.is-offset-10-widescreen {
-      margin-left: 83.3333333333%; }
-    .column.is-11-widescreen {
-      flex: none;
-      width: 91.6666666667%; }
-    .column.is-offset-11-widescreen {
-      margin-left: 91.6666666667%; }
-    .column.is-12-widescreen {
-      flex: none;
-      width: 100%; }
-    .column.is-offset-12-widescreen {
-      margin-left: 100%; } }
-  @media screen and (min-width: 1408px) {
-    .column.is-narrow-fullhd {
-      flex: none; }
-    .column.is-full-fullhd {
-      flex: none;
-      width: 100%; }
-    .column.is-three-quarters-fullhd {
-      flex: none;
-      width: 75%; }
-    .column.is-two-thirds-fullhd {
-      flex: none;
-      width: 66.6666%; }
-    .column.is-half-fullhd {
-      flex: none;
-      width: 50%; }
-    .column.is-one-third-fullhd {
-      flex: none;
-      width: 33.3333%; }
-    .column.is-one-quarter-fullhd {
-      flex: none;
-      width: 25%; }
-    .column.is-one-fifth-fullhd {
-      flex: none;
-      width: 20%; }
-    .column.is-two-fifths-fullhd {
-      flex: none;
-      width: 40%; }
-    .column.is-three-fifths-fullhd {
-      flex: none;
-      width: 60%; }
-    .column.is-four-fifths-fullhd {
-      flex: none;
-      width: 80%; }
-    .column.is-offset-three-quarters-fullhd {
-      margin-left: 75%; }
-    .column.is-offset-two-thirds-fullhd {
-      margin-left: 66.6666%; }
-    .column.is-offset-half-fullhd {
-      margin-left: 50%; }
-    .column.is-offset-one-third-fullhd {
-      margin-left: 33.3333%; }
-    .column.is-offset-one-quarter-fullhd {
-      margin-left: 25%; }
-    .column.is-offset-one-fifth-fullhd {
-      margin-left: 20%; }
-    .column.is-offset-two-fifths-fullhd {
-      margin-left: 40%; }
-    .column.is-offset-three-fifths-fullhd {
-      margin-left: 60%; }
-    .column.is-offset-four-fifths-fullhd {
-      margin-left: 80%; }
-    .column.is-0-fullhd {
-      flex: none;
-      width: 0%; }
-    .column.is-offset-0-fullhd {
-      margin-left: 0%; }
-    .column.is-1-fullhd {
-      flex: none;
-      width: 8.3333333333%; }
-    .column.is-offset-1-fullhd {
-      margin-left: 8.3333333333%; }
-    .column.is-2-fullhd {
-      flex: none;
-      width: 16.6666666667%; }
-    .column.is-offset-2-fullhd {
-      margin-left: 16.6666666667%; }
-    .column.is-3-fullhd {
-      flex: none;
-      width: 25%; }
-    .column.is-offset-3-fullhd {
-      margin-left: 25%; }
-    .column.is-4-fullhd {
-      flex: none;
-      width: 33.3333333333%; }
-    .column.is-offset-4-fullhd {
-      margin-left: 33.3333333333%; }
-    .column.is-5-fullhd {
-      flex: none;
-      width: 41.6666666667%; }
-    .column.is-offset-5-fullhd {
-      margin-left: 41.6666666667%; }
-    .column.is-6-fullhd {
-      flex: none;
-      width: 50%; }
-    .column.is-offset-6-fullhd {
-      margin-left: 50%; }
-    .column.is-7-fullhd {
-      flex: none;
-      width: 58.3333333333%; }
-    .column.is-offset-7-fullhd {
-      margin-left: 58.3333333333%; }
-    .column.is-8-fullhd {
-      flex: none;
-      width: 66.6666666667%; }
-    .column.is-offset-8-fullhd {
-      margin-left: 66.6666666667%; }
-    .column.is-9-fullhd {
-      flex: none;
-      width: 75%; }
-    .column.is-offset-9-fullhd {
-      margin-left: 75%; }
-    .column.is-10-fullhd {
-      flex: none;
-      width: 83.3333333333%; }
-    .column.is-offset-10-fullhd {
-      margin-left: 83.3333333333%; }
-    .column.is-11-fullhd {
-      flex: none;
-      width: 91.6666666667%; }
-    .column.is-offset-11-fullhd {
-      margin-left: 91.6666666667%; }
-    .column.is-12-fullhd {
-      flex: none;
-      width: 100%; }
-    .column.is-offset-12-fullhd {
-      margin-left: 100%; } }
-.columns {
-  margin-left: -0.75rem;
-  margin-right: -0.75rem;
-  margin-top: -0.75rem; }
-  .columns:last-child {
-    margin-bottom: -0.75rem; }
-  .columns:not(:last-child) {
-    margin-bottom: calc(1.5rem - 0.75rem); }
-  .columns.is-centered {
-    justify-content: center; }
-  .columns.is-gapless {
-    margin-left: 0;
-    margin-right: 0;
-    margin-top: 0; }
-    .columns.is-gapless > .column {
-      margin: 0;
-      padding: 0 !important; }
-    .columns.is-gapless:not(:last-child) {
-      margin-bottom: 1.5rem; }
-    .columns.is-gapless:last-child {
-      margin-bottom: 0; }
-  .columns.is-mobile {
-    display: flex; }
-  .columns.is-multiline {
-    flex-wrap: wrap; }
-  .columns.is-vcentered {
-    align-items: center; }
-  @media screen and (min-width: 769px), print {
-    .columns:not(.is-desktop) {
-      display: flex; } }
-  @media screen and (min-width: 1056px) {
-    .columns.is-desktop {
-      display: flex; } }
-.columns.is-variable {
-  --columnGap: 0.75rem;
-  margin-left: calc(-1 * var(--columnGap));
-  margin-right: calc(-1 * var(--columnGap)); }
-  .columns.is-variable .column {
-    padding-left: var(--columnGap);
-    padding-right: var(--columnGap); }
-  .columns.is-variable.is-0 {
-    --columnGap: 0rem; }
-  @media screen and (max-width: 768px) {
-    .columns.is-variable.is-0-mobile {
-      --columnGap: 0rem; } }
-  @media screen and (min-width: 769px), print {
-    .columns.is-variable.is-0-tablet {
-      --columnGap: 0rem; } }
-  @media screen and (min-width: 769px) and (max-width: 1055px) {
-    .columns.is-variable.is-0-tablet-only {
-      --columnGap: 0rem; } }
-  @media screen and (max-width: 1055px) {
-    .columns.is-variable.is-0-touch {
-      --columnGap: 0rem; } }
-  @media screen and (min-width: 1056px) {
-    .columns.is-variable.is-0-desktop {
-      --columnGap: 0rem; } }
-  @media screen and (min-width: 1056px) and (max-width: 1215px) {
-    .columns.is-variable.is-0-desktop-only {
-      --columnGap: 0rem; } }
-  @media screen and (min-width: 1216px) {
-    .columns.is-variable.is-0-widescreen {
-      --columnGap: 0rem; } }
-  @media screen and (min-width: 1216px) and (max-width: 1407px) {
-    .columns.is-variable.is-0-widescreen-only {
-      --columnGap: 0rem; } }
-  @media screen and (min-width: 1408px) {
-    .columns.is-variable.is-0-fullhd {
-      --columnGap: 0rem; } }
-  .columns.is-variable.is-1 {
-    --columnGap: 0.25rem; }
-  @media screen and (max-width: 768px) {
-    .columns.is-variable.is-1-mobile {
-      --columnGap: 0.25rem; } }
-  @media screen and (min-width: 769px), print {
-    .columns.is-variable.is-1-tablet {
-      --columnGap: 0.25rem; } }
-  @media screen and (min-width: 769px) and (max-width: 1055px) {
-    .columns.is-variable.is-1-tablet-only {
-      --columnGap: 0.25rem; } }
-  @media screen and (max-width: 1055px) {
-    .columns.is-variable.is-1-touch {
-      --columnGap: 0.25rem; } }
-  @media screen and (min-width: 1056px) {
-    .columns.is-variable.is-1-desktop {
-      --columnGap: 0.25rem; } }
-  @media screen and (min-width: 1056px) and (max-width: 1215px) {
-    .columns.is-variable.is-1-desktop-only {
-      --columnGap: 0.25rem; } }
-  @media screen and (min-width: 1216px) {
-    .columns.is-variable.is-1-widescreen {
-      --columnGap: 0.25rem; } }
-  @media screen and (min-width: 1216px) and (max-width: 1407px) {
-    .columns.is-variable.is-1-widescreen-only {
-      --columnGap: 0.25rem; } }
-  @media screen and (min-width: 1408px) {
-    .columns.is-variable.is-1-fullhd {
-      --columnGap: 0.25rem; } }
-  .columns.is-variable.is-2 {
-    --columnGap: 0.5rem; }
-  @media screen and (max-width: 768px) {
-    .columns.is-variable.is-2-mobile {
-      --columnGap: 0.5rem; } }
-  @media screen and (min-width: 769px), print {
-    .columns.is-variable.is-2-tablet {
-      --columnGap: 0.5rem; } }
-  @media screen and (min-width: 769px) and (max-width: 1055px) {
-    .columns.is-variable.is-2-tablet-only {
-      --columnGap: 0.5rem; } }
-  @media screen and (max-width: 1055px) {
-    .columns.is-variable.is-2-touch {
-      --columnGap: 0.5rem; } }
-  @media screen and (min-width: 1056px) {
-    .columns.is-variable.is-2-desktop {
-      --columnGap: 0.5rem; } }
-  @media screen and (min-width: 1056px) and (max-width: 1215px) {
-    .columns.is-variable.is-2-desktop-only {
-      --columnGap: 0.5rem; } }
-  @media screen and (min-width: 1216px) {
-    .columns.is-variable.is-2-widescreen {
-      --columnGap: 0.5rem; } }
-  @media screen and (min-width: 1216px) and (max-width: 1407px) {
-    .columns.is-variable.is-2-widescreen-only {
-      --columnGap: 0.5rem; } }
-  @media screen and (min-width: 1408px) {
-    .columns.is-variable.is-2-fullhd {
-      --columnGap: 0.5rem; } }
-  .columns.is-variable.is-3 {
-    --columnGap: 0.75rem; }
-  @media screen and (max-width: 768px) {
-    .columns.is-variable.is-3-mobile {
-      --columnGap: 0.75rem; } }
-  @media screen and (min-width: 769px), print {
-    .columns.is-variable.is-3-tablet {
-      --columnGap: 0.75rem; } }
-  @media screen and (min-width: 769px) and (max-width: 1055px) {
-    .columns.is-variable.is-3-tablet-only {
-      --columnGap: 0.75rem; } }
-  @media screen and (max-width: 1055px) {
-    .columns.is-variable.is-3-touch {
-      --columnGap: 0.75rem; } }
-  @media screen and (min-width: 1056px) {
-    .columns.is-variable.is-3-desktop {
-      --columnGap: 0.75rem; } }
-  @media screen and (min-width: 1056px) and (max-width: 1215px) {
-    .columns.is-variable.is-3-desktop-only {
-      --columnGap: 0.75rem; } }
-  @media screen and (min-width: 1216px) {
-    .columns.is-variable.is-3-widescreen {
-      --columnGap: 0.75rem; } }
-  @media screen and (min-width: 1216px) and (max-width: 1407px) {
-    .columns.is-variable.is-3-widescreen-only {
-      --columnGap: 0.75rem; } }
-  @media screen and (min-width: 1408px) {
-    .columns.is-variable.is-3-fullhd {
-      --columnGap: 0.75rem; } }
-  .columns.is-variable.is-4 {
-    --columnGap: 1rem; }
-  @media screen and (max-width: 768px) {
-    .columns.is-variable.is-4-mobile {
-      --columnGap: 1rem; } }
-  @media screen and (min-width: 769px), print {
-    .columns.is-variable.is-4-tablet {
-      --columnGap: 1rem; } }
-  @media screen and (min-width: 769px) and (max-width: 1055px) {
-    .columns.is-variable.is-4-tablet-only {
-      --columnGap: 1rem; } }
-  @media screen and (max-width: 1055px) {
-    .columns.is-variable.is-4-touch {
-      --columnGap: 1rem; } }
-  @media screen and (min-width: 1056px) {
-    .columns.is-variable.is-4-desktop {
-      --columnGap: 1rem; } }
-  @media screen and (min-width: 1056px) and (max-width: 1215px) {
-    .columns.is-variable.is-4-desktop-only {
-      --columnGap: 1rem; } }
-  @media screen and (min-width: 1216px) {
-    .columns.is-variable.is-4-widescreen {
-      --columnGap: 1rem; } }
-  @media screen and (min-width: 1216px) and (max-width: 1407px) {
-    .columns.is-variable.is-4-widescreen-only {
-      --columnGap: 1rem; } }
-  @media screen and (min-width: 1408px) {
-    .columns.is-variable.is-4-fullhd {
-      --columnGap: 1rem; } }
-  .columns.is-variable.is-5 {
-    --columnGap: 1.25rem; }
-  @media screen and (max-width: 768px) {
-    .columns.is-variable.is-5-mobile {
-      --columnGap: 1.25rem; } }
-  @media screen and (min-width: 769px), print {
-    .columns.is-variable.is-5-tablet {
-      --columnGap: 1.25rem; } }
-  @media screen and (min-width: 769px) and (max-width: 1055px) {
-    .columns.is-variable.is-5-tablet-only {
-      --columnGap: 1.25rem; } }
-  @media screen and (max-width: 1055px) {
-    .columns.is-variable.is-5-touch {
-      --columnGap: 1.25rem; } }
-  @media screen and (min-width: 1056px) {
-    .columns.is-variable.is-5-desktop {
-      --columnGap: 1.25rem; } }
-  @media screen and (min-width: 1056px) and (max-width: 1215px) {
-    .columns.is-variable.is-5-desktop-only {
-      --columnGap: 1.25rem; } }
-  @media screen and (min-width: 1216px) {
-    .columns.is-variable.is-5-widescreen {
-      --columnGap: 1.25rem; } }
-  @media screen and (min-width: 1216px) and (max-width: 1407px) {
-    .columns.is-variable.is-5-widescreen-only {
-      --columnGap: 1.25rem; } }
-  @media screen and (min-width: 1408px) {
-    .columns.is-variable.is-5-fullhd {
-      --columnGap: 1.25rem; } }
-  .columns.is-variable.is-6 {
-    --columnGap: 1.5rem; }
-  @media screen and (max-width: 768px) {
-    .columns.is-variable.is-6-mobile {
-      --columnGap: 1.5rem; } }
-  @media screen and (min-width: 769px), print {
-    .columns.is-variable.is-6-tablet {
-      --columnGap: 1.5rem; } }
-  @media screen and (min-width: 769px) and (max-width: 1055px) {
-    .columns.is-variable.is-6-tablet-only {
-      --columnGap: 1.5rem; } }
-  @media screen and (max-width: 1055px) {
-    .columns.is-variable.is-6-touch {
-      --columnGap: 1.5rem; } }
-  @media screen and (min-width: 1056px) {
-    .columns.is-variable.is-6-desktop {
-      --columnGap: 1.5rem; } }
-  @media screen and (min-width: 1056px) and (max-width: 1215px) {
-    .columns.is-variable.is-6-desktop-only {
-      --columnGap: 1.5rem; } }
-  @media screen and (min-width: 1216px) {
-    .columns.is-variable.is-6-widescreen {
-      --columnGap: 1.5rem; } }
-  @media screen and (min-width: 1216px) and (max-width: 1407px) {
-    .columns.is-variable.is-6-widescreen-only {
-      --columnGap: 1.5rem; } }
-  @media screen and (min-width: 1408px) {
-    .columns.is-variable.is-6-fullhd {
-      --columnGap: 1.5rem; } }
-  .columns.is-variable.is-7 {
-    --columnGap: 1.75rem; }
-  @media screen and (max-width: 768px) {
-    .columns.is-variable.is-7-mobile {
-      --columnGap: 1.75rem; } }
-  @media screen and (min-width: 769px), print {
-    .columns.is-variable.is-7-tablet {
-      --columnGap: 1.75rem; } }
-  @media screen and (min-width: 769px) and (max-width: 1055px) {
-    .columns.is-variable.is-7-tablet-only {
-      --columnGap: 1.75rem; } }
-  @media screen and (max-width: 1055px) {
-    .columns.is-variable.is-7-touch {
-      --columnGap: 1.75rem; } }
-  @media screen and (min-width: 1056px) {
-    .columns.is-variable.is-7-desktop {
-      --columnGap: 1.75rem; } }
-  @media screen and (min-width: 1056px) and (max-width: 1215px) {
-    .columns.is-variable.is-7-desktop-only {
-      --columnGap: 1.75rem; } }
-  @media screen and (min-width: 1216px) {
-    .columns.is-variable.is-7-widescreen {
-      --columnGap: 1.75rem; } }
-  @media screen and (min-width: 1216px) and (max-width: 1407px) {
-    .columns.is-variable.is-7-widescreen-only {
-      --columnGap: 1.75rem; } }
-  @media screen and (min-width: 1408px) {
-    .columns.is-variable.is-7-fullhd {
-      --columnGap: 1.75rem; } }
-  .columns.is-variable.is-8 {
-    --columnGap: 2rem; }
-  @media screen and (max-width: 768px) {
-    .columns.is-variable.is-8-mobile {
-      --columnGap: 2rem; } }
-  @media screen and (min-width: 769px), print {
-    .columns.is-variable.is-8-tablet {
-      --columnGap: 2rem; } }
-  @media screen and (min-width: 769px) and (max-width: 1055px) {
-    .columns.is-variable.is-8-tablet-only {
-      --columnGap: 2rem; } }
-  @media screen and (max-width: 1055px) {
-    .columns.is-variable.is-8-touch {
-      --columnGap: 2rem; } }
-  @media screen and (min-width: 1056px) {
-    .columns.is-variable.is-8-desktop {
-      --columnGap: 2rem; } }
-  @media screen and (min-width: 1056px) and (max-width: 1215px) {
-    .columns.is-variable.is-8-desktop-only {
-      --columnGap: 2rem; } }
-  @media screen and (min-width: 1216px) {
-    .columns.is-variable.is-8-widescreen {
-      --columnGap: 2rem; } }
-  @media screen and (min-width: 1216px) and (max-width: 1407px) {
-    .columns.is-variable.is-8-widescreen-only {
-      --columnGap: 2rem; } }
-  @media screen and (min-width: 1408px) {
-    .columns.is-variable.is-8-fullhd {
-      --columnGap: 2rem; } }
-.tile {
-  align-items: stretch;
-  display: block;
-  flex-basis: 0;
-  flex-grow: 1;
-  flex-shrink: 1;
-  min-height: min-content; }
-  .tile.is-ancestor {
-    margin-left: -0.75rem;
-    margin-right: -0.75rem;
-    margin-top: -0.75rem; }
-    .tile.is-ancestor:last-child {
-      margin-bottom: -0.75rem; }
-    .tile.is-ancestor:not(:last-child) {
-      margin-bottom: 0.75rem; }
-  .tile.is-child {
-    margin: 0 !important; }
-  .tile.is-parent {
-    padding: 0.75rem; }
-  .tile.is-vertical {
-    flex-direction: column; }
-    .tile.is-vertical > .tile.is-child:not(:last-child) {
-      margin-bottom: 1.5rem !important; }
-  @media screen and (min-width: 769px), print {
-    .tile:not(.is-child) {
-      display: flex; }
-    .tile.is-1 {
-      flex: none;
-      width: 8.3333333333%; }
-    .tile.is-2 {
-      flex: none;
-      width: 16.6666666667%; }
-    .tile.is-3 {
-      flex: none;
-      width: 25%; }
-    .tile.is-4 {
-      flex: none;
-      width: 33.3333333333%; }
-    .tile.is-5 {
-      flex: none;
-      width: 41.6666666667%; }
-    .tile.is-6 {
-      flex: none;
-      width: 50%; }
-    .tile.is-7 {
-      flex: none;
-      width: 58.3333333333%; }
-    .tile.is-8 {
-      flex: none;
-      width: 66.6666666667%; }
-    .tile.is-9 {
-      flex: none;
-      width: 75%; }
-    .tile.is-10 {
-      flex: none;
-      width: 83.3333333333%; }
-    .tile.is-11 {
-      flex: none;
-      width: 91.6666666667%; }
-    .tile.is-12 {
-      flex: none;
-      width: 100%; } }
-.hero {
-  align-items: stretch;
-  display: flex;
-  flex-direction: column;
-  justify-content: space-between; }
-  .hero .navbar {
-    background: none; }
-  .hero .tabs ul {
-    border-bottom: none; }
-  .hero.is-white {
-    background-color: white;
-    color: #0a0a0a; }
-    .hero.is-white a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-    .hero.is-white strong {
-      color: inherit; }
-    .hero.is-white .title {
-      color: #0a0a0a; }
-    .hero.is-white .subtitle {
-      color: rgba(10, 10, 10, 0.9); }
-      .hero.is-white .subtitle a:not(.button),
-      .hero.is-white .subtitle strong {
-        color: #0a0a0a; }
-    @media screen and (max-width: 1055px) {
-      .hero.is-white .navbar-menu {
-        background-color: white; } }
-    .hero.is-white .navbar-item,
-    .hero.is-white .navbar-link {
-      color: rgba(10, 10, 10, 0.7); }
-    .hero.is-white a.navbar-item:hover, .hero.is-white a.navbar-item.is-active,
-    .hero.is-white .navbar-link:hover,
-    .hero.is-white .navbar-link.is-active {
-      background-color: #f2f2f2;
-      color: #0a0a0a; }
-    .hero.is-white .tabs a {
-      color: #0a0a0a;
-      opacity: 0.9; }
-      .hero.is-white .tabs a:hover {
-        opacity: 1; }
-    .hero.is-white .tabs li.is-active a {
-      opacity: 1; }
-    .hero.is-white .tabs.is-boxed a, .hero.is-white .tabs.is-toggle a {
-      color: #0a0a0a; }
-      .hero.is-white .tabs.is-boxed a:hover, .hero.is-white .tabs.is-toggle a:hover {
-        background-color: rgba(10, 10, 10, 0.1); }
-    .hero.is-white .tabs.is-boxed li.is-active a, .hero.is-white .tabs.is-boxed li.is-active a:hover, .hero.is-white .tabs.is-toggle li.is-active a, .hero.is-white .tabs.is-toggle li.is-active a:hover {
-      background-color: #0a0a0a;
-      border-color: #0a0a0a;
-      color: white; }
-    .hero.is-white.is-bold {
-      background-image: linear-gradient(141deg, #e8e3e4 0%, white 71%, white 100%); }
-      @media screen and (max-width: 768px) {
-        .hero.is-white.is-bold .navbar-menu {
-          background-image: linear-gradient(141deg, #e8e3e4 0%, white 71%, white 100%); } }
-  .hero.is-black {
-    background-color: #0a0a0a;
-    color: white; }
-    .hero.is-black a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-    .hero.is-black strong {
-      color: inherit; }
-    .hero.is-black .title {
-      color: white; }
-    .hero.is-black .subtitle {
-      color: rgba(255, 255, 255, 0.9); }
-      .hero.is-black .subtitle a:not(.button),
-      .hero.is-black .subtitle strong {
-        color: white; }
-    @media screen and (max-width: 1055px) {
-      .hero.is-black .navbar-menu {
-        background-color: #0a0a0a; } }
-    .hero.is-black .navbar-item,
-    .hero.is-black .navbar-link {
-      color: rgba(255, 255, 255, 0.7); }
-    .hero.is-black a.navbar-item:hover, .hero.is-black a.navbar-item.is-active,
-    .hero.is-black .navbar-link:hover,
-    .hero.is-black .navbar-link.is-active {
-      background-color: black;
-      color: white; }
-    .hero.is-black .tabs a {
-      color: white;
-      opacity: 0.9; }
-      .hero.is-black .tabs a:hover {
-        opacity: 1; }
-    .hero.is-black .tabs li.is-active a {
-      opacity: 1; }
-    .hero.is-black .tabs.is-boxed a, .hero.is-black .tabs.is-toggle a {
-      color: white; }
-      .hero.is-black .tabs.is-boxed a:hover, .hero.is-black .tabs.is-toggle a:hover {
-        background-color: rgba(10, 10, 10, 0.1); }
-    .hero.is-black .tabs.is-boxed li.is-active a, .hero.is-black .tabs.is-boxed li.is-active a:hover, .hero.is-black .tabs.is-toggle li.is-active a, .hero.is-black .tabs.is-toggle li.is-active a:hover {
-      background-color: white;
-      border-color: white;
-      color: #0a0a0a; }
-    .hero.is-black.is-bold {
-      background-image: linear-gradient(141deg, black 0%, #0a0a0a 71%, #181616 100%); }
-      @media screen and (max-width: 768px) {
-        .hero.is-black.is-bold .navbar-menu {
-          background-image: linear-gradient(141deg, black 0%, #0a0a0a 71%, #181616 100%); } }
-  .hero.is-light {
-    background-color: whitesmoke;
-    color: #363636; }
-    .hero.is-light a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-    .hero.is-light strong {
-      color: inherit; }
-    .hero.is-light .title {
-      color: #363636; }
-    .hero.is-light .subtitle {
-      color: rgba(54, 54, 54, 0.9); }
-      .hero.is-light .subtitle a:not(.button),
-      .hero.is-light .subtitle strong {
-        color: #363636; }
-    @media screen and (max-width: 1055px) {
-      .hero.is-light .navbar-menu {
-        background-color: whitesmoke; } }
-    .hero.is-light .navbar-item,
-    .hero.is-light .navbar-link {
-      color: rgba(54, 54, 54, 0.7); }
-    .hero.is-light a.navbar-item:hover, .hero.is-light a.navbar-item.is-active,
-    .hero.is-light .navbar-link:hover,
-    .hero.is-light .navbar-link.is-active {
-      background-color: #e8e8e8;
-      color: #363636; }
-    .hero.is-light .tabs a {
-      color: #363636;
-      opacity: 0.9; }
-      .hero.is-light .tabs a:hover {
-        opacity: 1; }
-    .hero.is-light .tabs li.is-active a {
-      opacity: 1; }
-    .hero.is-light .tabs.is-boxed a, .hero.is-light .tabs.is-toggle a {
-      color: #363636; }
-      .hero.is-light .tabs.is-boxed a:hover, .hero.is-light .tabs.is-toggle a:hover {
-        background-color: rgba(10, 10, 10, 0.1); }
-    .hero.is-light .tabs.is-boxed li.is-active a, .hero.is-light .tabs.is-boxed li.is-active a:hover, .hero.is-light .tabs.is-toggle li.is-active a, .hero.is-light .tabs.is-toggle li.is-active a:hover {
-      background-color: #363636;
-      border-color: #363636;
-      color: whitesmoke; }
-    .hero.is-light.is-bold {
-      background-image: linear-gradient(141deg, #dfd8d9 0%, whitesmoke 71%, white 100%); }
-      @media screen and (max-width: 768px) {
-        .hero.is-light.is-bold .navbar-menu {
-          background-image: linear-gradient(141deg, #dfd8d9 0%, whitesmoke 71%, white 100%); } }
-  .hero.is-dark, .content kbd.hero {
-    background-color: #363636;
-    color: whitesmoke; }
-    .hero.is-dark a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), .content kbd.hero a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-    .hero.is-dark strong,
-    .content kbd.hero strong {
-      color: inherit; }
-    .hero.is-dark .title, .content kbd.hero .title {
-      color: whitesmoke; }
-    .hero.is-dark .subtitle, .content kbd.hero .subtitle {
-      color: rgba(245, 245, 245, 0.9); }
-      .hero.is-dark .subtitle a:not(.button), .content kbd.hero .subtitle a:not(.button),
-      .hero.is-dark .subtitle strong,
-      .content kbd.hero .subtitle strong {
-        color: whitesmoke; }
-    @media screen and (max-width: 1055px) {
-      .hero.is-dark .navbar-menu, .content kbd.hero .navbar-menu {
-        background-color: #363636; } }
-    .hero.is-dark .navbar-item, .content kbd.hero .navbar-item,
-    .hero.is-dark .navbar-link,
-    .content kbd.hero .navbar-link {
-      color: rgba(245, 245, 245, 0.7); }
-    .hero.is-dark a.navbar-item:hover, .content kbd.hero a.navbar-item:hover, .hero.is-dark a.navbar-item.is-active, .content kbd.hero a.navbar-item.is-active,
-    .hero.is-dark .navbar-link:hover,
-    .content kbd.hero .navbar-link:hover,
-    .hero.is-dark .navbar-link.is-active,
-    .content kbd.hero .navbar-link.is-active {
-      background-color: #292929;
-      color: whitesmoke; }
-    .hero.is-dark .tabs a, .content kbd.hero .tabs a {
-      color: whitesmoke;
-      opacity: 0.9; }
-      .hero.is-dark .tabs a:hover, .content kbd.hero .tabs a:hover {
-        opacity: 1; }
-    .hero.is-dark .tabs li.is-active a, .content kbd.hero .tabs li.is-active a {
-      opacity: 1; }
-    .hero.is-dark .tabs.is-boxed a, .content kbd.hero .tabs.is-boxed a, .hero.is-dark .tabs.is-toggle a, .content kbd.hero .tabs.is-toggle a {
-      color: whitesmoke; }
-      .hero.is-dark .tabs.is-boxed a:hover, .content kbd.hero .tabs.is-boxed a:hover, .hero.is-dark .tabs.is-toggle a:hover, .content kbd.hero .tabs.is-toggle a:hover {
-        background-color: rgba(10, 10, 10, 0.1); }
-    .hero.is-dark .tabs.is-boxed li.is-active a, .content kbd.hero .tabs.is-boxed li.is-active a, .hero.is-dark .tabs.is-boxed li.is-active a:hover, .hero.is-dark .tabs.is-toggle li.is-active a, .content kbd.hero .tabs.is-toggle li.is-active a, .hero.is-dark .tabs.is-toggle li.is-active a:hover {
-      background-color: whitesmoke;
-      border-color: whitesmoke;
-      color: #363636; }
-    .hero.is-dark.is-bold, .content kbd.hero.is-bold {
-      background-image: linear-gradient(141deg, #1f191a 0%, #363636 71%, #46403f 100%); }
-      @media screen and (max-width: 768px) {
-        .hero.is-dark.is-bold .navbar-menu, .content kbd.hero.is-bold .navbar-menu {
-          background-image: linear-gradient(141deg, #1f191a 0%, #363636 71%, #46403f 100%); } }
-  .hero.is-primary, .docstring > section > a.hero.docs-sourcelink {
-    background-color: #4eb5de;
-    color: #fff; }
-    .hero.is-primary a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), .docstring > section > a.hero.docs-sourcelink a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-    .hero.is-primary strong,
-    .docstring > section > a.hero.docs-sourcelink strong {
-      color: inherit; }
-    .hero.is-primary .title, .docstring > section > a.hero.docs-sourcelink .title {
-      color: #fff; }
-    .hero.is-primary .subtitle, .docstring > section > a.hero.docs-sourcelink .subtitle {
-      color: rgba(255, 255, 255, 0.9); }
-      .hero.is-primary .subtitle a:not(.button), .docstring > section > a.hero.docs-sourcelink .subtitle a:not(.button),
-      .hero.is-primary .subtitle strong,
-      .docstring > section > a.hero.docs-sourcelink .subtitle strong {
-        color: #fff; }
-    @media screen and (max-width: 1055px) {
-      .hero.is-primary .navbar-menu, .docstring > section > a.hero.docs-sourcelink .navbar-menu {
-        background-color: #4eb5de; } }
-    .hero.is-primary .navbar-item, .docstring > section > a.hero.docs-sourcelink .navbar-item,
-    .hero.is-primary .navbar-link,
-    .docstring > section > a.hero.docs-sourcelink .navbar-link {
-      color: rgba(255, 255, 255, 0.7); }
-    .hero.is-primary a.navbar-item:hover, .docstring > section > a.hero.docs-sourcelink a.navbar-item:hover, .hero.is-primary a.navbar-item.is-active, .docstring > section > a.hero.docs-sourcelink a.navbar-item.is-active,
-    .hero.is-primary .navbar-link:hover,
-    .docstring > section > a.hero.docs-sourcelink .navbar-link:hover,
-    .hero.is-primary .navbar-link.is-active,
-    .docstring > section > a.hero.docs-sourcelink .navbar-link.is-active {
-      background-color: #39acda;
-      color: #fff; }
-    .hero.is-primary .tabs a, .docstring > section > a.hero.docs-sourcelink .tabs a {
-      color: #fff;
-      opacity: 0.9; }
-      .hero.is-primary .tabs a:hover, .docstring > section > a.hero.docs-sourcelink .tabs a:hover {
-        opacity: 1; }
-    .hero.is-primary .tabs li.is-active a, .docstring > section > a.hero.docs-sourcelink .tabs li.is-active a {
-      opacity: 1; }
-    .hero.is-primary .tabs.is-boxed a, .docstring > section > a.hero.docs-sourcelink .tabs.is-boxed a, .hero.is-primary .tabs.is-toggle a, .docstring > section > a.hero.docs-sourcelink .tabs.is-toggle a {
-      color: #fff; }
-      .hero.is-primary .tabs.is-boxed a:hover, .docstring > section > a.hero.docs-sourcelink .tabs.is-boxed a:hover, .hero.is-primary .tabs.is-toggle a:hover, .docstring > section > a.hero.docs-sourcelink .tabs.is-toggle a:hover {
-        background-color: rgba(10, 10, 10, 0.1); }
-    .hero.is-primary .tabs.is-boxed li.is-active a, .docstring > section > a.hero.docs-sourcelink .tabs.is-boxed li.is-active a, .hero.is-primary .tabs.is-boxed li.is-active a:hover, .hero.is-primary .tabs.is-toggle li.is-active a, .docstring > section > a.hero.docs-sourcelink .tabs.is-toggle li.is-active a, .hero.is-primary .tabs.is-toggle li.is-active a:hover {
-      background-color: #fff;
-      border-color: #fff;
-      color: #4eb5de; }
-    .hero.is-primary.is-bold, .docstring > section > a.hero.is-bold.docs-sourcelink {
-      background-image: linear-gradient(141deg, #1bc7de 0%, #4eb5de 71%, #5fa9e7 100%); }
-      @media screen and (max-width: 768px) {
-        .hero.is-primary.is-bold .navbar-menu, .docstring > section > a.hero.is-bold.docs-sourcelink .navbar-menu {
-          background-image: linear-gradient(141deg, #1bc7de 0%, #4eb5de 71%, #5fa9e7 100%); } }
-  .hero.is-link {
-    background-color: #2e63b8;
-    color: #fff; }
-    .hero.is-link a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-    .hero.is-link strong {
-      color: inherit; }
-    .hero.is-link .title {
-      color: #fff; }
-    .hero.is-link .subtitle {
-      color: rgba(255, 255, 255, 0.9); }
-      .hero.is-link .subtitle a:not(.button),
-      .hero.is-link .subtitle strong {
-        color: #fff; }
-    @media screen and (max-width: 1055px) {
-      .hero.is-link .navbar-menu {
-        background-color: #2e63b8; } }
-    .hero.is-link .navbar-item,
-    .hero.is-link .navbar-link {
-      color: rgba(255, 255, 255, 0.7); }
-    .hero.is-link a.navbar-item:hover, .hero.is-link a.navbar-item.is-active,
-    .hero.is-link .navbar-link:hover,
-    .hero.is-link .navbar-link.is-active {
-      background-color: #2958a4;
-      color: #fff; }
-    .hero.is-link .tabs a {
-      color: #fff;
-      opacity: 0.9; }
-      .hero.is-link .tabs a:hover {
-        opacity: 1; }
-    .hero.is-link .tabs li.is-active a {
-      opacity: 1; }
-    .hero.is-link .tabs.is-boxed a, .hero.is-link .tabs.is-toggle a {
-      color: #fff; }
-      .hero.is-link .tabs.is-boxed a:hover, .hero.is-link .tabs.is-toggle a:hover {
-        background-color: rgba(10, 10, 10, 0.1); }
-    .hero.is-link .tabs.is-boxed li.is-active a, .hero.is-link .tabs.is-boxed li.is-active a:hover, .hero.is-link .tabs.is-toggle li.is-active a, .hero.is-link .tabs.is-toggle li.is-active a:hover {
-      background-color: #fff;
-      border-color: #fff;
-      color: #2e63b8; }
-    .hero.is-link.is-bold {
-      background-image: linear-gradient(141deg, #1b6098 0%, #2e63b8 71%, #2d51d2 100%); }
-      @media screen and (max-width: 768px) {
-        .hero.is-link.is-bold .navbar-menu {
-          background-image: linear-gradient(141deg, #1b6098 0%, #2e63b8 71%, #2d51d2 100%); } }
-  .hero.is-info {
-    background-color: #209cee;
-    color: #fff; }
-    .hero.is-info a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-    .hero.is-info strong {
-      color: inherit; }
-    .hero.is-info .title {
-      color: #fff; }
-    .hero.is-info .subtitle {
-      color: rgba(255, 255, 255, 0.9); }
-      .hero.is-info .subtitle a:not(.button),
-      .hero.is-info .subtitle strong {
-        color: #fff; }
-    @media screen and (max-width: 1055px) {
-      .hero.is-info .navbar-menu {
-        background-color: #209cee; } }
-    .hero.is-info .navbar-item,
-    .hero.is-info .navbar-link {
-      color: rgba(255, 255, 255, 0.7); }
-    .hero.is-info a.navbar-item:hover, .hero.is-info a.navbar-item.is-active,
-    .hero.is-info .navbar-link:hover,
-    .hero.is-info .navbar-link.is-active {
-      background-color: #1190e3;
-      color: #fff; }
-    .hero.is-info .tabs a {
-      color: #fff;
-      opacity: 0.9; }
-      .hero.is-info .tabs a:hover {
-        opacity: 1; }
-    .hero.is-info .tabs li.is-active a {
-      opacity: 1; }
-    .hero.is-info .tabs.is-boxed a, .hero.is-info .tabs.is-toggle a {
-      color: #fff; }
-      .hero.is-info .tabs.is-boxed a:hover, .hero.is-info .tabs.is-toggle a:hover {
-        background-color: rgba(10, 10, 10, 0.1); }
-    .hero.is-info .tabs.is-boxed li.is-active a, .hero.is-info .tabs.is-boxed li.is-active a:hover, .hero.is-info .tabs.is-toggle li.is-active a, .hero.is-info .tabs.is-toggle li.is-active a:hover {
-      background-color: #fff;
-      border-color: #fff;
-      color: #209cee; }
-    .hero.is-info.is-bold {
-      background-image: linear-gradient(141deg, #05a6d6 0%, #209cee 71%, #3287f5 100%); }
-      @media screen and (max-width: 768px) {
-        .hero.is-info.is-bold .navbar-menu {
-          background-image: linear-gradient(141deg, #05a6d6 0%, #209cee 71%, #3287f5 100%); } }
-  .hero.is-success {
-    background-color: #22c35b;
-    color: #fff; }
-    .hero.is-success a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-    .hero.is-success strong {
-      color: inherit; }
-    .hero.is-success .title {
-      color: #fff; }
-    .hero.is-success .subtitle {
-      color: rgba(255, 255, 255, 0.9); }
-      .hero.is-success .subtitle a:not(.button),
-      .hero.is-success .subtitle strong {
-        color: #fff; }
-    @media screen and (max-width: 1055px) {
-      .hero.is-success .navbar-menu {
-        background-color: #22c35b; } }
-    .hero.is-success .navbar-item,
-    .hero.is-success .navbar-link {
-      color: rgba(255, 255, 255, 0.7); }
-    .hero.is-success a.navbar-item:hover, .hero.is-success a.navbar-item.is-active,
-    .hero.is-success .navbar-link:hover,
-    .hero.is-success .navbar-link.is-active {
-      background-color: #1ead51;
-      color: #fff; }
-    .hero.is-success .tabs a {
-      color: #fff;
-      opacity: 0.9; }
-      .hero.is-success .tabs a:hover {
-        opacity: 1; }
-    .hero.is-success .tabs li.is-active a {
-      opacity: 1; }
-    .hero.is-success .tabs.is-boxed a, .hero.is-success .tabs.is-toggle a {
-      color: #fff; }
-      .hero.is-success .tabs.is-boxed a:hover, .hero.is-success .tabs.is-toggle a:hover {
-        background-color: rgba(10, 10, 10, 0.1); }
-    .hero.is-success .tabs.is-boxed li.is-active a, .hero.is-success .tabs.is-boxed li.is-active a:hover, .hero.is-success .tabs.is-toggle li.is-active a, .hero.is-success .tabs.is-toggle li.is-active a:hover {
-      background-color: #fff;
-      border-color: #fff;
-      color: #22c35b; }
-    .hero.is-success.is-bold {
-      background-image: linear-gradient(141deg, #12a02c 0%, #22c35b 71%, #1fdf83 100%); }
-      @media screen and (max-width: 768px) {
-        .hero.is-success.is-bold .navbar-menu {
-          background-image: linear-gradient(141deg, #12a02c 0%, #22c35b 71%, #1fdf83 100%); } }
-  .hero.is-warning {
-    background-color: #ffdd57;
-    color: rgba(0, 0, 0, 0.7); }
-    .hero.is-warning a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-    .hero.is-warning strong {
-      color: inherit; }
-    .hero.is-warning .title {
-      color: rgba(0, 0, 0, 0.7); }
-    .hero.is-warning .subtitle {
-      color: rgba(0, 0, 0, 0.9); }
-      .hero.is-warning .subtitle a:not(.button),
-      .hero.is-warning .subtitle strong {
-        color: rgba(0, 0, 0, 0.7); }
-    @media screen and (max-width: 1055px) {
-      .hero.is-warning .navbar-menu {
-        background-color: #ffdd57; } }
-    .hero.is-warning .navbar-item,
-    .hero.is-warning .navbar-link {
-      color: rgba(0, 0, 0, 0.7); }
-    .hero.is-warning a.navbar-item:hover, .hero.is-warning a.navbar-item.is-active,
-    .hero.is-warning .navbar-link:hover,
-    .hero.is-warning .navbar-link.is-active {
-      background-color: #ffd83e;
-      color: rgba(0, 0, 0, 0.7); }
-    .hero.is-warning .tabs a {
-      color: rgba(0, 0, 0, 0.7);
-      opacity: 0.9; }
-      .hero.is-warning .tabs a:hover {
-        opacity: 1; }
-    .hero.is-warning .tabs li.is-active a {
-      opacity: 1; }
-    .hero.is-warning .tabs.is-boxed a, .hero.is-warning .tabs.is-toggle a {
-      color: rgba(0, 0, 0, 0.7); }
-      .hero.is-warning .tabs.is-boxed a:hover, .hero.is-warning .tabs.is-toggle a:hover {
-        background-color: rgba(10, 10, 10, 0.1); }
-    .hero.is-warning .tabs.is-boxed li.is-active a, .hero.is-warning .tabs.is-boxed li.is-active a:hover, .hero.is-warning .tabs.is-toggle li.is-active a, .hero.is-warning .tabs.is-toggle li.is-active a:hover {
-      background-color: rgba(0, 0, 0, 0.7);
-      border-color: rgba(0, 0, 0, 0.7);
-      color: #ffdd57; }
-    .hero.is-warning.is-bold {
-      background-image: linear-gradient(141deg, #ffae24 0%, #ffdd57 71%, #fffa71 100%); }
-      @media screen and (max-width: 768px) {
-        .hero.is-warning.is-bold .navbar-menu {
-          background-image: linear-gradient(141deg, #ffae24 0%, #ffdd57 71%, #fffa71 100%); } }
-  .hero.is-danger {
-    background-color: #da0b00;
-    color: #fff; }
-    .hero.is-danger a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-    .hero.is-danger strong {
-      color: inherit; }
-    .hero.is-danger .title {
-      color: #fff; }
-    .hero.is-danger .subtitle {
-      color: rgba(255, 255, 255, 0.9); }
-      .hero.is-danger .subtitle a:not(.button),
-      .hero.is-danger .subtitle strong {
-        color: #fff; }
-    @media screen and (max-width: 1055px) {
-      .hero.is-danger .navbar-menu {
-        background-color: #da0b00; } }
-    .hero.is-danger .navbar-item,
-    .hero.is-danger .navbar-link {
-      color: rgba(255, 255, 255, 0.7); }
-    .hero.is-danger a.navbar-item:hover, .hero.is-danger a.navbar-item.is-active,
-    .hero.is-danger .navbar-link:hover,
-    .hero.is-danger .navbar-link.is-active {
-      background-color: #c10a00;
-      color: #fff; }
-    .hero.is-danger .tabs a {
-      color: #fff;
-      opacity: 0.9; }
-      .hero.is-danger .tabs a:hover {
-        opacity: 1; }
-    .hero.is-danger .tabs li.is-active a {
-      opacity: 1; }
-    .hero.is-danger .tabs.is-boxed a, .hero.is-danger .tabs.is-toggle a {
-      color: #fff; }
-      .hero.is-danger .tabs.is-boxed a:hover, .hero.is-danger .tabs.is-toggle a:hover {
-        background-color: rgba(10, 10, 10, 0.1); }
-    .hero.is-danger .tabs.is-boxed li.is-active a, .hero.is-danger .tabs.is-boxed li.is-active a:hover, .hero.is-danger .tabs.is-toggle li.is-active a, .hero.is-danger .tabs.is-toggle li.is-active a:hover {
-      background-color: #fff;
-      border-color: #fff;
-      color: #da0b00; }
-    .hero.is-danger.is-bold {
-      background-image: linear-gradient(141deg, #a70013 0%, #da0b00 71%, #f43500 100%); }
-      @media screen and (max-width: 768px) {
-        .hero.is-danger.is-bold .navbar-menu {
-          background-image: linear-gradient(141deg, #a70013 0%, #da0b00 71%, #f43500 100%); } }
-  .hero.is-small .hero-body, #documenter .docs-sidebar form.docs-search > input.hero .hero-body {
-    padding-bottom: 1.5rem;
-    padding-top: 1.5rem; }
-  @media screen and (min-width: 769px), print {
-    .hero.is-medium .hero-body {
-      padding-bottom: 9rem;
-      padding-top: 9rem; } }
-  @media screen and (min-width: 769px), print {
-    .hero.is-large .hero-body {
-      padding-bottom: 18rem;
-      padding-top: 18rem; } }
-  .hero.is-halfheight .hero-body, .hero.is-fullheight .hero-body, .hero.is-fullheight-with-navbar .hero-body {
-    align-items: center;
-    display: flex; }
-    .hero.is-halfheight .hero-body > .container, .hero.is-fullheight .hero-body > .container, .hero.is-fullheight-with-navbar .hero-body > .container {
-      flex-grow: 1;
-      flex-shrink: 1; }
-  .hero.is-halfheight {
-    min-height: 50vh; }
-  .hero.is-fullheight {
-    min-height: 100vh; }
-
-.hero-video {
-  overflow: hidden; }
-  .hero-video video {
-    left: 50%;
-    min-height: 100%;
-    min-width: 100%;
-    position: absolute;
-    top: 50%;
-    transform: translate3d(-50%, -50%, 0); }
-  .hero-video.is-transparent {
-    opacity: 0.3; }
-  @media screen and (max-width: 768px) {
-    .hero-video {
-      display: none; } }
-.hero-buttons {
-  margin-top: 1.5rem; }
-  @media screen and (max-width: 768px) {
-    .hero-buttons .button {
-      display: flex; }
-      .hero-buttons .button:not(:last-child) {
-        margin-bottom: 0.75rem; } }
-  @media screen and (min-width: 769px), print {
-    .hero-buttons {
-      display: flex;
-      justify-content: center; }
-      .hero-buttons .button:not(:last-child) {
-        margin-right: 1.5rem; } }
-.hero-head,
-.hero-foot {
-  flex-grow: 0;
-  flex-shrink: 0; }
-
-.hero-body {
-  flex-grow: 1;
-  flex-shrink: 0;
-  padding: 3rem 1.5rem; }
-
-.section {
-  padding: 3rem 1.5rem; }
-  @media screen and (min-width: 1056px) {
-    .section.is-medium {
-      padding: 9rem 1.5rem; }
-    .section.is-large {
-      padding: 18rem 1.5rem; } }
-.footer {
-  background-color: #fafafa;
-  padding: 3rem 1.5rem 6rem; }
-
-h1 .docs-heading-anchor, h1 .docs-heading-anchor:hover, h1 .docs-heading-anchor:visited, h2 .docs-heading-anchor, h2 .docs-heading-anchor:hover, h2 .docs-heading-anchor:visited, h3 .docs-heading-anchor, h3 .docs-heading-anchor:hover, h3 .docs-heading-anchor:visited, h4 .docs-heading-anchor, h4 .docs-heading-anchor:hover, h4 .docs-heading-anchor:visited, h5 .docs-heading-anchor, h5 .docs-heading-anchor:hover, h5 .docs-heading-anchor:visited, h6 .docs-heading-anchor, h6 .docs-heading-anchor:hover, h6 .docs-heading-anchor:visited {
-  color: #222222; }
-
-h1 .docs-heading-anchor-permalink, h2 .docs-heading-anchor-permalink, h3 .docs-heading-anchor-permalink, h4 .docs-heading-anchor-permalink, h5 .docs-heading-anchor-permalink, h6 .docs-heading-anchor-permalink {
-  visibility: hidden;
-  vertical-align: middle;
-  margin-left: 0.5em;
-  font-size: 0.7rem; }
-  h1 .docs-heading-anchor-permalink::before, h2 .docs-heading-anchor-permalink::before, h3 .docs-heading-anchor-permalink::before, h4 .docs-heading-anchor-permalink::before, h5 .docs-heading-anchor-permalink::before, h6 .docs-heading-anchor-permalink::before {
-    font-family: "Font Awesome 5 Free";
-    font-weight: 900;
-    content: "\f0c1"; }
-
-h1:hover .docs-heading-anchor-permalink, h2:hover .docs-heading-anchor-permalink, h3:hover .docs-heading-anchor-permalink, h4:hover .docs-heading-anchor-permalink, h5:hover .docs-heading-anchor-permalink, h6:hover .docs-heading-anchor-permalink {
-  visibility: visible; }
-
-.docs-dark-only {
-  display: none !important; }
-
-pre {
-  position: relative;
-  overflow: hidden; }
-  pre code, pre code.hljs {
-    padding: 0 0.75rem !important;
-    overflow: auto;
-    display: block; }
-  pre code:first-of-type, pre code.hljs:first-of-type {
-    padding-top: 0.5rem !important; }
-  pre code:last-of-type, pre code.hljs:last-of-type {
-    padding-bottom: 0.5rem !important; }
-  pre .copy-button {
-    opacity: 0.2;
-    transition: opacity 0.2s;
-    position: absolute;
-    right: 0em;
-    top: 0em;
-    padding: 0.5em;
-    width: 2.5em;
-    height: 2.5em;
-    background: transparent;
-    border: none;
-    font-family: "Font Awesome 5 Free";
-    color: #222222;
-    cursor: pointer;
-    text-align: center; }
-    pre .copy-button:focus, pre .copy-button:hover {
-      opacity: 1;
-      background: rgba(34, 34, 34, 0.1);
-      color: #2e63b8; }
-    pre .copy-button.success {
-      color: #259a12;
-      opacity: 1; }
-    pre .copy-button.error {
-      color: #cb3c33;
-      opacity: 1; }
-  pre:hover .copy-button {
-    opacity: 1; }
-
-.admonition {
-  background-color: #b5b5b5;
-  border-style: solid;
-  border-width: 1px;
-  border-color: #363636;
-  border-radius: 4px;
-  font-size: 1rem; }
-  .admonition strong {
-    color: currentColor; }
-  .admonition.is-small, #documenter .docs-sidebar form.docs-search > input.admonition {
-    font-size: 0.75rem; }
-  .admonition.is-medium {
-    font-size: 1.25rem; }
-  .admonition.is-large {
-    font-size: 1.5rem; }
-  .admonition.is-default {
-    background-color: #b5b5b5;
-    border-color: #363636; }
-    .admonition.is-default > .admonition-header {
-      background-color: #363636;
-      color: #fff; }
-    .admonition.is-default > .admonition-body {
-      color: #fff; }
-  .admonition.is-info {
-    background-color: #def0fc;
-    border-color: #209cee; }
-    .admonition.is-info > .admonition-header {
-      background-color: #209cee;
-      color: #fff; }
-    .admonition.is-info > .admonition-body {
-      color: rgba(0, 0, 0, 0.7); }
-  .admonition.is-success {
-    background-color: #bdf4d1;
-    border-color: #22c35b; }
-    .admonition.is-success > .admonition-header {
-      background-color: #22c35b;
-      color: #fff; }
-    .admonition.is-success > .admonition-body {
-      color: rgba(0, 0, 0, 0.7); }
-  .admonition.is-warning {
-    background-color: #fff3c5;
-    border-color: #ffdd57; }
-    .admonition.is-warning > .admonition-header {
-      background-color: #ffdd57;
-      color: rgba(0, 0, 0, 0.7); }
-    .admonition.is-warning > .admonition-body {
-      color: rgba(0, 0, 0, 0.7); }
-  .admonition.is-danger {
-    background-color: #ffaba7;
-    border-color: #da0b00; }
-    .admonition.is-danger > .admonition-header {
-      background-color: #da0b00;
-      color: #fff; }
-    .admonition.is-danger > .admonition-body {
-      color: rgba(0, 0, 0, 0.7); }
-  .admonition.is-compat {
-    background-color: #bdeff5;
-    border-color: #1db5c9; }
-    .admonition.is-compat > .admonition-header {
-      background-color: #1db5c9;
-      color: #fff; }
-    .admonition.is-compat > .admonition-body {
-      color: rgba(0, 0, 0, 0.7); }
-
-.admonition-header {
-  color: #fff;
-  background-color: #363636;
-  align-items: center;
-  font-weight: 700;
-  justify-content: space-between;
-  line-height: 1.25;
-  padding: 0.5rem 0.75rem;
-  position: relative; }
-  .admonition-header:before {
-    font-family: "Font Awesome 5 Free";
-    font-weight: 900;
-    margin-right: 0.75rem;
-    content: "\f06a"; }
-
-.admonition-body {
-  color: #222222;
-  padding: 0.5rem 0.75rem; }
-  .admonition-body pre {
-    background-color: whitesmoke; }
-  .admonition-body code {
-    background-color: rgba(0, 0, 0, 0.05); }
-
-.docstring {
-  margin-bottom: 1em;
-  background-color: transparent;
-  border: 1px solid #dbdbdb;
-  box-shadow: 2px 2px 3px rgba(10, 10, 10, 0.1);
-  max-width: 100%; }
-  .docstring > header {
-    display: flex;
-    flex-grow: 1;
-    align-items: stretch;
-    padding: 0.5rem 0.75rem;
-    background-color: whitesmoke;
-    box-shadow: 0 1px 2px rgba(10, 10, 10, 0.1);
-    box-shadow: none;
-    border-bottom: 1px solid #dbdbdb; }
-    .docstring > header code {
-      background-color: transparent; }
-    .docstring > header .docstring-binding {
-      margin-right: 0.3em; }
-    .docstring > header .docstring-category {
-      margin-left: 0.3em; }
-  .docstring > section {
-    position: relative;
-    padding: 0.75rem 0.75rem;
-    border-bottom: 1px solid #dbdbdb; }
-    .docstring > section:last-child {
-      border-bottom: none; }
-    .docstring > section > a.docs-sourcelink {
-      transition: opacity 0.3s;
-      opacity: 0;
-      position: absolute;
-      right: 0.375rem;
-      bottom: 0.375rem; }
-      .docstring > section > a.docs-sourcelink:focus {
-        opacity: 1 !important; }
-  .docstring:hover > section > a.docs-sourcelink {
-    opacity: 0.2; }
-  .docstring:focus-within > section > a.docs-sourcelink {
-    opacity: 0.2; }
-  .docstring > section:hover a.docs-sourcelink {
-    opacity: 1; }
-
-.documenter-example-output {
-  background-color: white; }
-
-.outdated-warning-overlay {
-  position: fixed;
-  top: 0;
-  left: 0;
-  right: 0;
-  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
-  z-index: 999;
-  background-color: #ffaba7;
-  color: rgba(0, 0, 0, 0.7);
-  border-bottom: 3px solid #da0b00;
-  padding: 10px 35px;
-  text-align: center;
-  font-size: 15px; }
-  .outdated-warning-overlay .outdated-warning-closer {
-    position: absolute;
-    top: calc(50% - 10px);
-    right: 18px;
-    cursor: pointer;
-    width: 12px; }
-  .outdated-warning-overlay a {
-    color: #2e63b8; }
-    .outdated-warning-overlay a:hover {
-      color: #363636; }
-
-.content pre {
-  border: 1px solid #dbdbdb; }
-
-.content code {
-  font-weight: inherit; }
-
-.content a code {
-  color: #2e63b8; }
-
-.content h1 code, .content h2 code, .content h3 code, .content h4 code, .content h5 code, .content h6 code {
-  color: #222222; }
-
-.content table {
-  display: block;
-  width: initial;
-  max-width: 100%;
-  overflow-x: auto; }
-
-.content blockquote > ul:first-child, .content blockquote > ol:first-child, .content .admonition-body > ul:first-child, .content .admonition-body > ol:first-child {
-  margin-top: 0; }
-
-pre, code {
-  font-variant-ligatures: no-contextual; }
-
-.breadcrumb a.is-disabled {
-  cursor: default;
-  pointer-events: none; }
-  .breadcrumb a.is-disabled, .breadcrumb a.is-disabled:hover {
-    color: #222222; }
-
-.hljs {
-  background: initial !important; }
-
-.katex .katex-mathml {
-  top: 0;
-  right: 0; }
-
-.katex-display, mjx-container, .MathJax_Display {
-  margin: 0.5em 0 !important; }
-
-html {
-  -moz-osx-font-smoothing: auto;
-  -webkit-font-smoothing: auto; }
-
-li.no-marker {
-  list-style: none; }
-
-/* This file contain the overall layout.
- *
- * The main container is <div> that is identified by id #documenter.
- */
-#documenter .docs-main > article {
-  overflow-wrap: break-word; }
-  #documenter .docs-main > article .math-container {
-    overflow-x: auto;
-    overflow-y: hidden; }
-
-@media screen and (min-width: 1056px) {
-  #documenter .docs-main {
-    max-width: 52rem;
-    margin-left: 20rem;
-    padding-right: 1rem; } }
-
-@media screen and (max-width: 1055px) {
-  #documenter .docs-main {
-    width: 100%; }
-    #documenter .docs-main > article {
-      max-width: 52rem;
-      margin-left: auto;
-      margin-right: auto;
-      margin-bottom: 1rem;
-      padding: 0 1rem; }
-    #documenter .docs-main > header, #documenter .docs-main > nav {
-      max-width: 100%;
-      width: 100%;
-      margin: 0; } }
-
-#documenter .docs-main header.docs-navbar {
-  background-color: white;
-  border-bottom: 1px solid #dbdbdb;
-  z-index: 2;
-  min-height: 4rem;
-  margin-bottom: 1rem;
-  display: flex; }
-  #documenter .docs-main header.docs-navbar .breadcrumb {
-    flex-grow: 1; }
-  #documenter .docs-main header.docs-navbar .docs-right {
-    display: flex;
-    white-space: nowrap; }
-    #documenter .docs-main header.docs-navbar .docs-right .docs-icon, #documenter .docs-main header.docs-navbar .docs-right .docs-label, #documenter .docs-main header.docs-navbar .docs-right .docs-sidebar-button {
-      display: inline-block; }
-    #documenter .docs-main header.docs-navbar .docs-right .docs-label {
-      padding: 0;
-      margin-left: 0.3em; }
-    #documenter .docs-main header.docs-navbar .docs-right .docs-settings-button {
-      margin: auto 0 auto 1rem; }
-    #documenter .docs-main header.docs-navbar .docs-right .docs-sidebar-button {
-      font-size: 1.5rem;
-      margin: auto 0 auto 1rem; }
-  #documenter .docs-main header.docs-navbar > * {
-    margin: auto 0; }
-  @media screen and (max-width: 1055px) {
-    #documenter .docs-main header.docs-navbar {
-      position: sticky;
-      top: 0;
-      padding: 0 1rem;
-      /* For Headroom.js */
-      transition-property: top, box-shadow;
-      -webkit-transition-property: top, box-shadow;
-      /* Safari */
-      transition-duration: 0.3s;
-      -webkit-transition-duration: 0.3s;
-      /* Safari */ }
-      #documenter .docs-main header.docs-navbar.headroom--not-top {
-        box-shadow: 0.2rem 0rem 0.4rem #bbb;
-        transition-duration: 0.7s;
-        -webkit-transition-duration: 0.7s;
-        /* Safari */ }
-      #documenter .docs-main header.docs-navbar.headroom--unpinned.headroom--not-top.headroom--not-bottom {
-        top: -4.5rem;
-        transition-duration: 0.7s;
-        -webkit-transition-duration: 0.7s;
-        /* Safari */ } }
-#documenter .docs-main section.footnotes {
-  border-top: 1px solid #dbdbdb; }
-  #documenter .docs-main section.footnotes li .tag:first-child, #documenter .docs-main section.footnotes li .docstring > section > a.docs-sourcelink:first-child, #documenter .docs-main section.footnotes li .content kbd:first-child, .content #documenter .docs-main section.footnotes li kbd:first-child {
-    margin-right: 1em;
-    margin-bottom: 0.4em; }
-
-#documenter .docs-main .docs-footer {
-  display: flex;
-  flex-wrap: wrap;
-  margin-left: 0;
-  margin-right: 0;
-  border-top: 1px solid #dbdbdb;
-  padding-top: 1rem;
-  padding-bottom: 1rem; }
-  @media screen and (max-width: 1055px) {
-    #documenter .docs-main .docs-footer {
-      padding-left: 1rem;
-      padding-right: 1rem; } }
-  #documenter .docs-main .docs-footer .docs-footer-nextpage, #documenter .docs-main .docs-footer .docs-footer-prevpage {
-    flex-grow: 1; }
-  #documenter .docs-main .docs-footer .docs-footer-nextpage {
-    text-align: right; }
-  #documenter .docs-main .docs-footer .flexbox-break {
-    flex-basis: 100%;
-    height: 0; }
-  #documenter .docs-main .docs-footer .footer-message {
-    font-size: 0.8em;
-    margin: 0.5em auto 0 auto;
-    text-align: center; }
-
-#documenter .docs-sidebar {
-  display: flex;
-  flex-direction: column;
-  color: #0a0a0a;
-  background-color: whitesmoke;
-  border-right: 1px solid #dbdbdb;
-  padding: 0;
-  flex: 0 0 18rem;
-  z-index: 5;
-  font-size: 1rem;
-  position: fixed;
-  left: -18rem;
-  width: 18rem;
-  height: 100%;
-  transition: left 0.3s;
-  /* Setting up a nicer theme style for the scrollbar */ }
-  #documenter .docs-sidebar.visible {
-    left: 0;
-    box-shadow: 0.4rem 0rem 0.8rem #bbb; }
-    @media screen and (min-width: 1056px) {
-      #documenter .docs-sidebar.visible {
-        box-shadow: none; } }
-  @media screen and (min-width: 1056px) {
-    #documenter .docs-sidebar {
-      left: 0;
-      top: 0; } }
-  #documenter .docs-sidebar .docs-logo {
-    margin-top: 1rem;
-    padding: 0 1rem; }
-    #documenter .docs-sidebar .docs-logo > img {
-      max-height: 6rem;
-      margin: auto; }
-  #documenter .docs-sidebar .docs-package-name {
-    flex-shrink: 0;
-    font-size: 1.5rem;
-    font-weight: 700;
-    text-align: center;
-    white-space: nowrap;
-    overflow: hidden;
-    padding: 0.5rem 0; }
-    #documenter .docs-sidebar .docs-package-name .docs-autofit {
-      max-width: 16.2rem; }
-    #documenter .docs-sidebar .docs-package-name a, #documenter .docs-sidebar .docs-package-name a:hover {
-      color: #0a0a0a; }
-  #documenter .docs-sidebar .docs-version-selector {
-    border-top: 1px solid #dbdbdb;
-    display: none;
-    padding: 0.5rem; }
-    #documenter .docs-sidebar .docs-version-selector.visible {
-      display: flex; }
-  #documenter .docs-sidebar ul.docs-menu {
-    flex-grow: 1;
-    user-select: none;
-    border-top: 1px solid #dbdbdb;
-    padding-bottom: 1.5rem;
-    /* Managing collapsible submenus */ }
-    #documenter .docs-sidebar ul.docs-menu > li > .tocitem {
-      font-weight: bold; }
-    #documenter .docs-sidebar ul.docs-menu > li li {
-      font-size: 0.95rem;
-      margin-left: 1em;
-      border-left: 1px solid #dbdbdb; }
-    #documenter .docs-sidebar ul.docs-menu input.collapse-toggle {
-      display: none; }
-    #documenter .docs-sidebar ul.docs-menu ul.collapsed {
-      display: none; }
-    #documenter .docs-sidebar ul.docs-menu input:checked ~ ul.collapsed {
-      display: block; }
-    #documenter .docs-sidebar ul.docs-menu label.tocitem {
-      display: flex; }
-      #documenter .docs-sidebar ul.docs-menu label.tocitem .docs-label {
-        flex-grow: 2; }
-      #documenter .docs-sidebar ul.docs-menu label.tocitem .docs-chevron {
-        display: inline-block;
-        font-style: normal;
-        font-variant: normal;
-        text-rendering: auto;
-        line-height: 1;
-        font-size: 0.75rem;
-        margin-left: 1rem;
-        margin-top: auto;
-        margin-bottom: auto; }
-        #documenter .docs-sidebar ul.docs-menu label.tocitem .docs-chevron::before {
-          font-family: "Font Awesome 5 Free";
-          font-weight: 900;
-          content: "\f054"; }
-    #documenter .docs-sidebar ul.docs-menu input:checked ~ label.tocitem .docs-chevron::before {
-      content: "\f078"; }
-    #documenter .docs-sidebar ul.docs-menu .tocitem {
-      display: block;
-      padding: 0.5rem 0.5rem; }
-      #documenter .docs-sidebar ul.docs-menu .tocitem, #documenter .docs-sidebar ul.docs-menu .tocitem:hover {
-        color: #0a0a0a;
-        background: whitesmoke; }
-    #documenter .docs-sidebar ul.docs-menu a.tocitem:hover, #documenter .docs-sidebar ul.docs-menu label.tocitem:hover {
-      color: #0a0a0a;
-      background-color: #ebebeb; }
-    #documenter .docs-sidebar ul.docs-menu li.is-active {
-      border-top: 1px solid #dbdbdb;
-      border-bottom: 1px solid #dbdbdb;
-      background-color: white; }
-      #documenter .docs-sidebar ul.docs-menu li.is-active .tocitem, #documenter .docs-sidebar ul.docs-menu li.is-active .tocitem:hover {
-        background-color: white;
-        color: #0a0a0a; }
-      #documenter .docs-sidebar ul.docs-menu li.is-active ul.internal .tocitem:hover {
-        background-color: #ebebeb;
-        color: #0a0a0a; }
-    #documenter .docs-sidebar ul.docs-menu > li.is-active:first-child {
-      border-top: none; }
-    #documenter .docs-sidebar ul.docs-menu ul.internal {
-      margin: 0 0.5rem 0.5rem;
-      border-top: 1px solid #dbdbdb; }
-      #documenter .docs-sidebar ul.docs-menu ul.internal li {
-        font-size: 0.85rem;
-        border-left: none;
-        margin-left: 0;
-        margin-top: 0.5rem; }
-      #documenter .docs-sidebar ul.docs-menu ul.internal .tocitem {
-        width: 100%;
-        padding: 0; }
-        #documenter .docs-sidebar ul.docs-menu ul.internal .tocitem::before {
-          content: "⚬";
-          margin-right: 0.4em; }
-  #documenter .docs-sidebar form.docs-search {
-    margin: auto;
-    margin-top: 0.5rem;
-    margin-bottom: 0.5rem; }
-    #documenter .docs-sidebar form.docs-search > input {
-      width: 14.4rem; }
-  @media screen and (min-width: 1056px) {
-    #documenter .docs-sidebar ul.docs-menu {
-      overflow-y: auto;
-      -webkit-overflow-scroll: touch; }
-      #documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar {
-        width: .3rem;
-        background: none; }
-      #documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar-thumb {
-        border-radius: 5px 0px 0px 5px;
-        background: #e0e0e0; }
-      #documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar-thumb:hover {
-        background: #cccccc; } }
-  @media screen and (max-width: 1055px) {
-    #documenter .docs-sidebar {
-      overflow-y: auto;
-      -webkit-overflow-scroll: touch; }
-      #documenter .docs-sidebar::-webkit-scrollbar {
-        width: .3rem;
-        background: none; }
-      #documenter .docs-sidebar::-webkit-scrollbar-thumb {
-        border-radius: 5px 0px 0px 5px;
-        background: #e0e0e0; }
-      #documenter .docs-sidebar::-webkit-scrollbar-thumb:hover {
-        background: #cccccc; } }
-#documenter .docs-main #documenter-search-info {
-  margin-bottom: 1rem; }
-
-#documenter .docs-main #documenter-search-results {
-  list-style-type: circle;
-  list-style-position: outside; }
-  #documenter .docs-main #documenter-search-results li {
-    margin-left: 2rem; }
-  #documenter .docs-main #documenter-search-results .docs-highlight {
-    background-color: yellow; }
-
-.ansi span.sgr1 {
-  font-weight: bolder; }
-
-.ansi span.sgr2 {
-  font-weight: lighter; }
-
-.ansi span.sgr3 {
-  font-style: italic; }
-
-.ansi span.sgr4 {
-  text-decoration: underline; }
-
-.ansi span.sgr7 {
-  color: white;
-  background-color: #222222; }
-
-.ansi span.sgr8 {
-  color: transparent; }
-  .ansi span.sgr8 span {
-    color: transparent; }
-
-.ansi span.sgr9 {
-  text-decoration: line-through; }
-
-.ansi span.sgr30 {
-  color: #242424; }
-
-.ansi span.sgr31 {
-  color: #a7201f; }
-
-.ansi span.sgr32 {
-  color: #066f00; }
-
-.ansi span.sgr33 {
-  color: #856b00; }
-
-.ansi span.sgr34 {
-  color: #2149b0; }
-
-.ansi span.sgr35 {
-  color: #7d4498; }
-
-.ansi span.sgr36 {
-  color: #007989; }
-
-.ansi span.sgr37 {
-  color: gray; }
-
-.ansi span.sgr40 {
-  background-color: #242424; }
-
-.ansi span.sgr41 {
-  background-color: #a7201f; }
-
-.ansi span.sgr42 {
-  background-color: #066f00; }
-
-.ansi span.sgr43 {
-  background-color: #856b00; }
-
-.ansi span.sgr44 {
-  background-color: #2149b0; }
-
-.ansi span.sgr45 {
-  background-color: #7d4498; }
-
-.ansi span.sgr46 {
-  background-color: #007989; }
-
-.ansi span.sgr47 {
-  background-color: gray; }
-
-.ansi span.sgr90 {
-  color: #616161; }
-
-.ansi span.sgr91 {
-  color: #cb3c33; }
-
-.ansi span.sgr92 {
-  color: #0e8300; }
-
-.ansi span.sgr93 {
-  color: #a98800; }
-
-.ansi span.sgr94 {
-  color: #3c5dcd; }
-
-.ansi span.sgr95 {
-  color: #9256af; }
-
-.ansi span.sgr96 {
-  color: #008fa3; }
-
-.ansi span.sgr97 {
-  color: whitesmoke; }
-
-.ansi span.sgr100 {
-  background-color: #616161; }
-
-.ansi span.sgr101 {
-  background-color: #cb3c33; }
-
-.ansi span.sgr102 {
-  background-color: #0e8300; }
-
-.ansi span.sgr103 {
-  background-color: #a98800; }
-
-.ansi span.sgr104 {
-  background-color: #3c5dcd; }
-
-.ansi span.sgr105 {
-  background-color: #9256af; }
-
-.ansi span.sgr106 {
-  background-color: #008fa3; }
-
-.ansi span.sgr107 {
-  background-color: whitesmoke; }
-
-code.language-julia-repl > span.hljs-meta {
-  color: #066f00;
-  font-weight: bolder; }
-
-/*!
-  Theme: Default
-  Description: Original highlight.js style
-  Author: (c) Ivan Sagalaev <maniac@softwaremaniacs.org>
-  Maintainer: @highlightjs/core-team
-  Website: https://highlightjs.org/
-  License: see project LICENSE
-  Touched: 2021
-*/
-/*
-This is left on purpose making default.css the single file that can be lifted
-as-is from the repository directly without the need for a build step
-
-Typically this "required" baseline CSS is added by `makestuff.js` during build.
-*/
-pre code.hljs {
-  display: block;
-  overflow-x: auto; }
-
-code.hljs {
-  padding: 3px 5px; }
-
-/* end baseline CSS */
-.hljs {
-  background: #F0F0F0;
-  color: #444; }
-
-/* Base color: saturation 0; */
-.hljs-subst {
-  /* default */ }
-
-/* purposely ignored */
-.hljs-comment {
-  color: #888888; }
-
-.hljs-tag,
-.hljs-punctuation {
-  color: #444a; }
-
-.hljs-tag .hljs-name,
-.hljs-tag .hljs-attr {
-  color: #444; }
-
-.hljs-keyword,
-.hljs-attribute,
-.hljs-selector-tag,
-.hljs-meta .hljs-keyword,
-.hljs-doctag,
-.hljs-name {
-  font-weight: bold; }
-
-/* User color: hue: 0 */
-.hljs-type,
-.hljs-string,
-.hljs-number,
-.hljs-selector-id,
-.hljs-selector-class,
-.hljs-quote,
-.hljs-template-tag,
-.hljs-deletion {
-  color: #880000; }
-
-.hljs-title,
-.hljs-section {
-  color: #880000;
-  font-weight: bold; }
-
-.hljs-regexp,
-.hljs-symbol,
-.hljs-variable,
-.hljs-template-variable,
-.hljs-link,
-.hljs-selector-attr,
-.hljs-operator,
-.hljs-selector-pseudo {
-  color: #BC6060; }
-
-/* Language color: hue: 90; */
-.hljs-literal {
-  color: #78A960; }
-
-.hljs-built_in,
-.hljs-bullet,
-.hljs-code,
-.hljs-addition {
-  color: #397300; }
-
-/* Meta color: hue: 200 */
-.hljs-meta {
-  color: #1f7199; }
-
-.hljs-meta .hljs-string {
-  color: #4d99bf; }
-
-/* Misc effects */
-.hljs-emphasis {
-  font-style: italic; }
-
-.hljs-strong {
-  font-weight: bold; }
diff --git a/previews/PR645/assets/themeswap.js b/previews/PR645/assets/themeswap.js
deleted file mode 100644
index c58e993e3..000000000
--- a/previews/PR645/assets/themeswap.js
+++ /dev/null
@@ -1,66 +0,0 @@
-// Small function to quickly swap out themes. Gets put into the <head> tag..
-function set_theme_from_local_storage() {
-  // Intialize the theme to null, which means default
-  var theme = null;
-  // If the browser supports the localstorage and is not disabled then try to get the
-  // documenter theme
-  if(window.localStorage != null) {
-    // Get the user-picked theme from localStorage. May be `null`, which means the default
-    // theme.
-    theme =  window.localStorage.getItem("documenter-theme");
-  }
-  // Check if the browser supports user color preference
-  var darkPreference = false;
-  // Check if the users preference is for dark color scheme
-  if(window.matchMedia('(prefers-color-scheme: dark)').matches === true) {
-    darkPreference = true;
-  }
-  // Initialize a few variables for the loop:
-  //
-  //  - active: will contain the index of the theme that should be active. Note that there
-  //    is no guarantee that localStorage contains sane values. If `active` stays `null`
-  //    we either could not find the theme or it is the default (primary) theme anyway.
-  //    Either way, we then need to stick to the primary theme.
-  //
-  //  - disabled: style sheets that should be disabled (i.e. all the theme style sheets
-  //    that are not the currently active theme)
-  var active = null; var disabled = []; var darkTheme = null;
-  for (var i = 0; i < document.styleSheets.length; i++) {
-    var ss = document.styleSheets[i];
-    // The <link> tag of each style sheet is expected to have a data-theme-name attribute
-    // which must contain the name of the theme. The names in localStorage much match this.
-    var themename = ss.ownerNode.getAttribute("data-theme-name");
-    // attribute not set => non-theme stylesheet => ignore
-    if(themename === null) continue;
-    // To distinguish the default (primary) theme, it needs to have the data-theme-primary
-    // attribute set.
-    var isprimary = (ss.ownerNode.getAttribute("data-theme-primary") !== null);
-    // Check if the theme is primary dark theme
-    var isDarkTheme = (ss.ownerNode.getAttribute("data-theme-primary-dark") !== null);
-    // If ss is for dark theme then set the value of darkTheme to the name of the theme
-    if(isDarkTheme) darkTheme = themename;
-    // If we find a matching theme (and it's not the default), we'll set active to non-null
-    if(themename === theme) active = i;
-    // Store the style sheets of inactive themes so that we could disable them
-    if(themename !== theme) disabled.push(ss);
-  }
-  if(active !== null) {
-    // If we did find an active theme, we'll (1) add the theme--$(theme) class to <html>
-    document.getElementsByTagName('html')[0].className = "theme--" + theme;
-    // and (2) disable all the other theme stylesheets
-    disabled.forEach(function(ss){
-      ss.disabled = true;
-    });
-  }
-  else if(darkTheme !== null && darkPreference === true) {
-    // If we did find an active theme, we'll (1) add the theme--$(theme) class to <html>
-    document.getElementsByTagName('html')[0].className = "theme--" + darkTheme;
-    // and (2) disable all the other theme stylesheets
-    disabled.forEach(function(ss){
-      if (ss.ownerNode.getAttribute("data-theme-name") !== darkTheme) {
-        ss.disabled = true;
-      }
-    });
-  }
-}
-set_theme_from_local_storage();
diff --git a/previews/PR645/assets/warner.js b/previews/PR645/assets/warner.js
deleted file mode 100644
index 5531c8851..000000000
--- a/previews/PR645/assets/warner.js
+++ /dev/null
@@ -1,49 +0,0 @@
-function maybeAddWarning () {
-    // DOCUMENTER_NEWEST is defined in versions.js, DOCUMENTER_CURRENT_VERSION and DOCUMENTER_STABLE
-    // in siteinfo.js.
-    // If either of these are undefined something went horribly wrong, so we abort.
-    if (
-            window.DOCUMENTER_NEWEST === undefined ||
-            window.DOCUMENTER_CURRENT_VERSION === undefined ||
-            window.DOCUMENTER_STABLE === undefined
-       ) {
-        return
-    };
-
-    // Current version is not a version number, so we can't tell if it's the newest version. Abort.
-    if (!/v(\d+\.)*\d+/.test(window.DOCUMENTER_CURRENT_VERSION)) {
-        return
-    };
-
-    // Current version is newest version, so no need to add a warning.
-    if (window.DOCUMENTER_NEWEST === window.DOCUMENTER_CURRENT_VERSION) {
-        return
-    };
-
-    // Add a noindex meta tag (unless one exists) so that search engines don't index this version of the docs.
-    if (document.body.querySelector('meta[name="robots"]') === null) {
-        const meta = document.createElement('meta');
-        meta.name = 'robots';
-        meta.content = 'noindex';
-
-        document.getElementsByTagName('head')[0].appendChild(meta);
-    };
-
-    const div = document.createElement('div');
-    div.classList.add('outdated-warning-overlay');
-    const closer = document.createElement('button');
-    closer.classList.add('outdated-warning-closer', 'delete');
-    closer.addEventListener('click', function () {
-        document.body.removeChild(div);
-    });
-    const href = window.documenterBaseURL + '/../' + window.DOCUMENTER_STABLE;
-    div.innerHTML = 'This documentation is not for the latest stable release, but for either the development version or an older release.<br><a href="' + href + '">Click here to go to the documentation for the latest stable release.</a>';
-    div.appendChild(closer);
-    document.body.appendChild(div);
-};
-
-if (document.readyState === 'loading') {
-    document.addEventListener('DOMContentLoaded', maybeAddWarning);
-} else {
-    maybeAddWarning();
-};
diff --git a/previews/PR645/configuration/index.html b/previews/PR645/configuration/index.html
deleted file mode 100644
index 231369f05..000000000
--- a/previews/PR645/configuration/index.html
+++ /dev/null
@@ -1,18 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Configuration · MPI.jl</title><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../"><img src="../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../">MPI.jl</a></span></div><form class="docs-search" action="../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../">MPI.jl</a></li><li class="is-active"><a class="tocitem" href>Configuration</a><ul class="internal"><li><a class="tocitem" href="#Using-a-system-provided-MPI-backend"><span>Using a system-provided MPI backend</span></a></li><li><a class="tocitem" href="#Using-an-alternative-JLL-provided-MPI-library"><span>Using an alternative JLL-provided MPI library</span></a></li><li><a class="tocitem" href="#Configuration-of-the-MPI.jl-testsuite"><span>Configuration of the MPI.jl testsuite</span></a></li><li><a class="tocitem" href="#Migration-from-MPI.jl-version-0.19-or-earlier"><span>Migration from MPI.jl version 0.19 or earlier</span></a></li></ul></li><li><a class="tocitem" href="../usage/">Usage</a></li><li><a class="tocitem" href="../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../reference/library/">Library information</a></li><li><a class="tocitem" href="../reference/environment/">Environment</a></li><li><a class="tocitem" href="../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../reference/topology/">Topology</a></li><li><a class="tocitem" href="../reference/io/">I/O</a></li><li><a class="tocitem" href="../reference/advanced/">Advanced</a></li></ul></li><li><a class="tocitem" href="../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>Configuration</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Configuration</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/configuration.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Configuration"><a class="docs-heading-anchor" href="#Configuration">Configuration</a><a id="Configuration-1"></a><a class="docs-heading-anchor-permalink" href="#Configuration" title="Permalink"></a></h1><p>By default, MPI.jl will download and link against the following MPI implementations:</p><ul><li><a href="https://docs.microsoft.com/en-us/message-passing-interface/microsoft-mpi">Microsoft MPI</a> on Windows</li><li><a href="http://www.mpich.org/">MPICH</a> on all other platforms</li></ul><p>This is suitable for most single-node use cases, but for larger systems, such as HPC clusters or multi-GPU machines, you will probably want to configure against a system-provided MPI implementation in order to exploit features such as fast network interfaces and CUDA-aware or ROCm-aware MPI interfaces.</p><p>The MPIPreferences.jl package allows the user to choose which MPI implementation to use in MPI.jl. It uses <a href="https://github.com/JuliaPackaging/Preferences.jl">Preferences.jl</a> to configure the MPI backend for each project separately. This provides a single source of truth that can be used for JLL packages (Julia packages providing C libraries) that link against MPI. It can be installed by</p><pre><code class="language-sh hljs">julia -e &#39;using Pkg; Pkg.add(&quot;MPIPreferences&quot;)&#39;</code></pre><h2 id="Using-a-system-provided-MPI-backend"><a class="docs-heading-anchor" href="#Using-a-system-provided-MPI-backend">Using a system-provided MPI backend</a><a id="Using-a-system-provided-MPI-backend-1"></a><a class="docs-heading-anchor-permalink" href="#Using-a-system-provided-MPI-backend" title="Permalink"></a></h2><h3 id="Requirements"><a class="docs-heading-anchor" href="#Requirements">Requirements</a><a id="Requirements-1"></a><a class="docs-heading-anchor-permalink" href="#Requirements" title="Permalink"></a></h3><p>MPI.jl requires a shared library installation of a C MPI library, supporting the MPI 3.0 standard or later. The following MPI implementations should work out-of-the-box with MPI.jl:</p><ul><li><a href="http://www.open-mpi.org/">Open MPI</a></li><li><a href="http://www.mpich.org/">MPICH</a> (v3.1 or later)</li><li><a href="https://software.intel.com/en-us/mpi-library">Intel MPI</a></li><li><a href="https://docs.microsoft.com/en-us/message-passing-interface/microsoft-mpi">Microsoft MPI</a></li><li><a href="https://www.ibm.com/us-en/marketplace/spectrum-mpi">IBM Spectrum MPI</a></li><li><a href="http://mvapich.cse.ohio-state.edu/">MVAPICH</a></li><li><a href="https://docs.nersc.gov/development/compilers/wrappers/">Cray MPICH</a></li><li><a href="https://www.fujitsu.com/global/about/resources/publications/technicalreview/2020-03/article07.html#cap-03">Fujitsu MPI</a></li><li><a href="https://support.hpe.com/hpesc/public/docDisplay?docLocale=en_US&amp;docId=a00105727en_us">HPE MPT/HMPT</a></li></ul><h3 id="Configuration-2"><a class="docs-heading-anchor" href="#Configuration-2">Configuration</a><a class="docs-heading-anchor-permalink" href="#Configuration-2" title="Permalink"></a></h3><p>Run <code>MPIPreferences.use_system_binary()</code>. This will attempt to locate and to identify any available MPI implementation, and create a file called <code>LocalPreferences.toml</code> adjacent to the current <code>Project.toml</code>.</p><pre><code class="language-sh hljs">julia --project -e &#39;using MPIPreferences; MPIPreferences.use_system_binary()&#39;</code></pre><p>If the implementation is changed, you will need to call this function again. See the <a href="../reference/mpipreferences/#MPIPreferences.use_system_binary"><code>MPIPreferences.use_system_binary</code></a> documentation for specific options.</p><div class="admonition is-info"><header class="admonition-header">Note</header><div class="admonition-body"><p>You can copy <code>LocalPreferences.toml</code> to a different project folder, but you must list <code>MPIPreferences</code> in the <code>[extras]</code> or <code>[deps]</code> section of the <code>Project.toml</code> for the settings to take effect.</p></div></div><div class="admonition is-info"><header class="admonition-header">Note</header><div class="admonition-body"><p>Due to a bug in Julia (until <code>v1.6.5</code> and <code>v1.7.1</code>), getting preferences from transitive dependencies is broken (<a href="https://github.com/JuliaPackaging/Preferences.jl/issues/24">Preferences.jl#24</a>). To fix this update your version of Julia, or add <code>MPIPreferences</code> as a direct dependency to your project.</p></div></div><h3 id="Notes-to-HPC-cluster-adminstators"><a class="docs-heading-anchor" href="#Notes-to-HPC-cluster-adminstators">Notes to HPC cluster adminstators</a><a id="Notes-to-HPC-cluster-adminstators-1"></a><a class="docs-heading-anchor-permalink" href="#Notes-to-HPC-cluster-adminstators" title="Permalink"></a></h3><p>Preferences are merged across the Julia load path, such that it is feasible to provide a module file that appends a path to <code>JULIA_LOAD_PATH</code> variable that contains system-wide preferences. The steps are as follows:</p><ol><li><p>Run <a href="../reference/mpipreferences/#MPIPreferences.use_system_binary"><code>MPIPreferences.use_system_binary()</code></a>, which will generate a file <code>LocalPreferences.toml</code> containing something like the following:</p><pre><code class="language-toml hljs">[MPIPreferences]
-abi = &quot;OpenMPI&quot;
-binary = &quot;system&quot;
-libmpi = &quot;/software/mpi/lib/libmpi.so&quot;
-mpiexec = &quot;/software/mpi/bin/mpiexec&quot;</code></pre></li><li><p>Create a file called <code>Project.toml</code> or <code>JuliaProject.toml</code> in a central location, for example <code>/software/mpi/julia</code> or in the same directory as the MPI library module, and add the following contents:</p><pre><code class="language-toml hljs">[extras]
-MPIPreferences = &quot;3da0fdf6-3ccc-4f1b-acd9-58baa6c99267&quot;
-
-[preferences.MPIPreferences]
-abi = &quot;OpenMPI&quot;
-binary = &quot;system&quot;
-libmpi = &quot;/software/mpi/lib/libmpi.so&quot;
-mpiexec = &quot;/software/mpi/bin/mpiexec&quot;</code></pre><p>updating the contents of the <code>[preferences.MPIPreferences]</code> section match those of the <code>[MPIPreferences]</code> in <code>LocalPreferences.toml</code>.</p></li><li><p>Append the directory containing the file to the <a href="https://docs.julialang.org/en/v1/manual/environment-variables/#JULIA_LOAD_PATH"><code>JULIA_LOAD_PATH</code></a> environment variable, with a colon (<code>:</code>) separator.</p><p>If this variable is <em>not</em> already set, it should be prefixed with a colon to ensure correct behavior of the Julia load path, e.g. <code>JULIA_LOAD_PATH=&quot;:/software/mpi/julia&quot;</code>. If using environment modules, this can be achieved with</p><pre><code class="nohighlight hljs">append-path  -d {} JULIA_LOAD_PATH :/software/mpi/julia</code></pre><p>in the corresponding module file (preferably the module file for the MPI installation or for Julia).</p><p>The user can still provide differing MPI configurations for each Julia project that will take precedent by modifying the local <code>Project.toml</code> or by providing a <code>LocalPreferences.toml</code> file.</p></li></ol><h2 id="Using-an-alternative-JLL-provided-MPI-library"><a class="docs-heading-anchor" href="#Using-an-alternative-JLL-provided-MPI-library">Using an alternative JLL-provided MPI library</a><a id="Using-an-alternative-JLL-provided-MPI-library-1"></a><a class="docs-heading-anchor-permalink" href="#Using-an-alternative-JLL-provided-MPI-library" title="Permalink"></a></h2><p>The following MPI implementations are provided as JLL packages and automatically obtained when installing MPI.jl:</p><ul><li><code>MicrosoftMPI_jll</code>: <a href="https://docs.microsoft.com/en-us/message-passing-interface/microsoft-mpi">Microsoft MPI</a> Default for Windows</li><li><code>MPICH_jll</code>: <a href="https://www.mpich.org/">MPICH</a>. Default for all other systems</li><li><code>OpenMPI_jll</code>: <a href="https://www.open-mpi.org/">Open MPI</a></li><li><code>MPItrampoline_jll</code>: <a href="https://github.com/eschnett/MPItrampoline">MPItrampoline</a>: an MPI forwarding layer.</li></ul><p>Call <a href="../reference/mpipreferences/#MPIPreferences.use_jll_binary"><code>MPIPreferences.use_jll_binary</code></a>, for example</p><pre><code class="language-sh hljs">julia --project -e &#39;using MPIPreferences; MPIPreferences.use_jll_binary(&quot;MPItrampoline_jll&quot;)&#39;</code></pre><h2 id="Configuration-of-the-MPI.jl-testsuite"><a class="docs-heading-anchor" href="#Configuration-of-the-MPI.jl-testsuite">Configuration of the MPI.jl testsuite</a><a id="Configuration-of-the-MPI.jl-testsuite-1"></a><a class="docs-heading-anchor-permalink" href="#Configuration-of-the-MPI.jl-testsuite" title="Permalink"></a></h2><h3 id="Testing-against-a-different-MPI-implementation"><a class="docs-heading-anchor" href="#Testing-against-a-different-MPI-implementation">Testing against a different MPI implementation</a><a id="Testing-against-a-different-MPI-implementation-1"></a><a class="docs-heading-anchor-permalink" href="#Testing-against-a-different-MPI-implementation" title="Permalink"></a></h3><p>The <code>LocalPreferences.toml</code> must be located within the <code>test</code> folder, you can either create it in place or copy it into place.</p><pre><code class="nohighlight hljs">~/MPI&gt; julia --project=test
-julia&gt; using MPIPreferences
-julia&gt; MPIPreferences.use_system_binary()
-~/MPI&gt; rm test/Manifest.toml
-~/MPI&gt; julia --project
-(MPI) pkg&gt; test</code></pre><h3 id="Environment-variables"><a class="docs-heading-anchor" href="#Environment-variables">Environment variables</a><a id="Environment-variables-1"></a><a class="docs-heading-anchor-permalink" href="#Environment-variables" title="Permalink"></a></h3><p>The test suite can also be modified by the following variables:</p><ul><li><code>JULIA_MPI_TEST_NPROCS</code>: How many ranks to use within the tests</li><li><code>JULIA_MPI_TEST_ARRAYTYPE</code>: Set to <code>CuArray</code> or <code>ROCArray</code> to test the CUDA-aware interface with <a href="https://github.com/JuliaGPU/CUDA.jl"><code>CUDA.CuArray</code></a> or the ROCm-aware interface with  <a href="https://github.com/JuliaGPU/AMDGPU.jl"><code>AMDGPU.ROCArray</code></a> or buffers.</li><li><code>JULIA_MPI_TEST_BINARY</code>: Check that the specified MPI binary is used for the tests</li><li><code>JULIA_MPI_TEST_ABI</code>: Check that the specified MPI ABI is used for the tests</li></ul><h2 id="Migration-from-MPI.jl-version-0.19-or-earlier"><a class="docs-heading-anchor" href="#Migration-from-MPI.jl-version-0.19-or-earlier">Migration from MPI.jl version 0.19 or earlier</a><a id="Migration-from-MPI.jl-version-0.19-or-earlier-1"></a><a class="docs-heading-anchor-permalink" href="#Migration-from-MPI.jl-version-0.19-or-earlier" title="Permalink"></a></h2><p>Prior to MPI.jl version 0.20, environment variables were used to configure which MPI library to use. These have now been removed and no longer have any effect:</p><ul><li><code>JULIA_MPI_BINARY</code></li><li><code>JULIA_MPIEXEC</code></li><li><code>JULIA_MPIEXEC_ARGS</code></li><li><code>JULIA_MPI_INCLUDE_PATH</code></li><li><code>JULIA_MPI_CFLAGS</code></li><li><code>JULIA_MPICC</code></li></ul></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../">« MPI.jl</a><a class="docs-footer-nextpage" href="../usage/">Usage »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Thursday 29 September 2022 17:33">Thursday 29 September 2022</span>. Using Julia version 1.8.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR645/examples/01-hello/index.html b/previews/PR645/examples/01-hello/index.html
deleted file mode 100644
index 19d02d2f4..000000000
--- a/previews/PR645/examples/01-hello/index.html
+++ /dev/null
@@ -1,12 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Hello world · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li class="is-active"><a class="tocitem" href>Hello world</a></li><li><a class="tocitem" href="../02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../03-reduce/">Reduce</a></li><li><a class="tocitem" href="../04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../../reference/library/">Library information</a></li><li><a class="tocitem" href="../../reference/environment/">Environment</a></li><li><a class="tocitem" href="../../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../../reference/topology/">Topology</a></li><li><a class="tocitem" href="../../reference/io/">I/O</a></li><li><a class="tocitem" href="../../reference/advanced/">Advanced</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Examples</a></li><li class="is-active"><a href>Hello world</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Hello world</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/01-hello.jl" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Hello-world"><a class="docs-heading-anchor" href="#Hello-world">Hello world</a><a id="Hello-world-1"></a><a class="docs-heading-anchor-permalink" href="#Hello-world" title="Permalink"></a></h1><pre><code class="language-julia hljs"># examples/01-hello.jl
-using MPI
-MPI.Init()
-
-comm = MPI.COMM_WORLD
-print(&quot;Hello world, I am rank $(MPI.Comm_rank(comm)) of $(MPI.Comm_size(comm))\n&quot;)
-MPI.Barrier(comm)</code></pre><pre><code class="nohighlight hljs">&gt; mpiexecjl -n 4 julia examples/01-hello.jl
-Hello world, I am rank 2 of 4
-Hello world, I am rank 3 of 4
-Hello world, I am rank 1 of 4
-Hello world, I am rank 0 of 4</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../../knownissues/">« Known issues</a><a class="docs-footer-nextpage" href="../02-broadcast/">Broadcast »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Thursday 29 September 2022 17:33">Thursday 29 September 2022</span>. Using Julia version 1.8.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR645/examples/02-broadcast/index.html b/previews/PR645/examples/02-broadcast/index.html
deleted file mode 100644
index 2f3de6038..000000000
--- a/previews/PR645/examples/02-broadcast/index.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Broadcast · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../01-hello/">Hello world</a></li><li class="is-active"><a class="tocitem" href>Broadcast</a></li><li><a class="tocitem" href="../03-reduce/">Reduce</a></li><li><a class="tocitem" href="../04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../../reference/library/">Library information</a></li><li><a class="tocitem" href="../../reference/environment/">Environment</a></li><li><a class="tocitem" href="../../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../../reference/topology/">Topology</a></li><li><a class="tocitem" href="../../reference/io/">I/O</a></li><li><a class="tocitem" href="../../reference/advanced/">Advanced</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Examples</a></li><li class="is-active"><a href>Broadcast</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Broadcast</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/02-broadcast.jl" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Broadcast"><a class="docs-heading-anchor" href="#Broadcast">Broadcast</a><a id="Broadcast-1"></a><a class="docs-heading-anchor-permalink" href="#Broadcast" title="Permalink"></a></h1><pre><code class="language-julia hljs"># examples/02-broadcast.jl
-import MPI
-MPI.Init()
-
-comm = MPI.COMM_WORLD
-N = 5
-root = 0
-
-if MPI.Comm_rank(comm) == root
-    print(&quot; Running on $(MPI.Comm_size(comm)) processes\n&quot;)
-end
-MPI.Barrier(comm)
-
-if MPI.Comm_rank(comm) == root
-    A = [i*(1.0 + im*2.0) for i = 1:N]
-else
-    A = Array{ComplexF64}(undef, N)
-end
-
-MPI.Bcast!(A, root, comm)
-
-print(&quot;rank = $(MPI.Comm_rank(comm)), A = $A\n&quot;)
-
-if MPI.Comm_rank(comm) == root
-    B = Dict(&quot;foo&quot; =&gt; &quot;bar&quot;)
-else
-    B = nothing
-end
-
-B = MPI.bcast(B, root, comm)
-print(&quot;rank = $(MPI.Comm_rank(comm)), B = $B\n&quot;)
-
-if MPI.Comm_rank(comm) == root
-    f = x -&gt; x^2 + 2x - 1
-else
-    f = nothing
-end
-
-f = MPI.bcast(f, root, comm)
-print(&quot;rank = $(MPI.Comm_rank(comm)), f(3) = $(f(3))\n&quot;)</code></pre><pre><code class="nohighlight hljs">&gt; mpiexecjl -n 4 julia examples/02-broadcast.jl
- Running on 4 processes
-rank = 0, A = ComplexF64[1.0 + 2.0im, 2.0 + 4.0im, 3.0 + 6.0im, 4.0 + 8.0im, 5.0 + 10.0im]
-rank = 2, A = ComplexF64[1.0 + 2.0im, 2.0 + 4.0im, 3.0 + 6.0im, 4.0 + 8.0im, 5.0 + 10.0im]
-rank = 1, A = ComplexF64[1.0 + 2.0im, 2.0 + 4.0im, 3.0 + 6.0im, 4.0 + 8.0im, 5.0 + 10.0im]
-rank = 3, A = ComplexF64[1.0 + 2.0im, 2.0 + 4.0im, 3.0 + 6.0im, 4.0 + 8.0im, 5.0 + 10.0im]
-rank = 0, B = Dict(&quot;foo&quot; =&gt; &quot;bar&quot;)
-rank = 1, B = Dict(&quot;foo&quot; =&gt; &quot;bar&quot;)
-rank = 3, B = Dict(&quot;foo&quot; =&gt; &quot;bar&quot;)
-rank = 2, B = Dict(&quot;foo&quot; =&gt; &quot;bar&quot;)
-rank = 0, f(3) = 14
-rank = 2, f(3) = 14
-rank = 1, f(3) = 14
-rank = 3, f(3) = 14</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../01-hello/">« Hello world</a><a class="docs-footer-nextpage" href="../03-reduce/">Reduce »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Thursday 29 September 2022 17:33">Thursday 29 September 2022</span>. Using Julia version 1.8.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR645/examples/03-reduce/index.html b/previews/PR645/examples/03-reduce/index.html
deleted file mode 100644
index afd226bc4..000000000
--- a/previews/PR645/examples/03-reduce/index.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Reduce · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../01-hello/">Hello world</a></li><li><a class="tocitem" href="../02-broadcast/">Broadcast</a></li><li class="is-active"><a class="tocitem" href>Reduce</a></li><li><a class="tocitem" href="../04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../../reference/library/">Library information</a></li><li><a class="tocitem" href="../../reference/environment/">Environment</a></li><li><a class="tocitem" href="../../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../../reference/topology/">Topology</a></li><li><a class="tocitem" href="../../reference/io/">I/O</a></li><li><a class="tocitem" href="../../reference/advanced/">Advanced</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Examples</a></li><li class="is-active"><a href>Reduce</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Reduce</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/03-reduce.jl" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Reduce"><a class="docs-heading-anchor" href="#Reduce">Reduce</a><a id="Reduce-1"></a><a class="docs-heading-anchor-permalink" href="#Reduce" title="Permalink"></a></h1><pre><code class="language-julia hljs"># examples/03-reduce.jl
-# This example shows how to use custom datatypes and reduction operators
-# It computes the variance in parallel in a numerically stable way
-
-using MPI, Statistics
-
-MPI.Init()
-const comm = MPI.COMM_WORLD
-const root = 0
-
-# Define a custom struct
-# This contains the summary statistics (mean, variance, length) of a vector
-struct SummaryStat
-    mean::Float64
-    var::Float64
-    n::Float64
-end
-function SummaryStat(X::AbstractArray)
-    m = mean(X)
-    v = varm(X,m, corrected=false)
-    n = length(X)
-    SummaryStat(m,v,n)
-end
-
-# Define a custom reduction operator
-# this computes the pooled mean, pooled variance and total length
-function pool(S1::SummaryStat, S2::SummaryStat)
-    n = S1.n + S2.n
-    m = (S1.mean*S1.n + S2.mean*S2.n) / n
-    v = (S1.n * (S1.var + S1.mean * (S1.mean-m)) +
-         S2.n * (S2.var + S2.mean * (S2.mean-m)))/n
-    SummaryStat(m,v,n)
-end
-
-X = randn(10,3) .* [1,3,7]&#39;
-
-# Perform a scalar reduction
-summ = MPI.Reduce(SummaryStat(X), pool, root, comm)
-
-if MPI.Comm_rank(comm) == root
-    @show summ.var
-end
-
-# Perform a vector reduction:
-# the reduction operator is applied elementwise
-col_summ = MPI.Reduce(mapslices(SummaryStat,X,dims=1), pool, root, comm)
-
-if MPI.Comm_rank(comm) == root
-    col_var = map(summ -&gt; summ.var, col_summ)
-    @show col_var
-end</code></pre><pre><code class="nohighlight hljs">&gt; mpiexecjl -n 4 julia examples/03-reduce.jl
-summ.var = 21.72266603407552
-col_var = [1.0697254613919909 9.498762744749609 54.18321559428405]</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../02-broadcast/">« Broadcast</a><a class="docs-footer-nextpage" href="../04-sendrecv/">Send/receive »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Thursday 29 September 2022 17:33">Thursday 29 September 2022</span>. Using Julia version 1.8.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR645/examples/04-sendrecv/index.html b/previews/PR645/examples/04-sendrecv/index.html
deleted file mode 100644
index 7f52e1f51..000000000
--- a/previews/PR645/examples/04-sendrecv/index.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Send/receive · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../01-hello/">Hello world</a></li><li><a class="tocitem" href="../02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../03-reduce/">Reduce</a></li><li class="is-active"><a class="tocitem" href>Send/receive</a></li><li><a class="tocitem" href="../05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../../reference/library/">Library information</a></li><li><a class="tocitem" href="../../reference/environment/">Environment</a></li><li><a class="tocitem" href="../../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../../reference/topology/">Topology</a></li><li><a class="tocitem" href="../../reference/io/">I/O</a></li><li><a class="tocitem" href="../../reference/advanced/">Advanced</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Examples</a></li><li class="is-active"><a href>Send/receive</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Send/receive</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/04-sendrecv.jl" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Send/receive"><a class="docs-heading-anchor" href="#Send/receive">Send/receive</a><a id="Send/receive-1"></a><a class="docs-heading-anchor-permalink" href="#Send/receive" title="Permalink"></a></h1><pre><code class="language-julia hljs"># examples/04-sendrecv.jl
-using MPI
-MPI.Init()
-
-comm = MPI.COMM_WORLD
-rank = MPI.Comm_rank(comm)
-size = MPI.Comm_size(comm)
-
-dst = mod(rank+1, size)
-src = mod(rank-1, size)
-
-N = 4
-
-send_mesg = Array{Float64}(undef, N)
-recv_mesg = Array{Float64}(undef, N)
-
-fill!(send_mesg, Float64(rank))
-
-rreq = MPI.Irecv!(recv_mesg, src,  src+32, comm)
-
-print(&quot;$rank: Sending   $rank -&gt; $dst = $send_mesg\n&quot;)
-sreq = MPI.Isend(send_mesg, dst, rank+32, comm)
-
-stats = MPI.Waitall!([rreq, sreq])
-
-print(&quot;$rank: Received $src -&gt; $rank = $recv_mesg\n&quot;)
-
-MPI.Barrier(comm)</code></pre><pre><code class="nohighlight hljs">&gt; mpiexecjl -n 4 julia examples/04-sendrecv.jl
-3: Sending   3 -&gt; 0 = [3.0, 3.0, 3.0, 3.0]
-2: Sending   2 -&gt; 3 = [2.0, 2.0, 2.0, 2.0]
-1: Sending   1 -&gt; 2 = [1.0, 1.0, 1.0, 1.0]
-0: Sending   0 -&gt; 1 = [0.0, 0.0, 0.0, 0.0]
-3: Received 2 -&gt; 3 = [2.0, 2.0, 2.0, 2.0]
-1: Received 0 -&gt; 1 = [0.0, 0.0, 0.0, 0.0]
-2: Received 1 -&gt; 2 = [1.0, 1.0, 1.0, 1.0]
-0: Received 3 -&gt; 0 = [3.0, 3.0, 3.0, 3.0]</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../03-reduce/">« Reduce</a><a class="docs-footer-nextpage" href="../05-job_schedule/">Job Scheduling »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Thursday 29 September 2022 17:32">Thursday 29 September 2022</span>. Using Julia version 1.8.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR645/examples/05-job_schedule/index.html b/previews/PR645/examples/05-job_schedule/index.html
deleted file mode 100644
index ffa5b6a7b..000000000
--- a/previews/PR645/examples/05-job_schedule/index.html
+++ /dev/null
@@ -1,172 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Job Scheduling · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../01-hello/">Hello world</a></li><li><a class="tocitem" href="../02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../03-reduce/">Reduce</a></li><li><a class="tocitem" href="../04-sendrecv/">Send/receive</a></li><li class="is-active"><a class="tocitem" href>Job Scheduling</a></li><li><a class="tocitem" href="../06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../../reference/library/">Library information</a></li><li><a class="tocitem" href="../../reference/environment/">Environment</a></li><li><a class="tocitem" href="../../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../../reference/topology/">Topology</a></li><li><a class="tocitem" href="../../reference/io/">I/O</a></li><li><a class="tocitem" href="../../reference/advanced/">Advanced</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Examples</a></li><li class="is-active"><a href>Job Scheduling</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Job Scheduling</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/05-job_schedule.jl" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Job-Scheduling"><a class="docs-heading-anchor" href="#Job-Scheduling">Job Scheduling</a><a id="Job-Scheduling-1"></a><a class="docs-heading-anchor-permalink" href="#Job-Scheduling" title="Permalink"></a></h1><pre><code class="language-julia hljs"># examples/05-job_schedule.jl
-# This example demonstrates a job scheduling through adding the
-# number 100 to every component of the vector data. The root
-# assigns one element to each worker to compute the operation.
-# When the worker is finished, the root sends another element
-# until each element is added 100
-# Inspired on
-# https://www.hpc.ntnu.no/ntnu-hpc-group/vilje/user-guide/software/mpi-and-mpi-io-training-tutorial/basic-mpi/job-queue
-
-using MPI
-
-function job_queue(data,f)
-    MPI.Init()
-
-    comm = MPI.COMM_WORLD
-    rank = MPI.Comm_rank(comm)
-    world_size = MPI.Comm_size(comm)
-    nworkers = world_size - 1
-
-    root = 0
-
-    MPI.Barrier(comm)
-    T = eltype(data)
-    N = size(data)[1]
-    send_mesg = Array{T}(undef, 1)
-    recv_mesg = Array{T}(undef, 1)
-
-    if rank == root # I am root
-
-        idx_recv = 0
-        idx_sent = 1
-
-        new_data = Array{T}(undef, N)
-        # Array of workers requests
-        sreqs_workers = Array{MPI.Request}(undef,nworkers)
-        # -1 = start, 0 = channel not available, 1 = channel available
-        status_workers = ones(nworkers).*-1
-        
-        # Send message to workers
-        for dst in 1:nworkers
-            if idx_sent &gt; N
-                break
-            end
-            send_mesg[1] = data[idx_sent]
-            sreq = MPI.Isend(send_mesg, dst, dst+32, comm)
-            idx_sent += 1
-            sreqs_workers[dst] = sreq
-            status_workers[dst] = 0
-            print(&quot;Root: Sent number $(send_mesg[1]) to Worker $dst\n&quot;)
-        end
-
-        # Send and receive messages until all elements are added
-        while idx_recv != N
-            # Check to see if there is an available message to receive
-            for dst in 1:nworkers
-                if status_workers[dst] == 0
-                    (flag, status) = MPI.Test!(sreqs_workers[dst])
-                    if flag
-                        status_workers[dst] = 1
-                    end
-                end
-            end
-            for dst in 1:nworkers
-                if status_workers[dst] == 1
-                    ismessage, status = MPI.Iprobe(dst,dst+32, comm)
-                    if ismessage
-                        # Receives message
-                        MPI.Recv!(recv_mesg, dst, dst+32, comm)
-                        idx_recv += 1
-                        new_data[idx_recv] = recv_mesg[1]
-                        print(&quot;Root: Received number $(recv_mesg[1]) from Worker $dst\n&quot;)
-                        if idx_sent &lt;= N
-                            send_mesg[1] = data[idx_sent]
-                            # Sends new message
-                            sreq = MPI.Isend(send_mesg, dst, dst+32, comm)
-                            idx_sent += 1
-                            sreqs_workers[dst] = sreq
-                            status_workers[dst] = 1
-                            print(&quot;Root: Sent number $(send_mesg[1]) to Worker $dst\n&quot;)
-                        end
-                    end
-                end
-            end
-        end
-        
-        for dst in 1:nworkers
-            # Termination message to worker
-            send_mesg[1] = -1
-            sreq = MPI.Isend(send_mesg, dst, dst+32, comm)
-            sreqs_workers[dst] = sreq
-            status_workers[dst] = 0
-            print(&quot;Root: Finish Worker $dst\n&quot;)
-        end
-        
-        MPI.Waitall!(sreqs_workers)
-        print(&quot;Root: New data = $new_data\n&quot;)
-    else # If rank == worker
-        # -1 = start, 0 = channel not available, 1 = channel available
-        status_worker = -1
-        while true
-            sreqs_workers = Array{MPI.Request}(undef,1)
-            ismessage, status = MPI.Iprobe(root, rank+32, comm)
-            
-            if ismessage
-                # Receives message
-                MPI.Recv!(recv_mesg, root, rank+32, comm)
-                # Termination message from root
-                if recv_mesg[1] == -1
-                    print(&quot;Worker $rank: Finish\n&quot;)
-                    break
-                end
-                print(&quot;Worker $rank: Received number $(recv_mesg[1]) from root\n&quot;)
-                # Apply function (add number 100) to array
-                send_mesg = f(recv_mesg)
-                sreq = MPI.Isend(send_mesg, root, rank+32, comm)
-                sreqs_workers[1] = sreq
-                status_worker = 0
-            end
-            # Check to see if there is an available message to receive
-            if status_worker == 0
-                (flag, status) = MPI.Test!(sreqs_workers[1])
-                if flag
-                    status_worker = 1
-                end
-            end
-        end
-    end
-    MPI.Barrier(comm)
-    MPI.Finalize()
-end
-
-f = x -&gt; x.+100
-data = collect(1:10)
-job_queue(data,f)</code></pre><pre><code class="nohighlight hljs">&gt; mpiexecjl -n 4 julia examples/05-job_schedule.jl
-Root: Sent number 1 to Worker 1
-Root: Sent number 2 to Worker 2
-Root: Sent number 3 to Worker 3
-Worker 3: Received number 3 from root
-Worker 2: Received number 2 from root
-Worker 1: Received number 1 from root
-Root: Received number 101 from Worker 1
-Root: Sent number 4 to Worker 1
-Worker 1: Received number 4 from root
-Root: Received number 104 from Worker 1
-Root: Sent number 5 to Worker 1
-Worker 1: Received number 5 from root
-Root: Received number 105 from Worker 1
-Root: Sent number 6 to Worker 1
-Worker 1: Received number 6 from root
-Root: Received number 106 from Worker 1
-Root: Sent number 7 to Worker 1
-Worker 1: Received number 7 from root
-Root: Received number 107 from Worker 1
-Root: Sent number 8 to Worker 1
-Worker 1: Received number 8 from root
-Root: Received number 108 from Worker 1
-Root: Sent number 9 to Worker 1
-Worker 1: Received number 9 from root
-Root: Received number 109 from Worker 1
-Root: Sent number 10 to Worker 1
-Worker 1: Received number 10 from root
-Root: Received number 110 from Worker 1
-Root: Received number 102 from Worker 2
-Root: Received number 103 from Worker 3
-Root: Finish Worker 1
-Root: Finish Worker 2
-Worker 2: Finish
-Root: Finish Worker 3
-Root: New data = [101, 104, 105, 106, 107, 108, 109, 110, 102, 103]
-Worker 1: Finish
-Worker 3: Finish</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../04-sendrecv/">« Send/receive</a><a class="docs-footer-nextpage" href="../06-scatterv/">Scatterv and Gatherv »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Thursday 29 September 2022 17:33">Thursday 29 September 2022</span>. Using Julia version 1.8.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR645/examples/06-scatterv/index.html b/previews/PR645/examples/06-scatterv/index.html
deleted file mode 100644
index 3cb3864a6..000000000
--- a/previews/PR645/examples/06-scatterv/index.html
+++ /dev/null
@@ -1,101 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Scatterv and Gatherv · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../01-hello/">Hello world</a></li><li><a class="tocitem" href="../02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../03-reduce/">Reduce</a></li><li><a class="tocitem" href="../04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../05-job_schedule/">Job Scheduling</a></li><li class="is-active"><a class="tocitem" href>Scatterv and Gatherv</a></li><li><a class="tocitem" href="../07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../../reference/library/">Library information</a></li><li><a class="tocitem" href="../../reference/environment/">Environment</a></li><li><a class="tocitem" href="../../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../../reference/topology/">Topology</a></li><li><a class="tocitem" href="../../reference/io/">I/O</a></li><li><a class="tocitem" href="../../reference/advanced/">Advanced</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Examples</a></li><li class="is-active"><a href>Scatterv and Gatherv</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Scatterv and Gatherv</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/06-scatterv.jl" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Scatterv-and-Gatherv"><a class="docs-heading-anchor" href="#Scatterv-and-Gatherv">Scatterv and Gatherv</a><a id="Scatterv-and-Gatherv-1"></a><a class="docs-heading-anchor-permalink" href="#Scatterv-and-Gatherv" title="Permalink"></a></h1><pre><code class="language-julia hljs"># examples/06-scatterv.jl
-# This example shows how to use MPI.Scatterv! and MPI.Gatherv!
-# roughly based on the example from
-# https://stackoverflow.com/a/36082684/392585
-
-using MPI
-
-&quot;&quot;&quot;
-    split_count(N::Integer, n::Integer)
-
-Return a vector of `n` integers which are approximately equally sized and sum to `N`.
-&quot;&quot;&quot;
-function split_count(N::Integer, n::Integer)
-    q,r = divrem(N, n)
-    return [i &lt;= r ? q+1 : q for i = 1:n]
-end
-
-
-MPI.Init()
-
-comm = MPI.COMM_WORLD
-rank = MPI.Comm_rank(comm)
-comm_size = MPI.Comm_size(comm)
-
-root = 0
-
-if rank == root
-    M, N = 4, 7
-
-    test = Float64[i for i = 1:M, j = 1:N]
-    output = similar(test)
-    
-    # Julia arrays are stored in column-major order, so we need to split along the last dimension
-    # dimension
-    M_counts = [M for i = 1:comm_size]
-    N_counts = split_count(N, comm_size)
-
-    # store sizes in 2 * comm_size Array
-    sizes = vcat(M_counts&#39;, N_counts&#39;)
-    size_ubuf = UBuffer(sizes, 2)
-
-    # store number of values to send to each rank in comm_size length Vector
-    counts = vec(prod(sizes, dims=1))
-
-    test_vbuf = VBuffer(test, counts) # VBuffer for scatter
-    output_vbuf = VBuffer(output, counts) # VBuffer for gather
-else
-    # these variables can be set to `nothing` on non-root processes
-    size_ubuf = UBuffer(nothing)
-    output_vbuf = test_vbuf = VBuffer(nothing)
-end
-
-if rank == root
-    println(&quot;Original matrix&quot;)
-    println(&quot;================&quot;)
-    @show test sizes counts
-    println()
-    println(&quot;Each rank&quot;)
-    println(&quot;================&quot;)
-end 
-MPI.Barrier(comm)
-
-local_size = MPI.Scatter(size_ubuf, NTuple{2,Int}, root, comm)
-local_test = MPI.Scatterv!(test_vbuf, zeros(Float64, local_size), root, comm)
-
-for i = 0:comm_size-1
-    if rank == i
-        @show rank local_test
-    end
-    MPI.Barrier(comm)
-end
-
-MPI.Gatherv!(local_test, output_vbuf, root, comm)
-
-if rank == root
-    println()
-    println(&quot;Final matrix&quot;)
-    println(&quot;================&quot;)
-    @show output
-end </code></pre><pre><code class="nohighlight hljs">&gt; mpiexecjl -n 4 julia examples/06-scatterv.jl
-Original matrix
-================
-test = [1.0 1.0 1.0 1.0 1.0 1.0 1.0; 2.0 2.0 2.0 2.0 2.0 2.0 2.0; 3.0 3.0 3.0 3.0 3.0 3.0 3.0; 4.0 4.0 4.0 4.0 4.0 4.0 4.0]
-sizes = [4 4 4 4; 2 2 2 1]
-counts = [8, 8, 8, 4]
-
-Each rank
-================
-rank = 0
-local_test = [1.0 1.0; 2.0 2.0; 3.0 3.0; 4.0 4.0]
-rank = 1
-local_test = [1.0 1.0; 2.0 2.0; 3.0 3.0; 4.0 4.0]
-rank = 2
-local_test = [1.0 1.0; 2.0 2.0; 3.0 3.0; 4.0 4.0]
-rank = 3
-local_test = [1.0; 2.0; 3.0; 4.0;;]
-
-Final matrix
-================
-output = [1.0 1.0 1.0 1.0 1.0 1.0 1.0; 2.0 2.0 2.0 2.0 2.0 2.0 2.0; 3.0 3.0 3.0 3.0 3.0 3.0 3.0; 4.0 4.0 4.0 4.0 4.0 4.0 4.0]</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../05-job_schedule/">« Job Scheduling</a><a class="docs-footer-nextpage" href="../07-rma_active/">Active RMA »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Thursday 29 September 2022 17:33">Thursday 29 September 2022</span>. Using Julia version 1.8.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR645/examples/07-rma_active/index.html b/previews/PR645/examples/07-rma_active/index.html
deleted file mode 100644
index 6b08b0c54..000000000
--- a/previews/PR645/examples/07-rma_active/index.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Active RMA · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../01-hello/">Hello world</a></li><li><a class="tocitem" href="../02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../03-reduce/">Reduce</a></li><li><a class="tocitem" href="../04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../06-scatterv/">Scatterv and Gatherv</a></li><li class="is-active"><a class="tocitem" href>Active RMA</a></li><li><a class="tocitem" href="../08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../../reference/library/">Library information</a></li><li><a class="tocitem" href="../../reference/environment/">Environment</a></li><li><a class="tocitem" href="../../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../../reference/topology/">Topology</a></li><li><a class="tocitem" href="../../reference/io/">I/O</a></li><li><a class="tocitem" href="../../reference/advanced/">Advanced</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Examples</a></li><li class="is-active"><a href>Active RMA</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Active RMA</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/07-rma_active.jl" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Active-RMA"><a class="docs-heading-anchor" href="#Active-RMA">Active RMA</a><a id="Active-RMA-1"></a><a class="docs-heading-anchor-permalink" href="#Active-RMA" title="Permalink"></a></h1><pre><code class="language-julia hljs"># examples/07-rma_active.jl
-# This example demonstrates one-sided communication,
-# specifically activate Remote Memory Access (RMA)
-
-using MPI
-
-MPI.Init()
-const world_sz = MPI.Comm_size(MPI.COMM_WORLD)
-const rank = MPI.Comm_rank(MPI.COMM_WORLD)
-
-# allocate memory
-all_ranks = fill(-1, world_sz)
-# create RMA window on all ranks
-win = MPI.Win_create(all_ranks, MPI.COMM_WORLD)
-
-#### first, let&#39;s MPI.Put on all ranks
-
-# start the communication epoch
-MPI.Win_fence(0, win)
-# each rank writes to exposed windows of rank 0
-# Signature: obj, target_rank, target_displacement, window
-MPI.Put(rank, 0, rank, win)
-# finish the communication epoch
-MPI.Win_fence(0, win)
-# print window content on all ranks
-for j in 0:world_sz-1
-    if rank == j
-        println(&quot;After Put, Rank $rank:&quot;)
-        @show all_ranks
-    end
-    MPI.Barrier(MPI.COMM_WORLD)
-end
-rank == 0 &amp;&amp; println()
-
-#### now, let&#39;s MPI.Get on all ranks
-
-# start the communication epoch
-MPI.Win_fence(0, win)
-# each rank reads from exposed windows of rank 0
-MPI.Get(all_ranks, 0, win)
-# finish the communication epoch
-MPI.Win_fence(0, win)
-# print window content on all ranks
-for j in 0:world_sz-1
-    if rank == j
-        println(&quot;After Get, Rank $rank:&quot;)
-        @show all_ranks
-    end
-    MPI.Barrier(MPI.COMM_WORLD)
-end
-
-# free window
-MPI.free(win)</code></pre><pre><code class="nohighlight hljs">&gt; mpiexecjl -n 4 julia examples/07-rma_active.jl
-After Put, Rank 0:
-all_ranks = [0, 1, 2, 3]
-After Put, Rank 1:
-all_ranks = [-1, -1, -1, -1]
-After Put, Rank 2:
-all_ranks = [-1, -1, -1, -1]
-After Put, Rank 3:
-all_ranks = [-1, -1, -1, -1]
-
-After Get, Rank 0:
-all_ranks = [0, 1, 2, 3]
-After Get, Rank 1:
-all_ranks = [0, 1, 2, 3]
-After Get, Rank 2:
-all_ranks = [0, 1, 2, 3]
-After Get, Rank 3:
-all_ranks = [0, 1, 2, 3]</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../06-scatterv/">« Scatterv and Gatherv</a><a class="docs-footer-nextpage" href="../08-rma_passive/">Passive RMA »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Thursday 29 September 2022 17:32">Thursday 29 September 2022</span>. Using Julia version 1.8.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR645/examples/08-rma_passive/index.html b/previews/PR645/examples/08-rma_passive/index.html
deleted file mode 100644
index 27bb2592c..000000000
--- a/previews/PR645/examples/08-rma_passive/index.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Passive RMA · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../01-hello/">Hello world</a></li><li><a class="tocitem" href="../02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../03-reduce/">Reduce</a></li><li><a class="tocitem" href="../04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../07-rma_active/">Active RMA</a></li><li class="is-active"><a class="tocitem" href>Passive RMA</a></li><li><a class="tocitem" href="../09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../../reference/library/">Library information</a></li><li><a class="tocitem" href="../../reference/environment/">Environment</a></li><li><a class="tocitem" href="../../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../../reference/topology/">Topology</a></li><li><a class="tocitem" href="../../reference/io/">I/O</a></li><li><a class="tocitem" href="../../reference/advanced/">Advanced</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Examples</a></li><li class="is-active"><a href>Passive RMA</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Passive RMA</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/08-rma_passive.jl" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Passive-RMA"><a class="docs-heading-anchor" href="#Passive-RMA">Passive RMA</a><a id="Passive-RMA-1"></a><a class="docs-heading-anchor-permalink" href="#Passive-RMA" title="Permalink"></a></h1><pre><code class="language-julia hljs"># examples/08-rma_passive.jl
-# This example demonstrates one-sided communication,
-# specifically passive Remote Memory Access (RMA)
-
-using MPI
-
-MPI.Init()
-const world_sz = MPI.Comm_size(MPI.COMM_WORLD)
-const rank = MPI.Comm_rank(MPI.COMM_WORLD)
-
-# allocate memory
-all_ranks = fill(-1, world_sz)
-# create RMA window on all ranks
-win = MPI.Win_create(all_ranks, MPI.COMM_WORLD)
-
-# let each rank write its rank number into window
-if rank != 0
-    # lock window (MPI.LOCK_SHARED works as well)
-    MPI.Win_lock(MPI.LOCK_EXCLUSIVE, 0, 0, win)
-    # each rank writes to exposed windows of rank 0
-    # Signature: obj, target_rank, target_displacement, window
-    MPI.Put(rank, 0, rank, win)
-    # finish the communication epoch
-    MPI.Win_unlock(0, win)
-else
-    all_ranks[1] = 0
-end
-
-# wait with printing
-MPI.Win_fence(0, win)
-
-# print window content on all ranks
-if rank == 0
-    println(&quot;After Put with lock / unlock, window content on rank 0:&quot;)
-    @show all_ranks
-end
-
-# free window
-MPI.free(win)</code></pre><pre><code class="nohighlight hljs">&gt; mpiexecjl -n 4 julia examples/08-rma_passive.jl
-After Put with lock / unlock, window content on rank 0:
-all_ranks = [0, 1, 2, 3]</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../07-rma_active/">« Active RMA</a><a class="docs-footer-nextpage" href="../09-graph_communication/">Graph Communication »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Thursday 29 September 2022 17:32">Thursday 29 September 2022</span>. Using Julia version 1.8.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR645/examples/09-graph_communication/index.html b/previews/PR645/examples/09-graph_communication/index.html
deleted file mode 100644
index 856149661..000000000
--- a/previews/PR645/examples/09-graph_communication/index.html
+++ /dev/null
@@ -1,139 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Graph Communication · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../01-hello/">Hello world</a></li><li><a class="tocitem" href="../02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../03-reduce/">Reduce</a></li><li><a class="tocitem" href="../04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../08-rma_passive/">Passive RMA</a></li><li class="is-active"><a class="tocitem" href>Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../../reference/library/">Library information</a></li><li><a class="tocitem" href="../../reference/environment/">Environment</a></li><li><a class="tocitem" href="../../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../../reference/topology/">Topology</a></li><li><a class="tocitem" href="../../reference/io/">I/O</a></li><li><a class="tocitem" href="../../reference/advanced/">Advanced</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Examples</a></li><li class="is-active"><a href>Graph Communication</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Graph Communication</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/09-graph_communication.jl" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Graph-Communication"><a class="docs-heading-anchor" href="#Graph-Communication">Graph Communication</a><a id="Graph-Communication-1"></a><a class="docs-heading-anchor-permalink" href="#Graph-Communication" title="Permalink"></a></h1><pre><code class="language-julia hljs"># examples/09-graph_communication.jl
-using Test
-using MPI
-
-MPI.Init()
-
-comm = MPI.COMM_WORLD
-size = MPI.Comm_size(comm)
-rank = MPI.Comm_rank(comm)
-
-#
-# Setup the following communication graph
-#
-#   +-----+
-#   |     |
-#   v     v
-#   0&lt;-+  3
-#   ^  |  ^
-#   |  |  |
-#   v  |  v
-#   1  +--2
-#   ^     |
-#   |     |
-#   +-----+
-#
-#
-
-if rank == 0
-    dest   = Cint[1,3]
-    degree = Cint[length(dest)]
-elseif rank == 1
-    dest   = Cint[0]
-    degree = Cint[length(dest)]
-elseif rank == 2
-    dest   = Cint[3,0,1]
-    degree = Cint[length(dest)]
-elseif rank == 3
-    dest   = Cint[0,2,1]
-    degree = Cint[length(dest)]
-end
-
-source = Cint[rank]
-graph_comm = MPI.Dist_graph_create(comm, source, degree, dest)
-
-#
-# Now send the rank across the edges.
-#
-# Version 1: use allgather primitive
-#
-
-send = [rank]
-if rank == 0
-    recv = [-1, -1, -1]
-elseif rank == 1
-    recv = [-1, -1, -1]
-elseif rank == 2
-    recv = [-1]
-elseif rank == 3
-    recv = [-1, -1]
-end
-
-MPI.Neighbor_allgather!(send, recv, graph_comm);
-
-println(&quot;rank = $(rank): $(recv)&quot;)
-
-#
-# Version 2: use alltoall primitive
-#
-
-if rank == 0
-    send   = [rank, rank]
-    recv   = [-1, -1, -1]
-elseif rank == 1
-    send = [rank]
-    recv   = [-1, -1, -1]
-elseif rank == 2
-    send = [rank, rank, rank]
-    recv   = [-1]
-elseif rank == 3
-    send = [rank, rank, rank]
-    recv   = [-1, -1]
-end
-
-MPI.Neighbor_alltoall!(UBuffer(send,1), UBuffer(recv,1), graph_comm);
-
-println(&quot;rank = $(rank): $(recv)&quot;)
-
-#
-# Now send the rank exactly rank times across the edges.
-#
-# Rank i receives i+1 values from each adjacent process
-if rank == 0
-    send       = [rank, rank,
-                  rank, rank, rank, rank]
-    send_count = [2, 4]
-
-    recv   = [-1, -1, -1]
-    recv_count = [1, 1, 1]
-elseif rank == 1
-    send       = [rank]
-    send_count = [1]
-
-    recv       = [-1, -1, -1, -1, -1, -1]
-    recv_count = [2, 2, 2]
-elseif rank == 2
-    send       = [rank, rank, rank, rank,
-                  rank,
-                  rank,rank]
-    send_count = [4, 1, 2]
-
-    recv       = [-1, -1, -1]
-    recv_count = [3]
-elseif rank == 3
-    send       = [rank, 
-                  rank, rank,rank,
-                  rank, rank]
-    send_count = [1, 3, 2]
-
-    recv       = [-1, -1, -1, -1, -1, -1, -1, -1]
-    recv_count = [4, 4]
-end
-
-MPI.Neighbor_alltoallv!(VBuffer(send,send_count), VBuffer(recv,recv_count), graph_comm);
-println(&quot;rank = $(rank): $(recv)&quot;)
-
-MPI.Finalize()</code></pre><pre><code class="nohighlight hljs">&gt; mpiexecjl -n 4 julia examples/09-graph_communication.jl
-rank = 3: [0, 2]rank = 1: [3, 2, 0]rank = 2: [3]
-rank = 0: [3, 1, 2]
-
-
-rank = 1: [3, 2, 0]rank = 3: [0, 2]
-rank = 0: [3, 1, 2]
-rank = 2: [3]
-
-rank = 2: [3, 3, 3]
-rank = 1: [3, 3, 2, 2, 0, 0]rank = 0: [3, 1, 2]
-
-rank = 3: [0, 0, 0, 0, 2, 2, 2, 2]</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../08-rma_passive/">« Passive RMA</a><a class="docs-footer-nextpage" href="../../reference/mpipreferences/">MPIPreferences.jl »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Thursday 29 September 2022 17:32">Thursday 29 September 2022</span>. Using Julia version 1.8.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR645/index.html b/previews/PR645/index.html
deleted file mode 100644
index a17df4c84..000000000
--- a/previews/PR645/index.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>MPI.jl · MPI.jl</title><script data-outdated-warner src="assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="assets/documenter.js"></script><script src="siteinfo.js"></script><script src="../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href><img src="assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href>MPI.jl</a></span></div><form class="docs-search" action="search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li class="is-active"><a class="tocitem" href>MPI.jl</a></li><li><a class="tocitem" href="configuration/">Configuration</a></li><li><a class="tocitem" href="usage/">Usage</a></li><li><a class="tocitem" href="knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="reference/library/">Library information</a></li><li><a class="tocitem" href="reference/environment/">Environment</a></li><li><a class="tocitem" href="reference/comm/">Communicators</a></li><li><a class="tocitem" href="reference/buffers/">Buffers</a></li><li><a class="tocitem" href="reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="reference/collective/">Collective communication</a></li><li><a class="tocitem" href="reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="reference/topology/">Topology</a></li><li><a class="tocitem" href="reference/io/">I/O</a></li><li><a class="tocitem" href="reference/advanced/">Advanced</a></li></ul></li><li><a class="tocitem" href="refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>MPI.jl</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>MPI.jl</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/index.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="MPI.jl"><a class="docs-heading-anchor" href="#MPI.jl">MPI.jl</a><a id="MPI.jl-1"></a><a class="docs-heading-anchor-permalink" href="#MPI.jl" title="Permalink"></a></h1><p>This is a basic <a href="http://julialang.org/">Julia</a> wrapper for the portable message passing system Message Passing Interface (<a href="http://www.mpi-forum.org/">MPI</a>). Inspiration is taken from <a href="http://mpi4py.scipy.org">mpi4py</a>, although we generally follow the C and not the C++ MPI API. (The C++ MPI API is deprecated.)</p><p>If you use MPI.jl in your work, please cite the following paper:</p><blockquote><p>Simon Byrne, Lucas C. Wilcox, and Valentin Churavy (2021) &quot;MPI.jl: Julia bindings for the Message Passing Interface&quot;. <em>JuliaCon Proceedings</em>, 1(1), 68, doi: <a href="https://doi.org/10.21105/jcon.00068">10.21105/jcon.00068</a></p></blockquote></article><nav class="docs-footer"><a class="docs-footer-nextpage" href="configuration/">Configuration »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Thursday 29 September 2022 17:33">Thursday 29 September 2022</span>. Using Julia version 1.8.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR645/knownissues/index.html b/previews/PR645/knownissues/index.html
deleted file mode 100644
index ef70b84cd..000000000
--- a/previews/PR645/knownissues/index.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Known issues · MPI.jl</title><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../"><img src="../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../">MPI.jl</a></span></div><form class="docs-search" action="../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../">MPI.jl</a></li><li><a class="tocitem" href="../configuration/">Configuration</a></li><li><a class="tocitem" href="../usage/">Usage</a></li><li class="is-active"><a class="tocitem" href>Known issues</a><ul class="internal"><li><a class="tocitem" href="#Julia-module-precompilation"><span>Julia module precompilation</span></a></li><li><a class="tocitem" href="#Open-MPI"><span>Open MPI</span></a></li><li><a class="tocitem" href="#UCX"><span>UCX</span></a></li><li><a class="tocitem" href="#CUDA-aware-MPI"><span>CUDA-aware MPI</span></a></li><li><a class="tocitem" href="#ROCm-aware-MPI"><span>ROCm-aware MPI</span></a></li><li><a class="tocitem" href="#Microsoft-MPI"><span>Microsoft MPI</span></a></li></ul></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../reference/library/">Library information</a></li><li><a class="tocitem" href="../reference/environment/">Environment</a></li><li><a class="tocitem" href="../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../reference/topology/">Topology</a></li><li><a class="tocitem" href="../reference/io/">I/O</a></li><li><a class="tocitem" href="../reference/advanced/">Advanced</a></li></ul></li><li><a class="tocitem" href="../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>Known issues</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Known issues</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/knownissues.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Known-issues"><a class="docs-heading-anchor" href="#Known-issues">Known issues</a><a id="Known-issues-1"></a><a class="docs-heading-anchor-permalink" href="#Known-issues" title="Permalink"></a></h1><h2 id="Julia-module-precompilation"><a class="docs-heading-anchor" href="#Julia-module-precompilation">Julia module precompilation</a><a id="Julia-module-precompilation-1"></a><a class="docs-heading-anchor-permalink" href="#Julia-module-precompilation" title="Permalink"></a></h2><p>If multiple MPI ranks trigger Julia&#39;s module precompilation, then a race condition can result in an error such as:</p><pre><code class="nohighlight hljs">ERROR: LoadError: IOError: mkdir: file already exists (EEXIST)
-Stacktrace:
- [1] uv_error at ./libuv.jl:97 [inlined]
- [2] mkdir(::String; mode::UInt16) at ./file.jl:177
- [3] mkpath(::String; mode::UInt16) at ./file.jl:227
- [4] mkpath at ./file.jl:222 [inlined]
- [5] compilecache_path(::Base.PkgId) at ./loading.jl:1210
- [6] compilecache(::Base.PkgId, ::String) at ./loading.jl:1240
- [7] _require(::Base.PkgId) at ./loading.jl:1029
- [8] require(::Base.PkgId) at ./loading.jl:927
- [9] require(::Module, ::Symbol) at ./loading.jl:922
- [10] include(::Module, ::String) at ./Base.jl:377
- [11] exec_options(::Base.JLOptions) at ./client.jl:288
- [12] _start() at ./client.jl:484</code></pre><p>See <a href="https://github.com/JuliaLang/julia/pull/30174">julia issue #30174</a> for more discussion of this problem. There are similar issues with Pkg operations, see <a href="https://github.com/JuliaLang/Pkg.jl/issues/1219">Pkg issue #1219</a>.</p><p>This can be worked around be either:</p><ol><li><p>Triggering precompilation before launching MPI processes, for example:</p><pre><code class="nohighlight hljs">julia --project -e &#39;using Pkg; pkg&quot;instantiate&quot;&#39;
-julia --project -e &#39;using Pkg; pkg&quot;precompile&quot;&#39;
-mpiexec julia --project script.jl</code></pre></li><li><p>Launching julia with the  <code>--compiled-modules=no</code> option. This can result in much longer package load times.</p></li></ol><h2 id="Open-MPI"><a class="docs-heading-anchor" href="#Open-MPI">Open MPI</a><a id="Open-MPI-1"></a><a class="docs-heading-anchor-permalink" href="#Open-MPI" title="Permalink"></a></h2><h3 id="Segmentation-fault"><a class="docs-heading-anchor" href="#Segmentation-fault">Segmentation fault</a><a id="Segmentation-fault-1"></a><a class="docs-heading-anchor-permalink" href="#Segmentation-fault" title="Permalink"></a></h3><p>When attempting to use a system-provided Open MPI implementation, you may encounter a segmentation fault. This can be fixed by setting the environment variable <code>ZES_ENABLE_SYSMAN=1</code>. See <a href="https://github.com/open-mpi/ompi/issues/10142">Open MPI issue #10142</a>.</p><h2 id="UCX"><a class="docs-heading-anchor" href="#UCX">UCX</a><a id="UCX-1"></a><a class="docs-heading-anchor-permalink" href="#UCX" title="Permalink"></a></h2><p><a href="https://www.openucx.org/">UCX</a> is a communication framework used by several MPI implementations.</p><h3 id="Memory-cache"><a class="docs-heading-anchor" href="#Memory-cache">Memory cache</a><a id="Memory-cache-1"></a><a class="docs-heading-anchor-permalink" href="#Memory-cache" title="Permalink"></a></h3><p>When used with CUDA, UCX intercepts <code>cudaMalloc</code> so it can determine whether the pointer passed to MPI is on the host (main memory) or the device (GPU). Unfortunately, there are several known issues with how this works with Julia:</p><ul><li><a href="https://github.com/openucx/ucx/issues/5061">UCX issue #5061</a></li><li><a href="https://github.com/openucx/ucx/issues/4001">UCX issue #4001</a> (fixed in UCX v1.7.0)</li></ul><p>By default, MPI.jl disables this by setting</p><pre><code class="nohighlight hljs">ENV[&quot;UCX_MEMTYPE_CACHE&quot;] = &quot;no&quot;</code></pre><p>at <code>__init__</code> which may result in reduced performance, especially for smaller messages.</p><h3 id="Multi-threading-and-signal-handling"><a class="docs-heading-anchor" href="#Multi-threading-and-signal-handling">Multi-threading and signal handling</a><a id="Multi-threading-and-signal-handling-1"></a><a class="docs-heading-anchor-permalink" href="#Multi-threading-and-signal-handling" title="Permalink"></a></h3><p>When using <a href="https://docs.julialang.org/en/v1/manual/parallel-computing/#man-multithreading-1">Julia multi-threading</a>, the Julia garbage collector internally <a href="https://docs.julialang.org/en/v1/devdocs/debuggingtips/#Dealing-with-signals-1">uses <code>SIGSEGV</code> to synchronize threads</a>.</p><p>By default, UCX will error if this signal is raised (<a href="https://github.com/JuliaParallel/MPI.jl/issues/337">#337</a>), resulting in a message such as:</p><pre><code class="nohighlight hljs">Caught signal 11 (Segmentation fault: invalid permissions for mapped object at address 0xXXXXXXXX)</code></pre><p>This signal interception can be controlled by setting the environment variable <code>UCX_ERROR_SIGNALS</code>: if not already defined, MPI.jl will set it as:</p><pre><code class="nohighlight hljs">ENV[&quot;UCX_ERROR_SIGNALS&quot;] = &quot;SIGILL,SIGBUS,SIGFPE&quot;</code></pre><p>at <code>__init__</code>. If set externally, it should be modified to exclude <code>SIGSEGV</code> from the list.</p><h2 id="CUDA-aware-MPI"><a class="docs-heading-anchor" href="#CUDA-aware-MPI">CUDA-aware MPI</a><a id="CUDA-aware-MPI-1"></a><a class="docs-heading-anchor-permalink" href="#CUDA-aware-MPI" title="Permalink"></a></h2><h3 id="Memory-pool"><a class="docs-heading-anchor" href="#Memory-pool">Memory pool</a><a id="Memory-pool-1"></a><a class="docs-heading-anchor-permalink" href="#Memory-pool" title="Permalink"></a></h3><p>Using CUDA-aware MPI on multi-GPU nodes with recent CUDA.jl may trigger (see <a href="https://github.com/JuliaGPU/CUDA.jl/issues/1053#issue-946826096">here</a>)</p><pre><code class="nohighlight hljs">The call to cuIpcGetMemHandle failed. This means the GPU RDMA protocol
-cannot be used.
-  cuIpcGetMemHandle return value:   1</code></pre><p>in the MPI layer, or fail on a segmentation fault (see <a href="https://discourse.julialang.org/t/cuda-aware-mpi-works-on-system-but-not-for-julia/75060">here</a>) with</p><pre><code class="nohighlight hljs">[1642930332.032032] [gcn19:4087661:0] gdr_copy_md.c:122 UCX ERROR gdr_pin_buffer failed. length :65536 ret:22</code></pre><p>This is due to the MPI implementation using legacy <code>cuIpc*</code> APIs, which are incompatible with stream-ordered allocator, now default in CUDA.jl, see <a href="https://github.com/openucx/ucx/issues/7110">UCX issue #7110</a>.</p><p>To circumvent this, one has to ensure the CUDA memory pool to be set to <code>none</code>:</p><pre><code class="nohighlight hljs">export JULIA_CUDA_MEMORY_POOL=none</code></pre><p><em>More about CUDA.jl <a href="https://cuda.juliagpu.org/stable/usage/memory/#Memory-pool">memory environment-variables</a>.</em></p><h3 id="Hints-to-ensure-CUDA-aware-MPI-to-be-functional"><a class="docs-heading-anchor" href="#Hints-to-ensure-CUDA-aware-MPI-to-be-functional">Hints to ensure CUDA-aware MPI to be functional</a><a id="Hints-to-ensure-CUDA-aware-MPI-to-be-functional-1"></a><a class="docs-heading-anchor-permalink" href="#Hints-to-ensure-CUDA-aware-MPI-to-be-functional" title="Permalink"></a></h3><p>Make sure to:</p><ul><li>Have MPI and CUDA on path (or module loaded) that were used to build the CUDA-aware MPI</li><li>Set the following environment variables:   <code>export JULIA_CUDA_MEMORY_POOL=none   export JULIA_CUDA_USE_BINARYBUILDER=false</code></li><li>Add CUDA, MPIPreferences, and MPI packages in Julia. Switch to using the system binary   <code>julia -e &#39;using Pkg; pkg&quot;add CUDA, MPIPreferences, MPI&quot;&#39;   julia -e &#39;using MPIPreferences; MPIPreferences.use_system_binary()&#39;</code></li><li>Then in Julia, upon loading MPI and CUDA modules, you can check<ul><li>CUDA version: <code>CUDA.versioninfo()</code></li><li>If MPI has CUDA: <code>MPI.has_cuda()</code></li><li>If you are using correct MPI library: <code>MPI.libmpi</code></li></ul></li></ul><p>After that, it may be preferred to run the Julia MPI script (as suggested <a href="https://discourse.julialang.org/t/cuda-aware-mpi-works-on-system-but-not-for-julia/75060/11">here</a>) launching it from a shell script (as suggested <a href="https://discourse.julialang.org/t/cuda-aware-mpi-works-on-system-but-not-for-julia/75060/4">here</a>).</p><h2 id="ROCm-aware-MPI"><a class="docs-heading-anchor" href="#ROCm-aware-MPI">ROCm-aware MPI</a><a id="ROCm-aware-MPI-1"></a><a class="docs-heading-anchor-permalink" href="#ROCm-aware-MPI" title="Permalink"></a></h2><h3 id="Hints-to-ensure-ROCm-aware-MPI-to-be-functional"><a class="docs-heading-anchor" href="#Hints-to-ensure-ROCm-aware-MPI-to-be-functional">Hints to ensure ROCm-aware MPI to be functional</a><a id="Hints-to-ensure-ROCm-aware-MPI-to-be-functional-1"></a><a class="docs-heading-anchor-permalink" href="#Hints-to-ensure-ROCm-aware-MPI-to-be-functional" title="Permalink"></a></h3><p>Make sure to:</p><ul><li>Have MPI and ROCm on path (or module loaded) that were used to build the ROCm-aware MPI</li><li>Add AMDGPU and MPI packages in Julia:    <code>julia -e &#39;using Pkg; pkg&quot;add AMDGPU&quot;; pkg&quot;add MPI&quot;; using MPI; MPI.use_system_binary()&#39;</code></li><li>Then in Julia, upon loading MPI and CUDA modules, you can check<ul><li>AMDGPU version: <code>AMDGPU.versioninfo()</code></li><li>If you are using correct MPI implementation: <code>MPI.identify_implementation()</code></li></ul></li></ul><p>After that, <a href="https://gist.github.com/luraess/c228ec08629737888a18c6a1e397643c">this script</a> can be used to verify if ROCm-aware MPI is functional (modified after the CUDA-aware version from <a href="https://discourse.julialang.org/t/cuda-aware-mpi-works-on-system-but-not-for-julia/75060/11">here</a>). It may be preferred to run the Julia ROCm-aware MPI script launching it from a shell script (as suggested <a href="https://discourse.julialang.org/t/cuda-aware-mpi-works-on-system-but-not-for-julia/75060/4">here</a>).</p><h2 id="Microsoft-MPI"><a class="docs-heading-anchor" href="#Microsoft-MPI">Microsoft MPI</a><a id="Microsoft-MPI-1"></a><a class="docs-heading-anchor-permalink" href="#Microsoft-MPI" title="Permalink"></a></h2><h3 id="Custom-operators-on-32-bit-Windows"><a class="docs-heading-anchor" href="#Custom-operators-on-32-bit-Windows">Custom operators on 32-bit Windows</a><a id="Custom-operators-on-32-bit-Windows-1"></a><a class="docs-heading-anchor-permalink" href="#Custom-operators-on-32-bit-Windows" title="Permalink"></a></h3><p>It is not possible to use <a href="https://github.com/JuliaParallel/MPI.jl/issues/246">custom operators with 32-bit Microsoft MPI</a>, as it uses the <code>stdcall</code> calling convention, which is not supported by <a href="https://docs.julialang.org/en/v1/manual/calling-c-and-fortran-code/index.html#Creating-C-Compatible-Julia-Function-Pointers-1">Julia&#39;s C-compatible function pointers</a>.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../usage/">« Usage</a><a class="docs-footer-nextpage" href="../examples/01-hello/">Hello world »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Thursday 29 September 2022 17:33">Thursday 29 September 2022</span>. Using Julia version 1.8.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR645/reference/advanced/index.html b/previews/PR645/reference/advanced/index.html
deleted file mode 100644
index 6ab9b98fe..000000000
--- a/previews/PR645/reference/advanced/index.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Advanced · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../library/">Library information</a></li><li><a class="tocitem" href="../environment/">Environment</a></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li class="is-active"><a class="tocitem" href>Advanced</a><ul class="internal"><li><a class="tocitem" href="#Object-handling"><span>Object handling</span></a></li><li><a class="tocitem" href="#Datatype-objects"><span>Datatype objects</span></a></li><li><a class="tocitem" href="#Operator-objects"><span>Operator objects</span></a></li><li><a class="tocitem" href="#Info-objects"><span>Info objects</span></a></li><li><a class="tocitem" href="#Error-handler-objects"><span>Error handler objects</span></a></li><li><a class="tocitem" href="#Miscellaneous"><span>Miscellaneous</span></a></li></ul></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>Advanced</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Advanced</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/advanced.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Advanced"><a class="docs-heading-anchor" href="#Advanced">Advanced</a><a id="Advanced-1"></a><a class="docs-heading-anchor-permalink" href="#Advanced" title="Permalink"></a></h1><h2 id="Object-handling"><a class="docs-heading-anchor" href="#Object-handling">Object handling</a><a id="Object-handling-1"></a><a class="docs-heading-anchor-permalink" href="#Object-handling" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.free" href="#MPI.free"><code>MPI.free</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.free(obj)</code></pre><p>Free the MPI object handle <code>obj</code>. This is typically used as the finalizer, and so need not be called directly unless otherwise noted.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/environment.jl#L35-L39">source</a></section></article><h2 id="Datatype-objects"><a class="docs-heading-anchor" href="#Datatype-objects">Datatype objects</a><a id="Datatype-objects-1"></a><a class="docs-heading-anchor-permalink" href="#Datatype-objects" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Datatype" href="#MPI.Datatype"><code>MPI.Datatype</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">Datatype</code></pre><p>A <code>Datatype</code> represents the layout of the data in memory.</p><p><strong>Usage</strong></p><pre><code class="nohighlight hljs">Datatype(T)</code></pre><p>Either return the predefined <code>Datatype</code> corresponding to <code>T</code>, or create a new <code>Datatype</code> for the Julia type <code>T</code>, calling <a href="#MPI.Types.commit!"><code>Types.commit!</code></a> so that it can be used for communication operations.</p><p>Note that this can only be called on types for which <code>isbitstype(T)</code> is <code>true</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/datatypes.jl#L1-L15">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.to_type" href="#MPI.to_type"><code>MPI.to_type</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">to_type(datatype::Datatype)</code></pre><p>Return the Julia type corresponding to the MPI <a href="#MPI.Datatype"><code>Datatype</code></a> <code>datatype</code>, or <code>nothing</code> if it doesn&#39;t correspond directly.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/datatypes.jl#L86-L91">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Types.extent" href="#MPI.Types.extent"><code>MPI.Types.extent</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">lb, extent = MPI.Types.extent(dt::MPI.Datatype)</code></pre><p>Gets the lowerbound <code>lb</code> and the extent <code>extent</code> in bytes.</p><p><strong>External links</strong></p><ul><li><code>MPI_Type_get_extent</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_get_extent.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_get_extent.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/datatypes.jl#L200-L207">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Types.create_contiguous" href="#MPI.Types.create_contiguous"><code>MPI.Types.create_contiguous</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.Types.create_contiguous(count::Integer, oldtype::MPI.Datatype)</code></pre><p>Create a derived <a href="#MPI.Datatype"><code>Datatype</code></a> that replicates <code>oldtype</code> into <code>count</code> contiguous locations.</p><p>Note that <a href="#MPI.Types.commit!"><code>MPI.Types.commit!</code></a> must be used before the datatype can be used for communication.</p><p><strong>External links</strong></p><ul><li><code>MPI_Type_contiguous</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_contiguous.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_contiguous.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/datatypes.jl#L219-L229">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Types.create_vector" href="#MPI.Types.create_vector"><code>MPI.Types.create_vector</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.Types.create_vector(count::Integer, blocklength::Integer, stride::Integer, oldtype::MPI.Datatype)</code></pre><p>Create a derived <a href="#MPI.Datatype"><code>Datatype</code></a> that replicates <code>oldtype</code> into locations that consist of equally spaced blocks.</p><p>Note that <a href="#MPI.Types.commit!"><code>MPI.Types.commit!</code></a> must be used before the datatype can be used for communication.</p><p><strong>Example</strong></p><pre><code class="language-julia hljs">datatype = MPI.Types.create_vector(3, 2, 5, MPI.Datatype(Int64))
-MPI.Types.commit!(datatype)</code></pre><p>will create a datatype with the following layout</p><pre><code class="nohighlight hljs">|&lt;-----&gt;|  block length
-
-+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
-| X | X |   |   |   | X | X |   |   |   | X | X |   |   |   |
-+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
-
-|&lt;---- stride -----&gt;|</code></pre><p>where each segment represents an <code>Int64</code>.</p><p>(image by Jonathan Dursi, <a href="https://stackoverflow.com/a/10788351/392585">https://stackoverflow.com/a/10788351/392585</a>)</p><p><strong>External links</strong></p><ul><li><code>MPI_Type_vector</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_vector.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_vector.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/datatypes.jl#L243-L274">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Types.create_subarray" href="#MPI.Types.create_subarray"><code>MPI.Types.create_subarray</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.Types.create_subarray(sizes, subsizes, offset, oldtype::Datatype;
-                          rowmajor=false)</code></pre><p>Creates a derived <a href="#MPI.Datatype"><code>Datatype</code></a> describing an <code>N</code>-dimensional subarray of size <code>subsizes</code> of an <code>N</code>-dimensional array of size <code>sizes</code> and element type <code>oldtype</code>, with the first element offset by <code>offset</code> (i.e. the 0-based index of the first element).</p><p>Column-major indexing (used by Julia and Fortran) is assumed; use the keyword <code>rowmajor=true</code> to specify row-major layout (used by C and numpy).</p><p>Note that <a href="#MPI.Types.commit!"><code>MPI.Types.commit!</code></a> must be used before the datatype can be used for communication.</p><p><strong>External links</strong></p><ul><li><code>MPI_Type_create_subarray</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_subarray.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_subarray.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/datatypes.jl#L287-L303">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Types.create_struct" href="#MPI.Types.create_struct"><code>MPI.Types.create_struct</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.Types.create_struct(blocklengths, displacements, types)</code></pre><p>Creates a derived <a href="#MPI.Datatype"><code>Datatype</code></a> describing a struct layout.</p><p>Note that <a href="#MPI.Types.commit!"><code>MPI.Types.commit!</code></a> must be used before the datatype can be used for communication.</p><p><strong>External links</strong></p><ul><li><code>MPI_Type_create_struct</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_struct.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_struct.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/datatypes.jl#L323-L333">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Types.create_resized" href="#MPI.Types.create_resized"><code>MPI.Types.create_resized</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.Types.create_resized(oldtype::Datatype, lb::Integer, extent::Integer)</code></pre><p>Creates a new <a href="#MPI.Datatype"><code>Datatype</code></a> that is identical to <code>oldtype</code>, except that the lower bound of this new datatype is set to be <code>lb</code>, and its upper bound is set to be <code>lb + extent</code>.</p><p>Note that <a href="#MPI.Types.commit!"><code>MPI.Types.commit!</code></a> must be used before the datatype can be used for communication.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Types.extent"><code>MPI.Types.extent</code></a></li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Type_create_resized</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_resized.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_resized.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/datatypes.jl#L357-L372">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Types.commit!" href="#MPI.Types.commit!"><code>MPI.Types.commit!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.Types.commit!(newtype::Datatype)</code></pre><p>Commits the <a href="#MPI.Datatype"><code>Datatype</code></a> <code>newtype</code> so that it can be used for communication. Returns <code>newtype</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Type_commit</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_commit.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_commit.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/datatypes.jl#L402-L410">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Types.duplicate" href="#MPI.Types.duplicate"><code>MPI.Types.duplicate</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.Types.duplicate(oldtype::Datatype)</code></pre><p>Duplicates the datatype <code>oldtype</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Type_dup</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_dup.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_dup.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/datatypes.jl#L392-L399">source</a></section></article><h2 id="Operator-objects"><a class="docs-heading-anchor" href="#Operator-objects">Operator objects</a><a id="Operator-objects-1"></a><a class="docs-heading-anchor-permalink" href="#Operator-objects" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Op" href="#MPI.Op"><code>MPI.Op</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">Op</code></pre><p>An MPI reduction operator, for use with <a href="../collective/#Reduce/Scan">Reduce/Scan collective operations</a> to wrap binary operators. MPI.jl will perform this conversion automatically.</p><p><strong>Usage</strong></p><pre><code class="nohighlight hljs">Op(op, T=Any; iscommutative=false)</code></pre><p>Wrap the Julia reduction function <code>op</code> for arguments of type <code>T</code>. <code>op</code> is assumed to be associative, and if <code>iscommutative</code> is true, assumed to be commutative as well.</p><p><strong>See also</strong></p><ul><li><a href="../collective/#MPI.Reduce!"><code>Reduce!</code></a>/<a href="../collective/#MPI.Reduce"><code>Reduce</code></a></li><li><a href="../collective/#MPI.Allreduce!"><code>Allreduce!</code></a>/<a href="../collective/#MPI.Allreduce"><code>Allreduce</code></a></li><li><a href="../collective/#MPI.Scan!"><code>Scan!</code></a>/<a href="../collective/#MPI.Scan"><code>Scan</code></a></li><li><a href="../collective/#MPI.Exscan!"><code>Exscan!</code></a>/<a href="../collective/#MPI.Exscan"><code>Exscan</code></a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/operators.jl#L1-L19">source</a></section></article><h2 id="Info-objects"><a class="docs-heading-anchor" href="#Info-objects">Info objects</a><a id="Info-objects-1"></a><a class="docs-heading-anchor-permalink" href="#Info-objects" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Info" href="#MPI.Info"><code>MPI.Info</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">Info &lt;: AbstractDict{Symbol,String}</code></pre><p><code>MPI.Info</code> objects store key-value pairs, and are typically used for passing optional arguments to MPI functions.</p><p><strong>Usage</strong></p><p>These will typically be hidden from user-facing APIs by splatting keywords, e.g.</p><pre><code class="language-julia hljs">function f(args...; kwargs...)
-    info = Info(kwargs...)
-    # pass `info` object to `ccall`
-end</code></pre><p>For manual usage, <code>Info</code> objects act like Julia <code>Dict</code> objects:</p><pre><code class="language-julia hljs">info = Info(init=true) # keyword argument is required
-info[key] = value
-x = info[key]
-delete!(info, key)</code></pre><p>If <code>init=false</code> is used in the costructor (the default), a &quot;null&quot; <code>Info</code> object will be returned: no keys can be added to such an object.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/info.jl#L1-L27">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.infoval" href="#MPI.infoval"><code>MPI.infoval</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">infoval(x)</code></pre><p>Convert Julia object <code>x</code> to a string representation for storing in an <a href="#MPI.Info"><code>Info</code></a> object.</p><p>The MPI specification allows passing strings, Boolean values, integers, and lists.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/info.jl#L66-L72">source</a></section></article><h2 id="Error-handler-objects"><a class="docs-heading-anchor" href="#Error-handler-objects">Error handler objects</a><a id="Error-handler-objects-1"></a><a class="docs-heading-anchor-permalink" href="#Error-handler-objects" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Errhandler" href="#MPI.Errhandler"><code>MPI.Errhandler</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.Errhandler</code></pre><p>An MPI error handler object. Currently only two are supported:</p><ul><li><code>ERRORS_ARE_FATAL</code> (default): program will immediately abort</li><li><code>ERRORS_RETURN</code>: program will throw an <code>MPIError</code>.</li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/errhandler.jl#L1-L8">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.get_errorhandler" href="#MPI.get_errorhandler"><code>MPI.get_errorhandler</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.get_errorhandler(comm::MPI.Comm)
-MPI.get_errorhandler(win::MPI.Win)
-MPI.get_errorhandler(file::MPI.File.FileHandle)</code></pre><p>Get the current <a href="#MPI.Errhandler"><code>Errhandler</code></a> for the relevant MPI object.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.set_errorhandler!"><code>set_errorhandler!</code></a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/errhandler.jl#L39-L48">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.set_errorhandler!" href="#MPI.set_errorhandler!"><code>MPI.set_errorhandler!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.set_errorhandler!(comm::MPI.Comm, errh::Errhandler)
-MPI.set_errorhandler!(win::MPI.Win, errh::Errhandler)
-MPI.set_errorhandler!(file::MPI.File.FileHandle, errh::Errhandler)</code></pre><p>Set the <a href="#MPI.Errhandler"><code>Errhandler</code></a> for the relevant MPI object.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.get_errorhandler"><code>get_errorhandler</code></a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/errhandler.jl#L65-L74">source</a></section></article><h2 id="Miscellaneous"><a class="docs-heading-anchor" href="#Miscellaneous">Miscellaneous</a><a id="Miscellaneous-1"></a><a class="docs-heading-anchor-permalink" href="#Miscellaneous" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Consts.@const_ref" href="#MPI.Consts.@const_ref"><code>MPI.Consts.@const_ref</code></a> — <span class="docstring-category">Macro</span></header><section><div><pre><code class="language-julia hljs">@const_ref name T expr</code></pre><p>Defines an constant binding</p><pre><code class="language-julia hljs">const name = Ref{T}()</code></pre><p>and adds a hook to execute</p><pre><code class="language-julia hljs">name[] = expr</code></pre><p>at module initialization time.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/consts/consts.jl#L12-L24">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../io/">« I/O</a><a class="docs-footer-nextpage" href="../../refindex/">Index »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Thursday 29 September 2022 17:33">Thursday 29 September 2022</span>. Using Julia version 1.8.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR645/reference/buffers/index.html b/previews/PR645/reference/buffers/index.html
deleted file mode 100644
index 43ddefd62..000000000
--- a/previews/PR645/reference/buffers/index.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Buffers · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../library/">Library information</a></li><li><a class="tocitem" href="../environment/">Environment</a></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li class="is-active"><a class="tocitem" href>Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../advanced/">Advanced</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>Buffers</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Buffers</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/buffers.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Buffers"><a class="docs-heading-anchor" href="#Buffers">Buffers</a><a id="Buffers-1"></a><a class="docs-heading-anchor-permalink" href="#Buffers" title="Permalink"></a></h1><p>Buffers are used for sending and receiving data. MPI.jl provides the following buffer types:</p><article class="docstring"><header><a class="docstring-binding" id="MPI.IN_PLACE" href="#MPI.IN_PLACE"><code>MPI.IN_PLACE</code></a> — <span class="docstring-category">Constant</span></header><section><div><pre><code class="language-julia hljs">MPI.IN_PLACE</code></pre><p>A sentinel value that can be passed as a buffer argument for certain collective operations to use the same buffer for send and receive operations.</p><ul><li><p><a href="../collective/#MPI.Scatter!"><code>Scatter!</code></a> and <a href="../collective/#MPI.Scatterv!"><code>Scatterv!</code></a>: can be used as the <code>recvbuf</code> argument on the root process.</p></li><li><p><a href="../collective/#MPI.Gather!"><code>Gather!</code></a> and <a href="../collective/#MPI.Gatherv!"><code>Gatherv!</code></a>: can be used as the <code>sendbuf</code> argument on the root process.</p></li><li><p><a href="../collective/#MPI.Allgather!"><code>Allgather!</code></a>, <a href="../collective/#MPI.Allgatherv!"><code>Allgatherv!</code></a>, <a href="../collective/#MPI.Alltoall!"><code>Alltoall!</code></a> and <a href="../collective/#MPI.Alltoallv!"><code>Alltoallv!</code></a>: can be used as the <code>sendbuf</code> argument on all processes.</p></li><li><p><a href="../collective/#MPI.Reduce!"><code>Reduce!</code></a> (root only), <a href="../collective/#MPI.Allreduce!"><code>Allreduce!</code></a>, <a href="../collective/#MPI.Scan!"><code>Scan!</code></a> and <a href="../collective/#MPI.Exscan!"><code>Exscan!</code></a>: can be used as <code>sendbuf</code> argument.</p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/buffers.jl#L60-L78">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Buffer" href="#MPI.Buffer"><code>MPI.Buffer</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.Buffer</code></pre><p>An MPI buffer for communication with a single rank. It is used for point-to-point and one-sided operations, as well as some collective operations. Operations will implicitly construct a <code>Buffer</code> when required via the generic constructor, but it can be advantageous to manually construct <code>Buffer</code>s when doing so incurs additional overhead, for example when using a non-predefined <a href="../advanced/#MPI.Datatype"><code>MPI.Datatype</code></a>.</p><p><strong>Fields</strong></p><ul><li><p><code>data</code></p><p>a Julia object referencing a region of memory to be used for communication. It is required that the object can be <code>cconvert</code>ed to an <a href="#MPI.MPIPtr"><code>MPIPtr</code></a>.</p></li><li><p><code>count</code></p><p>the number of elements of <code>datatype</code> in the buffer. Note that this may not correspond to the number of elements in the array if derived types are used.</p></li><li><p><code>datatype</code></p><p>the <a href="../advanced/#MPI.Datatype"><code>MPI.Datatype</code></a> stored in the buffer.</p></li></ul><p><strong>Usage</strong></p><pre><code class="nohighlight hljs">Buffer(data, count::Integer, datatype::Datatype)</code></pre><p>Generic constructor.</p><pre><code class="nohighlight hljs">Buffer(data)</code></pre><p>Construct a <code>Buffer</code> backed by <code>data</code>, automatically determining the appropriate <code>count</code> and <code>datatype</code>. Methods are provided for</p><ul><li><code>Ref</code></li><li><code>Array</code></li><li><code>CUDA.CuArray</code> if CUDA.jl is loaded.</li><li><code>AMDGPU.ROCArray</code> if AMDGPU.jl is loaded.</li><li><code>SubArray</code>s of an <code>Array</code>, <code>CUDA.CuArray</code> or <code>AMDGPU.ROCArray</code> where the layout is contiguous, sequential or blocked.</li></ul><p><strong>See also</strong></p><ul><li><a href="#MPI.Buffer_send"><code>Buffer_send</code></a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/buffers.jl#L84-L115">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Buffer_send" href="#MPI.Buffer_send"><code>MPI.Buffer_send</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Buffer_send(data)</code></pre><p>Construct a <a href="#MPI.Buffer"><code>Buffer</code></a> object for a send operation from <code>data</code>, allowing cases where <code>isbits(data)</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/buffers.jl#L167-L172">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.UBuffer" href="#MPI.UBuffer"><code>MPI.UBuffer</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.UBuffer</code></pre><p>An MPI buffer for chunked collective communication, where all chunks are of uniform size.</p><p><strong>Fields</strong></p><ul><li><p><code>data</code></p><p>A Julia object referencing a region of memory to be used for communication. It is required that the object can be <code>cconvert</code>ed to an <a href="#MPI.MPIPtr"><code>MPIPtr</code></a>.</p></li><li><p><code>count</code></p><p>The number of elements of <code>datatype</code> in each chunk.</p></li><li><p><code>nchunks</code></p><p>The maximum number of chunks stored in the buffer. This is used only for validation, and can be set to <code>nothing</code> to disable checks.</p></li><li><p><code>datatype</code></p><p>The <a href="../advanced/#MPI.Datatype"><code>MPI.Datatype</code></a> stored in the buffer.</p></li></ul><p><strong>Usage</strong></p><pre><code class="nohighlight hljs">UBuffer(data, count::Integer, nchunks::Union{Nothing, Integer}, datatype::Datatype)</code></pre><p>Generic constructor.</p><pre><code class="nohighlight hljs">UBuffer(data, count::Integer)</code></pre><p>Construct a <code>UBuffer</code> backed by <code>data</code>, where <code>count</code> is the number of elements in each chunk.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.VBuffer"><code>VBuffer</code></a>: similar, but supports chunks of non-uniform sizes.</li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/buffers.jl#L183-L204">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.VBuffer" href="#MPI.VBuffer"><code>MPI.VBuffer</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.VBuffer</code></pre><p>An MPI buffer for chunked collective communication, where chunks can be of different sizes and at different offsets.</p><p><strong>Fields</strong></p><ul><li><p><code>data</code></p><p>A Julia object referencing a region of memory to be used for communication. It is required that the object can be <code>cconvert</code>ed to an <a href="#MPI.MPIPtr"><code>MPIPtr</code></a>.</p></li><li><p><code>counts</code></p><p>An array containing the length of each chunk.</p></li><li><p><code>displs</code></p><p>An array containing the (0-based) displacements of each chunk.</p></li><li><p><code>datatype</code></p><p>The <a href="../advanced/#MPI.Datatype"><code>MPI.Datatype</code></a> stored in the buffer.</p></li></ul><p><strong>Usage</strong></p><pre><code class="nohighlight hljs">VBuffer(data, counts[, displs[, datatype]])</code></pre><p>Construct a <code>VBuffer</code> backed by <code>data</code>, where <code>counts[j]</code> is the number of elements in the <code>j</code>th chunk, and <code>displs[j]</code> is the 0-based displacement. In other words, the <code>j</code>th chunk occurs in indices <code>displs[j]+1:displs[j]+counts[j]</code>.</p><p>The default value for <code>displs[j] = sum(counts[1:j-1])</code>.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.UBuffer"><code>UBuffer</code></a> when chunks are all of the same size.</li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/buffers.jl#L235-L257">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.RBuffer" href="#MPI.RBuffer"><code>MPI.RBuffer</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.RBuffer</code></pre><p>An MPI buffer for reduction operations (<a href="../collective/#MPI.Reduce!"><code>MPI.Reduce!</code></a>, <a href="../collective/#MPI.Allreduce!"><code>MPI.Allreduce!</code></a>, <a href="../collective/#MPI.Scan!"><code>MPI.Scan!</code></a>, <a href="../collective/#MPI.Exscan!"><code>MPI.Exscan!</code></a>).</p><p><strong>Fields</strong></p><ul><li><p><code>senddata</code></p><p>A Julia object referencing a region of memory to be used for the send buffer. It is required that the object can be <code>cconvert</code>ed to an <a href="#MPI.MPIPtr"><code>MPIPtr</code></a>.</p></li><li><p><code>recvdata</code></p><p>A Julia object referencing a region of memory to be used for the receive buffer. It is required that the object can be <code>cconvert</code>ed to an <a href="#MPI.MPIPtr"><code>MPIPtr</code></a>.</p></li><li><p><code>count</code></p><p>the number of elements of <code>datatype</code> in the buffer. Note that this may not correspond to the number of elements in the array if derived types are used.</p></li><li><p><code>datatype</code></p><p>the <a href="../advanced/#MPI.Datatype"><code>MPI.Datatype</code></a> stored in the buffer.</p></li></ul><p><strong>Usage</strong></p><pre><code class="nohighlight hljs">RBuffer(senddata, recvdata[, count, datatype])</code></pre><p>Generic constructor.</p><pre><code class="nohighlight hljs">RBuffer(senddata, recvdata)</code></pre><p>Construct a <code>Buffer</code> backed by <code>senddata</code> and <code>recvdata</code>, automatically determining the appropriate <code>count</code> and <code>datatype</code>.</p><ul><li><code>senddata</code> can be <a href="#MPI.IN_PLACE"><code>MPI.IN_PLACE</code></a></li><li><code>recvdata</code> can be <code>nothing</code> on a non-root node with <a href="../collective/#MPI.Reduce!"><code>MPI.Reduce!</code></a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/buffers.jl#L295-L316">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.MPIPtr" href="#MPI.MPIPtr"><code>MPI.MPIPtr</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.MPIPtr</code></pre><p>A pointer to an MPI buffer. This type is used only as part of the implicit conversion in <code>ccall</code>: a Julia object can be passed to MPI by defining methods for <code>Base.cconvert(::Type{MPIPtr}, ...)</code>/<code>Base.unsafe_convert(::Type{MPIPtr}, ...)</code>.</p><p>Currently supported are:</p><ul><li><code>Ptr</code></li><li><code>Ref</code></li><li><code>Array</code></li><li><code>SubArray</code></li><li><code>CUDA.CuArray</code> if CUDA.jl is loaded.</li><li><code>AMDGPU.ROCArray</code> if AMDGPU.jl is loaded.</li></ul><p>Additionally, certain sentinel values can be used, e.g. <code>MPI_IN_PLACE</code> or <code>MPI_BOTTOM</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/buffers.jl#L34-L50">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../comm/">« Communicators</a><a class="docs-footer-nextpage" href="../pointtopoint/">Point-to-point communication »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Thursday 29 September 2022 17:33">Thursday 29 September 2022</span>. Using Julia version 1.8.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR645/reference/collective/index.html b/previews/PR645/reference/collective/index.html
deleted file mode 100644
index 298600da7..000000000
--- a/previews/PR645/reference/collective/index.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Collective communication · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../library/">Library information</a></li><li><a class="tocitem" href="../environment/">Environment</a></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li class="is-active"><a class="tocitem" href>Collective communication</a><ul class="internal"><li><a class="tocitem" href="#Synchronization"><span>Synchronization</span></a></li><li><a class="tocitem" href="#Broadcast"><span>Broadcast</span></a></li><li><a class="tocitem" href="#Gather/Scatter"><span>Gather/Scatter</span></a></li><li><a class="tocitem" href="#Reduce/Scan"><span>Reduce/Scan</span></a></li></ul></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../advanced/">Advanced</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>Collective communication</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Collective communication</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/collective.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Collective-communication"><a class="docs-heading-anchor" href="#Collective-communication">Collective communication</a><a id="Collective-communication-1"></a><a class="docs-heading-anchor-permalink" href="#Collective-communication" title="Permalink"></a></h1><h2 id="Synchronization"><a class="docs-heading-anchor" href="#Synchronization">Synchronization</a><a id="Synchronization-1"></a><a class="docs-heading-anchor-permalink" href="#Synchronization" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Barrier" href="#MPI.Barrier"><code>MPI.Barrier</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Barrier(comm::Comm)</code></pre><p>Blocks until <code>comm</code> is synchronized.</p><p>If <code>comm</code> is an intracommunicator, then it blocks until all members of the group have called it.</p><p>If <code>comm</code> is an intercommunicator, then it blocks until all members of the other group have called it.</p><p><strong>External links</strong></p><ul><li><code>MPI_Barrier</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Barrier.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Barrier.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/collective.jl#L1-L12">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Ibarrier" href="#MPI.Ibarrier"><code>MPI.Ibarrier</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Ibarrier(comm::Comm)</code></pre><p>Blocks until <code>comm</code> is synchronized.</p><p>If <code>comm</code> is an intracommunicator, then it blocks until all members of the group have called it.</p><p>If <code>comm</code> is an intercommunicator, then it blocks until all members of the other group have called it.</p><p><strong>External links</strong></p><ul><li><code>MPI_Ibarrier</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ibarrier.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ibarrier.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/collective.jl#L19-L30">source</a></section></article><h2 id="Broadcast"><a class="docs-heading-anchor" href="#Broadcast">Broadcast</a><a id="Broadcast-1"></a><a class="docs-heading-anchor-permalink" href="#Broadcast" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Bcast!" href="#MPI.Bcast!"><code>MPI.Bcast!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Bcast!(buf, comm::Comm; root::Integer=0)</code></pre><p>Broadcast the buffer <code>buf</code> from <code>root</code> to all processes in <code>comm</code>.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.bcast"><code>bcast</code></a></li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Bcast</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Bcast.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Bcast.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/collective.jl#L39-L49">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.bcast" href="#MPI.bcast"><code>MPI.bcast</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">bcast(obj, comm::Comm; root::Integer=0)</code></pre><p>Broadcast the object <code>obj</code> from rank <code>root</code> to all processes on <code>comm</code>. This is able to handle arbitrary data.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Bcast!"><code>Bcast!</code></a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/collective.jl#L65-L74">source</a></section></article><h2 id="Gather/Scatter"><a class="docs-heading-anchor" href="#Gather/Scatter">Gather/Scatter</a><a id="Gather/Scatter-1"></a><a class="docs-heading-anchor-permalink" href="#Gather/Scatter" title="Permalink"></a></h2><h3 id="Gather"><a class="docs-heading-anchor" href="#Gather">Gather</a><a id="Gather-1"></a><a class="docs-heading-anchor-permalink" href="#Gather" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.Gather!" href="#MPI.Gather!"><code>MPI.Gather!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Gather!(sendbuf, recvbuf, comm::Comm; root::Integer=0)</code></pre><p>Each process sends the contents of the buffer <code>sendbuf</code> to the <code>root</code> process. The <code>root</code> process stores elements in rank order in the buffer buffer <code>recvbuf</code>.</p><p><code>sendbuf</code> should be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a> object, or any object for which <a href="../buffers/#MPI.Buffer_send"><code>Buffer_send</code></a> is defined, with the same length on all processes, and should be the same length on all processes.</p><p>On the root process, <code>sendbuf</code> can be <a href="../buffers/#MPI.IN_PLACE"><code>MPI.IN_PLACE</code></a> on the root process, in which case the corresponding entries in <code>recvbuf</code> are assumed to be already in place (this corresponds the behaviour of <code>MPI_IN_PLACE</code> in <code>MPI_Gather</code>). For example:</p><pre><code class="nohighlight hljs">if root == MPI.Comm_rank(comm)
-    MPI.Gather!(MPI.IN_PLACE, UBuffer(buf, count), comm; root=root)
-else
-    MPI.Gather!(buf, nothing, comm; root=root)
-end</code></pre><p><code>recvbuf</code> on the root process should be a <a href="../buffers/#MPI.UBuffer"><code>UBuffer</code></a>, or can be an <code>AbstractArray</code> if the length can be determined from <code>sendbuf</code>. On non-root processes it is ignored and can be <code>nothing</code>.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Gather"><code>Gather</code></a> for the allocating operation.</li><li><a href="#MPI.Gatherv!"><code>Gatherv!</code></a> if the number of elements varies between processes.</li><li><a href="#MPI.Allgather!"><code>Allgather!</code></a> to send the result to all processes.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Gather</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Gather.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Gather.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/collective.jl#L211-L243">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Gather" href="#MPI.Gather"><code>MPI.Gather</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Gather(sendbuf, comm::Comm; root=0)</code></pre><p>Each process sends the contents of the buffer <code>sendbuf</code> to the <code>root</code> process. The <code>root</code> allocates the output buffer and stores elements in rank order.</p><p><code>sendbuf</code> can be an <code>AbstractArray</code> or a scalar, and should be the same length on all processes.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Gather!"><code>Gather!</code></a> for the mutating operation.</li><li><a href="#MPI.Gatherv!"><code>Gatherv!</code></a> if the number of elements varies between processes.</li><li><a href="#MPI.Allgather!"><code>Allgather!</code></a>/<a href="#MPI.Allgather"><code>Allgather</code></a> to send the result to all processes.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Gather</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Gather.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Gather.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/collective.jl#L270-L286">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Gatherv!" href="#MPI.Gatherv!"><code>MPI.Gatherv!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Gatherv!(sendbuf, recvbuf, comm::Comm; root::Integer=0)</code></pre><p>Each process sends the contents of the buffer <code>sendbuf</code> to the <code>root</code> process. The <code>root</code> stores elements in rank order in the buffer <code>recvbuf</code>.</p><p><code>sendbuf</code> should be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a> object, or any object for which <a href="../buffers/#MPI.Buffer_send"><code>Buffer_send</code></a> is defined, with the same length on all processes.</p><p>On the root process, <code>sendbuf</code> can be <a href="../buffers/#MPI.IN_PLACE"><code>MPI.IN_PLACE</code></a>, in which case the corresponding entries in <code>recvbuf</code> are assumed to be already in place. For example</p><pre><code class="nohighlight hljs">if root == MPI.Comm_rank(comm)
-    Gatherv!(MPI.IN_PLACE, VBuffer(buf, counts), comm; root=root)
-else
-    Gatherv!(buf, nothing, comm; root=root)
-end</code></pre><p><code>recvbuf</code> on the root process should be a <a href="../buffers/#MPI.VBuffer"><code>VBuffer</code></a>, or can be an <code>AbstractArray</code> if the length can be determined from <code>sendbuf</code>. On non-root processes it is ignored and can be <code>nothing</code>.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Gatherv!"><code>Gatherv!</code></a> for the allocating operation</li><li><a href="#MPI.Gather!"><code>Gather!</code></a></li><li><a href="#MPI.Allgatherv!"><code>Allgatherv!</code></a> to send the result to all processes</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Gatherv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Gatherv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Gatherv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/collective.jl#L294-L324">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Allgather!" href="#MPI.Allgather!"><code>MPI.Allgather!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Allgather!(sendbuf, recvbuf::UBuffer, comm::Comm)
-Allgather!(sendrecvbuf::UBuffer, comm::Comm)</code></pre><p>Each process sends the contents of <code>sendbuf</code> to the other processes, the result of which is stored in rank order into <code>recvbuf</code>.</p><p><code>sendbuf</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a> object, or any object for which <a href="../buffers/#MPI.Buffer_send"><code>Buffer_send</code></a> is defined, and should be the same length on all processes.</p><p><code>recvbuf</code> can be a <a href="../buffers/#MPI.UBuffer"><code>UBuffer</code></a>, or can be an <code>AbstractArray</code> if the length can be determined from <code>sendbuf</code>.</p><p>If only one buffer <code>sendrecvbuf</code> is provided, then on each process the data to send is assumed to be in the area where it would receive its own contribution.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Allgather"><code>Allgather</code></a> for the allocating operation</li><li><a href="#MPI.Allgatherv!"><code>Allgatherv!</code></a> if the number of elements varies between processes.</li><li><a href="#MPI.Gather!"><code>Gather!</code></a> to send only to a single root process</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Allgather</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allgather.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allgather.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/collective.jl#L347-L370">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Allgather" href="#MPI.Allgather"><code>MPI.Allgather</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Allgather(sendbuf, comm)</code></pre><p>Each process sends the contents of <code>sendbuf</code> to the other processes, who store the results in rank order allocating the output buffer.</p><p><code>sendbuf</code> can be an <code>AbstractArray</code> or a scalar, and should be the same size on all processes.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Allgather!"><code>Allgather!</code></a> for the mutating operation</li><li><a href="#MPI.Allgatherv!"><code>Allgatherv!</code></a> if the number of elements varies between processes.</li><li><a href="#MPI.Gather!"><code>Gather!</code></a> to send only to a single root process</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Allgather</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allgather.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allgather.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/collective.jl#L396-L412">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Allgatherv!" href="#MPI.Allgatherv!"><code>MPI.Allgatherv!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Allgatherv!(sendbuf, recvbuf::VBuffer, comm::Comm)
-Allgatherv!(sendrecvbuf::VBuffer, comm::Comm)</code></pre><p>Each process sends the contents of <code>sendbuf</code> to all other process. Each process stores the received in the <a href="../buffers/#MPI.VBuffer"><code>VBuffer</code></a> <code>recvbuf</code>.</p><p><code>sendbuf</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a> object, or any object for which <a href="../buffers/#MPI.Buffer_send"><code>Buffer_send</code></a> is defined.</p><p>If only one buffer <code>sendrecvbuf</code> is provided, then for each process, the data to be sent is taken from the interval of <code>recvbuf</code> where it would store its own data.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Gatherv!"><code>Gatherv!</code></a> to send the result to a single process</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Allgatherv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allgatherv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allgatherv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/collective.jl#L421-L439">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Neighbor_allgather!" href="#MPI.Neighbor_allgather!"><code>MPI.Neighbor_allgather!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Neighbor_allgather!(sendbuf::Buffer, recvbuf::UBuffer, comm::Comm)</code></pre><p>Perform an all-gather communication along the directed edges of the graph.</p><p>See also <a href="#MPI.Allgather!"><code>MPI.Allgather!</code></a>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Neighbor_allgather</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_allgather.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_allgather.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/collective.jl#L896-L905">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Neighbor_allgatherv!" href="#MPI.Neighbor_allgatherv!"><code>MPI.Neighbor_allgatherv!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Neighbor_allgatherv!(sendbuf::Buffer, recvbuf::VBuffer, comm::Comm)</code></pre><p>Perform an all-gather communication along the directed edges of the graph with variable sized data.</p><p>See also <a href="#MPI.Allgatherv!"><code>MPI.Allgatherv!</code></a>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Neighbor_allgatherv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_allgatherv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_allgatherv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/collective.jl#L928-L937">source</a></section></article><h3 id="Scatter"><a class="docs-heading-anchor" href="#Scatter">Scatter</a><a id="Scatter-1"></a><a class="docs-heading-anchor-permalink" href="#Scatter" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.Scatter!" href="#MPI.Scatter!"><code>MPI.Scatter!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Scatter!(sendbuf::Union{UBuffer,Nothing}, recvbuf, comm::Comm;
-    root::Integer=0)</code></pre><p>Splits the buffer <code>sendbuf</code> in the <code>root</code> process into <code>Comm_size(comm)</code> chunks, sending the <code>j</code>-th chunk to the process of rank <code>j-1</code> into the <code>recvbuf</code> buffer.</p><p><code>sendbuf</code> on the root process should be a <a href="../buffers/#MPI.UBuffer"><code>UBuffer</code></a> (an <code>Array</code> can also be passed directly if the sizes can be determined from <code>recvbuf</code>). On non-root processes it is ignored, and <code>nothing</code> can be passed instead.</p><p><code>recvbuf</code> is a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a> object, or any object for which <code>Buffer(recvbuf)</code> is defined. On the root process, it can also be <a href="../buffers/#MPI.IN_PLACE"><code>MPI.IN_PLACE</code></a>, in which case it is unmodified. For example:</p><pre><code class="nohighlight hljs">if root == MPI.Comm_rank(comm)
-    MPI.Scatter!(UBuffer(buf, count), MPI.IN_PLACE, comm; root=root)
-else
-    MPI.Scatter!(nothing, buf, comm; root=root)
-end</code></pre><p><strong>See also</strong></p><ul><li><a href="#MPI.Scatterv!"><code>Scatterv!</code></a> if the number of elements varies between processes.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Scatter</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scatter.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scatter.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/collective.jl#L95-L122">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Scatter" href="#MPI.Scatter"><code>MPI.Scatter</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Scatter(sendbuf, T, comm::Comm; root::Integer=0)</code></pre><p>Splits the buffer <code>sendbuf</code> in the <code>root</code> process into <code>Comm_size(comm)</code> chunks, sending the <code>j</code>-th chunk to the process of rank <code>j-1</code> as an object of type <code>T</code>.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Scatter!"><code>Scatter!</code></a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/collective.jl#L148-L156">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Scatterv!" href="#MPI.Scatterv!"><code>MPI.Scatterv!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Scatterv!(sendbuf, recvbuf, comm::Comm; root::Integer=0)</code></pre><p>Splits the buffer <code>sendbuf</code> in the <code>root</code> process into <code>Comm_size(comm)</code> chunks and sends the <code>j</code>th chunk to the process of rank <code>j-1</code> into the <code>recvbuf</code> buffer.</p><p><code>sendbuf</code> on the root process should be a <a href="../buffers/#MPI.VBuffer"><code>VBuffer</code></a>. On non-root processes it is ignored, and <code>nothing</code> can be passed instead.</p><p><code>recvbuf</code> is a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a> object, or any object for which <code>Buffer(recvbuf)</code> is defined. On the root process, it can also be <a href="../buffers/#MPI.IN_PLACE"><code>MPI.IN_PLACE</code></a>, in which case it is unmodified. For example:</p><pre><code class="nohighlight hljs">if root == MPI.Comm_rank(comm)
-    MPI.Scatterv!(VBuffer(buf, counts), MPI.IN_PLACE, comm; root=root)
-else
-    MPI.Scatterv!(nothing, buf, comm; root=root)
-end</code></pre><p><strong>See also</strong></p><ul><li><a href="#MPI.Scatter!"><code>Scatter!</code></a> if the number of elements are the same for all processes</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Scatterv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scatterv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scatterv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/collective.jl#L162-L187">source</a></section></article><h3 id="All-to-all"><a class="docs-heading-anchor" href="#All-to-all">All-to-all</a><a id="All-to-all-1"></a><a class="docs-heading-anchor-permalink" href="#All-to-all" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.Alltoall!" href="#MPI.Alltoall!"><code>MPI.Alltoall!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Alltoall!(sendbuf::UBuffer, recvbuf::UBuffer, comm::Comm)
-Alltoall!(sendrecvbuf::UBuffer, comm::Comm)</code></pre><p>Every process divides the <a href="../buffers/#MPI.UBuffer"><code>UBuffer</code></a> <code>sendbuf</code> into <code>Comm_size(comm)</code> chunks of equal size, sending the <code>j</code>-th chunk to the process of rank <code>j-1</code>.  Every process stores the data received from rank <code>j-1</code> process in the <code>j</code>-th chunk of the buffer <code>recvbuf</code>.</p><pre><code class="nohighlight hljs">rank    send buf                        recv buf
-----    --------                        --------
- 0      a,b,c,d,e,f       Alltoall      a,b,A,B,α,β
- 1      A,B,C,D,E,F  ----------------&gt;  c,d,C,D,γ,ψ
- 2      α,β,γ,ψ,η,ν                     e,f,E,F,η,ν</code></pre><p>If only one buffer <code>sendrecvbuf</code> is used, then data is overwritten.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Alltoall"><code>Alltoall</code></a> for the allocating operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Alltoall</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoall.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoall.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/collective.jl#L462-L485">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Alltoall" href="#MPI.Alltoall"><code>MPI.Alltoall</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Alltoall(sendbuf::UBuffer, comm::Comm)</code></pre><p>Every process divides the <a href="../buffers/#MPI.UBuffer"><code>UBuffer</code></a> <code>sendbuf</code> into <code>Comm_size(comm)</code> chunks of equal size, sending the <code>j</code>-th chunk to the process of rank <code>j-1</code>. Every process allocates the output buffer and stores the data received from the process on rank <code>j-1</code> in the <code>j</code>-th chunk.</p><pre><code class="nohighlight hljs">rank    send buf                        recv buf
-----    --------                        --------
- 0      a,b,c,d,e,f       Alltoall      a,b,A,B,α,β
- 1      A,B,C,D,E,F  ----------------&gt;  c,d,C,D,γ,ψ
- 2      α,β,γ,ψ,η,ν                     e,f,E,F,η,ν</code></pre><p><strong>See also</strong></p><ul><li><a href="#MPI.Alltoall!"><code>Alltoall!</code></a> for the mutating operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Alltoall</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoall.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoall.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/collective.jl#L508-L529">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Alltoallv!" href="#MPI.Alltoallv!"><code>MPI.Alltoallv!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Alltoallv!(sendbuf::VBuffer, recvbuf::VBuffer, comm::Comm)</code></pre><p>Similar to <a href="#MPI.Alltoall!"><code>Alltoall!</code></a>, except with different size chunks per process.</p><p><strong>See also</strong></p><ul><li><a href="../buffers/#MPI.VBuffer"><code>VBuffer</code></a></li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Alltoallv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoallv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoallv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/collective.jl#L534-L544">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Neighbor_alltoall!" href="#MPI.Neighbor_alltoall!"><code>MPI.Neighbor_alltoall!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Neighbor_alltoall!(sendbuf::UBuffer, recvbuf::UBuffer, comm::Comm)</code></pre><p>Perform an all-to-all communication along the directed edges of the graph with fixed size messages.</p><p>See also <a href="#MPI.Alltoall!"><code>MPI.Alltoall!</code></a>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Neighbor_alltoall</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_alltoall.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_alltoall.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/collective.jl#L843-L852">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Neighbor_alltoallv!" href="#MPI.Neighbor_alltoallv!"><code>MPI.Neighbor_alltoallv!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Neighbor_alltoallv!(sendbuf::VBuffer, recvbuf::VBuffer, graph_comm::Comm)</code></pre><p>Perform an all-to-all communication along the directed edges of the graph with variable size messages.</p><p>See also <a href="#MPI.Alltoallv!"><code>MPI.Alltoallv!</code></a>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Neighbor_alltoallv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_alltoallv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_alltoallv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/collective.jl#L871-L880">source</a></section></article><h2 id="Reduce/Scan"><a class="docs-heading-anchor" href="#Reduce/Scan">Reduce/Scan</a><a id="Reduce/Scan-1"></a><a class="docs-heading-anchor-permalink" href="#Reduce/Scan" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Reduce!" href="#MPI.Reduce!"><code>MPI.Reduce!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Reduce!(sendbuf, recvbuf, op, comm::Comm; root::Integer=0)
-Reduce!(sendrecvbuf, op, comm::Comm; root::Integer=0)</code></pre><p>Performs elementwise reduction using the operator <code>op</code> on the buffer <code>sendbuf</code> and stores the result in <code>recvbuf</code> on the process of rank <code>root</code>.</p><p>On non-root processes <code>recvbuf</code> is ignored, and can be <code>nothing</code>.</p><p>To perform the reduction in place, provide a single buffer <code>sendrecvbuf</code>.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Reduce"><code>Reduce</code></a> to handle allocation of the output buffer.</li><li><a href="#MPI.Allreduce!"><code>Allreduce!</code></a>/<a href="#MPI.Allreduce"><code>Allreduce</code></a> to send reduction to all ranks.</li><li><a href="../advanced/#MPI.Op"><code>Op</code></a> for details on reduction operators.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Reduce</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/collective.jl#L571-L589">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Reduce" href="#MPI.Reduce"><code>MPI.Reduce</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">recvbuf = Reduce(sendbuf, op, comm::Comm; root::Integer=0)</code></pre><p>Performs elementwise reduction using the operator <code>op</code> on the buffer <code>sendbuf</code>, returning the result <code>recvbuf</code> on the process of rank <code>root</code>, and <code>nothing</code> on non-root processes.</p><p><code>sendbuf</code> can also be a scalar, in which case <code>recvbuf</code> will be a value of the same type.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Reduce!"><code>Reduce!</code></a> for mutating and in-place operations</li><li><a href="#MPI.Allreduce!"><code>Allreduce!</code></a>/<a href="#MPI.Allreduce"><code>Allreduce</code></a> to send reduction to all ranks.</li><li><a href="../advanced/#MPI.Op"><code>Op</code></a> for details on reduction operators.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Reduce</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/collective.jl#L621-L636">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Allreduce!" href="#MPI.Allreduce!"><code>MPI.Allreduce!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Allreduce!(sendbuf, recvbuf, op, comm::Comm)
-Allreduce!(sendrecvbuf, op, comm::Comm)</code></pre><p>Performs elementwise reduction using the operator <code>op</code> on the buffer <code>sendbuf</code>, storing the result in the <code>recvbuf</code> of all processes in the group.</p><p><code>Allreduce!</code> is equivalent to a <a href="#MPI.Reduce!"><code>Reduce!</code></a> operation followed by a <a href="#MPI.Bcast!"><code>Bcast!</code></a>, but can lead to better performance.</p><p>If only one <code>sendrecvbuf</code> buffer is provided, then the operation is performed in-place.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Allreduce"><code>Allreduce</code></a>, to handle allocation of the output buffer.</li><li><a href="#MPI.Reduce!"><code>Reduce!</code></a>/<a href="#MPI.Reduce"><code>Reduce</code></a> to send reduction to a single rank.</li><li><a href="../advanced/#MPI.Op"><code>Op</code></a> for details on reduction operators.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Allreduce</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allreduce.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allreduce.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/collective.jl#L658-L677">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Allreduce" href="#MPI.Allreduce"><code>MPI.Allreduce</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">recvbuf = Allreduce(sendbuf, op, comm)</code></pre><p>Performs elementwise reduction using the operator <code>op</code> on the buffer <code>sendbuf</code>, returning the result in the <code>recvbuf</code> of all processes in the group.</p><p><code>sendbuf</code> can also be a scalar, in which case <code>recvbuf</code> will be a value of the same type.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Allreduce!"><code>Allreduce!</code></a> for mutating or in-place operations.</li><li><a href="#MPI.Reduce!"><code>Reduce!</code></a>/<a href="#MPI.Reduce"><code>Reduce</code></a> to send reduction to a single rank.</li><li><a href="../advanced/#MPI.Op"><code>Op</code></a> for details on reduction operators.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Allreduce</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allreduce.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allreduce.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/collective.jl#L697-L712">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Scan!" href="#MPI.Scan!"><code>MPI.Scan!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Scan!(sendbuf, recvbuf, op, comm::Comm)
-Scan!(sendrecvbuf, op, comm::Comm)</code></pre><p>Inclusive prefix reduction (analagous to <code>accumulate</code> in Julia): <code>recvbuf</code> on rank <code>i</code> will contain the the result of reducing <code>sendbuf</code> by <code>op</code> from ranks <code>0:i</code>.</p><p>If only a single buffer <code>sendrecvbuf</code> is provided, then operations will be performed in-place.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Scan"><code>Scan</code></a> to handle allocation of the output buffer</li><li><a href="#MPI.Exscan!"><code>Exscan!</code></a>/<a href="#MPI.Exscan"><code>Exscan</code></a> for exclusive scan</li><li><a href="../advanced/#MPI.Op"><code>Op</code></a> for details on reduction operators.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Scan</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scan.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scan.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/collective.jl#L721-L738">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Scan" href="#MPI.Scan"><code>MPI.Scan</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">recvbuf = Scan(sendbuf, op, comm::Comm)</code></pre><p>Inclusive prefix reduction (analagous to <code>accumulate</code> in Julia): <code>recvbuf</code> on rank <code>i</code> will contain the the result of reducing <code>sendbuf</code> by <code>op</code> from ranks <code>0:i</code>.</p><p><code>sendbuf</code> can also be a scalar, in which case <code>recvbuf</code> will also be a scalar of the same type.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Scan!"><code>Scan!</code></a> for mutating or in-place operations</li><li><a href="#MPI.Exscan!"><code>Exscan!</code></a>/<a href="#MPI.Exscan"><code>Exscan</code></a> for exclusive scan</li><li><a href="../advanced/#MPI.Op"><code>Op</code></a> for details on reduction operators.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Scan</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scan.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scan.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/collective.jl#L758-L774">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Exscan!" href="#MPI.Exscan!"><code>MPI.Exscan!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Exscan!(sendbuf, recvbuf, op, comm::Comm)
-Exscan!(sendrecvbuf, op, comm::Comm)</code></pre><p>Exclusive prefix reduction (analagous to <code>accumulate</code> in Julia): <code>recvbuf</code> on rank <code>i</code> will contain the the result of reducing <code>sendbuf</code> by <code>op</code> from ranks <code>0:i-1</code>. The <code>recvbuf</code> on rank <code>0</code> is ignored, and the <code>recvbuf</code> on rank <code>1</code> will contain the contents of <code>sendbuf</code> on rank <code>0</code>.</p><p>If only a single <code>sendrecvbuf</code> is provided, then operations are performed in-place, and <code>buf</code> on rank 0 will remain unchanged.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Exscan"><code>Exscan</code></a> to handle allocation of the output buffer</li><li><a href="#MPI.Scan!"><code>Scan!</code></a>/<a href="#MPI.Scan"><code>Scan</code></a> for inclusive scan</li><li><a href="../advanced/#MPI.Op"><code>Op</code></a> for details on reduction operators.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Exscan</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Exscan.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Exscan.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/collective.jl#L782-L801">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Exscan" href="#MPI.Exscan"><code>MPI.Exscan</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">recvbuf = Exscan(sendbuf, op, comm::Comm)</code></pre><p>Exclusive prefix reduction (analagous to <code>accumulate</code> in Julia): <code>recvbuf</code> on rank <code>i</code> will contain the the result of reducing <code>sendbuf</code> by <code>op</code> from ranks <code>0:i-1</code>. The <code>recvbuf</code> on rank <code>0</code> is undefined, and the <code>recvbuf</code> on rank <code>1</code> will contain the contents of <code>sendbuf</code> on rank <code>0</code>.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Exscan!"><code>Exscan!</code></a> for mutating and in-place operations</li><li><a href="#MPI.Scan!"><code>Scan!</code></a>/<a href="#MPI.Scan"><code>Scan</code></a> for inclusive scan</li><li><a href="../advanced/#MPI.Op"><code>Op</code></a> for details on reduction operators.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Scan</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scan.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scan.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/collective.jl#L822-L837">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../pointtopoint/">« Point-to-point communication</a><a class="docs-footer-nextpage" href="../onesided/">One-sided communication »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Thursday 29 September 2022 17:33">Thursday 29 September 2022</span>. Using Julia version 1.8.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR645/reference/comm/index.html b/previews/PR645/reference/comm/index.html
deleted file mode 100644
index 6e9f1115d..000000000
--- a/previews/PR645/reference/comm/index.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Communicators · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../library/">Library information</a></li><li><a class="tocitem" href="../environment/">Environment</a></li><li class="is-active"><a class="tocitem" href>Communicators</a><ul class="internal"><li><a class="tocitem" href="#Types-and-enums"><span>Types and enums</span></a></li><li><a class="tocitem" href="#Constants"><span>Constants</span></a></li><li><a class="tocitem" href="#Functions"><span>Functions</span></a></li></ul></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../advanced/">Advanced</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>Communicators</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Communicators</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/comm.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Communicators"><a class="docs-heading-anchor" href="#Communicators">Communicators</a><a id="Communicators-1"></a><a class="docs-heading-anchor-permalink" href="#Communicators" title="Permalink"></a></h1><p>An MPI communicator specifies the communication context for a communication operation. In particular, it specifies the set of processes which share the context, and assigns each each process a unique <em>rank</em> (see <a href="#MPI.Comm_rank"><code>MPI.Comm_rank</code></a>) taking an integer value in <code>0:n-1</code>, where <code>n</code> is the number of processes in the communicator (see <a href="#MPI.Comm_size"><code>MPI.Comm_size</code></a>.</p><h2 id="Types-and-enums"><a class="docs-heading-anchor" href="#Types-and-enums">Types and enums</a><a id="Types-and-enums-1"></a><a class="docs-heading-anchor-permalink" href="#Types-and-enums" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm" href="#MPI.Comm"><code>MPI.Comm</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.Comm</code></pre><p>An MPI Communicator object.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/comm.jl#L1-L5">source</a></section></article><h2 id="Constants"><a class="docs-heading-anchor" href="#Constants">Constants</a><a id="Constants-1"></a><a class="docs-heading-anchor-permalink" href="#Constants" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.COMM_WORLD" href="#MPI.COMM_WORLD"><code>MPI.COMM_WORLD</code></a> — <span class="docstring-category">Constant</span></header><section><div><pre><code class="language-julia hljs">MPI.COMM_WORLD</code></pre><p>A communicator containing all processes with which the local rank can communicate at initialization. In a typical &quot;static-process&quot; model, this will be all processes.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/comm.jl#L18-L23">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.COMM_SELF" href="#MPI.COMM_SELF"><code>MPI.COMM_SELF</code></a> — <span class="docstring-category">Constant</span></header><section><div><pre><code class="language-julia hljs">MPI.COMM_SELF</code></pre><p>A communicator containing only the local process.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/comm.jl#L27-L31">source</a></section></article><h2 id="Functions"><a class="docs-heading-anchor" href="#Functions">Functions</a><a id="Functions-1"></a><a class="docs-heading-anchor-permalink" href="#Functions" title="Permalink"></a></h2><h3 id="Operations"><a class="docs-heading-anchor" href="#Operations">Operations</a><a id="Operations-1"></a><a class="docs-heading-anchor-permalink" href="#Operations" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_size" href="#MPI.Comm_size"><code>MPI.Comm_size</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_size(comm::Comm)</code></pre><p>The number of processes involved in communicator.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Comm_rank"><code>MPI.Comm_rank</code></a>.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Comm_size</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_size.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_size.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/comm.jl#L65-L75">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_rank" href="#MPI.Comm_rank"><code>MPI.Comm_rank</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_rank(comm::Comm)</code></pre><p>The rank of the process in the particular communicator&#39;s group.</p><p>Returns an integer in the range <code>0:MPI.Comm_size()-1</code>.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Comm_size"><code>MPI.Comm_size</code></a>.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Comm_rank</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_rank.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_rank.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/comm.jl#L46-L58">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_compare" href="#MPI.Comm_compare"><code>MPI.Comm_compare</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_compare(comm1::Comm, comm2::Comm)::MPI.Comparison</code></pre><p>Compare two communicators and their underlying groups, returning an element of the <a href="../group/#MPI.Comparison"><code>Comparison</code></a> enum.</p><p><strong>External links</strong></p><ul><li><code>MPI_Comm_compare</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_compare.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_compare.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/comm.jl#L309-L316">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_group" href="#MPI.Comm_group"><code>MPI.Comm_group</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_group(comm::Comm)</code></pre><p>Accesses the group associated with given communicator.</p><p><strong>External links</strong></p><ul><li><code>MPI_Comm_group</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_group.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_group.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/comm.jl#L82-L89">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_remote_group" href="#MPI.Comm_remote_group"><code>MPI.Comm_remote_group</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_remote_group(comm::Comm)</code></pre><p>Accesses the remote group associated with the given inter-communicator.</p><p><strong>External links</strong></p><ul><li><code>MPI_Comm_remote_group</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_remote_group.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_remote_group.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/comm.jl#L98-L105">source</a></section></article><h3 id="Constructors"><a class="docs-heading-anchor" href="#Constructors">Constructors</a><a id="Constructors-1"></a><a class="docs-heading-anchor-permalink" href="#Constructors" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_create" href="#MPI.Comm_create"><code>MPI.Comm_create</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_create(comm::Comm, group::Group)</code></pre><p>Collectively creates a new communicator.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Comm_create_group"><code>MPI.Comm_create_group</code></a> for the noncollective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Comm_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/comm.jl#L114-L124">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_create_group" href="#MPI.Comm_create_group"><code>MPI.Comm_create_group</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_create_group(comm::Comm, group::Group, tag::Integer)</code></pre><p>Noncollectively creates a new communicator.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Comm_create"><code>MPI.Comm_create</code></a> for the noncollective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Comm_create_group</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_create_group.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_create_group.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/comm.jl#L134-L144">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_dup" href="#MPI.Comm_dup"><code>MPI.Comm_dup</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_dup(comm::Comm)</code></pre><p><strong>External links</strong></p><ul><li><code>MPI_Comm_dup</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_dup.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_dup.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/comm.jl#L153-L158">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_get_parent" href="#MPI.Comm_get_parent"><code>MPI.Comm_get_parent</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_get_parent()</code></pre><p><strong>External links</strong></p><ul><li><code>MPI_Comm_get_parent</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_get_parent.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_get_parent.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/comm.jl#L226-L231">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_spawn" href="#MPI.Comm_spawn"><code>MPI.Comm_spawn</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_spawn(command, argv::Vector{String}, nprocs::Integer, comm::Comm[, errors::Vector{Cint}]; kwargs...)</code></pre><p><strong>External links</strong></p><ul><li><code>MPI_Comm_spawn</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_spawn.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_spawn.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/comm.jl#L238-L243">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_split" href="#MPI.Comm_split"><code>MPI.Comm_split</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_split(comm::Comm, color::Union{Integer,Nothing}, key::Integer)</code></pre><p>Partition the communicator <code>comm</code>, one for each value of <code>color</code>, returning a new communicator. Within each group, the processes are ranked in the order of <code>key</code>, with ties broken by the order of <code>comm</code>.</p><p><code>color</code> should be a non-negative integer, or <code>nothing</code>, in which case a null communicator is returned for that rank.</p><p><strong>External links</strong></p><ul><li><code>MPI_Comm_split</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_split.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_split.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/comm.jl#L166-L178">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_split_type" href="#MPI.Comm_split_type"><code>MPI.Comm_split_type</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_split_type(comm::Comm, split_type, key::Integer; kwargs...)</code></pre><p>Partitions the communicator <code>comm</code> based on <code>split_type</code>, returning a new communicator. Within each group, the processes are ranked in the order of <code>key</code>, with ties broken by the order of <code>comm</code>.</p><p>Currently only one <code>split_type</code> is provided:</p><ul><li><code>MPI.COMM_TYPE_SHARED</code>: splits the communicator into subcommunicators, each of which can create a shared memory region.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Comm_split_type</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_split_type.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_split_type.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/comm.jl#L197-L211">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Intercomm_merge" href="#MPI.Intercomm_merge"><code>MPI.Intercomm_merge</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Intercomm_merge(intercomm::Comm, flag::Bool)</code></pre><p><strong>External links</strong></p><ul><li><code>MPI_Intercomm_merge</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Intercomm_merge.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Intercomm_merge.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/comm.jl#L257-L262">source</a></section></article><h3 id="Miscellaneous"><a class="docs-heading-anchor" href="#Miscellaneous">Miscellaneous</a><a id="Miscellaneous-1"></a><a class="docs-heading-anchor-permalink" href="#Miscellaneous" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.universe_size" href="#MPI.universe_size"><code>MPI.universe_size</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">universe_size()</code></pre><p>The total number of available slots, or <code>nothing</code> if it is not defined. This is determined by the <code>MPI_UNIVERSE_SIZE</code> attribute of <code>COMM_WORLD</code>.</p><p>This is typically dependent on the MPI implementation: for MPICH-based implementations, this is specified by the <code>-usize</code> argument. OpenMPI defines a default value based on the number of processes available.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/comm.jl#L285-L291">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.tag_ub" href="#MPI.tag_ub"><code>MPI.tag_ub</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">tag_ub()</code></pre><p>The maximum value tag value for point-to-point operations.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/comm.jl#L298-L302">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../environment/">« Environment</a><a class="docs-footer-nextpage" href="../buffers/">Buffers »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Thursday 29 September 2022 17:33">Thursday 29 September 2022</span>. Using Julia version 1.8.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR645/reference/environment/index.html b/previews/PR645/reference/environment/index.html
deleted file mode 100644
index b52bed1b5..000000000
--- a/previews/PR645/reference/environment/index.html
+++ /dev/null
@@ -1,7 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Environment · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../library/">Library information</a></li><li class="is-active"><a class="tocitem" href>Environment</a><ul class="internal"><li><a class="tocitem" href="#Launching-MPI-programs"><span>Launching MPI programs</span></a></li><li><a class="tocitem" href="#Enums"><span>Enums</span></a></li><li><a class="tocitem" href="#Functions"><span>Functions</span></a></li><li><a class="tocitem" href="#Errors"><span>Errors</span></a></li></ul></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../advanced/">Advanced</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>Environment</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Environment</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/environment.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Environment"><a class="docs-heading-anchor" href="#Environment">Environment</a><a id="Environment-1"></a><a class="docs-heading-anchor-permalink" href="#Environment" title="Permalink"></a></h1><h2 id="Launching-MPI-programs"><a class="docs-heading-anchor" href="#Launching-MPI-programs">Launching MPI programs</a><a id="Launching-MPI-programs-1"></a><a class="docs-heading-anchor-permalink" href="#Launching-MPI-programs" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPICH_jll.mpiexec" href="#MPICH_jll.mpiexec"><code>MPICH_jll.mpiexec</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">mpiexec(fn)</code></pre><p>A wrapper function for the MPI launcher executable. Calls <code>fn(cmd)</code>, where <code>cmd</code> is a <code>Cmd</code> object of the MPI launcher.</p><p><strong>Usage</strong></p><pre><code class="language-julia-repl hljs">julia&gt; mpiexec(cmd -&gt; run(`$cmd -n 3 echo hello world`));
-hello world
-hello world
-hello world</code></pre></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/environment.jl#L1-L14">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.install_mpiexecjl" href="#MPI.install_mpiexecjl"><code>MPI.install_mpiexecjl</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.install_mpiexecjl(; command::String = &quot;mpiexecjl&quot;,
-                      destdir::String = joinpath(DEPOT_PATH[1], &quot;bin&quot;),
-                      force::Bool = false, verbose::Bool = true)</code></pre><p>Install the <code>mpiexec</code> wrapper to <code>destdir</code> directory, with filename <code>command</code>. Set <code>force</code> to <code>true</code> to overwrite an existing destination file with the same path.  If <code>verbose</code> is <code>true</code>, the installation prints information about the progress of the process.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/mpiexec_wrapper.jl#L1-L10">source</a></section></article><h2 id="Enums"><a class="docs-heading-anchor" href="#Enums">Enums</a><a id="Enums-1"></a><a class="docs-heading-anchor-permalink" href="#Enums" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.ThreadLevel" href="#MPI.ThreadLevel"><code>MPI.ThreadLevel</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">ThreadLevel</code></pre><p>An Enum denoting the level of threading support in the current process:</p><ul><li><p><code>MPI.THREAD_SINGLE</code>: Only one thread will execute.</p></li><li><p><code>MPI.THREAD_FUNNELED</code>: The process may be multi-threaded, but the application must ensure that only the main thread makes MPI calls. See <a href="#MPI.Is_thread_main"><code>Is_thread_main</code></a>.</p></li><li><p><code>MPI.THREAD_SERIALIZED</code>: The process may be multi-threaded, and multiple threads may make MPI calls, but only one at a time (i.e. all MPI calls are serialized).</p></li><li><p><code>MPI.THREAD_MULTIPLE</code>: Multiple threads may call MPI, with no restrictions.</p></li></ul><p><strong>See also</strong></p><ul><li><a href="#MPI.Init"><code>Init</code></a></li><li><a href="#MPI.Query_thread"><code>Query_thread</code></a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/environment.jl#L120-L139">source</a></section></article><h2 id="Functions"><a class="docs-heading-anchor" href="#Functions">Functions</a><a id="Functions-1"></a><a class="docs-heading-anchor-permalink" href="#Functions" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Abort" href="#MPI.Abort"><code>MPI.Abort</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Abort(comm::Comm, errcode::Integer)</code></pre><p>Make a “best attempt” to abort all tasks in the group of <code>comm</code>. This function does not require that the invoking environment take any action with the error code. However, a Unix or POSIX environment should handle this as a return errorcode from the main program.</p><p><strong>External links</strong></p><ul><li><code>MPI_Abort</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Abort.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Abort.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/environment.jl#L228-L237">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Init" href="#MPI.Init"><code>MPI.Init</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Init(;threadlevel=:serialized, finalize_atexit=true, errors_return=true)</code></pre><p>Initialize MPI in the current process. The keyword options:</p><ul><li><code>threadlevel</code>: either <code>:single</code>, <code>:funneled</code>, <code>:serialized</code> (default), <code>:multiple</code>, or an instance of <a href="#MPI.ThreadLevel"><code>ThreadLevel</code></a>.</li><li><code>finalize_atexit</code>: if <code>true</code> (default), adds an <code>atexit</code> hook to call <a href="#MPI.Finalize"><code>MPI.Finalize</code></a> if it hasn&#39;t already been called.</li><li><code>errors_return</code>: if <code>true</code> (default), will set the default error handlers for <a href="../comm/#MPI.COMM_SELF"><code>MPI.COMM_SELF</code></a> and <a href="../comm/#MPI.COMM_WORLD"><code>MPI.COMM_WORLD</code></a> to be <code>MPI.ERRORS_RETURN</code>. MPI errors will then appear as Julia exceptions.</li></ul><p>It will return the <a href="#MPI.ThreadLevel"><code>ThreadLevel</code></a> value which MPI is initialized at.</p><p>All MPI programs must call this function at least once before calling any other MPI operations: the only MPI functions that may be called before <code>MPI.Init</code> are <a href="#MPI.Initialized"><code>MPI.Initialized</code></a> and <a href="#MPI.Finalized"><code>MPI.Finalized</code></a>.</p><p>It is safe to call <code>MPI.Init</code> multiple times, however it is not valid to call it after calling <a href="#MPI.Finalize"><code>MPI.Finalize</code></a>.</p><p><strong>External links</strong></p><ul><li><p><code>MPI_Init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Init.html">MPICH</a></p></li><li><p><code>MPI_Init_thread</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Init_thread.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Init_thread.html">MPICH</a></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/environment.jl#L55-L80">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Get_processor_name" href="#MPI.Get_processor_name"><code>MPI.Get_processor_name</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Get_processor_name()</code></pre><p>Return the name of the processor, as a <code>String</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Get_processor_name</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_processor_name.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_processor_name.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/environment.jl#L311-L318">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Query_thread" href="#MPI.Query_thread"><code>MPI.Query_thread</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Query_thread()</code></pre><p>Query the level of threading support in the current process. Returns a <a href="#MPI.ThreadLevel"><code>ThreadLevel</code></a> value denoting</p><p><strong>External links</strong></p><ul><li><code>MPI_Query_thread</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Query_thread.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Query_thread.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/environment.jl#L170-L178">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Is_thread_main" href="#MPI.Is_thread_main"><code>MPI.Is_thread_main</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Is_thread_main()</code></pre><p>Queries whether the current thread is the main thread according to MPI. This can be called by any thread, and is useful for the  <code>THREAD_FUNNELED</code> <a href="#MPI.ThreadLevel"><code>ThreadLevel</code></a>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Is_thread_main</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Is_thread_main.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Is_thread_main.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/environment.jl#L188-L196">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Initialized" href="#MPI.Initialized"><code>MPI.Initialized</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Initialized()</code></pre><p>Returns <code>true</code> if <a href="#MPI.Init"><code>MPI.Init</code></a> has been called, <code>false</code> otherwise.</p><p>It is unaffected by <a href="#MPI.Finalize"><code>MPI.Finalize</code></a>, and is one of the few functions that may be called before <a href="#MPI.Init"><code>MPI.Init</code></a>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Intialized</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Intialized.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Intialized.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/environment.jl#L242-L252">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Finalize" href="#MPI.Finalize"><code>MPI.Finalize</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Finalize()</code></pre><p>Marks MPI state for cleanup. This should be called after <a href="#MPI.Init"><code>MPI.Init</code></a>, and can be called at most once. No further MPI calls (other than <a href="#MPI.Initialized"><code>Initialized</code></a> or <a href="#MPI.Finalized"><code>Finalized</code></a>) should be made after it is called.</p><p><a href="#MPI.Init"><code>MPI.Init</code></a> will automatically insert a hook to call this function when Julia exits, if it hasn&#39;t already been called.</p><p><strong>External links</strong></p><ul><li><code>MPI_Finalize</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Finalize.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Finalize.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/environment.jl#L207-L219">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Finalized" href="#MPI.Finalized"><code>MPI.Finalized</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Finalized()</code></pre><p>Returns <code>true</code> if <a href="#MPI.Finalize"><code>MPI.Finalize</code></a> has completed, <code>false</code> otherwise.</p><p>It is safe to call before <a href="#MPI.Init"><code>MPI.Init</code></a> and after <a href="#MPI.Finalize"><code>MPI.Finalize</code></a>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Finalized</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Finalized.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Finalized.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/environment.jl#L259-L268">source</a></section></article><h2 id="Errors"><a class="docs-heading-anchor" href="#Errors">Errors</a><a id="Errors-1"></a><a class="docs-heading-anchor-permalink" href="#Errors" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.MPIError" href="#MPI.MPIError"><code>MPI.MPIError</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPIError</code></pre><p>Error thrown when an MPI function returns an error code. The <code>code</code> field contains the MPI error code.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/error.jl#L1-L5">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.FeatureLevelError" href="#MPI.FeatureLevelError"><code>MPI.FeatureLevelError</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">FeatureLevelError</code></pre><p>Error thrown if a feature is not implemented in the current MPI backend.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/error.jl#L13-L17">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../library/">« Library information</a><a class="docs-footer-nextpage" href="../comm/">Communicators »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Thursday 29 September 2022 17:33">Thursday 29 September 2022</span>. Using Julia version 1.8.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR645/reference/group/index.html b/previews/PR645/reference/group/index.html
deleted file mode 100644
index f3c5c83fe..000000000
--- a/previews/PR645/reference/group/index.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Groups · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../library/">Library information</a></li><li><a class="tocitem" href="../environment/">Environment</a></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../advanced/">Advanced</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>Groups</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Groups</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/group.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Groups"><a class="docs-heading-anchor" href="#Groups">Groups</a><a id="Groups-1"></a><a class="docs-heading-anchor-permalink" href="#Groups" title="Permalink"></a></h1><p>An MPI group is a set of process identifiers identified by their <em>rank</em> (see  <a href="../comm/#MPI.Comm_rank"><code>MPI.Comm_rank</code></a> and <a href="#MPI.Group_rank"><code>MPI.Group_rank</code></a>). They are used within a  communicator to describe the participants in a communication <em>universe</em>.</p><h2 id="Types-and-enums"><a class="docs-heading-anchor" href="#Types-and-enums">Types and enums</a><a id="Types-and-enums-1"></a><a class="docs-heading-anchor-permalink" href="#Types-and-enums" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Group" href="#MPI.Group"><code>MPI.Group</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.Group</code></pre><p>An MPI Group object.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/group.jl#L1-L5">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Comparison" href="#MPI.Comparison"><code>MPI.Comparison</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">Comparison</code></pre><p>An enum denoting the result of <a href="../comm/#MPI.Comm_compare"><code>Comm_compare</code></a>:</p><ul><li><p><code>MPI.IDENT</code>: the objects are handles for the same object (identical groups and same contexts).</p></li><li><p><code>MPI.CONGRUENT</code>: the underlying groups are identical in constituents and rank order; these communicators differ only by context.</p></li><li><p><code>MPI.SIMILAR</code>: members of both objects are the same but the rank order differs.</p></li><li><p><code>MPI.UNEQUAL</code>: otherwise</p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/group.jl#L63-L75">source</a></section></article><h2 id="Functions"><a class="docs-heading-anchor" href="#Functions">Functions</a><a id="Functions-1"></a><a class="docs-heading-anchor-permalink" href="#Functions" title="Permalink"></a></h2><h3 id="Operations"><a class="docs-heading-anchor" href="#Operations">Operations</a><a id="Operations-1"></a><a class="docs-heading-anchor-permalink" href="#Operations" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.Group_size" href="#MPI.Group_size"><code>MPI.Group_size</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Group_size(group::Group)</code></pre><p>The number of processes involved in group.</p><p><strong>External links</strong></p><ul><li><code>MPI_Group_size</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Group_size.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Group_size.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/group.jl#L33-L40">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Group_rank" href="#MPI.Group_rank"><code>MPI.Group_rank</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Group_rank(group::Group)</code></pre><p>The rank of the process in the particular group.</p><p>Returns an integer in the range <code>0:MPI.Group_size()-1</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Group_rank</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Group_rank.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Group_rank.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/group.jl#L47-L56">source</a></section></article></article><nav class="docs-footer"><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Thursday 29 September 2022 17:33">Thursday 29 September 2022</span>. Using Julia version 1.8.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR645/reference/io/index.html b/previews/PR645/reference/io/index.html
deleted file mode 100644
index 11cf0aaa2..000000000
--- a/previews/PR645/reference/io/index.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>I/O · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../library/">Library information</a></li><li><a class="tocitem" href="../environment/">Environment</a></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li class="is-active"><a class="tocitem" href>I/O</a><ul class="internal"><li><a class="tocitem" href="#File-manipulation"><span>File manipulation</span></a></li><li><a class="tocitem" href="#Views"><span>Views</span></a></li><li><a class="tocitem" href="#Consistency"><span>Consistency</span></a></li><li><a class="tocitem" href="#Data-access"><span>Data access</span></a></li></ul></li><li><a class="tocitem" href="../advanced/">Advanced</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>I/O</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>I/O</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/io.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="I/O"><a class="docs-heading-anchor" href="#I/O">I/O</a><a id="I/O-1"></a><a class="docs-heading-anchor-permalink" href="#I/O" title="Permalink"></a></h1><h2 id="File-manipulation"><a class="docs-heading-anchor" href="#File-manipulation">File manipulation</a><a id="File-manipulation-1"></a><a class="docs-heading-anchor-permalink" href="#File-manipulation" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.File.open" href="#MPI.File.open"><code>MPI.File.open</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.open(comm::Comm, filename::AbstractString; keywords...)</code></pre><p>Open the file identified by <code>filename</code>. This is a collective operation on <code>comm</code>.</p><p>Supported keywords are as follows:</p><ul><li><code>read</code>, <code>write</code>, <code>create</code>, <code>append</code> have the same behaviour and defaults as <code>Base.open</code>.</li><li><code>sequential</code>: file will only be accessed sequentially (default: <code>false</code>)</li><li><code>uniqueopen</code>: file will not be concurrently opened elsewhere (default: <code>false</code>)</li><li><code>deleteonclose</code>: delete file on close (default: <code>false</code>)</li></ul><p>Any additional keywords are passed via an <a href="../advanced/#MPI.Info"><code>Info</code></a> object, and are implementation dependent.</p><p><strong>External links</strong></p><ul><li><code>MPI_File_open</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_open.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_open.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/io.jl#L32-L47">source</a></section></article><h2 id="Views"><a class="docs-heading-anchor" href="#Views">Views</a><a id="Views-1"></a><a class="docs-heading-anchor-permalink" href="#Views" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.File.set_view!" href="#MPI.File.set_view!"><code>MPI.File.set_view!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.set_view!(file::FileHandle, disp::Integer, etype::Datatype, filetype::Datatype, datarep::AbstractString; kwargs...)</code></pre><p>Set the current process&#39;s view of <code>file</code>.</p><p>The start of the view is set to <code>disp</code>; the type of data is set to <code>etype</code>; the distribution of data to processes is set to <code>filetype</code>; and the representation of data in the file is set to <code>datarep</code>: one of <code>&quot;native&quot;</code> (default), <code>&quot;internal&quot;</code>, or <code>&quot;external32&quot;</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_File_set_view</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_set_view.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_set_view.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/io.jl#L81-L92">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.get_byte_offset" href="#MPI.File.get_byte_offset"><code>MPI.File.get_byte_offset</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.get_byte_offset(file::FileHandle, offset::Integer)</code></pre><p>Converts a view-relative offset into an absolute byte position. Returns the absolute byte position (from the beginning of the file) of <code>offset</code> relative to the current view of <code>file</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_File_get_byte_offset</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_byte_offset.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_byte_offset.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/io.jl#L106-L115">source</a></section></article><h2 id="Consistency"><a class="docs-heading-anchor" href="#Consistency">Consistency</a><a id="Consistency-1"></a><a class="docs-heading-anchor-permalink" href="#Consistency" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.File.sync" href="#MPI.File.sync"><code>MPI.File.sync</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.sync(fh::FileHandle)</code></pre><p>A collective operation causing all previous writes to <code>fh</code> by the calling process to be transferred to the storage device. If other processes have made updates to the storage device, then all such updates become visible to subsequent reads of <code>fh</code> by the calling process.</p><p><strong>External links</strong></p><ul><li><code>MPI_File_sync</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_sync.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_sync.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/io.jl#L126-L136">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.get_atomicity" href="#MPI.File.get_atomicity"><code>MPI.File.get_atomicity</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.get_atomicity(file::FileHandle)</code></pre><p>Get the consistency option for the <code>fh</code>. If <code>false</code> it is non-atomic.</p><p><strong>External links</strong></p><ul><li><code>MPI_File_get_atomicity</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_atomicity.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_atomicity.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/io.jl#L489-L496">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.set_atomicity" href="#MPI.File.set_atomicity"><code>MPI.File.set_atomicity</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.set_atomicity(file::FileHandle, flag::Bool)</code></pre><p>Set the consitency option for the <code>fh</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_File_get_atomicity</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_atomicity.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_atomicity.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/io.jl#L505-L512">source</a></section></article><h2 id="Data-access"><a class="docs-heading-anchor" href="#Data-access">Data access</a><a id="Data-access-1"></a><a class="docs-heading-anchor-permalink" href="#Data-access" title="Permalink"></a></h2><h3 id="Individual-pointer"><a class="docs-heading-anchor" href="#Individual-pointer">Individual pointer</a><a id="Individual-pointer-1"></a><a class="docs-heading-anchor-permalink" href="#Individual-pointer" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.File.read!" href="#MPI.File.read!"><code>MPI.File.read!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.read!(file::FileHandle, data)</code></pre><p>Reads current view of <code>file</code> into <code>data</code>. <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(data)</code> is defined.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.set_view!"><code>MPI.File.set_view!</code></a> to set the current view of the file</li><li><a href="#MPI.File.read_all!"><code>MPI.File.read_all!</code></a> for the collective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_read</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/io.jl#L145-L157">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.read_all!" href="#MPI.File.read_all!"><code>MPI.File.read_all!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.read_all!(file::FileHandle, data)</code></pre><p>Reads current view of <code>file</code> into <code>data</code>. <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(data)</code> is defined. This is a collective operation, so must be called on all ranks in the communicator on which <code>file</code> was opened.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.set_view!"><code>MPI.File.set_view!</code></a> to set the current view of the file</li><li><a href="#MPI.File.read!"><code>MPI.File.read!</code></a> for the noncollective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_read_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/io.jl#L169-L182">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.write" href="#MPI.File.write"><code>MPI.File.write</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.write(file::FileHandle, data)</code></pre><p>Writes <code>data</code> to the current view of <code>file</code>. <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer_send(data)</code> is defined.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.set_view!"><code>MPI.File.set_view!</code></a> to set the current view of the file</li><li><a href="#MPI.File.write_all"><code>MPI.File.write_all</code></a> for the collective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_write</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/io.jl#L194-L206">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.write_all" href="#MPI.File.write_all"><code>MPI.File.write_all</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.write_all(file::FileHandle, data)</code></pre><p>Writes <code>data</code> to the current view of <code>file</code>. <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer_send(data)</code> is defined. This is a collective operation, so must be called on all ranks in the communicator on which <code>file</code> was opened.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.set_view!"><code>MPI.File.set_view!</code></a> to set the current view of the file</li><li><a href="#MPI.File.write"><code>MPI.File.write</code></a> for the noncollective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_write_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/io.jl#L218-L231">source</a></section></article><h3 id="Explicit-offsets"><a class="docs-heading-anchor" href="#Explicit-offsets">Explicit offsets</a><a id="Explicit-offsets-1"></a><a class="docs-heading-anchor-permalink" href="#Explicit-offsets" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.File.read_at!" href="#MPI.File.read_at!"><code>MPI.File.read_at!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.read_at!(file::FileHandle, offset::Integer, data)</code></pre><p>Reads from <code>file</code> at position <code>offset</code> into <code>data</code>. <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(data)</code> is defined.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.read_at_all!"><code>MPI.File.read_at_all!</code></a> for the collective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_read_at</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_at.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_at.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/io.jl#L245-L256">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.read_at_all!" href="#MPI.File.read_at_all!"><code>MPI.File.read_at_all!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.read_at_all!(file::FileHandle, offset::Integer, data)</code></pre><p>Reads from <code>file</code> at position <code>offset</code> into <code>data</code>. <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(data)</code> is defined. This is a collective operation, so must be called on all ranks in the communicator on which <code>file</code> was opened.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.read_at!"><code>MPI.File.read_at!</code></a> for the noncollective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_read_at_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_at_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_at_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/io.jl#L268-L280">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.write_at" href="#MPI.File.write_at"><code>MPI.File.write_at</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.write_at(file::FileHandle, offset::Integer, data)</code></pre><p>Writes <code>data</code> to <code>file</code> at position <code>offset</code>. <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <a href="../buffers/#MPI.Buffer_send"><code>Buffer_send(data)</code></a> is defined.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.write_at_all"><code>MPI.File.write_at_all</code></a> for the collective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_write_at</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_at.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_at.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/io.jl#L293-L304">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.write_at_all" href="#MPI.File.write_at_all"><code>MPI.File.write_at_all</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.write_at_all(file::FileHandle, offset::Integer, data)</code></pre><p>Writes from <code>data</code> to <code>file</code> at position <code>offset</code>. <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <a href="../buffers/#MPI.Buffer_send"><code>Buffer_send(data)</code></a> is defined. This is a collective operation, so must be called on all ranks in the communicator on which <code>file</code> was opened.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.write_at"><code>MPI.File.write_at</code></a> for the noncollective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_write_at_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_at_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_at_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/io.jl#L316-L328">source</a></section></article><h3 id="Shared-pointer"><a class="docs-heading-anchor" href="#Shared-pointer">Shared pointer</a><a id="Shared-pointer-1"></a><a class="docs-heading-anchor-permalink" href="#Shared-pointer" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.File.read_shared!" href="#MPI.File.read_shared!"><code>MPI.File.read_shared!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.read_shared!(file::FileHandle, data)</code></pre><p>Reads from <code>file</code> using the shared file pointer into <code>data</code>.  <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(data)</code> is defined.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.read_ordered!"><code>MPI.File.read_ordered!</code></a> for the collective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_read_shared</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_shared.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_shared.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/io.jl#L342-L353">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.write_shared" href="#MPI.File.write_shared"><code>MPI.File.write_shared</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.write_shared(file::FileHandle, data)</code></pre><p>Writes to <code>file</code> using the shared file pointer from <code>data</code>. <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(data)</code> is defined.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.write_ordered"><code>MPI.File.write_ordered</code></a> for the collective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_write_shared</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_shared.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_shared.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/io.jl#L365-L376">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.read_ordered!" href="#MPI.File.read_ordered!"><code>MPI.File.read_ordered!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.read_ordered!(file::FileHandle, data)</code></pre><p>Collectively reads in rank order from <code>file</code> using the shared file pointer into <code>data</code>. <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(data)</code> is defined. This is a collective operation, so must be called on all ranks in the communicator on which <code>file</code> was opened.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.read_shared!"><code>MPI.File.read_shared!</code></a> for the noncollective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_read_ordered</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_ordered.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_ordered.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/io.jl#L389-L402">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.write_ordered" href="#MPI.File.write_ordered"><code>MPI.File.write_ordered</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.write_ordered(file::FileHandle, data)</code></pre><p>Collectively writes in rank order to <code>file</code> using the shared file pointer from <code>data</code>. <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(data)</code> is defined. This is a collective operation, so must be called on all ranks in the communicator on which <code>file</code> was opened.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.write_shared"><code>MPI.File.write_shared</code></a> for the noncollective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_write_ordered</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_ordered.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_ordered.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/io.jl#L414-L427">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.seek_shared" href="#MPI.File.seek_shared"><code>MPI.File.seek_shared</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.seek_shared(file::FileHandle, offset::Integer, whence::Seek=SEEK_SET)</code></pre><p>Updates the shared file pointer according to <code>whence</code>, which has the following possible values:</p><ul><li><code>MPI.File.SEEK_SET</code> (default): the pointer is set to <code>offset</code></li><li><code>MPI.File.SEEK_CUR</code>: the pointer is set to the current pointer position plus <code>offset</code></li><li><code>MPI.File.SEEK_END</code>: the pointer is set to the end of file plus <code>offset</code></li></ul><p>This is a collective operation, and must be called with the same value on all processes in the communicator.</p><p><strong>External links</strong></p><ul><li><code>MPI_File_seek_shared</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_seek_shared.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_seek_shared.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/io.jl#L450-L465">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.get_position_shared" href="#MPI.File.get_position_shared"><code>MPI.File.get_position_shared</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.get_position_shared(file::FileHandle)</code></pre><p>The current position of the shared file pointer (in <code>etype</code> units) relative to the current view.</p><p><strong>External links</strong></p><ul><li><code>MPI_File_get_position_shared</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_position_shared.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_position_shared.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/io.jl#L473-L480">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../topology/">« Topology</a><a class="docs-footer-nextpage" href="../advanced/">Advanced »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Thursday 29 September 2022 17:33">Thursday 29 September 2022</span>. Using Julia version 1.8.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR645/reference/library/index.html b/previews/PR645/reference/library/index.html
deleted file mode 100644
index 4dad4f2fc..000000000
--- a/previews/PR645/reference/library/index.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Library information · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li class="is-active"><a class="tocitem" href>Library information</a><ul class="internal"><li><a class="tocitem" href="#Constants"><span>Constants</span></a></li><li><a class="tocitem" href="#Functions"><span>Functions</span></a></li></ul></li><li><a class="tocitem" href="../environment/">Environment</a></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../advanced/">Advanced</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>Library information</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Library information</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/library.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Library-information"><a class="docs-heading-anchor" href="#Library-information">Library information</a><a id="Library-information-1"></a><a class="docs-heading-anchor-permalink" href="#Library-information" title="Permalink"></a></h1><h2 id="Constants"><a class="docs-heading-anchor" href="#Constants">Constants</a><a id="Constants-1"></a><a class="docs-heading-anchor-permalink" href="#Constants" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.MPI_VERSION" href="#MPI.MPI_VERSION"><code>MPI.MPI_VERSION</code></a> — <span class="docstring-category">Constant</span></header><section><div><pre><code class="language-julia hljs">MPI_VERSION :: VersionNumber</code></pre><p>The supported version of the MPI standard.</p><p><strong>External links</strong></p><ul><li><code>MPI_Get_version</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_version.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_version.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/implementations.jl#L94-L101">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.MPI_LIBRARY" href="#MPI.MPI_LIBRARY"><code>MPI.MPI_LIBRARY</code></a> — <span class="docstring-category">Constant</span></header><section><div><pre><code class="language-julia hljs">MPI_LIBRARY :: String</code></pre><p>The current MPI implementation: this is determined by</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/implementations.jl#L71-L75">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.MPI_LIBRARY_VERSION" href="#MPI.MPI_LIBRARY_VERSION"><code>MPI.MPI_LIBRARY_VERSION</code></a> — <span class="docstring-category">Constant</span></header><section><div><pre><code class="language-julia hljs">MPI_LIBRARY_VERSION :: VersionNumber</code></pre><p>The version of the MPI library</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/implementations.jl#L78-L82">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.MPI_LIBRARY_VERSION_STRING" href="#MPI.MPI_LIBRARY_VERSION_STRING"><code>MPI.MPI_LIBRARY_VERSION_STRING</code></a> — <span class="docstring-category">Constant</span></header><section><div><pre><code class="language-julia hljs">MPI_LIBRARY_VERSION_STRING :: String</code></pre><p>The full version string provided by the library</p><p><strong>External links</strong></p><ul><li><code>MPI_Get_library_version</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_library_version.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_library_version.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/implementations.jl#L42-L49">source</a></section></article><h2 id="Functions"><a class="docs-heading-anchor" href="#Functions">Functions</a><a id="Functions-1"></a><a class="docs-heading-anchor-permalink" href="#Functions" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.has_cuda" href="#MPI.has_cuda"><code>MPI.has_cuda</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.has_cuda()</code></pre><p>Check if the MPI implementation is known to have CUDA support. Currently only Open MPI provides a mechanism to check, so it will return <code>false</code> with other implementations (unless overriden).</p><p>This can be overriden by setting the <code>JULIA_MPI_HAS_CUDA</code> environment variable to <code>true</code> or <code>false</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/environment.jl#L284-L293">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.identify_implementation" href="#MPI.identify_implementation"><code>MPI.identify_implementation</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">impl, version = identify_implementation()</code></pre><p>Attempt to identify the MPI implementation based on <a href="#MPI.MPI_LIBRARY_VERSION_STRING"><code>MPI_LIBRARY_VERSION_STRING</code></a>. Returns a triple of values:</p><ul><li><code>impl</code>: a <code>String</code> with the name of the MPI implementation, or <code>&quot;unknown&quot;</code> if it cannot be determined,</li><li><code>version</code>: a <code>VersionNumber</code> of the library, or <code>nothing</code> if it cannot be determined.</li></ul><p>This function is only intended for internal use. Users should use <a href="#MPI.MPI_LIBRARY"><code>MPI_LIBRARY</code></a>, <a href="#MPI.MPI_LIBRARY_VERSION"><code>MPI_LIBRARY_VERSION</code></a>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/implementations.jl#L52-L63">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../mpipreferences/">« MPIPreferences.jl</a><a class="docs-footer-nextpage" href="../environment/">Environment »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Thursday 29 September 2022 17:33">Thursday 29 September 2022</span>. Using Julia version 1.8.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR645/reference/mpipreferences/index.html b/previews/PR645/reference/mpipreferences/index.html
deleted file mode 100644
index 719289859..000000000
--- a/previews/PR645/reference/mpipreferences/index.html
+++ /dev/null
@@ -1,7 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>MPIPreferences.jl · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li class="is-active"><a class="tocitem" href>MPIPreferences.jl</a><ul class="internal"><li><a class="tocitem" href="#Consts"><span>Consts</span></a></li><li><a class="tocitem" href="#Changing-implementations"><span>Changing implementations</span></a></li><li><a class="tocitem" href="#Utils"><span>Utils</span></a></li></ul></li><li><a class="tocitem" href="../library/">Library information</a></li><li><a class="tocitem" href="../environment/">Environment</a></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../advanced/">Advanced</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>MPIPreferences.jl</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>MPIPreferences.jl</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/mpipreferences.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="MPIPreferences.jl"><a class="docs-heading-anchor" href="#MPIPreferences.jl">MPIPreferences.jl</a><a id="MPIPreferences.jl-1"></a><a class="docs-heading-anchor-permalink" href="#MPIPreferences.jl" title="Permalink"></a></h1><p>MPIPreferences.jl is a small package used for selecting MPI implementations.</p><h2 id="Consts"><a class="docs-heading-anchor" href="#Consts">Consts</a><a id="Consts-1"></a><a class="docs-heading-anchor-permalink" href="#Consts" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPIPreferences.binary" href="#MPIPreferences.binary"><code>MPIPreferences.binary</code></a> — <span class="docstring-category">Constant</span></header><section><div><pre><code class="language-julia hljs">MPIPreferences.binary :: String</code></pre><p>The currently selected binary. The possible values are</p><ul><li><code>&quot;MPICH_jll&quot;</code>: use the binary provided by <a href="https://github.com/JuliaBinaryWrappers/MPICH_jll.jl">MPICH_jll</a></li><li><code>&quot;OpenMPI_jll&quot;</code>: use the binary provided by <a href="https://github.com/JuliaBinaryWrappers/OpenMPI_jll.jl">OpenMPI_jll</a></li><li><code>&quot;MicrosoftMPI_jll&quot;</code>: use binary provided by <a href="https://github.com/JuliaBinaryWrappers/MicrosoftMPI_jll.jl/">MicrosoftMPI_jll</a></li><li><code>&quot;MPItrampoline_jll&quot;</code>: use the binary provided by <a href="https://github.com/JuliaBinaryWrappers/MPItrampoline_jll.jl/">MPItrampoline_jll</a></li><li><code>&quot;system&quot;</code>: use a system-provided binary.</li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/lib/MPIPreferences/src/MPIPreferences.jl#L5-L16">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPIPreferences.abi" href="#MPIPreferences.abi"><code>MPIPreferences.abi</code></a> — <span class="docstring-category">Constant</span></header><section><div><pre><code class="language-julia hljs">MPIPreferences.abi :: String</code></pre><p>The ABI of the currently selected binary. Supported values are:</p><ul><li><code>&quot;MPICH&quot;</code>: MPICH-compatible ABI (https://www.mpich.org/abi/)</li><li><code>&quot;OpenMPI&quot;</code>: Open MPI compatible ABI (Open MPI, IBM Spectrum MPI, Fujitsu MPI)</li><li><code>&quot;MicrosoftMPI&quot;</code>: Microsoft MPI</li><li><code>&quot;MPItrampoline&quot;</code>: MPItrampoline</li><li><code>&quot;HPE MPT&quot;</code>: HPE MPT</li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/lib/MPIPreferences/src/MPIPreferences.jl#L19-L29">source</a></section></article><h2 id="Changing-implementations"><a class="docs-heading-anchor" href="#Changing-implementations">Changing implementations</a><a id="Changing-implementations-1"></a><a class="docs-heading-anchor-permalink" href="#Changing-implementations" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPIPreferences.use_system_binary" href="#MPIPreferences.use_system_binary"><code>MPIPreferences.use_system_binary</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPIPreferences.use_system_binary(;
-    library_names = [&quot;libmpi&quot;, &quot;libmpi_ibm&quot;, &quot;msmpi&quot;, &quot;libmpich&quot;, &quot;libmpi_cray&quot;, &quot;libmpitrampoline&quot;],
-    mpiexec = &quot;mpiexec&quot;,
-    abi = nothing,
-    export_prefs = false,
-    force = true)</code></pre><p>Switches the underlying MPI implementation to a system provided one.</p><p>Options:</p><ul><li><p><code>library_names</code>: a name or collection of names of the MPI library, passed to <a href="https://docs.julialang.org/en/v1/stdlib/Libdl/#Base.Libc.Libdl.find_library"><code>Libdl.find_library</code></a>. If the library isn&#39;t in the library search path, you can specify the full path to the library.</p></li><li><p><code>mpiexec</code>: the MPI launcher executable. The default is <code>mpiexec</code>, but some clusters require using the scheduler launcher interface (e.g. <code>srun</code> on Slurm, <code>aprun</code> on PBS). It is also possible to pass a <a href="https://docs.julialang.org/en/v1/manual/running-external-programs/#Cmd-Objects"><code>Cmd</code> object</a> to include specific command line options.</p></li><li><p><code>abi</code>: the ABI of the MPI library. By default this is determined automatically using <a href="#MPIPreferences.identify_abi"><code>identify_abi</code></a>. See <a href="#MPIPreferences.abi"><code>abi</code></a> for currently supported values.</p></li><li><p><code>export_prefs</code>: if <code>true</code>, the preferences into the <code>Project.toml</code> instead of <code>LocalPreferences.toml</code>.</p></li><li><p><code>force</code>: if <code>true</code>, the preferences are set even if they are already set.</p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/lib/MPIPreferences/src/MPIPreferences.jl#L87-L116">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPIPreferences.use_jll_binary" href="#MPIPreferences.use_jll_binary"><code>MPIPreferences.use_jll_binary</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPIPreferences.use_jll_binary(binary; export_prefs=false, force=true)</code></pre><p>Switches the underlying MPI implementation to one provided by JLL packages. Available options are:</p><ul><li><code>&quot;MicrosoftMPI_jll&quot;</code> (Only option and default on Winddows)</li><li><code>&quot;MPICH_jll&quot;</code> (Default on all other platform)</li><li><code>&quot;OpenMPI_jll&quot;</code></li><li><code>&quot;MPItrampoline_jll&quot;</code></li></ul><p>The <code>export_prefs</code> option determines whether the preferences being set should be stored within <code>LocalPreferences.toml</code> or <code>Project.toml</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/lib/MPIPreferences/src/MPIPreferences.jl#L48-L60">source</a></section></article><h2 id="Utils"><a class="docs-heading-anchor" href="#Utils">Utils</a><a id="Utils-1"></a><a class="docs-heading-anchor-permalink" href="#Utils" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPIPreferences.identify_abi" href="#MPIPreferences.identify_abi"><code>MPIPreferences.identify_abi</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">identify_abi(libmpi)</code></pre><p>Identify the MPI implementation from the library version string</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/lib/MPIPreferences/src/MPIPreferences.jl#L269-L273">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../../examples/09-graph_communication/">« Graph Communication</a><a class="docs-footer-nextpage" href="../library/">Library information »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Thursday 29 September 2022 17:33">Thursday 29 September 2022</span>. Using Julia version 1.8.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR645/reference/onesided/index.html b/previews/PR645/reference/onesided/index.html
deleted file mode 100644
index a0b13db0b..000000000
--- a/previews/PR645/reference/onesided/index.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>One-sided communication · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../library/">Library information</a></li><li><a class="tocitem" href="../environment/">Environment</a></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li class="is-active"><a class="tocitem" href>One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../advanced/">Advanced</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>One-sided communication</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>One-sided communication</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/onesided.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="One-sided-communication"><a class="docs-heading-anchor" href="#One-sided-communication">One-sided communication</a><a id="One-sided-communication-1"></a><a class="docs-heading-anchor-permalink" href="#One-sided-communication" title="Permalink"></a></h1><article class="docstring"><header><a class="docstring-binding" id="MPI.Win_create" href="#MPI.Win_create"><code>MPI.Win_create</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.Win_create(base[, size::Integer, disp_unit::Integer], comm::Comm; infokws...)</code></pre><p>Create a window over the array <code>base</code>, returning a <code>Win</code> object used by these processes to perform RMA operations. This is a collective call over <code>comm</code>.</p><ul><li><code>size</code> is the size of the window in bytes (default = <code>sizeof(base)</code>)</li><li><code>disp_unit</code> is the size of address scaling in bytes (default = <code>sizeof(eltype(base))</code>)</li><li><code>infokws</code> are info keys providing optimization hints to the runtime.</li></ul><p><a href="../advanced/#MPI.free"><code>MPI.free</code></a> should be called on the <code>Win</code> object once operations have been completed.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/onesided.jl#L41-L54">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Win_create_dynamic" href="#MPI.Win_create_dynamic"><code>MPI.Win_create_dynamic</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.Win_create_dynamic(comm::Comm; infokws...)</code></pre><p>Create a dynamic window returning a <code>Win</code> object used by these processes to perform RMA operations</p><p>This is a collective call over <code>comm</code>.</p><p><code>infokws</code> are info keys providing optimization hints.</p><p><a href="../advanced/#MPI.free"><code>MPI.free</code></a> should be called on the <code>Win</code> object once operations have been completed.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/onesided.jl#L145-L155">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Win_allocate_shared" href="#MPI.Win_allocate_shared"><code>MPI.Win_allocate_shared</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">win, array = MPI.Win_allocate_shared(Array{T}, dims, comm::Comm; infokws...)</code></pre><p>Create and allocate a shared memory window for objects of type <code>T</code> of dimension <code>dims</code> (either an integer or tuple of integers), returning a <code>Win</code> and the <code>Array{T}</code> attached to the local process.</p><p>This is a collective call over <code>comm</code>, but <code>dims</code> can differ for each call (and can be zero).</p><p>Use <a href="#MPI.Win_shared_query"><code>MPI.Win_shared_query</code></a> to obtain the <code>Array</code> attached to a different process in the same shared memory space.</p><p><code>infokws</code> are info keys providing optimization hints.</p><p><a href="../advanced/#MPI.free"><code>MPI.free</code></a> should be called on the <code>Win</code> object once operations have been completed.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/onesided.jl#L74-L91">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Win_shared_query" href="#MPI.Win_shared_query"><code>MPI.Win_shared_query</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">array = Win_shared_query(Array{T}, [dims,] win; rank)</code></pre><p>Obtain the shared memory allocated by <a href="#MPI.Win_allocate_shared"><code>Win_allocate_shared</code></a> of the process <code>rank</code> in <code>win</code>. Returns an <code>Array{T}</code> of size <code>dims</code> (being a <code>Vector{T}</code> if no <code>dims</code> argument is provided).</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/onesided.jl#L111-L117">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Win_flush" href="#MPI.Win_flush"><code>MPI.Win_flush</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Win_flush(win::Win; rank)</code></pre><p>Completes all outstanding RMA operations initiated by the calling process to the target rank on the specified window.</p><p><strong>External links</strong></p><ul><li><code>MPI_Win_flush</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_flush.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_flush.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/onesided.jl#L196-L204">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Win_lock" href="#MPI.Win_lock"><code>MPI.Win_lock</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Win_lock(win::Win; rank::Integer, type=:exclusive/:shared, nocheck=false)</code></pre><p>Starts an RMA access epoch. The window at the process with rank <code>rank</code> can be accessed by RMA operations on <code>win</code> during that epoch.</p><p>Multiple RMA access epochs (with calls to <code>MPI.Win_lock</code>) can occur simultaneously; however, each access epoch must target a different process.</p><p>Accesses that are protected by an exclusive lock (<code>type=:exclusive</code>) will not be concurrent at the window site with other accesses to the same window that are lock protected. Accesses that are protected by a shared lock (<code>type=:shared</code>) will not be concurrent at the window site with accesses protected by an exclusive lock to the same window.</p><p>If <code>nocheck=true</code>, no other process holds, or will attempt to acquire, a conflicting lock, while the caller holds the window lock. This is useful when mutual exclusion is achieved by other means, but the coherence operations that may be attached to the lock and unlock calls are still required.</p><p><strong>External links</strong></p><ul><li><code>MPI_Win_lock</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_lock.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_lock.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/onesided.jl#L216-L238">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Win_unlock" href="#MPI.Win_unlock"><code>MPI.Win_unlock</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Win_unlock(win::Win; rank::Integer)</code></pre><p>Completes an RMA access epoch started by a call to <a href="#MPI.Win_lock"><code>Win_lock</code></a>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Win_unlock</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_unlock.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_unlock.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/onesided.jl#L249-L256">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Get!" href="#MPI.Get!"><code>MPI.Get!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Get!(origin, win::Win; rank::Integer, disp::Integer=0)</code></pre><p>Copies data from the memory window <code>win</code> on the remote rank <code>rank</code>, with displacement <code>disp</code>, into <code>origin</code> using remote memory access. <code>origin</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(origin)</code> is defined.</p><p><strong>External links</strong></p><ul><li><code>MPI_Get</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/onesided.jl#L266-L275">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Put!" href="#MPI.Put!"><code>MPI.Put!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Put!(origin, win::Win; rank::Integer, disp::Integer=0)</code></pre><p>Copies data from <code>origin</code> into memory window <code>win</code> on remote rank <code>rank</code> at displacement <code>disp</code> using remote memory access. <code>origin</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <a href="../buffers/#MPI.Buffer_send"><code>Buffer_send(origin)</code></a> is defined.</p><p><strong>External links</strong></p><ul><li><code>MPI_Put</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Put.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Put.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/onesided.jl#L293-L303">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Accumulate!" href="#MPI.Accumulate!"><code>MPI.Accumulate!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Accumulate!(origin, op, win::Win; rank::Integer, disp::Integer=0)</code></pre><p>Combine the content of the <code>origin</code> buffer into the target buffer (specified by <code>win</code> and displacement <code>target_disp</code>) with reduction operator <code>op</code> on the remote rank <code>target_rank</code> using remote memory access.</p><p><code>origin</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <a href="../buffers/#MPI.Buffer_send"><code>Buffer_send(origin)</code></a> is defined. <code>op</code> can be any predefined <a href="../advanced/#MPI.Op"><code>Op</code></a> (custom operators are not supported).</p><p><strong>External links</strong></p><ul><li><code>MPI_Accumulate</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Accumulate.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Accumulate.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/onesided.jl#L333-L345">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Get_accumulate!" href="#MPI.Get_accumulate!"><code>MPI.Get_accumulate!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Get_accumulate!(origin, result, target_rank::Integer, target_disp::Integer, op::Op, win::Win)</code></pre><p>Combine the content of the <code>origin</code> buffer into the target buffer (specified by <code>win</code> and displacement <code>target_disp</code>) with reduction operator <code>op</code> on the remote rank <code>target_rank</code> using remote memory access. <code>Get_accumulate</code> also returns the content of the target buffer <em>before</em> accumulation into the <code>result</code> buffer.</p><p><code>origin</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer_send(origin)</code> is defined, <code>result</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(result)</code> is defined. <code>op</code> can be any predefined <a href="../advanced/#MPI.Op"><code>Op</code></a> (custom operators are not supported).</p><p><strong>External links</strong></p><ul><li><code>MPI_Get_accumulate</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_accumulate.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_accumulate.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/onesided.jl#L361-L374">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../collective/">« Collective communication</a><a class="docs-footer-nextpage" href="../topology/">Topology »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Thursday 29 September 2022 17:33">Thursday 29 September 2022</span>. Using Julia version 1.8.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR645/reference/pointtopoint/index.html b/previews/PR645/reference/pointtopoint/index.html
deleted file mode 100644
index c25bbd0ab..000000000
--- a/previews/PR645/reference/pointtopoint/index.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Point-to-point communication · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../library/">Library information</a></li><li><a class="tocitem" href="../environment/">Environment</a></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li class="is-active"><a class="tocitem" href>Point-to-point communication</a><ul class="internal"><li><a class="tocitem" href="#Types"><span>Types</span></a></li><li><a class="tocitem" href="#Blocking-communication"><span>Blocking communication</span></a></li><li><a class="tocitem" href="#Non-blocking-communication"><span>Non-blocking communication</span></a></li></ul></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../advanced/">Advanced</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>Point-to-point communication</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Point-to-point communication</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/pointtopoint.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Point-to-point-communication"><a class="docs-heading-anchor" href="#Point-to-point-communication">Point-to-point communication</a><a id="Point-to-point-communication-1"></a><a class="docs-heading-anchor-permalink" href="#Point-to-point-communication" title="Permalink"></a></h1><h2 id="Types"><a class="docs-heading-anchor" href="#Types">Types</a><a id="Types-1"></a><a class="docs-heading-anchor-permalink" href="#Types" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Request" href="#MPI.Request"><code>MPI.Request</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.Request</code></pre><p>An MPI Request object, representing a non-blocking communication. This also contains a reference to the buffer used in the communication to ensure it isn&#39;t garbage-collected during communication.</p><p>The status of a Request can be checked by the <a href="#MPI.Wait"><code>Wait</code></a> and <a href="#MPI.Test"><code>Test</code></a> functions or their multiple-request variants, which will deallocate the request once it is determined to be complete. Alternatively, it will be deallocated at finalization, meaning that it is safe to ignore the request objects if the status of the communication can be checked by other means.</p><p>See also <a href="#MPI.Cancel!"><code>Cancel!</code></a>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/nonblocking.jl#L41-L55">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Status" href="#MPI.Status"><code>MPI.Status</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.Status</code></pre><p>The status of an MPI receive communication. It has 3 accessible fields</p><ul><li><code>source</code>: source of the received message</li><li><code>tag</code>: tag of the received message</li><li><code>error</code>: error code. This is only set if a function returns multiple statuses.</li></ul><p>Additionally, the accessor function <a href="#MPI.Get_count"><code>MPI.Get_count</code></a> can be used to determine the number of entries received.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/nonblocking.jl#L3-L14">source</a></section></article><h3 id="Fields"><a class="docs-heading-anchor" href="#Fields">Fields</a><a id="Fields-1"></a><a class="docs-heading-anchor-permalink" href="#Fields" title="Permalink"></a></h3><pre><code class="nohighlight hljs">MPI.Status.source::Cint
-MPI.Status.tag::Cint
-MPI.Status.error::Cint</code></pre><h3 id="Accessors"><a class="docs-heading-anchor" href="#Accessors">Accessors</a><a id="Accessors-1"></a><a class="docs-heading-anchor-permalink" href="#Accessors" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.Get_count" href="#MPI.Get_count"><code>MPI.Get_count</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.Get_count(status::Status, T)</code></pre><p>The number of entries received. <code>T</code> should match the argument provided by the receive call that set the status variable.</p><p>If the number of entries received exceeds the limits of the count parameter, then it returns <code>MPI_UNDEFINED</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Get_count</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_count.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_count.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/nonblocking.jl#L119-L128">source</a></section></article><h2 id="Blocking-communication"><a class="docs-heading-anchor" href="#Blocking-communication">Blocking communication</a><a id="Blocking-communication-1"></a><a class="docs-heading-anchor-permalink" href="#Blocking-communication" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Send" href="#MPI.Send"><code>MPI.Send</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Send(buf, comm::Comm; dest::Integer, tag::Integer=0)</code></pre><p>Perform a blocking send from the buffer <code>buf</code> to MPI rank <code>dest</code> of communicator <code>comm</code> using the message tag <code>tag</code>.</p><pre><code class="nohighlight hljs">Send(obj, comm::Comm; dest::Integer, tag::Integer=0)</code></pre><p>Complete a blocking send of an <code>isbits</code> object <code>obj</code> to MPI rank <code>dest</code> of communicator <code>comm</code> using with the message tag <code>tag</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Send</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Send.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Send.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/pointtopoint.jl#L2-L15">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.send" href="#MPI.send"><code>MPI.send</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">send(obj, comm::Comm; dest::Integer, tag::Integer=0)</code></pre><p>Complete a blocking send using a serialized version of <code>obj</code> to MPI rank <code>dest</code> of communicator <code>comm</code> using with the message tag <code>tag</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/pointtopoint.jl#L35-L40">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Recv!" href="#MPI.Recv!"><code>MPI.Recv!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">data = Recv!(recvbuf, comm::Comm;
-        source::Integer=MPI_ANY_SOURCE, tag::Integer=MPI_ANY_TAG)
-data, status = Recv!(recvbuf, comm::Comm, MPI.Status;
-        source::Integer=MPI_ANY_SOURCE, tag::Integer=MPI_ANY_TAG)</code></pre><p>Completes a blocking receive into the buffer <code>recvbuf</code> from MPI rank <code>source</code> of communicator <code>comm</code> using with the message tag <code>tag</code>.</p><p><code>recvbuf</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(recvbuf)</code> is defined.</p><p>Optionally returns the <a href="#MPI.Status"><code>Status</code></a> object of the receive.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Recv"><code>Recv</code></a></li><li><a href="#MPI.recv"><code>recv</code></a></li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Recv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Recv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Recv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/pointtopoint.jl#L91-L110">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Recv" href="#MPI.Recv"><code>MPI.Recv</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">data = Recv(::Type{T}, comm::Comm;
-        source::Integer=MPI_ANY_SOURCE, tag::Integer=MPI_ANY_TAG)
-data, status = Recv(::Type{T}, comm::Comm, MPI.Status;
-        source::Integer=MPI_ANY_SOURCE, tag::Integer=MPI_ANY_TAG)</code></pre><p>Completes a blocking receive of a single <code>isbits</code> object of type <code>T</code> from MPI rank <code>source</code> of communicator <code>comm</code> using with the message tag <code>tag</code>.</p><p>Returns a tuple of the object of type <code>T</code> and optionally the <a href="#MPI.Status"><code>Status</code></a> of the receive.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Recv!"><code>Recv!</code></a></li><li><a href="#MPI.recv"><code>recv</code></a></li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Recv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Recv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Recv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/pointtopoint.jl#L130-L147">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.recv" href="#MPI.recv"><code>MPI.recv</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">obj = recv(comm::Comm;
-        source::Integer=MPI_ANY_SOURCE, tag::Integer=MPI_ANY_TAG)
-obj, status = recv(comm::Comm, MPI.Status;
-        source::Integer=MPI_ANY_SOURCE, tag::Integer=MPI_ANY_TAG)</code></pre><p>Completes a blocking receive of a serialized object from MPI rank <code>source</code> of communicator <code>comm</code> using with the message tag <code>tag</code>.</p><p>Returns the deserialized object and optionally the <a href="#MPI.Status"><code>Status</code></a> of the receive.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/pointtopoint.jl#L161-L171">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Sendrecv!" href="#MPI.Sendrecv!"><code>MPI.Sendrecv!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">data = Sendrecv!(sendbuf, recvbuf, comm;
-        dest::Integer, sendtag::Integer=0, source::Integer=MPI_ANY_SOURCE, recvtag::Integer=MPI_ANY_TAG)
-data, status = Sendrecv!(sendbuf, recvbuf, comm, MPI.Status;
-        dest::Integer, sendtag::Integer=0, source::Integer=MPI_ANY_SOURCE, recvtag::Integer=MPI_ANY_TAG)</code></pre><p>Complete a blocking send-receive operation over the MPI communicator <code>comm</code>. Send <code>sendcount</code> elements of type <code>sendtype</code> from <code>sendbuf</code> to the MPI rank <code>dest</code> using message tag <code>tag</code>, and receive <code>recvcount</code> elements of type <code>recvtype</code> from MPI rank <code>source</code> into the buffer <code>recvbuf</code> using message tag <code>tag</code>. Return a <a href="#MPI.Status"><code>Status</code></a> object.</p><p>If not provided, <code>sendtype</code>/<code>recvtype</code> and <code>sendcount</code>/<code>recvcount</code> are derived from the element type and length of <code>sendbuf</code>/<code>recvbuf</code>, respectively.</p><p><strong>External links</strong></p><ul><li><code>MPI_Sendrecv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Sendrecv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Sendrecv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/pointtopoint.jl#L229-L245">source</a></section></article><h2 id="Non-blocking-communication"><a class="docs-heading-anchor" href="#Non-blocking-communication">Non-blocking communication</a><a id="Non-blocking-communication-1"></a><a class="docs-heading-anchor-permalink" href="#Non-blocking-communication" title="Permalink"></a></h2><h3 id="Initiation"><a class="docs-heading-anchor" href="#Initiation">Initiation</a><a id="Initiation-1"></a><a class="docs-heading-anchor-permalink" href="#Initiation" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.Isend" href="#MPI.Isend"><code>MPI.Isend</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Isend(data, comm::Comm; dest::Integer, tag::Integer=0)</code></pre><p>Starts a nonblocking send of <code>data</code> to MPI rank <code>dest</code> of communicator <code>comm</code> using with the message tag <code>tag</code>.</p><p><code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <a href="../buffers/#MPI.Buffer_send"><code>Buffer_send</code></a> is defined.</p><p>Returns the <a href="#MPI.Request"><code>Request</code></a> object for the nonblocking send.</p><p><strong>External links</strong></p><ul><li><code>MPI_Isend</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Isend.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Isend.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/pointtopoint.jl#L48-L60">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.isend" href="#MPI.isend"><code>MPI.isend</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">isend(obj, comm::Comm; dest::Integer, tag::Integer=0)</code></pre><p>Starts a nonblocking send of using a serialized version of <code>obj</code> to MPI rank <code>dest</code> of communicator <code>comm</code> using with the message tag <code>tag</code>.</p><p>Returns the commication <code>Request</code> for the nonblocking send.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/pointtopoint.jl#L76-L83">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Irecv!" href="#MPI.Irecv!"><code>MPI.Irecv!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">req = Irecv!(recvbuf, comm::Comm;
-        source::Integer=MPI_ANY_SOURCE, tag::Integer=MPI_ANY_TAG)</code></pre><p>Starts a nonblocking receive into the buffer <code>data</code> from MPI rank <code>source</code> of communicator <code>comm</code> using with the message tag <code>tag</code>.</p><p><code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(data)</code> is defined.</p><p>Returns the <a href="#MPI.Request"><code>Request</code></a> object for the nonblocking receive.</p><p><strong>External links</strong></p><ul><li><code>MPI_Irecv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Irecv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Irecv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/pointtopoint.jl#L189-L202">source</a></section></article><h3 id="Completion"><a class="docs-heading-anchor" href="#Completion">Completion</a><a id="Completion-1"></a><a class="docs-heading-anchor-permalink" href="#Completion" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.Test" href="#MPI.Test"><code>MPI.Test</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">flag = Test(req::Request)
-flag, status = Test(req::Request, Status)</code></pre><p>Check if the request <code>req</code> is complete. If so, the request is deallocated and <code>flag = true</code> is returned. Otherwise <code>flag = false</code>.</p><p>The <code>Status</code> argument additionally returns the <code>Status</code> of the completed request.</p><p><strong>External links</strong></p><ul><li><code>MPI_Test</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Test.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Test.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/nonblocking.jl#L164-L174">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Testall" href="#MPI.Testall"><code>MPI.Testall</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">flag = Testall(reqs::AbstractVector{Request}[, statuses::Vector{Status}])
-flag, statuses = Testall(reqs::AbstractVector{Request}, Status)</code></pre><p>Check if all active requests in the array <code>reqs</code> are complete. If so, the requests are deallocated and <code>true</code> is returned. Otherwise no requests are modified, and <code>false</code> is returned.</p><p>The optional <code>statuses</code> or <code>Status</code> argument can be used to obtain the return <code>Status</code> of each request.</p><p><strong>External links</strong></p><ul><li><code>MPI_Testall</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Testall.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Testall.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/nonblocking.jl#L220-L233">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Testany" href="#MPI.Testany"><code>MPI.Testany</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">flag, idx = Testany(reqs::AbstractVector{Request}[, status::Ref{Status}])
-flag, idx, status = Testany(reqs::AbstractVector{Request}, Status)</code></pre><p>Checks if any one of the requests in the array <code>reqs</code> is complete.</p><p>If one or more requests are complete, then one is chosen arbitrarily, deallocated. <code>flag = true</code> and its (1-based) index <code>idx</code> is returned.</p><p>If there are no completed requests, then <code>flag = false</code> and <code>idx = nothing</code> is returned.</p><p>If there are no active requests, <code>flag = true</code> and <code>idx = nothing</code>.</p><p>The optional <code>status</code> argument can be used to obtain the return <code>Status</code> of the request.</p><p><strong>External links</strong></p><ul><li><code>MPI_Testany</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Testany.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Testany.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/nonblocking.jl#L287-L304">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Testsome" href="#MPI.Testsome"><code>MPI.Testsome</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">inds = Testsome(reqs::AbstractVector{Request}[, statuses::Vector{Status}])</code></pre><p>Similar to <a href="#MPI.Waitsome"><code>Waitsome</code></a> except that if no operations have completed it will return an empty array.</p><p>If there are no active requests, then the function returns <code>nothing</code>.</p><p>The optional <code>statuses</code> argument can be used to obtain the return <code>Status</code> of each completed request.</p><p><strong>External links</strong></p><ul><li><code>MPI_Testsome</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Testsome.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Testsome.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/nonblocking.jl#L369-L382">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Wait" href="#MPI.Wait"><code>MPI.Wait</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Wait(req::Request)
-status = Wait(req::Request, Status)</code></pre><p>Block until the request <code>req</code> is complete and deallocated.</p><p>The <code>Status</code> argument returns the <code>Status</code> of the completed request.</p><p><strong>External links</strong></p><ul><li><code>MPI_Wait</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Wait.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Wait.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/nonblocking.jl#L140-L150">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Waitall" href="#MPI.Waitall"><code>MPI.Waitall</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Waitall(reqs::AbstractVector{Request}[, statuses::Vector{Status}])
-statuses = Waitall(reqs::AbstractVector{Request}, Status)</code></pre><p>Block until all active requests in the array <code>reqs</code> are complete.</p><p>The optional <code>statuses</code> or <code>Status</code> argument can be used to obtain the return <code>Status</code> of each request.</p><p><strong>External links</strong></p><ul><li><code>MPI_Waitall</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Waitall.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Waitall.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/nonblocking.jl#L190-L201">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Waitany" href="#MPI.Waitany"><code>MPI.Waitany</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">i = Waitany(reqs::AbstractVector{Request}[, status::Ref{Status}])
-i, status = Waitany(reqs::AbstractVector{Request}, Status)</code></pre><p>Blocks until one of the requests in the array <code>reqs</code> is complete: if more than one is complete, one is chosen arbitrarily. The request is deallocated and the (1-based) index <code>i</code> of the completed request is returned.</p><p>If there are no active requests, then <code>i = nothing</code>.</p><p>The optional <code>status</code> argument can be used to obtain the return <code>Status</code> of the request.</p><p><strong>External links</strong></p><ul><li><code>MPI_Waitany</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Waitany.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Waitany.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/nonblocking.jl#L251-L265">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Waitsome" href="#MPI.Waitsome"><code>MPI.Waitsome</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">inds = Waitsome(reqs::AbstractVector{Request}[, statuses::Vector{Status}])</code></pre><p>Block until at least one of the active requests in the array <code>reqs</code> is complete. The completed requests are deallocated, and an array <code>inds</code> of their indices in <code>reqs</code> is returned.</p><p>If there are no active requests, then <code>inds = nothing</code>.</p><p>The optional <code>statuses</code> argument can be used to obtain the return <code>Status</code> of each completed request.</p><p><strong>External links</strong></p><ul><li><code>MPI_Waitsome</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Waitsome.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Waitsome.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/nonblocking.jl#L329-L342">source</a></section></article><h3 id="Probe/Cancel"><a class="docs-heading-anchor" href="#Probe/Cancel">Probe/Cancel</a><a id="Probe/Cancel-1"></a><a class="docs-heading-anchor-permalink" href="#Probe/Cancel" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.Cancel!" href="#MPI.Cancel!"><code>MPI.Cancel!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Cancel!(req::Request)</code></pre><p>Marks a pending <a href="#MPI.Irecv!"><code>Irecv!</code></a> operation for cancellation (cancelling a <a href="#MPI.Isend"><code>Isend</code></a>, while supported in some implementations, is deprecated as of MPI 3.1). Note that the request is not deallocated, and can still be queried using the test or wait functions.</p><p><strong>External links</strong></p><ul><li><code>MPI_Cancel</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cancel.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cancel.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/nonblocking.jl#L409-L418">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Iprobe" href="#MPI.Iprobe"><code>MPI.Iprobe</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">ismessage, (status|nothing) = Iprobe(src::Integer, tag::Integer, comm::Comm)</code></pre><p>Checks if there is a message that can be received matching <code>src</code>, <code>tag</code> and <code>comm</code>. If so, returns a tuple <code>true</code> and a <a href="#MPI.Status"><code>Status</code></a> object, otherwise returns a tuple <code>false, nothing</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Iprobe</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iprobe.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iprobe.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/nonblocking.jl#L98-L106">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Probe" href="#MPI.Probe"><code>MPI.Probe</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">status = Probe(src::Integer, tag::Integer, comm::Comm)</code></pre><p>Blocks until there is a message that can be received matching <code>src</code>, <code>tag</code> and <code>comm</code>. Returns the corresponding <a href="#MPI.Status"><code>Status</code></a> object.</p><p><strong>External links</strong></p><ul><li><code>MPI_Probe</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Probe.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Probe.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/nonblocking.jl#L81-L89">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../buffers/">« Buffers</a><a class="docs-footer-nextpage" href="../collective/">Collective communication »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Thursday 29 September 2022 17:33">Thursday 29 September 2022</span>. Using Julia version 1.8.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR645/reference/topology/index.html b/previews/PR645/reference/topology/index.html
deleted file mode 100644
index edce50c0b..000000000
--- a/previews/PR645/reference/topology/index.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Topology · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../library/">Library information</a></li><li><a class="tocitem" href="../environment/">Environment</a></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li class="is-active"><a class="tocitem" href>Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../advanced/">Advanced</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>Topology</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Topology</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/topology.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Topology"><a class="docs-heading-anchor" href="#Topology">Topology</a><a id="Topology-1"></a><a class="docs-heading-anchor-permalink" href="#Topology" title="Permalink"></a></h1><article class="docstring"><header><a class="docstring-binding" id="MPI.Dims_create" href="#MPI.Dims_create"><code>MPI.Dims_create</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">newdims = Dims_create(nnodes::Integer, dims)</code></pre><p>A convenience function for selecting a balanced Cartesian grid of a total of <code>nnodes</code> nodes, for example to use with <a href="#MPI.Cart_create"><code>MPI.Cart_create</code></a>.</p><p><code>dims</code> is an array or tuple of integers specifying the number of nodes in each dimension. The function returns an array <code>newdims</code> of the same length, such that if <code>newdims[i] = dims[i]</code> if <code>dims[i]</code> is non-zero, and <code>prod(newdims) == nnodes</code>, and values <code>newdims</code> are as close to each other as possible.</p><p><code>nnodes</code> should be divisible by the product of the non-zero entries of <code>dims</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Dims_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Dims_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Dims_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/topology.jl#L1-L16">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Cart_create" href="#MPI.Cart_create"><code>MPI.Cart_create</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">comm_cart = Cart_create(comm::Comm, dims; periodic=map(_-&gt;false, dims), reorder=false)</code></pre><p>Create new MPI communicator with Cartesian topology information attached.</p><p><code>dims</code> is an array or tuple of integers specifying the number of MPI processes in each coordinate direction, and <code>periodic</code> is an array or tuple of <code>Bool</code>s indicating the periodicity of each coordinate. <code>prod(dims)</code> must be less than or equal to the size of <code>comm</code>; if it is smaller than some processes are returned a null communicator.</p><p>If <code>reorder == false</code> then the rank of each process in the new group is identical to its rank in the old group, otherwise the function may reorder the processes.</p><p>See also <a href="#MPI.Dims_create"><code>MPI.Dims_create</code></a>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Cart_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cart_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cart_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/topology.jl#L25-L42">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Cart_get" href="#MPI.Cart_get"><code>MPI.Cart_get</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">dims, periods, coords = Cart_get(comm::Comm)</code></pre><p>Obtain information on the Cartesian topology of dimension <code>N</code> underlying the  communicator <code>comm</code>. This is specified by two <code>Cint</code> arrays of <code>N</code> elements for the number of processes and periodicity properties along each Cartesian dimension.  A third <code>Cint</code> array is returned, containing the Cartesian coordinates of the calling process.</p><p><strong>External links</strong></p><ul><li><code>MPI_Cart_get</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cart_get.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cart_get.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/topology.jl#L85-L95">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Cart_coords" href="#MPI.Cart_coords"><code>MPI.Cart_coords</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">coords = Cart_coords(comm::Comm, rank::Integer=Comm_rank(comm))</code></pre><p>Determine coordinates of a process with rank <code>rank</code> in the Cartesian communicator <code>comm</code>. If no <code>rank</code> is provided, it returns the coordinates of the current process.</p><p>Returns an integer array of the 0-based coordinates. The inverse of <a href="#MPI.Cart_rank"><code>Cart_rank</code></a>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Cart_coords</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cart_coords.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cart_coords.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/topology.jl#L126-L136">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Cart_rank" href="#MPI.Cart_rank"><code>MPI.Cart_rank</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">rank = Cart_rank(comm::Comm, coords)</code></pre><p>Determine process rank in communicator <code>comm</code> with Cartesian structure.  The <code>coords</code> array specifies the 0-based Cartesian coordinates of the process. This is the inverse of <a href="#MPI.Cart_coords"><code>MPI.Cart_coords</code></a></p><p><strong>External links</strong></p><ul><li><code>MPI_Cart_rank</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cart_rank.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cart_rank.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/topology.jl#L63-L71">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Cart_shift" href="#MPI.Cart_shift"><code>MPI.Cart_shift</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">rank_source, rank_dest = Cart_shift(comm::Comm, direction::Integer, disp::Integer)</code></pre><p>Return the source and destination ranks associated to a shift along a given direction.</p><p><strong>External links</strong></p><ul><li><code>MPI_Cart_shift</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cart_shift.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cart_shift.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/topology.jl#L147-L155">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Cart_sub" href="#MPI.Cart_sub"><code>MPI.Cart_sub</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">comm_sub = Cart_sub(comm::Comm, remain_dims)</code></pre><p>Create lower-dimensional Cartesian communicator from existent Cartesian topology.</p><p><code>remain_dims</code> should be a boolean vector specifying the dimensions that should be kept in the generated subgrid.</p><p><strong>External links</strong></p><ul><li><code>MPI_Cart_sub</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cart_sub.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cart_sub.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/topology.jl#L167-L178">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Cartdim_get" href="#MPI.Cartdim_get"><code>MPI.Cartdim_get</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">ndims = Cartdim_get(comm::Comm)</code></pre><p>Return number of dimensions of the Cartesian topology associated with the communicator <code>comm</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Cartdim_get</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cartdim_get.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cartdim_get.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/topology.jl#L109-L116">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Dist_graph_create" href="#MPI.Dist_graph_create"><code>MPI.Dist_graph_create</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">graph_comm = Dist_graph_create(comm::Comm, sources::Vector{Cint}, degrees::Vector{Cint}, destinations::Vector{Cint}; weights::Union{Vector{Cint}, Unweighted, WeightsEmpty}=UNWEIGHTED, reorder=false, infokws...)</code></pre><p>Create a new communicator from a given directed graph topology, described by incoming and outgoing edges on an existing communicator.</p><p><strong>Arguments</strong></p><ul><li><code>comm::Comm</code>: The communicator on which the distributed graph topology should be induced.</li><li><code>sources::Vector{Cint}</code>: An array with the ranks for which this call will specify outgoing edges.</li><li><code>degrees::Vector{Cint}</code>: An array with the number of outgoing edges for each entry in the sources array.</li><li><code>destinations::Vector{Cint}</code>: An array containing with lenght of the sum of the entries in the degrees array                                describing the ranks towards the edges point.</li><li><code>weights::Union{Vector{Cint}, Unweighted, WeightsEmpty}=MPI.UNWEIGHTED</code>: The edge weights of the specified edges.</li><li><code>reorder::Bool=false</code>: If set true, then the MPI implementation can reorder the source and destination indices.</li></ul><p><strong>Example</strong></p><p>We can generate a ring graph <code>1 --&gt; 2 --&gt; ... --&gt; N --&gt; 1</code>, where N is the number of ranks in the communicator, as follows</p><pre><code class="language-julia hljs">julia&gt; rank = MPI.Comm_rank(comm);
-julia&gt; N = MPI.Comm_size(comm);
-julia&gt; sources = Cint[rank];
-julia&gt; degrees = Cint[1];
-julia&gt; destinations = Cint[mod(rank-1, N)];
-julia&gt; graph_comm = Dist_graph_create(comm, sources, degrees, destinations)</code></pre><p><strong>External links</strong></p><ul><li><code>MPI_Dist_graph_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Dist_graph_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Dist_graph_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/topology.jl#L245-L272">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Dist_graph_create_adjacent" href="#MPI.Dist_graph_create_adjacent"><code>MPI.Dist_graph_create_adjacent</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">graph_comm = Dist_graph_create_adjacent(comm::Comm, sources::Vector{Cint}, destinations::Vector{Cint}; source_weights::Union{Vector{Cint}, Unweighted, WeightsEmpty}=UNWEIGHTED, destination_weights::Union{Vector{Cint}, Unweighted, WeightsEmpty}=UNWEIGHTED, reorder=false, infokws...)</code></pre><p>Create a new communicator from a given directed graph topology, described by local incoming and outgoing edges on an existing communicator.</p><p><strong>Arguments</strong></p><ul><li><code>comm::Comm</code>: The communicator on which the distributed graph topology should be induced.</li><li><code>sources::Vector{Cint}</code>: The local, incoming edges on the rank of the calling process.</li><li><code>destinations::Vector{Cint}</code>: The local, outgoing edges on the rank of the calling process.</li><li><code>source_weights::Union{Vector{Cint}, Unweighted, WeightsEmpty}=MPI.UNWEIGHTED</code>: The edge weights of the local, incoming edges.</li><li><code>destinations_weights::Union{Vector{Cint}, Unweighted, WeightsEmpty}=MPI.UNWEIGHTED</code>: The edge weights of the local, outgoing edges.</li><li><code>reorder::Bool=false</code>: If set true, then the MPI implementation can reorder the source and destination indices.</li></ul><p><strong>Example</strong></p><p>We can generate a ring graph <code>1 --&gt; 2 --&gt; ... --&gt; N --&gt; 1</code>, where N is the number of ranks in the communicator, as follows</p><pre><code class="language-julia hljs">julia&gt; rank = MPI.Comm_rank(comm);
-julia&gt; N = MPI.Comm_size(comm);
-julia&gt; sources = Cint[mod(rank-1, N)];
-julia&gt; destinations = Cint[mod(rank+1, N)];
-julia&gt; graph_comm = Dist_graph_create_adjacent(comm, sources, destinations);</code></pre><p><strong>External links</strong></p><ul><li><code>MPI_Dist_graph_create_adjacent</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Dist_graph_create_adjacent.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Dist_graph_create_adjacent.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/topology.jl#L204-L229">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Dist_graph_neighbors_count" href="#MPI.Dist_graph_neighbors_count"><code>MPI.Dist_graph_neighbors_count</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">indegree, outdegree, weighted = Dist_graph_neighbors_count(graph_comm::Comm)</code></pre><p>Return the number of in and out edges for the calling processes in a distributed graph topology and a flag indicating whether the distributed graph is weighted.</p><p><strong>Arguments</strong></p><ul><li><code>graph_comm::Comm</code>: The communicator of the distributed graph topology.</li></ul><p><strong>Example</strong></p><p>Let us assume the following graph <code>0 &lt;--&gt; 1 --&gt; 2</code>, which has no weights on its edges, then the process with rank 1 will obtain the following result from calling the function</p><pre><code class="language-julia-repl hljs">julia&gt; Dist_graph_neighbors_count(graph_comm)
-(1,2,false)</code></pre><p><strong>External links</strong></p><ul><li><code>MPI_Dist_graph_neighbors_count</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Dist_graph_neighbors_count.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Dist_graph_neighbors_count.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/topology.jl#L286-L305">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Dist_graph_neighbors!" href="#MPI.Dist_graph_neighbors!"><code>MPI.Dist_graph_neighbors!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Dist_graph_neighbors!(graph_comm::Comm, sources::Vector{Cint}, source_weights::Vector{Cint}, destinations::Vector{Cint}, destination_weights::Vector{Cint})</code></pre><p>Return the neighbors and edge weights of the calling process in a distributed graph topology.</p><p><strong>Arguments</strong></p><ul><li><code>graph_comm::Comm</code>: The communicator of the distributed graph topology.</li><li><code>sources::Vector{Cint}</code>: A preallocated vector, which will be filled with the ranks                       of the processes whose edges pointing towards the calling process. The                       length is exactly the indegree returned by <a href="#MPI.Dist_graph_neighbors_count"><code>MPI.Dist_graph_neighbors_count</code></a>.</li><li><code>source_weights::Vector{Cint}</code>: A preallocated vector, which will be filled with the weights                       associated to the edges pointing towards the calling process. The                       length is exactly the indegree returned by <a href="#MPI.Dist_graph_neighbors_count"><code>MPI.Dist_graph_neighbors_count</code></a>.</li><li><code>destinations::Vector{Cint}</code>: A preallocated vector, which will be filled with the ranks                       of the processes towards which the edges of the calling process point. The                       length is exactly the outdegree returned by <a href="#MPI.Dist_graph_neighbors_count"><code>MPI.Dist_graph_neighbors_count</code></a>.</li><li><code>destination_weights::Vector{Cint}</code>: A preallocated vector, which will be filled with the weights                       associated to the edges of the outgoing edges of the calling process point. The                       length is exactly the outdegree returned by <a href="#MPI.Dist_graph_neighbors_count"><code>MPI.Dist_graph_neighbors_count</code></a>.</li></ul><p><strong>Example</strong></p><p>Let us assume the following graph <code>0 &lt;-3-&gt; 1 -4-&gt; 2</code>, then the process with rank 1 will require to preallocate a sources vector of length 1 and a destination vector of length 2. The call will fill the vectors as follows:</p><pre><code class="language-julia-repl hljs">julia&gt; Dist_graph_neighbors!(graph_comm, sources, source_weights, destinations, destination_weights);
-julia&gt; sources
-[0]
-julia&gt; source_weights
-[3]
-julia&gt; destinations
-[0,2]
-julia&gt; destination_weights
-[3,4]</code></pre><p>Note that the edge between ranks 0 and 1 can have a different weight depending on wether it is the  incoming edge &quot;<code>(0,1)&quot;</code> or the outgoing one &quot;<code>(1,0)&quot;</code>. </p><p><strong>External links</strong></p><ul><li><code>MPI_Dist_graph_neighbors</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Dist_graph_neighbors.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Dist_graph_neighbors.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/topology.jl#L318-L360">source</a></section><section><div><pre><code class="nohighlight hljs">Dist_graph_neighbors!(graph_comm::Comm, sources::Vector{Cint}, destinations::Vector{Cint})</code></pre><p>Return the neighbors of the calling process in a distributed graph topology without edge weights.</p><p><strong>Arguments</strong></p><ul><li><code>graph_comm::Comm</code>: The communicator of the distributed graph topology.</li><li><code>sources::Vector{Cint}</code>: A preallocated vector, which will be filled with the ranks of the                        processes whose edges pointing towards the calling process. The                       length is exactly the indegree returned by <a href="#MPI.Dist_graph_neighbors_count"><code>MPI.Dist_graph_neighbors_count</code></a>.</li><li><code>destinations::Vector{Cint}</code>: A preallocated vector, which will be filled with the ranks                       of the processes towards which the edges of the calling process point. The                       length is exactly the outdegree returned by <a href="#MPI.Dist_graph_neighbors_count"><code>MPI.Dist_graph_neighbors_count</code></a>.</li></ul><p><strong>Example</strong></p><p>Let us assume the following graph <code>0 &lt;--&gt; 1 --&gt; 2</code>, then the process with rank 1 will require to preallocate a sources vector of length 1 and a destination vector of length 2. The call will fill the vectors as follows:</p><pre><code class="language-julia-repl hljs">julia&gt; Dist_graph_neighbors!(graph_comm, sources, destinations);
-julia&gt; sources
-[0]
-julia&gt; destinations
-[0,2]</code></pre><p><strong>External links</strong></p><ul><li><code>MPI_Dist_graph_neighbors</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Dist_graph_neighbors.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Dist_graph_neighbors.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7f75997884879591b19d342af07050b826a76266/src/topology.jl#L370-L399">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../onesided/">« One-sided communication</a><a class="docs-footer-nextpage" href="../io/">I/O »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Thursday 29 September 2022 17:33">Thursday 29 September 2022</span>. Using Julia version 1.8.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR645/refindex/index.html b/previews/PR645/refindex/index.html
deleted file mode 100644
index 6aa30be19..000000000
--- a/previews/PR645/refindex/index.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Index · MPI.jl</title><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../"><img src="../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../">MPI.jl</a></span></div><form class="docs-search" action="../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../">MPI.jl</a></li><li><a class="tocitem" href="../configuration/">Configuration</a></li><li><a class="tocitem" href="../usage/">Usage</a></li><li><a class="tocitem" href="../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../reference/library/">Library information</a></li><li><a class="tocitem" href="../reference/environment/">Environment</a></li><li><a class="tocitem" href="../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../reference/topology/">Topology</a></li><li><a class="tocitem" href="../reference/io/">I/O</a></li><li><a class="tocitem" href="../reference/advanced/">Advanced</a></li></ul></li><li class="is-active"><a class="tocitem" href>Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>Index</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Index</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/refindex.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Index"><a class="docs-heading-anchor" href="#Index">Index</a><a id="Index-1"></a><a class="docs-heading-anchor-permalink" href="#Index" title="Permalink"></a></h1><ul><li><a href="../reference/comm/#MPI.COMM_SELF"><code>MPI.COMM_SELF</code></a></li><li><a href="../reference/comm/#MPI.COMM_WORLD"><code>MPI.COMM_WORLD</code></a></li><li><a href="../reference/buffers/#MPI.IN_PLACE"><code>MPI.IN_PLACE</code></a></li><li><a href="../reference/library/#MPI.MPI_LIBRARY"><code>MPI.MPI_LIBRARY</code></a></li><li><a href="../reference/library/#MPI.MPI_LIBRARY_VERSION"><code>MPI.MPI_LIBRARY_VERSION</code></a></li><li><a href="../reference/library/#MPI.MPI_LIBRARY_VERSION_STRING"><code>MPI.MPI_LIBRARY_VERSION_STRING</code></a></li><li><a href="../reference/library/#MPI.MPI_VERSION"><code>MPI.MPI_VERSION</code></a></li><li><a href="../reference/mpipreferences/#MPIPreferences.abi"><code>MPIPreferences.abi</code></a></li><li><a href="../reference/mpipreferences/#MPIPreferences.binary"><code>MPIPreferences.binary</code></a></li><li><a href="../reference/buffers/#MPI.Buffer"><code>MPI.Buffer</code></a></li><li><a href="../reference/comm/#MPI.Comm"><code>MPI.Comm</code></a></li><li><a href="../reference/group/#MPI.Comparison"><code>MPI.Comparison</code></a></li><li><a href="../reference/advanced/#MPI.Datatype"><code>MPI.Datatype</code></a></li><li><a href="../reference/advanced/#MPI.Errhandler"><code>MPI.Errhandler</code></a></li><li><a href="../reference/environment/#MPI.FeatureLevelError"><code>MPI.FeatureLevelError</code></a></li><li><a href="../reference/group/#MPI.Group"><code>MPI.Group</code></a></li><li><a href="../reference/advanced/#MPI.Info"><code>MPI.Info</code></a></li><li><a href="../reference/environment/#MPI.MPIError"><code>MPI.MPIError</code></a></li><li><a href="../reference/buffers/#MPI.MPIPtr"><code>MPI.MPIPtr</code></a></li><li><a href="../reference/advanced/#MPI.Op"><code>MPI.Op</code></a></li><li><a href="../reference/buffers/#MPI.RBuffer"><code>MPI.RBuffer</code></a></li><li><a href="../reference/pointtopoint/#MPI.Request"><code>MPI.Request</code></a></li><li><a href="../reference/pointtopoint/#MPI.Status"><code>MPI.Status</code></a></li><li><a href="../reference/environment/#MPI.ThreadLevel"><code>MPI.ThreadLevel</code></a></li><li><a href="../reference/buffers/#MPI.UBuffer"><code>MPI.UBuffer</code></a></li><li><a href="../reference/buffers/#MPI.VBuffer"><code>MPI.VBuffer</code></a></li><li><a href="../reference/environment/#MPI.Abort"><code>MPI.Abort</code></a></li><li><a href="../reference/onesided/#MPI.Accumulate!"><code>MPI.Accumulate!</code></a></li><li><a href="../reference/collective/#MPI.Allgather"><code>MPI.Allgather</code></a></li><li><a href="../reference/collective/#MPI.Allgather!"><code>MPI.Allgather!</code></a></li><li><a href="../reference/collective/#MPI.Allgatherv!"><code>MPI.Allgatherv!</code></a></li><li><a href="../reference/collective/#MPI.Allreduce"><code>MPI.Allreduce</code></a></li><li><a href="../reference/collective/#MPI.Allreduce!"><code>MPI.Allreduce!</code></a></li><li><a href="../reference/collective/#MPI.Alltoall"><code>MPI.Alltoall</code></a></li><li><a href="../reference/collective/#MPI.Alltoall!"><code>MPI.Alltoall!</code></a></li><li><a href="../reference/collective/#MPI.Alltoallv!"><code>MPI.Alltoallv!</code></a></li><li><a href="../reference/collective/#MPI.Barrier"><code>MPI.Barrier</code></a></li><li><a href="../reference/collective/#MPI.Bcast!"><code>MPI.Bcast!</code></a></li><li><a href="../reference/buffers/#MPI.Buffer_send"><code>MPI.Buffer_send</code></a></li><li><a href="../reference/pointtopoint/#MPI.Cancel!"><code>MPI.Cancel!</code></a></li><li><a href="../reference/topology/#MPI.Cart_coords"><code>MPI.Cart_coords</code></a></li><li><a href="../reference/topology/#MPI.Cart_create"><code>MPI.Cart_create</code></a></li><li><a href="../reference/topology/#MPI.Cart_get"><code>MPI.Cart_get</code></a></li><li><a href="../reference/topology/#MPI.Cart_rank"><code>MPI.Cart_rank</code></a></li><li><a href="../reference/topology/#MPI.Cart_shift"><code>MPI.Cart_shift</code></a></li><li><a href="../reference/topology/#MPI.Cart_sub"><code>MPI.Cart_sub</code></a></li><li><a href="../reference/topology/#MPI.Cartdim_get"><code>MPI.Cartdim_get</code></a></li><li><a href="../reference/comm/#MPI.Comm_compare"><code>MPI.Comm_compare</code></a></li><li><a href="../reference/comm/#MPI.Comm_create"><code>MPI.Comm_create</code></a></li><li><a href="../reference/comm/#MPI.Comm_create_group"><code>MPI.Comm_create_group</code></a></li><li><a href="../reference/comm/#MPI.Comm_dup"><code>MPI.Comm_dup</code></a></li><li><a href="../reference/comm/#MPI.Comm_get_parent"><code>MPI.Comm_get_parent</code></a></li><li><a href="../reference/comm/#MPI.Comm_group"><code>MPI.Comm_group</code></a></li><li><a href="../reference/comm/#MPI.Comm_rank"><code>MPI.Comm_rank</code></a></li><li><a href="../reference/comm/#MPI.Comm_remote_group"><code>MPI.Comm_remote_group</code></a></li><li><a href="../reference/comm/#MPI.Comm_size"><code>MPI.Comm_size</code></a></li><li><a href="../reference/comm/#MPI.Comm_spawn"><code>MPI.Comm_spawn</code></a></li><li><a href="../reference/comm/#MPI.Comm_split"><code>MPI.Comm_split</code></a></li><li><a href="../reference/comm/#MPI.Comm_split_type"><code>MPI.Comm_split_type</code></a></li><li><a href="../reference/topology/#MPI.Dims_create"><code>MPI.Dims_create</code></a></li><li><a href="../reference/topology/#MPI.Dist_graph_create"><code>MPI.Dist_graph_create</code></a></li><li><a href="../reference/topology/#MPI.Dist_graph_create_adjacent"><code>MPI.Dist_graph_create_adjacent</code></a></li><li><a href="../reference/topology/#MPI.Dist_graph_neighbors!"><code>MPI.Dist_graph_neighbors!</code></a></li><li><a href="../reference/topology/#MPI.Dist_graph_neighbors_count"><code>MPI.Dist_graph_neighbors_count</code></a></li><li><a href="../reference/collective/#MPI.Exscan"><code>MPI.Exscan</code></a></li><li><a href="../reference/collective/#MPI.Exscan!"><code>MPI.Exscan!</code></a></li><li><a href="../reference/io/#MPI.File.get_atomicity"><code>MPI.File.get_atomicity</code></a></li><li><a href="../reference/io/#MPI.File.get_byte_offset"><code>MPI.File.get_byte_offset</code></a></li><li><a href="../reference/io/#MPI.File.get_position_shared"><code>MPI.File.get_position_shared</code></a></li><li><a href="../reference/io/#MPI.File.open"><code>MPI.File.open</code></a></li><li><a href="../reference/io/#MPI.File.read!"><code>MPI.File.read!</code></a></li><li><a href="../reference/io/#MPI.File.read_all!"><code>MPI.File.read_all!</code></a></li><li><a href="../reference/io/#MPI.File.read_at!"><code>MPI.File.read_at!</code></a></li><li><a href="../reference/io/#MPI.File.read_at_all!"><code>MPI.File.read_at_all!</code></a></li><li><a href="../reference/io/#MPI.File.read_ordered!"><code>MPI.File.read_ordered!</code></a></li><li><a href="../reference/io/#MPI.File.read_shared!"><code>MPI.File.read_shared!</code></a></li><li><a href="../reference/io/#MPI.File.seek_shared"><code>MPI.File.seek_shared</code></a></li><li><a href="../reference/io/#MPI.File.set_atomicity"><code>MPI.File.set_atomicity</code></a></li><li><a href="../reference/io/#MPI.File.set_view!"><code>MPI.File.set_view!</code></a></li><li><a href="../reference/io/#MPI.File.sync"><code>MPI.File.sync</code></a></li><li><a href="../reference/io/#MPI.File.write"><code>MPI.File.write</code></a></li><li><a href="../reference/io/#MPI.File.write_all"><code>MPI.File.write_all</code></a></li><li><a href="../reference/io/#MPI.File.write_at"><code>MPI.File.write_at</code></a></li><li><a href="../reference/io/#MPI.File.write_at_all"><code>MPI.File.write_at_all</code></a></li><li><a href="../reference/io/#MPI.File.write_ordered"><code>MPI.File.write_ordered</code></a></li><li><a href="../reference/io/#MPI.File.write_shared"><code>MPI.File.write_shared</code></a></li><li><a href="../reference/environment/#MPI.Finalize"><code>MPI.Finalize</code></a></li><li><a href="../reference/environment/#MPI.Finalized"><code>MPI.Finalized</code></a></li><li><a href="../reference/collective/#MPI.Gather"><code>MPI.Gather</code></a></li><li><a href="../reference/collective/#MPI.Gather!"><code>MPI.Gather!</code></a></li><li><a href="../reference/collective/#MPI.Gatherv!"><code>MPI.Gatherv!</code></a></li><li><a href="../reference/onesided/#MPI.Get!"><code>MPI.Get!</code></a></li><li><a href="../reference/onesided/#MPI.Get_accumulate!"><code>MPI.Get_accumulate!</code></a></li><li><a href="../reference/pointtopoint/#MPI.Get_count"><code>MPI.Get_count</code></a></li><li><a href="../reference/environment/#MPI.Get_processor_name"><code>MPI.Get_processor_name</code></a></li><li><a href="../reference/group/#MPI.Group_rank"><code>MPI.Group_rank</code></a></li><li><a href="../reference/group/#MPI.Group_size"><code>MPI.Group_size</code></a></li><li><a href="../reference/collective/#MPI.Ibarrier"><code>MPI.Ibarrier</code></a></li><li><a href="../reference/environment/#MPI.Init"><code>MPI.Init</code></a></li><li><a href="../reference/environment/#MPI.Initialized"><code>MPI.Initialized</code></a></li><li><a href="../reference/comm/#MPI.Intercomm_merge"><code>MPI.Intercomm_merge</code></a></li><li><a href="../reference/pointtopoint/#MPI.Iprobe"><code>MPI.Iprobe</code></a></li><li><a href="../reference/pointtopoint/#MPI.Irecv!"><code>MPI.Irecv!</code></a></li><li><a href="../reference/environment/#MPI.Is_thread_main"><code>MPI.Is_thread_main</code></a></li><li><a href="../reference/pointtopoint/#MPI.Isend"><code>MPI.Isend</code></a></li><li><a href="../reference/collective/#MPI.Neighbor_allgather!"><code>MPI.Neighbor_allgather!</code></a></li><li><a href="../reference/collective/#MPI.Neighbor_allgatherv!"><code>MPI.Neighbor_allgatherv!</code></a></li><li><a href="../reference/collective/#MPI.Neighbor_alltoall!"><code>MPI.Neighbor_alltoall!</code></a></li><li><a href="../reference/collective/#MPI.Neighbor_alltoallv!"><code>MPI.Neighbor_alltoallv!</code></a></li><li><a href="../reference/pointtopoint/#MPI.Probe"><code>MPI.Probe</code></a></li><li><a href="../reference/onesided/#MPI.Put!"><code>MPI.Put!</code></a></li><li><a href="../reference/environment/#MPI.Query_thread"><code>MPI.Query_thread</code></a></li><li><a href="../reference/pointtopoint/#MPI.Recv"><code>MPI.Recv</code></a></li><li><a href="../reference/pointtopoint/#MPI.Recv!"><code>MPI.Recv!</code></a></li><li><a href="../reference/collective/#MPI.Reduce"><code>MPI.Reduce</code></a></li><li><a href="../reference/collective/#MPI.Reduce!"><code>MPI.Reduce!</code></a></li><li><a href="../reference/collective/#MPI.Scan"><code>MPI.Scan</code></a></li><li><a href="../reference/collective/#MPI.Scan!"><code>MPI.Scan!</code></a></li><li><a href="../reference/collective/#MPI.Scatter"><code>MPI.Scatter</code></a></li><li><a href="../reference/collective/#MPI.Scatter!"><code>MPI.Scatter!</code></a></li><li><a href="../reference/collective/#MPI.Scatterv!"><code>MPI.Scatterv!</code></a></li><li><a href="../reference/pointtopoint/#MPI.Send"><code>MPI.Send</code></a></li><li><a href="../reference/pointtopoint/#MPI.Sendrecv!"><code>MPI.Sendrecv!</code></a></li><li><a href="../reference/pointtopoint/#MPI.Test"><code>MPI.Test</code></a></li><li><a href="../reference/pointtopoint/#MPI.Testall"><code>MPI.Testall</code></a></li><li><a href="../reference/pointtopoint/#MPI.Testany"><code>MPI.Testany</code></a></li><li><a href="../reference/pointtopoint/#MPI.Testsome"><code>MPI.Testsome</code></a></li><li><a href="../reference/advanced/#MPI.Types.commit!"><code>MPI.Types.commit!</code></a></li><li><a href="../reference/advanced/#MPI.Types.create_contiguous"><code>MPI.Types.create_contiguous</code></a></li><li><a href="../reference/advanced/#MPI.Types.create_resized"><code>MPI.Types.create_resized</code></a></li><li><a href="../reference/advanced/#MPI.Types.create_struct"><code>MPI.Types.create_struct</code></a></li><li><a href="../reference/advanced/#MPI.Types.create_subarray"><code>MPI.Types.create_subarray</code></a></li><li><a href="../reference/advanced/#MPI.Types.create_vector"><code>MPI.Types.create_vector</code></a></li><li><a href="../reference/advanced/#MPI.Types.duplicate"><code>MPI.Types.duplicate</code></a></li><li><a href="../reference/advanced/#MPI.Types.extent"><code>MPI.Types.extent</code></a></li><li><a href="../reference/pointtopoint/#MPI.Wait"><code>MPI.Wait</code></a></li><li><a href="../reference/pointtopoint/#MPI.Waitall"><code>MPI.Waitall</code></a></li><li><a href="../reference/pointtopoint/#MPI.Waitany"><code>MPI.Waitany</code></a></li><li><a href="../reference/pointtopoint/#MPI.Waitsome"><code>MPI.Waitsome</code></a></li><li><a href="../reference/onesided/#MPI.Win_allocate_shared"><code>MPI.Win_allocate_shared</code></a></li><li><a href="../reference/onesided/#MPI.Win_create"><code>MPI.Win_create</code></a></li><li><a href="../reference/onesided/#MPI.Win_create_dynamic"><code>MPI.Win_create_dynamic</code></a></li><li><a href="../reference/onesided/#MPI.Win_flush"><code>MPI.Win_flush</code></a></li><li><a href="../reference/onesided/#MPI.Win_lock"><code>MPI.Win_lock</code></a></li><li><a href="../reference/onesided/#MPI.Win_shared_query"><code>MPI.Win_shared_query</code></a></li><li><a href="../reference/onesided/#MPI.Win_unlock"><code>MPI.Win_unlock</code></a></li><li><a href="../reference/collective/#MPI.bcast"><code>MPI.bcast</code></a></li><li><a href="../reference/advanced/#MPI.free"><code>MPI.free</code></a></li><li><a href="../reference/advanced/#MPI.get_errorhandler"><code>MPI.get_errorhandler</code></a></li><li><a href="../reference/library/#MPI.has_cuda"><code>MPI.has_cuda</code></a></li><li><a href="../reference/library/#MPI.identify_implementation"><code>MPI.identify_implementation</code></a></li><li><a href="../reference/advanced/#MPI.infoval"><code>MPI.infoval</code></a></li><li><a href="../reference/environment/#MPI.install_mpiexecjl"><code>MPI.install_mpiexecjl</code></a></li><li><a href="../reference/pointtopoint/#MPI.isend"><code>MPI.isend</code></a></li><li><a href="../reference/pointtopoint/#MPI.recv"><code>MPI.recv</code></a></li><li><a href="../reference/pointtopoint/#MPI.send"><code>MPI.send</code></a></li><li><a href="../reference/advanced/#MPI.set_errorhandler!"><code>MPI.set_errorhandler!</code></a></li><li><a href="../reference/comm/#MPI.tag_ub"><code>MPI.tag_ub</code></a></li><li><a href="../reference/advanced/#MPI.to_type"><code>MPI.to_type</code></a></li><li><a href="../reference/comm/#MPI.universe_size"><code>MPI.universe_size</code></a></li><li><a href="../reference/environment/#MPICH_jll.mpiexec"><code>MPICH_jll.mpiexec</code></a></li><li><a href="../reference/mpipreferences/#MPIPreferences.identify_abi"><code>MPIPreferences.identify_abi</code></a></li><li><a href="../reference/mpipreferences/#MPIPreferences.use_jll_binary"><code>MPIPreferences.use_jll_binary</code></a></li><li><a href="../reference/mpipreferences/#MPIPreferences.use_system_binary"><code>MPIPreferences.use_system_binary</code></a></li><li><a href="../reference/advanced/#MPI.Consts.@const_ref"><code>MPI.Consts.@const_ref</code></a></li></ul></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../reference/advanced/">« Advanced</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Thursday 29 September 2022 17:33">Thursday 29 September 2022</span>. Using Julia version 1.8.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR645/search/index.html b/previews/PR645/search/index.html
deleted file mode 100644
index c8b0b5700..000000000
--- a/previews/PR645/search/index.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Search · MPI.jl</title><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../"><img src="../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../">MPI.jl</a></span></div><form class="docs-search" action><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../">MPI.jl</a></li><li><a class="tocitem" href="../configuration/">Configuration</a></li><li><a class="tocitem" href="../usage/">Usage</a></li><li><a class="tocitem" href="../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../reference/library/">Library information</a></li><li><a class="tocitem" href="../reference/environment/">Environment</a></li><li><a class="tocitem" href="../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../reference/topology/">Topology</a></li><li><a class="tocitem" href="../reference/io/">I/O</a></li><li><a class="tocitem" href="../reference/advanced/">Advanced</a></li></ul></li><li><a class="tocitem" href="../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>Search</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Search</a></li></ul></nav><div class="docs-right"><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article><p id="documenter-search-info">Loading search...</p><ul id="documenter-search-results"></ul></article><nav class="docs-footer"><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Thursday 29 September 2022 17:33">Thursday 29 September 2022</span>. Using Julia version 1.8.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body><script src="../search_index.js"></script><script src="../assets/search.js"></script></html>
diff --git a/previews/PR645/search_index.js b/previews/PR645/search_index.js
deleted file mode 100644
index 71497b39d..000000000
--- a/previews/PR645/search_index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-var documenterSearchIndex = {"docs":
-[{"location":"examples/07-rma_active/","page":"Active RMA","title":"Active RMA","text":"EditURL = \"https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/07-rma_active.jl\"","category":"page"},{"location":"examples/07-rma_active/#Active-RMA","page":"Active RMA","title":"Active RMA","text":"","category":"section"},{"location":"examples/07-rma_active/","page":"Active RMA","title":"Active RMA","text":"# examples/07-rma_active.jl\n# This example demonstrates one-sided communication,\n# specifically activate Remote Memory Access (RMA)\n\nusing MPI\n\nMPI.Init()\nconst world_sz = MPI.Comm_size(MPI.COMM_WORLD)\nconst rank = MPI.Comm_rank(MPI.COMM_WORLD)\n\n# allocate memory\nall_ranks = fill(-1, world_sz)\n# create RMA window on all ranks\nwin = MPI.Win_create(all_ranks, MPI.COMM_WORLD)\n\n#### first, let's MPI.Put on all ranks\n\n# start the communication epoch\nMPI.Win_fence(0, win)\n# each rank writes to exposed windows of rank 0\n# Signature: obj, target_rank, target_displacement, window\nMPI.Put(rank, 0, rank, win)\n# finish the communication epoch\nMPI.Win_fence(0, win)\n# print window content on all ranks\nfor j in 0:world_sz-1\n    if rank == j\n        println(\"After Put, Rank $rank:\")\n        @show all_ranks\n    end\n    MPI.Barrier(MPI.COMM_WORLD)\nend\nrank == 0 && println()\n\n#### now, let's MPI.Get on all ranks\n\n# start the communication epoch\nMPI.Win_fence(0, win)\n# each rank reads from exposed windows of rank 0\nMPI.Get(all_ranks, 0, win)\n# finish the communication epoch\nMPI.Win_fence(0, win)\n# print window content on all ranks\nfor j in 0:world_sz-1\n    if rank == j\n        println(\"After Get, Rank $rank:\")\n        @show all_ranks\n    end\n    MPI.Barrier(MPI.COMM_WORLD)\nend\n\n# free window\nMPI.free(win)","category":"page"},{"location":"examples/07-rma_active/","page":"Active RMA","title":"Active RMA","text":"> mpiexecjl -n 4 julia examples/07-rma_active.jl\nAfter Put, Rank 0:\nall_ranks = [0, 1, 2, 3]\nAfter Put, Rank 1:\nall_ranks = [-1, -1, -1, -1]\nAfter Put, Rank 2:\nall_ranks = [-1, -1, -1, -1]\nAfter Put, Rank 3:\nall_ranks = [-1, -1, -1, -1]\n\nAfter Get, Rank 0:\nall_ranks = [0, 1, 2, 3]\nAfter Get, Rank 1:\nall_ranks = [0, 1, 2, 3]\nAfter Get, Rank 2:\nall_ranks = [0, 1, 2, 3]\nAfter Get, Rank 3:\nall_ranks = [0, 1, 2, 3]","category":"page"},{"location":"examples/08-rma_passive/","page":"Passive RMA","title":"Passive RMA","text":"EditURL = \"https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/08-rma_passive.jl\"","category":"page"},{"location":"examples/08-rma_passive/#Passive-RMA","page":"Passive RMA","title":"Passive RMA","text":"","category":"section"},{"location":"examples/08-rma_passive/","page":"Passive RMA","title":"Passive RMA","text":"# examples/08-rma_passive.jl\n# This example demonstrates one-sided communication,\n# specifically passive Remote Memory Access (RMA)\n\nusing MPI\n\nMPI.Init()\nconst world_sz = MPI.Comm_size(MPI.COMM_WORLD)\nconst rank = MPI.Comm_rank(MPI.COMM_WORLD)\n\n# allocate memory\nall_ranks = fill(-1, world_sz)\n# create RMA window on all ranks\nwin = MPI.Win_create(all_ranks, MPI.COMM_WORLD)\n\n# let each rank write its rank number into window\nif rank != 0\n    # lock window (MPI.LOCK_SHARED works as well)\n    MPI.Win_lock(MPI.LOCK_EXCLUSIVE, 0, 0, win)\n    # each rank writes to exposed windows of rank 0\n    # Signature: obj, target_rank, target_displacement, window\n    MPI.Put(rank, 0, rank, win)\n    # finish the communication epoch\n    MPI.Win_unlock(0, win)\nelse\n    all_ranks[1] = 0\nend\n\n# wait with printing\nMPI.Win_fence(0, win)\n\n# print window content on all ranks\nif rank == 0\n    println(\"After Put with lock / unlock, window content on rank 0:\")\n    @show all_ranks\nend\n\n# free window\nMPI.free(win)","category":"page"},{"location":"examples/08-rma_passive/","page":"Passive RMA","title":"Passive RMA","text":"> mpiexecjl -n 4 julia examples/08-rma_passive.jl\nAfter Put with lock / unlock, window content on rank 0:\nall_ranks = [0, 1, 2, 3]","category":"page"},{"location":"examples/04-sendrecv/","page":"Send/receive","title":"Send/receive","text":"EditURL = \"https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/04-sendrecv.jl\"","category":"page"},{"location":"examples/04-sendrecv/#Send/receive","page":"Send/receive","title":"Send/receive","text":"","category":"section"},{"location":"examples/04-sendrecv/","page":"Send/receive","title":"Send/receive","text":"# examples/04-sendrecv.jl\nusing MPI\nMPI.Init()\n\ncomm = MPI.COMM_WORLD\nrank = MPI.Comm_rank(comm)\nsize = MPI.Comm_size(comm)\n\ndst = mod(rank+1, size)\nsrc = mod(rank-1, size)\n\nN = 4\n\nsend_mesg = Array{Float64}(undef, N)\nrecv_mesg = Array{Float64}(undef, N)\n\nfill!(send_mesg, Float64(rank))\n\nrreq = MPI.Irecv!(recv_mesg, src,  src+32, comm)\n\nprint(\"$rank: Sending   $rank -> $dst = $send_mesg\\n\")\nsreq = MPI.Isend(send_mesg, dst, rank+32, comm)\n\nstats = MPI.Waitall!([rreq, sreq])\n\nprint(\"$rank: Received $src -> $rank = $recv_mesg\\n\")\n\nMPI.Barrier(comm)","category":"page"},{"location":"examples/04-sendrecv/","page":"Send/receive","title":"Send/receive","text":"> mpiexecjl -n 4 julia examples/04-sendrecv.jl\n3: Sending   3 -> 0 = [3.0, 3.0, 3.0, 3.0]\n2: Sending   2 -> 3 = [2.0, 2.0, 2.0, 2.0]\n1: Sending   1 -> 2 = [1.0, 1.0, 1.0, 1.0]\n0: Sending   0 -> 1 = [0.0, 0.0, 0.0, 0.0]\n3: Received 2 -> 3 = [2.0, 2.0, 2.0, 2.0]\n1: Received 0 -> 1 = [0.0, 0.0, 0.0, 0.0]\n2: Received 1 -> 2 = [1.0, 1.0, 1.0, 1.0]\n0: Received 3 -> 0 = [3.0, 3.0, 3.0, 3.0]","category":"page"},{"location":"examples/09-graph_communication/","page":"Graph Communication","title":"Graph Communication","text":"EditURL = \"https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/09-graph_communication.jl\"","category":"page"},{"location":"examples/09-graph_communication/#Graph-Communication","page":"Graph Communication","title":"Graph Communication","text":"","category":"section"},{"location":"examples/09-graph_communication/","page":"Graph Communication","title":"Graph Communication","text":"# examples/09-graph_communication.jl\nusing Test\nusing MPI\n\nMPI.Init()\n\ncomm = MPI.COMM_WORLD\nsize = MPI.Comm_size(comm)\nrank = MPI.Comm_rank(comm)\n\n#\n# Setup the following communication graph\n#\n#   +-----+\n#   |     |\n#   v     v\n#   0<-+  3\n#   ^  |  ^\n#   |  |  |\n#   v  |  v\n#   1  +--2\n#   ^     |\n#   |     |\n#   +-----+\n#\n#\n\nif rank == 0\n    dest   = Cint[1,3]\n    degree = Cint[length(dest)]\nelseif rank == 1\n    dest   = Cint[0]\n    degree = Cint[length(dest)]\nelseif rank == 2\n    dest   = Cint[3,0,1]\n    degree = Cint[length(dest)]\nelseif rank == 3\n    dest   = Cint[0,2,1]\n    degree = Cint[length(dest)]\nend\n\nsource = Cint[rank]\ngraph_comm = MPI.Dist_graph_create(comm, source, degree, dest)\n\n#\n# Now send the rank across the edges.\n#\n# Version 1: use allgather primitive\n#\n\nsend = [rank]\nif rank == 0\n    recv = [-1, -1, -1]\nelseif rank == 1\n    recv = [-1, -1, -1]\nelseif rank == 2\n    recv = [-1]\nelseif rank == 3\n    recv = [-1, -1]\nend\n\nMPI.Neighbor_allgather!(send, recv, graph_comm);\n\nprintln(\"rank = $(rank): $(recv)\")\n\n#\n# Version 2: use alltoall primitive\n#\n\nif rank == 0\n    send   = [rank, rank]\n    recv   = [-1, -1, -1]\nelseif rank == 1\n    send = [rank]\n    recv   = [-1, -1, -1]\nelseif rank == 2\n    send = [rank, rank, rank]\n    recv   = [-1]\nelseif rank == 3\n    send = [rank, rank, rank]\n    recv   = [-1, -1]\nend\n\nMPI.Neighbor_alltoall!(UBuffer(send,1), UBuffer(recv,1), graph_comm);\n\nprintln(\"rank = $(rank): $(recv)\")\n\n#\n# Now send the rank exactly rank times across the edges.\n#\n# Rank i receives i+1 values from each adjacent process\nif rank == 0\n    send       = [rank, rank,\n                  rank, rank, rank, rank]\n    send_count = [2, 4]\n\n    recv   = [-1, -1, -1]\n    recv_count = [1, 1, 1]\nelseif rank == 1\n    send       = [rank]\n    send_count = [1]\n\n    recv       = [-1, -1, -1, -1, -1, -1]\n    recv_count = [2, 2, 2]\nelseif rank == 2\n    send       = [rank, rank, rank, rank,\n                  rank,\n                  rank,rank]\n    send_count = [4, 1, 2]\n\n    recv       = [-1, -1, -1]\n    recv_count = [3]\nelseif rank == 3\n    send       = [rank, \n                  rank, rank,rank,\n                  rank, rank]\n    send_count = [1, 3, 2]\n\n    recv       = [-1, -1, -1, -1, -1, -1, -1, -1]\n    recv_count = [4, 4]\nend\n\nMPI.Neighbor_alltoallv!(VBuffer(send,send_count), VBuffer(recv,recv_count), graph_comm);\nprintln(\"rank = $(rank): $(recv)\")\n\nMPI.Finalize()","category":"page"},{"location":"examples/09-graph_communication/","page":"Graph Communication","title":"Graph Communication","text":"> mpiexecjl -n 4 julia examples/09-graph_communication.jl\nrank = 3: [0, 2]rank = 1: [3, 2, 0]rank = 2: [3]\nrank = 0: [3, 1, 2]\n\n\nrank = 1: [3, 2, 0]rank = 3: [0, 2]\nrank = 0: [3, 1, 2]\nrank = 2: [3]\n\nrank = 2: [3, 3, 3]\nrank = 1: [3, 3, 2, 2, 0, 0]rank = 0: [3, 1, 2]\n\nrank = 3: [0, 0, 0, 0, 2, 2, 2, 2]","category":"page"},{"location":"knownissues/#Known-issues","page":"Known issues","title":"Known issues","text":"","category":"section"},{"location":"knownissues/#Julia-module-precompilation","page":"Known issues","title":"Julia module precompilation","text":"","category":"section"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"If multiple MPI ranks trigger Julia's module precompilation, then a race condition can result in an error such as:","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"ERROR: LoadError: IOError: mkdir: file already exists (EEXIST)\nStacktrace:\n [1] uv_error at ./libuv.jl:97 [inlined]\n [2] mkdir(::String; mode::UInt16) at ./file.jl:177\n [3] mkpath(::String; mode::UInt16) at ./file.jl:227\n [4] mkpath at ./file.jl:222 [inlined]\n [5] compilecache_path(::Base.PkgId) at ./loading.jl:1210\n [6] compilecache(::Base.PkgId, ::String) at ./loading.jl:1240\n [7] _require(::Base.PkgId) at ./loading.jl:1029\n [8] require(::Base.PkgId) at ./loading.jl:927\n [9] require(::Module, ::Symbol) at ./loading.jl:922\n [10] include(::Module, ::String) at ./Base.jl:377\n [11] exec_options(::Base.JLOptions) at ./client.jl:288\n [12] _start() at ./client.jl:484","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"See julia issue #30174 for more discussion of this problem. There are similar issues with Pkg operations, see Pkg issue #1219.","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"This can be worked around be either:","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"Triggering precompilation before launching MPI processes, for example:\njulia --project -e 'using Pkg; pkg\"instantiate\"'\njulia --project -e 'using Pkg; pkg\"precompile\"'\nmpiexec julia --project script.jl\nLaunching julia with the  --compiled-modules=no option. This can result in much longer package load times.","category":"page"},{"location":"knownissues/#Open-MPI","page":"Known issues","title":"Open MPI","text":"","category":"section"},{"location":"knownissues/#Segmentation-fault","page":"Known issues","title":"Segmentation fault","text":"","category":"section"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"When attempting to use a system-provided Open MPI implementation, you may encounter a segmentation fault. This can be fixed by setting the environment variable ZES_ENABLE_SYSMAN=1. See Open MPI issue #10142.","category":"page"},{"location":"knownissues/#UCX","page":"Known issues","title":"UCX","text":"","category":"section"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"UCX is a communication framework used by several MPI implementations.","category":"page"},{"location":"knownissues/#Memory-cache","page":"Known issues","title":"Memory cache","text":"","category":"section"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"When used with CUDA, UCX intercepts cudaMalloc so it can determine whether the pointer passed to MPI is on the host (main memory) or the device (GPU). Unfortunately, there are several known issues with how this works with Julia:","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"UCX issue #5061\nUCX issue #4001 (fixed in UCX v1.7.0)","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"By default, MPI.jl disables this by setting","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"ENV[\"UCX_MEMTYPE_CACHE\"] = \"no\"","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"at __init__ which may result in reduced performance, especially for smaller messages.","category":"page"},{"location":"knownissues/#Multi-threading-and-signal-handling","page":"Known issues","title":"Multi-threading and signal handling","text":"","category":"section"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"When using Julia multi-threading, the Julia garbage collector internally uses SIGSEGV to synchronize threads.","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"By default, UCX will error if this signal is raised (#337), resulting in a message such as:","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"Caught signal 11 (Segmentation fault: invalid permissions for mapped object at address 0xXXXXXXXX)","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"This signal interception can be controlled by setting the environment variable UCX_ERROR_SIGNALS: if not already defined, MPI.jl will set it as:","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"ENV[\"UCX_ERROR_SIGNALS\"] = \"SIGILL,SIGBUS,SIGFPE\"","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"at __init__. If set externally, it should be modified to exclude SIGSEGV from the list.","category":"page"},{"location":"knownissues/#CUDA-aware-MPI","page":"Known issues","title":"CUDA-aware MPI","text":"","category":"section"},{"location":"knownissues/#Memory-pool","page":"Known issues","title":"Memory pool","text":"","category":"section"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"Using CUDA-aware MPI on multi-GPU nodes with recent CUDA.jl may trigger (see here)","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"The call to cuIpcGetMemHandle failed. This means the GPU RDMA protocol\ncannot be used.\n  cuIpcGetMemHandle return value:   1","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"in the MPI layer, or fail on a segmentation fault (see here) with","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"[1642930332.032032] [gcn19:4087661:0] gdr_copy_md.c:122 UCX ERROR gdr_pin_buffer failed. length :65536 ret:22","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"This is due to the MPI implementation using legacy cuIpc* APIs, which are incompatible with stream-ordered allocator, now default in CUDA.jl, see UCX issue #7110.","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"To circumvent this, one has to ensure the CUDA memory pool to be set to none:","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"export JULIA_CUDA_MEMORY_POOL=none","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"More about CUDA.jl memory environment-variables.","category":"page"},{"location":"knownissues/#Hints-to-ensure-CUDA-aware-MPI-to-be-functional","page":"Known issues","title":"Hints to ensure CUDA-aware MPI to be functional","text":"","category":"section"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"Make sure to:","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"Have MPI and CUDA on path (or module loaded) that were used to build the CUDA-aware MPI\nSet the following environment variables:   export JULIA_CUDA_MEMORY_POOL=none   export JULIA_CUDA_USE_BINARYBUILDER=false\nAdd CUDA, MPIPreferences, and MPI packages in Julia. Switch to using the system binary   julia -e 'using Pkg; pkg\"add CUDA, MPIPreferences, MPI\"'   julia -e 'using MPIPreferences; MPIPreferences.use_system_binary()'\nThen in Julia, upon loading MPI and CUDA modules, you can check\nCUDA version: CUDA.versioninfo()\nIf MPI has CUDA: MPI.has_cuda()\nIf you are using correct MPI library: MPI.libmpi","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"After that, it may be preferred to run the Julia MPI script (as suggested here) launching it from a shell script (as suggested here).","category":"page"},{"location":"knownissues/#ROCm-aware-MPI","page":"Known issues","title":"ROCm-aware MPI","text":"","category":"section"},{"location":"knownissues/#Hints-to-ensure-ROCm-aware-MPI-to-be-functional","page":"Known issues","title":"Hints to ensure ROCm-aware MPI to be functional","text":"","category":"section"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"Make sure to:","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"Have MPI and ROCm on path (or module loaded) that were used to build the ROCm-aware MPI\nAdd AMDGPU and MPI packages in Julia:    julia -e 'using Pkg; pkg\"add AMDGPU\"; pkg\"add MPI\"; using MPI; MPI.use_system_binary()'\nThen in Julia, upon loading MPI and CUDA modules, you can check\nAMDGPU version: AMDGPU.versioninfo()\nIf you are using correct MPI implementation: MPI.identify_implementation()","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"After that, this script can be used to verify if ROCm-aware MPI is functional (modified after the CUDA-aware version from here). It may be preferred to run the Julia ROCm-aware MPI script launching it from a shell script (as suggested here).","category":"page"},{"location":"knownissues/#Microsoft-MPI","page":"Known issues","title":"Microsoft MPI","text":"","category":"section"},{"location":"knownissues/#Custom-operators-on-32-bit-Windows","page":"Known issues","title":"Custom operators on 32-bit Windows","text":"","category":"section"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"It is not possible to use custom operators with 32-bit Microsoft MPI, as it uses the stdcall calling convention, which is not supported by Julia's C-compatible function pointers.","category":"page"},{"location":"reference/onesided/#One-sided-communication","page":"One-sided communication","title":"One-sided communication","text":"","category":"section"},{"location":"reference/onesided/","page":"One-sided communication","title":"One-sided communication","text":"MPI.Win_create\nMPI.Win_create_dynamic\nMPI.Win_allocate_shared\nMPI.Win_shared_query\nMPI.Win_flush\nMPI.Win_lock\nMPI.Win_unlock\nMPI.Get!\nMPI.Put!\nMPI.Accumulate!\nMPI.Get_accumulate!","category":"page"},{"location":"reference/onesided/#MPI.Win_create","page":"One-sided communication","title":"MPI.Win_create","text":"MPI.Win_create(base[, size::Integer, disp_unit::Integer], comm::Comm; infokws...)\n\nCreate a window over the array base, returning a Win object used by these processes to perform RMA operations. This is a collective call over comm.\n\nsize is the size of the window in bytes (default = sizeof(base))\ndisp_unit is the size of address scaling in bytes (default = sizeof(eltype(base)))\ninfokws are info keys providing optimization hints to the runtime.\n\nMPI.free should be called on the Win object once operations have been completed.\n\n\n\n\n\n","category":"function"},{"location":"reference/onesided/#MPI.Win_create_dynamic","page":"One-sided communication","title":"MPI.Win_create_dynamic","text":"MPI.Win_create_dynamic(comm::Comm; infokws...)\n\nCreate a dynamic window returning a Win object used by these processes to perform RMA operations\n\nThis is a collective call over comm.\n\ninfokws are info keys providing optimization hints.\n\nMPI.free should be called on the Win object once operations have been completed.\n\n\n\n\n\n","category":"function"},{"location":"reference/onesided/#MPI.Win_allocate_shared","page":"One-sided communication","title":"MPI.Win_allocate_shared","text":"win, array = MPI.Win_allocate_shared(Array{T}, dims, comm::Comm; infokws...)\n\nCreate and allocate a shared memory window for objects of type T of dimension dims (either an integer or tuple of integers), returning a Win and the Array{T} attached to the local process.\n\nThis is a collective call over comm, but dims can differ for each call (and can be zero).\n\nUse MPI.Win_shared_query to obtain the Array attached to a different process in the same shared memory space.\n\ninfokws are info keys providing optimization hints.\n\nMPI.free should be called on the Win object once operations have been completed.\n\n\n\n\n\n","category":"function"},{"location":"reference/onesided/#MPI.Win_shared_query","page":"One-sided communication","title":"MPI.Win_shared_query","text":"array = Win_shared_query(Array{T}, [dims,] win; rank)\n\nObtain the shared memory allocated by Win_allocate_shared of the process rank in win. Returns an Array{T} of size dims (being a Vector{T} if no dims argument is provided).\n\n\n\n\n\n","category":"function"},{"location":"reference/onesided/#MPI.Win_flush","page":"One-sided communication","title":"MPI.Win_flush","text":"Win_flush(win::Win; rank)\n\nCompletes all outstanding RMA operations initiated by the calling process to the target rank on the specified window.\n\nExternal links\n\nMPI_Win_flush man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/onesided/#MPI.Win_lock","page":"One-sided communication","title":"MPI.Win_lock","text":"Win_lock(win::Win; rank::Integer, type=:exclusive/:shared, nocheck=false)\n\nStarts an RMA access epoch. The window at the process with rank rank can be accessed by RMA operations on win during that epoch.\n\nMultiple RMA access epochs (with calls to MPI.Win_lock) can occur simultaneously; however, each access epoch must target a different process.\n\nAccesses that are protected by an exclusive lock (type=:exclusive) will not be concurrent at the window site with other accesses to the same window that are lock protected. Accesses that are protected by a shared lock (type=:shared) will not be concurrent at the window site with accesses protected by an exclusive lock to the same window.\n\nIf nocheck=true, no other process holds, or will attempt to acquire, a conflicting lock, while the caller holds the window lock. This is useful when mutual exclusion is achieved by other means, but the coherence operations that may be attached to the lock and unlock calls are still required.\n\nExternal links\n\nMPI_Win_lock man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/onesided/#MPI.Win_unlock","page":"One-sided communication","title":"MPI.Win_unlock","text":"Win_unlock(win::Win; rank::Integer)\n\nCompletes an RMA access epoch started by a call to Win_lock.\n\nExternal links\n\nMPI_Win_unlock man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/onesided/#MPI.Get!","page":"One-sided communication","title":"MPI.Get!","text":"Get!(origin, win::Win; rank::Integer, disp::Integer=0)\n\nCopies data from the memory window win on the remote rank rank, with displacement disp, into origin using remote memory access. origin can be a Buffer, or any object for which Buffer(origin) is defined.\n\nExternal links\n\nMPI_Get man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/onesided/#MPI.Put!","page":"One-sided communication","title":"MPI.Put!","text":"Put!(origin, win::Win; rank::Integer, disp::Integer=0)\n\nCopies data from origin into memory window win on remote rank rank at displacement disp using remote memory access. origin can be a Buffer, or any object for which Buffer_send(origin) is defined.\n\nExternal links\n\nMPI_Put man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/onesided/#MPI.Accumulate!","page":"One-sided communication","title":"MPI.Accumulate!","text":"Accumulate!(origin, op, win::Win; rank::Integer, disp::Integer=0)\n\nCombine the content of the origin buffer into the target buffer (specified by win and displacement target_disp) with reduction operator op on the remote rank target_rank using remote memory access.\n\norigin can be a Buffer, or any object for which Buffer_send(origin) is defined. op can be any predefined Op (custom operators are not supported).\n\nExternal links\n\nMPI_Accumulate man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/onesided/#MPI.Get_accumulate!","page":"One-sided communication","title":"MPI.Get_accumulate!","text":"Get_accumulate!(origin, result, target_rank::Integer, target_disp::Integer, op::Op, win::Win)\n\nCombine the content of the origin buffer into the target buffer (specified by win and displacement target_disp) with reduction operator op on the remote rank target_rank using remote memory access. Get_accumulate also returns the content of the target buffer before accumulation into the result buffer.\n\norigin can be a Buffer, or any object for which Buffer_send(origin) is defined, result can be a Buffer, or any object for which Buffer(result) is defined. op can be any predefined Op (custom operators are not supported).\n\nExternal links\n\nMPI_Get_accumulate man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/buffers/#Buffers","page":"Buffers","title":"Buffers","text":"","category":"section"},{"location":"reference/buffers/","page":"Buffers","title":"Buffers","text":"Buffers are used for sending and receiving data. MPI.jl provides the following buffer types:","category":"page"},{"location":"reference/buffers/","page":"Buffers","title":"Buffers","text":"MPI.IN_PLACE\nMPI.Buffer\nMPI.Buffer_send\nMPI.UBuffer\nMPI.VBuffer\nMPI.RBuffer\nMPI.MPIPtr","category":"page"},{"location":"reference/buffers/#MPI.IN_PLACE","page":"Buffers","title":"MPI.IN_PLACE","text":"MPI.IN_PLACE\n\nA sentinel value that can be passed as a buffer argument for certain collective operations to use the same buffer for send and receive operations.\n\nScatter! and Scatterv!: can be used as the recvbuf argument on the root process.\nGather! and Gatherv!: can be used as the sendbuf argument on the root process.\nAllgather!, Allgatherv!, Alltoall! and Alltoallv!: can be used as the sendbuf argument on all processes.\nReduce! (root only), Allreduce!, Scan! and Exscan!: can be used as sendbuf argument.\n\n\n\n\n\n","category":"constant"},{"location":"reference/buffers/#MPI.Buffer","page":"Buffers","title":"MPI.Buffer","text":"MPI.Buffer\n\nAn MPI buffer for communication with a single rank. It is used for point-to-point and one-sided operations, as well as some collective operations. Operations will implicitly construct a Buffer when required via the generic constructor, but it can be advantageous to manually construct Buffers when doing so incurs additional overhead, for example when using a non-predefined MPI.Datatype.\n\nFields\n\ndata\na Julia object referencing a region of memory to be used for communication. It is required that the object can be cconverted to an MPIPtr.\ncount\nthe number of elements of datatype in the buffer. Note that this may not correspond to the number of elements in the array if derived types are used.\ndatatype\nthe MPI.Datatype stored in the buffer.\n\nUsage\n\nBuffer(data, count::Integer, datatype::Datatype)\n\nGeneric constructor.\n\nBuffer(data)\n\nConstruct a Buffer backed by data, automatically determining the appropriate count and datatype. Methods are provided for\n\nRef\nArray\nCUDA.CuArray if CUDA.jl is loaded.\nAMDGPU.ROCArray if AMDGPU.jl is loaded.\nSubArrays of an Array, CUDA.CuArray or AMDGPU.ROCArray where the layout is contiguous, sequential or blocked.\n\nSee also\n\nBuffer_send\n\n\n\n\n\n","category":"type"},{"location":"reference/buffers/#MPI.Buffer_send","page":"Buffers","title":"MPI.Buffer_send","text":"Buffer_send(data)\n\nConstruct a Buffer object for a send operation from data, allowing cases where isbits(data).\n\n\n\n\n\n","category":"function"},{"location":"reference/buffers/#MPI.UBuffer","page":"Buffers","title":"MPI.UBuffer","text":"MPI.UBuffer\n\nAn MPI buffer for chunked collective communication, where all chunks are of uniform size.\n\nFields\n\ndata\nA Julia object referencing a region of memory to be used for communication. It is required that the object can be cconverted to an MPIPtr.\ncount\nThe number of elements of datatype in each chunk.\nnchunks\nThe maximum number of chunks stored in the buffer. This is used only for validation, and can be set to nothing to disable checks.\ndatatype\nThe MPI.Datatype stored in the buffer.\n\nUsage\n\nUBuffer(data, count::Integer, nchunks::Union{Nothing, Integer}, datatype::Datatype)\n\nGeneric constructor.\n\nUBuffer(data, count::Integer)\n\nConstruct a UBuffer backed by data, where count is the number of elements in each chunk.\n\nSee also\n\nVBuffer: similar, but supports chunks of non-uniform sizes.\n\n\n\n\n\n","category":"type"},{"location":"reference/buffers/#MPI.VBuffer","page":"Buffers","title":"MPI.VBuffer","text":"MPI.VBuffer\n\nAn MPI buffer for chunked collective communication, where chunks can be of different sizes and at different offsets.\n\nFields\n\ndata\nA Julia object referencing a region of memory to be used for communication. It is required that the object can be cconverted to an MPIPtr.\ncounts\nAn array containing the length of each chunk.\ndispls\nAn array containing the (0-based) displacements of each chunk.\ndatatype\nThe MPI.Datatype stored in the buffer.\n\nUsage\n\nVBuffer(data, counts[, displs[, datatype]])\n\nConstruct a VBuffer backed by data, where counts[j] is the number of elements in the jth chunk, and displs[j] is the 0-based displacement. In other words, the jth chunk occurs in indices displs[j]+1:displs[j]+counts[j].\n\nThe default value for displs[j] = sum(counts[1:j-1]).\n\nSee also\n\nUBuffer when chunks are all of the same size.\n\n\n\n\n\n","category":"type"},{"location":"reference/buffers/#MPI.RBuffer","page":"Buffers","title":"MPI.RBuffer","text":"MPI.RBuffer\n\nAn MPI buffer for reduction operations (MPI.Reduce!, MPI.Allreduce!, MPI.Scan!, MPI.Exscan!).\n\nFields\n\nsenddata\nA Julia object referencing a region of memory to be used for the send buffer. It is required that the object can be cconverted to an MPIPtr.\nrecvdata\nA Julia object referencing a region of memory to be used for the receive buffer. It is required that the object can be cconverted to an MPIPtr.\ncount\nthe number of elements of datatype in the buffer. Note that this may not correspond to the number of elements in the array if derived types are used.\ndatatype\nthe MPI.Datatype stored in the buffer.\n\nUsage\n\nRBuffer(senddata, recvdata[, count, datatype])\n\nGeneric constructor.\n\nRBuffer(senddata, recvdata)\n\nConstruct a Buffer backed by senddata and recvdata, automatically determining the appropriate count and datatype.\n\nsenddata can be MPI.IN_PLACE\nrecvdata can be nothing on a non-root node with MPI.Reduce!\n\n\n\n\n\n","category":"type"},{"location":"reference/buffers/#MPI.MPIPtr","page":"Buffers","title":"MPI.MPIPtr","text":"MPI.MPIPtr\n\nA pointer to an MPI buffer. This type is used only as part of the implicit conversion in ccall: a Julia object can be passed to MPI by defining methods for Base.cconvert(::Type{MPIPtr}, ...)/Base.unsafe_convert(::Type{MPIPtr}, ...).\n\nCurrently supported are:\n\nPtr\nRef\nArray\nSubArray\nCUDA.CuArray if CUDA.jl is loaded.\nAMDGPU.ROCArray if AMDGPU.jl is loaded.\n\nAdditionally, certain sentinel values can be used, e.g. MPI_IN_PLACE or MPI_BOTTOM.\n\n\n\n\n\n","category":"type"},{"location":"reference/comm/#Communicators","page":"Communicators","title":"Communicators","text":"","category":"section"},{"location":"reference/comm/","page":"Communicators","title":"Communicators","text":"An MPI communicator specifies the communication context for a communication operation. In particular, it specifies the set of processes which share the context, and assigns each each process a unique rank (see MPI.Comm_rank) taking an integer value in 0:n-1, where n is the number of processes in the communicator (see MPI.Comm_size.","category":"page"},{"location":"reference/comm/#Types-and-enums","page":"Communicators","title":"Types and enums","text":"","category":"section"},{"location":"reference/comm/","page":"Communicators","title":"Communicators","text":"MPI.Comm","category":"page"},{"location":"reference/comm/#MPI.Comm","page":"Communicators","title":"MPI.Comm","text":"MPI.Comm\n\nAn MPI Communicator object.\n\n\n\n\n\n","category":"type"},{"location":"reference/comm/#Constants","page":"Communicators","title":"Constants","text":"","category":"section"},{"location":"reference/comm/","page":"Communicators","title":"Communicators","text":"MPI.COMM_WORLD\nMPI.COMM_SELF","category":"page"},{"location":"reference/comm/#MPI.COMM_WORLD","page":"Communicators","title":"MPI.COMM_WORLD","text":"MPI.COMM_WORLD\n\nA communicator containing all processes with which the local rank can communicate at initialization. In a typical \"static-process\" model, this will be all processes.\n\n\n\n\n\n","category":"constant"},{"location":"reference/comm/#MPI.COMM_SELF","page":"Communicators","title":"MPI.COMM_SELF","text":"MPI.COMM_SELF\n\nA communicator containing only the local process.\n\n\n\n\n\n","category":"constant"},{"location":"reference/comm/#Functions","page":"Communicators","title":"Functions","text":"","category":"section"},{"location":"reference/comm/#Operations","page":"Communicators","title":"Operations","text":"","category":"section"},{"location":"reference/comm/","page":"Communicators","title":"Communicators","text":"MPI.Comm_size\nMPI.Comm_rank\nMPI.Comm_compare\nMPI.Comm_group\nMPI.Comm_remote_group","category":"page"},{"location":"reference/comm/#MPI.Comm_size","page":"Communicators","title":"MPI.Comm_size","text":"Comm_size(comm::Comm)\n\nThe number of processes involved in communicator.\n\nSee also\n\nMPI.Comm_rank.\n\nExternal links\n\nMPI_Comm_size man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.Comm_rank","page":"Communicators","title":"MPI.Comm_rank","text":"Comm_rank(comm::Comm)\n\nThe rank of the process in the particular communicator's group.\n\nReturns an integer in the range 0:MPI.Comm_size()-1.\n\nSee also\n\nMPI.Comm_size.\n\nExternal links\n\nMPI_Comm_rank man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.Comm_compare","page":"Communicators","title":"MPI.Comm_compare","text":"Comm_compare(comm1::Comm, comm2::Comm)::MPI.Comparison\n\nCompare two communicators and their underlying groups, returning an element of the Comparison enum.\n\nExternal links\n\nMPI_Comm_compare man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.Comm_group","page":"Communicators","title":"MPI.Comm_group","text":"Comm_group(comm::Comm)\n\nAccesses the group associated with given communicator.\n\nExternal links\n\nMPI_Comm_group man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.Comm_remote_group","page":"Communicators","title":"MPI.Comm_remote_group","text":"Comm_remote_group(comm::Comm)\n\nAccesses the remote group associated with the given inter-communicator.\n\nExternal links\n\nMPI_Comm_remote_group man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#Constructors","page":"Communicators","title":"Constructors","text":"","category":"section"},{"location":"reference/comm/","page":"Communicators","title":"Communicators","text":"MPI.Comm_create\nMPI.Comm_create_group\nMPI.Comm_dup\nMPI.Comm_get_parent\nMPI.Comm_spawn\nMPI.Comm_split\nMPI.Comm_split_type\nMPI.Intercomm_merge","category":"page"},{"location":"reference/comm/#MPI.Comm_create","page":"Communicators","title":"MPI.Comm_create","text":"Comm_create(comm::Comm, group::Group)\n\nCollectively creates a new communicator.\n\nSee also\n\nMPI.Comm_create_group for the noncollective operation\n\nExternal links\n\nMPI_Comm_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.Comm_create_group","page":"Communicators","title":"MPI.Comm_create_group","text":"Comm_create_group(comm::Comm, group::Group, tag::Integer)\n\nNoncollectively creates a new communicator.\n\nSee also\n\nMPI.Comm_create for the noncollective operation\n\nExternal links\n\nMPI_Comm_create_group man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.Comm_dup","page":"Communicators","title":"MPI.Comm_dup","text":"Comm_dup(comm::Comm)\n\nExternal links\n\nMPI_Comm_dup man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.Comm_get_parent","page":"Communicators","title":"MPI.Comm_get_parent","text":"Comm_get_parent()\n\nExternal links\n\nMPI_Comm_get_parent man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.Comm_spawn","page":"Communicators","title":"MPI.Comm_spawn","text":"Comm_spawn(command, argv::Vector{String}, nprocs::Integer, comm::Comm[, errors::Vector{Cint}]; kwargs...)\n\nExternal links\n\nMPI_Comm_spawn man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.Comm_split","page":"Communicators","title":"MPI.Comm_split","text":"Comm_split(comm::Comm, color::Union{Integer,Nothing}, key::Integer)\n\nPartition the communicator comm, one for each value of color, returning a new communicator. Within each group, the processes are ranked in the order of key, with ties broken by the order of comm.\n\ncolor should be a non-negative integer, or nothing, in which case a null communicator is returned for that rank.\n\nExternal links\n\nMPI_Comm_split man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.Comm_split_type","page":"Communicators","title":"MPI.Comm_split_type","text":"Comm_split_type(comm::Comm, split_type, key::Integer; kwargs...)\n\nPartitions the communicator comm based on split_type, returning a new communicator. Within each group, the processes are ranked in the order of key, with ties broken by the order of comm.\n\nCurrently only one split_type is provided:\n\nMPI.COMM_TYPE_SHARED: splits the communicator into subcommunicators, each of which can create a shared memory region.\n\nExternal links\n\nMPI_Comm_split_type man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.Intercomm_merge","page":"Communicators","title":"MPI.Intercomm_merge","text":"Intercomm_merge(intercomm::Comm, flag::Bool)\n\nExternal links\n\nMPI_Intercomm_merge man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#Miscellaneous","page":"Communicators","title":"Miscellaneous","text":"","category":"section"},{"location":"reference/comm/","page":"Communicators","title":"Communicators","text":"MPI.universe_size\nMPI.tag_ub","category":"page"},{"location":"reference/comm/#MPI.universe_size","page":"Communicators","title":"MPI.universe_size","text":"universe_size()\n\nThe total number of available slots, or nothing if it is not defined. This is determined by the MPI_UNIVERSE_SIZE attribute of COMM_WORLD.\n\nThis is typically dependent on the MPI implementation: for MPICH-based implementations, this is specified by the -usize argument. OpenMPI defines a default value based on the number of processes available.\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.tag_ub","page":"Communicators","title":"MPI.tag_ub","text":"tag_ub()\n\nThe maximum value tag value for point-to-point operations.\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#Point-to-point-communication","page":"Point-to-point communication","title":"Point-to-point communication","text":"","category":"section"},{"location":"reference/pointtopoint/#Types","page":"Point-to-point communication","title":"Types","text":"","category":"section"},{"location":"reference/pointtopoint/","page":"Point-to-point communication","title":"Point-to-point communication","text":"MPI.Request\nMPI.Status","category":"page"},{"location":"reference/pointtopoint/#MPI.Request","page":"Point-to-point communication","title":"MPI.Request","text":"MPI.Request\n\nAn MPI Request object, representing a non-blocking communication. This also contains a reference to the buffer used in the communication to ensure it isn't garbage-collected during communication.\n\nThe status of a Request can be checked by the Wait and Test functions or their multiple-request variants, which will deallocate the request once it is determined to be complete. Alternatively, it will be deallocated at finalization, meaning that it is safe to ignore the request objects if the status of the communication can be checked by other means.\n\nSee also Cancel!.\n\n\n\n\n\n","category":"type"},{"location":"reference/pointtopoint/#MPI.Status","page":"Point-to-point communication","title":"MPI.Status","text":"MPI.Status\n\nThe status of an MPI receive communication. It has 3 accessible fields\n\nsource: source of the received message\ntag: tag of the received message\nerror: error code. This is only set if a function returns multiple statuses.\n\nAdditionally, the accessor function MPI.Get_count can be used to determine the number of entries received.\n\n\n\n\n\n","category":"type"},{"location":"reference/pointtopoint/#Fields","page":"Point-to-point communication","title":"Fields","text":"","category":"section"},{"location":"reference/pointtopoint/","page":"Point-to-point communication","title":"Point-to-point communication","text":"MPI.Status.source::Cint\nMPI.Status.tag::Cint\nMPI.Status.error::Cint","category":"page"},{"location":"reference/pointtopoint/#Accessors","page":"Point-to-point communication","title":"Accessors","text":"","category":"section"},{"location":"reference/pointtopoint/","page":"Point-to-point communication","title":"Point-to-point communication","text":"MPI.Get_count","category":"page"},{"location":"reference/pointtopoint/#MPI.Get_count","page":"Point-to-point communication","title":"MPI.Get_count","text":"MPI.Get_count(status::Status, T)\n\nThe number of entries received. T should match the argument provided by the receive call that set the status variable.\n\nIf the number of entries received exceeds the limits of the count parameter, then it returns MPI_UNDEFINED.\n\nExternal links\n\nMPI_Get_count man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#Blocking-communication","page":"Point-to-point communication","title":"Blocking communication","text":"","category":"section"},{"location":"reference/pointtopoint/","page":"Point-to-point communication","title":"Point-to-point communication","text":"MPI.Send\nMPI.send\nMPI.Recv!\nMPI.Recv\nMPI.recv\nMPI.Sendrecv!","category":"page"},{"location":"reference/pointtopoint/#MPI.Send","page":"Point-to-point communication","title":"MPI.Send","text":"Send(buf, comm::Comm; dest::Integer, tag::Integer=0)\n\nPerform a blocking send from the buffer buf to MPI rank dest of communicator comm using the message tag tag.\n\nSend(obj, comm::Comm; dest::Integer, tag::Integer=0)\n\nComplete a blocking send of an isbits object obj to MPI rank dest of communicator comm using with the message tag tag.\n\nExternal links\n\nMPI_Send man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.send","page":"Point-to-point communication","title":"MPI.send","text":"send(obj, comm::Comm; dest::Integer, tag::Integer=0)\n\nComplete a blocking send using a serialized version of obj to MPI rank dest of communicator comm using with the message tag tag.\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Recv!","page":"Point-to-point communication","title":"MPI.Recv!","text":"data = Recv!(recvbuf, comm::Comm;\n        source::Integer=MPI_ANY_SOURCE, tag::Integer=MPI_ANY_TAG)\ndata, status = Recv!(recvbuf, comm::Comm, MPI.Status;\n        source::Integer=MPI_ANY_SOURCE, tag::Integer=MPI_ANY_TAG)\n\nCompletes a blocking receive into the buffer recvbuf from MPI rank source of communicator comm using with the message tag tag.\n\nrecvbuf can be a Buffer, or any object for which Buffer(recvbuf) is defined.\n\nOptionally returns the Status object of the receive.\n\nSee also\n\nRecv\nrecv\n\nExternal links\n\nMPI_Recv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Recv","page":"Point-to-point communication","title":"MPI.Recv","text":"data = Recv(::Type{T}, comm::Comm;\n        source::Integer=MPI_ANY_SOURCE, tag::Integer=MPI_ANY_TAG)\ndata, status = Recv(::Type{T}, comm::Comm, MPI.Status;\n        source::Integer=MPI_ANY_SOURCE, tag::Integer=MPI_ANY_TAG)\n\nCompletes a blocking receive of a single isbits object of type T from MPI rank source of communicator comm using with the message tag tag.\n\nReturns a tuple of the object of type T and optionally the Status of the receive.\n\nSee also\n\nRecv!\nrecv\n\nExternal links\n\nMPI_Recv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.recv","page":"Point-to-point communication","title":"MPI.recv","text":"obj = recv(comm::Comm;\n        source::Integer=MPI_ANY_SOURCE, tag::Integer=MPI_ANY_TAG)\nobj, status = recv(comm::Comm, MPI.Status;\n        source::Integer=MPI_ANY_SOURCE, tag::Integer=MPI_ANY_TAG)\n\nCompletes a blocking receive of a serialized object from MPI rank source of communicator comm using with the message tag tag.\n\nReturns the deserialized object and optionally the Status of the receive.\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Sendrecv!","page":"Point-to-point communication","title":"MPI.Sendrecv!","text":"data = Sendrecv!(sendbuf, recvbuf, comm;\n        dest::Integer, sendtag::Integer=0, source::Integer=MPI_ANY_SOURCE, recvtag::Integer=MPI_ANY_TAG)\ndata, status = Sendrecv!(sendbuf, recvbuf, comm, MPI.Status;\n        dest::Integer, sendtag::Integer=0, source::Integer=MPI_ANY_SOURCE, recvtag::Integer=MPI_ANY_TAG)\n\nComplete a blocking send-receive operation over the MPI communicator comm. Send sendcount elements of type sendtype from sendbuf to the MPI rank dest using message tag tag, and receive recvcount elements of type recvtype from MPI rank source into the buffer recvbuf using message tag tag. Return a Status object.\n\nIf not provided, sendtype/recvtype and sendcount/recvcount are derived from the element type and length of sendbuf/recvbuf, respectively.\n\nExternal links\n\nMPI_Sendrecv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#Non-blocking-communication","page":"Point-to-point communication","title":"Non-blocking communication","text":"","category":"section"},{"location":"reference/pointtopoint/#Initiation","page":"Point-to-point communication","title":"Initiation","text":"","category":"section"},{"location":"reference/pointtopoint/","page":"Point-to-point communication","title":"Point-to-point communication","text":"MPI.Isend\nMPI.isend\nMPI.Irecv!","category":"page"},{"location":"reference/pointtopoint/#MPI.Isend","page":"Point-to-point communication","title":"MPI.Isend","text":"Isend(data, comm::Comm; dest::Integer, tag::Integer=0)\n\nStarts a nonblocking send of data to MPI rank dest of communicator comm using with the message tag tag.\n\ndata can be a Buffer, or any object for which Buffer_send is defined.\n\nReturns the Request object for the nonblocking send.\n\nExternal links\n\nMPI_Isend man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.isend","page":"Point-to-point communication","title":"MPI.isend","text":"isend(obj, comm::Comm; dest::Integer, tag::Integer=0)\n\nStarts a nonblocking send of using a serialized version of obj to MPI rank dest of communicator comm using with the message tag tag.\n\nReturns the commication Request for the nonblocking send.\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Irecv!","page":"Point-to-point communication","title":"MPI.Irecv!","text":"req = Irecv!(recvbuf, comm::Comm;\n        source::Integer=MPI_ANY_SOURCE, tag::Integer=MPI_ANY_TAG)\n\nStarts a nonblocking receive into the buffer data from MPI rank source of communicator comm using with the message tag tag.\n\ndata can be a Buffer, or any object for which Buffer(data) is defined.\n\nReturns the Request object for the nonblocking receive.\n\nExternal links\n\nMPI_Irecv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#Completion","page":"Point-to-point communication","title":"Completion","text":"","category":"section"},{"location":"reference/pointtopoint/","page":"Point-to-point communication","title":"Point-to-point communication","text":"MPI.Test\nMPI.Testall\nMPI.Testany\nMPI.Testsome\nMPI.Wait\nMPI.Waitall\nMPI.Waitany\nMPI.Waitsome","category":"page"},{"location":"reference/pointtopoint/#MPI.Test","page":"Point-to-point communication","title":"MPI.Test","text":"flag = Test(req::Request)\nflag, status = Test(req::Request, Status)\n\nCheck if the request req is complete. If so, the request is deallocated and flag = true is returned. Otherwise flag = false.\n\nThe Status argument additionally returns the Status of the completed request.\n\nExternal links\n\nMPI_Test man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Testall","page":"Point-to-point communication","title":"MPI.Testall","text":"flag = Testall(reqs::AbstractVector{Request}[, statuses::Vector{Status}])\nflag, statuses = Testall(reqs::AbstractVector{Request}, Status)\n\nCheck if all active requests in the array reqs are complete. If so, the requests are deallocated and true is returned. Otherwise no requests are modified, and false is returned.\n\nThe optional statuses or Status argument can be used to obtain the return Status of each request.\n\nExternal links\n\nMPI_Testall man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Testany","page":"Point-to-point communication","title":"MPI.Testany","text":"flag, idx = Testany(reqs::AbstractVector{Request}[, status::Ref{Status}])\nflag, idx, status = Testany(reqs::AbstractVector{Request}, Status)\n\nChecks if any one of the requests in the array reqs is complete.\n\nIf one or more requests are complete, then one is chosen arbitrarily, deallocated. flag = true and its (1-based) index idx is returned.\n\nIf there are no completed requests, then flag = false and idx = nothing is returned.\n\nIf there are no active requests, flag = true and idx = nothing.\n\nThe optional status argument can be used to obtain the return Status of the request.\n\nExternal links\n\nMPI_Testany man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Testsome","page":"Point-to-point communication","title":"MPI.Testsome","text":"inds = Testsome(reqs::AbstractVector{Request}[, statuses::Vector{Status}])\n\nSimilar to Waitsome except that if no operations have completed it will return an empty array.\n\nIf there are no active requests, then the function returns nothing.\n\nThe optional statuses argument can be used to obtain the return Status of each completed request.\n\nExternal links\n\nMPI_Testsome man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Wait","page":"Point-to-point communication","title":"MPI.Wait","text":"Wait(req::Request)\nstatus = Wait(req::Request, Status)\n\nBlock until the request req is complete and deallocated.\n\nThe Status argument returns the Status of the completed request.\n\nExternal links\n\nMPI_Wait man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Waitall","page":"Point-to-point communication","title":"MPI.Waitall","text":"Waitall(reqs::AbstractVector{Request}[, statuses::Vector{Status}])\nstatuses = Waitall(reqs::AbstractVector{Request}, Status)\n\nBlock until all active requests in the array reqs are complete.\n\nThe optional statuses or Status argument can be used to obtain the return Status of each request.\n\nExternal links\n\nMPI_Waitall man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Waitany","page":"Point-to-point communication","title":"MPI.Waitany","text":"i = Waitany(reqs::AbstractVector{Request}[, status::Ref{Status}])\ni, status = Waitany(reqs::AbstractVector{Request}, Status)\n\nBlocks until one of the requests in the array reqs is complete: if more than one is complete, one is chosen arbitrarily. The request is deallocated and the (1-based) index i of the completed request is returned.\n\nIf there are no active requests, then i = nothing.\n\nThe optional status argument can be used to obtain the return Status of the request.\n\nExternal links\n\nMPI_Waitany man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Waitsome","page":"Point-to-point communication","title":"MPI.Waitsome","text":"inds = Waitsome(reqs::AbstractVector{Request}[, statuses::Vector{Status}])\n\nBlock until at least one of the active requests in the array reqs is complete. The completed requests are deallocated, and an array inds of their indices in reqs is returned.\n\nIf there are no active requests, then inds = nothing.\n\nThe optional statuses argument can be used to obtain the return Status of each completed request.\n\nExternal links\n\nMPI_Waitsome man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#Probe/Cancel","page":"Point-to-point communication","title":"Probe/Cancel","text":"","category":"section"},{"location":"reference/pointtopoint/","page":"Point-to-point communication","title":"Point-to-point communication","text":"MPI.Cancel!\nMPI.Iprobe\nMPI.Probe","category":"page"},{"location":"reference/pointtopoint/#MPI.Cancel!","page":"Point-to-point communication","title":"MPI.Cancel!","text":"Cancel!(req::Request)\n\nMarks a pending Irecv! operation for cancellation (cancelling a Isend, while supported in some implementations, is deprecated as of MPI 3.1). Note that the request is not deallocated, and can still be queried using the test or wait functions.\n\nExternal links\n\nMPI_Cancel man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Iprobe","page":"Point-to-point communication","title":"MPI.Iprobe","text":"ismessage, (status|nothing) = Iprobe(src::Integer, tag::Integer, comm::Comm)\n\nChecks if there is a message that can be received matching src, tag and comm. If so, returns a tuple true and a Status object, otherwise returns a tuple false, nothing.\n\nExternal links\n\nMPI_Iprobe man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Probe","page":"Point-to-point communication","title":"MPI.Probe","text":"status = Probe(src::Integer, tag::Integer, comm::Comm)\n\nBlocks until there is a message that can be received matching src, tag and comm. Returns the corresponding Status object.\n\nExternal links\n\nMPI_Probe man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#I/O","page":"I/O","title":"I/O","text":"","category":"section"},{"location":"reference/io/#File-manipulation","page":"I/O","title":"File manipulation","text":"","category":"section"},{"location":"reference/io/","page":"I/O","title":"I/O","text":"MPI.File.open","category":"page"},{"location":"reference/io/#MPI.File.open","page":"I/O","title":"MPI.File.open","text":"MPI.File.open(comm::Comm, filename::AbstractString; keywords...)\n\nOpen the file identified by filename. This is a collective operation on comm.\n\nSupported keywords are as follows:\n\nread, write, create, append have the same behaviour and defaults as Base.open.\nsequential: file will only be accessed sequentially (default: false)\nuniqueopen: file will not be concurrently opened elsewhere (default: false)\ndeleteonclose: delete file on close (default: false)\n\nAny additional keywords are passed via an Info object, and are implementation dependent.\n\nExternal links\n\nMPI_File_open man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#Views","page":"I/O","title":"Views","text":"","category":"section"},{"location":"reference/io/","page":"I/O","title":"I/O","text":"MPI.File.set_view!\nMPI.File.get_byte_offset","category":"page"},{"location":"reference/io/#MPI.File.set_view!","page":"I/O","title":"MPI.File.set_view!","text":"MPI.File.set_view!(file::FileHandle, disp::Integer, etype::Datatype, filetype::Datatype, datarep::AbstractString; kwargs...)\n\nSet the current process's view of file.\n\nThe start of the view is set to disp; the type of data is set to etype; the distribution of data to processes is set to filetype; and the representation of data in the file is set to datarep: one of \"native\" (default), \"internal\", or \"external32\".\n\nExternal links\n\nMPI_File_set_view man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.get_byte_offset","page":"I/O","title":"MPI.File.get_byte_offset","text":"MPI.File.get_byte_offset(file::FileHandle, offset::Integer)\n\nConverts a view-relative offset into an absolute byte position. Returns the absolute byte position (from the beginning of the file) of offset relative to the current view of file.\n\nExternal links\n\nMPI_File_get_byte_offset man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#Consistency","page":"I/O","title":"Consistency","text":"","category":"section"},{"location":"reference/io/","page":"I/O","title":"I/O","text":"MPI.File.sync\nMPI.File.get_atomicity\nMPI.File.set_atomicity","category":"page"},{"location":"reference/io/#MPI.File.sync","page":"I/O","title":"MPI.File.sync","text":"MPI.File.sync(fh::FileHandle)\n\nA collective operation causing all previous writes to fh by the calling process to be transferred to the storage device. If other processes have made updates to the storage device, then all such updates become visible to subsequent reads of fh by the calling process.\n\nExternal links\n\nMPI_File_sync man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.get_atomicity","page":"I/O","title":"MPI.File.get_atomicity","text":"MPI.File.get_atomicity(file::FileHandle)\n\nGet the consistency option for the fh. If false it is non-atomic.\n\nExternal links\n\nMPI_File_get_atomicity man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.set_atomicity","page":"I/O","title":"MPI.File.set_atomicity","text":"MPI.File.set_atomicity(file::FileHandle, flag::Bool)\n\nSet the consitency option for the fh.\n\nExternal links\n\nMPI_File_get_atomicity man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#Data-access","page":"I/O","title":"Data access","text":"","category":"section"},{"location":"reference/io/#Individual-pointer","page":"I/O","title":"Individual pointer","text":"","category":"section"},{"location":"reference/io/","page":"I/O","title":"I/O","text":"MPI.File.read!\nMPI.File.read_all!\nMPI.File.write\nMPI.File.write_all","category":"page"},{"location":"reference/io/#MPI.File.read!","page":"I/O","title":"MPI.File.read!","text":"MPI.File.read!(file::FileHandle, data)\n\nReads current view of file into data. data can be a Buffer, or any object for which Buffer(data) is defined.\n\nSee also\n\nMPI.File.set_view! to set the current view of the file\nMPI.File.read_all! for the collective operation\n\nExternal links\n\nMPI_File_read man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.read_all!","page":"I/O","title":"MPI.File.read_all!","text":"MPI.File.read_all!(file::FileHandle, data)\n\nReads current view of file into data. data can be a Buffer, or any object for which Buffer(data) is defined. This is a collective operation, so must be called on all ranks in the communicator on which file was opened.\n\nSee also\n\nMPI.File.set_view! to set the current view of the file\nMPI.File.read! for the noncollective operation\n\nExternal links\n\nMPI_File_read_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.write","page":"I/O","title":"MPI.File.write","text":"MPI.File.write(file::FileHandle, data)\n\nWrites data to the current view of file. data can be a Buffer, or any object for which Buffer_send(data) is defined.\n\nSee also\n\nMPI.File.set_view! to set the current view of the file\nMPI.File.write_all for the collective operation\n\nExternal links\n\nMPI_File_write man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.write_all","page":"I/O","title":"MPI.File.write_all","text":"MPI.File.write_all(file::FileHandle, data)\n\nWrites data to the current view of file. data can be a Buffer, or any object for which Buffer_send(data) is defined. This is a collective operation, so must be called on all ranks in the communicator on which file was opened.\n\nSee also\n\nMPI.File.set_view! to set the current view of the file\nMPI.File.write for the noncollective operation\n\nExternal links\n\nMPI_File_write_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#Explicit-offsets","page":"I/O","title":"Explicit offsets","text":"","category":"section"},{"location":"reference/io/","page":"I/O","title":"I/O","text":"MPI.File.read_at!\nMPI.File.read_at_all!\nMPI.File.write_at\nMPI.File.write_at_all","category":"page"},{"location":"reference/io/#MPI.File.read_at!","page":"I/O","title":"MPI.File.read_at!","text":"MPI.File.read_at!(file::FileHandle, offset::Integer, data)\n\nReads from file at position offset into data. data can be a Buffer, or any object for which Buffer(data) is defined.\n\nSee also\n\nMPI.File.read_at_all! for the collective operation\n\nExternal links\n\nMPI_File_read_at man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.read_at_all!","page":"I/O","title":"MPI.File.read_at_all!","text":"MPI.File.read_at_all!(file::FileHandle, offset::Integer, data)\n\nReads from file at position offset into data. data can be a Buffer, or any object for which Buffer(data) is defined. This is a collective operation, so must be called on all ranks in the communicator on which file was opened.\n\nSee also\n\nMPI.File.read_at! for the noncollective operation\n\nExternal links\n\nMPI_File_read_at_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.write_at","page":"I/O","title":"MPI.File.write_at","text":"MPI.File.write_at(file::FileHandle, offset::Integer, data)\n\nWrites data to file at position offset. data can be a Buffer, or any object for which Buffer_send(data) is defined.\n\nSee also\n\nMPI.File.write_at_all for the collective operation\n\nExternal links\n\nMPI_File_write_at man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.write_at_all","page":"I/O","title":"MPI.File.write_at_all","text":"MPI.File.write_at_all(file::FileHandle, offset::Integer, data)\n\nWrites from data to file at position offset. data can be a Buffer, or any object for which Buffer_send(data) is defined. This is a collective operation, so must be called on all ranks in the communicator on which file was opened.\n\nSee also\n\nMPI.File.write_at for the noncollective operation\n\nExternal links\n\nMPI_File_write_at_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#Shared-pointer","page":"I/O","title":"Shared pointer","text":"","category":"section"},{"location":"reference/io/","page":"I/O","title":"I/O","text":"MPI.File.read_shared!\nMPI.File.write_shared\nMPI.File.read_ordered!\nMPI.File.write_ordered\nMPI.File.seek_shared\nMPI.File.get_position_shared","category":"page"},{"location":"reference/io/#MPI.File.read_shared!","page":"I/O","title":"MPI.File.read_shared!","text":"MPI.File.read_shared!(file::FileHandle, data)\n\nReads from file using the shared file pointer into data.  data can be a Buffer, or any object for which Buffer(data) is defined.\n\nSee also\n\nMPI.File.read_ordered! for the collective operation\n\nExternal links\n\nMPI_File_read_shared man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.write_shared","page":"I/O","title":"MPI.File.write_shared","text":"MPI.File.write_shared(file::FileHandle, data)\n\nWrites to file using the shared file pointer from data. data can be a Buffer, or any object for which Buffer(data) is defined.\n\nSee also\n\nMPI.File.write_ordered for the collective operation\n\nExternal links\n\nMPI_File_write_shared man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.read_ordered!","page":"I/O","title":"MPI.File.read_ordered!","text":"MPI.File.read_ordered!(file::FileHandle, data)\n\nCollectively reads in rank order from file using the shared file pointer into data. data can be a Buffer, or any object for which Buffer(data) is defined. This is a collective operation, so must be called on all ranks in the communicator on which file was opened.\n\nSee also\n\nMPI.File.read_shared! for the noncollective operation\n\nExternal links\n\nMPI_File_read_ordered man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.write_ordered","page":"I/O","title":"MPI.File.write_ordered","text":"MPI.File.write_ordered(file::FileHandle, data)\n\nCollectively writes in rank order to file using the shared file pointer from data. data can be a Buffer, or any object for which Buffer(data) is defined. This is a collective operation, so must be called on all ranks in the communicator on which file was opened.\n\nSee also\n\nMPI.File.write_shared for the noncollective operation\n\nExternal links\n\nMPI_File_write_ordered man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.seek_shared","page":"I/O","title":"MPI.File.seek_shared","text":"MPI.File.seek_shared(file::FileHandle, offset::Integer, whence::Seek=SEEK_SET)\n\nUpdates the shared file pointer according to whence, which has the following possible values:\n\nMPI.File.SEEK_SET (default): the pointer is set to offset\nMPI.File.SEEK_CUR: the pointer is set to the current pointer position plus offset\nMPI.File.SEEK_END: the pointer is set to the end of file plus offset\n\nThis is a collective operation, and must be called with the same value on all processes in the communicator.\n\nExternal links\n\nMPI_File_seek_shared man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.get_position_shared","page":"I/O","title":"MPI.File.get_position_shared","text":"MPI.File.get_position_shared(file::FileHandle)\n\nThe current position of the shared file pointer (in etype units) relative to the current view.\n\nExternal links\n\nMPI_File_get_position_shared man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/environment/#Environment","page":"Environment","title":"Environment","text":"","category":"section"},{"location":"reference/environment/#Launching-MPI-programs","page":"Environment","title":"Launching MPI programs","text":"","category":"section"},{"location":"reference/environment/","page":"Environment","title":"Environment","text":"mpiexec\nMPI.install_mpiexecjl","category":"page"},{"location":"reference/environment/#MPICH_jll.mpiexec","page":"Environment","title":"MPICH_jll.mpiexec","text":"mpiexec(fn)\n\nA wrapper function for the MPI launcher executable. Calls fn(cmd), where cmd is a Cmd object of the MPI launcher.\n\nUsage\n\njulia> mpiexec(cmd -> run(`$cmd -n 3 echo hello world`));\nhello world\nhello world\nhello world\n\n\n\n\n\n","category":"function"},{"location":"reference/environment/#MPI.install_mpiexecjl","page":"Environment","title":"MPI.install_mpiexecjl","text":"MPI.install_mpiexecjl(; command::String = \"mpiexecjl\",\n                      destdir::String = joinpath(DEPOT_PATH[1], \"bin\"),\n                      force::Bool = false, verbose::Bool = true)\n\nInstall the mpiexec wrapper to destdir directory, with filename command. Set force to true to overwrite an existing destination file with the same path.  If verbose is true, the installation prints information about the progress of the process.\n\n\n\n\n\n","category":"function"},{"location":"reference/environment/#Enums","page":"Environment","title":"Enums","text":"","category":"section"},{"location":"reference/environment/","page":"Environment","title":"Environment","text":"MPI.ThreadLevel","category":"page"},{"location":"reference/environment/#MPI.ThreadLevel","page":"Environment","title":"MPI.ThreadLevel","text":"ThreadLevel\n\nAn Enum denoting the level of threading support in the current process:\n\nMPI.THREAD_SINGLE: Only one thread will execute.\nMPI.THREAD_FUNNELED: The process may be multi-threaded, but the application must ensure that only the main thread makes MPI calls. See Is_thread_main.\nMPI.THREAD_SERIALIZED: The process may be multi-threaded, and multiple threads may make MPI calls, but only one at a time (i.e. all MPI calls are serialized).\nMPI.THREAD_MULTIPLE: Multiple threads may call MPI, with no restrictions.\n\nSee also\n\nInit\nQuery_thread\n\n\n\n\n\n","category":"type"},{"location":"reference/environment/#Functions","page":"Environment","title":"Functions","text":"","category":"section"},{"location":"reference/environment/","page":"Environment","title":"Environment","text":"MPI.Abort\nMPI.Init\nMPI.Get_processor_name\nMPI.Query_thread\nMPI.Is_thread_main\nMPI.Initialized\nMPI.Finalize\nMPI.Finalized","category":"page"},{"location":"reference/environment/#MPI.Abort","page":"Environment","title":"MPI.Abort","text":"Abort(comm::Comm, errcode::Integer)\n\nMake a “best attempt” to abort all tasks in the group of comm. This function does not require that the invoking environment take any action with the error code. However, a Unix or POSIX environment should handle this as a return errorcode from the main program.\n\nExternal links\n\nMPI_Abort man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/environment/#MPI.Init","page":"Environment","title":"MPI.Init","text":"Init(;threadlevel=:serialized, finalize_atexit=true, errors_return=true)\n\nInitialize MPI in the current process. The keyword options:\n\nthreadlevel: either :single, :funneled, :serialized (default), :multiple, or an instance of ThreadLevel.\nfinalize_atexit: if true (default), adds an atexit hook to call MPI.Finalize if it hasn't already been called.\nerrors_return: if true (default), will set the default error handlers for MPI.COMM_SELF and MPI.COMM_WORLD to be MPI.ERRORS_RETURN. MPI errors will then appear as Julia exceptions.\n\nIt will return the ThreadLevel value which MPI is initialized at.\n\nAll MPI programs must call this function at least once before calling any other MPI operations: the only MPI functions that may be called before MPI.Init are MPI.Initialized and MPI.Finalized.\n\nIt is safe to call MPI.Init multiple times, however it is not valid to call it after calling MPI.Finalize.\n\nExternal links\n\nMPI_Init man page: OpenMPI, MPICH\nMPI_Init_thread man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/environment/#MPI.Get_processor_name","page":"Environment","title":"MPI.Get_processor_name","text":"Get_processor_name()\n\nReturn the name of the processor, as a String.\n\nExternal links\n\nMPI_Get_processor_name man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/environment/#MPI.Query_thread","page":"Environment","title":"MPI.Query_thread","text":"Query_thread()\n\nQuery the level of threading support in the current process. Returns a ThreadLevel value denoting\n\nExternal links\n\nMPI_Query_thread man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/environment/#MPI.Is_thread_main","page":"Environment","title":"MPI.Is_thread_main","text":"Is_thread_main()\n\nQueries whether the current thread is the main thread according to MPI. This can be called by any thread, and is useful for the  THREAD_FUNNELED ThreadLevel.\n\nExternal links\n\nMPI_Is_thread_main man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/environment/#MPI.Initialized","page":"Environment","title":"MPI.Initialized","text":"Initialized()\n\nReturns true if MPI.Init has been called, false otherwise.\n\nIt is unaffected by MPI.Finalize, and is one of the few functions that may be called before MPI.Init.\n\nExternal links\n\nMPI_Intialized man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/environment/#MPI.Finalize","page":"Environment","title":"MPI.Finalize","text":"Finalize()\n\nMarks MPI state for cleanup. This should be called after MPI.Init, and can be called at most once. No further MPI calls (other than Initialized or Finalized) should be made after it is called.\n\nMPI.Init will automatically insert a hook to call this function when Julia exits, if it hasn't already been called.\n\nExternal links\n\nMPI_Finalize man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/environment/#MPI.Finalized","page":"Environment","title":"MPI.Finalized","text":"Finalized()\n\nReturns true if MPI.Finalize has completed, false otherwise.\n\nIt is safe to call before MPI.Init and after MPI.Finalize.\n\nExternal links\n\nMPI_Finalized man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/environment/#Errors","page":"Environment","title":"Errors","text":"","category":"section"},{"location":"reference/environment/","page":"Environment","title":"Environment","text":"MPI.MPIError\nMPI.FeatureLevelError","category":"page"},{"location":"reference/environment/#MPI.MPIError","page":"Environment","title":"MPI.MPIError","text":"MPIError\n\nError thrown when an MPI function returns an error code. The code field contains the MPI error code.\n\n\n\n\n\n","category":"type"},{"location":"reference/environment/#MPI.FeatureLevelError","page":"Environment","title":"MPI.FeatureLevelError","text":"FeatureLevelError\n\nError thrown if a feature is not implemented in the current MPI backend.\n\n\n\n\n\n","category":"type"},{"location":"reference/group/#Groups","page":"Groups","title":"Groups","text":"","category":"section"},{"location":"reference/group/","page":"Groups","title":"Groups","text":"An MPI group is a set of process identifiers identified by their rank (see  MPI.Comm_rank and MPI.Group_rank). They are used within a  communicator to describe the participants in a communication universe.","category":"page"},{"location":"reference/group/#Types-and-enums","page":"Groups","title":"Types and enums","text":"","category":"section"},{"location":"reference/group/","page":"Groups","title":"Groups","text":"MPI.Group\nMPI.Comparison","category":"page"},{"location":"reference/group/#MPI.Group","page":"Groups","title":"MPI.Group","text":"MPI.Group\n\nAn MPI Group object.\n\n\n\n\n\n","category":"type"},{"location":"reference/group/#MPI.Comparison","page":"Groups","title":"MPI.Comparison","text":"Comparison\n\nAn enum denoting the result of Comm_compare:\n\nMPI.IDENT: the objects are handles for the same object (identical groups and same contexts).\nMPI.CONGRUENT: the underlying groups are identical in constituents and rank order; these communicators differ only by context.\nMPI.SIMILAR: members of both objects are the same but the rank order differs.\nMPI.UNEQUAL: otherwise\n\n\n\n\n\n","category":"type"},{"location":"reference/group/#Functions","page":"Groups","title":"Functions","text":"","category":"section"},{"location":"reference/group/#Operations","page":"Groups","title":"Operations","text":"","category":"section"},{"location":"reference/group/","page":"Groups","title":"Groups","text":"MPI.Group_size\nMPI.Group_rank","category":"page"},{"location":"reference/group/#MPI.Group_size","page":"Groups","title":"MPI.Group_size","text":"Group_size(group::Group)\n\nThe number of processes involved in group.\n\nExternal links\n\nMPI_Group_size man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/group/#MPI.Group_rank","page":"Groups","title":"MPI.Group_rank","text":"Group_rank(group::Group)\n\nThe rank of the process in the particular group.\n\nReturns an integer in the range 0:MPI.Group_size()-1.\n\nExternal links\n\nMPI_Group_rank man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#Topology","page":"Topology","title":"Topology","text":"","category":"section"},{"location":"reference/topology/","page":"Topology","title":"Topology","text":"MPI.Dims_create\nMPI.Cart_create\nMPI.Cart_get\nMPI.Cart_coords\nMPI.Cart_rank\nMPI.Cart_shift\nMPI.Cart_sub\nMPI.Cartdim_get\nMPI.Dist_graph_create\nMPI.Dist_graph_create_adjacent\nMPI.Dist_graph_neighbors_count\nMPI.Dist_graph_neighbors!","category":"page"},{"location":"reference/topology/#MPI.Dims_create","page":"Topology","title":"MPI.Dims_create","text":"newdims = Dims_create(nnodes::Integer, dims)\n\nA convenience function for selecting a balanced Cartesian grid of a total of nnodes nodes, for example to use with MPI.Cart_create.\n\ndims is an array or tuple of integers specifying the number of nodes in each dimension. The function returns an array newdims of the same length, such that if newdims[i] = dims[i] if dims[i] is non-zero, and prod(newdims) == nnodes, and values newdims are as close to each other as possible.\n\nnnodes should be divisible by the product of the non-zero entries of dims.\n\nExternal links\n\nMPI_Dims_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#MPI.Cart_create","page":"Topology","title":"MPI.Cart_create","text":"comm_cart = Cart_create(comm::Comm, dims; periodic=map(_->false, dims), reorder=false)\n\nCreate new MPI communicator with Cartesian topology information attached.\n\ndims is an array or tuple of integers specifying the number of MPI processes in each coordinate direction, and periodic is an array or tuple of Bools indicating the periodicity of each coordinate. prod(dims) must be less than or equal to the size of comm; if it is smaller than some processes are returned a null communicator.\n\nIf reorder == false then the rank of each process in the new group is identical to its rank in the old group, otherwise the function may reorder the processes.\n\nSee also MPI.Dims_create.\n\nExternal links\n\nMPI_Cart_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#MPI.Cart_get","page":"Topology","title":"MPI.Cart_get","text":"dims, periods, coords = Cart_get(comm::Comm)\n\nObtain information on the Cartesian topology of dimension N underlying the  communicator comm. This is specified by two Cint arrays of N elements for the number of processes and periodicity properties along each Cartesian dimension.  A third Cint array is returned, containing the Cartesian coordinates of the calling process.\n\nExternal links\n\nMPI_Cart_get man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#MPI.Cart_coords","page":"Topology","title":"MPI.Cart_coords","text":"coords = Cart_coords(comm::Comm, rank::Integer=Comm_rank(comm))\n\nDetermine coordinates of a process with rank rank in the Cartesian communicator comm. If no rank is provided, it returns the coordinates of the current process.\n\nReturns an integer array of the 0-based coordinates. The inverse of Cart_rank.\n\nExternal links\n\nMPI_Cart_coords man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#MPI.Cart_rank","page":"Topology","title":"MPI.Cart_rank","text":"rank = Cart_rank(comm::Comm, coords)\n\nDetermine process rank in communicator comm with Cartesian structure.  The coords array specifies the 0-based Cartesian coordinates of the process. This is the inverse of MPI.Cart_coords\n\nExternal links\n\nMPI_Cart_rank man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#MPI.Cart_shift","page":"Topology","title":"MPI.Cart_shift","text":"rank_source, rank_dest = Cart_shift(comm::Comm, direction::Integer, disp::Integer)\n\nReturn the source and destination ranks associated to a shift along a given direction.\n\nExternal links\n\nMPI_Cart_shift man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#MPI.Cart_sub","page":"Topology","title":"MPI.Cart_sub","text":"comm_sub = Cart_sub(comm::Comm, remain_dims)\n\nCreate lower-dimensional Cartesian communicator from existent Cartesian topology.\n\nremain_dims should be a boolean vector specifying the dimensions that should be kept in the generated subgrid.\n\nExternal links\n\nMPI_Cart_sub man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#MPI.Cartdim_get","page":"Topology","title":"MPI.Cartdim_get","text":"ndims = Cartdim_get(comm::Comm)\n\nReturn number of dimensions of the Cartesian topology associated with the communicator comm.\n\nExternal links\n\nMPI_Cartdim_get man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#MPI.Dist_graph_create","page":"Topology","title":"MPI.Dist_graph_create","text":"graph_comm = Dist_graph_create(comm::Comm, sources::Vector{Cint}, degrees::Vector{Cint}, destinations::Vector{Cint}; weights::Union{Vector{Cint}, Unweighted, WeightsEmpty}=UNWEIGHTED, reorder=false, infokws...)\n\nCreate a new communicator from a given directed graph topology, described by incoming and outgoing edges on an existing communicator.\n\nArguments\n\ncomm::Comm: The communicator on which the distributed graph topology should be induced.\nsources::Vector{Cint}: An array with the ranks for which this call will specify outgoing edges.\ndegrees::Vector{Cint}: An array with the number of outgoing edges for each entry in the sources array.\ndestinations::Vector{Cint}: An array containing with lenght of the sum of the entries in the degrees array                                describing the ranks towards the edges point.\nweights::Union{Vector{Cint}, Unweighted, WeightsEmpty}=MPI.UNWEIGHTED: The edge weights of the specified edges.\nreorder::Bool=false: If set true, then the MPI implementation can reorder the source and destination indices.\n\nExample\n\nWe can generate a ring graph 1 --> 2 --> ... --> N --> 1, where N is the number of ranks in the communicator, as follows\n\njulia> rank = MPI.Comm_rank(comm);\njulia> N = MPI.Comm_size(comm);\njulia> sources = Cint[rank];\njulia> degrees = Cint[1];\njulia> destinations = Cint[mod(rank-1, N)];\njulia> graph_comm = Dist_graph_create(comm, sources, degrees, destinations)\n\nExternal links\n\nMPI_Dist_graph_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#MPI.Dist_graph_create_adjacent","page":"Topology","title":"MPI.Dist_graph_create_adjacent","text":"graph_comm = Dist_graph_create_adjacent(comm::Comm, sources::Vector{Cint}, destinations::Vector{Cint}; source_weights::Union{Vector{Cint}, Unweighted, WeightsEmpty}=UNWEIGHTED, destination_weights::Union{Vector{Cint}, Unweighted, WeightsEmpty}=UNWEIGHTED, reorder=false, infokws...)\n\nCreate a new communicator from a given directed graph topology, described by local incoming and outgoing edges on an existing communicator.\n\nArguments\n\ncomm::Comm: The communicator on which the distributed graph topology should be induced.\nsources::Vector{Cint}: The local, incoming edges on the rank of the calling process.\ndestinations::Vector{Cint}: The local, outgoing edges on the rank of the calling process.\nsource_weights::Union{Vector{Cint}, Unweighted, WeightsEmpty}=MPI.UNWEIGHTED: The edge weights of the local, incoming edges.\ndestinations_weights::Union{Vector{Cint}, Unweighted, WeightsEmpty}=MPI.UNWEIGHTED: The edge weights of the local, outgoing edges.\nreorder::Bool=false: If set true, then the MPI implementation can reorder the source and destination indices.\n\nExample\n\nWe can generate a ring graph 1 --> 2 --> ... --> N --> 1, where N is the number of ranks in the communicator, as follows\n\njulia> rank = MPI.Comm_rank(comm);\njulia> N = MPI.Comm_size(comm);\njulia> sources = Cint[mod(rank-1, N)];\njulia> destinations = Cint[mod(rank+1, N)];\njulia> graph_comm = Dist_graph_create_adjacent(comm, sources, destinations);\n\nExternal links\n\nMPI_Dist_graph_create_adjacent man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#MPI.Dist_graph_neighbors_count","page":"Topology","title":"MPI.Dist_graph_neighbors_count","text":"indegree, outdegree, weighted = Dist_graph_neighbors_count(graph_comm::Comm)\n\nReturn the number of in and out edges for the calling processes in a distributed graph topology and a flag indicating whether the distributed graph is weighted.\n\nArguments\n\ngraph_comm::Comm: The communicator of the distributed graph topology.\n\nExample\n\nLet us assume the following graph 0 <--> 1 --> 2, which has no weights on its edges, then the process with rank 1 will obtain the following result from calling the function\n\njulia> Dist_graph_neighbors_count(graph_comm)\n(1,2,false)\n\nExternal links\n\nMPI_Dist_graph_neighbors_count man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#MPI.Dist_graph_neighbors!","page":"Topology","title":"MPI.Dist_graph_neighbors!","text":"Dist_graph_neighbors!(graph_comm::Comm, sources::Vector{Cint}, source_weights::Vector{Cint}, destinations::Vector{Cint}, destination_weights::Vector{Cint})\n\nReturn the neighbors and edge weights of the calling process in a distributed graph topology.\n\nArguments\n\ngraph_comm::Comm: The communicator of the distributed graph topology.\nsources::Vector{Cint}: A preallocated vector, which will be filled with the ranks                       of the processes whose edges pointing towards the calling process. The                       length is exactly the indegree returned by MPI.Dist_graph_neighbors_count.\nsource_weights::Vector{Cint}: A preallocated vector, which will be filled with the weights                       associated to the edges pointing towards the calling process. The                       length is exactly the indegree returned by MPI.Dist_graph_neighbors_count.\ndestinations::Vector{Cint}: A preallocated vector, which will be filled with the ranks                       of the processes towards which the edges of the calling process point. The                       length is exactly the outdegree returned by MPI.Dist_graph_neighbors_count.\ndestination_weights::Vector{Cint}: A preallocated vector, which will be filled with the weights                       associated to the edges of the outgoing edges of the calling process point. The                       length is exactly the outdegree returned by MPI.Dist_graph_neighbors_count.\n\nExample\n\nLet us assume the following graph 0 <-3-> 1 -4-> 2, then the process with rank 1 will require to preallocate a sources vector of length 1 and a destination vector of length 2. The call will fill the vectors as follows:\n\njulia> Dist_graph_neighbors!(graph_comm, sources, source_weights, destinations, destination_weights);\njulia> sources\n[0]\njulia> source_weights\n[3]\njulia> destinations\n[0,2]\njulia> destination_weights\n[3,4]\n\nNote that the edge between ranks 0 and 1 can have a different weight depending on wether it is the  incoming edge \"(0,1)\" or the outgoing one \"(1,0)\". \n\nExternal links\n\nMPI_Dist_graph_neighbors man page: OpenMPI, MPICH\n\n\n\n\n\nDist_graph_neighbors!(graph_comm::Comm, sources::Vector{Cint}, destinations::Vector{Cint})\n\nReturn the neighbors of the calling process in a distributed graph topology without edge weights.\n\nArguments\n\ngraph_comm::Comm: The communicator of the distributed graph topology.\nsources::Vector{Cint}: A preallocated vector, which will be filled with the ranks of the                        processes whose edges pointing towards the calling process. The                       length is exactly the indegree returned by MPI.Dist_graph_neighbors_count.\ndestinations::Vector{Cint}: A preallocated vector, which will be filled with the ranks                       of the processes towards which the edges of the calling process point. The                       length is exactly the outdegree returned by MPI.Dist_graph_neighbors_count.\n\nExample\n\nLet us assume the following graph 0 <--> 1 --> 2, then the process with rank 1 will require to preallocate a sources vector of length 1 and a destination vector of length 2. The call will fill the vectors as follows:\n\njulia> Dist_graph_neighbors!(graph_comm, sources, destinations);\njulia> sources\n[0]\njulia> destinations\n[0,2]\n\nExternal links\n\nMPI_Dist_graph_neighbors man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"examples/05-job_schedule/","page":"Job Scheduling","title":"Job Scheduling","text":"EditURL = \"https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/05-job_schedule.jl\"","category":"page"},{"location":"examples/05-job_schedule/#Job-Scheduling","page":"Job Scheduling","title":"Job Scheduling","text":"","category":"section"},{"location":"examples/05-job_schedule/","page":"Job Scheduling","title":"Job Scheduling","text":"# examples/05-job_schedule.jl\n# This example demonstrates a job scheduling through adding the\n# number 100 to every component of the vector data. The root\n# assigns one element to each worker to compute the operation.\n# When the worker is finished, the root sends another element\n# until each element is added 100\n# Inspired on\n# https://www.hpc.ntnu.no/ntnu-hpc-group/vilje/user-guide/software/mpi-and-mpi-io-training-tutorial/basic-mpi/job-queue\n\nusing MPI\n\nfunction job_queue(data,f)\n    MPI.Init()\n\n    comm = MPI.COMM_WORLD\n    rank = MPI.Comm_rank(comm)\n    world_size = MPI.Comm_size(comm)\n    nworkers = world_size - 1\n\n    root = 0\n\n    MPI.Barrier(comm)\n    T = eltype(data)\n    N = size(data)[1]\n    send_mesg = Array{T}(undef, 1)\n    recv_mesg = Array{T}(undef, 1)\n\n    if rank == root # I am root\n\n        idx_recv = 0\n        idx_sent = 1\n\n        new_data = Array{T}(undef, N)\n        # Array of workers requests\n        sreqs_workers = Array{MPI.Request}(undef,nworkers)\n        # -1 = start, 0 = channel not available, 1 = channel available\n        status_workers = ones(nworkers).*-1\n        \n        # Send message to workers\n        for dst in 1:nworkers\n            if idx_sent > N\n                break\n            end\n            send_mesg[1] = data[idx_sent]\n            sreq = MPI.Isend(send_mesg, dst, dst+32, comm)\n            idx_sent += 1\n            sreqs_workers[dst] = sreq\n            status_workers[dst] = 0\n            print(\"Root: Sent number $(send_mesg[1]) to Worker $dst\\n\")\n        end\n\n        # Send and receive messages until all elements are added\n        while idx_recv != N\n            # Check to see if there is an available message to receive\n            for dst in 1:nworkers\n                if status_workers[dst] == 0\n                    (flag, status) = MPI.Test!(sreqs_workers[dst])\n                    if flag\n                        status_workers[dst] = 1\n                    end\n                end\n            end\n            for dst in 1:nworkers\n                if status_workers[dst] == 1\n                    ismessage, status = MPI.Iprobe(dst,dst+32, comm)\n                    if ismessage\n                        # Receives message\n                        MPI.Recv!(recv_mesg, dst, dst+32, comm)\n                        idx_recv += 1\n                        new_data[idx_recv] = recv_mesg[1]\n                        print(\"Root: Received number $(recv_mesg[1]) from Worker $dst\\n\")\n                        if idx_sent <= N\n                            send_mesg[1] = data[idx_sent]\n                            # Sends new message\n                            sreq = MPI.Isend(send_mesg, dst, dst+32, comm)\n                            idx_sent += 1\n                            sreqs_workers[dst] = sreq\n                            status_workers[dst] = 1\n                            print(\"Root: Sent number $(send_mesg[1]) to Worker $dst\\n\")\n                        end\n                    end\n                end\n            end\n        end\n        \n        for dst in 1:nworkers\n            # Termination message to worker\n            send_mesg[1] = -1\n            sreq = MPI.Isend(send_mesg, dst, dst+32, comm)\n            sreqs_workers[dst] = sreq\n            status_workers[dst] = 0\n            print(\"Root: Finish Worker $dst\\n\")\n        end\n        \n        MPI.Waitall!(sreqs_workers)\n        print(\"Root: New data = $new_data\\n\")\n    else # If rank == worker\n        # -1 = start, 0 = channel not available, 1 = channel available\n        status_worker = -1\n        while true\n            sreqs_workers = Array{MPI.Request}(undef,1)\n            ismessage, status = MPI.Iprobe(root, rank+32, comm)\n            \n            if ismessage\n                # Receives message\n                MPI.Recv!(recv_mesg, root, rank+32, comm)\n                # Termination message from root\n                if recv_mesg[1] == -1\n                    print(\"Worker $rank: Finish\\n\")\n                    break\n                end\n                print(\"Worker $rank: Received number $(recv_mesg[1]) from root\\n\")\n                # Apply function (add number 100) to array\n                send_mesg = f(recv_mesg)\n                sreq = MPI.Isend(send_mesg, root, rank+32, comm)\n                sreqs_workers[1] = sreq\n                status_worker = 0\n            end\n            # Check to see if there is an available message to receive\n            if status_worker == 0\n                (flag, status) = MPI.Test!(sreqs_workers[1])\n                if flag\n                    status_worker = 1\n                end\n            end\n        end\n    end\n    MPI.Barrier(comm)\n    MPI.Finalize()\nend\n\nf = x -> x.+100\ndata = collect(1:10)\njob_queue(data,f)","category":"page"},{"location":"examples/05-job_schedule/","page":"Job Scheduling","title":"Job Scheduling","text":"> mpiexecjl -n 4 julia examples/05-job_schedule.jl\nRoot: Sent number 1 to Worker 1\nRoot: Sent number 2 to Worker 2\nRoot: Sent number 3 to Worker 3\nWorker 3: Received number 3 from root\nWorker 2: Received number 2 from root\nWorker 1: Received number 1 from root\nRoot: Received number 101 from Worker 1\nRoot: Sent number 4 to Worker 1\nWorker 1: Received number 4 from root\nRoot: Received number 104 from Worker 1\nRoot: Sent number 5 to Worker 1\nWorker 1: Received number 5 from root\nRoot: Received number 105 from Worker 1\nRoot: Sent number 6 to Worker 1\nWorker 1: Received number 6 from root\nRoot: Received number 106 from Worker 1\nRoot: Sent number 7 to Worker 1\nWorker 1: Received number 7 from root\nRoot: Received number 107 from Worker 1\nRoot: Sent number 8 to Worker 1\nWorker 1: Received number 8 from root\nRoot: Received number 108 from Worker 1\nRoot: Sent number 9 to Worker 1\nWorker 1: Received number 9 from root\nRoot: Received number 109 from Worker 1\nRoot: Sent number 10 to Worker 1\nWorker 1: Received number 10 from root\nRoot: Received number 110 from Worker 1\nRoot: Received number 102 from Worker 2\nRoot: Received number 103 from Worker 3\nRoot: Finish Worker 1\nRoot: Finish Worker 2\nWorker 2: Finish\nRoot: Finish Worker 3\nRoot: New data = [101, 104, 105, 106, 107, 108, 109, 110, 102, 103]\nWorker 1: Finish\nWorker 3: Finish","category":"page"},{"location":"reference/advanced/#Advanced","page":"Advanced","title":"Advanced","text":"","category":"section"},{"location":"reference/advanced/#Object-handling","page":"Advanced","title":"Object handling","text":"","category":"section"},{"location":"reference/advanced/","page":"Advanced","title":"Advanced","text":"MPI.free","category":"page"},{"location":"reference/advanced/#MPI.free","page":"Advanced","title":"MPI.free","text":"MPI.free(obj)\n\nFree the MPI object handle obj. This is typically used as the finalizer, and so need not be called directly unless otherwise noted.\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#Datatype-objects","page":"Advanced","title":"Datatype objects","text":"","category":"section"},{"location":"reference/advanced/","page":"Advanced","title":"Advanced","text":"MPI.Datatype\nMPI.to_type\nMPI.Types.extent\nMPI.Types.create_contiguous\nMPI.Types.create_vector\nMPI.Types.create_subarray\nMPI.Types.create_struct\nMPI.Types.create_resized\nMPI.Types.commit!\nMPI.Types.duplicate","category":"page"},{"location":"reference/advanced/#MPI.Datatype","page":"Advanced","title":"MPI.Datatype","text":"Datatype\n\nA Datatype represents the layout of the data in memory.\n\nUsage\n\nDatatype(T)\n\nEither return the predefined Datatype corresponding to T, or create a new Datatype for the Julia type T, calling Types.commit! so that it can be used for communication operations.\n\nNote that this can only be called on types for which isbitstype(T) is true.\n\n\n\n\n\n","category":"type"},{"location":"reference/advanced/#MPI.to_type","page":"Advanced","title":"MPI.to_type","text":"to_type(datatype::Datatype)\n\nReturn the Julia type corresponding to the MPI Datatype datatype, or nothing if it doesn't correspond directly.\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#MPI.Types.extent","page":"Advanced","title":"MPI.Types.extent","text":"lb, extent = MPI.Types.extent(dt::MPI.Datatype)\n\nGets the lowerbound lb and the extent extent in bytes.\n\nExternal links\n\nMPI_Type_get_extent man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#MPI.Types.create_contiguous","page":"Advanced","title":"MPI.Types.create_contiguous","text":"MPI.Types.create_contiguous(count::Integer, oldtype::MPI.Datatype)\n\nCreate a derived Datatype that replicates oldtype into count contiguous locations.\n\nNote that MPI.Types.commit! must be used before the datatype can be used for communication.\n\nExternal links\n\nMPI_Type_contiguous man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#MPI.Types.create_vector","page":"Advanced","title":"MPI.Types.create_vector","text":"MPI.Types.create_vector(count::Integer, blocklength::Integer, stride::Integer, oldtype::MPI.Datatype)\n\nCreate a derived Datatype that replicates oldtype into locations that consist of equally spaced blocks.\n\nNote that MPI.Types.commit! must be used before the datatype can be used for communication.\n\nExample\n\ndatatype = MPI.Types.create_vector(3, 2, 5, MPI.Datatype(Int64))\nMPI.Types.commit!(datatype)\n\nwill create a datatype with the following layout\n\n|<----->|  block length\n\n+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+\n| X | X |   |   |   | X | X |   |   |   | X | X |   |   |   |\n+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+\n\n|<---- stride ----->|\n\nwhere each segment represents an Int64.\n\n(image by Jonathan Dursi, https://stackoverflow.com/a/10788351/392585)\n\nExternal links\n\nMPI_Type_vector man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#MPI.Types.create_subarray","page":"Advanced","title":"MPI.Types.create_subarray","text":"MPI.Types.create_subarray(sizes, subsizes, offset, oldtype::Datatype;\n                          rowmajor=false)\n\nCreates a derived Datatype describing an N-dimensional subarray of size subsizes of an N-dimensional array of size sizes and element type oldtype, with the first element offset by offset (i.e. the 0-based index of the first element).\n\nColumn-major indexing (used by Julia and Fortran) is assumed; use the keyword rowmajor=true to specify row-major layout (used by C and numpy).\n\nNote that MPI.Types.commit! must be used before the datatype can be used for communication.\n\nExternal links\n\nMPI_Type_create_subarray man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#MPI.Types.create_struct","page":"Advanced","title":"MPI.Types.create_struct","text":"MPI.Types.create_struct(blocklengths, displacements, types)\n\nCreates a derived Datatype describing a struct layout.\n\nNote that MPI.Types.commit! must be used before the datatype can be used for communication.\n\nExternal links\n\nMPI_Type_create_struct man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#MPI.Types.create_resized","page":"Advanced","title":"MPI.Types.create_resized","text":"MPI.Types.create_resized(oldtype::Datatype, lb::Integer, extent::Integer)\n\nCreates a new Datatype that is identical to oldtype, except that the lower bound of this new datatype is set to be lb, and its upper bound is set to be lb + extent.\n\nNote that MPI.Types.commit! must be used before the datatype can be used for communication.\n\nSee also\n\nMPI.Types.extent\n\nExternal links\n\nMPI_Type_create_resized man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#MPI.Types.commit!","page":"Advanced","title":"MPI.Types.commit!","text":"MPI.Types.commit!(newtype::Datatype)\n\nCommits the Datatype newtype so that it can be used for communication. Returns newtype.\n\nExternal links\n\nMPI_Type_commit man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#MPI.Types.duplicate","page":"Advanced","title":"MPI.Types.duplicate","text":"MPI.Types.duplicate(oldtype::Datatype)\n\nDuplicates the datatype oldtype.\n\nExternal links\n\nMPI_Type_dup man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#Operator-objects","page":"Advanced","title":"Operator objects","text":"","category":"section"},{"location":"reference/advanced/","page":"Advanced","title":"Advanced","text":"MPI.Op","category":"page"},{"location":"reference/advanced/#MPI.Op","page":"Advanced","title":"MPI.Op","text":"Op\n\nAn MPI reduction operator, for use with Reduce/Scan collective operations to wrap binary operators. MPI.jl will perform this conversion automatically.\n\nUsage\n\nOp(op, T=Any; iscommutative=false)\n\nWrap the Julia reduction function op for arguments of type T. op is assumed to be associative, and if iscommutative is true, assumed to be commutative as well.\n\nSee also\n\nReduce!/Reduce\nAllreduce!/Allreduce\nScan!/Scan\nExscan!/Exscan\n\n\n\n\n\n","category":"type"},{"location":"reference/advanced/#Info-objects","page":"Advanced","title":"Info objects","text":"","category":"section"},{"location":"reference/advanced/","page":"Advanced","title":"Advanced","text":"MPI.Info\nMPI.infoval","category":"page"},{"location":"reference/advanced/#MPI.Info","page":"Advanced","title":"MPI.Info","text":"Info <: AbstractDict{Symbol,String}\n\nMPI.Info objects store key-value pairs, and are typically used for passing optional arguments to MPI functions.\n\nUsage\n\nThese will typically be hidden from user-facing APIs by splatting keywords, e.g.\n\nfunction f(args...; kwargs...)\n    info = Info(kwargs...)\n    # pass `info` object to `ccall`\nend\n\nFor manual usage, Info objects act like Julia Dict objects:\n\ninfo = Info(init=true) # keyword argument is required\ninfo[key] = value\nx = info[key]\ndelete!(info, key)\n\nIf init=false is used in the costructor (the default), a \"null\" Info object will be returned: no keys can be added to such an object.\n\n\n\n\n\n","category":"type"},{"location":"reference/advanced/#MPI.infoval","page":"Advanced","title":"MPI.infoval","text":"infoval(x)\n\nConvert Julia object x to a string representation for storing in an Info object.\n\nThe MPI specification allows passing strings, Boolean values, integers, and lists.\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#Error-handler-objects","page":"Advanced","title":"Error handler objects","text":"","category":"section"},{"location":"reference/advanced/","page":"Advanced","title":"Advanced","text":"MPI.Errhandler\nMPI.get_errorhandler\nMPI.set_errorhandler!","category":"page"},{"location":"reference/advanced/#MPI.Errhandler","page":"Advanced","title":"MPI.Errhandler","text":"MPI.Errhandler\n\nAn MPI error handler object. Currently only two are supported:\n\nERRORS_ARE_FATAL (default): program will immediately abort\nERRORS_RETURN: program will throw an MPIError.\n\n\n\n\n\n","category":"type"},{"location":"reference/advanced/#MPI.get_errorhandler","page":"Advanced","title":"MPI.get_errorhandler","text":"MPI.get_errorhandler(comm::MPI.Comm)\nMPI.get_errorhandler(win::MPI.Win)\nMPI.get_errorhandler(file::MPI.File.FileHandle)\n\nGet the current Errhandler for the relevant MPI object.\n\nSee also\n\nset_errorhandler!\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#MPI.set_errorhandler!","page":"Advanced","title":"MPI.set_errorhandler!","text":"MPI.set_errorhandler!(comm::MPI.Comm, errh::Errhandler)\nMPI.set_errorhandler!(win::MPI.Win, errh::Errhandler)\nMPI.set_errorhandler!(file::MPI.File.FileHandle, errh::Errhandler)\n\nSet the Errhandler for the relevant MPI object.\n\nSee also\n\nget_errorhandler\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#Miscellaneous","page":"Advanced","title":"Miscellaneous","text":"","category":"section"},{"location":"reference/advanced/","page":"Advanced","title":"Advanced","text":"MPI.Consts.@const_ref","category":"page"},{"location":"reference/advanced/#MPI.Consts.@const_ref","page":"Advanced","title":"MPI.Consts.@const_ref","text":"@const_ref name T expr\n\nDefines an constant binding\n\nconst name = Ref{T}()\n\nand adds a hook to execute\n\nname[] = expr\n\nat module initialization time.\n\n\n\n\n\n","category":"macro"},{"location":"examples/06-scatterv/","page":"Scatterv and Gatherv","title":"Scatterv and Gatherv","text":"EditURL = \"https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/06-scatterv.jl\"","category":"page"},{"location":"examples/06-scatterv/#Scatterv-and-Gatherv","page":"Scatterv and Gatherv","title":"Scatterv and Gatherv","text":"","category":"section"},{"location":"examples/06-scatterv/","page":"Scatterv and Gatherv","title":"Scatterv and Gatherv","text":"# examples/06-scatterv.jl\n# This example shows how to use MPI.Scatterv! and MPI.Gatherv!\n# roughly based on the example from\n# https://stackoverflow.com/a/36082684/392585\n\nusing MPI\n\n\"\"\"\n    split_count(N::Integer, n::Integer)\n\nReturn a vector of `n` integers which are approximately equally sized and sum to `N`.\n\"\"\"\nfunction split_count(N::Integer, n::Integer)\n    q,r = divrem(N, n)\n    return [i <= r ? q+1 : q for i = 1:n]\nend\n\n\nMPI.Init()\n\ncomm = MPI.COMM_WORLD\nrank = MPI.Comm_rank(comm)\ncomm_size = MPI.Comm_size(comm)\n\nroot = 0\n\nif rank == root\n    M, N = 4, 7\n\n    test = Float64[i for i = 1:M, j = 1:N]\n    output = similar(test)\n    \n    # Julia arrays are stored in column-major order, so we need to split along the last dimension\n    # dimension\n    M_counts = [M for i = 1:comm_size]\n    N_counts = split_count(N, comm_size)\n\n    # store sizes in 2 * comm_size Array\n    sizes = vcat(M_counts', N_counts')\n    size_ubuf = UBuffer(sizes, 2)\n\n    # store number of values to send to each rank in comm_size length Vector\n    counts = vec(prod(sizes, dims=1))\n\n    test_vbuf = VBuffer(test, counts) # VBuffer for scatter\n    output_vbuf = VBuffer(output, counts) # VBuffer for gather\nelse\n    # these variables can be set to `nothing` on non-root processes\n    size_ubuf = UBuffer(nothing)\n    output_vbuf = test_vbuf = VBuffer(nothing)\nend\n\nif rank == root\n    println(\"Original matrix\")\n    println(\"================\")\n    @show test sizes counts\n    println()\n    println(\"Each rank\")\n    println(\"================\")\nend \nMPI.Barrier(comm)\n\nlocal_size = MPI.Scatter(size_ubuf, NTuple{2,Int}, root, comm)\nlocal_test = MPI.Scatterv!(test_vbuf, zeros(Float64, local_size), root, comm)\n\nfor i = 0:comm_size-1\n    if rank == i\n        @show rank local_test\n    end\n    MPI.Barrier(comm)\nend\n\nMPI.Gatherv!(local_test, output_vbuf, root, comm)\n\nif rank == root\n    println()\n    println(\"Final matrix\")\n    println(\"================\")\n    @show output\nend ","category":"page"},{"location":"examples/06-scatterv/","page":"Scatterv and Gatherv","title":"Scatterv and Gatherv","text":"> mpiexecjl -n 4 julia examples/06-scatterv.jl\nOriginal matrix\n================\ntest = [1.0 1.0 1.0 1.0 1.0 1.0 1.0; 2.0 2.0 2.0 2.0 2.0 2.0 2.0; 3.0 3.0 3.0 3.0 3.0 3.0 3.0; 4.0 4.0 4.0 4.0 4.0 4.0 4.0]\nsizes = [4 4 4 4; 2 2 2 1]\ncounts = [8, 8, 8, 4]\n\nEach rank\n================\nrank = 0\nlocal_test = [1.0 1.0; 2.0 2.0; 3.0 3.0; 4.0 4.0]\nrank = 1\nlocal_test = [1.0 1.0; 2.0 2.0; 3.0 3.0; 4.0 4.0]\nrank = 2\nlocal_test = [1.0 1.0; 2.0 2.0; 3.0 3.0; 4.0 4.0]\nrank = 3\nlocal_test = [1.0; 2.0; 3.0; 4.0;;]\n\nFinal matrix\n================\noutput = [1.0 1.0 1.0 1.0 1.0 1.0 1.0; 2.0 2.0 2.0 2.0 2.0 2.0 2.0; 3.0 3.0 3.0 3.0 3.0 3.0 3.0; 4.0 4.0 4.0 4.0 4.0 4.0 4.0]","category":"page"},{"location":"reference/mpipreferences/#MPIPreferences.jl","page":"MPIPreferences.jl","title":"MPIPreferences.jl","text":"","category":"section"},{"location":"reference/mpipreferences/","page":"MPIPreferences.jl","title":"MPIPreferences.jl","text":"MPIPreferences.jl is a small package used for selecting MPI implementations.","category":"page"},{"location":"reference/mpipreferences/#Consts","page":"MPIPreferences.jl","title":"Consts","text":"","category":"section"},{"location":"reference/mpipreferences/","page":"MPIPreferences.jl","title":"MPIPreferences.jl","text":"MPIPreferences.binary\nMPIPreferences.abi","category":"page"},{"location":"reference/mpipreferences/#MPIPreferences.binary","page":"MPIPreferences.jl","title":"MPIPreferences.binary","text":"MPIPreferences.binary :: String\n\nThe currently selected binary. The possible values are\n\n\"MPICH_jll\": use the binary provided by MPICH_jll\n\"OpenMPI_jll\": use the binary provided by OpenMPI_jll\n\"MicrosoftMPI_jll\": use binary provided by MicrosoftMPI_jll\n\"MPItrampoline_jll\": use the binary provided by MPItrampoline_jll\n\"system\": use a system-provided binary.\n\n\n\n\n\n","category":"constant"},{"location":"reference/mpipreferences/#MPIPreferences.abi","page":"MPIPreferences.jl","title":"MPIPreferences.abi","text":"MPIPreferences.abi :: String\n\nThe ABI of the currently selected binary. Supported values are:\n\n\"MPICH\": MPICH-compatible ABI (https://www.mpich.org/abi/)\n\"OpenMPI\": Open MPI compatible ABI (Open MPI, IBM Spectrum MPI, Fujitsu MPI)\n\"MicrosoftMPI\": Microsoft MPI\n\"MPItrampoline\": MPItrampoline\n\"HPE MPT\": HPE MPT\n\n\n\n\n\n","category":"constant"},{"location":"reference/mpipreferences/#Changing-implementations","page":"MPIPreferences.jl","title":"Changing implementations","text":"","category":"section"},{"location":"reference/mpipreferences/","page":"MPIPreferences.jl","title":"MPIPreferences.jl","text":"MPIPreferences.use_system_binary\nMPIPreferences.use_jll_binary","category":"page"},{"location":"reference/mpipreferences/#MPIPreferences.use_system_binary","page":"MPIPreferences.jl","title":"MPIPreferences.use_system_binary","text":"MPIPreferences.use_system_binary(;\n    library_names = [\"libmpi\", \"libmpi_ibm\", \"msmpi\", \"libmpich\", \"libmpi_cray\", \"libmpitrampoline\"],\n    mpiexec = \"mpiexec\",\n    abi = nothing,\n    export_prefs = false,\n    force = true)\n\nSwitches the underlying MPI implementation to a system provided one.\n\nOptions:\n\nlibrary_names: a name or collection of names of the MPI library, passed to Libdl.find_library. If the library isn't in the library search path, you can specify the full path to the library.\nmpiexec: the MPI launcher executable. The default is mpiexec, but some clusters require using the scheduler launcher interface (e.g. srun on Slurm, aprun on PBS). It is also possible to pass a Cmd object to include specific command line options.\nabi: the ABI of the MPI library. By default this is determined automatically using identify_abi. See abi for currently supported values.\nexport_prefs: if true, the preferences into the Project.toml instead of LocalPreferences.toml.\nforce: if true, the preferences are set even if they are already set.\n\n\n\n\n\n","category":"function"},{"location":"reference/mpipreferences/#MPIPreferences.use_jll_binary","page":"MPIPreferences.jl","title":"MPIPreferences.use_jll_binary","text":"MPIPreferences.use_jll_binary(binary; export_prefs=false, force=true)\n\nSwitches the underlying MPI implementation to one provided by JLL packages. Available options are:\n\n\"MicrosoftMPI_jll\" (Only option and default on Winddows)\n\"MPICH_jll\" (Default on all other platform)\n\"OpenMPI_jll\"\n\"MPItrampoline_jll\"\n\nThe export_prefs option determines whether the preferences being set should be stored within LocalPreferences.toml or Project.toml.\n\n\n\n\n\n","category":"function"},{"location":"reference/mpipreferences/#Utils","page":"MPIPreferences.jl","title":"Utils","text":"","category":"section"},{"location":"reference/mpipreferences/","page":"MPIPreferences.jl","title":"MPIPreferences.jl","text":"MPIPreferences.identify_abi","category":"page"},{"location":"reference/mpipreferences/#MPIPreferences.identify_abi","page":"MPIPreferences.jl","title":"MPIPreferences.identify_abi","text":"identify_abi(libmpi)\n\nIdentify the MPI implementation from the library version string\n\n\n\n\n\n","category":"function"},{"location":"configuration/#Configuration","page":"Configuration","title":"Configuration","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"By default, MPI.jl will download and link against the following MPI implementations:","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Microsoft MPI on Windows\nMPICH on all other platforms","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"This is suitable for most single-node use cases, but for larger systems, such as HPC clusters or multi-GPU machines, you will probably want to configure against a system-provided MPI implementation in order to exploit features such as fast network interfaces and CUDA-aware or ROCm-aware MPI interfaces.","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"The MPIPreferences.jl package allows the user to choose which MPI implementation to use in MPI.jl. It uses Preferences.jl to configure the MPI backend for each project separately. This provides a single source of truth that can be used for JLL packages (Julia packages providing C libraries) that link against MPI. It can be installed by","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"julia -e 'using Pkg; Pkg.add(\"MPIPreferences\")'","category":"page"},{"location":"configuration/#Using-a-system-provided-MPI-backend","page":"Configuration","title":"Using a system-provided MPI backend","text":"","category":"section"},{"location":"configuration/#Requirements","page":"Configuration","title":"Requirements","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"MPI.jl requires a shared library installation of a C MPI library, supporting the MPI 3.0 standard or later. The following MPI implementations should work out-of-the-box with MPI.jl:","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Open MPI\nMPICH (v3.1 or later)\nIntel MPI\nMicrosoft MPI\nIBM Spectrum MPI\nMVAPICH\nCray MPICH\nFujitsu MPI\nHPE MPT/HMPT","category":"page"},{"location":"configuration/#Configuration-2","page":"Configuration","title":"Configuration","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Run MPIPreferences.use_system_binary(). This will attempt to locate and to identify any available MPI implementation, and create a file called LocalPreferences.toml adjacent to the current Project.toml.","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"julia --project -e 'using MPIPreferences; MPIPreferences.use_system_binary()'","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"If the implementation is changed, you will need to call this function again. See the MPIPreferences.use_system_binary documentation for specific options.","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"note: Note\nYou can copy LocalPreferences.toml to a different project folder, but you must list MPIPreferences in the [extras] or [deps] section of the Project.toml for the settings to take effect.","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"note: Note\nDue to a bug in Julia (until v1.6.5 and v1.7.1), getting preferences from transitive dependencies is broken (Preferences.jl#24). To fix this update your version of Julia, or add MPIPreferences as a direct dependency to your project.","category":"page"},{"location":"configuration/#Notes-to-HPC-cluster-adminstators","page":"Configuration","title":"Notes to HPC cluster adminstators","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Preferences are merged across the Julia load path, such that it is feasible to provide a module file that appends a path to JULIA_LOAD_PATH variable that contains system-wide preferences. The steps are as follows:","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Run MPIPreferences.use_system_binary(), which will generate a file LocalPreferences.toml containing something like the following:\n[MPIPreferences]\nabi = \"OpenMPI\"\nbinary = \"system\"\nlibmpi = \"/software/mpi/lib/libmpi.so\"\nmpiexec = \"/software/mpi/bin/mpiexec\"\nCreate a file called Project.toml or JuliaProject.toml in a central location, for example /software/mpi/julia or in the same directory as the MPI library module, and add the following contents:\n[extras]\nMPIPreferences = \"3da0fdf6-3ccc-4f1b-acd9-58baa6c99267\"\n\n[preferences.MPIPreferences]\nabi = \"OpenMPI\"\nbinary = \"system\"\nlibmpi = \"/software/mpi/lib/libmpi.so\"\nmpiexec = \"/software/mpi/bin/mpiexec\"\nupdating the contents of the [preferences.MPIPreferences] section match those of the [MPIPreferences] in LocalPreferences.toml.\nAppend the directory containing the file to the JULIA_LOAD_PATH environment variable, with a colon (:) separator.\nIf this variable is not already set, it should be prefixed with a colon to ensure correct behavior of the Julia load path, e.g. JULIA_LOAD_PATH=\":/software/mpi/julia\". If using environment modules, this can be achieved with\nappend-path  -d {} JULIA_LOAD_PATH :/software/mpi/julia\nin the corresponding module file (preferably the module file for the MPI installation or for Julia).\nThe user can still provide differing MPI configurations for each Julia project that will take precedent by modifying the local Project.toml or by providing a LocalPreferences.toml file.","category":"page"},{"location":"configuration/#Using-an-alternative-JLL-provided-MPI-library","page":"Configuration","title":"Using an alternative JLL-provided MPI library","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"The following MPI implementations are provided as JLL packages and automatically obtained when installing MPI.jl:","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"MicrosoftMPI_jll: Microsoft MPI Default for Windows\nMPICH_jll: MPICH. Default for all other systems\nOpenMPI_jll: Open MPI\nMPItrampoline_jll: MPItrampoline: an MPI forwarding layer.","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Call MPIPreferences.use_jll_binary, for example","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"julia --project -e 'using MPIPreferences; MPIPreferences.use_jll_binary(\"MPItrampoline_jll\")'","category":"page"},{"location":"configuration/#Configuration-of-the-MPI.jl-testsuite","page":"Configuration","title":"Configuration of the MPI.jl testsuite","text":"","category":"section"},{"location":"configuration/#Testing-against-a-different-MPI-implementation","page":"Configuration","title":"Testing against a different MPI implementation","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"The LocalPreferences.toml must be located within the test folder, you can either create it in place or copy it into place.","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"~/MPI> julia --project=test\njulia> using MPIPreferences\njulia> MPIPreferences.use_system_binary()\n~/MPI> rm test/Manifest.toml\n~/MPI> julia --project\n(MPI) pkg> test","category":"page"},{"location":"configuration/#Environment-variables","page":"Configuration","title":"Environment variables","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"The test suite can also be modified by the following variables:","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"JULIA_MPI_TEST_NPROCS: How many ranks to use within the tests\nJULIA_MPI_TEST_ARRAYTYPE: Set to CuArray or ROCArray to test the CUDA-aware interface with CUDA.CuArray or the ROCm-aware interface with  AMDGPU.ROCArray or buffers.\nJULIA_MPI_TEST_BINARY: Check that the specified MPI binary is used for the tests\nJULIA_MPI_TEST_ABI: Check that the specified MPI ABI is used for the tests","category":"page"},{"location":"configuration/#Migration-from-MPI.jl-version-0.19-or-earlier","page":"Configuration","title":"Migration from MPI.jl version 0.19 or earlier","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Prior to MPI.jl version 0.20, environment variables were used to configure which MPI library to use. These have now been removed and no longer have any effect:","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"JULIA_MPI_BINARY\nJULIA_MPIEXEC\nJULIA_MPIEXEC_ARGS\nJULIA_MPI_INCLUDE_PATH\nJULIA_MPI_CFLAGS\nJULIA_MPICC","category":"page"},{"location":"refindex/#Index","page":"Index","title":"Index","text":"","category":"section"},{"location":"refindex/","page":"Index","title":"Index","text":"","category":"page"},{"location":"examples/02-broadcast/","page":"Broadcast","title":"Broadcast","text":"EditURL = \"https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/02-broadcast.jl\"","category":"page"},{"location":"examples/02-broadcast/#Broadcast","page":"Broadcast","title":"Broadcast","text":"","category":"section"},{"location":"examples/02-broadcast/","page":"Broadcast","title":"Broadcast","text":"# examples/02-broadcast.jl\nimport MPI\nMPI.Init()\n\ncomm = MPI.COMM_WORLD\nN = 5\nroot = 0\n\nif MPI.Comm_rank(comm) == root\n    print(\" Running on $(MPI.Comm_size(comm)) processes\\n\")\nend\nMPI.Barrier(comm)\n\nif MPI.Comm_rank(comm) == root\n    A = [i*(1.0 + im*2.0) for i = 1:N]\nelse\n    A = Array{ComplexF64}(undef, N)\nend\n\nMPI.Bcast!(A, root, comm)\n\nprint(\"rank = $(MPI.Comm_rank(comm)), A = $A\\n\")\n\nif MPI.Comm_rank(comm) == root\n    B = Dict(\"foo\" => \"bar\")\nelse\n    B = nothing\nend\n\nB = MPI.bcast(B, root, comm)\nprint(\"rank = $(MPI.Comm_rank(comm)), B = $B\\n\")\n\nif MPI.Comm_rank(comm) == root\n    f = x -> x^2 + 2x - 1\nelse\n    f = nothing\nend\n\nf = MPI.bcast(f, root, comm)\nprint(\"rank = $(MPI.Comm_rank(comm)), f(3) = $(f(3))\\n\")","category":"page"},{"location":"examples/02-broadcast/","page":"Broadcast","title":"Broadcast","text":"> mpiexecjl -n 4 julia examples/02-broadcast.jl\n Running on 4 processes\nrank = 0, A = ComplexF64[1.0 + 2.0im, 2.0 + 4.0im, 3.0 + 6.0im, 4.0 + 8.0im, 5.0 + 10.0im]\nrank = 2, A = ComplexF64[1.0 + 2.0im, 2.0 + 4.0im, 3.0 + 6.0im, 4.0 + 8.0im, 5.0 + 10.0im]\nrank = 1, A = ComplexF64[1.0 + 2.0im, 2.0 + 4.0im, 3.0 + 6.0im, 4.0 + 8.0im, 5.0 + 10.0im]\nrank = 3, A = ComplexF64[1.0 + 2.0im, 2.0 + 4.0im, 3.0 + 6.0im, 4.0 + 8.0im, 5.0 + 10.0im]\nrank = 0, B = Dict(\"foo\" => \"bar\")\nrank = 1, B = Dict(\"foo\" => \"bar\")\nrank = 3, B = Dict(\"foo\" => \"bar\")\nrank = 2, B = Dict(\"foo\" => \"bar\")\nrank = 0, f(3) = 14\nrank = 2, f(3) = 14\nrank = 1, f(3) = 14\nrank = 3, f(3) = 14","category":"page"},{"location":"examples/03-reduce/","page":"Reduce","title":"Reduce","text":"EditURL = \"https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/03-reduce.jl\"","category":"page"},{"location":"examples/03-reduce/#Reduce","page":"Reduce","title":"Reduce","text":"","category":"section"},{"location":"examples/03-reduce/","page":"Reduce","title":"Reduce","text":"# examples/03-reduce.jl\n# This example shows how to use custom datatypes and reduction operators\n# It computes the variance in parallel in a numerically stable way\n\nusing MPI, Statistics\n\nMPI.Init()\nconst comm = MPI.COMM_WORLD\nconst root = 0\n\n# Define a custom struct\n# This contains the summary statistics (mean, variance, length) of a vector\nstruct SummaryStat\n    mean::Float64\n    var::Float64\n    n::Float64\nend\nfunction SummaryStat(X::AbstractArray)\n    m = mean(X)\n    v = varm(X,m, corrected=false)\n    n = length(X)\n    SummaryStat(m,v,n)\nend\n\n# Define a custom reduction operator\n# this computes the pooled mean, pooled variance and total length\nfunction pool(S1::SummaryStat, S2::SummaryStat)\n    n = S1.n + S2.n\n    m = (S1.mean*S1.n + S2.mean*S2.n) / n\n    v = (S1.n * (S1.var + S1.mean * (S1.mean-m)) +\n         S2.n * (S2.var + S2.mean * (S2.mean-m)))/n\n    SummaryStat(m,v,n)\nend\n\nX = randn(10,3) .* [1,3,7]'\n\n# Perform a scalar reduction\nsumm = MPI.Reduce(SummaryStat(X), pool, root, comm)\n\nif MPI.Comm_rank(comm) == root\n    @show summ.var\nend\n\n# Perform a vector reduction:\n# the reduction operator is applied elementwise\ncol_summ = MPI.Reduce(mapslices(SummaryStat,X,dims=1), pool, root, comm)\n\nif MPI.Comm_rank(comm) == root\n    col_var = map(summ -> summ.var, col_summ)\n    @show col_var\nend","category":"page"},{"location":"examples/03-reduce/","page":"Reduce","title":"Reduce","text":"> mpiexecjl -n 4 julia examples/03-reduce.jl\nsumm.var = 21.72266603407552\ncol_var = [1.0697254613919909 9.498762744749609 54.18321559428405]","category":"page"},{"location":"usage/#Usage","page":"Usage","title":"Usage","text":"","category":"section"},{"location":"usage/","page":"Usage","title":"Usage","text":"MPI is based on a single program, multiple data (SPMD) model, where multiple processes are launched running independent programs, which then communicate as necessary via messages.","category":"page"},{"location":"usage/#Basic-example","page":"Usage","title":"Basic example","text":"","category":"section"},{"location":"usage/","page":"Usage","title":"Usage","text":"A script should include using MPI and MPI.Init() statements before calling any MPI operations, for example","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"# examples/01-hello.jl\nusing MPI\nMPI.Init()\n\ncomm = MPI.COMM_WORLD\nprintln(\"Hello world, I am $(MPI.Comm_rank(comm)) of $(MPI.Comm_size(comm))\")\nMPI.Barrier(comm)","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"Calling MPI.Finalize() at the end of the program is optional, as it will be called automatically when Julia exits.","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"The program can then be launched via an MPI launch command (typically mpiexec, mpirun or srun), e.g.","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"$ mpiexec -n 3 julia --project examples/01-hello.jl\nHello world, I am rank 0 of 3\nHello world, I am rank 2 of 3\nHello world, I am rank 1 of 3","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"The mpiexec function is provided for launching MPI programs from Julia itself.","category":"page"},{"location":"usage/#Julia-wrapper-for-mpiexec","page":"Usage","title":"Julia wrapper for mpiexec","text":"","category":"section"},{"location":"usage/","page":"Usage","title":"Usage","text":"Since you can configure MPI.jl to use one of several MPI implementations, you may have different Julia projects using different implementation.  Thus, it may be cumbersome to find out which mpiexec executable is associated to a specific project.  To make this easy, on Unix-based systems MPI.jl comes with a thin project-aware wrapper around mpiexec, called mpiexecjl.","category":"page"},{"location":"usage/#Installation","page":"Usage","title":"Installation","text":"","category":"section"},{"location":"usage/","page":"Usage","title":"Usage","text":"You can install mpiexecjl with MPI.install_mpiexecjl().  The default destination directory is joinpath(DEPOT_PATH[1], \"bin\"), which usually translates to ~/.julia/bin, but check the value on your system.  You can also tell MPI.install_mpiexecjl to install to a different directory.","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"$ julia\njulia> using MPI\njulia> MPI.install_mpiexecjl()","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"To quickly call this wrapper we recommend you to add the destination directory to your PATH environment variable.","category":"page"},{"location":"usage/#Usage-2","page":"Usage","title":"Usage","text":"","category":"section"},{"location":"usage/","page":"Usage","title":"Usage","text":"mpiexecjl has the same syntax as the mpiexec binary that will be called, but it takes in addition a --project option to call the specific binary associated to the MPI.jl version in the given project.  If no --project flag is used, the MPI.jl in the global Julia environment will be used instead.","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"After installing mpiexecjl and adding its directory to PATH, you can run it with:","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"$ mpiexecjl --project=/path/to/project -n 20 julia script.jl","category":"page"},{"location":"usage/#CUDA-aware-MPI-support","page":"Usage","title":"CUDA-aware MPI support","text":"","category":"section"},{"location":"usage/","page":"Usage","title":"Usage","text":"If your MPI implementation has been compiled with CUDA support, then CUDA.CuArrays (from the CUDA.jl package) can be passed directly as send and receive buffers for point-to-point and collective operations (they may also work with one-sided operations, but these are not often supported).","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"Successfully running the alltoall_test_cuda.jl  should confirm your MPI implementation to have the CUDA support enabled. Moreover, successfully running the  alltoall_test_cuda_multigpu.jl should confirm  your CUDA-aware MPI implementation to use multiple Nvidia GPUs (one GPU per rank).","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"If using OpenMPI, the status of CUDA support can be checked via the MPI.has_cuda() function.","category":"page"},{"location":"usage/#ROCm-aware-MPI-support","page":"Usage","title":"ROCm-aware MPI support","text":"","category":"section"},{"location":"usage/","page":"Usage","title":"Usage","text":"If your MPI implementation has been compiled with ROCm support (AMDGPU), then AMDGPU.ROCArrays (from the AMDGPU.jl package) can be passed directly as send and receive buffers for point-to-point and collective operations (they may also work with one-sided operations, but these are not often supported).","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"Successfully running the alltoall_test_rocm.jl  should confirm your MPI implementation to have the ROCm support (AMDGPU) enabled. Moreover, successfully running the  alltoall_test_rocm_multigpu.jl should confirm  your ROCm-aware MPI implementation to use multiple AMD GPUs (one GPU per rank).","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"The status of ROCm (AMDGPU) support cannot currently be queried.","category":"page"},{"location":"usage/#Writing-MPI-tests","page":"Usage","title":"Writing MPI tests","text":"","category":"section"},{"location":"usage/","page":"Usage","title":"Usage","text":"It is recommended to use the mpiexec() wrapper when writing your package tests in runtests.jl:","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"# test/runtests.jl\nusing MPI\nusing Test\n\n@testset \"hello\" begin\n    n = 2  # number of processes\n    mpiexec() do exe  # MPI wrapper\n        run(`$exe -n $n $(Base.julia_cmd()) [...]/01-hello.jl`)\n        # alternatively:\n        # p = run(ignorestatus(`...`))\n        # @test success(p)\n    end\nend","category":"page"},{"location":"reference/library/#Library-information","page":"Library information","title":"Library information","text":"","category":"section"},{"location":"reference/library/#Constants","page":"Library information","title":"Constants","text":"","category":"section"},{"location":"reference/library/","page":"Library information","title":"Library information","text":"MPI.MPI_VERSION\nMPI.MPI_LIBRARY\nMPI.MPI_LIBRARY_VERSION\nMPI.MPI_LIBRARY_VERSION_STRING","category":"page"},{"location":"reference/library/#MPI.MPI_VERSION","page":"Library information","title":"MPI.MPI_VERSION","text":"MPI_VERSION :: VersionNumber\n\nThe supported version of the MPI standard.\n\nExternal links\n\nMPI_Get_version man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"constant"},{"location":"reference/library/#MPI.MPI_LIBRARY","page":"Library information","title":"MPI.MPI_LIBRARY","text":"MPI_LIBRARY :: String\n\nThe current MPI implementation: this is determined by\n\n\n\n\n\n","category":"constant"},{"location":"reference/library/#MPI.MPI_LIBRARY_VERSION","page":"Library information","title":"MPI.MPI_LIBRARY_VERSION","text":"MPI_LIBRARY_VERSION :: VersionNumber\n\nThe version of the MPI library\n\n\n\n\n\n","category":"constant"},{"location":"reference/library/#MPI.MPI_LIBRARY_VERSION_STRING","page":"Library information","title":"MPI.MPI_LIBRARY_VERSION_STRING","text":"MPI_LIBRARY_VERSION_STRING :: String\n\nThe full version string provided by the library\n\nExternal links\n\nMPI_Get_library_version man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"constant"},{"location":"reference/library/#Functions","page":"Library information","title":"Functions","text":"","category":"section"},{"location":"reference/library/","page":"Library information","title":"Library information","text":"MPI.has_cuda\nMPI.identify_implementation","category":"page"},{"location":"reference/library/#MPI.has_cuda","page":"Library information","title":"MPI.has_cuda","text":"MPI.has_cuda()\n\nCheck if the MPI implementation is known to have CUDA support. Currently only Open MPI provides a mechanism to check, so it will return false with other implementations (unless overriden).\n\nThis can be overriden by setting the JULIA_MPI_HAS_CUDA environment variable to true or false.\n\n\n\n\n\n","category":"function"},{"location":"reference/library/#MPI.identify_implementation","page":"Library information","title":"MPI.identify_implementation","text":"impl, version = identify_implementation()\n\nAttempt to identify the MPI implementation based on MPI_LIBRARY_VERSION_STRING. Returns a triple of values:\n\nimpl: a String with the name of the MPI implementation, or \"unknown\" if it cannot be determined,\nversion: a VersionNumber of the library, or nothing if it cannot be determined.\n\nThis function is only intended for internal use. Users should use MPI_LIBRARY, MPI_LIBRARY_VERSION.\n\n\n\n\n\n","category":"function"},{"location":"examples/01-hello/","page":"Hello world","title":"Hello world","text":"EditURL = \"https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/01-hello.jl\"","category":"page"},{"location":"examples/01-hello/#Hello-world","page":"Hello world","title":"Hello world","text":"","category":"section"},{"location":"examples/01-hello/","page":"Hello world","title":"Hello world","text":"# examples/01-hello.jl\nusing MPI\nMPI.Init()\n\ncomm = MPI.COMM_WORLD\nprint(\"Hello world, I am rank $(MPI.Comm_rank(comm)) of $(MPI.Comm_size(comm))\\n\")\nMPI.Barrier(comm)","category":"page"},{"location":"examples/01-hello/","page":"Hello world","title":"Hello world","text":"> mpiexecjl -n 4 julia examples/01-hello.jl\nHello world, I am rank 2 of 4\nHello world, I am rank 3 of 4\nHello world, I am rank 1 of 4\nHello world, I am rank 0 of 4","category":"page"},{"location":"reference/collective/#Collective-communication","page":"Collective communication","title":"Collective communication","text":"","category":"section"},{"location":"reference/collective/#Synchronization","page":"Collective communication","title":"Synchronization","text":"","category":"section"},{"location":"reference/collective/","page":"Collective communication","title":"Collective communication","text":"MPI.Barrier\nMPI.Ibarrier","category":"page"},{"location":"reference/collective/#MPI.Barrier","page":"Collective communication","title":"MPI.Barrier","text":"Barrier(comm::Comm)\n\nBlocks until comm is synchronized.\n\nIf comm is an intracommunicator, then it blocks until all members of the group have called it.\n\nIf comm is an intercommunicator, then it blocks until all members of the other group have called it.\n\nExternal links\n\nMPI_Barrier man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Ibarrier","page":"Collective communication","title":"MPI.Ibarrier","text":"Ibarrier(comm::Comm)\n\nBlocks until comm is synchronized.\n\nIf comm is an intracommunicator, then it blocks until all members of the group have called it.\n\nIf comm is an intercommunicator, then it blocks until all members of the other group have called it.\n\nExternal links\n\nMPI_Ibarrier man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#Broadcast","page":"Collective communication","title":"Broadcast","text":"","category":"section"},{"location":"reference/collective/","page":"Collective communication","title":"Collective communication","text":"MPI.Bcast!\nMPI.bcast","category":"page"},{"location":"reference/collective/#MPI.Bcast!","page":"Collective communication","title":"MPI.Bcast!","text":"Bcast!(buf, comm::Comm; root::Integer=0)\n\nBroadcast the buffer buf from root to all processes in comm.\n\nSee also\n\nbcast\n\nExternal links\n\nMPI_Bcast man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.bcast","page":"Collective communication","title":"MPI.bcast","text":"bcast(obj, comm::Comm; root::Integer=0)\n\nBroadcast the object obj from rank root to all processes on comm. This is able to handle arbitrary data.\n\nSee also\n\nBcast!\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#Gather/Scatter","page":"Collective communication","title":"Gather/Scatter","text":"","category":"section"},{"location":"reference/collective/#Gather","page":"Collective communication","title":"Gather","text":"","category":"section"},{"location":"reference/collective/","page":"Collective communication","title":"Collective communication","text":"MPI.Gather!\nMPI.Gather\nMPI.Gatherv!\nMPI.Allgather!\nMPI.Allgather\nMPI.Allgatherv!\nMPI.Neighbor_allgather!\nMPI.Neighbor_allgatherv!","category":"page"},{"location":"reference/collective/#MPI.Gather!","page":"Collective communication","title":"MPI.Gather!","text":"Gather!(sendbuf, recvbuf, comm::Comm; root::Integer=0)\n\nEach process sends the contents of the buffer sendbuf to the root process. The root process stores elements in rank order in the buffer buffer recvbuf.\n\nsendbuf should be a Buffer object, or any object for which Buffer_send is defined, with the same length on all processes, and should be the same length on all processes.\n\nOn the root process, sendbuf can be MPI.IN_PLACE on the root process, in which case the corresponding entries in recvbuf are assumed to be already in place (this corresponds the behaviour of MPI_IN_PLACE in MPI_Gather). For example:\n\nif root == MPI.Comm_rank(comm)\n    MPI.Gather!(MPI.IN_PLACE, UBuffer(buf, count), comm; root=root)\nelse\n    MPI.Gather!(buf, nothing, comm; root=root)\nend\n\nrecvbuf on the root process should be a UBuffer, or can be an AbstractArray if the length can be determined from sendbuf. On non-root processes it is ignored and can be nothing.\n\nSee also\n\nGather for the allocating operation.\nGatherv! if the number of elements varies between processes.\nAllgather! to send the result to all processes.\n\nExternal links\n\nMPI_Gather man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Gather","page":"Collective communication","title":"MPI.Gather","text":"Gather(sendbuf, comm::Comm; root=0)\n\nEach process sends the contents of the buffer sendbuf to the root process. The root allocates the output buffer and stores elements in rank order.\n\nsendbuf can be an AbstractArray or a scalar, and should be the same length on all processes.\n\nSee also\n\nGather! for the mutating operation.\nGatherv! if the number of elements varies between processes.\nAllgather!/Allgather to send the result to all processes.\n\nExternal links\n\nMPI_Gather man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Gatherv!","page":"Collective communication","title":"MPI.Gatherv!","text":"Gatherv!(sendbuf, recvbuf, comm::Comm; root::Integer=0)\n\nEach process sends the contents of the buffer sendbuf to the root process. The root stores elements in rank order in the buffer recvbuf.\n\nsendbuf should be a Buffer object, or any object for which Buffer_send is defined, with the same length on all processes.\n\nOn the root process, sendbuf can be MPI.IN_PLACE, in which case the corresponding entries in recvbuf are assumed to be already in place. For example\n\nif root == MPI.Comm_rank(comm)\n    Gatherv!(MPI.IN_PLACE, VBuffer(buf, counts), comm; root=root)\nelse\n    Gatherv!(buf, nothing, comm; root=root)\nend\n\nrecvbuf on the root process should be a VBuffer, or can be an AbstractArray if the length can be determined from sendbuf. On non-root processes it is ignored and can be nothing.\n\nSee also\n\nGatherv! for the allocating operation\nGather!\nAllgatherv! to send the result to all processes\n\nExternal links\n\nMPI_Gatherv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Allgather!","page":"Collective communication","title":"MPI.Allgather!","text":"Allgather!(sendbuf, recvbuf::UBuffer, comm::Comm)\nAllgather!(sendrecvbuf::UBuffer, comm::Comm)\n\nEach process sends the contents of sendbuf to the other processes, the result of which is stored in rank order into recvbuf.\n\nsendbuf can be a Buffer object, or any object for which Buffer_send is defined, and should be the same length on all processes.\n\nrecvbuf can be a UBuffer, or can be an AbstractArray if the length can be determined from sendbuf.\n\nIf only one buffer sendrecvbuf is provided, then on each process the data to send is assumed to be in the area where it would receive its own contribution.\n\nSee also\n\nAllgather for the allocating operation\nAllgatherv! if the number of elements varies between processes.\nGather! to send only to a single root process\n\nExternal links\n\nMPI_Allgather man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Allgather","page":"Collective communication","title":"MPI.Allgather","text":"Allgather(sendbuf, comm)\n\nEach process sends the contents of sendbuf to the other processes, who store the results in rank order allocating the output buffer.\n\nsendbuf can be an AbstractArray or a scalar, and should be the same size on all processes.\n\nSee also\n\nAllgather! for the mutating operation\nAllgatherv! if the number of elements varies between processes.\nGather! to send only to a single root process\n\nExternal links\n\nMPI_Allgather man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Allgatherv!","page":"Collective communication","title":"MPI.Allgatherv!","text":"Allgatherv!(sendbuf, recvbuf::VBuffer, comm::Comm)\nAllgatherv!(sendrecvbuf::VBuffer, comm::Comm)\n\nEach process sends the contents of sendbuf to all other process. Each process stores the received in the VBuffer recvbuf.\n\nsendbuf can be a Buffer object, or any object for which Buffer_send is defined.\n\nIf only one buffer sendrecvbuf is provided, then for each process, the data to be sent is taken from the interval of recvbuf where it would store its own data.\n\nSee also\n\nGatherv! to send the result to a single process\n\nExternal links\n\nMPI_Allgatherv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Neighbor_allgather!","page":"Collective communication","title":"MPI.Neighbor_allgather!","text":"Neighbor_allgather!(sendbuf::Buffer, recvbuf::UBuffer, comm::Comm)\n\nPerform an all-gather communication along the directed edges of the graph.\n\nSee also MPI.Allgather!.\n\nExternal links\n\nMPI_Neighbor_allgather man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Neighbor_allgatherv!","page":"Collective communication","title":"MPI.Neighbor_allgatherv!","text":"Neighbor_allgatherv!(sendbuf::Buffer, recvbuf::VBuffer, comm::Comm)\n\nPerform an all-gather communication along the directed edges of the graph with variable sized data.\n\nSee also MPI.Allgatherv!.\n\nExternal links\n\nMPI_Neighbor_allgatherv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#Scatter","page":"Collective communication","title":"Scatter","text":"","category":"section"},{"location":"reference/collective/","page":"Collective communication","title":"Collective communication","text":"MPI.Scatter!\nMPI.Scatter\nMPI.Scatterv!","category":"page"},{"location":"reference/collective/#MPI.Scatter!","page":"Collective communication","title":"MPI.Scatter!","text":"Scatter!(sendbuf::Union{UBuffer,Nothing}, recvbuf, comm::Comm;\n    root::Integer=0)\n\nSplits the buffer sendbuf in the root process into Comm_size(comm) chunks, sending the j-th chunk to the process of rank j-1 into the recvbuf buffer.\n\nsendbuf on the root process should be a UBuffer (an Array can also be passed directly if the sizes can be determined from recvbuf). On non-root processes it is ignored, and nothing can be passed instead.\n\nrecvbuf is a Buffer object, or any object for which Buffer(recvbuf) is defined. On the root process, it can also be MPI.IN_PLACE, in which case it is unmodified. For example:\n\nif root == MPI.Comm_rank(comm)\n    MPI.Scatter!(UBuffer(buf, count), MPI.IN_PLACE, comm; root=root)\nelse\n    MPI.Scatter!(nothing, buf, comm; root=root)\nend\n\nSee also\n\nScatterv! if the number of elements varies between processes.\n\nExternal links\n\nMPI_Scatter man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Scatter","page":"Collective communication","title":"MPI.Scatter","text":"Scatter(sendbuf, T, comm::Comm; root::Integer=0)\n\nSplits the buffer sendbuf in the root process into Comm_size(comm) chunks, sending the j-th chunk to the process of rank j-1 as an object of type T.\n\nSee also\n\nScatter!\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Scatterv!","page":"Collective communication","title":"MPI.Scatterv!","text":"Scatterv!(sendbuf, recvbuf, comm::Comm; root::Integer=0)\n\nSplits the buffer sendbuf in the root process into Comm_size(comm) chunks and sends the jth chunk to the process of rank j-1 into the recvbuf buffer.\n\nsendbuf on the root process should be a VBuffer. On non-root processes it is ignored, and nothing can be passed instead.\n\nrecvbuf is a Buffer object, or any object for which Buffer(recvbuf) is defined. On the root process, it can also be MPI.IN_PLACE, in which case it is unmodified. For example:\n\nif root == MPI.Comm_rank(comm)\n    MPI.Scatterv!(VBuffer(buf, counts), MPI.IN_PLACE, comm; root=root)\nelse\n    MPI.Scatterv!(nothing, buf, comm; root=root)\nend\n\nSee also\n\nScatter! if the number of elements are the same for all processes\n\nExternal links\n\nMPI_Scatterv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#All-to-all","page":"Collective communication","title":"All-to-all","text":"","category":"section"},{"location":"reference/collective/","page":"Collective communication","title":"Collective communication","text":"MPI.Alltoall!\nMPI.Alltoall\nMPI.Alltoallv!\nMPI.Neighbor_alltoall!\nMPI.Neighbor_alltoallv!","category":"page"},{"location":"reference/collective/#MPI.Alltoall!","page":"Collective communication","title":"MPI.Alltoall!","text":"Alltoall!(sendbuf::UBuffer, recvbuf::UBuffer, comm::Comm)\nAlltoall!(sendrecvbuf::UBuffer, comm::Comm)\n\nEvery process divides the UBuffer sendbuf into Comm_size(comm) chunks of equal size, sending the j-th chunk to the process of rank j-1.  Every process stores the data received from rank j-1 process in the j-th chunk of the buffer recvbuf.\n\nrank    send buf                        recv buf\n----    --------                        --------\n 0      a,b,c,d,e,f       Alltoall      a,b,A,B,α,β\n 1      A,B,C,D,E,F  ---------------->  c,d,C,D,γ,ψ\n 2      α,β,γ,ψ,η,ν                     e,f,E,F,η,ν\n\nIf only one buffer sendrecvbuf is used, then data is overwritten.\n\nSee also\n\nAlltoall for the allocating operation\n\nExternal links\n\nMPI_Alltoall man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Alltoall","page":"Collective communication","title":"MPI.Alltoall","text":"Alltoall(sendbuf::UBuffer, comm::Comm)\n\nEvery process divides the UBuffer sendbuf into Comm_size(comm) chunks of equal size, sending the j-th chunk to the process of rank j-1. Every process allocates the output buffer and stores the data received from the process on rank j-1 in the j-th chunk.\n\nrank    send buf                        recv buf\n----    --------                        --------\n 0      a,b,c,d,e,f       Alltoall      a,b,A,B,α,β\n 1      A,B,C,D,E,F  ---------------->  c,d,C,D,γ,ψ\n 2      α,β,γ,ψ,η,ν                     e,f,E,F,η,ν\n\nSee also\n\nAlltoall! for the mutating operation\n\nExternal links\n\nMPI_Alltoall man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Alltoallv!","page":"Collective communication","title":"MPI.Alltoallv!","text":"Alltoallv!(sendbuf::VBuffer, recvbuf::VBuffer, comm::Comm)\n\nSimilar to Alltoall!, except with different size chunks per process.\n\nSee also\n\nVBuffer\n\nExternal links\n\nMPI_Alltoallv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Neighbor_alltoall!","page":"Collective communication","title":"MPI.Neighbor_alltoall!","text":"Neighbor_alltoall!(sendbuf::UBuffer, recvbuf::UBuffer, comm::Comm)\n\nPerform an all-to-all communication along the directed edges of the graph with fixed size messages.\n\nSee also MPI.Alltoall!.\n\nExternal links\n\nMPI_Neighbor_alltoall man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Neighbor_alltoallv!","page":"Collective communication","title":"MPI.Neighbor_alltoallv!","text":"Neighbor_alltoallv!(sendbuf::VBuffer, recvbuf::VBuffer, graph_comm::Comm)\n\nPerform an all-to-all communication along the directed edges of the graph with variable size messages.\n\nSee also MPI.Alltoallv!.\n\nExternal links\n\nMPI_Neighbor_alltoallv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#Reduce/Scan","page":"Collective communication","title":"Reduce/Scan","text":"","category":"section"},{"location":"reference/collective/","page":"Collective communication","title":"Collective communication","text":"MPI.Reduce!\nMPI.Reduce\nMPI.Allreduce!\nMPI.Allreduce\nMPI.Scan!\nMPI.Scan\nMPI.Exscan!\nMPI.Exscan","category":"page"},{"location":"reference/collective/#MPI.Reduce!","page":"Collective communication","title":"MPI.Reduce!","text":"Reduce!(sendbuf, recvbuf, op, comm::Comm; root::Integer=0)\nReduce!(sendrecvbuf, op, comm::Comm; root::Integer=0)\n\nPerforms elementwise reduction using the operator op on the buffer sendbuf and stores the result in recvbuf on the process of rank root.\n\nOn non-root processes recvbuf is ignored, and can be nothing.\n\nTo perform the reduction in place, provide a single buffer sendrecvbuf.\n\nSee also\n\nReduce to handle allocation of the output buffer.\nAllreduce!/Allreduce to send reduction to all ranks.\nOp for details on reduction operators.\n\nExternal links\n\nMPI_Reduce man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Reduce","page":"Collective communication","title":"MPI.Reduce","text":"recvbuf = Reduce(sendbuf, op, comm::Comm; root::Integer=0)\n\nPerforms elementwise reduction using the operator op on the buffer sendbuf, returning the result recvbuf on the process of rank root, and nothing on non-root processes.\n\nsendbuf can also be a scalar, in which case recvbuf will be a value of the same type.\n\nSee also\n\nReduce! for mutating and in-place operations\nAllreduce!/Allreduce to send reduction to all ranks.\nOp for details on reduction operators.\n\nExternal links\n\nMPI_Reduce man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Allreduce!","page":"Collective communication","title":"MPI.Allreduce!","text":"Allreduce!(sendbuf, recvbuf, op, comm::Comm)\nAllreduce!(sendrecvbuf, op, comm::Comm)\n\nPerforms elementwise reduction using the operator op on the buffer sendbuf, storing the result in the recvbuf of all processes in the group.\n\nAllreduce! is equivalent to a Reduce! operation followed by a Bcast!, but can lead to better performance.\n\nIf only one sendrecvbuf buffer is provided, then the operation is performed in-place.\n\nSee also\n\nAllreduce, to handle allocation of the output buffer.\nReduce!/Reduce to send reduction to a single rank.\nOp for details on reduction operators.\n\nExternal links\n\nMPI_Allreduce man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Allreduce","page":"Collective communication","title":"MPI.Allreduce","text":"recvbuf = Allreduce(sendbuf, op, comm)\n\nPerforms elementwise reduction using the operator op on the buffer sendbuf, returning the result in the recvbuf of all processes in the group.\n\nsendbuf can also be a scalar, in which case recvbuf will be a value of the same type.\n\nSee also\n\nAllreduce! for mutating or in-place operations.\nReduce!/Reduce to send reduction to a single rank.\nOp for details on reduction operators.\n\nExternal links\n\nMPI_Allreduce man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Scan!","page":"Collective communication","title":"MPI.Scan!","text":"Scan!(sendbuf, recvbuf, op, comm::Comm)\nScan!(sendrecvbuf, op, comm::Comm)\n\nInclusive prefix reduction (analagous to accumulate in Julia): recvbuf on rank i will contain the the result of reducing sendbuf by op from ranks 0:i.\n\nIf only a single buffer sendrecvbuf is provided, then operations will be performed in-place.\n\nSee also\n\nScan to handle allocation of the output buffer\nExscan!/Exscan for exclusive scan\nOp for details on reduction operators.\n\nExternal links\n\nMPI_Scan man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Scan","page":"Collective communication","title":"MPI.Scan","text":"recvbuf = Scan(sendbuf, op, comm::Comm)\n\nInclusive prefix reduction (analagous to accumulate in Julia): recvbuf on rank i will contain the the result of reducing sendbuf by op from ranks 0:i.\n\nsendbuf can also be a scalar, in which case recvbuf will also be a scalar of the same type.\n\nSee also\n\nScan! for mutating or in-place operations\nExscan!/Exscan for exclusive scan\nOp for details on reduction operators.\n\nExternal links\n\nMPI_Scan man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Exscan!","page":"Collective communication","title":"MPI.Exscan!","text":"Exscan!(sendbuf, recvbuf, op, comm::Comm)\nExscan!(sendrecvbuf, op, comm::Comm)\n\nExclusive prefix reduction (analagous to accumulate in Julia): recvbuf on rank i will contain the the result of reducing sendbuf by op from ranks 0:i-1. The recvbuf on rank 0 is ignored, and the recvbuf on rank 1 will contain the contents of sendbuf on rank 0.\n\nIf only a single sendrecvbuf is provided, then operations are performed in-place, and buf on rank 0 will remain unchanged.\n\nSee also\n\nExscan to handle allocation of the output buffer\nScan!/Scan for inclusive scan\nOp for details on reduction operators.\n\nExternal links\n\nMPI_Exscan man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Exscan","page":"Collective communication","title":"MPI.Exscan","text":"recvbuf = Exscan(sendbuf, op, comm::Comm)\n\nExclusive prefix reduction (analagous to accumulate in Julia): recvbuf on rank i will contain the the result of reducing sendbuf by op from ranks 0:i-1. The recvbuf on rank 0 is undefined, and the recvbuf on rank 1 will contain the contents of sendbuf on rank 0.\n\nSee also\n\nExscan! for mutating and in-place operations\nScan!/Scan for inclusive scan\nOp for details on reduction operators.\n\nExternal links\n\nMPI_Scan man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"#MPI.jl","page":"MPI.jl","title":"MPI.jl","text":"","category":"section"},{"location":"","page":"MPI.jl","title":"MPI.jl","text":"This is a basic Julia wrapper for the portable message passing system Message Passing Interface (MPI). Inspiration is taken from mpi4py, although we generally follow the C and not the C++ MPI API. (The C++ MPI API is deprecated.)","category":"page"},{"location":"","page":"MPI.jl","title":"MPI.jl","text":"If you use MPI.jl in your work, please cite the following paper:","category":"page"},{"location":"","page":"MPI.jl","title":"MPI.jl","text":"Simon Byrne, Lucas C. Wilcox, and Valentin Churavy (2021) \"MPI.jl: Julia bindings for the Message Passing Interface\". JuliaCon Proceedings, 1(1), 68, doi: 10.21105/jcon.00068","category":"page"}]
-}
diff --git a/previews/PR645/siteinfo.js b/previews/PR645/siteinfo.js
deleted file mode 100644
index aa758b87b..000000000
--- a/previews/PR645/siteinfo.js
+++ /dev/null
@@ -1 +0,0 @@
-var DOCUMENTER_CURRENT_VERSION = "previews/PR645";
diff --git a/previews/PR645/usage/index.html b/previews/PR645/usage/index.html
deleted file mode 100644
index 4bc24adc4..000000000
--- a/previews/PR645/usage/index.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Usage · MPI.jl</title><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../"><img src="../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../">MPI.jl</a></span></div><form class="docs-search" action="../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../">MPI.jl</a></li><li><a class="tocitem" href="../configuration/">Configuration</a></li><li class="is-active"><a class="tocitem" href>Usage</a><ul class="internal"><li><a class="tocitem" href="#Basic-example"><span>Basic example</span></a></li><li><a class="tocitem" href="#Julia-wrapper-for-mpiexec"><span>Julia wrapper for <code>mpiexec</code></span></a></li><li><a class="tocitem" href="#CUDA-aware-MPI-support"><span>CUDA-aware MPI support</span></a></li><li><a class="tocitem" href="#ROCm-aware-MPI-support"><span>ROCm-aware MPI support</span></a></li><li><a class="tocitem" href="#Writing-MPI-tests"><span>Writing MPI tests</span></a></li></ul></li><li><a class="tocitem" href="../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../reference/library/">Library information</a></li><li><a class="tocitem" href="../reference/environment/">Environment</a></li><li><a class="tocitem" href="../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../reference/topology/">Topology</a></li><li><a class="tocitem" href="../reference/io/">I/O</a></li><li><a class="tocitem" href="../reference/advanced/">Advanced</a></li></ul></li><li><a class="tocitem" href="../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>Usage</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Usage</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/usage.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Usage"><a class="docs-heading-anchor" href="#Usage">Usage</a><a id="Usage-1"></a><a class="docs-heading-anchor-permalink" href="#Usage" title="Permalink"></a></h1><p>MPI is based on a <a href="https://en.wikipedia.org/wiki/SPMD">single program, multiple data (SPMD)</a> model, where multiple processes are launched running independent programs, which then communicate as necessary via messages.</p><h2 id="Basic-example"><a class="docs-heading-anchor" href="#Basic-example">Basic example</a><a id="Basic-example-1"></a><a class="docs-heading-anchor-permalink" href="#Basic-example" title="Permalink"></a></h2><p>A script should include <code>using MPI</code> and <a href="../reference/environment/#MPI.Init"><code>MPI.Init()</code></a> statements before calling any MPI operations, for example</p><pre><code class="language-julia hljs"># examples/01-hello.jl
-using MPI
-MPI.Init()
-
-comm = MPI.COMM_WORLD
-println(&quot;Hello world, I am $(MPI.Comm_rank(comm)) of $(MPI.Comm_size(comm))&quot;)
-MPI.Barrier(comm)</code></pre><p>Calling <a href="../reference/environment/#MPI.Finalize"><code>MPI.Finalize()</code></a> at the end of the program is optional, as it will be called automatically when Julia exits.</p><p>The program can then be launched via an MPI launch command (typically <code>mpiexec</code>, <code>mpirun</code> or <code>srun</code>), e.g.</p><pre><code class="nohighlight hljs">$ mpiexec -n 3 julia --project examples/01-hello.jl
-Hello world, I am rank 0 of 3
-Hello world, I am rank 2 of 3
-Hello world, I am rank 1 of 3</code></pre><p>The <a href="../reference/environment/#MPICH_jll.mpiexec"><code>mpiexec</code></a> function is provided for launching MPI programs from Julia itself.</p><h2 id="Julia-wrapper-for-mpiexec"><a class="docs-heading-anchor" href="#Julia-wrapper-for-mpiexec">Julia wrapper for <code>mpiexec</code></a><a id="Julia-wrapper-for-mpiexec-1"></a><a class="docs-heading-anchor-permalink" href="#Julia-wrapper-for-mpiexec" title="Permalink"></a></h2><p>Since you can configure <code>MPI.jl</code> to use one of several MPI implementations, you may have different Julia projects using different implementation.  Thus, it may be cumbersome to find out which <code>mpiexec</code> executable is associated to a specific project.  To make this easy, on Unix-based systems <code>MPI.jl</code> comes with a thin project-aware wrapper around <code>mpiexec</code>, called <code>mpiexecjl</code>.</p><h3 id="Installation"><a class="docs-heading-anchor" href="#Installation">Installation</a><a id="Installation-1"></a><a class="docs-heading-anchor-permalink" href="#Installation" title="Permalink"></a></h3><p>You can install <code>mpiexecjl</code> with <a href="../reference/environment/#MPI.install_mpiexecjl"><code>MPI.install_mpiexecjl()</code></a>.  The default destination directory is <code>joinpath(DEPOT_PATH[1], &quot;bin&quot;)</code>, which usually translates to <code>~/.julia/bin</code>, but check the value on your system.  You can also tell <code>MPI.install_mpiexecjl</code> to install to a different directory.</p><pre><code class="language-sh hljs">$ julia
-julia&gt; using MPI
-julia&gt; MPI.install_mpiexecjl()</code></pre><p>To quickly call this wrapper we recommend you to add the destination directory to your <a href="https://en.wikipedia.org/wiki/PATH_(variable)"><code>PATH</code></a> environment variable.</p><h3 id="Usage-2"><a class="docs-heading-anchor" href="#Usage-2">Usage</a><a class="docs-heading-anchor-permalink" href="#Usage-2" title="Permalink"></a></h3><p><code>mpiexecjl</code> has the same syntax as the <code>mpiexec</code> binary that will be called, but it takes in addition a <code>--project</code> option to call the specific binary associated to the <code>MPI.jl</code> version in the given project.  If no <code>--project</code> flag is used, the <code>MPI.jl</code> in the global Julia environment will be used instead.</p><p>After installing <code>mpiexecjl</code> and adding its directory to <code>PATH</code>, you can run it with:</p><pre><code class="language-sh hljs">$ mpiexecjl --project=/path/to/project -n 20 julia script.jl</code></pre><h2 id="CUDA-aware-MPI-support"><a class="docs-heading-anchor" href="#CUDA-aware-MPI-support">CUDA-aware MPI support</a><a id="CUDA-aware-MPI-support-1"></a><a class="docs-heading-anchor-permalink" href="#CUDA-aware-MPI-support" title="Permalink"></a></h2><p>If your MPI implementation has been compiled with CUDA support, then <code>CUDA.CuArray</code>s (from the <a href="https://github.com/JuliaGPU/CUDA.jl">CUDA.jl</a> package) can be passed directly as send and receive buffers for point-to-point and collective operations (they may also work with one-sided operations, but these are not often supported).</p><p>Successfully running the <a href="https://gist.github.com/luraess/0063e90cb08eb2208b7fe204bbd90ed2">alltoall_test_cuda.jl</a>  should confirm your MPI implementation to have the CUDA support enabled. Moreover, successfully running the  <a href="https://gist.github.com/luraess/ed93cc09ba04fe16f63b4219c1811566">alltoall_test_cuda_multigpu.jl</a> should confirm  your CUDA-aware MPI implementation to use multiple Nvidia GPUs (one GPU per rank).</p><p>If using OpenMPI, the status of CUDA support can be checked via the <a href="../reference/library/#MPI.has_cuda"><code>MPI.has_cuda()</code></a> function.</p><h2 id="ROCm-aware-MPI-support"><a class="docs-heading-anchor" href="#ROCm-aware-MPI-support">ROCm-aware MPI support</a><a id="ROCm-aware-MPI-support-1"></a><a class="docs-heading-anchor-permalink" href="#ROCm-aware-MPI-support" title="Permalink"></a></h2><p>If your MPI implementation has been compiled with ROCm support (AMDGPU), then <code>AMDGPU.ROCArray</code>s (from the <a href="https://github.com/JuliaGPU/AMDGPU.jl">AMDGPU.jl</a> package) can be passed directly as send and receive buffers for point-to-point and collective operations (they may also work with one-sided operations, but these are not often supported).</p><p>Successfully running the <a href="https://gist.github.com/luraess/c228ec08629737888a18c6a1e397643c">alltoall_test_rocm.jl</a>  should confirm your MPI implementation to have the ROCm support (AMDGPU) enabled. Moreover, successfully running the  <a href="https://gist.github.com/luraess/a47931d7fb668bd4348a2c730d5489f4">alltoall_test_rocm_multigpu.jl</a> should confirm  your ROCm-aware MPI implementation to use multiple AMD GPUs (one GPU per rank).</p><p>The status of ROCm (AMDGPU) support cannot currently be queried.</p><h2 id="Writing-MPI-tests"><a class="docs-heading-anchor" href="#Writing-MPI-tests">Writing MPI tests</a><a id="Writing-MPI-tests-1"></a><a class="docs-heading-anchor-permalink" href="#Writing-MPI-tests" title="Permalink"></a></h2><p>It is recommended to use the <code>mpiexec()</code> wrapper when writing your package tests in <code>runtests.jl</code>:</p><pre><code class="language-julia hljs"># test/runtests.jl
-using MPI
-using Test
-
-@testset &quot;hello&quot; begin
-    n = 2  # number of processes
-    mpiexec() do exe  # MPI wrapper
-        run(`$exe -n $n $(Base.julia_cmd()) [...]/01-hello.jl`)
-        # alternatively:
-        # p = run(ignorestatus(`...`))
-        # @test success(p)
-    end
-end</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../configuration/">« Configuration</a><a class="docs-footer-nextpage" href="../knownissues/">Known issues »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Thursday 29 September 2022 17:33">Thursday 29 September 2022</span>. Using Julia version 1.8.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR676/assets/documenter.js b/previews/PR676/assets/documenter.js
deleted file mode 100644
index 6adfbbbf4..000000000
--- a/previews/PR676/assets/documenter.js
+++ /dev/null
@@ -1,331 +0,0 @@
-// Generated by Documenter.jl
-requirejs.config({
-  paths: {
-    'highlight-julia': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.5.1/languages/julia.min',
-    'headroom': 'https://cdnjs.cloudflare.com/ajax/libs/headroom/0.12.0/headroom.min',
-    'jqueryui': 'https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min',
-    'katex-auto-render': 'https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/contrib/auto-render.min',
-    'jquery': 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min',
-    'headroom-jquery': 'https://cdnjs.cloudflare.com/ajax/libs/headroom/0.12.0/jQuery.headroom.min',
-    'katex': 'https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min',
-    'highlight': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.5.1/highlight.min',
-    'highlight-julia-repl': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.5.1/languages/julia-repl.min',
-  },
-  shim: {
-  "highlight-julia": {
-    "deps": [
-      "highlight"
-    ]
-  },
-  "katex-auto-render": {
-    "deps": [
-      "katex"
-    ]
-  },
-  "headroom-jquery": {
-    "deps": [
-      "jquery",
-      "headroom"
-    ]
-  },
-  "highlight-julia-repl": {
-    "deps": [
-      "highlight"
-    ]
-  }
-}
-});
-////////////////////////////////////////////////////////////////////////////////
-require(['jquery', 'katex', 'katex-auto-render'], function($, katex, renderMathInElement) {
-$(document).ready(function() {
-  renderMathInElement(
-    document.body,
-    {
-  "delimiters": [
-    {
-      "left": "$",
-      "right": "$",
-      "display": false
-    },
-    {
-      "left": "$$",
-      "right": "$$",
-      "display": true
-    },
-    {
-      "left": "\\[",
-      "right": "\\]",
-      "display": true
-    }
-  ]
-}
-
-  );
-})
-
-})
-////////////////////////////////////////////////////////////////////////////////
-require(['jquery', 'highlight', 'highlight-julia', 'highlight-julia-repl'], function($) {
-$(document).ready(function() {
-    hljs.highlightAll();
-})
-
-})
-////////////////////////////////////////////////////////////////////////////////
-require([], function() {
-function addCopyButtonCallbacks() {
-  for (const el of document.getElementsByTagName("pre")) {
-    const button = document.createElement("button");
-    button.classList.add("copy-button", "fas", "fa-copy");
-    el.appendChild(button);
-
-    const success = function () {
-      button.classList.add("success", "fa-check");
-      button.classList.remove("fa-copy");
-    };
-
-    const failure = function () {
-      button.classList.add("error", "fa-times");
-      button.classList.remove("fa-copy");
-    };
-
-    button.addEventListener("click", function () {
-      copyToClipboard(el.innerText).then(success, failure);
-
-      setTimeout(function () {
-        button.classList.add("fa-copy");
-        button.classList.remove("success", "fa-check", "fa-times");
-      }, 5000);
-    });
-  }
-}
-
-function copyToClipboard(text) {
-  // clipboard API is only available in secure contexts
-  if (window.navigator && window.navigator.clipboard) {
-    return window.navigator.clipboard.writeText(text);
-  } else {
-    return new Promise(function (resolve, reject) {
-      try {
-        const el = document.createElement("textarea");
-        el.textContent = text;
-        el.style.position = "fixed";
-        el.style.opacity = 0;
-        document.body.appendChild(el);
-        el.select();
-        document.execCommand("copy");
-
-        resolve();
-      } catch (err) {
-        reject(err);
-      } finally {
-        document.body.removeChild(el);
-      }
-    });
-  }
-}
-
-if (document.readyState === "loading") {
-  document.addEventListener("DOMContentLoaded", addCopyButtonCallbacks);
-} else {
-  addCopyButtonCallbacks();
-}
-
-})
-////////////////////////////////////////////////////////////////////////////////
-require(['jquery', 'headroom', 'headroom-jquery'], function($, Headroom) {
-
-// Manages the top navigation bar (hides it when the user starts scrolling down on the
-// mobile).
-window.Headroom = Headroom; // work around buggy module loading?
-$(document).ready(function() {
-  $('#documenter .docs-navbar').headroom({
-    "tolerance": {"up": 10, "down": 10},
-  });
-})
-
-})
-////////////////////////////////////////////////////////////////////////////////
-require(['jquery'], function($) {
-
-// Modal settings dialog
-$(document).ready(function() {
-  var settings = $('#documenter-settings');
-  $('#documenter-settings-button').click(function(){
-    settings.toggleClass('is-active');
-  });
-  // Close the dialog if X is clicked
-  $('#documenter-settings button.delete').click(function(){
-    settings.removeClass('is-active');
-  });
-  // Close dialog if ESC is pressed
-  $(document).keyup(function(e) {
-    if (e.keyCode == 27) settings.removeClass('is-active');
-  });
-});
-
-})
-////////////////////////////////////////////////////////////////////////////////
-require(['jquery'], function($) {
-
-// Manages the showing and hiding of the sidebar.
-$(document).ready(function() {
-  var sidebar = $("#documenter > .docs-sidebar");
-  var sidebar_button = $("#documenter-sidebar-button")
-  sidebar_button.click(function(ev) {
-    ev.preventDefault();
-    sidebar.toggleClass('visible');
-    if (sidebar.hasClass('visible')) {
-      // Makes sure that the current menu item is visible in the sidebar.
-      $("#documenter .docs-menu a.is-active").focus();
-    }
-  });
-  $("#documenter > .docs-main").bind('click', function(ev) {
-    if ($(ev.target).is(sidebar_button)) {
-      return;
-    }
-    if (sidebar.hasClass('visible')) {
-      sidebar.removeClass('visible');
-    }
-  });
-})
-
-// Resizes the package name / sitename in the sidebar if it is too wide.
-// Inspired by: https://github.com/davatron5000/FitText.js
-$(document).ready(function() {
-  e = $("#documenter .docs-autofit");
-  function resize() {
-    var L = parseInt(e.css('max-width'), 10);
-    var L0 = e.width();
-    if(L0 > L) {
-      var h0 = parseInt(e.css('font-size'), 10);
-      e.css('font-size', L * h0 / L0);
-      // TODO: make sure it survives resizes?
-    }
-  }
-  // call once and then register events
-  resize();
-  $(window).resize(resize);
-  $(window).on('orientationchange', resize);
-});
-
-// Scroll the navigation bar to the currently selected menu item
-$(document).ready(function() {
-  var sidebar = $("#documenter .docs-menu").get(0);
-  var active = $("#documenter .docs-menu .is-active").get(0);
-  if(typeof active !== 'undefined') {
-    sidebar.scrollTop = active.offsetTop - sidebar.offsetTop - 15;
-  }
-})
-
-})
-////////////////////////////////////////////////////////////////////////////////
-require(['jquery'], function($) {
-
-function set_theme(theme) {
-  var active = null;
-  var disabled = [];
-  for (var i = 0; i < document.styleSheets.length; i++) {
-    var ss = document.styleSheets[i];
-    var themename = ss.ownerNode.getAttribute("data-theme-name");
-    if(themename === null) continue; // ignore non-theme stylesheets
-    // Find the active theme
-    if(themename === theme) active = ss;
-    else disabled.push(ss);
-  }
-  if(active !== null) {
-    active.disabled = false;
-    if(active.ownerNode.getAttribute("data-theme-primary") === null) {
-      document.getElementsByTagName('html')[0].className = "theme--" + theme;
-    } else {
-      document.getElementsByTagName('html')[0].className = "";
-    }
-    disabled.forEach(function(ss){
-      ss.disabled = true;
-    });
-  }
-
-  // Store the theme in localStorage
-  if(typeof(window.localStorage) !== "undefined") {
-    window.localStorage.setItem("documenter-theme", theme);
-  } else {
-    console.error("Browser does not support window.localStorage");
-  }
-}
-
-// Theme picker setup
-$(document).ready(function() {
-  // onchange callback
-  $('#documenter-themepicker').change(function themepick_callback(ev){
-    var themename = $('#documenter-themepicker option:selected').attr('value');
-    set_theme(themename);
-  });
-
-  // Make sure that the themepicker displays the correct theme when the theme is retrieved
-  // from localStorage
-  if(typeof(window.localStorage) !== "undefined") {
-    var theme =  window.localStorage.getItem("documenter-theme");
-    if(theme !== null) {
-      $('#documenter-themepicker option').each(function(i,e) {
-        e.selected = (e.value === theme);
-      })
-    } else {
-      $('#documenter-themepicker option').each(function(i,e) {
-        e.selected = $("html").hasClass(`theme--${e.value}`);
-      })
-    }
-  }
-})
-
-})
-////////////////////////////////////////////////////////////////////////////////
-require(['jquery'], function($) {
-
-// update the version selector with info from the siteinfo.js and ../versions.js files
-$(document).ready(function() {
-  // If the version selector is disabled with DOCUMENTER_VERSION_SELECTOR_DISABLED in the
-  // siteinfo.js file, we just return immediately and not display the version selector.
-  if (typeof DOCUMENTER_VERSION_SELECTOR_DISABLED === 'boolean' && DOCUMENTER_VERSION_SELECTOR_DISABLED) {
-    return;
-  }
-
-  var version_selector = $("#documenter .docs-version-selector");
-  var version_selector_select = $("#documenter .docs-version-selector select");
-
-  version_selector_select.change(function(x) {
-    target_href = version_selector_select.children("option:selected").get(0).value;
-    window.location.href = target_href;
-  });
-
-  // add the current version to the selector based on siteinfo.js, but only if the selector is empty
-  if (typeof DOCUMENTER_CURRENT_VERSION !== 'undefined' && $('#version-selector > option').length == 0) {
-    var option = $("<option value='#' selected='selected'>" + DOCUMENTER_CURRENT_VERSION + "</option>");
-    version_selector_select.append(option);
-  }
-
-  if (typeof DOC_VERSIONS !== 'undefined') {
-    var existing_versions = version_selector_select.children("option");
-    var existing_versions_texts = existing_versions.map(function(i,x){return x.text});
-    DOC_VERSIONS.forEach(function(each) {
-      var version_url = documenterBaseURL + "/../" + each;
-      var existing_id = $.inArray(each, existing_versions_texts);
-      // if not already in the version selector, add it as a new option,
-      // otherwise update the old option with the URL and enable it
-      if (existing_id == -1) {
-        var option = $("<option value='" + version_url + "'>" + each + "</option>");
-        version_selector_select.append(option);
-      } else {
-        var option = existing_versions[existing_id];
-        option.value = version_url;
-        option.disabled = false;
-      }
-    });
-  }
-
-  // only show the version selector if the selector has been populated
-  if (version_selector_select.children("option").length > 0) {
-    version_selector.toggleClass("visible");
-  }
-})
-
-})
diff --git a/previews/PR676/assets/logo.svg b/previews/PR676/assets/logo.svg
deleted file mode 100644
index 0b01097a2..000000000
--- a/previews/PR676/assets/logo.svg
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   inkscape:version="1.0rc1 (09960d6, 2020-04-09)"
-   sodipodi:docname="mpi_jl.svg"
-   viewBox="0 0 275.6608 198.06421"
-   height="198.06421"
-   width="275.6608"
-   id="svg80"
-   version="1.1">
-  <metadata
-     id="metadata86">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title></dc:title>
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <defs
-     id="defs84" />
-  <sodipodi:namedview
-     inkscape:current-layer="g88"
-     inkscape:window-maximized="0"
-     inkscape:window-y="44"
-     inkscape:window-x="1763"
-     inkscape:cy="145.35694"
-     inkscape:cx="280.32616"
-     inkscape:zoom="1.1"
-     showgrid="false"
-     id="namedview82"
-     inkscape:window-height="853"
-     inkscape:window-width="1418"
-     inkscape:pageshadow="2"
-     inkscape:pageopacity="0"
-     guidetolerance="10"
-     gridtolerance="10"
-     objecttolerance="10"
-     borderopacity="1"
-     bordercolor="#666666"
-     pagecolor="#ffffff" />
-  <g
-     id="g88"
-     inkscape:label="Image"
-     inkscape:groupmode="layer">
-    <rect
-       transform="matrix(0.99981558,0.01920454,-0.32803664,0.944665,0,0)"
-       y="-2.7273855"
-       x="134.15919"
-       height="141.78041"
-       width="140.65759"
-       id="rect94-6-7"
-       style="fill:#9558b2;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.13111" />
-    <rect
-       style="fill:#389826;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.13111;stroke-opacity:1"
-       id="rect94-6"
-       width="140.65759"
-       height="141.78041"
-       x="100.75105"
-       y="30.745317"
-       transform="matrix(0.99981558,0.01920454,-0.32803664,0.944665,0,0)" />
-    <rect
-       transform="matrix(0.99981558,0.01920454,-0.32803664,0.944665,0,0)"
-       y="63.65591"
-       x="67.403069"
-       height="141.78041"
-       width="140.65759"
-       id="rect94"
-       style="fill:#cb3c33;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.13111" />
-  </g>
-</svg>
diff --git a/previews/PR676/assets/search.js b/previews/PR676/assets/search.js
deleted file mode 100644
index c133f7410..000000000
--- a/previews/PR676/assets/search.js
+++ /dev/null
@@ -1,267 +0,0 @@
-// Generated by Documenter.jl
-requirejs.config({
-  paths: {
-    'lunr': 'https://cdnjs.cloudflare.com/ajax/libs/lunr.js/2.3.9/lunr.min',
-    'lodash': 'https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min',
-    'jquery': 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min',
-  }
-});
-////////////////////////////////////////////////////////////////////////////////
-require(['jquery', 'lunr', 'lodash'], function($, lunr, _) {
-
-$(document).ready(function() {
-  // parseUri 1.2.2
-  // (c) Steven Levithan <stevenlevithan.com>
-  // MIT License
-  function parseUri (str) {
-    var  o   = parseUri.options,
-      m   = o.parser[o.strictMode ? "strict" : "loose"].exec(str),
-      uri = {},
-      i   = 14;
-
-    while (i--) uri[o.key[i]] = m[i] || "";
-
-    uri[o.q.name] = {};
-    uri[o.key[12]].replace(o.q.parser, function ($0, $1, $2) {
-      if ($1) uri[o.q.name][$1] = $2;
-    });
-
-    return uri;
-  };
-  parseUri.options = {
-    strictMode: false,
-    key: ["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],
-    q:   {
-      name:   "queryKey",
-      parser: /(?:^|&)([^&=]*)=?([^&]*)/g
-    },
-    parser: {
-      strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,
-      loose:  /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/
-    }
-  };
-
-  $("#search-form").submit(function(e) {
-    e.preventDefault()
-  })
-
-  // list below is the lunr 2.1.3 list minus the intersect with names(Base)
-  // (all, any, get, in, is, only, which) and (do, else, for, let, where, while, with)
-  // ideally we'd just filter the original list but it's not available as a variable
-  lunr.stopWordFilter = lunr.generateStopWordFilter([
-    'a',
-    'able',
-    'about',
-    'across',
-    'after',
-    'almost',
-    'also',
-    'am',
-    'among',
-    'an',
-    'and',
-    'are',
-    'as',
-    'at',
-    'be',
-    'because',
-    'been',
-    'but',
-    'by',
-    'can',
-    'cannot',
-    'could',
-    'dear',
-    'did',
-    'does',
-    'either',
-    'ever',
-    'every',
-    'from',
-    'got',
-    'had',
-    'has',
-    'have',
-    'he',
-    'her',
-    'hers',
-    'him',
-    'his',
-    'how',
-    'however',
-    'i',
-    'if',
-    'into',
-    'it',
-    'its',
-    'just',
-    'least',
-    'like',
-    'likely',
-    'may',
-    'me',
-    'might',
-    'most',
-    'must',
-    'my',
-    'neither',
-    'no',
-    'nor',
-    'not',
-    'of',
-    'off',
-    'often',
-    'on',
-    'or',
-    'other',
-    'our',
-    'own',
-    'rather',
-    'said',
-    'say',
-    'says',
-    'she',
-    'should',
-    'since',
-    'so',
-    'some',
-    'than',
-    'that',
-    'the',
-    'their',
-    'them',
-    'then',
-    'there',
-    'these',
-    'they',
-    'this',
-    'tis',
-    'to',
-    'too',
-    'twas',
-    'us',
-    'wants',
-    'was',
-    'we',
-    'were',
-    'what',
-    'when',
-    'who',
-    'whom',
-    'why',
-    'will',
-    'would',
-    'yet',
-    'you',
-    'your'
-  ])
-
-  // add . as a separator, because otherwise "title": "Documenter.Anchors.add!"
-  // would not find anything if searching for "add!", only for the entire qualification
-  lunr.tokenizer.separator = /[\s\-\.]+/
-
-  // custom trimmer that doesn't strip @ and !, which are used in julia macro and function names
-  lunr.trimmer = function (token) {
-    return token.update(function (s) {
-      return s.replace(/^[^a-zA-Z0-9@!]+/, '').replace(/[^a-zA-Z0-9@!]+$/, '')
-    })
-  }
-
-  lunr.Pipeline.registerFunction(lunr.stopWordFilter, 'juliaStopWordFilter')
-  lunr.Pipeline.registerFunction(lunr.trimmer, 'juliaTrimmer')
-
-  var index = lunr(function () {
-    this.ref('location')
-    this.field('title',{boost: 100})
-    this.field('text')
-    documenterSearchIndex['docs'].forEach(function(e) {
-        this.add(e)
-    }, this)
-  })
-  var store = {}
-
-  documenterSearchIndex['docs'].forEach(function(e) {
-      store[e.location] = {title: e.title, category: e.category, page: e.page}
-  })
-
-  $(function(){
-    searchresults = $('#documenter-search-results');
-    searchinfo = $('#documenter-search-info');
-    searchbox = $('#documenter-search-query');
-    searchform = $('.docs-search');
-    sidebar = $('.docs-sidebar');
-    function update_search(querystring) {
-      tokens = lunr.tokenizer(querystring)
-      results = index.query(function (q) {
-        tokens.forEach(function (t) {
-          q.term(t.toString(), {
-            fields: ["title"],
-            boost: 100,
-            usePipeline: true,
-            editDistance: 0,
-            wildcard: lunr.Query.wildcard.NONE
-          })
-          q.term(t.toString(), {
-            fields: ["title"],
-            boost: 10,
-            usePipeline: true,
-            editDistance: 2,
-            wildcard: lunr.Query.wildcard.NONE
-          })
-          q.term(t.toString(), {
-            fields: ["text"],
-            boost: 1,
-            usePipeline: true,
-            editDistance: 0,
-            wildcard: lunr.Query.wildcard.NONE
-          })
-        })
-      })
-      searchinfo.text("Number of results: " + results.length)
-      searchresults.empty()
-      results.forEach(function(result) {
-        data = store[result.ref]
-        link = $('<a class="docs-label">'+data.title+'</a>')
-        link.attr('href', documenterBaseURL+'/'+result.ref)
-        if (data.category != "page"){
-          cat = $('<span class="docs-category">('+data.category+', '+data.page+')</span>')
-        } else {
-          cat = $('<span class="docs-category">('+data.category+')</span>')
-        }
-        li = $('<li>').append(link).append(" ").append(cat)
-        searchresults.append(li)
-      })
-    }
-
-    function update_search_box() {
-      querystring = searchbox.val()
-      update_search(querystring)
-    }
-
-    searchbox.keyup(_.debounce(update_search_box, 250))
-    searchbox.change(update_search_box)
-
-    // Disable enter-key form submission for the searchbox on the search page
-    // and just re-run search rather than refresh the whole page.
-    searchform.keypress(
-      function(event){
-        if (event.which == '13') {
-          if (sidebar.hasClass('visible')) {
-            sidebar.removeClass('visible');
-          }
-          update_search_box();
-          event.preventDefault();
-        }
-      }
-    );
-
-    search_query_uri = parseUri(window.location).queryKey["q"]
-    if(search_query_uri !== undefined) {
-      search_query = decodeURIComponent(search_query_uri.replace(/\+/g, '%20'))
-      searchbox.val(search_query)
-    }
-    update_search_box();
-  })
-})
-
-})
diff --git a/previews/PR676/assets/themes/documenter-dark.css b/previews/PR676/assets/themes/documenter-dark.css
deleted file mode 100644
index 0bf1af7d5..000000000
--- a/previews/PR676/assets/themes/documenter-dark.css
+++ /dev/null
@@ -1,7702 +0,0 @@
-@charset "UTF-8";
-/* Font Awesome 5 mixin. Can be included in any rule that should render Font Awesome icons. */
-@keyframes spinAround {
-  from {
-    transform: rotate(0deg); }
-  to {
-    transform: rotate(359deg); } }
-
-html.theme--documenter-dark .tabs, html.theme--documenter-dark .pagination-previous,
-html.theme--documenter-dark .pagination-next,
-html.theme--documenter-dark .pagination-link,
-html.theme--documenter-dark .pagination-ellipsis, html.theme--documenter-dark .breadcrumb, html.theme--documenter-dark .file, html.theme--documenter-dark .button, .is-unselectable, html.theme--documenter-dark .modal-close, html.theme--documenter-dark .delete {
-  -webkit-touch-callout: none;
-  -webkit-user-select: none;
-  -moz-user-select: none;
-  -ms-user-select: none;
-  user-select: none; }
-
-html.theme--documenter-dark .navbar-link:not(.is-arrowless)::after, html.theme--documenter-dark .select:not(.is-multiple):not(.is-loading)::after {
-  border: 3px solid transparent;
-  border-radius: 2px;
-  border-right: 0;
-  border-top: 0;
-  content: " ";
-  display: block;
-  height: 0.625em;
-  margin-top: -0.4375em;
-  pointer-events: none;
-  position: absolute;
-  top: 50%;
-  transform: rotate(-45deg);
-  transform-origin: center;
-  width: 0.625em; }
-
-html.theme--documenter-dark .admonition:not(:last-child), html.theme--documenter-dark .tabs:not(:last-child), html.theme--documenter-dark .message:not(:last-child), html.theme--documenter-dark .list:not(:last-child), html.theme--documenter-dark .level:not(:last-child), html.theme--documenter-dark .breadcrumb:not(:last-child), html.theme--documenter-dark .highlight:not(:last-child), html.theme--documenter-dark .block:not(:last-child), html.theme--documenter-dark .title:not(:last-child),
-html.theme--documenter-dark .subtitle:not(:last-child), html.theme--documenter-dark .table-container:not(:last-child), html.theme--documenter-dark .table:not(:last-child), html.theme--documenter-dark .progress:not(:last-child), html.theme--documenter-dark .notification:not(:last-child), html.theme--documenter-dark .content:not(:last-child), html.theme--documenter-dark .box:not(:last-child) {
-  margin-bottom: 1.5rem; }
-
-html.theme--documenter-dark .modal-close, html.theme--documenter-dark .delete {
-  -moz-appearance: none;
-  -webkit-appearance: none;
-  background-color: rgba(10, 10, 10, 0.2);
-  border: none;
-  border-radius: 290486px;
-  cursor: pointer;
-  pointer-events: auto;
-  display: inline-block;
-  flex-grow: 0;
-  flex-shrink: 0;
-  font-size: 0;
-  height: 20px;
-  max-height: 20px;
-  max-width: 20px;
-  min-height: 20px;
-  min-width: 20px;
-  outline: none;
-  position: relative;
-  vertical-align: top;
-  width: 20px; }
-  html.theme--documenter-dark .modal-close::before, html.theme--documenter-dark .delete::before, html.theme--documenter-dark .modal-close::after, html.theme--documenter-dark .delete::after {
-    background-color: white;
-    content: "";
-    display: block;
-    left: 50%;
-    position: absolute;
-    top: 50%;
-    transform: translateX(-50%) translateY(-50%) rotate(45deg);
-    transform-origin: center center; }
-  html.theme--documenter-dark .modal-close::before, html.theme--documenter-dark .delete::before {
-    height: 2px;
-    width: 50%; }
-  html.theme--documenter-dark .modal-close::after, html.theme--documenter-dark .delete::after {
-    height: 50%;
-    width: 2px; }
-  html.theme--documenter-dark .modal-close:hover, html.theme--documenter-dark .delete:hover, html.theme--documenter-dark .modal-close:focus, html.theme--documenter-dark .delete:focus {
-    background-color: rgba(10, 10, 10, 0.3); }
-  html.theme--documenter-dark .modal-close:active, html.theme--documenter-dark .delete:active {
-    background-color: rgba(10, 10, 10, 0.4); }
-  html.theme--documenter-dark .is-small.modal-close, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.modal-close, html.theme--documenter-dark .is-small.delete, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.delete {
-    height: 16px;
-    max-height: 16px;
-    max-width: 16px;
-    min-height: 16px;
-    min-width: 16px;
-    width: 16px; }
-  html.theme--documenter-dark .is-medium.modal-close, html.theme--documenter-dark .is-medium.delete {
-    height: 24px;
-    max-height: 24px;
-    max-width: 24px;
-    min-height: 24px;
-    min-width: 24px;
-    width: 24px; }
-  html.theme--documenter-dark .is-large.modal-close, html.theme--documenter-dark .is-large.delete {
-    height: 32px;
-    max-height: 32px;
-    max-width: 32px;
-    min-height: 32px;
-    min-width: 32px;
-    width: 32px; }
-
-html.theme--documenter-dark .control.is-loading::after, html.theme--documenter-dark .select.is-loading::after, html.theme--documenter-dark .loader, html.theme--documenter-dark .button.is-loading::after {
-  animation: spinAround 500ms infinite linear;
-  border: 2px solid #dbdee0;
-  border-radius: 290486px;
-  border-right-color: transparent;
-  border-top-color: transparent;
-  content: "";
-  display: block;
-  height: 1em;
-  position: relative;
-  width: 1em; }
-
-html.theme--documenter-dark .hero-video, html.theme--documenter-dark .modal-background, html.theme--documenter-dark .modal, html.theme--documenter-dark .image.is-square img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-square img,
-html.theme--documenter-dark .image.is-square .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-square .has-ratio, html.theme--documenter-dark .image.is-1by1 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by1 img,
-html.theme--documenter-dark .image.is-1by1 .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by1 .has-ratio, html.theme--documenter-dark .image.is-5by4 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by4 img,
-html.theme--documenter-dark .image.is-5by4 .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by4 .has-ratio, html.theme--documenter-dark .image.is-4by3 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by3 img,
-html.theme--documenter-dark .image.is-4by3 .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by3 .has-ratio, html.theme--documenter-dark .image.is-3by2 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by2 img,
-html.theme--documenter-dark .image.is-3by2 .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by2 .has-ratio, html.theme--documenter-dark .image.is-5by3 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by3 img,
-html.theme--documenter-dark .image.is-5by3 .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by3 .has-ratio, html.theme--documenter-dark .image.is-16by9 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-16by9 img,
-html.theme--documenter-dark .image.is-16by9 .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-16by9 .has-ratio, html.theme--documenter-dark .image.is-2by1 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by1 img,
-html.theme--documenter-dark .image.is-2by1 .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by1 .has-ratio, html.theme--documenter-dark .image.is-3by1 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by1 img,
-html.theme--documenter-dark .image.is-3by1 .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by1 .has-ratio, html.theme--documenter-dark .image.is-4by5 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by5 img,
-html.theme--documenter-dark .image.is-4by5 .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by5 .has-ratio, html.theme--documenter-dark .image.is-3by4 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by4 img,
-html.theme--documenter-dark .image.is-3by4 .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by4 .has-ratio, html.theme--documenter-dark .image.is-2by3 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by3 img,
-html.theme--documenter-dark .image.is-2by3 .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by3 .has-ratio, html.theme--documenter-dark .image.is-3by5 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by5 img,
-html.theme--documenter-dark .image.is-3by5 .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by5 .has-ratio, html.theme--documenter-dark .image.is-9by16 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-9by16 img,
-html.theme--documenter-dark .image.is-9by16 .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-9by16 .has-ratio, html.theme--documenter-dark .image.is-1by2 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by2 img,
-html.theme--documenter-dark .image.is-1by2 .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by2 .has-ratio, html.theme--documenter-dark .image.is-1by3 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by3 img,
-html.theme--documenter-dark .image.is-1by3 .has-ratio,
-html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by3 .has-ratio, .is-overlay {
-  bottom: 0;
-  left: 0;
-  position: absolute;
-  right: 0;
-  top: 0; }
-
-html.theme--documenter-dark .pagination-previous,
-html.theme--documenter-dark .pagination-next,
-html.theme--documenter-dark .pagination-link,
-html.theme--documenter-dark .pagination-ellipsis, html.theme--documenter-dark .file-cta,
-html.theme--documenter-dark .file-name, html.theme--documenter-dark .select select, html.theme--documenter-dark .textarea, html.theme--documenter-dark .input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input, html.theme--documenter-dark .button {
-  -moz-appearance: none;
-  -webkit-appearance: none;
-  align-items: center;
-  border: 1px solid transparent;
-  border-radius: 0.4em;
-  box-shadow: none;
-  display: inline-flex;
-  font-size: 15px;
-  height: 2.25em;
-  justify-content: flex-start;
-  line-height: 1.5;
-  padding-bottom: calc(0.375em - 1px);
-  padding-left: calc(0.625em - 1px);
-  padding-right: calc(0.625em - 1px);
-  padding-top: calc(0.375em - 1px);
-  position: relative;
-  vertical-align: top; }
-  html.theme--documenter-dark .pagination-previous:focus,
-  html.theme--documenter-dark .pagination-next:focus,
-  html.theme--documenter-dark .pagination-link:focus,
-  html.theme--documenter-dark .pagination-ellipsis:focus, html.theme--documenter-dark .file-cta:focus,
-  html.theme--documenter-dark .file-name:focus, html.theme--documenter-dark .select select:focus, html.theme--documenter-dark .textarea:focus, html.theme--documenter-dark .input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:focus, html.theme--documenter-dark .button:focus, html.theme--documenter-dark .is-focused.pagination-previous,
-  html.theme--documenter-dark .is-focused.pagination-next,
-  html.theme--documenter-dark .is-focused.pagination-link,
-  html.theme--documenter-dark .is-focused.pagination-ellipsis, html.theme--documenter-dark .is-focused.file-cta,
-  html.theme--documenter-dark .is-focused.file-name, html.theme--documenter-dark .select select.is-focused, html.theme--documenter-dark .is-focused.textarea, html.theme--documenter-dark .is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .is-focused.button, html.theme--documenter-dark .pagination-previous:active,
-  html.theme--documenter-dark .pagination-next:active,
-  html.theme--documenter-dark .pagination-link:active,
-  html.theme--documenter-dark .pagination-ellipsis:active, html.theme--documenter-dark .file-cta:active,
-  html.theme--documenter-dark .file-name:active, html.theme--documenter-dark .select select:active, html.theme--documenter-dark .textarea:active, html.theme--documenter-dark .input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:active, html.theme--documenter-dark .button:active, html.theme--documenter-dark .is-active.pagination-previous,
-  html.theme--documenter-dark .is-active.pagination-next,
-  html.theme--documenter-dark .is-active.pagination-link,
-  html.theme--documenter-dark .is-active.pagination-ellipsis, html.theme--documenter-dark .is-active.file-cta,
-  html.theme--documenter-dark .is-active.file-name, html.theme--documenter-dark .select select.is-active, html.theme--documenter-dark .is-active.textarea, html.theme--documenter-dark .is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active, html.theme--documenter-dark .is-active.button {
-    outline: none; }
-  html.theme--documenter-dark .pagination-previous[disabled],
-  html.theme--documenter-dark .pagination-next[disabled],
-  html.theme--documenter-dark .pagination-link[disabled],
-  html.theme--documenter-dark .pagination-ellipsis[disabled], html.theme--documenter-dark .file-cta[disabled],
-  html.theme--documenter-dark .file-name[disabled], html.theme--documenter-dark .select select[disabled], html.theme--documenter-dark .textarea[disabled], html.theme--documenter-dark .input[disabled], html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input[disabled], html.theme--documenter-dark .button[disabled], fieldset[disabled] html.theme--documenter-dark .pagination-previous, html.theme--documenter-dark fieldset[disabled] .pagination-previous,
-  fieldset[disabled] html.theme--documenter-dark .pagination-next,
-  html.theme--documenter-dark fieldset[disabled] .pagination-next,
-  fieldset[disabled] html.theme--documenter-dark .pagination-link,
-  html.theme--documenter-dark fieldset[disabled] .pagination-link,
-  fieldset[disabled] html.theme--documenter-dark .pagination-ellipsis,
-  html.theme--documenter-dark fieldset[disabled] .pagination-ellipsis, fieldset[disabled] html.theme--documenter-dark .file-cta, html.theme--documenter-dark fieldset[disabled] .file-cta,
-  fieldset[disabled] html.theme--documenter-dark .file-name,
-  html.theme--documenter-dark fieldset[disabled] .file-name, fieldset[disabled] html.theme--documenter-dark .select select, fieldset[disabled] html.theme--documenter-dark .textarea, fieldset[disabled] html.theme--documenter-dark .input, fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input, html.theme--documenter-dark fieldset[disabled] .select select, html.theme--documenter-dark .select fieldset[disabled] select, html.theme--documenter-dark fieldset[disabled] .textarea, html.theme--documenter-dark fieldset[disabled] .input, html.theme--documenter-dark fieldset[disabled] #documenter .docs-sidebar form.docs-search > input, html.theme--documenter-dark #documenter .docs-sidebar fieldset[disabled] form.docs-search > input, fieldset[disabled] html.theme--documenter-dark .button, html.theme--documenter-dark fieldset[disabled] .button {
-    cursor: not-allowed; }
-
-/*! minireset.css v0.0.4 | MIT License | github.com/jgthms/minireset.css */
-html,
-body,
-p,
-ol,
-ul,
-li,
-dl,
-dt,
-dd,
-blockquote,
-figure,
-fieldset,
-legend,
-textarea,
-pre,
-iframe,
-hr,
-h1,
-h2,
-h3,
-h4,
-h5,
-h6 {
-  margin: 0;
-  padding: 0; }
-
-h1,
-h2,
-h3,
-h4,
-h5,
-h6 {
-  font-size: 100%;
-  font-weight: normal; }
-
-ul {
-  list-style: none; }
-
-button,
-input,
-select,
-textarea {
-  margin: 0; }
-
-html {
-  box-sizing: border-box; }
-
-*, *::before, *::after {
-  box-sizing: inherit; }
-
-img,
-embed,
-iframe,
-object,
-video {
-  height: auto;
-  max-width: 100%; }
-
-audio {
-  max-width: 100%; }
-
-iframe {
-  border: 0; }
-
-table {
-  border-collapse: collapse;
-  border-spacing: 0; }
-
-td,
-th {
-  padding: 0; }
-  td:not([align]),
-  th:not([align]) {
-    text-align: left; }
-
-.is-clearfix::after {
-  clear: both;
-  content: " ";
-  display: table; }
-
-.is-pulled-left {
-  float: left !important; }
-
-.is-pulled-right {
-  float: right !important; }
-
-.is-clipped {
-  overflow: hidden !important; }
-
-.is-size-1 {
-  font-size: 3rem !important; }
-
-.is-size-2 {
-  font-size: 2.5rem !important; }
-
-.is-size-3 {
-  font-size: 2rem !important; }
-
-.is-size-4 {
-  font-size: 1.5rem !important; }
-
-.is-size-5 {
-  font-size: 1.25rem !important; }
-
-.is-size-6 {
-  font-size: 15px !important; }
-
-.is-size-7, html.theme--documenter-dark .docstring > section > a.docs-sourcelink {
-  font-size: 0.85em !important; }
-
-@media screen and (max-width: 768px) {
-  .is-size-1-mobile {
-    font-size: 3rem !important; }
-  .is-size-2-mobile {
-    font-size: 2.5rem !important; }
-  .is-size-3-mobile {
-    font-size: 2rem !important; }
-  .is-size-4-mobile {
-    font-size: 1.5rem !important; }
-  .is-size-5-mobile {
-    font-size: 1.25rem !important; }
-  .is-size-6-mobile {
-    font-size: 15px !important; }
-  .is-size-7-mobile {
-    font-size: 0.85em !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-size-1-tablet {
-    font-size: 3rem !important; }
-  .is-size-2-tablet {
-    font-size: 2.5rem !important; }
-  .is-size-3-tablet {
-    font-size: 2rem !important; }
-  .is-size-4-tablet {
-    font-size: 1.5rem !important; }
-  .is-size-5-tablet {
-    font-size: 1.25rem !important; }
-  .is-size-6-tablet {
-    font-size: 15px !important; }
-  .is-size-7-tablet {
-    font-size: 0.85em !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-size-1-touch {
-    font-size: 3rem !important; }
-  .is-size-2-touch {
-    font-size: 2.5rem !important; }
-  .is-size-3-touch {
-    font-size: 2rem !important; }
-  .is-size-4-touch {
-    font-size: 1.5rem !important; }
-  .is-size-5-touch {
-    font-size: 1.25rem !important; }
-  .is-size-6-touch {
-    font-size: 15px !important; }
-  .is-size-7-touch {
-    font-size: 0.85em !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-size-1-desktop {
-    font-size: 3rem !important; }
-  .is-size-2-desktop {
-    font-size: 2.5rem !important; }
-  .is-size-3-desktop {
-    font-size: 2rem !important; }
-  .is-size-4-desktop {
-    font-size: 1.5rem !important; }
-  .is-size-5-desktop {
-    font-size: 1.25rem !important; }
-  .is-size-6-desktop {
-    font-size: 15px !important; }
-  .is-size-7-desktop {
-    font-size: 0.85em !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-size-1-widescreen {
-    font-size: 3rem !important; }
-  .is-size-2-widescreen {
-    font-size: 2.5rem !important; }
-  .is-size-3-widescreen {
-    font-size: 2rem !important; }
-  .is-size-4-widescreen {
-    font-size: 1.5rem !important; }
-  .is-size-5-widescreen {
-    font-size: 1.25rem !important; }
-  .is-size-6-widescreen {
-    font-size: 15px !important; }
-  .is-size-7-widescreen {
-    font-size: 0.85em !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-size-1-fullhd {
-    font-size: 3rem !important; }
-  .is-size-2-fullhd {
-    font-size: 2.5rem !important; }
-  .is-size-3-fullhd {
-    font-size: 2rem !important; }
-  .is-size-4-fullhd {
-    font-size: 1.5rem !important; }
-  .is-size-5-fullhd {
-    font-size: 1.25rem !important; }
-  .is-size-6-fullhd {
-    font-size: 15px !important; }
-  .is-size-7-fullhd {
-    font-size: 0.85em !important; } }
-
-.has-text-centered {
-  text-align: center !important; }
-
-.has-text-justified {
-  text-align: justify !important; }
-
-.has-text-left {
-  text-align: left !important; }
-
-.has-text-right {
-  text-align: right !important; }
-
-@media screen and (max-width: 768px) {
-  .has-text-centered-mobile {
-    text-align: center !important; } }
-
-@media screen and (min-width: 769px), print {
-  .has-text-centered-tablet {
-    text-align: center !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .has-text-centered-tablet-only {
-    text-align: center !important; } }
-
-@media screen and (max-width: 1055px) {
-  .has-text-centered-touch {
-    text-align: center !important; } }
-
-@media screen and (min-width: 1056px) {
-  .has-text-centered-desktop {
-    text-align: center !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .has-text-centered-desktop-only {
-    text-align: center !important; } }
-
-@media screen and (min-width: 1216px) {
-  .has-text-centered-widescreen {
-    text-align: center !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .has-text-centered-widescreen-only {
-    text-align: center !important; } }
-
-@media screen and (min-width: 1408px) {
-  .has-text-centered-fullhd {
-    text-align: center !important; } }
-
-@media screen and (max-width: 768px) {
-  .has-text-justified-mobile {
-    text-align: justify !important; } }
-
-@media screen and (min-width: 769px), print {
-  .has-text-justified-tablet {
-    text-align: justify !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .has-text-justified-tablet-only {
-    text-align: justify !important; } }
-
-@media screen and (max-width: 1055px) {
-  .has-text-justified-touch {
-    text-align: justify !important; } }
-
-@media screen and (min-width: 1056px) {
-  .has-text-justified-desktop {
-    text-align: justify !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .has-text-justified-desktop-only {
-    text-align: justify !important; } }
-
-@media screen and (min-width: 1216px) {
-  .has-text-justified-widescreen {
-    text-align: justify !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .has-text-justified-widescreen-only {
-    text-align: justify !important; } }
-
-@media screen and (min-width: 1408px) {
-  .has-text-justified-fullhd {
-    text-align: justify !important; } }
-
-@media screen and (max-width: 768px) {
-  .has-text-left-mobile {
-    text-align: left !important; } }
-
-@media screen and (min-width: 769px), print {
-  .has-text-left-tablet {
-    text-align: left !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .has-text-left-tablet-only {
-    text-align: left !important; } }
-
-@media screen and (max-width: 1055px) {
-  .has-text-left-touch {
-    text-align: left !important; } }
-
-@media screen and (min-width: 1056px) {
-  .has-text-left-desktop {
-    text-align: left !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .has-text-left-desktop-only {
-    text-align: left !important; } }
-
-@media screen and (min-width: 1216px) {
-  .has-text-left-widescreen {
-    text-align: left !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .has-text-left-widescreen-only {
-    text-align: left !important; } }
-
-@media screen and (min-width: 1408px) {
-  .has-text-left-fullhd {
-    text-align: left !important; } }
-
-@media screen and (max-width: 768px) {
-  .has-text-right-mobile {
-    text-align: right !important; } }
-
-@media screen and (min-width: 769px), print {
-  .has-text-right-tablet {
-    text-align: right !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .has-text-right-tablet-only {
-    text-align: right !important; } }
-
-@media screen and (max-width: 1055px) {
-  .has-text-right-touch {
-    text-align: right !important; } }
-
-@media screen and (min-width: 1056px) {
-  .has-text-right-desktop {
-    text-align: right !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .has-text-right-desktop-only {
-    text-align: right !important; } }
-
-@media screen and (min-width: 1216px) {
-  .has-text-right-widescreen {
-    text-align: right !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .has-text-right-widescreen-only {
-    text-align: right !important; } }
-
-@media screen and (min-width: 1408px) {
-  .has-text-right-fullhd {
-    text-align: right !important; } }
-
-.is-capitalized {
-  text-transform: capitalize !important; }
-
-.is-lowercase {
-  text-transform: lowercase !important; }
-
-.is-uppercase {
-  text-transform: uppercase !important; }
-
-.is-italic {
-  font-style: italic !important; }
-
-.has-text-white {
-  color: white !important; }
-
-a.has-text-white:hover, a.has-text-white:focus {
-  color: #e6e6e6 !important; }
-
-.has-background-white {
-  background-color: white !important; }
-
-.has-text-black {
-  color: #0a0a0a !important; }
-
-a.has-text-black:hover, a.has-text-black:focus {
-  color: black !important; }
-
-.has-background-black {
-  background-color: #0a0a0a !important; }
-
-.has-text-light {
-  color: #ecf0f1 !important; }
-
-a.has-text-light:hover, a.has-text-light:focus {
-  color: #cfd9db !important; }
-
-.has-background-light {
-  background-color: #ecf0f1 !important; }
-
-.has-text-dark {
-  color: #282f2f !important; }
-
-a.has-text-dark:hover, a.has-text-dark:focus {
-  color: #111414 !important; }
-
-.has-background-dark {
-  background-color: #282f2f !important; }
-
-.has-text-primary {
-  color: #375a7f !important; }
-
-a.has-text-primary:hover, a.has-text-primary:focus {
-  color: #28415b !important; }
-
-.has-background-primary {
-  background-color: #375a7f !important; }
-
-.has-text-link {
-  color: #1abc9c !important; }
-
-a.has-text-link:hover, a.has-text-link:focus {
-  color: #148f77 !important; }
-
-.has-background-link {
-  background-color: #1abc9c !important; }
-
-.has-text-info {
-  color: #024c7d !important; }
-
-a.has-text-info:hover, a.has-text-info:focus {
-  color: #012d4b !important; }
-
-.has-background-info {
-  background-color: #024c7d !important; }
-
-.has-text-success {
-  color: #008438 !important; }
-
-a.has-text-success:hover, a.has-text-success:focus {
-  color: #005122 !important; }
-
-.has-background-success {
-  background-color: #008438 !important; }
-
-.has-text-warning {
-  color: #ad8100 !important; }
-
-a.has-text-warning:hover, a.has-text-warning:focus {
-  color: #7a5b00 !important; }
-
-.has-background-warning {
-  background-color: #ad8100 !important; }
-
-.has-text-danger {
-  color: #9e1b0d !important; }
-
-a.has-text-danger:hover, a.has-text-danger:focus {
-  color: #6f1309 !important; }
-
-.has-background-danger {
-  background-color: #9e1b0d !important; }
-
-.has-text-black-bis {
-  color: #121212 !important; }
-
-.has-background-black-bis {
-  background-color: #121212 !important; }
-
-.has-text-black-ter {
-  color: #242424 !important; }
-
-.has-background-black-ter {
-  background-color: #242424 !important; }
-
-.has-text-grey-darker {
-  color: #282f2f !important; }
-
-.has-background-grey-darker {
-  background-color: #282f2f !important; }
-
-.has-text-grey-dark {
-  color: #343c3d !important; }
-
-.has-background-grey-dark {
-  background-color: #343c3d !important; }
-
-.has-text-grey {
-  color: #5e6d6f !important; }
-
-.has-background-grey {
-  background-color: #5e6d6f !important; }
-
-.has-text-grey-light {
-  color: #8c9b9d !important; }
-
-.has-background-grey-light {
-  background-color: #8c9b9d !important; }
-
-.has-text-grey-lighter {
-  color: #dbdee0 !important; }
-
-.has-background-grey-lighter {
-  background-color: #dbdee0 !important; }
-
-.has-text-white-ter {
-  color: #ecf0f1 !important; }
-
-.has-background-white-ter {
-  background-color: #ecf0f1 !important; }
-
-.has-text-white-bis {
-  color: #fafafa !important; }
-
-.has-background-white-bis {
-  background-color: #fafafa !important; }
-
-.has-text-weight-light {
-  font-weight: 300 !important; }
-
-.has-text-weight-normal {
-  font-weight: 400 !important; }
-
-.has-text-weight-medium {
-  font-weight: 500 !important; }
-
-.has-text-weight-semibold {
-  font-weight: 600 !important; }
-
-.has-text-weight-bold {
-  font-weight: 700 !important; }
-
-.is-family-primary {
-  font-family: "Lato Medium", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; }
-
-.is-family-secondary {
-  font-family: "Lato Medium", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; }
-
-.is-family-sans-serif {
-  font-family: "Lato Medium", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; }
-
-.is-family-monospace {
-  font-family: "JuliaMono", "SFMono-Regular", "Menlo", "Consolas", "Liberation Mono", "DejaVu Sans Mono", monospace !important; }
-
-.is-family-code {
-  font-family: "JuliaMono", "SFMono-Regular", "Menlo", "Consolas", "Liberation Mono", "DejaVu Sans Mono", monospace !important; }
-
-.is-block {
-  display: block !important; }
-
-@media screen and (max-width: 768px) {
-  .is-block-mobile {
-    display: block !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-block-tablet {
-    display: block !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .is-block-tablet-only {
-    display: block !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-block-touch {
-    display: block !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-block-desktop {
-    display: block !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .is-block-desktop-only {
-    display: block !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-block-widescreen {
-    display: block !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .is-block-widescreen-only {
-    display: block !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-block-fullhd {
-    display: block !important; } }
-
-.is-flex {
-  display: flex !important; }
-
-@media screen and (max-width: 768px) {
-  .is-flex-mobile {
-    display: flex !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-flex-tablet {
-    display: flex !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .is-flex-tablet-only {
-    display: flex !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-flex-touch {
-    display: flex !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-flex-desktop {
-    display: flex !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .is-flex-desktop-only {
-    display: flex !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-flex-widescreen {
-    display: flex !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .is-flex-widescreen-only {
-    display: flex !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-flex-fullhd {
-    display: flex !important; } }
-
-.is-inline {
-  display: inline !important; }
-
-@media screen and (max-width: 768px) {
-  .is-inline-mobile {
-    display: inline !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-inline-tablet {
-    display: inline !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .is-inline-tablet-only {
-    display: inline !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-inline-touch {
-    display: inline !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-inline-desktop {
-    display: inline !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .is-inline-desktop-only {
-    display: inline !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-inline-widescreen {
-    display: inline !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .is-inline-widescreen-only {
-    display: inline !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-inline-fullhd {
-    display: inline !important; } }
-
-.is-inline-block {
-  display: inline-block !important; }
-
-@media screen and (max-width: 768px) {
-  .is-inline-block-mobile {
-    display: inline-block !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-inline-block-tablet {
-    display: inline-block !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .is-inline-block-tablet-only {
-    display: inline-block !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-inline-block-touch {
-    display: inline-block !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-inline-block-desktop {
-    display: inline-block !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .is-inline-block-desktop-only {
-    display: inline-block !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-inline-block-widescreen {
-    display: inline-block !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .is-inline-block-widescreen-only {
-    display: inline-block !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-inline-block-fullhd {
-    display: inline-block !important; } }
-
-.is-inline-flex {
-  display: inline-flex !important; }
-
-@media screen and (max-width: 768px) {
-  .is-inline-flex-mobile {
-    display: inline-flex !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-inline-flex-tablet {
-    display: inline-flex !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .is-inline-flex-tablet-only {
-    display: inline-flex !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-inline-flex-touch {
-    display: inline-flex !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-inline-flex-desktop {
-    display: inline-flex !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .is-inline-flex-desktop-only {
-    display: inline-flex !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-inline-flex-widescreen {
-    display: inline-flex !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .is-inline-flex-widescreen-only {
-    display: inline-flex !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-inline-flex-fullhd {
-    display: inline-flex !important; } }
-
-.is-hidden {
-  display: none !important; }
-
-.is-sr-only {
-  border: none !important;
-  clip: rect(0, 0, 0, 0) !important;
-  height: 0.01em !important;
-  overflow: hidden !important;
-  padding: 0 !important;
-  position: absolute !important;
-  white-space: nowrap !important;
-  width: 0.01em !important; }
-
-@media screen and (max-width: 768px) {
-  .is-hidden-mobile {
-    display: none !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-hidden-tablet {
-    display: none !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .is-hidden-tablet-only {
-    display: none !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-hidden-touch {
-    display: none !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-hidden-desktop {
-    display: none !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .is-hidden-desktop-only {
-    display: none !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-hidden-widescreen {
-    display: none !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .is-hidden-widescreen-only {
-    display: none !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-hidden-fullhd {
-    display: none !important; } }
-
-.is-invisible {
-  visibility: hidden !important; }
-
-@media screen and (max-width: 768px) {
-  .is-invisible-mobile {
-    visibility: hidden !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-invisible-tablet {
-    visibility: hidden !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .is-invisible-tablet-only {
-    visibility: hidden !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-invisible-touch {
-    visibility: hidden !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-invisible-desktop {
-    visibility: hidden !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .is-invisible-desktop-only {
-    visibility: hidden !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-invisible-widescreen {
-    visibility: hidden !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .is-invisible-widescreen-only {
-    visibility: hidden !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-invisible-fullhd {
-    visibility: hidden !important; } }
-
-.is-marginless {
-  margin: 0 !important; }
-
-.is-paddingless {
-  padding: 0 !important; }
-
-.is-radiusless {
-  border-radius: 0 !important; }
-
-.is-shadowless {
-  box-shadow: none !important; }
-
-.is-relative {
-  position: relative !important; }
-
-html.theme--documenter-dark {
-  /* This file contain the overall layout.
- *
- * The main container is <div> that is identified by id #documenter.
- */
-  /*!
-  Theme: a11y-dark
-  Author: @ericwbailey
-  Maintainer: @ericwbailey
-
-  Based on the Tomorrow Night Eighties theme: https://github.com/isagalaev/highlight.js/blob/master/src/styles/tomorrow-night-eighties.css
-*/
-  /* Comment */
-  /* Red */
-  /* Orange */
-  /* Yellow */
-  /* Green */
-  /* Blue */
-  /* Purple */ }
-  html.theme--documenter-dark html {
-    background-color: #1f2424;
-    font-size: 16px;
-    -moz-osx-font-smoothing: grayscale;
-    -webkit-font-smoothing: antialiased;
-    min-width: 300px;
-    overflow-x: auto;
-    overflow-y: scroll;
-    text-rendering: optimizeLegibility;
-    text-size-adjust: 100%; }
-  html.theme--documenter-dark article,
-  html.theme--documenter-dark aside,
-  html.theme--documenter-dark figure,
-  html.theme--documenter-dark footer,
-  html.theme--documenter-dark header,
-  html.theme--documenter-dark hgroup,
-  html.theme--documenter-dark section {
-    display: block; }
-  html.theme--documenter-dark body,
-  html.theme--documenter-dark button,
-  html.theme--documenter-dark input,
-  html.theme--documenter-dark select,
-  html.theme--documenter-dark textarea {
-    font-family: "Lato Medium", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
-  html.theme--documenter-dark code,
-  html.theme--documenter-dark pre {
-    -moz-osx-font-smoothing: auto;
-    -webkit-font-smoothing: auto;
-    font-family: "JuliaMono", "SFMono-Regular", "Menlo", "Consolas", "Liberation Mono", "DejaVu Sans Mono", monospace; }
-  html.theme--documenter-dark body {
-    color: #fff;
-    font-size: 1em;
-    font-weight: 400;
-    line-height: 1.5; }
-  html.theme--documenter-dark a {
-    color: #1abc9c;
-    cursor: pointer;
-    text-decoration: none; }
-    html.theme--documenter-dark a strong {
-      color: currentColor; }
-    html.theme--documenter-dark a:hover {
-      color: #1dd2af; }
-  html.theme--documenter-dark code {
-    background-color: rgba(255, 255, 255, 0.05);
-    color: #ececec;
-    font-size: 0.875em;
-    font-weight: normal;
-    padding: 0.1em; }
-  html.theme--documenter-dark hr {
-    background-color: #282f2f;
-    border: none;
-    display: block;
-    height: 2px;
-    margin: 1.5rem 0; }
-  html.theme--documenter-dark img {
-    height: auto;
-    max-width: 100%; }
-  html.theme--documenter-dark input[type="checkbox"],
-  html.theme--documenter-dark input[type="radio"] {
-    vertical-align: baseline; }
-  html.theme--documenter-dark small {
-    font-size: 0.875em; }
-  html.theme--documenter-dark span {
-    font-style: inherit;
-    font-weight: inherit; }
-  html.theme--documenter-dark strong {
-    color: #f2f2f2;
-    font-weight: 700; }
-  html.theme--documenter-dark fieldset {
-    border: none; }
-  html.theme--documenter-dark pre {
-    -webkit-overflow-scrolling: touch;
-    background-color: #282f2f;
-    color: #fff;
-    font-size: 0.875em;
-    overflow-x: auto;
-    padding: 1.25rem 1.5rem;
-    white-space: pre;
-    word-wrap: normal; }
-    html.theme--documenter-dark pre code {
-      background-color: transparent;
-      color: currentColor;
-      font-size: 1em;
-      padding: 0; }
-  html.theme--documenter-dark table td,
-  html.theme--documenter-dark table th {
-    vertical-align: top; }
-    html.theme--documenter-dark table td:not([align]),
-    html.theme--documenter-dark table th:not([align]) {
-      text-align: left; }
-  html.theme--documenter-dark table th {
-    color: #f2f2f2; }
-  html.theme--documenter-dark .box {
-    background-color: #343c3d;
-    border-radius: 8px;
-    box-shadow: none;
-    color: #fff;
-    display: block;
-    padding: 1.25rem; }
-  html.theme--documenter-dark a.box:hover, html.theme--documenter-dark a.box:focus {
-    box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px #1abc9c; }
-  html.theme--documenter-dark a.box:active {
-    box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2), 0 0 0 1px #1abc9c; }
-  html.theme--documenter-dark .button {
-    background-color: #282f2f;
-    border-color: #4c5759;
-    border-width: 1px;
-    color: #375a7f;
-    cursor: pointer;
-    justify-content: center;
-    padding-bottom: calc(0.375em - 1px);
-    padding-left: 0.75em;
-    padding-right: 0.75em;
-    padding-top: calc(0.375em - 1px);
-    text-align: center;
-    white-space: nowrap; }
-    html.theme--documenter-dark .button strong {
-      color: inherit; }
-    html.theme--documenter-dark .button .icon, html.theme--documenter-dark .button .icon.is-small, html.theme--documenter-dark .button #documenter .docs-sidebar form.docs-search > input.icon, html.theme--documenter-dark #documenter .docs-sidebar .button form.docs-search > input.icon, html.theme--documenter-dark .button .icon.is-medium, html.theme--documenter-dark .button .icon.is-large {
-      height: 1.5em;
-      width: 1.5em; }
-    html.theme--documenter-dark .button .icon:first-child:not(:last-child) {
-      margin-left: calc(-0.375em - 1px);
-      margin-right: 0.1875em; }
-    html.theme--documenter-dark .button .icon:last-child:not(:first-child) {
-      margin-left: 0.1875em;
-      margin-right: calc(-0.375em - 1px); }
-    html.theme--documenter-dark .button .icon:first-child:last-child {
-      margin-left: calc(-0.375em - 1px);
-      margin-right: calc(-0.375em - 1px); }
-    html.theme--documenter-dark .button:hover, html.theme--documenter-dark .button.is-hovered {
-      border-color: #8c9b9d;
-      color: #f2f2f2; }
-    html.theme--documenter-dark .button:focus, html.theme--documenter-dark .button.is-focused {
-      border-color: #8c9b9d;
-      color: #17a689; }
-      html.theme--documenter-dark .button:focus:not(:active), html.theme--documenter-dark .button.is-focused:not(:active) {
-        box-shadow: 0 0 0 0.125em rgba(26, 188, 156, 0.25); }
-    html.theme--documenter-dark .button:active, html.theme--documenter-dark .button.is-active {
-      border-color: #343c3d;
-      color: #f2f2f2; }
-    html.theme--documenter-dark .button.is-text {
-      background-color: transparent;
-      border-color: transparent;
-      color: #fff;
-      text-decoration: underline; }
-      html.theme--documenter-dark .button.is-text:hover, html.theme--documenter-dark .button.is-text.is-hovered, html.theme--documenter-dark .button.is-text:focus, html.theme--documenter-dark .button.is-text.is-focused {
-        background-color: #282f2f;
-        color: #f2f2f2; }
-      html.theme--documenter-dark .button.is-text:active, html.theme--documenter-dark .button.is-text.is-active {
-        background-color: #1d2122;
-        color: #f2f2f2; }
-      html.theme--documenter-dark .button.is-text[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-text {
-        background-color: transparent;
-        border-color: transparent;
-        box-shadow: none; }
-    html.theme--documenter-dark .button.is-white {
-      background-color: white;
-      border-color: transparent;
-      color: #0a0a0a; }
-      html.theme--documenter-dark .button.is-white:hover, html.theme--documenter-dark .button.is-white.is-hovered {
-        background-color: #f9f9f9;
-        border-color: transparent;
-        color: #0a0a0a; }
-      html.theme--documenter-dark .button.is-white:focus, html.theme--documenter-dark .button.is-white.is-focused {
-        border-color: transparent;
-        color: #0a0a0a; }
-        html.theme--documenter-dark .button.is-white:focus:not(:active), html.theme--documenter-dark .button.is-white.is-focused:not(:active) {
-          box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); }
-      html.theme--documenter-dark .button.is-white:active, html.theme--documenter-dark .button.is-white.is-active {
-        background-color: #f2f2f2;
-        border-color: transparent;
-        color: #0a0a0a; }
-      html.theme--documenter-dark .button.is-white[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-white {
-        background-color: white;
-        border-color: transparent;
-        box-shadow: none; }
-      html.theme--documenter-dark .button.is-white.is-inverted {
-        background-color: #0a0a0a;
-        color: white; }
-        html.theme--documenter-dark .button.is-white.is-inverted:hover, html.theme--documenter-dark .button.is-white.is-inverted.is-hovered {
-          background-color: black; }
-        html.theme--documenter-dark .button.is-white.is-inverted[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-white.is-inverted {
-          background-color: #0a0a0a;
-          border-color: transparent;
-          box-shadow: none;
-          color: white; }
-      html.theme--documenter-dark .button.is-white.is-loading::after {
-        border-color: transparent transparent #0a0a0a #0a0a0a !important; }
-      html.theme--documenter-dark .button.is-white.is-outlined {
-        background-color: transparent;
-        border-color: white;
-        color: white; }
-        html.theme--documenter-dark .button.is-white.is-outlined:hover, html.theme--documenter-dark .button.is-white.is-outlined.is-hovered, html.theme--documenter-dark .button.is-white.is-outlined:focus, html.theme--documenter-dark .button.is-white.is-outlined.is-focused {
-          background-color: white;
-          border-color: white;
-          color: #0a0a0a; }
-        html.theme--documenter-dark .button.is-white.is-outlined.is-loading::after {
-          border-color: transparent transparent white white !important; }
-        html.theme--documenter-dark .button.is-white.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-white.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-white.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-white.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #0a0a0a #0a0a0a !important; }
-        html.theme--documenter-dark .button.is-white.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-white.is-outlined {
-          background-color: transparent;
-          border-color: white;
-          box-shadow: none;
-          color: white; }
-      html.theme--documenter-dark .button.is-white.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: #0a0a0a;
-        color: #0a0a0a; }
-        html.theme--documenter-dark .button.is-white.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-white.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-focused {
-          background-color: #0a0a0a;
-          color: white; }
-        html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent white white !important; }
-        html.theme--documenter-dark .button.is-white.is-inverted.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-white.is-inverted.is-outlined {
-          background-color: transparent;
-          border-color: #0a0a0a;
-          box-shadow: none;
-          color: #0a0a0a; }
-    html.theme--documenter-dark .button.is-black {
-      background-color: #0a0a0a;
-      border-color: transparent;
-      color: white; }
-      html.theme--documenter-dark .button.is-black:hover, html.theme--documenter-dark .button.is-black.is-hovered {
-        background-color: #040404;
-        border-color: transparent;
-        color: white; }
-      html.theme--documenter-dark .button.is-black:focus, html.theme--documenter-dark .button.is-black.is-focused {
-        border-color: transparent;
-        color: white; }
-        html.theme--documenter-dark .button.is-black:focus:not(:active), html.theme--documenter-dark .button.is-black.is-focused:not(:active) {
-          box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); }
-      html.theme--documenter-dark .button.is-black:active, html.theme--documenter-dark .button.is-black.is-active {
-        background-color: black;
-        border-color: transparent;
-        color: white; }
-      html.theme--documenter-dark .button.is-black[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-black {
-        background-color: #0a0a0a;
-        border-color: transparent;
-        box-shadow: none; }
-      html.theme--documenter-dark .button.is-black.is-inverted {
-        background-color: white;
-        color: #0a0a0a; }
-        html.theme--documenter-dark .button.is-black.is-inverted:hover, html.theme--documenter-dark .button.is-black.is-inverted.is-hovered {
-          background-color: #f2f2f2; }
-        html.theme--documenter-dark .button.is-black.is-inverted[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-black.is-inverted {
-          background-color: white;
-          border-color: transparent;
-          box-shadow: none;
-          color: #0a0a0a; }
-      html.theme--documenter-dark .button.is-black.is-loading::after {
-        border-color: transparent transparent white white !important; }
-      html.theme--documenter-dark .button.is-black.is-outlined {
-        background-color: transparent;
-        border-color: #0a0a0a;
-        color: #0a0a0a; }
-        html.theme--documenter-dark .button.is-black.is-outlined:hover, html.theme--documenter-dark .button.is-black.is-outlined.is-hovered, html.theme--documenter-dark .button.is-black.is-outlined:focus, html.theme--documenter-dark .button.is-black.is-outlined.is-focused {
-          background-color: #0a0a0a;
-          border-color: #0a0a0a;
-          color: white; }
-        html.theme--documenter-dark .button.is-black.is-outlined.is-loading::after {
-          border-color: transparent transparent #0a0a0a #0a0a0a !important; }
-        html.theme--documenter-dark .button.is-black.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-black.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-black.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-black.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent white white !important; }
-        html.theme--documenter-dark .button.is-black.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-black.is-outlined {
-          background-color: transparent;
-          border-color: #0a0a0a;
-          box-shadow: none;
-          color: #0a0a0a; }
-      html.theme--documenter-dark .button.is-black.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: white;
-        color: white; }
-        html.theme--documenter-dark .button.is-black.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-black.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-focused {
-          background-color: white;
-          color: #0a0a0a; }
-        html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #0a0a0a #0a0a0a !important; }
-        html.theme--documenter-dark .button.is-black.is-inverted.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-black.is-inverted.is-outlined {
-          background-color: transparent;
-          border-color: white;
-          box-shadow: none;
-          color: white; }
-    html.theme--documenter-dark .button.is-light {
-      background-color: #ecf0f1;
-      border-color: transparent;
-      color: #282f2f; }
-      html.theme--documenter-dark .button.is-light:hover, html.theme--documenter-dark .button.is-light.is-hovered {
-        background-color: #e5eaec;
-        border-color: transparent;
-        color: #282f2f; }
-      html.theme--documenter-dark .button.is-light:focus, html.theme--documenter-dark .button.is-light.is-focused {
-        border-color: transparent;
-        color: #282f2f; }
-        html.theme--documenter-dark .button.is-light:focus:not(:active), html.theme--documenter-dark .button.is-light.is-focused:not(:active) {
-          box-shadow: 0 0 0 0.125em rgba(236, 240, 241, 0.25); }
-      html.theme--documenter-dark .button.is-light:active, html.theme--documenter-dark .button.is-light.is-active {
-        background-color: #dde4e6;
-        border-color: transparent;
-        color: #282f2f; }
-      html.theme--documenter-dark .button.is-light[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-light {
-        background-color: #ecf0f1;
-        border-color: transparent;
-        box-shadow: none; }
-      html.theme--documenter-dark .button.is-light.is-inverted {
-        background-color: #282f2f;
-        color: #ecf0f1; }
-        html.theme--documenter-dark .button.is-light.is-inverted:hover, html.theme--documenter-dark .button.is-light.is-inverted.is-hovered {
-          background-color: #1d2122; }
-        html.theme--documenter-dark .button.is-light.is-inverted[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-light.is-inverted {
-          background-color: #282f2f;
-          border-color: transparent;
-          box-shadow: none;
-          color: #ecf0f1; }
-      html.theme--documenter-dark .button.is-light.is-loading::after {
-        border-color: transparent transparent #282f2f #282f2f !important; }
-      html.theme--documenter-dark .button.is-light.is-outlined {
-        background-color: transparent;
-        border-color: #ecf0f1;
-        color: #ecf0f1; }
-        html.theme--documenter-dark .button.is-light.is-outlined:hover, html.theme--documenter-dark .button.is-light.is-outlined.is-hovered, html.theme--documenter-dark .button.is-light.is-outlined:focus, html.theme--documenter-dark .button.is-light.is-outlined.is-focused {
-          background-color: #ecf0f1;
-          border-color: #ecf0f1;
-          color: #282f2f; }
-        html.theme--documenter-dark .button.is-light.is-outlined.is-loading::after {
-          border-color: transparent transparent #ecf0f1 #ecf0f1 !important; }
-        html.theme--documenter-dark .button.is-light.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-light.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-light.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-light.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #282f2f #282f2f !important; }
-        html.theme--documenter-dark .button.is-light.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-light.is-outlined {
-          background-color: transparent;
-          border-color: #ecf0f1;
-          box-shadow: none;
-          color: #ecf0f1; }
-      html.theme--documenter-dark .button.is-light.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: #282f2f;
-        color: #282f2f; }
-        html.theme--documenter-dark .button.is-light.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-light.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-focused {
-          background-color: #282f2f;
-          color: #ecf0f1; }
-        html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #ecf0f1 #ecf0f1 !important; }
-        html.theme--documenter-dark .button.is-light.is-inverted.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-light.is-inverted.is-outlined {
-          background-color: transparent;
-          border-color: #282f2f;
-          box-shadow: none;
-          color: #282f2f; }
-    html.theme--documenter-dark .button.is-dark, html.theme--documenter-dark .content kbd.button {
-      background-color: #282f2f;
-      border-color: transparent;
-      color: #ecf0f1; }
-      html.theme--documenter-dark .button.is-dark:hover, html.theme--documenter-dark .content kbd.button:hover, html.theme--documenter-dark .button.is-dark.is-hovered, html.theme--documenter-dark .content kbd.button.is-hovered {
-        background-color: #232829;
-        border-color: transparent;
-        color: #ecf0f1; }
-      html.theme--documenter-dark .button.is-dark:focus, html.theme--documenter-dark .content kbd.button:focus, html.theme--documenter-dark .button.is-dark.is-focused, html.theme--documenter-dark .content kbd.button.is-focused {
-        border-color: transparent;
-        color: #ecf0f1; }
-        html.theme--documenter-dark .button.is-dark:focus:not(:active), html.theme--documenter-dark .content kbd.button:focus:not(:active), html.theme--documenter-dark .button.is-dark.is-focused:not(:active), html.theme--documenter-dark .content kbd.button.is-focused:not(:active) {
-          box-shadow: 0 0 0 0.125em rgba(40, 47, 47, 0.25); }
-      html.theme--documenter-dark .button.is-dark:active, html.theme--documenter-dark .content kbd.button:active, html.theme--documenter-dark .button.is-dark.is-active, html.theme--documenter-dark .content kbd.button.is-active {
-        background-color: #1d2122;
-        border-color: transparent;
-        color: #ecf0f1; }
-      html.theme--documenter-dark .button.is-dark[disabled], html.theme--documenter-dark .content kbd.button[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-dark, fieldset[disabled] html.theme--documenter-dark .content kbd.button {
-        background-color: #282f2f;
-        border-color: transparent;
-        box-shadow: none; }
-      html.theme--documenter-dark .button.is-dark.is-inverted, html.theme--documenter-dark .content kbd.button.is-inverted {
-        background-color: #ecf0f1;
-        color: #282f2f; }
-        html.theme--documenter-dark .button.is-dark.is-inverted:hover, html.theme--documenter-dark .content kbd.button.is-inverted:hover, html.theme--documenter-dark .button.is-dark.is-inverted.is-hovered, html.theme--documenter-dark .content kbd.button.is-inverted.is-hovered {
-          background-color: #dde4e6; }
-        html.theme--documenter-dark .button.is-dark.is-inverted[disabled], html.theme--documenter-dark .content kbd.button.is-inverted[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-dark.is-inverted, fieldset[disabled] html.theme--documenter-dark .content kbd.button.is-inverted {
-          background-color: #ecf0f1;
-          border-color: transparent;
-          box-shadow: none;
-          color: #282f2f; }
-      html.theme--documenter-dark .button.is-dark.is-loading::after, html.theme--documenter-dark .content kbd.button.is-loading::after {
-        border-color: transparent transparent #ecf0f1 #ecf0f1 !important; }
-      html.theme--documenter-dark .button.is-dark.is-outlined, html.theme--documenter-dark .content kbd.button.is-outlined {
-        background-color: transparent;
-        border-color: #282f2f;
-        color: #282f2f; }
-        html.theme--documenter-dark .button.is-dark.is-outlined:hover, html.theme--documenter-dark .content kbd.button.is-outlined:hover, html.theme--documenter-dark .button.is-dark.is-outlined.is-hovered, html.theme--documenter-dark .content kbd.button.is-outlined.is-hovered, html.theme--documenter-dark .button.is-dark.is-outlined:focus, html.theme--documenter-dark .content kbd.button.is-outlined:focus, html.theme--documenter-dark .button.is-dark.is-outlined.is-focused, html.theme--documenter-dark .content kbd.button.is-outlined.is-focused {
-          background-color: #282f2f;
-          border-color: #282f2f;
-          color: #ecf0f1; }
-        html.theme--documenter-dark .button.is-dark.is-outlined.is-loading::after, html.theme--documenter-dark .content kbd.button.is-outlined.is-loading::after {
-          border-color: transparent transparent #282f2f #282f2f !important; }
-        html.theme--documenter-dark .button.is-dark.is-outlined.is-loading:hover::after, html.theme--documenter-dark .content kbd.button.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-dark.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .content kbd.button.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-dark.is-outlined.is-loading:focus::after, html.theme--documenter-dark .content kbd.button.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-dark.is-outlined.is-loading.is-focused::after, html.theme--documenter-dark .content kbd.button.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #ecf0f1 #ecf0f1 !important; }
-        html.theme--documenter-dark .button.is-dark.is-outlined[disabled], html.theme--documenter-dark .content kbd.button.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-dark.is-outlined, fieldset[disabled] html.theme--documenter-dark .content kbd.button.is-outlined {
-          background-color: transparent;
-          border-color: #282f2f;
-          box-shadow: none;
-          color: #282f2f; }
-      html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: #ecf0f1;
-        color: #ecf0f1; }
-        html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined:hover, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined:focus, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-focused, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-focused {
-          background-color: #ecf0f1;
-          color: #282f2f; }
-        html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-loading.is-focused::after, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #282f2f #282f2f !important; }
-        html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined[disabled], html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined, fieldset[disabled] html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined {
-          background-color: transparent;
-          border-color: #ecf0f1;
-          box-shadow: none;
-          color: #ecf0f1; }
-    html.theme--documenter-dark .button.is-primary, html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink {
-      background-color: #375a7f;
-      border-color: transparent;
-      color: #fff; }
-      html.theme--documenter-dark .button.is-primary:hover, html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink:hover, html.theme--documenter-dark .button.is-primary.is-hovered, html.theme--documenter-dark .docstring > section > a.button.is-hovered.docs-sourcelink {
-        background-color: #335476;
-        border-color: transparent;
-        color: #fff; }
-      html.theme--documenter-dark .button.is-primary:focus, html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink:focus, html.theme--documenter-dark .button.is-primary.is-focused, html.theme--documenter-dark .docstring > section > a.button.is-focused.docs-sourcelink {
-        border-color: transparent;
-        color: #fff; }
-        html.theme--documenter-dark .button.is-primary:focus:not(:active), html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink:focus:not(:active), html.theme--documenter-dark .button.is-primary.is-focused:not(:active), html.theme--documenter-dark .docstring > section > a.button.is-focused.docs-sourcelink:not(:active) {
-          box-shadow: 0 0 0 0.125em rgba(55, 90, 127, 0.25); }
-      html.theme--documenter-dark .button.is-primary:active, html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink:active, html.theme--documenter-dark .button.is-primary.is-active, html.theme--documenter-dark .docstring > section > a.button.is-active.docs-sourcelink {
-        background-color: #2f4d6d;
-        border-color: transparent;
-        color: #fff; }
-      html.theme--documenter-dark .button.is-primary[disabled], html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-primary, fieldset[disabled] html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink {
-        background-color: #375a7f;
-        border-color: transparent;
-        box-shadow: none; }
-      html.theme--documenter-dark .button.is-primary.is-inverted, html.theme--documenter-dark .docstring > section > a.button.is-inverted.docs-sourcelink {
-        background-color: #fff;
-        color: #375a7f; }
-        html.theme--documenter-dark .button.is-primary.is-inverted:hover, html.theme--documenter-dark .docstring > section > a.button.is-inverted.docs-sourcelink:hover, html.theme--documenter-dark .button.is-primary.is-inverted.is-hovered, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-hovered.docs-sourcelink {
-          background-color: #f2f2f2; }
-        html.theme--documenter-dark .button.is-primary.is-inverted[disabled], html.theme--documenter-dark .docstring > section > a.button.is-inverted.docs-sourcelink[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-primary.is-inverted, fieldset[disabled] html.theme--documenter-dark .docstring > section > a.button.is-inverted.docs-sourcelink {
-          background-color: #fff;
-          border-color: transparent;
-          box-shadow: none;
-          color: #375a7f; }
-      html.theme--documenter-dark .button.is-primary.is-loading::after, html.theme--documenter-dark .docstring > section > a.button.is-loading.docs-sourcelink::after {
-        border-color: transparent transparent #fff #fff !important; }
-      html.theme--documenter-dark .button.is-primary.is-outlined, html.theme--documenter-dark .docstring > section > a.button.is-outlined.docs-sourcelink {
-        background-color: transparent;
-        border-color: #375a7f;
-        color: #375a7f; }
-        html.theme--documenter-dark .button.is-primary.is-outlined:hover, html.theme--documenter-dark .docstring > section > a.button.is-outlined.docs-sourcelink:hover, html.theme--documenter-dark .button.is-primary.is-outlined.is-hovered, html.theme--documenter-dark .docstring > section > a.button.is-outlined.is-hovered.docs-sourcelink, html.theme--documenter-dark .button.is-primary.is-outlined:focus, html.theme--documenter-dark .docstring > section > a.button.is-outlined.docs-sourcelink:focus, html.theme--documenter-dark .button.is-primary.is-outlined.is-focused, html.theme--documenter-dark .docstring > section > a.button.is-outlined.is-focused.docs-sourcelink {
-          background-color: #375a7f;
-          border-color: #375a7f;
-          color: #fff; }
-        html.theme--documenter-dark .button.is-primary.is-outlined.is-loading::after, html.theme--documenter-dark .docstring > section > a.button.is-outlined.is-loading.docs-sourcelink::after {
-          border-color: transparent transparent #375a7f #375a7f !important; }
-        html.theme--documenter-dark .button.is-primary.is-outlined.is-loading:hover::after, html.theme--documenter-dark .docstring > section > a.button.is-outlined.is-loading.docs-sourcelink:hover::after, html.theme--documenter-dark .button.is-primary.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .docstring > section > a.button.is-outlined.is-loading.is-hovered.docs-sourcelink::after, html.theme--documenter-dark .button.is-primary.is-outlined.is-loading:focus::after, html.theme--documenter-dark .docstring > section > a.button.is-outlined.is-loading.docs-sourcelink:focus::after, html.theme--documenter-dark .button.is-primary.is-outlined.is-loading.is-focused::after, html.theme--documenter-dark .docstring > section > a.button.is-outlined.is-loading.is-focused.docs-sourcelink::after {
-          border-color: transparent transparent #fff #fff !important; }
-        html.theme--documenter-dark .button.is-primary.is-outlined[disabled], html.theme--documenter-dark .docstring > section > a.button.is-outlined.docs-sourcelink[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-primary.is-outlined, fieldset[disabled] html.theme--documenter-dark .docstring > section > a.button.is-outlined.docs-sourcelink {
-          background-color: transparent;
-          border-color: #375a7f;
-          box-shadow: none;
-          color: #375a7f; }
-      html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink {
-        background-color: transparent;
-        border-color: #fff;
-        color: #fff; }
-        html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined:hover, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink:hover, html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.is-hovered.docs-sourcelink, html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined:focus, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink:focus, html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-focused, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.is-focused.docs-sourcelink {
-          background-color: #fff;
-          color: #375a7f; }
-        html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.is-loading.docs-sourcelink:hover::after, html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.is-loading.is-hovered.docs-sourcelink::after, html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.is-loading.docs-sourcelink:focus::after, html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-loading.is-focused::after, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.is-loading.is-focused.docs-sourcelink::after {
-          border-color: transparent transparent #375a7f #375a7f !important; }
-        html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined[disabled], html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined, fieldset[disabled] html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink {
-          background-color: transparent;
-          border-color: #fff;
-          box-shadow: none;
-          color: #fff; }
-    html.theme--documenter-dark .button.is-link {
-      background-color: #1abc9c;
-      border-color: transparent;
-      color: #fff; }
-      html.theme--documenter-dark .button.is-link:hover, html.theme--documenter-dark .button.is-link.is-hovered {
-        background-color: #18b193;
-        border-color: transparent;
-        color: #fff; }
-      html.theme--documenter-dark .button.is-link:focus, html.theme--documenter-dark .button.is-link.is-focused {
-        border-color: transparent;
-        color: #fff; }
-        html.theme--documenter-dark .button.is-link:focus:not(:active), html.theme--documenter-dark .button.is-link.is-focused:not(:active) {
-          box-shadow: 0 0 0 0.125em rgba(26, 188, 156, 0.25); }
-      html.theme--documenter-dark .button.is-link:active, html.theme--documenter-dark .button.is-link.is-active {
-        background-color: #17a689;
-        border-color: transparent;
-        color: #fff; }
-      html.theme--documenter-dark .button.is-link[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-link {
-        background-color: #1abc9c;
-        border-color: transparent;
-        box-shadow: none; }
-      html.theme--documenter-dark .button.is-link.is-inverted {
-        background-color: #fff;
-        color: #1abc9c; }
-        html.theme--documenter-dark .button.is-link.is-inverted:hover, html.theme--documenter-dark .button.is-link.is-inverted.is-hovered {
-          background-color: #f2f2f2; }
-        html.theme--documenter-dark .button.is-link.is-inverted[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-link.is-inverted {
-          background-color: #fff;
-          border-color: transparent;
-          box-shadow: none;
-          color: #1abc9c; }
-      html.theme--documenter-dark .button.is-link.is-loading::after {
-        border-color: transparent transparent #fff #fff !important; }
-      html.theme--documenter-dark .button.is-link.is-outlined {
-        background-color: transparent;
-        border-color: #1abc9c;
-        color: #1abc9c; }
-        html.theme--documenter-dark .button.is-link.is-outlined:hover, html.theme--documenter-dark .button.is-link.is-outlined.is-hovered, html.theme--documenter-dark .button.is-link.is-outlined:focus, html.theme--documenter-dark .button.is-link.is-outlined.is-focused {
-          background-color: #1abc9c;
-          border-color: #1abc9c;
-          color: #fff; }
-        html.theme--documenter-dark .button.is-link.is-outlined.is-loading::after {
-          border-color: transparent transparent #1abc9c #1abc9c !important; }
-        html.theme--documenter-dark .button.is-link.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-link.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-link.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-link.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #fff #fff !important; }
-        html.theme--documenter-dark .button.is-link.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-link.is-outlined {
-          background-color: transparent;
-          border-color: #1abc9c;
-          box-shadow: none;
-          color: #1abc9c; }
-      html.theme--documenter-dark .button.is-link.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: #fff;
-        color: #fff; }
-        html.theme--documenter-dark .button.is-link.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-link.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-focused {
-          background-color: #fff;
-          color: #1abc9c; }
-        html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #1abc9c #1abc9c !important; }
-        html.theme--documenter-dark .button.is-link.is-inverted.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-link.is-inverted.is-outlined {
-          background-color: transparent;
-          border-color: #fff;
-          box-shadow: none;
-          color: #fff; }
-    html.theme--documenter-dark .button.is-info {
-      background-color: #024c7d;
-      border-color: transparent;
-      color: #fff; }
-      html.theme--documenter-dark .button.is-info:hover, html.theme--documenter-dark .button.is-info.is-hovered {
-        background-color: #024470;
-        border-color: transparent;
-        color: #fff; }
-      html.theme--documenter-dark .button.is-info:focus, html.theme--documenter-dark .button.is-info.is-focused {
-        border-color: transparent;
-        color: #fff; }
-        html.theme--documenter-dark .button.is-info:focus:not(:active), html.theme--documenter-dark .button.is-info.is-focused:not(:active) {
-          box-shadow: 0 0 0 0.125em rgba(2, 76, 125, 0.25); }
-      html.theme--documenter-dark .button.is-info:active, html.theme--documenter-dark .button.is-info.is-active {
-        background-color: #023d64;
-        border-color: transparent;
-        color: #fff; }
-      html.theme--documenter-dark .button.is-info[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-info {
-        background-color: #024c7d;
-        border-color: transparent;
-        box-shadow: none; }
-      html.theme--documenter-dark .button.is-info.is-inverted {
-        background-color: #fff;
-        color: #024c7d; }
-        html.theme--documenter-dark .button.is-info.is-inverted:hover, html.theme--documenter-dark .button.is-info.is-inverted.is-hovered {
-          background-color: #f2f2f2; }
-        html.theme--documenter-dark .button.is-info.is-inverted[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-info.is-inverted {
-          background-color: #fff;
-          border-color: transparent;
-          box-shadow: none;
-          color: #024c7d; }
-      html.theme--documenter-dark .button.is-info.is-loading::after {
-        border-color: transparent transparent #fff #fff !important; }
-      html.theme--documenter-dark .button.is-info.is-outlined {
-        background-color: transparent;
-        border-color: #024c7d;
-        color: #024c7d; }
-        html.theme--documenter-dark .button.is-info.is-outlined:hover, html.theme--documenter-dark .button.is-info.is-outlined.is-hovered, html.theme--documenter-dark .button.is-info.is-outlined:focus, html.theme--documenter-dark .button.is-info.is-outlined.is-focused {
-          background-color: #024c7d;
-          border-color: #024c7d;
-          color: #fff; }
-        html.theme--documenter-dark .button.is-info.is-outlined.is-loading::after {
-          border-color: transparent transparent #024c7d #024c7d !important; }
-        html.theme--documenter-dark .button.is-info.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-info.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-info.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-info.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #fff #fff !important; }
-        html.theme--documenter-dark .button.is-info.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-info.is-outlined {
-          background-color: transparent;
-          border-color: #024c7d;
-          box-shadow: none;
-          color: #024c7d; }
-      html.theme--documenter-dark .button.is-info.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: #fff;
-        color: #fff; }
-        html.theme--documenter-dark .button.is-info.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-info.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-focused {
-          background-color: #fff;
-          color: #024c7d; }
-        html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #024c7d #024c7d !important; }
-        html.theme--documenter-dark .button.is-info.is-inverted.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-info.is-inverted.is-outlined {
-          background-color: transparent;
-          border-color: #fff;
-          box-shadow: none;
-          color: #fff; }
-    html.theme--documenter-dark .button.is-success {
-      background-color: #008438;
-      border-color: transparent;
-      color: #fff; }
-      html.theme--documenter-dark .button.is-success:hover, html.theme--documenter-dark .button.is-success.is-hovered {
-        background-color: #007733;
-        border-color: transparent;
-        color: #fff; }
-      html.theme--documenter-dark .button.is-success:focus, html.theme--documenter-dark .button.is-success.is-focused {
-        border-color: transparent;
-        color: #fff; }
-        html.theme--documenter-dark .button.is-success:focus:not(:active), html.theme--documenter-dark .button.is-success.is-focused:not(:active) {
-          box-shadow: 0 0 0 0.125em rgba(0, 132, 56, 0.25); }
-      html.theme--documenter-dark .button.is-success:active, html.theme--documenter-dark .button.is-success.is-active {
-        background-color: #006b2d;
-        border-color: transparent;
-        color: #fff; }
-      html.theme--documenter-dark .button.is-success[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-success {
-        background-color: #008438;
-        border-color: transparent;
-        box-shadow: none; }
-      html.theme--documenter-dark .button.is-success.is-inverted {
-        background-color: #fff;
-        color: #008438; }
-        html.theme--documenter-dark .button.is-success.is-inverted:hover, html.theme--documenter-dark .button.is-success.is-inverted.is-hovered {
-          background-color: #f2f2f2; }
-        html.theme--documenter-dark .button.is-success.is-inverted[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-success.is-inverted {
-          background-color: #fff;
-          border-color: transparent;
-          box-shadow: none;
-          color: #008438; }
-      html.theme--documenter-dark .button.is-success.is-loading::after {
-        border-color: transparent transparent #fff #fff !important; }
-      html.theme--documenter-dark .button.is-success.is-outlined {
-        background-color: transparent;
-        border-color: #008438;
-        color: #008438; }
-        html.theme--documenter-dark .button.is-success.is-outlined:hover, html.theme--documenter-dark .button.is-success.is-outlined.is-hovered, html.theme--documenter-dark .button.is-success.is-outlined:focus, html.theme--documenter-dark .button.is-success.is-outlined.is-focused {
-          background-color: #008438;
-          border-color: #008438;
-          color: #fff; }
-        html.theme--documenter-dark .button.is-success.is-outlined.is-loading::after {
-          border-color: transparent transparent #008438 #008438 !important; }
-        html.theme--documenter-dark .button.is-success.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-success.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-success.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-success.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #fff #fff !important; }
-        html.theme--documenter-dark .button.is-success.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-success.is-outlined {
-          background-color: transparent;
-          border-color: #008438;
-          box-shadow: none;
-          color: #008438; }
-      html.theme--documenter-dark .button.is-success.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: #fff;
-        color: #fff; }
-        html.theme--documenter-dark .button.is-success.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-success.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-focused {
-          background-color: #fff;
-          color: #008438; }
-        html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #008438 #008438 !important; }
-        html.theme--documenter-dark .button.is-success.is-inverted.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-success.is-inverted.is-outlined {
-          background-color: transparent;
-          border-color: #fff;
-          box-shadow: none;
-          color: #fff; }
-    html.theme--documenter-dark .button.is-warning {
-      background-color: #ad8100;
-      border-color: transparent;
-      color: #fff; }
-      html.theme--documenter-dark .button.is-warning:hover, html.theme--documenter-dark .button.is-warning.is-hovered {
-        background-color: #a07700;
-        border-color: transparent;
-        color: #fff; }
-      html.theme--documenter-dark .button.is-warning:focus, html.theme--documenter-dark .button.is-warning.is-focused {
-        border-color: transparent;
-        color: #fff; }
-        html.theme--documenter-dark .button.is-warning:focus:not(:active), html.theme--documenter-dark .button.is-warning.is-focused:not(:active) {
-          box-shadow: 0 0 0 0.125em rgba(173, 129, 0, 0.25); }
-      html.theme--documenter-dark .button.is-warning:active, html.theme--documenter-dark .button.is-warning.is-active {
-        background-color: #946e00;
-        border-color: transparent;
-        color: #fff; }
-      html.theme--documenter-dark .button.is-warning[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-warning {
-        background-color: #ad8100;
-        border-color: transparent;
-        box-shadow: none; }
-      html.theme--documenter-dark .button.is-warning.is-inverted {
-        background-color: #fff;
-        color: #ad8100; }
-        html.theme--documenter-dark .button.is-warning.is-inverted:hover, html.theme--documenter-dark .button.is-warning.is-inverted.is-hovered {
-          background-color: #f2f2f2; }
-        html.theme--documenter-dark .button.is-warning.is-inverted[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-warning.is-inverted {
-          background-color: #fff;
-          border-color: transparent;
-          box-shadow: none;
-          color: #ad8100; }
-      html.theme--documenter-dark .button.is-warning.is-loading::after {
-        border-color: transparent transparent #fff #fff !important; }
-      html.theme--documenter-dark .button.is-warning.is-outlined {
-        background-color: transparent;
-        border-color: #ad8100;
-        color: #ad8100; }
-        html.theme--documenter-dark .button.is-warning.is-outlined:hover, html.theme--documenter-dark .button.is-warning.is-outlined.is-hovered, html.theme--documenter-dark .button.is-warning.is-outlined:focus, html.theme--documenter-dark .button.is-warning.is-outlined.is-focused {
-          background-color: #ad8100;
-          border-color: #ad8100;
-          color: #fff; }
-        html.theme--documenter-dark .button.is-warning.is-outlined.is-loading::after {
-          border-color: transparent transparent #ad8100 #ad8100 !important; }
-        html.theme--documenter-dark .button.is-warning.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-warning.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-warning.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-warning.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #fff #fff !important; }
-        html.theme--documenter-dark .button.is-warning.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-warning.is-outlined {
-          background-color: transparent;
-          border-color: #ad8100;
-          box-shadow: none;
-          color: #ad8100; }
-      html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: #fff;
-        color: #fff; }
-        html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-focused {
-          background-color: #fff;
-          color: #ad8100; }
-        html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #ad8100 #ad8100 !important; }
-        html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined {
-          background-color: transparent;
-          border-color: #fff;
-          box-shadow: none;
-          color: #fff; }
-    html.theme--documenter-dark .button.is-danger {
-      background-color: #9e1b0d;
-      border-color: transparent;
-      color: #fff; }
-      html.theme--documenter-dark .button.is-danger:hover, html.theme--documenter-dark .button.is-danger.is-hovered {
-        background-color: #92190c;
-        border-color: transparent;
-        color: #fff; }
-      html.theme--documenter-dark .button.is-danger:focus, html.theme--documenter-dark .button.is-danger.is-focused {
-        border-color: transparent;
-        color: #fff; }
-        html.theme--documenter-dark .button.is-danger:focus:not(:active), html.theme--documenter-dark .button.is-danger.is-focused:not(:active) {
-          box-shadow: 0 0 0 0.125em rgba(158, 27, 13, 0.25); }
-      html.theme--documenter-dark .button.is-danger:active, html.theme--documenter-dark .button.is-danger.is-active {
-        background-color: #86170b;
-        border-color: transparent;
-        color: #fff; }
-      html.theme--documenter-dark .button.is-danger[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-danger {
-        background-color: #9e1b0d;
-        border-color: transparent;
-        box-shadow: none; }
-      html.theme--documenter-dark .button.is-danger.is-inverted {
-        background-color: #fff;
-        color: #9e1b0d; }
-        html.theme--documenter-dark .button.is-danger.is-inverted:hover, html.theme--documenter-dark .button.is-danger.is-inverted.is-hovered {
-          background-color: #f2f2f2; }
-        html.theme--documenter-dark .button.is-danger.is-inverted[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-danger.is-inverted {
-          background-color: #fff;
-          border-color: transparent;
-          box-shadow: none;
-          color: #9e1b0d; }
-      html.theme--documenter-dark .button.is-danger.is-loading::after {
-        border-color: transparent transparent #fff #fff !important; }
-      html.theme--documenter-dark .button.is-danger.is-outlined {
-        background-color: transparent;
-        border-color: #9e1b0d;
-        color: #9e1b0d; }
-        html.theme--documenter-dark .button.is-danger.is-outlined:hover, html.theme--documenter-dark .button.is-danger.is-outlined.is-hovered, html.theme--documenter-dark .button.is-danger.is-outlined:focus, html.theme--documenter-dark .button.is-danger.is-outlined.is-focused {
-          background-color: #9e1b0d;
-          border-color: #9e1b0d;
-          color: #fff; }
-        html.theme--documenter-dark .button.is-danger.is-outlined.is-loading::after {
-          border-color: transparent transparent #9e1b0d #9e1b0d !important; }
-        html.theme--documenter-dark .button.is-danger.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-danger.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-danger.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-danger.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #fff #fff !important; }
-        html.theme--documenter-dark .button.is-danger.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-danger.is-outlined {
-          background-color: transparent;
-          border-color: #9e1b0d;
-          box-shadow: none;
-          color: #9e1b0d; }
-      html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: #fff;
-        color: #fff; }
-        html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-focused {
-          background-color: #fff;
-          color: #9e1b0d; }
-        html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-loading.is-focused::after {
-          border-color: transparent transparent #9e1b0d #9e1b0d !important; }
-        html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined {
-          background-color: transparent;
-          border-color: #fff;
-          box-shadow: none;
-          color: #fff; }
-    html.theme--documenter-dark .button.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.button {
-      border-radius: 3px;
-      font-size: 0.85em; }
-    html.theme--documenter-dark .button.is-normal {
-      font-size: 15px; }
-    html.theme--documenter-dark .button.is-medium {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .button.is-large {
-      font-size: 1.5rem; }
-    html.theme--documenter-dark .button[disabled], fieldset[disabled] html.theme--documenter-dark .button {
-      background-color: #8c9b9d;
-      border-color: #dbdee0;
-      box-shadow: none;
-      opacity: 0.5; }
-    html.theme--documenter-dark .button.is-fullwidth {
-      display: flex;
-      width: 100%; }
-    html.theme--documenter-dark .button.is-loading {
-      color: transparent !important;
-      pointer-events: none; }
-      html.theme--documenter-dark .button.is-loading::after {
-        position: absolute;
-        left: calc(50% - (1em / 2));
-        top: calc(50% - (1em / 2));
-        position: absolute !important; }
-    html.theme--documenter-dark .button.is-static {
-      background-color: #282f2f;
-      border-color: #5e6d6f;
-      color: #dbdee0;
-      box-shadow: none;
-      pointer-events: none; }
-    html.theme--documenter-dark .button.is-rounded, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.button {
-      border-radius: 290486px;
-      padding-left: 1em;
-      padding-right: 1em; }
-  html.theme--documenter-dark .buttons {
-    align-items: center;
-    display: flex;
-    flex-wrap: wrap;
-    justify-content: flex-start; }
-    html.theme--documenter-dark .buttons .button {
-      margin-bottom: 0.5rem; }
-      html.theme--documenter-dark .buttons .button:not(:last-child):not(.is-fullwidth) {
-        margin-right: 0.5rem; }
-    html.theme--documenter-dark .buttons:last-child {
-      margin-bottom: -0.5rem; }
-    html.theme--documenter-dark .buttons:not(:last-child) {
-      margin-bottom: 1rem; }
-    html.theme--documenter-dark .buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large) {
-      border-radius: 3px;
-      font-size: 0.85em; }
-    html.theme--documenter-dark .buttons.are-medium .button:not(.is-small):not(.is-normal):not(.is-large) {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .buttons.are-large .button:not(.is-small):not(.is-normal):not(.is-medium) {
-      font-size: 1.5rem; }
-    html.theme--documenter-dark .buttons.has-addons .button:not(:first-child) {
-      border-bottom-left-radius: 0;
-      border-top-left-radius: 0; }
-    html.theme--documenter-dark .buttons.has-addons .button:not(:last-child) {
-      border-bottom-right-radius: 0;
-      border-top-right-radius: 0;
-      margin-right: -1px; }
-    html.theme--documenter-dark .buttons.has-addons .button:last-child {
-      margin-right: 0; }
-    html.theme--documenter-dark .buttons.has-addons .button:hover, html.theme--documenter-dark .buttons.has-addons .button.is-hovered {
-      z-index: 2; }
-    html.theme--documenter-dark .buttons.has-addons .button:focus, html.theme--documenter-dark .buttons.has-addons .button.is-focused, html.theme--documenter-dark .buttons.has-addons .button:active, html.theme--documenter-dark .buttons.has-addons .button.is-active, html.theme--documenter-dark .buttons.has-addons .button.is-selected {
-      z-index: 3; }
-      html.theme--documenter-dark .buttons.has-addons .button:focus:hover, html.theme--documenter-dark .buttons.has-addons .button.is-focused:hover, html.theme--documenter-dark .buttons.has-addons .button:active:hover, html.theme--documenter-dark .buttons.has-addons .button.is-active:hover, html.theme--documenter-dark .buttons.has-addons .button.is-selected:hover {
-        z-index: 4; }
-    html.theme--documenter-dark .buttons.has-addons .button.is-expanded {
-      flex-grow: 1;
-      flex-shrink: 1; }
-    html.theme--documenter-dark .buttons.is-centered {
-      justify-content: center; }
-      html.theme--documenter-dark .buttons.is-centered:not(.has-addons) .button:not(.is-fullwidth) {
-        margin-left: 0.25rem;
-        margin-right: 0.25rem; }
-    html.theme--documenter-dark .buttons.is-right {
-      justify-content: flex-end; }
-      html.theme--documenter-dark .buttons.is-right:not(.has-addons) .button:not(.is-fullwidth) {
-        margin-left: 0.25rem;
-        margin-right: 0.25rem; }
-  html.theme--documenter-dark .container {
-    flex-grow: 1;
-    margin: 0 auto;
-    position: relative;
-    width: auto; }
-    @media screen and (min-width: 1056px) {
-      html.theme--documenter-dark .container {
-        max-width: 992px; }
-        html.theme--documenter-dark .container.is-fluid {
-          margin-left: 32px;
-          margin-right: 32px;
-          max-width: none; } }
-    @media screen and (max-width: 1215px) {
-      html.theme--documenter-dark .container.is-widescreen {
-        max-width: 1152px; } }
-    @media screen and (max-width: 1407px) {
-      html.theme--documenter-dark .container.is-fullhd {
-        max-width: 1344px; } }
-    @media screen and (min-width: 1216px) {
-      html.theme--documenter-dark .container {
-        max-width: 1152px; } }
-    @media screen and (min-width: 1408px) {
-      html.theme--documenter-dark .container {
-        max-width: 1344px; } }
-  html.theme--documenter-dark .content li + li {
-    margin-top: 0.25em; }
-  html.theme--documenter-dark .content p:not(:last-child),
-  html.theme--documenter-dark .content dl:not(:last-child),
-  html.theme--documenter-dark .content ol:not(:last-child),
-  html.theme--documenter-dark .content ul:not(:last-child),
-  html.theme--documenter-dark .content blockquote:not(:last-child),
-  html.theme--documenter-dark .content pre:not(:last-child),
-  html.theme--documenter-dark .content table:not(:last-child) {
-    margin-bottom: 1em; }
-  html.theme--documenter-dark .content h1,
-  html.theme--documenter-dark .content h2,
-  html.theme--documenter-dark .content h3,
-  html.theme--documenter-dark .content h4,
-  html.theme--documenter-dark .content h5,
-  html.theme--documenter-dark .content h6 {
-    color: #f2f2f2;
-    font-weight: 600;
-    line-height: 1.125; }
-  html.theme--documenter-dark .content h1 {
-    font-size: 2em;
-    margin-bottom: 0.5em; }
-    html.theme--documenter-dark .content h1:not(:first-child) {
-      margin-top: 1em; }
-  html.theme--documenter-dark .content h2 {
-    font-size: 1.75em;
-    margin-bottom: 0.5714em; }
-    html.theme--documenter-dark .content h2:not(:first-child) {
-      margin-top: 1.1428em; }
-  html.theme--documenter-dark .content h3 {
-    font-size: 1.5em;
-    margin-bottom: 0.6666em; }
-    html.theme--documenter-dark .content h3:not(:first-child) {
-      margin-top: 1.3333em; }
-  html.theme--documenter-dark .content h4 {
-    font-size: 1.25em;
-    margin-bottom: 0.8em; }
-  html.theme--documenter-dark .content h5 {
-    font-size: 1.125em;
-    margin-bottom: 0.8888em; }
-  html.theme--documenter-dark .content h6 {
-    font-size: 1em;
-    margin-bottom: 1em; }
-  html.theme--documenter-dark .content blockquote {
-    background-color: #282f2f;
-    border-left: 5px solid #5e6d6f;
-    padding: 1.25em 1.5em; }
-  html.theme--documenter-dark .content ol {
-    list-style-position: outside;
-    margin-left: 2em;
-    margin-top: 1em; }
-    html.theme--documenter-dark .content ol:not([type]) {
-      list-style-type: decimal; }
-      html.theme--documenter-dark .content ol.is-lower-alpha:not([type]) {
-        list-style-type: lower-alpha; }
-      html.theme--documenter-dark .content ol.is-lower-roman:not([type]) {
-        list-style-type: lower-roman; }
-      html.theme--documenter-dark .content ol.is-upper-alpha:not([type]) {
-        list-style-type: upper-alpha; }
-      html.theme--documenter-dark .content ol.is-upper-roman:not([type]) {
-        list-style-type: upper-roman; }
-  html.theme--documenter-dark .content ul {
-    list-style: disc outside;
-    margin-left: 2em;
-    margin-top: 1em; }
-    html.theme--documenter-dark .content ul ul {
-      list-style-type: circle;
-      margin-top: 0.5em; }
-      html.theme--documenter-dark .content ul ul ul {
-        list-style-type: square; }
-  html.theme--documenter-dark .content dd {
-    margin-left: 2em; }
-  html.theme--documenter-dark .content figure {
-    margin-left: 2em;
-    margin-right: 2em;
-    text-align: center; }
-    html.theme--documenter-dark .content figure:not(:first-child) {
-      margin-top: 2em; }
-    html.theme--documenter-dark .content figure:not(:last-child) {
-      margin-bottom: 2em; }
-    html.theme--documenter-dark .content figure img {
-      display: inline-block; }
-    html.theme--documenter-dark .content figure figcaption {
-      font-style: italic; }
-  html.theme--documenter-dark .content pre {
-    -webkit-overflow-scrolling: touch;
-    overflow-x: auto;
-    padding: 0;
-    white-space: pre;
-    word-wrap: normal; }
-  html.theme--documenter-dark .content sup,
-  html.theme--documenter-dark .content sub {
-    font-size: 75%; }
-  html.theme--documenter-dark .content table {
-    width: 100%; }
-    html.theme--documenter-dark .content table td,
-    html.theme--documenter-dark .content table th {
-      border: 1px solid #5e6d6f;
-      border-width: 0 0 1px;
-      padding: 0.5em 0.75em;
-      vertical-align: top; }
-    html.theme--documenter-dark .content table th {
-      color: #f2f2f2; }
-      html.theme--documenter-dark .content table th:not([align]) {
-        text-align: left; }
-    html.theme--documenter-dark .content table thead td,
-    html.theme--documenter-dark .content table thead th {
-      border-width: 0 0 2px;
-      color: #f2f2f2; }
-    html.theme--documenter-dark .content table tfoot td,
-    html.theme--documenter-dark .content table tfoot th {
-      border-width: 2px 0 0;
-      color: #f2f2f2; }
-    html.theme--documenter-dark .content table tbody tr:last-child td,
-    html.theme--documenter-dark .content table tbody tr:last-child th {
-      border-bottom-width: 0; }
-  html.theme--documenter-dark .content .tabs li + li {
-    margin-top: 0; }
-  html.theme--documenter-dark .content.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.content {
-    font-size: 0.85em; }
-  html.theme--documenter-dark .content.is-medium {
-    font-size: 1.25rem; }
-  html.theme--documenter-dark .content.is-large {
-    font-size: 1.5rem; }
-  html.theme--documenter-dark .icon {
-    align-items: center;
-    display: inline-flex;
-    justify-content: center;
-    height: 1.5rem;
-    width: 1.5rem; }
-    html.theme--documenter-dark .icon.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.icon {
-      height: 1rem;
-      width: 1rem; }
-    html.theme--documenter-dark .icon.is-medium {
-      height: 2rem;
-      width: 2rem; }
-    html.theme--documenter-dark .icon.is-large {
-      height: 3rem;
-      width: 3rem; }
-  html.theme--documenter-dark .image, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img {
-    display: block;
-    position: relative; }
-    html.theme--documenter-dark .image img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img img {
-      display: block;
-      height: auto;
-      width: 100%; }
-      html.theme--documenter-dark .image img.is-rounded, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img img.is-rounded {
-        border-radius: 290486px; }
-    html.theme--documenter-dark .image.is-square img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-square img,
-    html.theme--documenter-dark .image.is-square .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-square .has-ratio, html.theme--documenter-dark .image.is-1by1 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by1 img,
-    html.theme--documenter-dark .image.is-1by1 .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by1 .has-ratio, html.theme--documenter-dark .image.is-5by4 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by4 img,
-    html.theme--documenter-dark .image.is-5by4 .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by4 .has-ratio, html.theme--documenter-dark .image.is-4by3 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by3 img,
-    html.theme--documenter-dark .image.is-4by3 .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by3 .has-ratio, html.theme--documenter-dark .image.is-3by2 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by2 img,
-    html.theme--documenter-dark .image.is-3by2 .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by2 .has-ratio, html.theme--documenter-dark .image.is-5by3 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by3 img,
-    html.theme--documenter-dark .image.is-5by3 .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by3 .has-ratio, html.theme--documenter-dark .image.is-16by9 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-16by9 img,
-    html.theme--documenter-dark .image.is-16by9 .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-16by9 .has-ratio, html.theme--documenter-dark .image.is-2by1 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by1 img,
-    html.theme--documenter-dark .image.is-2by1 .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by1 .has-ratio, html.theme--documenter-dark .image.is-3by1 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by1 img,
-    html.theme--documenter-dark .image.is-3by1 .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by1 .has-ratio, html.theme--documenter-dark .image.is-4by5 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by5 img,
-    html.theme--documenter-dark .image.is-4by5 .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by5 .has-ratio, html.theme--documenter-dark .image.is-3by4 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by4 img,
-    html.theme--documenter-dark .image.is-3by4 .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by4 .has-ratio, html.theme--documenter-dark .image.is-2by3 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by3 img,
-    html.theme--documenter-dark .image.is-2by3 .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by3 .has-ratio, html.theme--documenter-dark .image.is-3by5 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by5 img,
-    html.theme--documenter-dark .image.is-3by5 .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by5 .has-ratio, html.theme--documenter-dark .image.is-9by16 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-9by16 img,
-    html.theme--documenter-dark .image.is-9by16 .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-9by16 .has-ratio, html.theme--documenter-dark .image.is-1by2 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by2 img,
-    html.theme--documenter-dark .image.is-1by2 .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by2 .has-ratio, html.theme--documenter-dark .image.is-1by3 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by3 img,
-    html.theme--documenter-dark .image.is-1by3 .has-ratio,
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by3 .has-ratio {
-      height: 100%;
-      width: 100%; }
-    html.theme--documenter-dark .image.is-square, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-square, html.theme--documenter-dark .image.is-1by1, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by1 {
-      padding-top: 100%; }
-    html.theme--documenter-dark .image.is-5by4, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by4 {
-      padding-top: 80%; }
-    html.theme--documenter-dark .image.is-4by3, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by3 {
-      padding-top: 75%; }
-    html.theme--documenter-dark .image.is-3by2, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by2 {
-      padding-top: 66.6666%; }
-    html.theme--documenter-dark .image.is-5by3, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by3 {
-      padding-top: 60%; }
-    html.theme--documenter-dark .image.is-16by9, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-16by9 {
-      padding-top: 56.25%; }
-    html.theme--documenter-dark .image.is-2by1, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by1 {
-      padding-top: 50%; }
-    html.theme--documenter-dark .image.is-3by1, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by1 {
-      padding-top: 33.3333%; }
-    html.theme--documenter-dark .image.is-4by5, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by5 {
-      padding-top: 125%; }
-    html.theme--documenter-dark .image.is-3by4, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by4 {
-      padding-top: 133.3333%; }
-    html.theme--documenter-dark .image.is-2by3, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by3 {
-      padding-top: 150%; }
-    html.theme--documenter-dark .image.is-3by5, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by5 {
-      padding-top: 166.6666%; }
-    html.theme--documenter-dark .image.is-9by16, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-9by16 {
-      padding-top: 177.7777%; }
-    html.theme--documenter-dark .image.is-1by2, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by2 {
-      padding-top: 200%; }
-    html.theme--documenter-dark .image.is-1by3, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by3 {
-      padding-top: 300%; }
-    html.theme--documenter-dark .image.is-16x16, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-16x16 {
-      height: 16px;
-      width: 16px; }
-    html.theme--documenter-dark .image.is-24x24, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-24x24 {
-      height: 24px;
-      width: 24px; }
-    html.theme--documenter-dark .image.is-32x32, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-32x32 {
-      height: 32px;
-      width: 32px; }
-    html.theme--documenter-dark .image.is-48x48, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-48x48 {
-      height: 48px;
-      width: 48px; }
-    html.theme--documenter-dark .image.is-64x64, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-64x64 {
-      height: 64px;
-      width: 64px; }
-    html.theme--documenter-dark .image.is-96x96, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-96x96 {
-      height: 96px;
-      width: 96px; }
-    html.theme--documenter-dark .image.is-128x128, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-128x128 {
-      height: 128px;
-      width: 128px; }
-  html.theme--documenter-dark .notification {
-    background-color: #282f2f;
-    border-radius: 0.4em;
-    padding: 1.25rem 2.5rem 1.25rem 1.5rem;
-    position: relative; }
-    html.theme--documenter-dark .notification a:not(.button):not(.dropdown-item) {
-      color: currentColor;
-      text-decoration: underline; }
-    html.theme--documenter-dark .notification strong {
-      color: currentColor; }
-    html.theme--documenter-dark .notification code,
-    html.theme--documenter-dark .notification pre {
-      background: white; }
-    html.theme--documenter-dark .notification pre code {
-      background: transparent; }
-    html.theme--documenter-dark .notification > .delete {
-      position: absolute;
-      right: 0.5rem;
-      top: 0.5rem; }
-    html.theme--documenter-dark .notification .title,
-    html.theme--documenter-dark .notification .subtitle,
-    html.theme--documenter-dark .notification .content {
-      color: currentColor; }
-    html.theme--documenter-dark .notification.is-white {
-      background-color: white;
-      color: #0a0a0a; }
-    html.theme--documenter-dark .notification.is-black {
-      background-color: #0a0a0a;
-      color: white; }
-    html.theme--documenter-dark .notification.is-light {
-      background-color: #ecf0f1;
-      color: #282f2f; }
-    html.theme--documenter-dark .notification.is-dark, html.theme--documenter-dark .content kbd.notification {
-      background-color: #282f2f;
-      color: #ecf0f1; }
-    html.theme--documenter-dark .notification.is-primary, html.theme--documenter-dark .docstring > section > a.notification.docs-sourcelink {
-      background-color: #375a7f;
-      color: #fff; }
-    html.theme--documenter-dark .notification.is-link {
-      background-color: #1abc9c;
-      color: #fff; }
-    html.theme--documenter-dark .notification.is-info {
-      background-color: #024c7d;
-      color: #fff; }
-    html.theme--documenter-dark .notification.is-success {
-      background-color: #008438;
-      color: #fff; }
-    html.theme--documenter-dark .notification.is-warning {
-      background-color: #ad8100;
-      color: #fff; }
-    html.theme--documenter-dark .notification.is-danger {
-      background-color: #9e1b0d;
-      color: #fff; }
-  html.theme--documenter-dark .progress {
-    -moz-appearance: none;
-    -webkit-appearance: none;
-    border: none;
-    border-radius: 290486px;
-    display: block;
-    height: 15px;
-    overflow: hidden;
-    padding: 0;
-    width: 100%; }
-    html.theme--documenter-dark .progress::-webkit-progress-bar {
-      background-color: #5e6d6f; }
-    html.theme--documenter-dark .progress::-webkit-progress-value {
-      background-color: #dbdee0; }
-    html.theme--documenter-dark .progress::-moz-progress-bar {
-      background-color: #dbdee0; }
-    html.theme--documenter-dark .progress::-ms-fill {
-      background-color: #dbdee0;
-      border: none; }
-    html.theme--documenter-dark .progress.is-white::-webkit-progress-value {
-      background-color: white; }
-    html.theme--documenter-dark .progress.is-white::-moz-progress-bar {
-      background-color: white; }
-    html.theme--documenter-dark .progress.is-white::-ms-fill {
-      background-color: white; }
-    html.theme--documenter-dark .progress.is-white:indeterminate {
-      background-image: linear-gradient(to right, white 30%, #5e6d6f 30%); }
-    html.theme--documenter-dark .progress.is-black::-webkit-progress-value {
-      background-color: #0a0a0a; }
-    html.theme--documenter-dark .progress.is-black::-moz-progress-bar {
-      background-color: #0a0a0a; }
-    html.theme--documenter-dark .progress.is-black::-ms-fill {
-      background-color: #0a0a0a; }
-    html.theme--documenter-dark .progress.is-black:indeterminate {
-      background-image: linear-gradient(to right, #0a0a0a 30%, #5e6d6f 30%); }
-    html.theme--documenter-dark .progress.is-light::-webkit-progress-value {
-      background-color: #ecf0f1; }
-    html.theme--documenter-dark .progress.is-light::-moz-progress-bar {
-      background-color: #ecf0f1; }
-    html.theme--documenter-dark .progress.is-light::-ms-fill {
-      background-color: #ecf0f1; }
-    html.theme--documenter-dark .progress.is-light:indeterminate {
-      background-image: linear-gradient(to right, #ecf0f1 30%, #5e6d6f 30%); }
-    html.theme--documenter-dark .progress.is-dark::-webkit-progress-value, html.theme--documenter-dark .content kbd.progress::-webkit-progress-value {
-      background-color: #282f2f; }
-    html.theme--documenter-dark .progress.is-dark::-moz-progress-bar, html.theme--documenter-dark .content kbd.progress::-moz-progress-bar {
-      background-color: #282f2f; }
-    html.theme--documenter-dark .progress.is-dark::-ms-fill, html.theme--documenter-dark .content kbd.progress::-ms-fill {
-      background-color: #282f2f; }
-    html.theme--documenter-dark .progress.is-dark:indeterminate, html.theme--documenter-dark .content kbd.progress:indeterminate {
-      background-image: linear-gradient(to right, #282f2f 30%, #5e6d6f 30%); }
-    html.theme--documenter-dark .progress.is-primary::-webkit-progress-value, html.theme--documenter-dark .docstring > section > a.progress.docs-sourcelink::-webkit-progress-value {
-      background-color: #375a7f; }
-    html.theme--documenter-dark .progress.is-primary::-moz-progress-bar, html.theme--documenter-dark .docstring > section > a.progress.docs-sourcelink::-moz-progress-bar {
-      background-color: #375a7f; }
-    html.theme--documenter-dark .progress.is-primary::-ms-fill, html.theme--documenter-dark .docstring > section > a.progress.docs-sourcelink::-ms-fill {
-      background-color: #375a7f; }
-    html.theme--documenter-dark .progress.is-primary:indeterminate, html.theme--documenter-dark .docstring > section > a.progress.docs-sourcelink:indeterminate {
-      background-image: linear-gradient(to right, #375a7f 30%, #5e6d6f 30%); }
-    html.theme--documenter-dark .progress.is-link::-webkit-progress-value {
-      background-color: #1abc9c; }
-    html.theme--documenter-dark .progress.is-link::-moz-progress-bar {
-      background-color: #1abc9c; }
-    html.theme--documenter-dark .progress.is-link::-ms-fill {
-      background-color: #1abc9c; }
-    html.theme--documenter-dark .progress.is-link:indeterminate {
-      background-image: linear-gradient(to right, #1abc9c 30%, #5e6d6f 30%); }
-    html.theme--documenter-dark .progress.is-info::-webkit-progress-value {
-      background-color: #024c7d; }
-    html.theme--documenter-dark .progress.is-info::-moz-progress-bar {
-      background-color: #024c7d; }
-    html.theme--documenter-dark .progress.is-info::-ms-fill {
-      background-color: #024c7d; }
-    html.theme--documenter-dark .progress.is-info:indeterminate {
-      background-image: linear-gradient(to right, #024c7d 30%, #5e6d6f 30%); }
-    html.theme--documenter-dark .progress.is-success::-webkit-progress-value {
-      background-color: #008438; }
-    html.theme--documenter-dark .progress.is-success::-moz-progress-bar {
-      background-color: #008438; }
-    html.theme--documenter-dark .progress.is-success::-ms-fill {
-      background-color: #008438; }
-    html.theme--documenter-dark .progress.is-success:indeterminate {
-      background-image: linear-gradient(to right, #008438 30%, #5e6d6f 30%); }
-    html.theme--documenter-dark .progress.is-warning::-webkit-progress-value {
-      background-color: #ad8100; }
-    html.theme--documenter-dark .progress.is-warning::-moz-progress-bar {
-      background-color: #ad8100; }
-    html.theme--documenter-dark .progress.is-warning::-ms-fill {
-      background-color: #ad8100; }
-    html.theme--documenter-dark .progress.is-warning:indeterminate {
-      background-image: linear-gradient(to right, #ad8100 30%, #5e6d6f 30%); }
-    html.theme--documenter-dark .progress.is-danger::-webkit-progress-value {
-      background-color: #9e1b0d; }
-    html.theme--documenter-dark .progress.is-danger::-moz-progress-bar {
-      background-color: #9e1b0d; }
-    html.theme--documenter-dark .progress.is-danger::-ms-fill {
-      background-color: #9e1b0d; }
-    html.theme--documenter-dark .progress.is-danger:indeterminate {
-      background-image: linear-gradient(to right, #9e1b0d 30%, #5e6d6f 30%); }
-    html.theme--documenter-dark .progress:indeterminate {
-      animation-duration: 1.5s;
-      animation-iteration-count: infinite;
-      animation-name: moveIndeterminate;
-      animation-timing-function: linear;
-      background-color: #5e6d6f;
-      background-image: linear-gradient(to right, #fff 30%, #5e6d6f 30%);
-      background-position: top left;
-      background-repeat: no-repeat;
-      background-size: 150% 150%; }
-      html.theme--documenter-dark .progress:indeterminate::-webkit-progress-bar {
-        background-color: transparent; }
-      html.theme--documenter-dark .progress:indeterminate::-moz-progress-bar {
-        background-color: transparent; }
-    html.theme--documenter-dark .progress.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.progress {
-      height: 0.85em; }
-    html.theme--documenter-dark .progress.is-medium {
-      height: 1.25rem; }
-    html.theme--documenter-dark .progress.is-large {
-      height: 1.5rem; }
-
-@keyframes moveIndeterminate {
-  from {
-    background-position: 200% 0; }
-  to {
-    background-position: -200% 0; } }
-  html.theme--documenter-dark .table {
-    background-color: #343c3d;
-    color: #fff; }
-    html.theme--documenter-dark .table td,
-    html.theme--documenter-dark .table th {
-      border: 1px solid #5e6d6f;
-      border-width: 0 0 1px;
-      padding: 0.5em 0.75em;
-      vertical-align: top; }
-      html.theme--documenter-dark .table td.is-white,
-      html.theme--documenter-dark .table th.is-white {
-        background-color: white;
-        border-color: white;
-        color: #0a0a0a; }
-      html.theme--documenter-dark .table td.is-black,
-      html.theme--documenter-dark .table th.is-black {
-        background-color: #0a0a0a;
-        border-color: #0a0a0a;
-        color: white; }
-      html.theme--documenter-dark .table td.is-light,
-      html.theme--documenter-dark .table th.is-light {
-        background-color: #ecf0f1;
-        border-color: #ecf0f1;
-        color: #282f2f; }
-      html.theme--documenter-dark .table td.is-dark,
-      html.theme--documenter-dark .table th.is-dark {
-        background-color: #282f2f;
-        border-color: #282f2f;
-        color: #ecf0f1; }
-      html.theme--documenter-dark .table td.is-primary,
-      html.theme--documenter-dark .table th.is-primary {
-        background-color: #375a7f;
-        border-color: #375a7f;
-        color: #fff; }
-      html.theme--documenter-dark .table td.is-link,
-      html.theme--documenter-dark .table th.is-link {
-        background-color: #1abc9c;
-        border-color: #1abc9c;
-        color: #fff; }
-      html.theme--documenter-dark .table td.is-info,
-      html.theme--documenter-dark .table th.is-info {
-        background-color: #024c7d;
-        border-color: #024c7d;
-        color: #fff; }
-      html.theme--documenter-dark .table td.is-success,
-      html.theme--documenter-dark .table th.is-success {
-        background-color: #008438;
-        border-color: #008438;
-        color: #fff; }
-      html.theme--documenter-dark .table td.is-warning,
-      html.theme--documenter-dark .table th.is-warning {
-        background-color: #ad8100;
-        border-color: #ad8100;
-        color: #fff; }
-      html.theme--documenter-dark .table td.is-danger,
-      html.theme--documenter-dark .table th.is-danger {
-        background-color: #9e1b0d;
-        border-color: #9e1b0d;
-        color: #fff; }
-      html.theme--documenter-dark .table td.is-narrow,
-      html.theme--documenter-dark .table th.is-narrow {
-        white-space: nowrap;
-        width: 1%; }
-      html.theme--documenter-dark .table td.is-selected,
-      html.theme--documenter-dark .table th.is-selected {
-        background-color: #375a7f;
-        color: #fff; }
-        html.theme--documenter-dark .table td.is-selected a,
-        html.theme--documenter-dark .table td.is-selected strong,
-        html.theme--documenter-dark .table th.is-selected a,
-        html.theme--documenter-dark .table th.is-selected strong {
-          color: currentColor; }
-    html.theme--documenter-dark .table th {
-      color: #f2f2f2; }
-      html.theme--documenter-dark .table th:not([align]) {
-        text-align: left; }
-    html.theme--documenter-dark .table tr.is-selected {
-      background-color: #375a7f;
-      color: #fff; }
-      html.theme--documenter-dark .table tr.is-selected a,
-      html.theme--documenter-dark .table tr.is-selected strong {
-        color: currentColor; }
-      html.theme--documenter-dark .table tr.is-selected td,
-      html.theme--documenter-dark .table tr.is-selected th {
-        border-color: #fff;
-        color: currentColor; }
-    html.theme--documenter-dark .table thead {
-      background-color: transparent; }
-      html.theme--documenter-dark .table thead td,
-      html.theme--documenter-dark .table thead th {
-        border-width: 0 0 2px;
-        color: #f2f2f2; }
-    html.theme--documenter-dark .table tfoot {
-      background-color: transparent; }
-      html.theme--documenter-dark .table tfoot td,
-      html.theme--documenter-dark .table tfoot th {
-        border-width: 2px 0 0;
-        color: #f2f2f2; }
-    html.theme--documenter-dark .table tbody {
-      background-color: transparent; }
-      html.theme--documenter-dark .table tbody tr:last-child td,
-      html.theme--documenter-dark .table tbody tr:last-child th {
-        border-bottom-width: 0; }
-    html.theme--documenter-dark .table.is-bordered td,
-    html.theme--documenter-dark .table.is-bordered th {
-      border-width: 1px; }
-    html.theme--documenter-dark .table.is-bordered tr:last-child td,
-    html.theme--documenter-dark .table.is-bordered tr:last-child th {
-      border-bottom-width: 1px; }
-    html.theme--documenter-dark .table.is-fullwidth {
-      width: 100%; }
-    html.theme--documenter-dark .table.is-hoverable tbody tr:not(.is-selected):hover {
-      background-color: #282f2f; }
-    html.theme--documenter-dark .table.is-hoverable.is-striped tbody tr:not(.is-selected):hover {
-      background-color: #282f2f; }
-      html.theme--documenter-dark .table.is-hoverable.is-striped tbody tr:not(.is-selected):hover:nth-child(even) {
-        background-color: #2d3435; }
-    html.theme--documenter-dark .table.is-narrow td,
-    html.theme--documenter-dark .table.is-narrow th {
-      padding: 0.25em 0.5em; }
-    html.theme--documenter-dark .table.is-striped tbody tr:not(.is-selected):nth-child(even) {
-      background-color: #282f2f; }
-  html.theme--documenter-dark .table-container {
-    -webkit-overflow-scrolling: touch;
-    overflow: auto;
-    overflow-y: hidden;
-    max-width: 100%; }
-  html.theme--documenter-dark .tags {
-    align-items: center;
-    display: flex;
-    flex-wrap: wrap;
-    justify-content: flex-start; }
-    html.theme--documenter-dark .tags .tag, html.theme--documenter-dark .tags .content kbd, html.theme--documenter-dark .content .tags kbd, html.theme--documenter-dark .tags .docstring > section > a.docs-sourcelink {
-      margin-bottom: 0.5rem; }
-      html.theme--documenter-dark .tags .tag:not(:last-child), html.theme--documenter-dark .tags .content kbd:not(:last-child), html.theme--documenter-dark .content .tags kbd:not(:last-child), html.theme--documenter-dark .tags .docstring > section > a.docs-sourcelink:not(:last-child) {
-        margin-right: 0.5rem; }
-    html.theme--documenter-dark .tags:last-child {
-      margin-bottom: -0.5rem; }
-    html.theme--documenter-dark .tags:not(:last-child) {
-      margin-bottom: 1rem; }
-    html.theme--documenter-dark .tags.are-medium .tag:not(.is-normal):not(.is-large), html.theme--documenter-dark .tags.are-medium .content kbd:not(.is-normal):not(.is-large), html.theme--documenter-dark .content .tags.are-medium kbd:not(.is-normal):not(.is-large), html.theme--documenter-dark .tags.are-medium .docstring > section > a.docs-sourcelink:not(.is-normal):not(.is-large) {
-      font-size: 15px; }
-    html.theme--documenter-dark .tags.are-large .tag:not(.is-normal):not(.is-medium), html.theme--documenter-dark .tags.are-large .content kbd:not(.is-normal):not(.is-medium), html.theme--documenter-dark .content .tags.are-large kbd:not(.is-normal):not(.is-medium), html.theme--documenter-dark .tags.are-large .docstring > section > a.docs-sourcelink:not(.is-normal):not(.is-medium) {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .tags.is-centered {
-      justify-content: center; }
-      html.theme--documenter-dark .tags.is-centered .tag, html.theme--documenter-dark .tags.is-centered .content kbd, html.theme--documenter-dark .content .tags.is-centered kbd, html.theme--documenter-dark .tags.is-centered .docstring > section > a.docs-sourcelink {
-        margin-right: 0.25rem;
-        margin-left: 0.25rem; }
-    html.theme--documenter-dark .tags.is-right {
-      justify-content: flex-end; }
-      html.theme--documenter-dark .tags.is-right .tag:not(:first-child), html.theme--documenter-dark .tags.is-right .content kbd:not(:first-child), html.theme--documenter-dark .content .tags.is-right kbd:not(:first-child), html.theme--documenter-dark .tags.is-right .docstring > section > a.docs-sourcelink:not(:first-child) {
-        margin-left: 0.5rem; }
-      html.theme--documenter-dark .tags.is-right .tag:not(:last-child), html.theme--documenter-dark .tags.is-right .content kbd:not(:last-child), html.theme--documenter-dark .content .tags.is-right kbd:not(:last-child), html.theme--documenter-dark .tags.is-right .docstring > section > a.docs-sourcelink:not(:last-child) {
-        margin-right: 0; }
-    html.theme--documenter-dark .tags.has-addons .tag, html.theme--documenter-dark .tags.has-addons .content kbd, html.theme--documenter-dark .content .tags.has-addons kbd, html.theme--documenter-dark .tags.has-addons .docstring > section > a.docs-sourcelink {
-      margin-right: 0; }
-      html.theme--documenter-dark .tags.has-addons .tag:not(:first-child), html.theme--documenter-dark .tags.has-addons .content kbd:not(:first-child), html.theme--documenter-dark .content .tags.has-addons kbd:not(:first-child), html.theme--documenter-dark .tags.has-addons .docstring > section > a.docs-sourcelink:not(:first-child) {
-        margin-left: 0;
-        border-bottom-left-radius: 0;
-        border-top-left-radius: 0; }
-      html.theme--documenter-dark .tags.has-addons .tag:not(:last-child), html.theme--documenter-dark .tags.has-addons .content kbd:not(:last-child), html.theme--documenter-dark .content .tags.has-addons kbd:not(:last-child), html.theme--documenter-dark .tags.has-addons .docstring > section > a.docs-sourcelink:not(:last-child) {
-        border-bottom-right-radius: 0;
-        border-top-right-radius: 0; }
-  html.theme--documenter-dark .tag:not(body), html.theme--documenter-dark .content kbd:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body) {
-    align-items: center;
-    background-color: #282f2f;
-    border-radius: 0.4em;
-    color: #fff;
-    display: inline-flex;
-    font-size: 0.85em;
-    height: 2em;
-    justify-content: center;
-    line-height: 1.5;
-    padding-left: 0.75em;
-    padding-right: 0.75em;
-    white-space: nowrap; }
-    html.theme--documenter-dark .tag:not(body) .delete, html.theme--documenter-dark .content kbd:not(body) .delete, html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body) .delete {
-      margin-left: 0.25rem;
-      margin-right: -0.375rem; }
-    html.theme--documenter-dark .tag.is-white:not(body), html.theme--documenter-dark .content kbd.is-white:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-white:not(body) {
-      background-color: white;
-      color: #0a0a0a; }
-    html.theme--documenter-dark .tag.is-black:not(body), html.theme--documenter-dark .content kbd.is-black:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-black:not(body) {
-      background-color: #0a0a0a;
-      color: white; }
-    html.theme--documenter-dark .tag.is-light:not(body), html.theme--documenter-dark .content kbd.is-light:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-light:not(body) {
-      background-color: #ecf0f1;
-      color: #282f2f; }
-    html.theme--documenter-dark .tag.is-dark:not(body), html.theme--documenter-dark .content kbd:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-dark:not(body), html.theme--documenter-dark .content .docstring > section > kbd:not(body) {
-      background-color: #282f2f;
-      color: #ecf0f1; }
-    html.theme--documenter-dark .tag.is-primary:not(body), html.theme--documenter-dark .content kbd.is-primary:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body) {
-      background-color: #375a7f;
-      color: #fff; }
-    html.theme--documenter-dark .tag.is-link:not(body), html.theme--documenter-dark .content kbd.is-link:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-link:not(body) {
-      background-color: #1abc9c;
-      color: #fff; }
-    html.theme--documenter-dark .tag.is-info:not(body), html.theme--documenter-dark .content kbd.is-info:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-info:not(body) {
-      background-color: #024c7d;
-      color: #fff; }
-    html.theme--documenter-dark .tag.is-success:not(body), html.theme--documenter-dark .content kbd.is-success:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-success:not(body) {
-      background-color: #008438;
-      color: #fff; }
-    html.theme--documenter-dark .tag.is-warning:not(body), html.theme--documenter-dark .content kbd.is-warning:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-warning:not(body) {
-      background-color: #ad8100;
-      color: #fff; }
-    html.theme--documenter-dark .tag.is-danger:not(body), html.theme--documenter-dark .content kbd.is-danger:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-danger:not(body) {
-      background-color: #9e1b0d;
-      color: #fff; }
-    html.theme--documenter-dark .tag.is-normal:not(body), html.theme--documenter-dark .content kbd.is-normal:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-normal:not(body) {
-      font-size: 0.85em; }
-    html.theme--documenter-dark .tag.is-medium:not(body), html.theme--documenter-dark .content kbd.is-medium:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-medium:not(body) {
-      font-size: 15px; }
-    html.theme--documenter-dark .tag.is-large:not(body), html.theme--documenter-dark .content kbd.is-large:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-large:not(body) {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .tag:not(body) .icon:first-child:not(:last-child), html.theme--documenter-dark .content kbd:not(body) .icon:first-child:not(:last-child), html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body) .icon:first-child:not(:last-child) {
-      margin-left: -0.375em;
-      margin-right: 0.1875em; }
-    html.theme--documenter-dark .tag:not(body) .icon:last-child:not(:first-child), html.theme--documenter-dark .content kbd:not(body) .icon:last-child:not(:first-child), html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body) .icon:last-child:not(:first-child) {
-      margin-left: 0.1875em;
-      margin-right: -0.375em; }
-    html.theme--documenter-dark .tag:not(body) .icon:first-child:last-child, html.theme--documenter-dark .content kbd:not(body) .icon:first-child:last-child, html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body) .icon:first-child:last-child {
-      margin-left: -0.375em;
-      margin-right: -0.375em; }
-    html.theme--documenter-dark .tag.is-delete:not(body), html.theme--documenter-dark .content kbd.is-delete:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-delete:not(body) {
-      margin-left: 1px;
-      padding: 0;
-      position: relative;
-      width: 2em; }
-      html.theme--documenter-dark .tag.is-delete:not(body)::before, html.theme--documenter-dark .content kbd.is-delete:not(body)::before, html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-delete:not(body)::before, html.theme--documenter-dark .tag.is-delete:not(body)::after, html.theme--documenter-dark .content kbd.is-delete:not(body)::after, html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-delete:not(body)::after {
-        background-color: currentColor;
-        content: "";
-        display: block;
-        left: 50%;
-        position: absolute;
-        top: 50%;
-        transform: translateX(-50%) translateY(-50%) rotate(45deg);
-        transform-origin: center center; }
-      html.theme--documenter-dark .tag.is-delete:not(body)::before, html.theme--documenter-dark .content kbd.is-delete:not(body)::before, html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-delete:not(body)::before {
-        height: 1px;
-        width: 50%; }
-      html.theme--documenter-dark .tag.is-delete:not(body)::after, html.theme--documenter-dark .content kbd.is-delete:not(body)::after, html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-delete:not(body)::after {
-        height: 50%;
-        width: 1px; }
-      html.theme--documenter-dark .tag.is-delete:not(body):hover, html.theme--documenter-dark .content kbd.is-delete:not(body):hover, html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-delete:not(body):hover, html.theme--documenter-dark .tag.is-delete:not(body):focus, html.theme--documenter-dark .content kbd.is-delete:not(body):focus, html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-delete:not(body):focus {
-        background-color: #1d2122; }
-      html.theme--documenter-dark .tag.is-delete:not(body):active, html.theme--documenter-dark .content kbd.is-delete:not(body):active, html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-delete:not(body):active {
-        background-color: #111414; }
-    html.theme--documenter-dark .tag.is-rounded:not(body), html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:not(body), html.theme--documenter-dark .content kbd.is-rounded:not(body), html.theme--documenter-dark #documenter .docs-sidebar .content form.docs-search > input:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-rounded:not(body) {
-      border-radius: 290486px; }
-  html.theme--documenter-dark a.tag:hover, html.theme--documenter-dark .docstring > section > a.docs-sourcelink:hover {
-    text-decoration: underline; }
-  html.theme--documenter-dark .title,
-  html.theme--documenter-dark .subtitle {
-    word-break: break-word; }
-    html.theme--documenter-dark .title em,
-    html.theme--documenter-dark .title span,
-    html.theme--documenter-dark .subtitle em,
-    html.theme--documenter-dark .subtitle span {
-      font-weight: inherit; }
-    html.theme--documenter-dark .title sub,
-    html.theme--documenter-dark .subtitle sub {
-      font-size: 0.75em; }
-    html.theme--documenter-dark .title sup,
-    html.theme--documenter-dark .subtitle sup {
-      font-size: 0.75em; }
-    html.theme--documenter-dark .title .tag, html.theme--documenter-dark .title .content kbd, html.theme--documenter-dark .content .title kbd, html.theme--documenter-dark .title .docstring > section > a.docs-sourcelink,
-    html.theme--documenter-dark .subtitle .tag,
-    html.theme--documenter-dark .subtitle .content kbd,
-    html.theme--documenter-dark .content .subtitle kbd,
-    html.theme--documenter-dark .subtitle .docstring > section > a.docs-sourcelink {
-      vertical-align: middle; }
-  html.theme--documenter-dark .title {
-    color: #fff;
-    font-size: 2rem;
-    font-weight: 500;
-    line-height: 1.125; }
-    html.theme--documenter-dark .title strong {
-      color: inherit;
-      font-weight: inherit; }
-    html.theme--documenter-dark .title + .highlight {
-      margin-top: -0.75rem; }
-    html.theme--documenter-dark .title:not(.is-spaced) + .subtitle {
-      margin-top: -1.25rem; }
-    html.theme--documenter-dark .title.is-1 {
-      font-size: 3rem; }
-    html.theme--documenter-dark .title.is-2 {
-      font-size: 2.5rem; }
-    html.theme--documenter-dark .title.is-3 {
-      font-size: 2rem; }
-    html.theme--documenter-dark .title.is-4 {
-      font-size: 1.5rem; }
-    html.theme--documenter-dark .title.is-5 {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .title.is-6 {
-      font-size: 15px; }
-    html.theme--documenter-dark .title.is-7 {
-      font-size: 0.85em; }
-  html.theme--documenter-dark .subtitle {
-    color: #8c9b9d;
-    font-size: 1.25rem;
-    font-weight: 400;
-    line-height: 1.25; }
-    html.theme--documenter-dark .subtitle strong {
-      color: #8c9b9d;
-      font-weight: 600; }
-    html.theme--documenter-dark .subtitle:not(.is-spaced) + .title {
-      margin-top: -1.25rem; }
-    html.theme--documenter-dark .subtitle.is-1 {
-      font-size: 3rem; }
-    html.theme--documenter-dark .subtitle.is-2 {
-      font-size: 2.5rem; }
-    html.theme--documenter-dark .subtitle.is-3 {
-      font-size: 2rem; }
-    html.theme--documenter-dark .subtitle.is-4 {
-      font-size: 1.5rem; }
-    html.theme--documenter-dark .subtitle.is-5 {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .subtitle.is-6 {
-      font-size: 15px; }
-    html.theme--documenter-dark .subtitle.is-7 {
-      font-size: 0.85em; }
-  html.theme--documenter-dark .heading {
-    display: block;
-    font-size: 11px;
-    letter-spacing: 1px;
-    margin-bottom: 5px;
-    text-transform: uppercase; }
-  html.theme--documenter-dark .highlight {
-    font-weight: 400;
-    max-width: 100%;
-    overflow: hidden;
-    padding: 0; }
-    html.theme--documenter-dark .highlight pre {
-      overflow: auto;
-      max-width: 100%; }
-  html.theme--documenter-dark .number {
-    align-items: center;
-    background-color: #282f2f;
-    border-radius: 290486px;
-    display: inline-flex;
-    font-size: 1.25rem;
-    height: 2em;
-    justify-content: center;
-    margin-right: 1.5rem;
-    min-width: 2.5em;
-    padding: 0.25rem 0.5rem;
-    text-align: center;
-    vertical-align: top; }
-  html.theme--documenter-dark .select select, html.theme--documenter-dark .textarea, html.theme--documenter-dark .input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input {
-    background-color: #1f2424;
-    border-color: #5e6d6f;
-    border-radius: 0.4em;
-    color: #dbdee0; }
-    html.theme--documenter-dark .select select::-moz-placeholder, html.theme--documenter-dark .textarea::-moz-placeholder, html.theme--documenter-dark .input::-moz-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input::-moz-placeholder {
-      color: rgba(219, 222, 224, 0.3); }
-    html.theme--documenter-dark .select select::-webkit-input-placeholder, html.theme--documenter-dark .textarea::-webkit-input-placeholder, html.theme--documenter-dark .input::-webkit-input-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input::-webkit-input-placeholder {
-      color: rgba(219, 222, 224, 0.3); }
-    html.theme--documenter-dark .select select:-moz-placeholder, html.theme--documenter-dark .textarea:-moz-placeholder, html.theme--documenter-dark .input:-moz-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:-moz-placeholder {
-      color: rgba(219, 222, 224, 0.3); }
-    html.theme--documenter-dark .select select:-ms-input-placeholder, html.theme--documenter-dark .textarea:-ms-input-placeholder, html.theme--documenter-dark .input:-ms-input-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:-ms-input-placeholder {
-      color: rgba(219, 222, 224, 0.3); }
-    html.theme--documenter-dark .select select:hover, html.theme--documenter-dark .textarea:hover, html.theme--documenter-dark .input:hover, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:hover, html.theme--documenter-dark .select select.is-hovered, html.theme--documenter-dark .is-hovered.textarea, html.theme--documenter-dark .is-hovered.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-hovered {
-      border-color: #8c9b9d; }
-    html.theme--documenter-dark .select select:focus, html.theme--documenter-dark .textarea:focus, html.theme--documenter-dark .input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:focus, html.theme--documenter-dark .select select.is-focused, html.theme--documenter-dark .is-focused.textarea, html.theme--documenter-dark .is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .select select:active, html.theme--documenter-dark .textarea:active, html.theme--documenter-dark .input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:active, html.theme--documenter-dark .select select.is-active, html.theme--documenter-dark .is-active.textarea, html.theme--documenter-dark .is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active {
-      border-color: #1abc9c;
-      box-shadow: 0 0 0 0.125em rgba(26, 188, 156, 0.25); }
-    html.theme--documenter-dark .select select[disabled], html.theme--documenter-dark .textarea[disabled], html.theme--documenter-dark .input[disabled], html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input[disabled], fieldset[disabled] html.theme--documenter-dark .select select, fieldset[disabled] html.theme--documenter-dark .textarea, fieldset[disabled] html.theme--documenter-dark .input, fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input {
-      background-color: #8c9b9d;
-      border-color: #282f2f;
-      box-shadow: none;
-      color: white; }
-      html.theme--documenter-dark .select select[disabled]::-moz-placeholder, html.theme--documenter-dark .textarea[disabled]::-moz-placeholder, html.theme--documenter-dark .input[disabled]::-moz-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input[disabled]::-moz-placeholder, fieldset[disabled] html.theme--documenter-dark .select select::-moz-placeholder, fieldset[disabled] html.theme--documenter-dark .textarea::-moz-placeholder, fieldset[disabled] html.theme--documenter-dark .input::-moz-placeholder, fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input::-moz-placeholder {
-        color: rgba(255, 255, 255, 0.3); }
-      html.theme--documenter-dark .select select[disabled]::-webkit-input-placeholder, html.theme--documenter-dark .textarea[disabled]::-webkit-input-placeholder, html.theme--documenter-dark .input[disabled]::-webkit-input-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input[disabled]::-webkit-input-placeholder, fieldset[disabled] html.theme--documenter-dark .select select::-webkit-input-placeholder, fieldset[disabled] html.theme--documenter-dark .textarea::-webkit-input-placeholder, fieldset[disabled] html.theme--documenter-dark .input::-webkit-input-placeholder, fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input::-webkit-input-placeholder {
-        color: rgba(255, 255, 255, 0.3); }
-      html.theme--documenter-dark .select select[disabled]:-moz-placeholder, html.theme--documenter-dark .textarea[disabled]:-moz-placeholder, html.theme--documenter-dark .input[disabled]:-moz-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input[disabled]:-moz-placeholder, fieldset[disabled] html.theme--documenter-dark .select select:-moz-placeholder, fieldset[disabled] html.theme--documenter-dark .textarea:-moz-placeholder, fieldset[disabled] html.theme--documenter-dark .input:-moz-placeholder, fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:-moz-placeholder {
-        color: rgba(255, 255, 255, 0.3); }
-      html.theme--documenter-dark .select select[disabled]:-ms-input-placeholder, html.theme--documenter-dark .textarea[disabled]:-ms-input-placeholder, html.theme--documenter-dark .input[disabled]:-ms-input-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input[disabled]:-ms-input-placeholder, fieldset[disabled] html.theme--documenter-dark .select select:-ms-input-placeholder, fieldset[disabled] html.theme--documenter-dark .textarea:-ms-input-placeholder, fieldset[disabled] html.theme--documenter-dark .input:-ms-input-placeholder, fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:-ms-input-placeholder {
-        color: rgba(255, 255, 255, 0.3); }
-  html.theme--documenter-dark .textarea, html.theme--documenter-dark .input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input {
-    box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
-    max-width: 100%;
-    width: 100%; }
-    html.theme--documenter-dark .textarea[readonly], html.theme--documenter-dark .input[readonly], html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input[readonly] {
-      box-shadow: none; }
-    html.theme--documenter-dark .is-white.textarea, html.theme--documenter-dark .is-white.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-white {
-      border-color: white; }
-      html.theme--documenter-dark .is-white.textarea:focus, html.theme--documenter-dark .is-white.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-white:focus, html.theme--documenter-dark .is-white.is-focused.textarea, html.theme--documenter-dark .is-white.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .is-white.textarea:active, html.theme--documenter-dark .is-white.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-white:active, html.theme--documenter-dark .is-white.is-active.textarea, html.theme--documenter-dark .is-white.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active {
-        box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); }
-    html.theme--documenter-dark .is-black.textarea, html.theme--documenter-dark .is-black.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-black {
-      border-color: #0a0a0a; }
-      html.theme--documenter-dark .is-black.textarea:focus, html.theme--documenter-dark .is-black.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-black:focus, html.theme--documenter-dark .is-black.is-focused.textarea, html.theme--documenter-dark .is-black.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .is-black.textarea:active, html.theme--documenter-dark .is-black.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-black:active, html.theme--documenter-dark .is-black.is-active.textarea, html.theme--documenter-dark .is-black.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active {
-        box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); }
-    html.theme--documenter-dark .is-light.textarea, html.theme--documenter-dark .is-light.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-light {
-      border-color: #ecf0f1; }
-      html.theme--documenter-dark .is-light.textarea:focus, html.theme--documenter-dark .is-light.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-light:focus, html.theme--documenter-dark .is-light.is-focused.textarea, html.theme--documenter-dark .is-light.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .is-light.textarea:active, html.theme--documenter-dark .is-light.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-light:active, html.theme--documenter-dark .is-light.is-active.textarea, html.theme--documenter-dark .is-light.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active {
-        box-shadow: 0 0 0 0.125em rgba(236, 240, 241, 0.25); }
-    html.theme--documenter-dark .is-dark.textarea, html.theme--documenter-dark .content kbd.textarea, html.theme--documenter-dark .is-dark.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-dark, html.theme--documenter-dark .content kbd.input {
-      border-color: #282f2f; }
-      html.theme--documenter-dark .is-dark.textarea:focus, html.theme--documenter-dark .content kbd.textarea:focus, html.theme--documenter-dark .is-dark.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-dark:focus, html.theme--documenter-dark .content kbd.input:focus, html.theme--documenter-dark .is-dark.is-focused.textarea, html.theme--documenter-dark .content kbd.is-focused.textarea, html.theme--documenter-dark .is-dark.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .content kbd.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar .content form.docs-search > input.is-focused, html.theme--documenter-dark .is-dark.textarea:active, html.theme--documenter-dark .content kbd.textarea:active, html.theme--documenter-dark .is-dark.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-dark:active, html.theme--documenter-dark .content kbd.input:active, html.theme--documenter-dark .is-dark.is-active.textarea, html.theme--documenter-dark .content kbd.is-active.textarea, html.theme--documenter-dark .is-dark.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active, html.theme--documenter-dark .content kbd.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar .content form.docs-search > input.is-active {
-        box-shadow: 0 0 0 0.125em rgba(40, 47, 47, 0.25); }
-    html.theme--documenter-dark .is-primary.textarea, html.theme--documenter-dark .docstring > section > a.textarea.docs-sourcelink, html.theme--documenter-dark .is-primary.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-primary, html.theme--documenter-dark .docstring > section > a.input.docs-sourcelink {
-      border-color: #375a7f; }
-      html.theme--documenter-dark .is-primary.textarea:focus, html.theme--documenter-dark .docstring > section > a.textarea.docs-sourcelink:focus, html.theme--documenter-dark .is-primary.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-primary:focus, html.theme--documenter-dark .docstring > section > a.input.docs-sourcelink:focus, html.theme--documenter-dark .is-primary.is-focused.textarea, html.theme--documenter-dark .docstring > section > a.is-focused.textarea.docs-sourcelink, html.theme--documenter-dark .is-primary.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .docstring > section > a.is-focused.input.docs-sourcelink, html.theme--documenter-dark .is-primary.textarea:active, html.theme--documenter-dark .docstring > section > a.textarea.docs-sourcelink:active, html.theme--documenter-dark .is-primary.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-primary:active, html.theme--documenter-dark .docstring > section > a.input.docs-sourcelink:active, html.theme--documenter-dark .is-primary.is-active.textarea, html.theme--documenter-dark .docstring > section > a.is-active.textarea.docs-sourcelink, html.theme--documenter-dark .is-primary.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active, html.theme--documenter-dark .docstring > section > a.is-active.input.docs-sourcelink {
-        box-shadow: 0 0 0 0.125em rgba(55, 90, 127, 0.25); }
-    html.theme--documenter-dark .is-link.textarea, html.theme--documenter-dark .is-link.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-link {
-      border-color: #1abc9c; }
-      html.theme--documenter-dark .is-link.textarea:focus, html.theme--documenter-dark .is-link.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-link:focus, html.theme--documenter-dark .is-link.is-focused.textarea, html.theme--documenter-dark .is-link.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .is-link.textarea:active, html.theme--documenter-dark .is-link.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-link:active, html.theme--documenter-dark .is-link.is-active.textarea, html.theme--documenter-dark .is-link.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active {
-        box-shadow: 0 0 0 0.125em rgba(26, 188, 156, 0.25); }
-    html.theme--documenter-dark .is-info.textarea, html.theme--documenter-dark .is-info.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-info {
-      border-color: #024c7d; }
-      html.theme--documenter-dark .is-info.textarea:focus, html.theme--documenter-dark .is-info.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-info:focus, html.theme--documenter-dark .is-info.is-focused.textarea, html.theme--documenter-dark .is-info.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .is-info.textarea:active, html.theme--documenter-dark .is-info.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-info:active, html.theme--documenter-dark .is-info.is-active.textarea, html.theme--documenter-dark .is-info.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active {
-        box-shadow: 0 0 0 0.125em rgba(2, 76, 125, 0.25); }
-    html.theme--documenter-dark .is-success.textarea, html.theme--documenter-dark .is-success.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-success {
-      border-color: #008438; }
-      html.theme--documenter-dark .is-success.textarea:focus, html.theme--documenter-dark .is-success.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-success:focus, html.theme--documenter-dark .is-success.is-focused.textarea, html.theme--documenter-dark .is-success.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .is-success.textarea:active, html.theme--documenter-dark .is-success.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-success:active, html.theme--documenter-dark .is-success.is-active.textarea, html.theme--documenter-dark .is-success.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active {
-        box-shadow: 0 0 0 0.125em rgba(0, 132, 56, 0.25); }
-    html.theme--documenter-dark .is-warning.textarea, html.theme--documenter-dark .is-warning.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-warning {
-      border-color: #ad8100; }
-      html.theme--documenter-dark .is-warning.textarea:focus, html.theme--documenter-dark .is-warning.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-warning:focus, html.theme--documenter-dark .is-warning.is-focused.textarea, html.theme--documenter-dark .is-warning.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .is-warning.textarea:active, html.theme--documenter-dark .is-warning.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-warning:active, html.theme--documenter-dark .is-warning.is-active.textarea, html.theme--documenter-dark .is-warning.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active {
-        box-shadow: 0 0 0 0.125em rgba(173, 129, 0, 0.25); }
-    html.theme--documenter-dark .is-danger.textarea, html.theme--documenter-dark .is-danger.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-danger {
-      border-color: #9e1b0d; }
-      html.theme--documenter-dark .is-danger.textarea:focus, html.theme--documenter-dark .is-danger.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-danger:focus, html.theme--documenter-dark .is-danger.is-focused.textarea, html.theme--documenter-dark .is-danger.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .is-danger.textarea:active, html.theme--documenter-dark .is-danger.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-danger:active, html.theme--documenter-dark .is-danger.is-active.textarea, html.theme--documenter-dark .is-danger.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active {
-        box-shadow: 0 0 0 0.125em rgba(158, 27, 13, 0.25); }
-    html.theme--documenter-dark .is-small.textarea, html.theme--documenter-dark .is-small.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input {
-      border-radius: 3px;
-      font-size: 0.85em; }
-    html.theme--documenter-dark .is-medium.textarea, html.theme--documenter-dark .is-medium.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-medium {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .is-large.textarea, html.theme--documenter-dark .is-large.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-large {
-      font-size: 1.5rem; }
-    html.theme--documenter-dark .is-fullwidth.textarea, html.theme--documenter-dark .is-fullwidth.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-fullwidth {
-      display: block;
-      width: 100%; }
-    html.theme--documenter-dark .is-inline.textarea, html.theme--documenter-dark .is-inline.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-inline {
-      display: inline;
-      width: auto; }
-  html.theme--documenter-dark .input.is-rounded, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input {
-    border-radius: 290486px;
-    padding-left: 1em;
-    padding-right: 1em; }
-  html.theme--documenter-dark .input.is-static, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-static {
-    background-color: transparent;
-    border-color: transparent;
-    box-shadow: none;
-    padding-left: 0;
-    padding-right: 0; }
-  html.theme--documenter-dark .textarea {
-    display: block;
-    max-width: 100%;
-    min-width: 100%;
-    padding: 0.625em;
-    resize: vertical; }
-    html.theme--documenter-dark .textarea:not([rows]) {
-      max-height: 600px;
-      min-height: 120px; }
-    html.theme--documenter-dark .textarea[rows] {
-      height: initial; }
-    html.theme--documenter-dark .textarea.has-fixed-size {
-      resize: none; }
-  html.theme--documenter-dark .radio, html.theme--documenter-dark .checkbox {
-    cursor: pointer;
-    display: inline-block;
-    line-height: 1.25;
-    position: relative; }
-    html.theme--documenter-dark .radio input, html.theme--documenter-dark .checkbox input {
-      cursor: pointer; }
-    html.theme--documenter-dark .radio:hover, html.theme--documenter-dark .checkbox:hover {
-      color: #8c9b9d; }
-    html.theme--documenter-dark .radio[disabled], html.theme--documenter-dark .checkbox[disabled], fieldset[disabled] html.theme--documenter-dark .radio, fieldset[disabled] html.theme--documenter-dark .checkbox {
-      color: white;
-      cursor: not-allowed; }
-  html.theme--documenter-dark .radio + .radio {
-    margin-left: 0.5em; }
-  html.theme--documenter-dark .select {
-    display: inline-block;
-    max-width: 100%;
-    position: relative;
-    vertical-align: top; }
-    html.theme--documenter-dark .select:not(.is-multiple) {
-      height: 2.25em; }
-    html.theme--documenter-dark .select:not(.is-multiple):not(.is-loading)::after {
-      border-color: #1abc9c;
-      right: 1.125em;
-      z-index: 4; }
-    html.theme--documenter-dark .select.is-rounded select, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.select select {
-      border-radius: 290486px;
-      padding-left: 1em; }
-    html.theme--documenter-dark .select select {
-      cursor: pointer;
-      display: block;
-      font-size: 1em;
-      max-width: 100%;
-      outline: none; }
-      html.theme--documenter-dark .select select::-ms-expand {
-        display: none; }
-      html.theme--documenter-dark .select select[disabled]:hover, fieldset[disabled] html.theme--documenter-dark .select select:hover {
-        border-color: #282f2f; }
-      html.theme--documenter-dark .select select:not([multiple]) {
-        padding-right: 2.5em; }
-      html.theme--documenter-dark .select select[multiple] {
-        height: auto;
-        padding: 0; }
-        html.theme--documenter-dark .select select[multiple] option {
-          padding: 0.5em 1em; }
-    html.theme--documenter-dark .select:not(.is-multiple):not(.is-loading):hover::after {
-      border-color: #8c9b9d; }
-    html.theme--documenter-dark .select.is-white:not(:hover)::after {
-      border-color: white; }
-    html.theme--documenter-dark .select.is-white select {
-      border-color: white; }
-      html.theme--documenter-dark .select.is-white select:hover, html.theme--documenter-dark .select.is-white select.is-hovered {
-        border-color: #f2f2f2; }
-      html.theme--documenter-dark .select.is-white select:focus, html.theme--documenter-dark .select.is-white select.is-focused, html.theme--documenter-dark .select.is-white select:active, html.theme--documenter-dark .select.is-white select.is-active {
-        box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); }
-    html.theme--documenter-dark .select.is-black:not(:hover)::after {
-      border-color: #0a0a0a; }
-    html.theme--documenter-dark .select.is-black select {
-      border-color: #0a0a0a; }
-      html.theme--documenter-dark .select.is-black select:hover, html.theme--documenter-dark .select.is-black select.is-hovered {
-        border-color: black; }
-      html.theme--documenter-dark .select.is-black select:focus, html.theme--documenter-dark .select.is-black select.is-focused, html.theme--documenter-dark .select.is-black select:active, html.theme--documenter-dark .select.is-black select.is-active {
-        box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); }
-    html.theme--documenter-dark .select.is-light:not(:hover)::after {
-      border-color: #ecf0f1; }
-    html.theme--documenter-dark .select.is-light select {
-      border-color: #ecf0f1; }
-      html.theme--documenter-dark .select.is-light select:hover, html.theme--documenter-dark .select.is-light select.is-hovered {
-        border-color: #dde4e6; }
-      html.theme--documenter-dark .select.is-light select:focus, html.theme--documenter-dark .select.is-light select.is-focused, html.theme--documenter-dark .select.is-light select:active, html.theme--documenter-dark .select.is-light select.is-active {
-        box-shadow: 0 0 0 0.125em rgba(236, 240, 241, 0.25); }
-    html.theme--documenter-dark .select.is-dark:not(:hover)::after, html.theme--documenter-dark .content kbd.select:not(:hover)::after {
-      border-color: #282f2f; }
-    html.theme--documenter-dark .select.is-dark select, html.theme--documenter-dark .content kbd.select select {
-      border-color: #282f2f; }
-      html.theme--documenter-dark .select.is-dark select:hover, html.theme--documenter-dark .content kbd.select select:hover, html.theme--documenter-dark .select.is-dark select.is-hovered, html.theme--documenter-dark .content kbd.select select.is-hovered {
-        border-color: #1d2122; }
-      html.theme--documenter-dark .select.is-dark select:focus, html.theme--documenter-dark .content kbd.select select:focus, html.theme--documenter-dark .select.is-dark select.is-focused, html.theme--documenter-dark .content kbd.select select.is-focused, html.theme--documenter-dark .select.is-dark select:active, html.theme--documenter-dark .content kbd.select select:active, html.theme--documenter-dark .select.is-dark select.is-active, html.theme--documenter-dark .content kbd.select select.is-active {
-        box-shadow: 0 0 0 0.125em rgba(40, 47, 47, 0.25); }
-    html.theme--documenter-dark .select.is-primary:not(:hover)::after, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink:not(:hover)::after {
-      border-color: #375a7f; }
-    html.theme--documenter-dark .select.is-primary select, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink select {
-      border-color: #375a7f; }
-      html.theme--documenter-dark .select.is-primary select:hover, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink select:hover, html.theme--documenter-dark .select.is-primary select.is-hovered, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink select.is-hovered {
-        border-color: #2f4d6d; }
-      html.theme--documenter-dark .select.is-primary select:focus, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink select:focus, html.theme--documenter-dark .select.is-primary select.is-focused, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink select.is-focused, html.theme--documenter-dark .select.is-primary select:active, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink select:active, html.theme--documenter-dark .select.is-primary select.is-active, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink select.is-active {
-        box-shadow: 0 0 0 0.125em rgba(55, 90, 127, 0.25); }
-    html.theme--documenter-dark .select.is-link:not(:hover)::after {
-      border-color: #1abc9c; }
-    html.theme--documenter-dark .select.is-link select {
-      border-color: #1abc9c; }
-      html.theme--documenter-dark .select.is-link select:hover, html.theme--documenter-dark .select.is-link select.is-hovered {
-        border-color: #17a689; }
-      html.theme--documenter-dark .select.is-link select:focus, html.theme--documenter-dark .select.is-link select.is-focused, html.theme--documenter-dark .select.is-link select:active, html.theme--documenter-dark .select.is-link select.is-active {
-        box-shadow: 0 0 0 0.125em rgba(26, 188, 156, 0.25); }
-    html.theme--documenter-dark .select.is-info:not(:hover)::after {
-      border-color: #024c7d; }
-    html.theme--documenter-dark .select.is-info select {
-      border-color: #024c7d; }
-      html.theme--documenter-dark .select.is-info select:hover, html.theme--documenter-dark .select.is-info select.is-hovered {
-        border-color: #023d64; }
-      html.theme--documenter-dark .select.is-info select:focus, html.theme--documenter-dark .select.is-info select.is-focused, html.theme--documenter-dark .select.is-info select:active, html.theme--documenter-dark .select.is-info select.is-active {
-        box-shadow: 0 0 0 0.125em rgba(2, 76, 125, 0.25); }
-    html.theme--documenter-dark .select.is-success:not(:hover)::after {
-      border-color: #008438; }
-    html.theme--documenter-dark .select.is-success select {
-      border-color: #008438; }
-      html.theme--documenter-dark .select.is-success select:hover, html.theme--documenter-dark .select.is-success select.is-hovered {
-        border-color: #006b2d; }
-      html.theme--documenter-dark .select.is-success select:focus, html.theme--documenter-dark .select.is-success select.is-focused, html.theme--documenter-dark .select.is-success select:active, html.theme--documenter-dark .select.is-success select.is-active {
-        box-shadow: 0 0 0 0.125em rgba(0, 132, 56, 0.25); }
-    html.theme--documenter-dark .select.is-warning:not(:hover)::after {
-      border-color: #ad8100; }
-    html.theme--documenter-dark .select.is-warning select {
-      border-color: #ad8100; }
-      html.theme--documenter-dark .select.is-warning select:hover, html.theme--documenter-dark .select.is-warning select.is-hovered {
-        border-color: #946e00; }
-      html.theme--documenter-dark .select.is-warning select:focus, html.theme--documenter-dark .select.is-warning select.is-focused, html.theme--documenter-dark .select.is-warning select:active, html.theme--documenter-dark .select.is-warning select.is-active {
-        box-shadow: 0 0 0 0.125em rgba(173, 129, 0, 0.25); }
-    html.theme--documenter-dark .select.is-danger:not(:hover)::after {
-      border-color: #9e1b0d; }
-    html.theme--documenter-dark .select.is-danger select {
-      border-color: #9e1b0d; }
-      html.theme--documenter-dark .select.is-danger select:hover, html.theme--documenter-dark .select.is-danger select.is-hovered {
-        border-color: #86170b; }
-      html.theme--documenter-dark .select.is-danger select:focus, html.theme--documenter-dark .select.is-danger select.is-focused, html.theme--documenter-dark .select.is-danger select:active, html.theme--documenter-dark .select.is-danger select.is-active {
-        box-shadow: 0 0 0 0.125em rgba(158, 27, 13, 0.25); }
-    html.theme--documenter-dark .select.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.select {
-      border-radius: 3px;
-      font-size: 0.85em; }
-    html.theme--documenter-dark .select.is-medium {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .select.is-large {
-      font-size: 1.5rem; }
-    html.theme--documenter-dark .select.is-disabled::after {
-      border-color: white; }
-    html.theme--documenter-dark .select.is-fullwidth {
-      width: 100%; }
-      html.theme--documenter-dark .select.is-fullwidth select {
-        width: 100%; }
-    html.theme--documenter-dark .select.is-loading::after {
-      margin-top: 0;
-      position: absolute;
-      right: 0.625em;
-      top: 0.625em;
-      transform: none; }
-    html.theme--documenter-dark .select.is-loading.is-small:after, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-loading:after {
-      font-size: 0.85em; }
-    html.theme--documenter-dark .select.is-loading.is-medium:after {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .select.is-loading.is-large:after {
-      font-size: 1.5rem; }
-  html.theme--documenter-dark .file {
-    align-items: stretch;
-    display: flex;
-    justify-content: flex-start;
-    position: relative; }
-    html.theme--documenter-dark .file.is-white .file-cta {
-      background-color: white;
-      border-color: transparent;
-      color: #0a0a0a; }
-    html.theme--documenter-dark .file.is-white:hover .file-cta, html.theme--documenter-dark .file.is-white.is-hovered .file-cta {
-      background-color: #f9f9f9;
-      border-color: transparent;
-      color: #0a0a0a; }
-    html.theme--documenter-dark .file.is-white:focus .file-cta, html.theme--documenter-dark .file.is-white.is-focused .file-cta {
-      border-color: transparent;
-      box-shadow: 0 0 0.5em rgba(255, 255, 255, 0.25);
-      color: #0a0a0a; }
-    html.theme--documenter-dark .file.is-white:active .file-cta, html.theme--documenter-dark .file.is-white.is-active .file-cta {
-      background-color: #f2f2f2;
-      border-color: transparent;
-      color: #0a0a0a; }
-    html.theme--documenter-dark .file.is-black .file-cta {
-      background-color: #0a0a0a;
-      border-color: transparent;
-      color: white; }
-    html.theme--documenter-dark .file.is-black:hover .file-cta, html.theme--documenter-dark .file.is-black.is-hovered .file-cta {
-      background-color: #040404;
-      border-color: transparent;
-      color: white; }
-    html.theme--documenter-dark .file.is-black:focus .file-cta, html.theme--documenter-dark .file.is-black.is-focused .file-cta {
-      border-color: transparent;
-      box-shadow: 0 0 0.5em rgba(10, 10, 10, 0.25);
-      color: white; }
-    html.theme--documenter-dark .file.is-black:active .file-cta, html.theme--documenter-dark .file.is-black.is-active .file-cta {
-      background-color: black;
-      border-color: transparent;
-      color: white; }
-    html.theme--documenter-dark .file.is-light .file-cta {
-      background-color: #ecf0f1;
-      border-color: transparent;
-      color: #282f2f; }
-    html.theme--documenter-dark .file.is-light:hover .file-cta, html.theme--documenter-dark .file.is-light.is-hovered .file-cta {
-      background-color: #e5eaec;
-      border-color: transparent;
-      color: #282f2f; }
-    html.theme--documenter-dark .file.is-light:focus .file-cta, html.theme--documenter-dark .file.is-light.is-focused .file-cta {
-      border-color: transparent;
-      box-shadow: 0 0 0.5em rgba(236, 240, 241, 0.25);
-      color: #282f2f; }
-    html.theme--documenter-dark .file.is-light:active .file-cta, html.theme--documenter-dark .file.is-light.is-active .file-cta {
-      background-color: #dde4e6;
-      border-color: transparent;
-      color: #282f2f; }
-    html.theme--documenter-dark .file.is-dark .file-cta, html.theme--documenter-dark .content kbd.file .file-cta {
-      background-color: #282f2f;
-      border-color: transparent;
-      color: #ecf0f1; }
-    html.theme--documenter-dark .file.is-dark:hover .file-cta, html.theme--documenter-dark .content kbd.file:hover .file-cta, html.theme--documenter-dark .file.is-dark.is-hovered .file-cta, html.theme--documenter-dark .content kbd.file.is-hovered .file-cta {
-      background-color: #232829;
-      border-color: transparent;
-      color: #ecf0f1; }
-    html.theme--documenter-dark .file.is-dark:focus .file-cta, html.theme--documenter-dark .content kbd.file:focus .file-cta, html.theme--documenter-dark .file.is-dark.is-focused .file-cta, html.theme--documenter-dark .content kbd.file.is-focused .file-cta {
-      border-color: transparent;
-      box-shadow: 0 0 0.5em rgba(40, 47, 47, 0.25);
-      color: #ecf0f1; }
-    html.theme--documenter-dark .file.is-dark:active .file-cta, html.theme--documenter-dark .content kbd.file:active .file-cta, html.theme--documenter-dark .file.is-dark.is-active .file-cta, html.theme--documenter-dark .content kbd.file.is-active .file-cta {
-      background-color: #1d2122;
-      border-color: transparent;
-      color: #ecf0f1; }
-    html.theme--documenter-dark .file.is-primary .file-cta, html.theme--documenter-dark .docstring > section > a.file.docs-sourcelink .file-cta {
-      background-color: #375a7f;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-primary:hover .file-cta, html.theme--documenter-dark .docstring > section > a.file.docs-sourcelink:hover .file-cta, html.theme--documenter-dark .file.is-primary.is-hovered .file-cta, html.theme--documenter-dark .docstring > section > a.file.is-hovered.docs-sourcelink .file-cta {
-      background-color: #335476;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-primary:focus .file-cta, html.theme--documenter-dark .docstring > section > a.file.docs-sourcelink:focus .file-cta, html.theme--documenter-dark .file.is-primary.is-focused .file-cta, html.theme--documenter-dark .docstring > section > a.file.is-focused.docs-sourcelink .file-cta {
-      border-color: transparent;
-      box-shadow: 0 0 0.5em rgba(55, 90, 127, 0.25);
-      color: #fff; }
-    html.theme--documenter-dark .file.is-primary:active .file-cta, html.theme--documenter-dark .docstring > section > a.file.docs-sourcelink:active .file-cta, html.theme--documenter-dark .file.is-primary.is-active .file-cta, html.theme--documenter-dark .docstring > section > a.file.is-active.docs-sourcelink .file-cta {
-      background-color: #2f4d6d;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-link .file-cta {
-      background-color: #1abc9c;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-link:hover .file-cta, html.theme--documenter-dark .file.is-link.is-hovered .file-cta {
-      background-color: #18b193;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-link:focus .file-cta, html.theme--documenter-dark .file.is-link.is-focused .file-cta {
-      border-color: transparent;
-      box-shadow: 0 0 0.5em rgba(26, 188, 156, 0.25);
-      color: #fff; }
-    html.theme--documenter-dark .file.is-link:active .file-cta, html.theme--documenter-dark .file.is-link.is-active .file-cta {
-      background-color: #17a689;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-info .file-cta {
-      background-color: #024c7d;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-info:hover .file-cta, html.theme--documenter-dark .file.is-info.is-hovered .file-cta {
-      background-color: #024470;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-info:focus .file-cta, html.theme--documenter-dark .file.is-info.is-focused .file-cta {
-      border-color: transparent;
-      box-shadow: 0 0 0.5em rgba(2, 76, 125, 0.25);
-      color: #fff; }
-    html.theme--documenter-dark .file.is-info:active .file-cta, html.theme--documenter-dark .file.is-info.is-active .file-cta {
-      background-color: #023d64;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-success .file-cta {
-      background-color: #008438;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-success:hover .file-cta, html.theme--documenter-dark .file.is-success.is-hovered .file-cta {
-      background-color: #007733;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-success:focus .file-cta, html.theme--documenter-dark .file.is-success.is-focused .file-cta {
-      border-color: transparent;
-      box-shadow: 0 0 0.5em rgba(0, 132, 56, 0.25);
-      color: #fff; }
-    html.theme--documenter-dark .file.is-success:active .file-cta, html.theme--documenter-dark .file.is-success.is-active .file-cta {
-      background-color: #006b2d;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-warning .file-cta {
-      background-color: #ad8100;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-warning:hover .file-cta, html.theme--documenter-dark .file.is-warning.is-hovered .file-cta {
-      background-color: #a07700;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-warning:focus .file-cta, html.theme--documenter-dark .file.is-warning.is-focused .file-cta {
-      border-color: transparent;
-      box-shadow: 0 0 0.5em rgba(173, 129, 0, 0.25);
-      color: #fff; }
-    html.theme--documenter-dark .file.is-warning:active .file-cta, html.theme--documenter-dark .file.is-warning.is-active .file-cta {
-      background-color: #946e00;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-danger .file-cta {
-      background-color: #9e1b0d;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-danger:hover .file-cta, html.theme--documenter-dark .file.is-danger.is-hovered .file-cta {
-      background-color: #92190c;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-danger:focus .file-cta, html.theme--documenter-dark .file.is-danger.is-focused .file-cta {
-      border-color: transparent;
-      box-shadow: 0 0 0.5em rgba(158, 27, 13, 0.25);
-      color: #fff; }
-    html.theme--documenter-dark .file.is-danger:active .file-cta, html.theme--documenter-dark .file.is-danger.is-active .file-cta {
-      background-color: #86170b;
-      border-color: transparent;
-      color: #fff; }
-    html.theme--documenter-dark .file.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.file {
-      font-size: 0.85em; }
-    html.theme--documenter-dark .file.is-medium {
-      font-size: 1.25rem; }
-      html.theme--documenter-dark .file.is-medium .file-icon .fa {
-        font-size: 21px; }
-    html.theme--documenter-dark .file.is-large {
-      font-size: 1.5rem; }
-      html.theme--documenter-dark .file.is-large .file-icon .fa {
-        font-size: 28px; }
-    html.theme--documenter-dark .file.has-name .file-cta {
-      border-bottom-right-radius: 0;
-      border-top-right-radius: 0; }
-    html.theme--documenter-dark .file.has-name .file-name {
-      border-bottom-left-radius: 0;
-      border-top-left-radius: 0; }
-    html.theme--documenter-dark .file.has-name.is-empty .file-cta {
-      border-radius: 0.4em; }
-    html.theme--documenter-dark .file.has-name.is-empty .file-name {
-      display: none; }
-    html.theme--documenter-dark .file.is-boxed .file-label {
-      flex-direction: column; }
-    html.theme--documenter-dark .file.is-boxed .file-cta {
-      flex-direction: column;
-      height: auto;
-      padding: 1em 3em; }
-    html.theme--documenter-dark .file.is-boxed .file-name {
-      border-width: 0 1px 1px; }
-    html.theme--documenter-dark .file.is-boxed .file-icon {
-      height: 1.5em;
-      width: 1.5em; }
-      html.theme--documenter-dark .file.is-boxed .file-icon .fa {
-        font-size: 21px; }
-    html.theme--documenter-dark .file.is-boxed.is-small .file-icon .fa, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-boxed .file-icon .fa {
-      font-size: 14px; }
-    html.theme--documenter-dark .file.is-boxed.is-medium .file-icon .fa {
-      font-size: 28px; }
-    html.theme--documenter-dark .file.is-boxed.is-large .file-icon .fa {
-      font-size: 35px; }
-    html.theme--documenter-dark .file.is-boxed.has-name .file-cta {
-      border-radius: 0.4em 0.4em 0 0; }
-    html.theme--documenter-dark .file.is-boxed.has-name .file-name {
-      border-radius: 0 0 0.4em 0.4em;
-      border-width: 0 1px 1px; }
-    html.theme--documenter-dark .file.is-centered {
-      justify-content: center; }
-    html.theme--documenter-dark .file.is-fullwidth .file-label {
-      width: 100%; }
-    html.theme--documenter-dark .file.is-fullwidth .file-name {
-      flex-grow: 1;
-      max-width: none; }
-    html.theme--documenter-dark .file.is-right {
-      justify-content: flex-end; }
-      html.theme--documenter-dark .file.is-right .file-cta {
-        border-radius: 0 0.4em 0.4em 0; }
-      html.theme--documenter-dark .file.is-right .file-name {
-        border-radius: 0.4em 0 0 0.4em;
-        border-width: 1px 0 1px 1px;
-        order: -1; }
-  html.theme--documenter-dark .file-label {
-    align-items: stretch;
-    display: flex;
-    cursor: pointer;
-    justify-content: flex-start;
-    overflow: hidden;
-    position: relative; }
-    html.theme--documenter-dark .file-label:hover .file-cta {
-      background-color: #e5eaec;
-      color: #282f2f; }
-    html.theme--documenter-dark .file-label:hover .file-name {
-      border-color: #596668; }
-    html.theme--documenter-dark .file-label:active .file-cta {
-      background-color: #dde4e6;
-      color: #282f2f; }
-    html.theme--documenter-dark .file-label:active .file-name {
-      border-color: #535f61; }
-  html.theme--documenter-dark .file-input {
-    height: 100%;
-    left: 0;
-    opacity: 0;
-    outline: none;
-    position: absolute;
-    top: 0;
-    width: 100%; }
-  html.theme--documenter-dark .file-cta,
-  html.theme--documenter-dark .file-name {
-    border-color: #5e6d6f;
-    border-radius: 0.4em;
-    font-size: 1em;
-    padding-left: 1em;
-    padding-right: 1em;
-    white-space: nowrap; }
-  html.theme--documenter-dark .file-cta {
-    background-color: #ecf0f1;
-    color: #343c3d; }
-  html.theme--documenter-dark .file-name {
-    border-color: #5e6d6f;
-    border-style: solid;
-    border-width: 1px 1px 1px 0;
-    display: block;
-    max-width: 16em;
-    overflow: hidden;
-    text-align: left;
-    text-overflow: ellipsis; }
-  html.theme--documenter-dark .file-icon {
-    align-items: center;
-    display: flex;
-    height: 1em;
-    justify-content: center;
-    margin-right: 0.5em;
-    width: 1em; }
-    html.theme--documenter-dark .file-icon .fa {
-      font-size: 14px; }
-  html.theme--documenter-dark .label {
-    color: #282f2f;
-    display: block;
-    font-size: 15px;
-    font-weight: 700; }
-    html.theme--documenter-dark .label:not(:last-child) {
-      margin-bottom: 0.5em; }
-    html.theme--documenter-dark .label.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.label {
-      font-size: 0.85em; }
-    html.theme--documenter-dark .label.is-medium {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .label.is-large {
-      font-size: 1.5rem; }
-  html.theme--documenter-dark .help {
-    display: block;
-    font-size: 0.85em;
-    margin-top: 0.25rem; }
-    html.theme--documenter-dark .help.is-white {
-      color: white; }
-    html.theme--documenter-dark .help.is-black {
-      color: #0a0a0a; }
-    html.theme--documenter-dark .help.is-light {
-      color: #ecf0f1; }
-    html.theme--documenter-dark .help.is-dark, html.theme--documenter-dark .content kbd.help {
-      color: #282f2f; }
-    html.theme--documenter-dark .help.is-primary, html.theme--documenter-dark .docstring > section > a.help.docs-sourcelink {
-      color: #375a7f; }
-    html.theme--documenter-dark .help.is-link {
-      color: #1abc9c; }
-    html.theme--documenter-dark .help.is-info {
-      color: #024c7d; }
-    html.theme--documenter-dark .help.is-success {
-      color: #008438; }
-    html.theme--documenter-dark .help.is-warning {
-      color: #ad8100; }
-    html.theme--documenter-dark .help.is-danger {
-      color: #9e1b0d; }
-  html.theme--documenter-dark .field:not(:last-child) {
-    margin-bottom: 0.75rem; }
-  html.theme--documenter-dark .field.has-addons {
-    display: flex;
-    justify-content: flex-start; }
-    html.theme--documenter-dark .field.has-addons .control:not(:last-child) {
-      margin-right: -1px; }
-    html.theme--documenter-dark .field.has-addons .control:not(:first-child):not(:last-child) .button,
-    html.theme--documenter-dark .field.has-addons .control:not(:first-child):not(:last-child) .input,
-    html.theme--documenter-dark .field.has-addons .control:not(:first-child):not(:last-child) #documenter .docs-sidebar form.docs-search > input,
-    html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control:not(:first-child):not(:last-child) form.docs-search > input,
-    html.theme--documenter-dark .field.has-addons .control:not(:first-child):not(:last-child) .select select {
-      border-radius: 0; }
-    html.theme--documenter-dark .field.has-addons .control:first-child:not(:only-child) .button,
-    html.theme--documenter-dark .field.has-addons .control:first-child:not(:only-child) .input,
-    html.theme--documenter-dark .field.has-addons .control:first-child:not(:only-child) #documenter .docs-sidebar form.docs-search > input,
-    html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control:first-child:not(:only-child) form.docs-search > input,
-    html.theme--documenter-dark .field.has-addons .control:first-child:not(:only-child) .select select {
-      border-bottom-right-radius: 0;
-      border-top-right-radius: 0; }
-    html.theme--documenter-dark .field.has-addons .control:last-child:not(:only-child) .button,
-    html.theme--documenter-dark .field.has-addons .control:last-child:not(:only-child) .input,
-    html.theme--documenter-dark .field.has-addons .control:last-child:not(:only-child) #documenter .docs-sidebar form.docs-search > input,
-    html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control:last-child:not(:only-child) form.docs-search > input,
-    html.theme--documenter-dark .field.has-addons .control:last-child:not(:only-child) .select select {
-      border-bottom-left-radius: 0;
-      border-top-left-radius: 0; }
-    html.theme--documenter-dark .field.has-addons .control .button:not([disabled]):hover, html.theme--documenter-dark .field.has-addons .control .button.is-hovered:not([disabled]),
-    html.theme--documenter-dark .field.has-addons .control .input:not([disabled]):hover,
-    html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):hover,
-    html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):hover,
-    html.theme--documenter-dark .field.has-addons .control .input.is-hovered:not([disabled]),
-    html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-hovered:not([disabled]),
-    html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-hovered:not([disabled]),
-    html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]):hover,
-    html.theme--documenter-dark .field.has-addons .control .select select.is-hovered:not([disabled]) {
-      z-index: 2; }
-    html.theme--documenter-dark .field.has-addons .control .button:not([disabled]):focus, html.theme--documenter-dark .field.has-addons .control .button.is-focused:not([disabled]), html.theme--documenter-dark .field.has-addons .control .button:not([disabled]):active, html.theme--documenter-dark .field.has-addons .control .button.is-active:not([disabled]),
-    html.theme--documenter-dark .field.has-addons .control .input:not([disabled]):focus,
-    html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):focus,
-    html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):focus,
-    html.theme--documenter-dark .field.has-addons .control .input.is-focused:not([disabled]),
-    html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-focused:not([disabled]),
-    html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-focused:not([disabled]),
-    html.theme--documenter-dark .field.has-addons .control .input:not([disabled]):active,
-    html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):active,
-    html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):active,
-    html.theme--documenter-dark .field.has-addons .control .input.is-active:not([disabled]),
-    html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-active:not([disabled]),
-    html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-active:not([disabled]),
-    html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]):focus,
-    html.theme--documenter-dark .field.has-addons .control .select select.is-focused:not([disabled]),
-    html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]):active,
-    html.theme--documenter-dark .field.has-addons .control .select select.is-active:not([disabled]) {
-      z-index: 3; }
-      html.theme--documenter-dark .field.has-addons .control .button:not([disabled]):focus:hover, html.theme--documenter-dark .field.has-addons .control .button.is-focused:not([disabled]):hover, html.theme--documenter-dark .field.has-addons .control .button:not([disabled]):active:hover, html.theme--documenter-dark .field.has-addons .control .button.is-active:not([disabled]):hover,
-      html.theme--documenter-dark .field.has-addons .control .input:not([disabled]):focus:hover,
-      html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):focus:hover,
-      html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):focus:hover,
-      html.theme--documenter-dark .field.has-addons .control .input.is-focused:not([disabled]):hover,
-      html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-focused:not([disabled]):hover,
-      html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-focused:not([disabled]):hover,
-      html.theme--documenter-dark .field.has-addons .control .input:not([disabled]):active:hover,
-      html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):active:hover,
-      html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):active:hover,
-      html.theme--documenter-dark .field.has-addons .control .input.is-active:not([disabled]):hover,
-      html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-active:not([disabled]):hover,
-      html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-active:not([disabled]):hover,
-      html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]):focus:hover,
-      html.theme--documenter-dark .field.has-addons .control .select select.is-focused:not([disabled]):hover,
-      html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]):active:hover,
-      html.theme--documenter-dark .field.has-addons .control .select select.is-active:not([disabled]):hover {
-        z-index: 4; }
-    html.theme--documenter-dark .field.has-addons .control.is-expanded {
-      flex-grow: 1;
-      flex-shrink: 1; }
-    html.theme--documenter-dark .field.has-addons.has-addons-centered {
-      justify-content: center; }
-    html.theme--documenter-dark .field.has-addons.has-addons-right {
-      justify-content: flex-end; }
-    html.theme--documenter-dark .field.has-addons.has-addons-fullwidth .control {
-      flex-grow: 1;
-      flex-shrink: 0; }
-  html.theme--documenter-dark .field.is-grouped {
-    display: flex;
-    justify-content: flex-start; }
-    html.theme--documenter-dark .field.is-grouped > .control {
-      flex-shrink: 0; }
-      html.theme--documenter-dark .field.is-grouped > .control:not(:last-child) {
-        margin-bottom: 0;
-        margin-right: 0.75rem; }
-      html.theme--documenter-dark .field.is-grouped > .control.is-expanded {
-        flex-grow: 1;
-        flex-shrink: 1; }
-    html.theme--documenter-dark .field.is-grouped.is-grouped-centered {
-      justify-content: center; }
-    html.theme--documenter-dark .field.is-grouped.is-grouped-right {
-      justify-content: flex-end; }
-    html.theme--documenter-dark .field.is-grouped.is-grouped-multiline {
-      flex-wrap: wrap; }
-      html.theme--documenter-dark .field.is-grouped.is-grouped-multiline > .control:last-child, html.theme--documenter-dark .field.is-grouped.is-grouped-multiline > .control:not(:last-child) {
-        margin-bottom: 0.75rem; }
-      html.theme--documenter-dark .field.is-grouped.is-grouped-multiline:last-child {
-        margin-bottom: -0.75rem; }
-      html.theme--documenter-dark .field.is-grouped.is-grouped-multiline:not(:last-child) {
-        margin-bottom: 0; }
-  @media screen and (min-width: 769px), print {
-    html.theme--documenter-dark .field.is-horizontal {
-      display: flex; } }
-  html.theme--documenter-dark .field-label .label {
-    font-size: inherit; }
-  @media screen and (max-width: 768px) {
-    html.theme--documenter-dark .field-label {
-      margin-bottom: 0.5rem; } }
-  @media screen and (min-width: 769px), print {
-    html.theme--documenter-dark .field-label {
-      flex-basis: 0;
-      flex-grow: 1;
-      flex-shrink: 0;
-      margin-right: 1.5rem;
-      text-align: right; }
-      html.theme--documenter-dark .field-label.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.field-label {
-        font-size: 0.85em;
-        padding-top: 0.375em; }
-      html.theme--documenter-dark .field-label.is-normal {
-        padding-top: 0.375em; }
-      html.theme--documenter-dark .field-label.is-medium {
-        font-size: 1.25rem;
-        padding-top: 0.375em; }
-      html.theme--documenter-dark .field-label.is-large {
-        font-size: 1.5rem;
-        padding-top: 0.375em; } }
-  html.theme--documenter-dark .field-body .field .field {
-    margin-bottom: 0; }
-  @media screen and (min-width: 769px), print {
-    html.theme--documenter-dark .field-body {
-      display: flex;
-      flex-basis: 0;
-      flex-grow: 5;
-      flex-shrink: 1; }
-      html.theme--documenter-dark .field-body .field {
-        margin-bottom: 0; }
-      html.theme--documenter-dark .field-body > .field {
-        flex-shrink: 1; }
-        html.theme--documenter-dark .field-body > .field:not(.is-narrow) {
-          flex-grow: 1; }
-        html.theme--documenter-dark .field-body > .field:not(:last-child) {
-          margin-right: 0.75rem; } }
-  html.theme--documenter-dark .control {
-    box-sizing: border-box;
-    clear: both;
-    font-size: 15px;
-    position: relative;
-    text-align: left; }
-    html.theme--documenter-dark .control.has-icons-left .input:focus ~ .icon, html.theme--documenter-dark .control.has-icons-left #documenter .docs-sidebar form.docs-search > input:focus ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-left form.docs-search > input:focus ~ .icon,
-    html.theme--documenter-dark .control.has-icons-left .select:focus ~ .icon, html.theme--documenter-dark .control.has-icons-right .input:focus ~ .icon, html.theme--documenter-dark .control.has-icons-right #documenter .docs-sidebar form.docs-search > input:focus ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-right form.docs-search > input:focus ~ .icon,
-    html.theme--documenter-dark .control.has-icons-right .select:focus ~ .icon {
-      color: #5e6d6f; }
-    html.theme--documenter-dark .control.has-icons-left .input.is-small ~ .icon, html.theme--documenter-dark .control.has-icons-left #documenter .docs-sidebar form.docs-search > input ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-left form.docs-search > input ~ .icon,
-    html.theme--documenter-dark .control.has-icons-left .select.is-small ~ .icon, html.theme--documenter-dark .control.has-icons-right .input.is-small ~ .icon, html.theme--documenter-dark .control.has-icons-right #documenter .docs-sidebar form.docs-search > input ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-right form.docs-search > input ~ .icon,
-    html.theme--documenter-dark .control.has-icons-right .select.is-small ~ .icon {
-      font-size: 0.85em; }
-    html.theme--documenter-dark .control.has-icons-left .input.is-medium ~ .icon, html.theme--documenter-dark .control.has-icons-left #documenter .docs-sidebar form.docs-search > input.is-medium ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-left form.docs-search > input.is-medium ~ .icon,
-    html.theme--documenter-dark .control.has-icons-left .select.is-medium ~ .icon, html.theme--documenter-dark .control.has-icons-right .input.is-medium ~ .icon, html.theme--documenter-dark .control.has-icons-right #documenter .docs-sidebar form.docs-search > input.is-medium ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-right form.docs-search > input.is-medium ~ .icon,
-    html.theme--documenter-dark .control.has-icons-right .select.is-medium ~ .icon {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .control.has-icons-left .input.is-large ~ .icon, html.theme--documenter-dark .control.has-icons-left #documenter .docs-sidebar form.docs-search > input.is-large ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-left form.docs-search > input.is-large ~ .icon,
-    html.theme--documenter-dark .control.has-icons-left .select.is-large ~ .icon, html.theme--documenter-dark .control.has-icons-right .input.is-large ~ .icon, html.theme--documenter-dark .control.has-icons-right #documenter .docs-sidebar form.docs-search > input.is-large ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-right form.docs-search > input.is-large ~ .icon,
-    html.theme--documenter-dark .control.has-icons-right .select.is-large ~ .icon {
-      font-size: 1.5rem; }
-    html.theme--documenter-dark .control.has-icons-left .icon, html.theme--documenter-dark .control.has-icons-right .icon {
-      color: #dbdee0;
-      height: 2.25em;
-      pointer-events: none;
-      position: absolute;
-      top: 0;
-      width: 2.25em;
-      z-index: 4; }
-    html.theme--documenter-dark .control.has-icons-left .input, html.theme--documenter-dark .control.has-icons-left #documenter .docs-sidebar form.docs-search > input, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-left form.docs-search > input,
-    html.theme--documenter-dark .control.has-icons-left .select select {
-      padding-left: 2.25em; }
-    html.theme--documenter-dark .control.has-icons-left .icon.is-left {
-      left: 0; }
-    html.theme--documenter-dark .control.has-icons-right .input, html.theme--documenter-dark .control.has-icons-right #documenter .docs-sidebar form.docs-search > input, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-right form.docs-search > input,
-    html.theme--documenter-dark .control.has-icons-right .select select {
-      padding-right: 2.25em; }
-    html.theme--documenter-dark .control.has-icons-right .icon.is-right {
-      right: 0; }
-    html.theme--documenter-dark .control.is-loading::after {
-      position: absolute !important;
-      right: 0.625em;
-      top: 0.625em;
-      z-index: 4; }
-    html.theme--documenter-dark .control.is-loading.is-small:after, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-loading:after {
-      font-size: 0.85em; }
-    html.theme--documenter-dark .control.is-loading.is-medium:after {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .control.is-loading.is-large:after {
-      font-size: 1.5rem; }
-  html.theme--documenter-dark .breadcrumb {
-    font-size: 15px;
-    white-space: nowrap; }
-    html.theme--documenter-dark .breadcrumb a {
-      align-items: center;
-      color: #1abc9c;
-      display: flex;
-      justify-content: center;
-      padding: 0 0.75em; }
-      html.theme--documenter-dark .breadcrumb a:hover {
-        color: #1dd2af; }
-    html.theme--documenter-dark .breadcrumb li {
-      align-items: center;
-      display: flex; }
-      html.theme--documenter-dark .breadcrumb li:first-child a {
-        padding-left: 0; }
-      html.theme--documenter-dark .breadcrumb li.is-active a {
-        color: #f2f2f2;
-        cursor: default;
-        pointer-events: none; }
-      html.theme--documenter-dark .breadcrumb li + li::before {
-        color: #8c9b9d;
-        content: "\0002f"; }
-    html.theme--documenter-dark .breadcrumb ul,
-    html.theme--documenter-dark .breadcrumb ol {
-      align-items: flex-start;
-      display: flex;
-      flex-wrap: wrap;
-      justify-content: flex-start; }
-    html.theme--documenter-dark .breadcrumb .icon:first-child {
-      margin-right: 0.5em; }
-    html.theme--documenter-dark .breadcrumb .icon:last-child {
-      margin-left: 0.5em; }
-    html.theme--documenter-dark .breadcrumb.is-centered ol,
-    html.theme--documenter-dark .breadcrumb.is-centered ul {
-      justify-content: center; }
-    html.theme--documenter-dark .breadcrumb.is-right ol,
-    html.theme--documenter-dark .breadcrumb.is-right ul {
-      justify-content: flex-end; }
-    html.theme--documenter-dark .breadcrumb.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.breadcrumb {
-      font-size: 0.85em; }
-    html.theme--documenter-dark .breadcrumb.is-medium {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .breadcrumb.is-large {
-      font-size: 1.5rem; }
-    html.theme--documenter-dark .breadcrumb.has-arrow-separator li + li::before {
-      content: "\02192"; }
-    html.theme--documenter-dark .breadcrumb.has-bullet-separator li + li::before {
-      content: "\02022"; }
-    html.theme--documenter-dark .breadcrumb.has-dot-separator li + li::before {
-      content: "\000b7"; }
-    html.theme--documenter-dark .breadcrumb.has-succeeds-separator li + li::before {
-      content: "\0227B"; }
-  html.theme--documenter-dark .card {
-    background-color: white;
-    box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
-    color: #fff;
-    max-width: 100%;
-    position: relative; }
-  html.theme--documenter-dark .card-header {
-    background-color: transparent;
-    align-items: stretch;
-    box-shadow: 0 1px 2px rgba(10, 10, 10, 0.1);
-    display: flex; }
-  html.theme--documenter-dark .card-header-title {
-    align-items: center;
-    color: #f2f2f2;
-    display: flex;
-    flex-grow: 1;
-    font-weight: 700;
-    padding: 0.75rem; }
-    html.theme--documenter-dark .card-header-title.is-centered {
-      justify-content: center; }
-  html.theme--documenter-dark .card-header-icon {
-    align-items: center;
-    cursor: pointer;
-    display: flex;
-    justify-content: center;
-    padding: 0.75rem; }
-  html.theme--documenter-dark .card-image {
-    display: block;
-    position: relative; }
-  html.theme--documenter-dark .card-content {
-    background-color: transparent;
-    padding: 1.5rem; }
-  html.theme--documenter-dark .card-footer {
-    background-color: transparent;
-    border-top: 1px solid #5e6d6f;
-    align-items: stretch;
-    display: flex; }
-  html.theme--documenter-dark .card-footer-item {
-    align-items: center;
-    display: flex;
-    flex-basis: 0;
-    flex-grow: 1;
-    flex-shrink: 0;
-    justify-content: center;
-    padding: 0.75rem; }
-    html.theme--documenter-dark .card-footer-item:not(:last-child) {
-      border-right: 1px solid #5e6d6f; }
-  html.theme--documenter-dark .card .media:not(:last-child) {
-    margin-bottom: 1.5rem; }
-  html.theme--documenter-dark .dropdown {
-    display: inline-flex;
-    position: relative;
-    vertical-align: top; }
-    html.theme--documenter-dark .dropdown.is-active .dropdown-menu, html.theme--documenter-dark .dropdown.is-hoverable:hover .dropdown-menu {
-      display: block; }
-    html.theme--documenter-dark .dropdown.is-right .dropdown-menu {
-      left: auto;
-      right: 0; }
-    html.theme--documenter-dark .dropdown.is-up .dropdown-menu {
-      bottom: 100%;
-      padding-bottom: 4px;
-      padding-top: initial;
-      top: auto; }
-  html.theme--documenter-dark .dropdown-menu {
-    display: none;
-    left: 0;
-    min-width: 12rem;
-    padding-top: 4px;
-    position: absolute;
-    top: 100%;
-    z-index: 20; }
-  html.theme--documenter-dark .dropdown-content {
-    background-color: #282f2f;
-    border-radius: 0.4em;
-    box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
-    padding-bottom: 0.5rem;
-    padding-top: 0.5rem; }
-  html.theme--documenter-dark .dropdown-item {
-    color: #fff;
-    display: block;
-    font-size: 0.875rem;
-    line-height: 1.5;
-    padding: 0.375rem 1rem;
-    position: relative; }
-  html.theme--documenter-dark a.dropdown-item,
-  html.theme--documenter-dark button.dropdown-item {
-    padding-right: 3rem;
-    text-align: left;
-    white-space: nowrap;
-    width: 100%; }
-    html.theme--documenter-dark a.dropdown-item:hover,
-    html.theme--documenter-dark button.dropdown-item:hover {
-      background-color: #282f2f;
-      color: #0a0a0a; }
-    html.theme--documenter-dark a.dropdown-item.is-active,
-    html.theme--documenter-dark button.dropdown-item.is-active {
-      background-color: #1abc9c;
-      color: #fff; }
-  html.theme--documenter-dark .dropdown-divider {
-    background-color: #5e6d6f;
-    border: none;
-    display: block;
-    height: 1px;
-    margin: 0.5rem 0; }
-  html.theme--documenter-dark .level {
-    align-items: center;
-    justify-content: space-between; }
-    html.theme--documenter-dark .level code {
-      border-radius: 0.4em; }
-    html.theme--documenter-dark .level img {
-      display: inline-block;
-      vertical-align: top; }
-    html.theme--documenter-dark .level.is-mobile {
-      display: flex; }
-      html.theme--documenter-dark .level.is-mobile .level-left,
-      html.theme--documenter-dark .level.is-mobile .level-right {
-        display: flex; }
-      html.theme--documenter-dark .level.is-mobile .level-left + .level-right {
-        margin-top: 0; }
-      html.theme--documenter-dark .level.is-mobile .level-item:not(:last-child) {
-        margin-bottom: 0;
-        margin-right: 0.75rem; }
-      html.theme--documenter-dark .level.is-mobile .level-item:not(.is-narrow) {
-        flex-grow: 1; }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .level {
-        display: flex; }
-        html.theme--documenter-dark .level > .level-item:not(.is-narrow) {
-          flex-grow: 1; } }
-  html.theme--documenter-dark .level-item {
-    align-items: center;
-    display: flex;
-    flex-basis: auto;
-    flex-grow: 0;
-    flex-shrink: 0;
-    justify-content: center; }
-    html.theme--documenter-dark .level-item .title,
-    html.theme--documenter-dark .level-item .subtitle {
-      margin-bottom: 0; }
-    @media screen and (max-width: 768px) {
-      html.theme--documenter-dark .level-item:not(:last-child) {
-        margin-bottom: 0.75rem; } }
-  html.theme--documenter-dark .level-left,
-  html.theme--documenter-dark .level-right {
-    flex-basis: auto;
-    flex-grow: 0;
-    flex-shrink: 0; }
-    html.theme--documenter-dark .level-left .level-item.is-flexible,
-    html.theme--documenter-dark .level-right .level-item.is-flexible {
-      flex-grow: 1; }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .level-left .level-item:not(:last-child),
-      html.theme--documenter-dark .level-right .level-item:not(:last-child) {
-        margin-right: 0.75rem; } }
-  html.theme--documenter-dark .level-left {
-    align-items: center;
-    justify-content: flex-start; }
-    @media screen and (max-width: 768px) {
-      html.theme--documenter-dark .level-left + .level-right {
-        margin-top: 1.5rem; } }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .level-left {
-        display: flex; } }
-  html.theme--documenter-dark .level-right {
-    align-items: center;
-    justify-content: flex-end; }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .level-right {
-        display: flex; } }
-  html.theme--documenter-dark .list {
-    background-color: white;
-    border-radius: 0.4em;
-    box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1); }
-  html.theme--documenter-dark .list-item {
-    display: block;
-    padding: 0.5em 1em; }
-    html.theme--documenter-dark .list-item:not(a) {
-      color: #fff; }
-    html.theme--documenter-dark .list-item:first-child {
-      border-top-left-radius: 0.4em;
-      border-top-right-radius: 0.4em; }
-    html.theme--documenter-dark .list-item:last-child {
-      border-bottom-left-radius: 0.4em;
-      border-bottom-right-radius: 0.4em; }
-    html.theme--documenter-dark .list-item:not(:last-child) {
-      border-bottom: 1px solid #5e6d6f; }
-    html.theme--documenter-dark .list-item.is-active {
-      background-color: #1abc9c;
-      color: #fff; }
-  html.theme--documenter-dark a.list-item {
-    background-color: #282f2f;
-    cursor: pointer; }
-  html.theme--documenter-dark .media {
-    align-items: flex-start;
-    display: flex;
-    text-align: left; }
-    html.theme--documenter-dark .media .content:not(:last-child) {
-      margin-bottom: 0.75rem; }
-    html.theme--documenter-dark .media .media {
-      border-top: 1px solid rgba(94, 109, 111, 0.5);
-      display: flex;
-      padding-top: 0.75rem; }
-      html.theme--documenter-dark .media .media .content:not(:last-child),
-      html.theme--documenter-dark .media .media .control:not(:last-child) {
-        margin-bottom: 0.5rem; }
-      html.theme--documenter-dark .media .media .media {
-        padding-top: 0.5rem; }
-        html.theme--documenter-dark .media .media .media + .media {
-          margin-top: 0.5rem; }
-    html.theme--documenter-dark .media + .media {
-      border-top: 1px solid rgba(94, 109, 111, 0.5);
-      margin-top: 1rem;
-      padding-top: 1rem; }
-    html.theme--documenter-dark .media.is-large + .media {
-      margin-top: 1.5rem;
-      padding-top: 1.5rem; }
-  html.theme--documenter-dark .media-left,
-  html.theme--documenter-dark .media-right {
-    flex-basis: auto;
-    flex-grow: 0;
-    flex-shrink: 0; }
-  html.theme--documenter-dark .media-left {
-    margin-right: 1rem; }
-  html.theme--documenter-dark .media-right {
-    margin-left: 1rem; }
-  html.theme--documenter-dark .media-content {
-    flex-basis: auto;
-    flex-grow: 1;
-    flex-shrink: 1;
-    text-align: left; }
-  @media screen and (max-width: 768px) {
-    html.theme--documenter-dark .media-content {
-      overflow-x: auto; } }
-  html.theme--documenter-dark .menu {
-    font-size: 15px; }
-    html.theme--documenter-dark .menu.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.menu {
-      font-size: 0.85em; }
-    html.theme--documenter-dark .menu.is-medium {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .menu.is-large {
-      font-size: 1.5rem; }
-  html.theme--documenter-dark .menu-list {
-    line-height: 1.25; }
-    html.theme--documenter-dark .menu-list a {
-      border-radius: 3px;
-      color: #fff;
-      display: block;
-      padding: 0.5em 0.75em; }
-      html.theme--documenter-dark .menu-list a:hover {
-        background-color: #282f2f;
-        color: #f2f2f2; }
-      html.theme--documenter-dark .menu-list a.is-active {
-        background-color: #1abc9c;
-        color: #fff; }
-    html.theme--documenter-dark .menu-list li ul {
-      border-left: 1px solid #5e6d6f;
-      margin: 0.75em;
-      padding-left: 0.75em; }
-  html.theme--documenter-dark .menu-label {
-    color: white;
-    font-size: 0.75em;
-    letter-spacing: 0.1em;
-    text-transform: uppercase; }
-    html.theme--documenter-dark .menu-label:not(:first-child) {
-      margin-top: 1em; }
-    html.theme--documenter-dark .menu-label:not(:last-child) {
-      margin-bottom: 1em; }
-  html.theme--documenter-dark .message {
-    background-color: #282f2f;
-    border-radius: 0.4em;
-    font-size: 15px; }
-    html.theme--documenter-dark .message strong {
-      color: currentColor; }
-    html.theme--documenter-dark .message a:not(.button):not(.tag):not(.dropdown-item) {
-      color: currentColor;
-      text-decoration: underline; }
-    html.theme--documenter-dark .message.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.message {
-      font-size: 0.85em; }
-    html.theme--documenter-dark .message.is-medium {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .message.is-large {
-      font-size: 1.5rem; }
-    html.theme--documenter-dark .message.is-white {
-      background-color: white; }
-      html.theme--documenter-dark .message.is-white .message-header {
-        background-color: white;
-        color: #0a0a0a; }
-      html.theme--documenter-dark .message.is-white .message-body {
-        border-color: white;
-        color: #4d4d4d; }
-    html.theme--documenter-dark .message.is-black {
-      background-color: #fafafa; }
-      html.theme--documenter-dark .message.is-black .message-header {
-        background-color: #0a0a0a;
-        color: white; }
-      html.theme--documenter-dark .message.is-black .message-body {
-        border-color: #0a0a0a;
-        color: #090909; }
-    html.theme--documenter-dark .message.is-light {
-      background-color: #f9fafb; }
-      html.theme--documenter-dark .message.is-light .message-header {
-        background-color: #ecf0f1;
-        color: #282f2f; }
-      html.theme--documenter-dark .message.is-light .message-body {
-        border-color: #ecf0f1;
-        color: #505050; }
-    html.theme--documenter-dark .message.is-dark, html.theme--documenter-dark .content kbd.message {
-      background-color: #f9fafa; }
-      html.theme--documenter-dark .message.is-dark .message-header, html.theme--documenter-dark .content kbd.message .message-header {
-        background-color: #282f2f;
-        color: #ecf0f1; }
-      html.theme--documenter-dark .message.is-dark .message-body, html.theme--documenter-dark .content kbd.message .message-body {
-        border-color: #282f2f;
-        color: #212526; }
-    html.theme--documenter-dark .message.is-primary, html.theme--documenter-dark .docstring > section > a.message.docs-sourcelink {
-      background-color: #f8fafc; }
-      html.theme--documenter-dark .message.is-primary .message-header, html.theme--documenter-dark .docstring > section > a.message.docs-sourcelink .message-header {
-        background-color: #375a7f;
-        color: #fff; }
-      html.theme--documenter-dark .message.is-primary .message-body, html.theme--documenter-dark .docstring > section > a.message.docs-sourcelink .message-body {
-        border-color: #375a7f;
-        color: #2b4159; }
-    html.theme--documenter-dark .message.is-link {
-      background-color: #f6fefc; }
-      html.theme--documenter-dark .message.is-link .message-header {
-        background-color: #1abc9c;
-        color: #fff; }
-      html.theme--documenter-dark .message.is-link .message-body {
-        border-color: #1abc9c;
-        color: #0b2f28; }
-    html.theme--documenter-dark .message.is-info {
-      background-color: #f5fbff; }
-      html.theme--documenter-dark .message.is-info .message-header {
-        background-color: #024c7d;
-        color: #fff; }
-      html.theme--documenter-dark .message.is-info .message-body {
-        border-color: #024c7d;
-        color: #033659; }
-    html.theme--documenter-dark .message.is-success {
-      background-color: #f5fff9; }
-      html.theme--documenter-dark .message.is-success .message-header {
-        background-color: #008438;
-        color: #fff; }
-      html.theme--documenter-dark .message.is-success .message-body {
-        border-color: #008438;
-        color: #023518; }
-    html.theme--documenter-dark .message.is-warning {
-      background-color: #fffcf5; }
-      html.theme--documenter-dark .message.is-warning .message-header {
-        background-color: #ad8100;
-        color: #fff; }
-      html.theme--documenter-dark .message.is-warning .message-body {
-        border-color: #ad8100;
-        color: #3d2e03; }
-    html.theme--documenter-dark .message.is-danger {
-      background-color: #fef6f6; }
-      html.theme--documenter-dark .message.is-danger .message-header {
-        background-color: #9e1b0d;
-        color: #fff; }
-      html.theme--documenter-dark .message.is-danger .message-body {
-        border-color: #9e1b0d;
-        color: #7a170c; }
-  html.theme--documenter-dark .message-header {
-    align-items: center;
-    background-color: #fff;
-    border-radius: 0.4em 0.4em 0 0;
-    color: rgba(0, 0, 0, 0.7);
-    display: flex;
-    font-weight: 700;
-    justify-content: space-between;
-    line-height: 1.25;
-    padding: 0.75em 1em;
-    position: relative; }
-    html.theme--documenter-dark .message-header .delete {
-      flex-grow: 0;
-      flex-shrink: 0;
-      margin-left: 0.75em; }
-    html.theme--documenter-dark .message-header + .message-body {
-      border-width: 0;
-      border-top-left-radius: 0;
-      border-top-right-radius: 0; }
-  html.theme--documenter-dark .message-body {
-    border-color: #5e6d6f;
-    border-radius: 0.4em;
-    border-style: solid;
-    border-width: 0 0 0 4px;
-    color: #fff;
-    padding: 1.25em 1.5em; }
-    html.theme--documenter-dark .message-body code,
-    html.theme--documenter-dark .message-body pre {
-      background-color: white; }
-    html.theme--documenter-dark .message-body pre code {
-      background-color: transparent; }
-  html.theme--documenter-dark .modal {
-    align-items: center;
-    display: none;
-    flex-direction: column;
-    justify-content: center;
-    overflow: hidden;
-    position: fixed;
-    z-index: 40; }
-    html.theme--documenter-dark .modal.is-active {
-      display: flex; }
-  html.theme--documenter-dark .modal-background {
-    background-color: rgba(10, 10, 10, 0.86); }
-  html.theme--documenter-dark .modal-content,
-  html.theme--documenter-dark .modal-card {
-    margin: 0 20px;
-    max-height: calc(100vh - 160px);
-    overflow: auto;
-    position: relative;
-    width: 100%; }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .modal-content,
-      html.theme--documenter-dark .modal-card {
-        margin: 0 auto;
-        max-height: calc(100vh - 40px);
-        width: 640px; } }
-  html.theme--documenter-dark .modal-close {
-    background: none;
-    height: 40px;
-    position: fixed;
-    right: 20px;
-    top: 20px;
-    width: 40px; }
-  html.theme--documenter-dark .modal-card {
-    display: flex;
-    flex-direction: column;
-    max-height: calc(100vh - 40px);
-    overflow: hidden;
-    -ms-overflow-y: visible; }
-  html.theme--documenter-dark .modal-card-head,
-  html.theme--documenter-dark .modal-card-foot {
-    align-items: center;
-    background-color: #282f2f;
-    display: flex;
-    flex-shrink: 0;
-    justify-content: flex-start;
-    padding: 20px;
-    position: relative; }
-  html.theme--documenter-dark .modal-card-head {
-    border-bottom: 1px solid #5e6d6f;
-    border-top-left-radius: 8px;
-    border-top-right-radius: 8px; }
-  html.theme--documenter-dark .modal-card-title {
-    color: #f2f2f2;
-    flex-grow: 1;
-    flex-shrink: 0;
-    font-size: 1.5rem;
-    line-height: 1; }
-  html.theme--documenter-dark .modal-card-foot {
-    border-bottom-left-radius: 8px;
-    border-bottom-right-radius: 8px;
-    border-top: 1px solid #5e6d6f; }
-    html.theme--documenter-dark .modal-card-foot .button:not(:last-child) {
-      margin-right: 0.5em; }
-  html.theme--documenter-dark .modal-card-body {
-    -webkit-overflow-scrolling: touch;
-    background-color: white;
-    flex-grow: 1;
-    flex-shrink: 1;
-    overflow: auto;
-    padding: 20px; }
-  html.theme--documenter-dark .navbar {
-    background-color: #375a7f;
-    min-height: 4rem;
-    position: relative;
-    z-index: 30; }
-    html.theme--documenter-dark .navbar.is-white {
-      background-color: white;
-      color: #0a0a0a; }
-      html.theme--documenter-dark .navbar.is-white .navbar-brand > .navbar-item,
-      html.theme--documenter-dark .navbar.is-white .navbar-brand .navbar-link {
-        color: #0a0a0a; }
-      html.theme--documenter-dark .navbar.is-white .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-white .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-white .navbar-brand > a.navbar-item.is-active,
-      html.theme--documenter-dark .navbar.is-white .navbar-brand .navbar-link:focus,
-      html.theme--documenter-dark .navbar.is-white .navbar-brand .navbar-link:hover,
-      html.theme--documenter-dark .navbar.is-white .navbar-brand .navbar-link.is-active {
-        background-color: #f2f2f2;
-        color: #0a0a0a; }
-      html.theme--documenter-dark .navbar.is-white .navbar-brand .navbar-link::after {
-        border-color: #0a0a0a; }
-      html.theme--documenter-dark .navbar.is-white .navbar-burger {
-        color: #0a0a0a; }
-      @media screen and (min-width: 1056px) {
-        html.theme--documenter-dark .navbar.is-white .navbar-start > .navbar-item,
-        html.theme--documenter-dark .navbar.is-white .navbar-start .navbar-link,
-        html.theme--documenter-dark .navbar.is-white .navbar-end > .navbar-item,
-        html.theme--documenter-dark .navbar.is-white .navbar-end .navbar-link {
-          color: #0a0a0a; }
-        html.theme--documenter-dark .navbar.is-white .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-white .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-white .navbar-start > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-white .navbar-start .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-white .navbar-start .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-white .navbar-start .navbar-link.is-active,
-        html.theme--documenter-dark .navbar.is-white .navbar-end > a.navbar-item:focus,
-        html.theme--documenter-dark .navbar.is-white .navbar-end > a.navbar-item:hover,
-        html.theme--documenter-dark .navbar.is-white .navbar-end > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-white .navbar-end .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-white .navbar-end .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-white .navbar-end .navbar-link.is-active {
-          background-color: #f2f2f2;
-          color: #0a0a0a; }
-        html.theme--documenter-dark .navbar.is-white .navbar-start .navbar-link::after,
-        html.theme--documenter-dark .navbar.is-white .navbar-end .navbar-link::after {
-          border-color: #0a0a0a; }
-        html.theme--documenter-dark .navbar.is-white .navbar-item.has-dropdown:focus .navbar-link,
-        html.theme--documenter-dark .navbar.is-white .navbar-item.has-dropdown:hover .navbar-link,
-        html.theme--documenter-dark .navbar.is-white .navbar-item.has-dropdown.is-active .navbar-link {
-          background-color: #f2f2f2;
-          color: #0a0a0a; }
-        html.theme--documenter-dark .navbar.is-white .navbar-dropdown a.navbar-item.is-active {
-          background-color: white;
-          color: #0a0a0a; } }
-    html.theme--documenter-dark .navbar.is-black {
-      background-color: #0a0a0a;
-      color: white; }
-      html.theme--documenter-dark .navbar.is-black .navbar-brand > .navbar-item,
-      html.theme--documenter-dark .navbar.is-black .navbar-brand .navbar-link {
-        color: white; }
-      html.theme--documenter-dark .navbar.is-black .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-black .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-black .navbar-brand > a.navbar-item.is-active,
-      html.theme--documenter-dark .navbar.is-black .navbar-brand .navbar-link:focus,
-      html.theme--documenter-dark .navbar.is-black .navbar-brand .navbar-link:hover,
-      html.theme--documenter-dark .navbar.is-black .navbar-brand .navbar-link.is-active {
-        background-color: black;
-        color: white; }
-      html.theme--documenter-dark .navbar.is-black .navbar-brand .navbar-link::after {
-        border-color: white; }
-      html.theme--documenter-dark .navbar.is-black .navbar-burger {
-        color: white; }
-      @media screen and (min-width: 1056px) {
-        html.theme--documenter-dark .navbar.is-black .navbar-start > .navbar-item,
-        html.theme--documenter-dark .navbar.is-black .navbar-start .navbar-link,
-        html.theme--documenter-dark .navbar.is-black .navbar-end > .navbar-item,
-        html.theme--documenter-dark .navbar.is-black .navbar-end .navbar-link {
-          color: white; }
-        html.theme--documenter-dark .navbar.is-black .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-black .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-black .navbar-start > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-black .navbar-start .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-black .navbar-start .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-black .navbar-start .navbar-link.is-active,
-        html.theme--documenter-dark .navbar.is-black .navbar-end > a.navbar-item:focus,
-        html.theme--documenter-dark .navbar.is-black .navbar-end > a.navbar-item:hover,
-        html.theme--documenter-dark .navbar.is-black .navbar-end > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-black .navbar-end .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-black .navbar-end .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-black .navbar-end .navbar-link.is-active {
-          background-color: black;
-          color: white; }
-        html.theme--documenter-dark .navbar.is-black .navbar-start .navbar-link::after,
-        html.theme--documenter-dark .navbar.is-black .navbar-end .navbar-link::after {
-          border-color: white; }
-        html.theme--documenter-dark .navbar.is-black .navbar-item.has-dropdown:focus .navbar-link,
-        html.theme--documenter-dark .navbar.is-black .navbar-item.has-dropdown:hover .navbar-link,
-        html.theme--documenter-dark .navbar.is-black .navbar-item.has-dropdown.is-active .navbar-link {
-          background-color: black;
-          color: white; }
-        html.theme--documenter-dark .navbar.is-black .navbar-dropdown a.navbar-item.is-active {
-          background-color: #0a0a0a;
-          color: white; } }
-    html.theme--documenter-dark .navbar.is-light {
-      background-color: #ecf0f1;
-      color: #282f2f; }
-      html.theme--documenter-dark .navbar.is-light .navbar-brand > .navbar-item,
-      html.theme--documenter-dark .navbar.is-light .navbar-brand .navbar-link {
-        color: #282f2f; }
-      html.theme--documenter-dark .navbar.is-light .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-light .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-light .navbar-brand > a.navbar-item.is-active,
-      html.theme--documenter-dark .navbar.is-light .navbar-brand .navbar-link:focus,
-      html.theme--documenter-dark .navbar.is-light .navbar-brand .navbar-link:hover,
-      html.theme--documenter-dark .navbar.is-light .navbar-brand .navbar-link.is-active {
-        background-color: #dde4e6;
-        color: #282f2f; }
-      html.theme--documenter-dark .navbar.is-light .navbar-brand .navbar-link::after {
-        border-color: #282f2f; }
-      html.theme--documenter-dark .navbar.is-light .navbar-burger {
-        color: #282f2f; }
-      @media screen and (min-width: 1056px) {
-        html.theme--documenter-dark .navbar.is-light .navbar-start > .navbar-item,
-        html.theme--documenter-dark .navbar.is-light .navbar-start .navbar-link,
-        html.theme--documenter-dark .navbar.is-light .navbar-end > .navbar-item,
-        html.theme--documenter-dark .navbar.is-light .navbar-end .navbar-link {
-          color: #282f2f; }
-        html.theme--documenter-dark .navbar.is-light .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-light .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-light .navbar-start > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-light .navbar-start .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-light .navbar-start .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-light .navbar-start .navbar-link.is-active,
-        html.theme--documenter-dark .navbar.is-light .navbar-end > a.navbar-item:focus,
-        html.theme--documenter-dark .navbar.is-light .navbar-end > a.navbar-item:hover,
-        html.theme--documenter-dark .navbar.is-light .navbar-end > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-light .navbar-end .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-light .navbar-end .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-light .navbar-end .navbar-link.is-active {
-          background-color: #dde4e6;
-          color: #282f2f; }
-        html.theme--documenter-dark .navbar.is-light .navbar-start .navbar-link::after,
-        html.theme--documenter-dark .navbar.is-light .navbar-end .navbar-link::after {
-          border-color: #282f2f; }
-        html.theme--documenter-dark .navbar.is-light .navbar-item.has-dropdown:focus .navbar-link,
-        html.theme--documenter-dark .navbar.is-light .navbar-item.has-dropdown:hover .navbar-link,
-        html.theme--documenter-dark .navbar.is-light .navbar-item.has-dropdown.is-active .navbar-link {
-          background-color: #dde4e6;
-          color: #282f2f; }
-        html.theme--documenter-dark .navbar.is-light .navbar-dropdown a.navbar-item.is-active {
-          background-color: #ecf0f1;
-          color: #282f2f; } }
-    html.theme--documenter-dark .navbar.is-dark, html.theme--documenter-dark .content kbd.navbar {
-      background-color: #282f2f;
-      color: #ecf0f1; }
-      html.theme--documenter-dark .navbar.is-dark .navbar-brand > .navbar-item, html.theme--documenter-dark .content kbd.navbar .navbar-brand > .navbar-item,
-      html.theme--documenter-dark .navbar.is-dark .navbar-brand .navbar-link,
-      html.theme--documenter-dark .content kbd.navbar .navbar-brand .navbar-link {
-        color: #ecf0f1; }
-      html.theme--documenter-dark .navbar.is-dark .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .content kbd.navbar .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-dark .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .content kbd.navbar .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-dark .navbar-brand > a.navbar-item.is-active, html.theme--documenter-dark .content kbd.navbar .navbar-brand > a.navbar-item.is-active,
-      html.theme--documenter-dark .navbar.is-dark .navbar-brand .navbar-link:focus,
-      html.theme--documenter-dark .content kbd.navbar .navbar-brand .navbar-link:focus,
-      html.theme--documenter-dark .navbar.is-dark .navbar-brand .navbar-link:hover,
-      html.theme--documenter-dark .content kbd.navbar .navbar-brand .navbar-link:hover,
-      html.theme--documenter-dark .navbar.is-dark .navbar-brand .navbar-link.is-active,
-      html.theme--documenter-dark .content kbd.navbar .navbar-brand .navbar-link.is-active {
-        background-color: #1d2122;
-        color: #ecf0f1; }
-      html.theme--documenter-dark .navbar.is-dark .navbar-brand .navbar-link::after, html.theme--documenter-dark .content kbd.navbar .navbar-brand .navbar-link::after {
-        border-color: #ecf0f1; }
-      html.theme--documenter-dark .navbar.is-dark .navbar-burger, html.theme--documenter-dark .content kbd.navbar .navbar-burger {
-        color: #ecf0f1; }
-      @media screen and (min-width: 1056px) {
-        html.theme--documenter-dark .navbar.is-dark .navbar-start > .navbar-item, html.theme--documenter-dark .content kbd.navbar .navbar-start > .navbar-item,
-        html.theme--documenter-dark .navbar.is-dark .navbar-start .navbar-link,
-        html.theme--documenter-dark .content kbd.navbar .navbar-start .navbar-link,
-        html.theme--documenter-dark .navbar.is-dark .navbar-end > .navbar-item,
-        html.theme--documenter-dark .content kbd.navbar .navbar-end > .navbar-item,
-        html.theme--documenter-dark .navbar.is-dark .navbar-end .navbar-link,
-        html.theme--documenter-dark .content kbd.navbar .navbar-end .navbar-link {
-          color: #ecf0f1; }
-        html.theme--documenter-dark .navbar.is-dark .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .content kbd.navbar .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-dark .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .content kbd.navbar .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-dark .navbar-start > a.navbar-item.is-active, html.theme--documenter-dark .content kbd.navbar .navbar-start > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-dark .navbar-start .navbar-link:focus,
-        html.theme--documenter-dark .content kbd.navbar .navbar-start .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-dark .navbar-start .navbar-link:hover,
-        html.theme--documenter-dark .content kbd.navbar .navbar-start .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-dark .navbar-start .navbar-link.is-active,
-        html.theme--documenter-dark .content kbd.navbar .navbar-start .navbar-link.is-active,
-        html.theme--documenter-dark .navbar.is-dark .navbar-end > a.navbar-item:focus,
-        html.theme--documenter-dark .content kbd.navbar .navbar-end > a.navbar-item:focus,
-        html.theme--documenter-dark .navbar.is-dark .navbar-end > a.navbar-item:hover,
-        html.theme--documenter-dark .content kbd.navbar .navbar-end > a.navbar-item:hover,
-        html.theme--documenter-dark .navbar.is-dark .navbar-end > a.navbar-item.is-active,
-        html.theme--documenter-dark .content kbd.navbar .navbar-end > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-dark .navbar-end .navbar-link:focus,
-        html.theme--documenter-dark .content kbd.navbar .navbar-end .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-dark .navbar-end .navbar-link:hover,
-        html.theme--documenter-dark .content kbd.navbar .navbar-end .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-dark .navbar-end .navbar-link.is-active,
-        html.theme--documenter-dark .content kbd.navbar .navbar-end .navbar-link.is-active {
-          background-color: #1d2122;
-          color: #ecf0f1; }
-        html.theme--documenter-dark .navbar.is-dark .navbar-start .navbar-link::after, html.theme--documenter-dark .content kbd.navbar .navbar-start .navbar-link::after,
-        html.theme--documenter-dark .navbar.is-dark .navbar-end .navbar-link::after,
-        html.theme--documenter-dark .content kbd.navbar .navbar-end .navbar-link::after {
-          border-color: #ecf0f1; }
-        html.theme--documenter-dark .navbar.is-dark .navbar-item.has-dropdown:focus .navbar-link, html.theme--documenter-dark .content kbd.navbar .navbar-item.has-dropdown:focus .navbar-link,
-        html.theme--documenter-dark .navbar.is-dark .navbar-item.has-dropdown:hover .navbar-link,
-        html.theme--documenter-dark .content kbd.navbar .navbar-item.has-dropdown:hover .navbar-link,
-        html.theme--documenter-dark .navbar.is-dark .navbar-item.has-dropdown.is-active .navbar-link,
-        html.theme--documenter-dark .content kbd.navbar .navbar-item.has-dropdown.is-active .navbar-link {
-          background-color: #1d2122;
-          color: #ecf0f1; }
-        html.theme--documenter-dark .navbar.is-dark .navbar-dropdown a.navbar-item.is-active, html.theme--documenter-dark .content kbd.navbar .navbar-dropdown a.navbar-item.is-active {
-          background-color: #282f2f;
-          color: #ecf0f1; } }
-    html.theme--documenter-dark .navbar.is-primary, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink {
-      background-color: #375a7f;
-      color: #fff; }
-      html.theme--documenter-dark .navbar.is-primary .navbar-brand > .navbar-item, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand > .navbar-item,
-      html.theme--documenter-dark .navbar.is-primary .navbar-brand .navbar-link,
-      html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link {
-        color: #fff; }
-      html.theme--documenter-dark .navbar.is-primary .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-primary .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-primary .navbar-brand > a.navbar-item.is-active, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand > a.navbar-item.is-active,
-      html.theme--documenter-dark .navbar.is-primary .navbar-brand .navbar-link:focus,
-      html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link:focus,
-      html.theme--documenter-dark .navbar.is-primary .navbar-brand .navbar-link:hover,
-      html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link:hover,
-      html.theme--documenter-dark .navbar.is-primary .navbar-brand .navbar-link.is-active,
-      html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link.is-active {
-        background-color: #2f4d6d;
-        color: #fff; }
-      html.theme--documenter-dark .navbar.is-primary .navbar-brand .navbar-link::after, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link::after {
-        border-color: #fff; }
-      html.theme--documenter-dark .navbar.is-primary .navbar-burger, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-burger {
-        color: #fff; }
-      @media screen and (min-width: 1056px) {
-        html.theme--documenter-dark .navbar.is-primary .navbar-start > .navbar-item, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start > .navbar-item,
-        html.theme--documenter-dark .navbar.is-primary .navbar-start .navbar-link,
-        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link,
-        html.theme--documenter-dark .navbar.is-primary .navbar-end > .navbar-item,
-        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end > .navbar-item,
-        html.theme--documenter-dark .navbar.is-primary .navbar-end .navbar-link,
-        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link {
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-primary .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-primary .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-primary .navbar-start > a.navbar-item.is-active, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-primary .navbar-start .navbar-link:focus,
-        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-primary .navbar-start .navbar-link:hover,
-        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-primary .navbar-start .navbar-link.is-active,
-        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link.is-active,
-        html.theme--documenter-dark .navbar.is-primary .navbar-end > a.navbar-item:focus,
-        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end > a.navbar-item:focus,
-        html.theme--documenter-dark .navbar.is-primary .navbar-end > a.navbar-item:hover,
-        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end > a.navbar-item:hover,
-        html.theme--documenter-dark .navbar.is-primary .navbar-end > a.navbar-item.is-active,
-        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-primary .navbar-end .navbar-link:focus,
-        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-primary .navbar-end .navbar-link:hover,
-        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-primary .navbar-end .navbar-link.is-active,
-        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link.is-active {
-          background-color: #2f4d6d;
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-primary .navbar-start .navbar-link::after, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link::after,
-        html.theme--documenter-dark .navbar.is-primary .navbar-end .navbar-link::after,
-        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link::after {
-          border-color: #fff; }
-        html.theme--documenter-dark .navbar.is-primary .navbar-item.has-dropdown:focus .navbar-link, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-item.has-dropdown:focus .navbar-link,
-        html.theme--documenter-dark .navbar.is-primary .navbar-item.has-dropdown:hover .navbar-link,
-        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-item.has-dropdown:hover .navbar-link,
-        html.theme--documenter-dark .navbar.is-primary .navbar-item.has-dropdown.is-active .navbar-link,
-        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-item.has-dropdown.is-active .navbar-link {
-          background-color: #2f4d6d;
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-primary .navbar-dropdown a.navbar-item.is-active, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-dropdown a.navbar-item.is-active {
-          background-color: #375a7f;
-          color: #fff; } }
-    html.theme--documenter-dark .navbar.is-link {
-      background-color: #1abc9c;
-      color: #fff; }
-      html.theme--documenter-dark .navbar.is-link .navbar-brand > .navbar-item,
-      html.theme--documenter-dark .navbar.is-link .navbar-brand .navbar-link {
-        color: #fff; }
-      html.theme--documenter-dark .navbar.is-link .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-link .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-link .navbar-brand > a.navbar-item.is-active,
-      html.theme--documenter-dark .navbar.is-link .navbar-brand .navbar-link:focus,
-      html.theme--documenter-dark .navbar.is-link .navbar-brand .navbar-link:hover,
-      html.theme--documenter-dark .navbar.is-link .navbar-brand .navbar-link.is-active {
-        background-color: #17a689;
-        color: #fff; }
-      html.theme--documenter-dark .navbar.is-link .navbar-brand .navbar-link::after {
-        border-color: #fff; }
-      html.theme--documenter-dark .navbar.is-link .navbar-burger {
-        color: #fff; }
-      @media screen and (min-width: 1056px) {
-        html.theme--documenter-dark .navbar.is-link .navbar-start > .navbar-item,
-        html.theme--documenter-dark .navbar.is-link .navbar-start .navbar-link,
-        html.theme--documenter-dark .navbar.is-link .navbar-end > .navbar-item,
-        html.theme--documenter-dark .navbar.is-link .navbar-end .navbar-link {
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-link .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-link .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-link .navbar-start > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-link .navbar-start .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-link .navbar-start .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-link .navbar-start .navbar-link.is-active,
-        html.theme--documenter-dark .navbar.is-link .navbar-end > a.navbar-item:focus,
-        html.theme--documenter-dark .navbar.is-link .navbar-end > a.navbar-item:hover,
-        html.theme--documenter-dark .navbar.is-link .navbar-end > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-link .navbar-end .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-link .navbar-end .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-link .navbar-end .navbar-link.is-active {
-          background-color: #17a689;
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-link .navbar-start .navbar-link::after,
-        html.theme--documenter-dark .navbar.is-link .navbar-end .navbar-link::after {
-          border-color: #fff; }
-        html.theme--documenter-dark .navbar.is-link .navbar-item.has-dropdown:focus .navbar-link,
-        html.theme--documenter-dark .navbar.is-link .navbar-item.has-dropdown:hover .navbar-link,
-        html.theme--documenter-dark .navbar.is-link .navbar-item.has-dropdown.is-active .navbar-link {
-          background-color: #17a689;
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-link .navbar-dropdown a.navbar-item.is-active {
-          background-color: #1abc9c;
-          color: #fff; } }
-    html.theme--documenter-dark .navbar.is-info {
-      background-color: #024c7d;
-      color: #fff; }
-      html.theme--documenter-dark .navbar.is-info .navbar-brand > .navbar-item,
-      html.theme--documenter-dark .navbar.is-info .navbar-brand .navbar-link {
-        color: #fff; }
-      html.theme--documenter-dark .navbar.is-info .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-info .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-info .navbar-brand > a.navbar-item.is-active,
-      html.theme--documenter-dark .navbar.is-info .navbar-brand .navbar-link:focus,
-      html.theme--documenter-dark .navbar.is-info .navbar-brand .navbar-link:hover,
-      html.theme--documenter-dark .navbar.is-info .navbar-brand .navbar-link.is-active {
-        background-color: #023d64;
-        color: #fff; }
-      html.theme--documenter-dark .navbar.is-info .navbar-brand .navbar-link::after {
-        border-color: #fff; }
-      html.theme--documenter-dark .navbar.is-info .navbar-burger {
-        color: #fff; }
-      @media screen and (min-width: 1056px) {
-        html.theme--documenter-dark .navbar.is-info .navbar-start > .navbar-item,
-        html.theme--documenter-dark .navbar.is-info .navbar-start .navbar-link,
-        html.theme--documenter-dark .navbar.is-info .navbar-end > .navbar-item,
-        html.theme--documenter-dark .navbar.is-info .navbar-end .navbar-link {
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-info .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-info .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-info .navbar-start > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-info .navbar-start .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-info .navbar-start .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-info .navbar-start .navbar-link.is-active,
-        html.theme--documenter-dark .navbar.is-info .navbar-end > a.navbar-item:focus,
-        html.theme--documenter-dark .navbar.is-info .navbar-end > a.navbar-item:hover,
-        html.theme--documenter-dark .navbar.is-info .navbar-end > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-info .navbar-end .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-info .navbar-end .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-info .navbar-end .navbar-link.is-active {
-          background-color: #023d64;
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-info .navbar-start .navbar-link::after,
-        html.theme--documenter-dark .navbar.is-info .navbar-end .navbar-link::after {
-          border-color: #fff; }
-        html.theme--documenter-dark .navbar.is-info .navbar-item.has-dropdown:focus .navbar-link,
-        html.theme--documenter-dark .navbar.is-info .navbar-item.has-dropdown:hover .navbar-link,
-        html.theme--documenter-dark .navbar.is-info .navbar-item.has-dropdown.is-active .navbar-link {
-          background-color: #023d64;
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-info .navbar-dropdown a.navbar-item.is-active {
-          background-color: #024c7d;
-          color: #fff; } }
-    html.theme--documenter-dark .navbar.is-success {
-      background-color: #008438;
-      color: #fff; }
-      html.theme--documenter-dark .navbar.is-success .navbar-brand > .navbar-item,
-      html.theme--documenter-dark .navbar.is-success .navbar-brand .navbar-link {
-        color: #fff; }
-      html.theme--documenter-dark .navbar.is-success .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-success .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-success .navbar-brand > a.navbar-item.is-active,
-      html.theme--documenter-dark .navbar.is-success .navbar-brand .navbar-link:focus,
-      html.theme--documenter-dark .navbar.is-success .navbar-brand .navbar-link:hover,
-      html.theme--documenter-dark .navbar.is-success .navbar-brand .navbar-link.is-active {
-        background-color: #006b2d;
-        color: #fff; }
-      html.theme--documenter-dark .navbar.is-success .navbar-brand .navbar-link::after {
-        border-color: #fff; }
-      html.theme--documenter-dark .navbar.is-success .navbar-burger {
-        color: #fff; }
-      @media screen and (min-width: 1056px) {
-        html.theme--documenter-dark .navbar.is-success .navbar-start > .navbar-item,
-        html.theme--documenter-dark .navbar.is-success .navbar-start .navbar-link,
-        html.theme--documenter-dark .navbar.is-success .navbar-end > .navbar-item,
-        html.theme--documenter-dark .navbar.is-success .navbar-end .navbar-link {
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-success .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-success .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-success .navbar-start > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-success .navbar-start .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-success .navbar-start .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-success .navbar-start .navbar-link.is-active,
-        html.theme--documenter-dark .navbar.is-success .navbar-end > a.navbar-item:focus,
-        html.theme--documenter-dark .navbar.is-success .navbar-end > a.navbar-item:hover,
-        html.theme--documenter-dark .navbar.is-success .navbar-end > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-success .navbar-end .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-success .navbar-end .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-success .navbar-end .navbar-link.is-active {
-          background-color: #006b2d;
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-success .navbar-start .navbar-link::after,
-        html.theme--documenter-dark .navbar.is-success .navbar-end .navbar-link::after {
-          border-color: #fff; }
-        html.theme--documenter-dark .navbar.is-success .navbar-item.has-dropdown:focus .navbar-link,
-        html.theme--documenter-dark .navbar.is-success .navbar-item.has-dropdown:hover .navbar-link,
-        html.theme--documenter-dark .navbar.is-success .navbar-item.has-dropdown.is-active .navbar-link {
-          background-color: #006b2d;
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-success .navbar-dropdown a.navbar-item.is-active {
-          background-color: #008438;
-          color: #fff; } }
-    html.theme--documenter-dark .navbar.is-warning {
-      background-color: #ad8100;
-      color: #fff; }
-      html.theme--documenter-dark .navbar.is-warning .navbar-brand > .navbar-item,
-      html.theme--documenter-dark .navbar.is-warning .navbar-brand .navbar-link {
-        color: #fff; }
-      html.theme--documenter-dark .navbar.is-warning .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-warning .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-warning .navbar-brand > a.navbar-item.is-active,
-      html.theme--documenter-dark .navbar.is-warning .navbar-brand .navbar-link:focus,
-      html.theme--documenter-dark .navbar.is-warning .navbar-brand .navbar-link:hover,
-      html.theme--documenter-dark .navbar.is-warning .navbar-brand .navbar-link.is-active {
-        background-color: #946e00;
-        color: #fff; }
-      html.theme--documenter-dark .navbar.is-warning .navbar-brand .navbar-link::after {
-        border-color: #fff; }
-      html.theme--documenter-dark .navbar.is-warning .navbar-burger {
-        color: #fff; }
-      @media screen and (min-width: 1056px) {
-        html.theme--documenter-dark .navbar.is-warning .navbar-start > .navbar-item,
-        html.theme--documenter-dark .navbar.is-warning .navbar-start .navbar-link,
-        html.theme--documenter-dark .navbar.is-warning .navbar-end > .navbar-item,
-        html.theme--documenter-dark .navbar.is-warning .navbar-end .navbar-link {
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-warning .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-warning .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-warning .navbar-start > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-warning .navbar-start .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-warning .navbar-start .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-warning .navbar-start .navbar-link.is-active,
-        html.theme--documenter-dark .navbar.is-warning .navbar-end > a.navbar-item:focus,
-        html.theme--documenter-dark .navbar.is-warning .navbar-end > a.navbar-item:hover,
-        html.theme--documenter-dark .navbar.is-warning .navbar-end > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-warning .navbar-end .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-warning .navbar-end .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-warning .navbar-end .navbar-link.is-active {
-          background-color: #946e00;
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-warning .navbar-start .navbar-link::after,
-        html.theme--documenter-dark .navbar.is-warning .navbar-end .navbar-link::after {
-          border-color: #fff; }
-        html.theme--documenter-dark .navbar.is-warning .navbar-item.has-dropdown:focus .navbar-link,
-        html.theme--documenter-dark .navbar.is-warning .navbar-item.has-dropdown:hover .navbar-link,
-        html.theme--documenter-dark .navbar.is-warning .navbar-item.has-dropdown.is-active .navbar-link {
-          background-color: #946e00;
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-warning .navbar-dropdown a.navbar-item.is-active {
-          background-color: #ad8100;
-          color: #fff; } }
-    html.theme--documenter-dark .navbar.is-danger {
-      background-color: #9e1b0d;
-      color: #fff; }
-      html.theme--documenter-dark .navbar.is-danger .navbar-brand > .navbar-item,
-      html.theme--documenter-dark .navbar.is-danger .navbar-brand .navbar-link {
-        color: #fff; }
-      html.theme--documenter-dark .navbar.is-danger .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-danger .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-danger .navbar-brand > a.navbar-item.is-active,
-      html.theme--documenter-dark .navbar.is-danger .navbar-brand .navbar-link:focus,
-      html.theme--documenter-dark .navbar.is-danger .navbar-brand .navbar-link:hover,
-      html.theme--documenter-dark .navbar.is-danger .navbar-brand .navbar-link.is-active {
-        background-color: #86170b;
-        color: #fff; }
-      html.theme--documenter-dark .navbar.is-danger .navbar-brand .navbar-link::after {
-        border-color: #fff; }
-      html.theme--documenter-dark .navbar.is-danger .navbar-burger {
-        color: #fff; }
-      @media screen and (min-width: 1056px) {
-        html.theme--documenter-dark .navbar.is-danger .navbar-start > .navbar-item,
-        html.theme--documenter-dark .navbar.is-danger .navbar-start .navbar-link,
-        html.theme--documenter-dark .navbar.is-danger .navbar-end > .navbar-item,
-        html.theme--documenter-dark .navbar.is-danger .navbar-end .navbar-link {
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-danger .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-danger .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-danger .navbar-start > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-danger .navbar-start .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-danger .navbar-start .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-danger .navbar-start .navbar-link.is-active,
-        html.theme--documenter-dark .navbar.is-danger .navbar-end > a.navbar-item:focus,
-        html.theme--documenter-dark .navbar.is-danger .navbar-end > a.navbar-item:hover,
-        html.theme--documenter-dark .navbar.is-danger .navbar-end > a.navbar-item.is-active,
-        html.theme--documenter-dark .navbar.is-danger .navbar-end .navbar-link:focus,
-        html.theme--documenter-dark .navbar.is-danger .navbar-end .navbar-link:hover,
-        html.theme--documenter-dark .navbar.is-danger .navbar-end .navbar-link.is-active {
-          background-color: #86170b;
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-danger .navbar-start .navbar-link::after,
-        html.theme--documenter-dark .navbar.is-danger .navbar-end .navbar-link::after {
-          border-color: #fff; }
-        html.theme--documenter-dark .navbar.is-danger .navbar-item.has-dropdown:focus .navbar-link,
-        html.theme--documenter-dark .navbar.is-danger .navbar-item.has-dropdown:hover .navbar-link,
-        html.theme--documenter-dark .navbar.is-danger .navbar-item.has-dropdown.is-active .navbar-link {
-          background-color: #86170b;
-          color: #fff; }
-        html.theme--documenter-dark .navbar.is-danger .navbar-dropdown a.navbar-item.is-active {
-          background-color: #9e1b0d;
-          color: #fff; } }
-    html.theme--documenter-dark .navbar > .container {
-      align-items: stretch;
-      display: flex;
-      min-height: 4rem;
-      width: 100%; }
-    html.theme--documenter-dark .navbar.has-shadow {
-      box-shadow: 0 2px 0 0 #282f2f; }
-    html.theme--documenter-dark .navbar.is-fixed-bottom, html.theme--documenter-dark .navbar.is-fixed-top {
-      left: 0;
-      position: fixed;
-      right: 0;
-      z-index: 30; }
-    html.theme--documenter-dark .navbar.is-fixed-bottom {
-      bottom: 0; }
-      html.theme--documenter-dark .navbar.is-fixed-bottom.has-shadow {
-        box-shadow: 0 -2px 0 0 #282f2f; }
-    html.theme--documenter-dark .navbar.is-fixed-top {
-      top: 0; }
-  html.theme--documenter-dark html.has-navbar-fixed-top,
-  html.theme--documenter-dark body.has-navbar-fixed-top {
-    padding-top: 4rem; }
-  html.theme--documenter-dark html.has-navbar-fixed-bottom,
-  html.theme--documenter-dark body.has-navbar-fixed-bottom {
-    padding-bottom: 4rem; }
-  html.theme--documenter-dark .navbar-brand,
-  html.theme--documenter-dark .navbar-tabs {
-    align-items: stretch;
-    display: flex;
-    flex-shrink: 0;
-    min-height: 4rem; }
-  html.theme--documenter-dark .navbar-brand a.navbar-item:focus, html.theme--documenter-dark .navbar-brand a.navbar-item:hover {
-    background-color: transparent; }
-  html.theme--documenter-dark .navbar-tabs {
-    -webkit-overflow-scrolling: touch;
-    max-width: 100vw;
-    overflow-x: auto;
-    overflow-y: hidden; }
-  html.theme--documenter-dark .navbar-burger {
-    color: #fff;
-    cursor: pointer;
-    display: block;
-    height: 4rem;
-    position: relative;
-    width: 4rem;
-    margin-left: auto; }
-    html.theme--documenter-dark .navbar-burger span {
-      background-color: currentColor;
-      display: block;
-      height: 1px;
-      left: calc(50% - 8px);
-      position: absolute;
-      transform-origin: center;
-      transition-duration: 86ms;
-      transition-property: background-color, opacity, transform;
-      transition-timing-function: ease-out;
-      width: 16px; }
-      html.theme--documenter-dark .navbar-burger span:nth-child(1) {
-        top: calc(50% - 6px); }
-      html.theme--documenter-dark .navbar-burger span:nth-child(2) {
-        top: calc(50% - 1px); }
-      html.theme--documenter-dark .navbar-burger span:nth-child(3) {
-        top: calc(50% + 4px); }
-    html.theme--documenter-dark .navbar-burger:hover {
-      background-color: rgba(0, 0, 0, 0.05); }
-    html.theme--documenter-dark .navbar-burger.is-active span:nth-child(1) {
-      transform: translateY(5px) rotate(45deg); }
-    html.theme--documenter-dark .navbar-burger.is-active span:nth-child(2) {
-      opacity: 0; }
-    html.theme--documenter-dark .navbar-burger.is-active span:nth-child(3) {
-      transform: translateY(-5px) rotate(-45deg); }
-  html.theme--documenter-dark .navbar-menu {
-    display: none; }
-  html.theme--documenter-dark .navbar-item,
-  html.theme--documenter-dark .navbar-link {
-    color: #fff;
-    display: block;
-    line-height: 1.5;
-    padding: 0.5rem 0.75rem;
-    position: relative; }
-    html.theme--documenter-dark .navbar-item .icon:only-child,
-    html.theme--documenter-dark .navbar-link .icon:only-child {
-      margin-left: -0.25rem;
-      margin-right: -0.25rem; }
-  html.theme--documenter-dark a.navbar-item,
-  html.theme--documenter-dark .navbar-link {
-    cursor: pointer; }
-    html.theme--documenter-dark a.navbar-item:focus, html.theme--documenter-dark a.navbar-item:focus-within, html.theme--documenter-dark a.navbar-item:hover, html.theme--documenter-dark a.navbar-item.is-active,
-    html.theme--documenter-dark .navbar-link:focus,
-    html.theme--documenter-dark .navbar-link:focus-within,
-    html.theme--documenter-dark .navbar-link:hover,
-    html.theme--documenter-dark .navbar-link.is-active {
-      background-color: transparent;
-      color: #1abc9c; }
-  html.theme--documenter-dark .navbar-item {
-    display: block;
-    flex-grow: 0;
-    flex-shrink: 0; }
-    html.theme--documenter-dark .navbar-item img {
-      max-height: 1.75rem; }
-    html.theme--documenter-dark .navbar-item.has-dropdown {
-      padding: 0; }
-    html.theme--documenter-dark .navbar-item.is-expanded {
-      flex-grow: 1;
-      flex-shrink: 1; }
-    html.theme--documenter-dark .navbar-item.is-tab {
-      border-bottom: 1px solid transparent;
-      min-height: 4rem;
-      padding-bottom: calc(0.5rem - 1px); }
-      html.theme--documenter-dark .navbar-item.is-tab:focus, html.theme--documenter-dark .navbar-item.is-tab:hover {
-        background-color: transparent;
-        border-bottom-color: #1abc9c; }
-      html.theme--documenter-dark .navbar-item.is-tab.is-active {
-        background-color: transparent;
-        border-bottom-color: #1abc9c;
-        border-bottom-style: solid;
-        border-bottom-width: 3px;
-        color: #1abc9c;
-        padding-bottom: calc(0.5rem - 3px); }
-  html.theme--documenter-dark .navbar-content {
-    flex-grow: 1;
-    flex-shrink: 1; }
-  html.theme--documenter-dark .navbar-link:not(.is-arrowless) {
-    padding-right: 2.5em; }
-    html.theme--documenter-dark .navbar-link:not(.is-arrowless)::after {
-      border-color: #fff;
-      margin-top: -0.375em;
-      right: 1.125em; }
-  html.theme--documenter-dark .navbar-dropdown {
-    font-size: 0.875rem;
-    padding-bottom: 0.5rem;
-    padding-top: 0.5rem; }
-    html.theme--documenter-dark .navbar-dropdown .navbar-item {
-      padding-left: 1.5rem;
-      padding-right: 1.5rem; }
-  html.theme--documenter-dark .navbar-divider {
-    background-color: rgba(0, 0, 0, 0.2);
-    border: none;
-    display: none;
-    height: 2px;
-    margin: 0.5rem 0; }
-  @media screen and (max-width: 1055px) {
-    html.theme--documenter-dark .navbar > .container {
-      display: block; }
-    html.theme--documenter-dark .navbar-brand .navbar-item,
-    html.theme--documenter-dark .navbar-tabs .navbar-item {
-      align-items: center;
-      display: flex; }
-    html.theme--documenter-dark .navbar-link::after {
-      display: none; }
-    html.theme--documenter-dark .navbar-menu {
-      background-color: #375a7f;
-      box-shadow: 0 8px 16px rgba(10, 10, 10, 0.1);
-      padding: 0.5rem 0; }
-      html.theme--documenter-dark .navbar-menu.is-active {
-        display: block; }
-    html.theme--documenter-dark .navbar.is-fixed-bottom-touch, html.theme--documenter-dark .navbar.is-fixed-top-touch {
-      left: 0;
-      position: fixed;
-      right: 0;
-      z-index: 30; }
-    html.theme--documenter-dark .navbar.is-fixed-bottom-touch {
-      bottom: 0; }
-      html.theme--documenter-dark .navbar.is-fixed-bottom-touch.has-shadow {
-        box-shadow: 0 -2px 3px rgba(10, 10, 10, 0.1); }
-    html.theme--documenter-dark .navbar.is-fixed-top-touch {
-      top: 0; }
-    html.theme--documenter-dark .navbar.is-fixed-top .navbar-menu, html.theme--documenter-dark .navbar.is-fixed-top-touch .navbar-menu {
-      -webkit-overflow-scrolling: touch;
-      max-height: calc(100vh - 4rem);
-      overflow: auto; }
-    html.theme--documenter-dark html.has-navbar-fixed-top-touch,
-    html.theme--documenter-dark body.has-navbar-fixed-top-touch {
-      padding-top: 4rem; }
-    html.theme--documenter-dark html.has-navbar-fixed-bottom-touch,
-    html.theme--documenter-dark body.has-navbar-fixed-bottom-touch {
-      padding-bottom: 4rem; } }
-  @media screen and (min-width: 1056px) {
-    html.theme--documenter-dark .navbar,
-    html.theme--documenter-dark .navbar-menu,
-    html.theme--documenter-dark .navbar-start,
-    html.theme--documenter-dark .navbar-end {
-      align-items: stretch;
-      display: flex; }
-    html.theme--documenter-dark .navbar {
-      min-height: 4rem; }
-      html.theme--documenter-dark .navbar.is-spaced {
-        padding: 1rem 2rem; }
-        html.theme--documenter-dark .navbar.is-spaced .navbar-start,
-        html.theme--documenter-dark .navbar.is-spaced .navbar-end {
-          align-items: center; }
-        html.theme--documenter-dark .navbar.is-spaced a.navbar-item,
-        html.theme--documenter-dark .navbar.is-spaced .navbar-link {
-          border-radius: 0.4em; }
-      html.theme--documenter-dark .navbar.is-transparent a.navbar-item:focus, html.theme--documenter-dark .navbar.is-transparent a.navbar-item:hover, html.theme--documenter-dark .navbar.is-transparent a.navbar-item.is-active,
-      html.theme--documenter-dark .navbar.is-transparent .navbar-link:focus,
-      html.theme--documenter-dark .navbar.is-transparent .navbar-link:hover,
-      html.theme--documenter-dark .navbar.is-transparent .navbar-link.is-active {
-        background-color: transparent !important; }
-      html.theme--documenter-dark .navbar.is-transparent .navbar-item.has-dropdown.is-active .navbar-link, html.theme--documenter-dark .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus .navbar-link, html.theme--documenter-dark .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus-within .navbar-link, html.theme--documenter-dark .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:hover .navbar-link {
-        background-color: transparent !important; }
-      html.theme--documenter-dark .navbar.is-transparent .navbar-dropdown a.navbar-item:focus, html.theme--documenter-dark .navbar.is-transparent .navbar-dropdown a.navbar-item:hover {
-        background-color: transparent;
-        color: #dbdee0; }
-      html.theme--documenter-dark .navbar.is-transparent .navbar-dropdown a.navbar-item.is-active {
-        background-color: transparent;
-        color: #1abc9c; }
-    html.theme--documenter-dark .navbar-burger {
-      display: none; }
-    html.theme--documenter-dark .navbar-item,
-    html.theme--documenter-dark .navbar-link {
-      align-items: center;
-      display: flex; }
-    html.theme--documenter-dark .navbar-item {
-      display: flex; }
-      html.theme--documenter-dark .navbar-item.has-dropdown {
-        align-items: stretch; }
-      html.theme--documenter-dark .navbar-item.has-dropdown-up .navbar-link::after {
-        transform: rotate(135deg) translate(0.25em, -0.25em); }
-      html.theme--documenter-dark .navbar-item.has-dropdown-up .navbar-dropdown {
-        border-bottom: 1px solid rgba(0, 0, 0, 0.2);
-        border-radius: 8px 8px 0 0;
-        border-top: none;
-        bottom: 100%;
-        box-shadow: 0 -8px 8px rgba(10, 10, 10, 0.1);
-        top: auto; }
-      html.theme--documenter-dark .navbar-item.is-active .navbar-dropdown, html.theme--documenter-dark .navbar-item.is-hoverable:focus .navbar-dropdown, html.theme--documenter-dark .navbar-item.is-hoverable:focus-within .navbar-dropdown, html.theme--documenter-dark .navbar-item.is-hoverable:hover .navbar-dropdown {
-        display: block; }
-        .navbar.is-spaced html.theme--documenter-dark .navbar-item.is-active .navbar-dropdown, html.theme--documenter-dark .navbar-item.is-active .navbar-dropdown.is-boxed, .navbar.is-spaced html.theme--documenter-dark .navbar-item.is-hoverable:focus .navbar-dropdown, html.theme--documenter-dark .navbar-item.is-hoverable:focus .navbar-dropdown.is-boxed, .navbar.is-spaced html.theme--documenter-dark .navbar-item.is-hoverable:focus-within .navbar-dropdown, html.theme--documenter-dark .navbar-item.is-hoverable:focus-within .navbar-dropdown.is-boxed, .navbar.is-spaced html.theme--documenter-dark .navbar-item.is-hoverable:hover .navbar-dropdown, html.theme--documenter-dark .navbar-item.is-hoverable:hover .navbar-dropdown.is-boxed {
-          opacity: 1;
-          pointer-events: auto;
-          transform: translateY(0); }
-    html.theme--documenter-dark .navbar-menu {
-      flex-grow: 1;
-      flex-shrink: 0; }
-    html.theme--documenter-dark .navbar-start {
-      justify-content: flex-start;
-      margin-right: auto; }
-    html.theme--documenter-dark .navbar-end {
-      justify-content: flex-end;
-      margin-left: auto; }
-    html.theme--documenter-dark .navbar-dropdown {
-      background-color: #375a7f;
-      border-bottom-left-radius: 8px;
-      border-bottom-right-radius: 8px;
-      border-top: 1px solid rgba(0, 0, 0, 0.2);
-      box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1);
-      display: none;
-      font-size: 0.875rem;
-      left: 0;
-      min-width: 100%;
-      position: absolute;
-      top: 100%;
-      z-index: 20; }
-      html.theme--documenter-dark .navbar-dropdown .navbar-item {
-        padding: 0.375rem 1rem;
-        white-space: nowrap; }
-      html.theme--documenter-dark .navbar-dropdown a.navbar-item {
-        padding-right: 3rem; }
-        html.theme--documenter-dark .navbar-dropdown a.navbar-item:focus, html.theme--documenter-dark .navbar-dropdown a.navbar-item:hover {
-          background-color: transparent;
-          color: #dbdee0; }
-        html.theme--documenter-dark .navbar-dropdown a.navbar-item.is-active {
-          background-color: transparent;
-          color: #1abc9c; }
-      .navbar.is-spaced html.theme--documenter-dark .navbar-dropdown, html.theme--documenter-dark .navbar-dropdown.is-boxed {
-        border-radius: 8px;
-        border-top: none;
-        box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
-        display: block;
-        opacity: 0;
-        pointer-events: none;
-        top: calc(100% + (-4px));
-        transform: translateY(-5px);
-        transition-duration: 86ms;
-        transition-property: opacity, transform; }
-      html.theme--documenter-dark .navbar-dropdown.is-right {
-        left: auto;
-        right: 0; }
-    html.theme--documenter-dark .navbar-divider {
-      display: block; }
-    html.theme--documenter-dark .navbar > .container .navbar-brand,
-    html.theme--documenter-dark .container > .navbar .navbar-brand {
-      margin-left: -.75rem; }
-    html.theme--documenter-dark .navbar > .container .navbar-menu,
-    html.theme--documenter-dark .container > .navbar .navbar-menu {
-      margin-right: -.75rem; }
-    html.theme--documenter-dark .navbar.is-fixed-bottom-desktop, html.theme--documenter-dark .navbar.is-fixed-top-desktop {
-      left: 0;
-      position: fixed;
-      right: 0;
-      z-index: 30; }
-    html.theme--documenter-dark .navbar.is-fixed-bottom-desktop {
-      bottom: 0; }
-      html.theme--documenter-dark .navbar.is-fixed-bottom-desktop.has-shadow {
-        box-shadow: 0 -2px 3px rgba(10, 10, 10, 0.1); }
-    html.theme--documenter-dark .navbar.is-fixed-top-desktop {
-      top: 0; }
-    html.theme--documenter-dark html.has-navbar-fixed-top-desktop,
-    html.theme--documenter-dark body.has-navbar-fixed-top-desktop {
-      padding-top: 4rem; }
-    html.theme--documenter-dark html.has-navbar-fixed-bottom-desktop,
-    html.theme--documenter-dark body.has-navbar-fixed-bottom-desktop {
-      padding-bottom: 4rem; }
-    html.theme--documenter-dark html.has-spaced-navbar-fixed-top,
-    html.theme--documenter-dark body.has-spaced-navbar-fixed-top {
-      padding-top: 6rem; }
-    html.theme--documenter-dark html.has-spaced-navbar-fixed-bottom,
-    html.theme--documenter-dark body.has-spaced-navbar-fixed-bottom {
-      padding-bottom: 6rem; }
-    html.theme--documenter-dark a.navbar-item.is-active,
-    html.theme--documenter-dark .navbar-link.is-active {
-      color: #1abc9c; }
-    html.theme--documenter-dark a.navbar-item.is-active:not(:focus):not(:hover),
-    html.theme--documenter-dark .navbar-link.is-active:not(:focus):not(:hover) {
-      background-color: transparent; }
-    html.theme--documenter-dark .navbar-item.has-dropdown:focus .navbar-link, html.theme--documenter-dark .navbar-item.has-dropdown:hover .navbar-link, html.theme--documenter-dark .navbar-item.has-dropdown.is-active .navbar-link {
-      background-color: transparent; } }
-  html.theme--documenter-dark .hero.is-fullheight-with-navbar {
-    min-height: calc(100vh - 4rem); }
-  html.theme--documenter-dark .pagination {
-    font-size: 15px;
-    margin: -0.25rem; }
-    html.theme--documenter-dark .pagination.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.pagination {
-      font-size: 0.85em; }
-    html.theme--documenter-dark .pagination.is-medium {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .pagination.is-large {
-      font-size: 1.5rem; }
-    html.theme--documenter-dark .pagination.is-rounded .pagination-previous, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.pagination .pagination-previous,
-    html.theme--documenter-dark .pagination.is-rounded .pagination-next,
-    html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.pagination .pagination-next {
-      padding-left: 1em;
-      padding-right: 1em;
-      border-radius: 290486px; }
-    html.theme--documenter-dark .pagination.is-rounded .pagination-link, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.pagination .pagination-link {
-      border-radius: 290486px; }
-  html.theme--documenter-dark .pagination,
-  html.theme--documenter-dark .pagination-list {
-    align-items: center;
-    display: flex;
-    justify-content: center;
-    text-align: center; }
-  html.theme--documenter-dark .pagination-previous,
-  html.theme--documenter-dark .pagination-next,
-  html.theme--documenter-dark .pagination-link,
-  html.theme--documenter-dark .pagination-ellipsis {
-    font-size: 1em;
-    justify-content: center;
-    margin: 0.25rem;
-    padding-left: 0.5em;
-    padding-right: 0.5em;
-    text-align: center; }
-  html.theme--documenter-dark .pagination-previous,
-  html.theme--documenter-dark .pagination-next,
-  html.theme--documenter-dark .pagination-link {
-    border-color: #5e6d6f;
-    color: #1abc9c;
-    min-width: 2.25em; }
-    html.theme--documenter-dark .pagination-previous:hover,
-    html.theme--documenter-dark .pagination-next:hover,
-    html.theme--documenter-dark .pagination-link:hover {
-      border-color: #8c9b9d;
-      color: #1dd2af; }
-    html.theme--documenter-dark .pagination-previous:focus,
-    html.theme--documenter-dark .pagination-next:focus,
-    html.theme--documenter-dark .pagination-link:focus {
-      border-color: #8c9b9d; }
-    html.theme--documenter-dark .pagination-previous:active,
-    html.theme--documenter-dark .pagination-next:active,
-    html.theme--documenter-dark .pagination-link:active {
-      box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2); }
-    html.theme--documenter-dark .pagination-previous[disabled],
-    html.theme--documenter-dark .pagination-next[disabled],
-    html.theme--documenter-dark .pagination-link[disabled] {
-      background-color: #dbdee0;
-      border-color: #dbdee0;
-      box-shadow: none;
-      color: #5e6d6f;
-      opacity: 0.5; }
-  html.theme--documenter-dark .pagination-previous,
-  html.theme--documenter-dark .pagination-next {
-    padding-left: 0.75em;
-    padding-right: 0.75em;
-    white-space: nowrap; }
-  html.theme--documenter-dark .pagination-link.is-current {
-    background-color: #1abc9c;
-    border-color: #1abc9c;
-    color: #fff; }
-  html.theme--documenter-dark .pagination-ellipsis {
-    color: #8c9b9d;
-    pointer-events: none; }
-  html.theme--documenter-dark .pagination-list {
-    flex-wrap: wrap; }
-  @media screen and (max-width: 768px) {
-    html.theme--documenter-dark .pagination {
-      flex-wrap: wrap; }
-    html.theme--documenter-dark .pagination-previous,
-    html.theme--documenter-dark .pagination-next {
-      flex-grow: 1;
-      flex-shrink: 1; }
-    html.theme--documenter-dark .pagination-list li {
-      flex-grow: 1;
-      flex-shrink: 1; } }
-  @media screen and (min-width: 769px), print {
-    html.theme--documenter-dark .pagination-list {
-      flex-grow: 1;
-      flex-shrink: 1;
-      justify-content: flex-start;
-      order: 1; }
-    html.theme--documenter-dark .pagination-previous {
-      order: 2; }
-    html.theme--documenter-dark .pagination-next {
-      order: 3; }
-    html.theme--documenter-dark .pagination {
-      justify-content: space-between; }
-      html.theme--documenter-dark .pagination.is-centered .pagination-previous {
-        order: 1; }
-      html.theme--documenter-dark .pagination.is-centered .pagination-list {
-        justify-content: center;
-        order: 2; }
-      html.theme--documenter-dark .pagination.is-centered .pagination-next {
-        order: 3; }
-      html.theme--documenter-dark .pagination.is-right .pagination-previous {
-        order: 1; }
-      html.theme--documenter-dark .pagination.is-right .pagination-next {
-        order: 2; }
-      html.theme--documenter-dark .pagination.is-right .pagination-list {
-        justify-content: flex-end;
-        order: 3; } }
-  html.theme--documenter-dark .panel {
-    font-size: 15px; }
-    html.theme--documenter-dark .panel:not(:last-child) {
-      margin-bottom: 1.5rem; }
-  html.theme--documenter-dark .panel-heading,
-  html.theme--documenter-dark .panel-tabs,
-  html.theme--documenter-dark .panel-block {
-    border-bottom: 1px solid #5e6d6f;
-    border-left: 1px solid #5e6d6f;
-    border-right: 1px solid #5e6d6f; }
-    html.theme--documenter-dark .panel-heading:first-child,
-    html.theme--documenter-dark .panel-tabs:first-child,
-    html.theme--documenter-dark .panel-block:first-child {
-      border-top: 1px solid #5e6d6f; }
-  html.theme--documenter-dark .panel-heading {
-    background-color: #282f2f;
-    border-radius: 0.4em 0.4em 0 0;
-    color: #f2f2f2;
-    font-size: 1.25em;
-    font-weight: 300;
-    line-height: 1.25;
-    padding: 0.5em 0.75em; }
-  html.theme--documenter-dark .panel-tabs {
-    align-items: flex-end;
-    display: flex;
-    font-size: 0.875em;
-    justify-content: center; }
-    html.theme--documenter-dark .panel-tabs a {
-      border-bottom: 1px solid #5e6d6f;
-      margin-bottom: -1px;
-      padding: 0.5em; }
-      html.theme--documenter-dark .panel-tabs a.is-active {
-        border-bottom-color: #343c3d;
-        color: #17a689; }
-  html.theme--documenter-dark .panel-list a {
-    color: #fff; }
-    html.theme--documenter-dark .panel-list a:hover {
-      color: #1abc9c; }
-  html.theme--documenter-dark .panel-block {
-    align-items: center;
-    color: #f2f2f2;
-    display: flex;
-    justify-content: flex-start;
-    padding: 0.5em 0.75em; }
-    html.theme--documenter-dark .panel-block input[type="checkbox"] {
-      margin-right: 0.75em; }
-    html.theme--documenter-dark .panel-block > .control {
-      flex-grow: 1;
-      flex-shrink: 1;
-      width: 100%; }
-    html.theme--documenter-dark .panel-block.is-wrapped {
-      flex-wrap: wrap; }
-    html.theme--documenter-dark .panel-block.is-active {
-      border-left-color: #1abc9c;
-      color: #17a689; }
-      html.theme--documenter-dark .panel-block.is-active .panel-icon {
-        color: #1abc9c; }
-  html.theme--documenter-dark a.panel-block,
-  html.theme--documenter-dark label.panel-block {
-    cursor: pointer; }
-    html.theme--documenter-dark a.panel-block:hover,
-    html.theme--documenter-dark label.panel-block:hover {
-      background-color: #282f2f; }
-  html.theme--documenter-dark .panel-icon {
-    display: inline-block;
-    font-size: 14px;
-    height: 1em;
-    line-height: 1em;
-    text-align: center;
-    vertical-align: top;
-    width: 1em;
-    color: white;
-    margin-right: 0.75em; }
-    html.theme--documenter-dark .panel-icon .fa {
-      font-size: inherit;
-      line-height: inherit; }
-  html.theme--documenter-dark .tabs {
-    -webkit-overflow-scrolling: touch;
-    align-items: stretch;
-    display: flex;
-    font-size: 15px;
-    justify-content: space-between;
-    overflow: hidden;
-    overflow-x: auto;
-    white-space: nowrap; }
-    html.theme--documenter-dark .tabs a {
-      align-items: center;
-      border-bottom-color: #5e6d6f;
-      border-bottom-style: solid;
-      border-bottom-width: 1px;
-      color: #fff;
-      display: flex;
-      justify-content: center;
-      margin-bottom: -1px;
-      padding: 0.5em 1em;
-      vertical-align: top; }
-      html.theme--documenter-dark .tabs a:hover {
-        border-bottom-color: #f2f2f2;
-        color: #f2f2f2; }
-    html.theme--documenter-dark .tabs li {
-      display: block; }
-      html.theme--documenter-dark .tabs li.is-active a {
-        border-bottom-color: #1abc9c;
-        color: #1abc9c; }
-    html.theme--documenter-dark .tabs ul {
-      align-items: center;
-      border-bottom-color: #5e6d6f;
-      border-bottom-style: solid;
-      border-bottom-width: 1px;
-      display: flex;
-      flex-grow: 1;
-      flex-shrink: 0;
-      justify-content: flex-start; }
-      html.theme--documenter-dark .tabs ul.is-left {
-        padding-right: 0.75em; }
-      html.theme--documenter-dark .tabs ul.is-center {
-        flex: none;
-        justify-content: center;
-        padding-left: 0.75em;
-        padding-right: 0.75em; }
-      html.theme--documenter-dark .tabs ul.is-right {
-        justify-content: flex-end;
-        padding-left: 0.75em; }
-    html.theme--documenter-dark .tabs .icon:first-child {
-      margin-right: 0.5em; }
-    html.theme--documenter-dark .tabs .icon:last-child {
-      margin-left: 0.5em; }
-    html.theme--documenter-dark .tabs.is-centered ul {
-      justify-content: center; }
-    html.theme--documenter-dark .tabs.is-right ul {
-      justify-content: flex-end; }
-    html.theme--documenter-dark .tabs.is-boxed a {
-      border: 1px solid transparent;
-      border-radius: 0.4em 0.4em 0 0; }
-      html.theme--documenter-dark .tabs.is-boxed a:hover {
-        background-color: #282f2f;
-        border-bottom-color: #5e6d6f; }
-    html.theme--documenter-dark .tabs.is-boxed li.is-active a {
-      background-color: white;
-      border-color: #5e6d6f;
-      border-bottom-color: transparent !important; }
-    html.theme--documenter-dark .tabs.is-fullwidth li {
-      flex-grow: 1;
-      flex-shrink: 0; }
-    html.theme--documenter-dark .tabs.is-toggle a {
-      border-color: #5e6d6f;
-      border-style: solid;
-      border-width: 1px;
-      margin-bottom: 0;
-      position: relative; }
-      html.theme--documenter-dark .tabs.is-toggle a:hover {
-        background-color: #282f2f;
-        border-color: #8c9b9d;
-        z-index: 2; }
-    html.theme--documenter-dark .tabs.is-toggle li + li {
-      margin-left: -1px; }
-    html.theme--documenter-dark .tabs.is-toggle li:first-child a {
-      border-radius: 0.4em 0 0 0.4em; }
-    html.theme--documenter-dark .tabs.is-toggle li:last-child a {
-      border-radius: 0 0.4em 0.4em 0; }
-    html.theme--documenter-dark .tabs.is-toggle li.is-active a {
-      background-color: #1abc9c;
-      border-color: #1abc9c;
-      color: #fff;
-      z-index: 1; }
-    html.theme--documenter-dark .tabs.is-toggle ul {
-      border-bottom: none; }
-    html.theme--documenter-dark .tabs.is-toggle.is-toggle-rounded li:first-child a {
-      border-bottom-left-radius: 290486px;
-      border-top-left-radius: 290486px;
-      padding-left: 1.25em; }
-    html.theme--documenter-dark .tabs.is-toggle.is-toggle-rounded li:last-child a {
-      border-bottom-right-radius: 290486px;
-      border-top-right-radius: 290486px;
-      padding-right: 1.25em; }
-    html.theme--documenter-dark .tabs.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.tabs {
-      font-size: 0.85em; }
-    html.theme--documenter-dark .tabs.is-medium {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .tabs.is-large {
-      font-size: 1.5rem; }
-  html.theme--documenter-dark .column {
-    display: block;
-    flex-basis: 0;
-    flex-grow: 1;
-    flex-shrink: 1;
-    padding: 0.75rem; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-narrow {
-      flex: none; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-full {
-      flex: none;
-      width: 100%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-three-quarters {
-      flex: none;
-      width: 75%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-two-thirds {
-      flex: none;
-      width: 66.6666%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-half {
-      flex: none;
-      width: 50%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-one-third {
-      flex: none;
-      width: 33.3333%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-one-quarter {
-      flex: none;
-      width: 25%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-one-fifth {
-      flex: none;
-      width: 20%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-two-fifths {
-      flex: none;
-      width: 40%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-three-fifths {
-      flex: none;
-      width: 60%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-four-fifths {
-      flex: none;
-      width: 80%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-three-quarters {
-      margin-left: 75%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-two-thirds {
-      margin-left: 66.6666%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-half {
-      margin-left: 50%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-one-third {
-      margin-left: 33.3333%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-one-quarter {
-      margin-left: 25%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-one-fifth {
-      margin-left: 20%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-two-fifths {
-      margin-left: 40%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-three-fifths {
-      margin-left: 60%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-four-fifths {
-      margin-left: 80%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-0 {
-      flex: none;
-      width: 0%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-0 {
-      margin-left: 0%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-1 {
-      flex: none;
-      width: 8.3333333333%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-1 {
-      margin-left: 8.3333333333%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-2 {
-      flex: none;
-      width: 16.6666666667%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-2 {
-      margin-left: 16.6666666667%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-3 {
-      flex: none;
-      width: 25%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-3 {
-      margin-left: 25%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-4 {
-      flex: none;
-      width: 33.3333333333%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-4 {
-      margin-left: 33.3333333333%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-5 {
-      flex: none;
-      width: 41.6666666667%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-5 {
-      margin-left: 41.6666666667%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-6 {
-      flex: none;
-      width: 50%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-6 {
-      margin-left: 50%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-7 {
-      flex: none;
-      width: 58.3333333333%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-7 {
-      margin-left: 58.3333333333%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-8 {
-      flex: none;
-      width: 66.6666666667%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-8 {
-      margin-left: 66.6666666667%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-9 {
-      flex: none;
-      width: 75%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-9 {
-      margin-left: 75%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-10 {
-      flex: none;
-      width: 83.3333333333%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-10 {
-      margin-left: 83.3333333333%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-11 {
-      flex: none;
-      width: 91.6666666667%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-11 {
-      margin-left: 91.6666666667%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-12 {
-      flex: none;
-      width: 100%; }
-    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-12 {
-      margin-left: 100%; }
-    @media screen and (max-width: 768px) {
-      html.theme--documenter-dark .column.is-narrow-mobile {
-        flex: none; }
-      html.theme--documenter-dark .column.is-full-mobile {
-        flex: none;
-        width: 100%; }
-      html.theme--documenter-dark .column.is-three-quarters-mobile {
-        flex: none;
-        width: 75%; }
-      html.theme--documenter-dark .column.is-two-thirds-mobile {
-        flex: none;
-        width: 66.6666%; }
-      html.theme--documenter-dark .column.is-half-mobile {
-        flex: none;
-        width: 50%; }
-      html.theme--documenter-dark .column.is-one-third-mobile {
-        flex: none;
-        width: 33.3333%; }
-      html.theme--documenter-dark .column.is-one-quarter-mobile {
-        flex: none;
-        width: 25%; }
-      html.theme--documenter-dark .column.is-one-fifth-mobile {
-        flex: none;
-        width: 20%; }
-      html.theme--documenter-dark .column.is-two-fifths-mobile {
-        flex: none;
-        width: 40%; }
-      html.theme--documenter-dark .column.is-three-fifths-mobile {
-        flex: none;
-        width: 60%; }
-      html.theme--documenter-dark .column.is-four-fifths-mobile {
-        flex: none;
-        width: 80%; }
-      html.theme--documenter-dark .column.is-offset-three-quarters-mobile {
-        margin-left: 75%; }
-      html.theme--documenter-dark .column.is-offset-two-thirds-mobile {
-        margin-left: 66.6666%; }
-      html.theme--documenter-dark .column.is-offset-half-mobile {
-        margin-left: 50%; }
-      html.theme--documenter-dark .column.is-offset-one-third-mobile {
-        margin-left: 33.3333%; }
-      html.theme--documenter-dark .column.is-offset-one-quarter-mobile {
-        margin-left: 25%; }
-      html.theme--documenter-dark .column.is-offset-one-fifth-mobile {
-        margin-left: 20%; }
-      html.theme--documenter-dark .column.is-offset-two-fifths-mobile {
-        margin-left: 40%; }
-      html.theme--documenter-dark .column.is-offset-three-fifths-mobile {
-        margin-left: 60%; }
-      html.theme--documenter-dark .column.is-offset-four-fifths-mobile {
-        margin-left: 80%; }
-      html.theme--documenter-dark .column.is-0-mobile {
-        flex: none;
-        width: 0%; }
-      html.theme--documenter-dark .column.is-offset-0-mobile {
-        margin-left: 0%; }
-      html.theme--documenter-dark .column.is-1-mobile {
-        flex: none;
-        width: 8.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-1-mobile {
-        margin-left: 8.3333333333%; }
-      html.theme--documenter-dark .column.is-2-mobile {
-        flex: none;
-        width: 16.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-2-mobile {
-        margin-left: 16.6666666667%; }
-      html.theme--documenter-dark .column.is-3-mobile {
-        flex: none;
-        width: 25%; }
-      html.theme--documenter-dark .column.is-offset-3-mobile {
-        margin-left: 25%; }
-      html.theme--documenter-dark .column.is-4-mobile {
-        flex: none;
-        width: 33.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-4-mobile {
-        margin-left: 33.3333333333%; }
-      html.theme--documenter-dark .column.is-5-mobile {
-        flex: none;
-        width: 41.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-5-mobile {
-        margin-left: 41.6666666667%; }
-      html.theme--documenter-dark .column.is-6-mobile {
-        flex: none;
-        width: 50%; }
-      html.theme--documenter-dark .column.is-offset-6-mobile {
-        margin-left: 50%; }
-      html.theme--documenter-dark .column.is-7-mobile {
-        flex: none;
-        width: 58.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-7-mobile {
-        margin-left: 58.3333333333%; }
-      html.theme--documenter-dark .column.is-8-mobile {
-        flex: none;
-        width: 66.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-8-mobile {
-        margin-left: 66.6666666667%; }
-      html.theme--documenter-dark .column.is-9-mobile {
-        flex: none;
-        width: 75%; }
-      html.theme--documenter-dark .column.is-offset-9-mobile {
-        margin-left: 75%; }
-      html.theme--documenter-dark .column.is-10-mobile {
-        flex: none;
-        width: 83.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-10-mobile {
-        margin-left: 83.3333333333%; }
-      html.theme--documenter-dark .column.is-11-mobile {
-        flex: none;
-        width: 91.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-11-mobile {
-        margin-left: 91.6666666667%; }
-      html.theme--documenter-dark .column.is-12-mobile {
-        flex: none;
-        width: 100%; }
-      html.theme--documenter-dark .column.is-offset-12-mobile {
-        margin-left: 100%; } }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .column.is-narrow, html.theme--documenter-dark .column.is-narrow-tablet {
-        flex: none; }
-      html.theme--documenter-dark .column.is-full, html.theme--documenter-dark .column.is-full-tablet {
-        flex: none;
-        width: 100%; }
-      html.theme--documenter-dark .column.is-three-quarters, html.theme--documenter-dark .column.is-three-quarters-tablet {
-        flex: none;
-        width: 75%; }
-      html.theme--documenter-dark .column.is-two-thirds, html.theme--documenter-dark .column.is-two-thirds-tablet {
-        flex: none;
-        width: 66.6666%; }
-      html.theme--documenter-dark .column.is-half, html.theme--documenter-dark .column.is-half-tablet {
-        flex: none;
-        width: 50%; }
-      html.theme--documenter-dark .column.is-one-third, html.theme--documenter-dark .column.is-one-third-tablet {
-        flex: none;
-        width: 33.3333%; }
-      html.theme--documenter-dark .column.is-one-quarter, html.theme--documenter-dark .column.is-one-quarter-tablet {
-        flex: none;
-        width: 25%; }
-      html.theme--documenter-dark .column.is-one-fifth, html.theme--documenter-dark .column.is-one-fifth-tablet {
-        flex: none;
-        width: 20%; }
-      html.theme--documenter-dark .column.is-two-fifths, html.theme--documenter-dark .column.is-two-fifths-tablet {
-        flex: none;
-        width: 40%; }
-      html.theme--documenter-dark .column.is-three-fifths, html.theme--documenter-dark .column.is-three-fifths-tablet {
-        flex: none;
-        width: 60%; }
-      html.theme--documenter-dark .column.is-four-fifths, html.theme--documenter-dark .column.is-four-fifths-tablet {
-        flex: none;
-        width: 80%; }
-      html.theme--documenter-dark .column.is-offset-three-quarters, html.theme--documenter-dark .column.is-offset-three-quarters-tablet {
-        margin-left: 75%; }
-      html.theme--documenter-dark .column.is-offset-two-thirds, html.theme--documenter-dark .column.is-offset-two-thirds-tablet {
-        margin-left: 66.6666%; }
-      html.theme--documenter-dark .column.is-offset-half, html.theme--documenter-dark .column.is-offset-half-tablet {
-        margin-left: 50%; }
-      html.theme--documenter-dark .column.is-offset-one-third, html.theme--documenter-dark .column.is-offset-one-third-tablet {
-        margin-left: 33.3333%; }
-      html.theme--documenter-dark .column.is-offset-one-quarter, html.theme--documenter-dark .column.is-offset-one-quarter-tablet {
-        margin-left: 25%; }
-      html.theme--documenter-dark .column.is-offset-one-fifth, html.theme--documenter-dark .column.is-offset-one-fifth-tablet {
-        margin-left: 20%; }
-      html.theme--documenter-dark .column.is-offset-two-fifths, html.theme--documenter-dark .column.is-offset-two-fifths-tablet {
-        margin-left: 40%; }
-      html.theme--documenter-dark .column.is-offset-three-fifths, html.theme--documenter-dark .column.is-offset-three-fifths-tablet {
-        margin-left: 60%; }
-      html.theme--documenter-dark .column.is-offset-four-fifths, html.theme--documenter-dark .column.is-offset-four-fifths-tablet {
-        margin-left: 80%; }
-      html.theme--documenter-dark .column.is-0, html.theme--documenter-dark .column.is-0-tablet {
-        flex: none;
-        width: 0%; }
-      html.theme--documenter-dark .column.is-offset-0, html.theme--documenter-dark .column.is-offset-0-tablet {
-        margin-left: 0%; }
-      html.theme--documenter-dark .column.is-1, html.theme--documenter-dark .column.is-1-tablet {
-        flex: none;
-        width: 8.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-1, html.theme--documenter-dark .column.is-offset-1-tablet {
-        margin-left: 8.3333333333%; }
-      html.theme--documenter-dark .column.is-2, html.theme--documenter-dark .column.is-2-tablet {
-        flex: none;
-        width: 16.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-2, html.theme--documenter-dark .column.is-offset-2-tablet {
-        margin-left: 16.6666666667%; }
-      html.theme--documenter-dark .column.is-3, html.theme--documenter-dark .column.is-3-tablet {
-        flex: none;
-        width: 25%; }
-      html.theme--documenter-dark .column.is-offset-3, html.theme--documenter-dark .column.is-offset-3-tablet {
-        margin-left: 25%; }
-      html.theme--documenter-dark .column.is-4, html.theme--documenter-dark .column.is-4-tablet {
-        flex: none;
-        width: 33.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-4, html.theme--documenter-dark .column.is-offset-4-tablet {
-        margin-left: 33.3333333333%; }
-      html.theme--documenter-dark .column.is-5, html.theme--documenter-dark .column.is-5-tablet {
-        flex: none;
-        width: 41.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-5, html.theme--documenter-dark .column.is-offset-5-tablet {
-        margin-left: 41.6666666667%; }
-      html.theme--documenter-dark .column.is-6, html.theme--documenter-dark .column.is-6-tablet {
-        flex: none;
-        width: 50%; }
-      html.theme--documenter-dark .column.is-offset-6, html.theme--documenter-dark .column.is-offset-6-tablet {
-        margin-left: 50%; }
-      html.theme--documenter-dark .column.is-7, html.theme--documenter-dark .column.is-7-tablet {
-        flex: none;
-        width: 58.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-7, html.theme--documenter-dark .column.is-offset-7-tablet {
-        margin-left: 58.3333333333%; }
-      html.theme--documenter-dark .column.is-8, html.theme--documenter-dark .column.is-8-tablet {
-        flex: none;
-        width: 66.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-8, html.theme--documenter-dark .column.is-offset-8-tablet {
-        margin-left: 66.6666666667%; }
-      html.theme--documenter-dark .column.is-9, html.theme--documenter-dark .column.is-9-tablet {
-        flex: none;
-        width: 75%; }
-      html.theme--documenter-dark .column.is-offset-9, html.theme--documenter-dark .column.is-offset-9-tablet {
-        margin-left: 75%; }
-      html.theme--documenter-dark .column.is-10, html.theme--documenter-dark .column.is-10-tablet {
-        flex: none;
-        width: 83.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-10, html.theme--documenter-dark .column.is-offset-10-tablet {
-        margin-left: 83.3333333333%; }
-      html.theme--documenter-dark .column.is-11, html.theme--documenter-dark .column.is-11-tablet {
-        flex: none;
-        width: 91.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-11, html.theme--documenter-dark .column.is-offset-11-tablet {
-        margin-left: 91.6666666667%; }
-      html.theme--documenter-dark .column.is-12, html.theme--documenter-dark .column.is-12-tablet {
-        flex: none;
-        width: 100%; }
-      html.theme--documenter-dark .column.is-offset-12, html.theme--documenter-dark .column.is-offset-12-tablet {
-        margin-left: 100%; } }
-    @media screen and (max-width: 1055px) {
-      html.theme--documenter-dark .column.is-narrow-touch {
-        flex: none; }
-      html.theme--documenter-dark .column.is-full-touch {
-        flex: none;
-        width: 100%; }
-      html.theme--documenter-dark .column.is-three-quarters-touch {
-        flex: none;
-        width: 75%; }
-      html.theme--documenter-dark .column.is-two-thirds-touch {
-        flex: none;
-        width: 66.6666%; }
-      html.theme--documenter-dark .column.is-half-touch {
-        flex: none;
-        width: 50%; }
-      html.theme--documenter-dark .column.is-one-third-touch {
-        flex: none;
-        width: 33.3333%; }
-      html.theme--documenter-dark .column.is-one-quarter-touch {
-        flex: none;
-        width: 25%; }
-      html.theme--documenter-dark .column.is-one-fifth-touch {
-        flex: none;
-        width: 20%; }
-      html.theme--documenter-dark .column.is-two-fifths-touch {
-        flex: none;
-        width: 40%; }
-      html.theme--documenter-dark .column.is-three-fifths-touch {
-        flex: none;
-        width: 60%; }
-      html.theme--documenter-dark .column.is-four-fifths-touch {
-        flex: none;
-        width: 80%; }
-      html.theme--documenter-dark .column.is-offset-three-quarters-touch {
-        margin-left: 75%; }
-      html.theme--documenter-dark .column.is-offset-two-thirds-touch {
-        margin-left: 66.6666%; }
-      html.theme--documenter-dark .column.is-offset-half-touch {
-        margin-left: 50%; }
-      html.theme--documenter-dark .column.is-offset-one-third-touch {
-        margin-left: 33.3333%; }
-      html.theme--documenter-dark .column.is-offset-one-quarter-touch {
-        margin-left: 25%; }
-      html.theme--documenter-dark .column.is-offset-one-fifth-touch {
-        margin-left: 20%; }
-      html.theme--documenter-dark .column.is-offset-two-fifths-touch {
-        margin-left: 40%; }
-      html.theme--documenter-dark .column.is-offset-three-fifths-touch {
-        margin-left: 60%; }
-      html.theme--documenter-dark .column.is-offset-four-fifths-touch {
-        margin-left: 80%; }
-      html.theme--documenter-dark .column.is-0-touch {
-        flex: none;
-        width: 0%; }
-      html.theme--documenter-dark .column.is-offset-0-touch {
-        margin-left: 0%; }
-      html.theme--documenter-dark .column.is-1-touch {
-        flex: none;
-        width: 8.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-1-touch {
-        margin-left: 8.3333333333%; }
-      html.theme--documenter-dark .column.is-2-touch {
-        flex: none;
-        width: 16.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-2-touch {
-        margin-left: 16.6666666667%; }
-      html.theme--documenter-dark .column.is-3-touch {
-        flex: none;
-        width: 25%; }
-      html.theme--documenter-dark .column.is-offset-3-touch {
-        margin-left: 25%; }
-      html.theme--documenter-dark .column.is-4-touch {
-        flex: none;
-        width: 33.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-4-touch {
-        margin-left: 33.3333333333%; }
-      html.theme--documenter-dark .column.is-5-touch {
-        flex: none;
-        width: 41.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-5-touch {
-        margin-left: 41.6666666667%; }
-      html.theme--documenter-dark .column.is-6-touch {
-        flex: none;
-        width: 50%; }
-      html.theme--documenter-dark .column.is-offset-6-touch {
-        margin-left: 50%; }
-      html.theme--documenter-dark .column.is-7-touch {
-        flex: none;
-        width: 58.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-7-touch {
-        margin-left: 58.3333333333%; }
-      html.theme--documenter-dark .column.is-8-touch {
-        flex: none;
-        width: 66.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-8-touch {
-        margin-left: 66.6666666667%; }
-      html.theme--documenter-dark .column.is-9-touch {
-        flex: none;
-        width: 75%; }
-      html.theme--documenter-dark .column.is-offset-9-touch {
-        margin-left: 75%; }
-      html.theme--documenter-dark .column.is-10-touch {
-        flex: none;
-        width: 83.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-10-touch {
-        margin-left: 83.3333333333%; }
-      html.theme--documenter-dark .column.is-11-touch {
-        flex: none;
-        width: 91.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-11-touch {
-        margin-left: 91.6666666667%; }
-      html.theme--documenter-dark .column.is-12-touch {
-        flex: none;
-        width: 100%; }
-      html.theme--documenter-dark .column.is-offset-12-touch {
-        margin-left: 100%; } }
-    @media screen and (min-width: 1056px) {
-      html.theme--documenter-dark .column.is-narrow-desktop {
-        flex: none; }
-      html.theme--documenter-dark .column.is-full-desktop {
-        flex: none;
-        width: 100%; }
-      html.theme--documenter-dark .column.is-three-quarters-desktop {
-        flex: none;
-        width: 75%; }
-      html.theme--documenter-dark .column.is-two-thirds-desktop {
-        flex: none;
-        width: 66.6666%; }
-      html.theme--documenter-dark .column.is-half-desktop {
-        flex: none;
-        width: 50%; }
-      html.theme--documenter-dark .column.is-one-third-desktop {
-        flex: none;
-        width: 33.3333%; }
-      html.theme--documenter-dark .column.is-one-quarter-desktop {
-        flex: none;
-        width: 25%; }
-      html.theme--documenter-dark .column.is-one-fifth-desktop {
-        flex: none;
-        width: 20%; }
-      html.theme--documenter-dark .column.is-two-fifths-desktop {
-        flex: none;
-        width: 40%; }
-      html.theme--documenter-dark .column.is-three-fifths-desktop {
-        flex: none;
-        width: 60%; }
-      html.theme--documenter-dark .column.is-four-fifths-desktop {
-        flex: none;
-        width: 80%; }
-      html.theme--documenter-dark .column.is-offset-three-quarters-desktop {
-        margin-left: 75%; }
-      html.theme--documenter-dark .column.is-offset-two-thirds-desktop {
-        margin-left: 66.6666%; }
-      html.theme--documenter-dark .column.is-offset-half-desktop {
-        margin-left: 50%; }
-      html.theme--documenter-dark .column.is-offset-one-third-desktop {
-        margin-left: 33.3333%; }
-      html.theme--documenter-dark .column.is-offset-one-quarter-desktop {
-        margin-left: 25%; }
-      html.theme--documenter-dark .column.is-offset-one-fifth-desktop {
-        margin-left: 20%; }
-      html.theme--documenter-dark .column.is-offset-two-fifths-desktop {
-        margin-left: 40%; }
-      html.theme--documenter-dark .column.is-offset-three-fifths-desktop {
-        margin-left: 60%; }
-      html.theme--documenter-dark .column.is-offset-four-fifths-desktop {
-        margin-left: 80%; }
-      html.theme--documenter-dark .column.is-0-desktop {
-        flex: none;
-        width: 0%; }
-      html.theme--documenter-dark .column.is-offset-0-desktop {
-        margin-left: 0%; }
-      html.theme--documenter-dark .column.is-1-desktop {
-        flex: none;
-        width: 8.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-1-desktop {
-        margin-left: 8.3333333333%; }
-      html.theme--documenter-dark .column.is-2-desktop {
-        flex: none;
-        width: 16.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-2-desktop {
-        margin-left: 16.6666666667%; }
-      html.theme--documenter-dark .column.is-3-desktop {
-        flex: none;
-        width: 25%; }
-      html.theme--documenter-dark .column.is-offset-3-desktop {
-        margin-left: 25%; }
-      html.theme--documenter-dark .column.is-4-desktop {
-        flex: none;
-        width: 33.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-4-desktop {
-        margin-left: 33.3333333333%; }
-      html.theme--documenter-dark .column.is-5-desktop {
-        flex: none;
-        width: 41.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-5-desktop {
-        margin-left: 41.6666666667%; }
-      html.theme--documenter-dark .column.is-6-desktop {
-        flex: none;
-        width: 50%; }
-      html.theme--documenter-dark .column.is-offset-6-desktop {
-        margin-left: 50%; }
-      html.theme--documenter-dark .column.is-7-desktop {
-        flex: none;
-        width: 58.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-7-desktop {
-        margin-left: 58.3333333333%; }
-      html.theme--documenter-dark .column.is-8-desktop {
-        flex: none;
-        width: 66.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-8-desktop {
-        margin-left: 66.6666666667%; }
-      html.theme--documenter-dark .column.is-9-desktop {
-        flex: none;
-        width: 75%; }
-      html.theme--documenter-dark .column.is-offset-9-desktop {
-        margin-left: 75%; }
-      html.theme--documenter-dark .column.is-10-desktop {
-        flex: none;
-        width: 83.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-10-desktop {
-        margin-left: 83.3333333333%; }
-      html.theme--documenter-dark .column.is-11-desktop {
-        flex: none;
-        width: 91.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-11-desktop {
-        margin-left: 91.6666666667%; }
-      html.theme--documenter-dark .column.is-12-desktop {
-        flex: none;
-        width: 100%; }
-      html.theme--documenter-dark .column.is-offset-12-desktop {
-        margin-left: 100%; } }
-    @media screen and (min-width: 1216px) {
-      html.theme--documenter-dark .column.is-narrow-widescreen {
-        flex: none; }
-      html.theme--documenter-dark .column.is-full-widescreen {
-        flex: none;
-        width: 100%; }
-      html.theme--documenter-dark .column.is-three-quarters-widescreen {
-        flex: none;
-        width: 75%; }
-      html.theme--documenter-dark .column.is-two-thirds-widescreen {
-        flex: none;
-        width: 66.6666%; }
-      html.theme--documenter-dark .column.is-half-widescreen {
-        flex: none;
-        width: 50%; }
-      html.theme--documenter-dark .column.is-one-third-widescreen {
-        flex: none;
-        width: 33.3333%; }
-      html.theme--documenter-dark .column.is-one-quarter-widescreen {
-        flex: none;
-        width: 25%; }
-      html.theme--documenter-dark .column.is-one-fifth-widescreen {
-        flex: none;
-        width: 20%; }
-      html.theme--documenter-dark .column.is-two-fifths-widescreen {
-        flex: none;
-        width: 40%; }
-      html.theme--documenter-dark .column.is-three-fifths-widescreen {
-        flex: none;
-        width: 60%; }
-      html.theme--documenter-dark .column.is-four-fifths-widescreen {
-        flex: none;
-        width: 80%; }
-      html.theme--documenter-dark .column.is-offset-three-quarters-widescreen {
-        margin-left: 75%; }
-      html.theme--documenter-dark .column.is-offset-two-thirds-widescreen {
-        margin-left: 66.6666%; }
-      html.theme--documenter-dark .column.is-offset-half-widescreen {
-        margin-left: 50%; }
-      html.theme--documenter-dark .column.is-offset-one-third-widescreen {
-        margin-left: 33.3333%; }
-      html.theme--documenter-dark .column.is-offset-one-quarter-widescreen {
-        margin-left: 25%; }
-      html.theme--documenter-dark .column.is-offset-one-fifth-widescreen {
-        margin-left: 20%; }
-      html.theme--documenter-dark .column.is-offset-two-fifths-widescreen {
-        margin-left: 40%; }
-      html.theme--documenter-dark .column.is-offset-three-fifths-widescreen {
-        margin-left: 60%; }
-      html.theme--documenter-dark .column.is-offset-four-fifths-widescreen {
-        margin-left: 80%; }
-      html.theme--documenter-dark .column.is-0-widescreen {
-        flex: none;
-        width: 0%; }
-      html.theme--documenter-dark .column.is-offset-0-widescreen {
-        margin-left: 0%; }
-      html.theme--documenter-dark .column.is-1-widescreen {
-        flex: none;
-        width: 8.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-1-widescreen {
-        margin-left: 8.3333333333%; }
-      html.theme--documenter-dark .column.is-2-widescreen {
-        flex: none;
-        width: 16.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-2-widescreen {
-        margin-left: 16.6666666667%; }
-      html.theme--documenter-dark .column.is-3-widescreen {
-        flex: none;
-        width: 25%; }
-      html.theme--documenter-dark .column.is-offset-3-widescreen {
-        margin-left: 25%; }
-      html.theme--documenter-dark .column.is-4-widescreen {
-        flex: none;
-        width: 33.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-4-widescreen {
-        margin-left: 33.3333333333%; }
-      html.theme--documenter-dark .column.is-5-widescreen {
-        flex: none;
-        width: 41.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-5-widescreen {
-        margin-left: 41.6666666667%; }
-      html.theme--documenter-dark .column.is-6-widescreen {
-        flex: none;
-        width: 50%; }
-      html.theme--documenter-dark .column.is-offset-6-widescreen {
-        margin-left: 50%; }
-      html.theme--documenter-dark .column.is-7-widescreen {
-        flex: none;
-        width: 58.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-7-widescreen {
-        margin-left: 58.3333333333%; }
-      html.theme--documenter-dark .column.is-8-widescreen {
-        flex: none;
-        width: 66.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-8-widescreen {
-        margin-left: 66.6666666667%; }
-      html.theme--documenter-dark .column.is-9-widescreen {
-        flex: none;
-        width: 75%; }
-      html.theme--documenter-dark .column.is-offset-9-widescreen {
-        margin-left: 75%; }
-      html.theme--documenter-dark .column.is-10-widescreen {
-        flex: none;
-        width: 83.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-10-widescreen {
-        margin-left: 83.3333333333%; }
-      html.theme--documenter-dark .column.is-11-widescreen {
-        flex: none;
-        width: 91.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-11-widescreen {
-        margin-left: 91.6666666667%; }
-      html.theme--documenter-dark .column.is-12-widescreen {
-        flex: none;
-        width: 100%; }
-      html.theme--documenter-dark .column.is-offset-12-widescreen {
-        margin-left: 100%; } }
-    @media screen and (min-width: 1408px) {
-      html.theme--documenter-dark .column.is-narrow-fullhd {
-        flex: none; }
-      html.theme--documenter-dark .column.is-full-fullhd {
-        flex: none;
-        width: 100%; }
-      html.theme--documenter-dark .column.is-three-quarters-fullhd {
-        flex: none;
-        width: 75%; }
-      html.theme--documenter-dark .column.is-two-thirds-fullhd {
-        flex: none;
-        width: 66.6666%; }
-      html.theme--documenter-dark .column.is-half-fullhd {
-        flex: none;
-        width: 50%; }
-      html.theme--documenter-dark .column.is-one-third-fullhd {
-        flex: none;
-        width: 33.3333%; }
-      html.theme--documenter-dark .column.is-one-quarter-fullhd {
-        flex: none;
-        width: 25%; }
-      html.theme--documenter-dark .column.is-one-fifth-fullhd {
-        flex: none;
-        width: 20%; }
-      html.theme--documenter-dark .column.is-two-fifths-fullhd {
-        flex: none;
-        width: 40%; }
-      html.theme--documenter-dark .column.is-three-fifths-fullhd {
-        flex: none;
-        width: 60%; }
-      html.theme--documenter-dark .column.is-four-fifths-fullhd {
-        flex: none;
-        width: 80%; }
-      html.theme--documenter-dark .column.is-offset-three-quarters-fullhd {
-        margin-left: 75%; }
-      html.theme--documenter-dark .column.is-offset-two-thirds-fullhd {
-        margin-left: 66.6666%; }
-      html.theme--documenter-dark .column.is-offset-half-fullhd {
-        margin-left: 50%; }
-      html.theme--documenter-dark .column.is-offset-one-third-fullhd {
-        margin-left: 33.3333%; }
-      html.theme--documenter-dark .column.is-offset-one-quarter-fullhd {
-        margin-left: 25%; }
-      html.theme--documenter-dark .column.is-offset-one-fifth-fullhd {
-        margin-left: 20%; }
-      html.theme--documenter-dark .column.is-offset-two-fifths-fullhd {
-        margin-left: 40%; }
-      html.theme--documenter-dark .column.is-offset-three-fifths-fullhd {
-        margin-left: 60%; }
-      html.theme--documenter-dark .column.is-offset-four-fifths-fullhd {
-        margin-left: 80%; }
-      html.theme--documenter-dark .column.is-0-fullhd {
-        flex: none;
-        width: 0%; }
-      html.theme--documenter-dark .column.is-offset-0-fullhd {
-        margin-left: 0%; }
-      html.theme--documenter-dark .column.is-1-fullhd {
-        flex: none;
-        width: 8.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-1-fullhd {
-        margin-left: 8.3333333333%; }
-      html.theme--documenter-dark .column.is-2-fullhd {
-        flex: none;
-        width: 16.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-2-fullhd {
-        margin-left: 16.6666666667%; }
-      html.theme--documenter-dark .column.is-3-fullhd {
-        flex: none;
-        width: 25%; }
-      html.theme--documenter-dark .column.is-offset-3-fullhd {
-        margin-left: 25%; }
-      html.theme--documenter-dark .column.is-4-fullhd {
-        flex: none;
-        width: 33.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-4-fullhd {
-        margin-left: 33.3333333333%; }
-      html.theme--documenter-dark .column.is-5-fullhd {
-        flex: none;
-        width: 41.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-5-fullhd {
-        margin-left: 41.6666666667%; }
-      html.theme--documenter-dark .column.is-6-fullhd {
-        flex: none;
-        width: 50%; }
-      html.theme--documenter-dark .column.is-offset-6-fullhd {
-        margin-left: 50%; }
-      html.theme--documenter-dark .column.is-7-fullhd {
-        flex: none;
-        width: 58.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-7-fullhd {
-        margin-left: 58.3333333333%; }
-      html.theme--documenter-dark .column.is-8-fullhd {
-        flex: none;
-        width: 66.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-8-fullhd {
-        margin-left: 66.6666666667%; }
-      html.theme--documenter-dark .column.is-9-fullhd {
-        flex: none;
-        width: 75%; }
-      html.theme--documenter-dark .column.is-offset-9-fullhd {
-        margin-left: 75%; }
-      html.theme--documenter-dark .column.is-10-fullhd {
-        flex: none;
-        width: 83.3333333333%; }
-      html.theme--documenter-dark .column.is-offset-10-fullhd {
-        margin-left: 83.3333333333%; }
-      html.theme--documenter-dark .column.is-11-fullhd {
-        flex: none;
-        width: 91.6666666667%; }
-      html.theme--documenter-dark .column.is-offset-11-fullhd {
-        margin-left: 91.6666666667%; }
-      html.theme--documenter-dark .column.is-12-fullhd {
-        flex: none;
-        width: 100%; }
-      html.theme--documenter-dark .column.is-offset-12-fullhd {
-        margin-left: 100%; } }
-  html.theme--documenter-dark .columns {
-    margin-left: -0.75rem;
-    margin-right: -0.75rem;
-    margin-top: -0.75rem; }
-    html.theme--documenter-dark .columns:last-child {
-      margin-bottom: -0.75rem; }
-    html.theme--documenter-dark .columns:not(:last-child) {
-      margin-bottom: calc(1.5rem - 0.75rem); }
-    html.theme--documenter-dark .columns.is-centered {
-      justify-content: center; }
-    html.theme--documenter-dark .columns.is-gapless {
-      margin-left: 0;
-      margin-right: 0;
-      margin-top: 0; }
-      html.theme--documenter-dark .columns.is-gapless > .column {
-        margin: 0;
-        padding: 0 !important; }
-      html.theme--documenter-dark .columns.is-gapless:not(:last-child) {
-        margin-bottom: 1.5rem; }
-      html.theme--documenter-dark .columns.is-gapless:last-child {
-        margin-bottom: 0; }
-    html.theme--documenter-dark .columns.is-mobile {
-      display: flex; }
-    html.theme--documenter-dark .columns.is-multiline {
-      flex-wrap: wrap; }
-    html.theme--documenter-dark .columns.is-vcentered {
-      align-items: center; }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .columns:not(.is-desktop) {
-        display: flex; } }
-    @media screen and (min-width: 1056px) {
-      html.theme--documenter-dark .columns.is-desktop {
-        display: flex; } }
-  html.theme--documenter-dark .columns.is-variable {
-    --columnGap: 0.75rem;
-    margin-left: calc(-1 * var(--columnGap));
-    margin-right: calc(-1 * var(--columnGap)); }
-    html.theme--documenter-dark .columns.is-variable .column {
-      padding-left: var(--columnGap);
-      padding-right: var(--columnGap); }
-    html.theme--documenter-dark .columns.is-variable.is-0 {
-      --columnGap: 0rem; }
-    @media screen and (max-width: 768px) {
-      html.theme--documenter-dark .columns.is-variable.is-0-mobile {
-        --columnGap: 0rem; } }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .columns.is-variable.is-0-tablet {
-        --columnGap: 0rem; } }
-    @media screen and (min-width: 769px) and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-0-tablet-only {
-        --columnGap: 0rem; } }
-    @media screen and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-0-touch {
-        --columnGap: 0rem; } }
-    @media screen and (min-width: 1056px) {
-      html.theme--documenter-dark .columns.is-variable.is-0-desktop {
-        --columnGap: 0rem; } }
-    @media screen and (min-width: 1056px) and (max-width: 1215px) {
-      html.theme--documenter-dark .columns.is-variable.is-0-desktop-only {
-        --columnGap: 0rem; } }
-    @media screen and (min-width: 1216px) {
-      html.theme--documenter-dark .columns.is-variable.is-0-widescreen {
-        --columnGap: 0rem; } }
-    @media screen and (min-width: 1216px) and (max-width: 1407px) {
-      html.theme--documenter-dark .columns.is-variable.is-0-widescreen-only {
-        --columnGap: 0rem; } }
-    @media screen and (min-width: 1408px) {
-      html.theme--documenter-dark .columns.is-variable.is-0-fullhd {
-        --columnGap: 0rem; } }
-    html.theme--documenter-dark .columns.is-variable.is-1 {
-      --columnGap: 0.25rem; }
-    @media screen and (max-width: 768px) {
-      html.theme--documenter-dark .columns.is-variable.is-1-mobile {
-        --columnGap: 0.25rem; } }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .columns.is-variable.is-1-tablet {
-        --columnGap: 0.25rem; } }
-    @media screen and (min-width: 769px) and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-1-tablet-only {
-        --columnGap: 0.25rem; } }
-    @media screen and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-1-touch {
-        --columnGap: 0.25rem; } }
-    @media screen and (min-width: 1056px) {
-      html.theme--documenter-dark .columns.is-variable.is-1-desktop {
-        --columnGap: 0.25rem; } }
-    @media screen and (min-width: 1056px) and (max-width: 1215px) {
-      html.theme--documenter-dark .columns.is-variable.is-1-desktop-only {
-        --columnGap: 0.25rem; } }
-    @media screen and (min-width: 1216px) {
-      html.theme--documenter-dark .columns.is-variable.is-1-widescreen {
-        --columnGap: 0.25rem; } }
-    @media screen and (min-width: 1216px) and (max-width: 1407px) {
-      html.theme--documenter-dark .columns.is-variable.is-1-widescreen-only {
-        --columnGap: 0.25rem; } }
-    @media screen and (min-width: 1408px) {
-      html.theme--documenter-dark .columns.is-variable.is-1-fullhd {
-        --columnGap: 0.25rem; } }
-    html.theme--documenter-dark .columns.is-variable.is-2 {
-      --columnGap: 0.5rem; }
-    @media screen and (max-width: 768px) {
-      html.theme--documenter-dark .columns.is-variable.is-2-mobile {
-        --columnGap: 0.5rem; } }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .columns.is-variable.is-2-tablet {
-        --columnGap: 0.5rem; } }
-    @media screen and (min-width: 769px) and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-2-tablet-only {
-        --columnGap: 0.5rem; } }
-    @media screen and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-2-touch {
-        --columnGap: 0.5rem; } }
-    @media screen and (min-width: 1056px) {
-      html.theme--documenter-dark .columns.is-variable.is-2-desktop {
-        --columnGap: 0.5rem; } }
-    @media screen and (min-width: 1056px) and (max-width: 1215px) {
-      html.theme--documenter-dark .columns.is-variable.is-2-desktop-only {
-        --columnGap: 0.5rem; } }
-    @media screen and (min-width: 1216px) {
-      html.theme--documenter-dark .columns.is-variable.is-2-widescreen {
-        --columnGap: 0.5rem; } }
-    @media screen and (min-width: 1216px) and (max-width: 1407px) {
-      html.theme--documenter-dark .columns.is-variable.is-2-widescreen-only {
-        --columnGap: 0.5rem; } }
-    @media screen and (min-width: 1408px) {
-      html.theme--documenter-dark .columns.is-variable.is-2-fullhd {
-        --columnGap: 0.5rem; } }
-    html.theme--documenter-dark .columns.is-variable.is-3 {
-      --columnGap: 0.75rem; }
-    @media screen and (max-width: 768px) {
-      html.theme--documenter-dark .columns.is-variable.is-3-mobile {
-        --columnGap: 0.75rem; } }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .columns.is-variable.is-3-tablet {
-        --columnGap: 0.75rem; } }
-    @media screen and (min-width: 769px) and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-3-tablet-only {
-        --columnGap: 0.75rem; } }
-    @media screen and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-3-touch {
-        --columnGap: 0.75rem; } }
-    @media screen and (min-width: 1056px) {
-      html.theme--documenter-dark .columns.is-variable.is-3-desktop {
-        --columnGap: 0.75rem; } }
-    @media screen and (min-width: 1056px) and (max-width: 1215px) {
-      html.theme--documenter-dark .columns.is-variable.is-3-desktop-only {
-        --columnGap: 0.75rem; } }
-    @media screen and (min-width: 1216px) {
-      html.theme--documenter-dark .columns.is-variable.is-3-widescreen {
-        --columnGap: 0.75rem; } }
-    @media screen and (min-width: 1216px) and (max-width: 1407px) {
-      html.theme--documenter-dark .columns.is-variable.is-3-widescreen-only {
-        --columnGap: 0.75rem; } }
-    @media screen and (min-width: 1408px) {
-      html.theme--documenter-dark .columns.is-variable.is-3-fullhd {
-        --columnGap: 0.75rem; } }
-    html.theme--documenter-dark .columns.is-variable.is-4 {
-      --columnGap: 1rem; }
-    @media screen and (max-width: 768px) {
-      html.theme--documenter-dark .columns.is-variable.is-4-mobile {
-        --columnGap: 1rem; } }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .columns.is-variable.is-4-tablet {
-        --columnGap: 1rem; } }
-    @media screen and (min-width: 769px) and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-4-tablet-only {
-        --columnGap: 1rem; } }
-    @media screen and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-4-touch {
-        --columnGap: 1rem; } }
-    @media screen and (min-width: 1056px) {
-      html.theme--documenter-dark .columns.is-variable.is-4-desktop {
-        --columnGap: 1rem; } }
-    @media screen and (min-width: 1056px) and (max-width: 1215px) {
-      html.theme--documenter-dark .columns.is-variable.is-4-desktop-only {
-        --columnGap: 1rem; } }
-    @media screen and (min-width: 1216px) {
-      html.theme--documenter-dark .columns.is-variable.is-4-widescreen {
-        --columnGap: 1rem; } }
-    @media screen and (min-width: 1216px) and (max-width: 1407px) {
-      html.theme--documenter-dark .columns.is-variable.is-4-widescreen-only {
-        --columnGap: 1rem; } }
-    @media screen and (min-width: 1408px) {
-      html.theme--documenter-dark .columns.is-variable.is-4-fullhd {
-        --columnGap: 1rem; } }
-    html.theme--documenter-dark .columns.is-variable.is-5 {
-      --columnGap: 1.25rem; }
-    @media screen and (max-width: 768px) {
-      html.theme--documenter-dark .columns.is-variable.is-5-mobile {
-        --columnGap: 1.25rem; } }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .columns.is-variable.is-5-tablet {
-        --columnGap: 1.25rem; } }
-    @media screen and (min-width: 769px) and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-5-tablet-only {
-        --columnGap: 1.25rem; } }
-    @media screen and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-5-touch {
-        --columnGap: 1.25rem; } }
-    @media screen and (min-width: 1056px) {
-      html.theme--documenter-dark .columns.is-variable.is-5-desktop {
-        --columnGap: 1.25rem; } }
-    @media screen and (min-width: 1056px) and (max-width: 1215px) {
-      html.theme--documenter-dark .columns.is-variable.is-5-desktop-only {
-        --columnGap: 1.25rem; } }
-    @media screen and (min-width: 1216px) {
-      html.theme--documenter-dark .columns.is-variable.is-5-widescreen {
-        --columnGap: 1.25rem; } }
-    @media screen and (min-width: 1216px) and (max-width: 1407px) {
-      html.theme--documenter-dark .columns.is-variable.is-5-widescreen-only {
-        --columnGap: 1.25rem; } }
-    @media screen and (min-width: 1408px) {
-      html.theme--documenter-dark .columns.is-variable.is-5-fullhd {
-        --columnGap: 1.25rem; } }
-    html.theme--documenter-dark .columns.is-variable.is-6 {
-      --columnGap: 1.5rem; }
-    @media screen and (max-width: 768px) {
-      html.theme--documenter-dark .columns.is-variable.is-6-mobile {
-        --columnGap: 1.5rem; } }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .columns.is-variable.is-6-tablet {
-        --columnGap: 1.5rem; } }
-    @media screen and (min-width: 769px) and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-6-tablet-only {
-        --columnGap: 1.5rem; } }
-    @media screen and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-6-touch {
-        --columnGap: 1.5rem; } }
-    @media screen and (min-width: 1056px) {
-      html.theme--documenter-dark .columns.is-variable.is-6-desktop {
-        --columnGap: 1.5rem; } }
-    @media screen and (min-width: 1056px) and (max-width: 1215px) {
-      html.theme--documenter-dark .columns.is-variable.is-6-desktop-only {
-        --columnGap: 1.5rem; } }
-    @media screen and (min-width: 1216px) {
-      html.theme--documenter-dark .columns.is-variable.is-6-widescreen {
-        --columnGap: 1.5rem; } }
-    @media screen and (min-width: 1216px) and (max-width: 1407px) {
-      html.theme--documenter-dark .columns.is-variable.is-6-widescreen-only {
-        --columnGap: 1.5rem; } }
-    @media screen and (min-width: 1408px) {
-      html.theme--documenter-dark .columns.is-variable.is-6-fullhd {
-        --columnGap: 1.5rem; } }
-    html.theme--documenter-dark .columns.is-variable.is-7 {
-      --columnGap: 1.75rem; }
-    @media screen and (max-width: 768px) {
-      html.theme--documenter-dark .columns.is-variable.is-7-mobile {
-        --columnGap: 1.75rem; } }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .columns.is-variable.is-7-tablet {
-        --columnGap: 1.75rem; } }
-    @media screen and (min-width: 769px) and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-7-tablet-only {
-        --columnGap: 1.75rem; } }
-    @media screen and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-7-touch {
-        --columnGap: 1.75rem; } }
-    @media screen and (min-width: 1056px) {
-      html.theme--documenter-dark .columns.is-variable.is-7-desktop {
-        --columnGap: 1.75rem; } }
-    @media screen and (min-width: 1056px) and (max-width: 1215px) {
-      html.theme--documenter-dark .columns.is-variable.is-7-desktop-only {
-        --columnGap: 1.75rem; } }
-    @media screen and (min-width: 1216px) {
-      html.theme--documenter-dark .columns.is-variable.is-7-widescreen {
-        --columnGap: 1.75rem; } }
-    @media screen and (min-width: 1216px) and (max-width: 1407px) {
-      html.theme--documenter-dark .columns.is-variable.is-7-widescreen-only {
-        --columnGap: 1.75rem; } }
-    @media screen and (min-width: 1408px) {
-      html.theme--documenter-dark .columns.is-variable.is-7-fullhd {
-        --columnGap: 1.75rem; } }
-    html.theme--documenter-dark .columns.is-variable.is-8 {
-      --columnGap: 2rem; }
-    @media screen and (max-width: 768px) {
-      html.theme--documenter-dark .columns.is-variable.is-8-mobile {
-        --columnGap: 2rem; } }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .columns.is-variable.is-8-tablet {
-        --columnGap: 2rem; } }
-    @media screen and (min-width: 769px) and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-8-tablet-only {
-        --columnGap: 2rem; } }
-    @media screen and (max-width: 1055px) {
-      html.theme--documenter-dark .columns.is-variable.is-8-touch {
-        --columnGap: 2rem; } }
-    @media screen and (min-width: 1056px) {
-      html.theme--documenter-dark .columns.is-variable.is-8-desktop {
-        --columnGap: 2rem; } }
-    @media screen and (min-width: 1056px) and (max-width: 1215px) {
-      html.theme--documenter-dark .columns.is-variable.is-8-desktop-only {
-        --columnGap: 2rem; } }
-    @media screen and (min-width: 1216px) {
-      html.theme--documenter-dark .columns.is-variable.is-8-widescreen {
-        --columnGap: 2rem; } }
-    @media screen and (min-width: 1216px) and (max-width: 1407px) {
-      html.theme--documenter-dark .columns.is-variable.is-8-widescreen-only {
-        --columnGap: 2rem; } }
-    @media screen and (min-width: 1408px) {
-      html.theme--documenter-dark .columns.is-variable.is-8-fullhd {
-        --columnGap: 2rem; } }
-  html.theme--documenter-dark .tile {
-    align-items: stretch;
-    display: block;
-    flex-basis: 0;
-    flex-grow: 1;
-    flex-shrink: 1;
-    min-height: min-content; }
-    html.theme--documenter-dark .tile.is-ancestor {
-      margin-left: -0.75rem;
-      margin-right: -0.75rem;
-      margin-top: -0.75rem; }
-      html.theme--documenter-dark .tile.is-ancestor:last-child {
-        margin-bottom: -0.75rem; }
-      html.theme--documenter-dark .tile.is-ancestor:not(:last-child) {
-        margin-bottom: 0.75rem; }
-    html.theme--documenter-dark .tile.is-child {
-      margin: 0 !important; }
-    html.theme--documenter-dark .tile.is-parent {
-      padding: 0.75rem; }
-    html.theme--documenter-dark .tile.is-vertical {
-      flex-direction: column; }
-      html.theme--documenter-dark .tile.is-vertical > .tile.is-child:not(:last-child) {
-        margin-bottom: 1.5rem !important; }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .tile:not(.is-child) {
-        display: flex; }
-      html.theme--documenter-dark .tile.is-1 {
-        flex: none;
-        width: 8.3333333333%; }
-      html.theme--documenter-dark .tile.is-2 {
-        flex: none;
-        width: 16.6666666667%; }
-      html.theme--documenter-dark .tile.is-3 {
-        flex: none;
-        width: 25%; }
-      html.theme--documenter-dark .tile.is-4 {
-        flex: none;
-        width: 33.3333333333%; }
-      html.theme--documenter-dark .tile.is-5 {
-        flex: none;
-        width: 41.6666666667%; }
-      html.theme--documenter-dark .tile.is-6 {
-        flex: none;
-        width: 50%; }
-      html.theme--documenter-dark .tile.is-7 {
-        flex: none;
-        width: 58.3333333333%; }
-      html.theme--documenter-dark .tile.is-8 {
-        flex: none;
-        width: 66.6666666667%; }
-      html.theme--documenter-dark .tile.is-9 {
-        flex: none;
-        width: 75%; }
-      html.theme--documenter-dark .tile.is-10 {
-        flex: none;
-        width: 83.3333333333%; }
-      html.theme--documenter-dark .tile.is-11 {
-        flex: none;
-        width: 91.6666666667%; }
-      html.theme--documenter-dark .tile.is-12 {
-        flex: none;
-        width: 100%; } }
-  html.theme--documenter-dark .hero {
-    align-items: stretch;
-    display: flex;
-    flex-direction: column;
-    justify-content: space-between; }
-    html.theme--documenter-dark .hero .navbar {
-      background: none; }
-    html.theme--documenter-dark .hero .tabs ul {
-      border-bottom: none; }
-    html.theme--documenter-dark .hero.is-white {
-      background-color: white;
-      color: #0a0a0a; }
-      html.theme--documenter-dark .hero.is-white a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-      html.theme--documenter-dark .hero.is-white strong {
-        color: inherit; }
-      html.theme--documenter-dark .hero.is-white .title {
-        color: #0a0a0a; }
-      html.theme--documenter-dark .hero.is-white .subtitle {
-        color: rgba(10, 10, 10, 0.9); }
-        html.theme--documenter-dark .hero.is-white .subtitle a:not(.button),
-        html.theme--documenter-dark .hero.is-white .subtitle strong {
-          color: #0a0a0a; }
-      @media screen and (max-width: 1055px) {
-        html.theme--documenter-dark .hero.is-white .navbar-menu {
-          background-color: white; } }
-      html.theme--documenter-dark .hero.is-white .navbar-item,
-      html.theme--documenter-dark .hero.is-white .navbar-link {
-        color: rgba(10, 10, 10, 0.7); }
-      html.theme--documenter-dark .hero.is-white a.navbar-item:hover, html.theme--documenter-dark .hero.is-white a.navbar-item.is-active,
-      html.theme--documenter-dark .hero.is-white .navbar-link:hover,
-      html.theme--documenter-dark .hero.is-white .navbar-link.is-active {
-        background-color: #f2f2f2;
-        color: #0a0a0a; }
-      html.theme--documenter-dark .hero.is-white .tabs a {
-        color: #0a0a0a;
-        opacity: 0.9; }
-        html.theme--documenter-dark .hero.is-white .tabs a:hover {
-          opacity: 1; }
-      html.theme--documenter-dark .hero.is-white .tabs li.is-active a {
-        opacity: 1; }
-      html.theme--documenter-dark .hero.is-white .tabs.is-boxed a, html.theme--documenter-dark .hero.is-white .tabs.is-toggle a {
-        color: #0a0a0a; }
-        html.theme--documenter-dark .hero.is-white .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-white .tabs.is-toggle a:hover {
-          background-color: rgba(10, 10, 10, 0.1); }
-      html.theme--documenter-dark .hero.is-white .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-white .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-white .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-white .tabs.is-toggle li.is-active a:hover {
-        background-color: #0a0a0a;
-        border-color: #0a0a0a;
-        color: white; }
-      html.theme--documenter-dark .hero.is-white.is-bold {
-        background-image: linear-gradient(141deg, #e8e3e4 0%, white 71%, white 100%); }
-        @media screen and (max-width: 768px) {
-          html.theme--documenter-dark .hero.is-white.is-bold .navbar-menu {
-            background-image: linear-gradient(141deg, #e8e3e4 0%, white 71%, white 100%); } }
-    html.theme--documenter-dark .hero.is-black {
-      background-color: #0a0a0a;
-      color: white; }
-      html.theme--documenter-dark .hero.is-black a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-      html.theme--documenter-dark .hero.is-black strong {
-        color: inherit; }
-      html.theme--documenter-dark .hero.is-black .title {
-        color: white; }
-      html.theme--documenter-dark .hero.is-black .subtitle {
-        color: rgba(255, 255, 255, 0.9); }
-        html.theme--documenter-dark .hero.is-black .subtitle a:not(.button),
-        html.theme--documenter-dark .hero.is-black .subtitle strong {
-          color: white; }
-      @media screen and (max-width: 1055px) {
-        html.theme--documenter-dark .hero.is-black .navbar-menu {
-          background-color: #0a0a0a; } }
-      html.theme--documenter-dark .hero.is-black .navbar-item,
-      html.theme--documenter-dark .hero.is-black .navbar-link {
-        color: rgba(255, 255, 255, 0.7); }
-      html.theme--documenter-dark .hero.is-black a.navbar-item:hover, html.theme--documenter-dark .hero.is-black a.navbar-item.is-active,
-      html.theme--documenter-dark .hero.is-black .navbar-link:hover,
-      html.theme--documenter-dark .hero.is-black .navbar-link.is-active {
-        background-color: black;
-        color: white; }
-      html.theme--documenter-dark .hero.is-black .tabs a {
-        color: white;
-        opacity: 0.9; }
-        html.theme--documenter-dark .hero.is-black .tabs a:hover {
-          opacity: 1; }
-      html.theme--documenter-dark .hero.is-black .tabs li.is-active a {
-        opacity: 1; }
-      html.theme--documenter-dark .hero.is-black .tabs.is-boxed a, html.theme--documenter-dark .hero.is-black .tabs.is-toggle a {
-        color: white; }
-        html.theme--documenter-dark .hero.is-black .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-black .tabs.is-toggle a:hover {
-          background-color: rgba(10, 10, 10, 0.1); }
-      html.theme--documenter-dark .hero.is-black .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-black .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-black .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-black .tabs.is-toggle li.is-active a:hover {
-        background-color: white;
-        border-color: white;
-        color: #0a0a0a; }
-      html.theme--documenter-dark .hero.is-black.is-bold {
-        background-image: linear-gradient(141deg, black 0%, #0a0a0a 71%, #181616 100%); }
-        @media screen and (max-width: 768px) {
-          html.theme--documenter-dark .hero.is-black.is-bold .navbar-menu {
-            background-image: linear-gradient(141deg, black 0%, #0a0a0a 71%, #181616 100%); } }
-    html.theme--documenter-dark .hero.is-light {
-      background-color: #ecf0f1;
-      color: #282f2f; }
-      html.theme--documenter-dark .hero.is-light a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-      html.theme--documenter-dark .hero.is-light strong {
-        color: inherit; }
-      html.theme--documenter-dark .hero.is-light .title {
-        color: #282f2f; }
-      html.theme--documenter-dark .hero.is-light .subtitle {
-        color: rgba(40, 47, 47, 0.9); }
-        html.theme--documenter-dark .hero.is-light .subtitle a:not(.button),
-        html.theme--documenter-dark .hero.is-light .subtitle strong {
-          color: #282f2f; }
-      @media screen and (max-width: 1055px) {
-        html.theme--documenter-dark .hero.is-light .navbar-menu {
-          background-color: #ecf0f1; } }
-      html.theme--documenter-dark .hero.is-light .navbar-item,
-      html.theme--documenter-dark .hero.is-light .navbar-link {
-        color: rgba(40, 47, 47, 0.7); }
-      html.theme--documenter-dark .hero.is-light a.navbar-item:hover, html.theme--documenter-dark .hero.is-light a.navbar-item.is-active,
-      html.theme--documenter-dark .hero.is-light .navbar-link:hover,
-      html.theme--documenter-dark .hero.is-light .navbar-link.is-active {
-        background-color: #dde4e6;
-        color: #282f2f; }
-      html.theme--documenter-dark .hero.is-light .tabs a {
-        color: #282f2f;
-        opacity: 0.9; }
-        html.theme--documenter-dark .hero.is-light .tabs a:hover {
-          opacity: 1; }
-      html.theme--documenter-dark .hero.is-light .tabs li.is-active a {
-        opacity: 1; }
-      html.theme--documenter-dark .hero.is-light .tabs.is-boxed a, html.theme--documenter-dark .hero.is-light .tabs.is-toggle a {
-        color: #282f2f; }
-        html.theme--documenter-dark .hero.is-light .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-light .tabs.is-toggle a:hover {
-          background-color: rgba(10, 10, 10, 0.1); }
-      html.theme--documenter-dark .hero.is-light .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-light .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-light .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-light .tabs.is-toggle li.is-active a:hover {
-        background-color: #282f2f;
-        border-color: #282f2f;
-        color: #ecf0f1; }
-      html.theme--documenter-dark .hero.is-light.is-bold {
-        background-image: linear-gradient(141deg, #cadfe0 0%, #ecf0f1 71%, #fafbfc 100%); }
-        @media screen and (max-width: 768px) {
-          html.theme--documenter-dark .hero.is-light.is-bold .navbar-menu {
-            background-image: linear-gradient(141deg, #cadfe0 0%, #ecf0f1 71%, #fafbfc 100%); } }
-    html.theme--documenter-dark .hero.is-dark, html.theme--documenter-dark .content kbd.hero {
-      background-color: #282f2f;
-      color: #ecf0f1; }
-      html.theme--documenter-dark .hero.is-dark a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), html.theme--documenter-dark .content kbd.hero a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-      html.theme--documenter-dark .hero.is-dark strong,
-      html.theme--documenter-dark .content kbd.hero strong {
-        color: inherit; }
-      html.theme--documenter-dark .hero.is-dark .title, html.theme--documenter-dark .content kbd.hero .title {
-        color: #ecf0f1; }
-      html.theme--documenter-dark .hero.is-dark .subtitle, html.theme--documenter-dark .content kbd.hero .subtitle {
-        color: rgba(236, 240, 241, 0.9); }
-        html.theme--documenter-dark .hero.is-dark .subtitle a:not(.button), html.theme--documenter-dark .content kbd.hero .subtitle a:not(.button),
-        html.theme--documenter-dark .hero.is-dark .subtitle strong,
-        html.theme--documenter-dark .content kbd.hero .subtitle strong {
-          color: #ecf0f1; }
-      @media screen and (max-width: 1055px) {
-        html.theme--documenter-dark .hero.is-dark .navbar-menu, html.theme--documenter-dark .content kbd.hero .navbar-menu {
-          background-color: #282f2f; } }
-      html.theme--documenter-dark .hero.is-dark .navbar-item, html.theme--documenter-dark .content kbd.hero .navbar-item,
-      html.theme--documenter-dark .hero.is-dark .navbar-link,
-      html.theme--documenter-dark .content kbd.hero .navbar-link {
-        color: rgba(236, 240, 241, 0.7); }
-      html.theme--documenter-dark .hero.is-dark a.navbar-item:hover, html.theme--documenter-dark .content kbd.hero a.navbar-item:hover, html.theme--documenter-dark .hero.is-dark a.navbar-item.is-active, html.theme--documenter-dark .content kbd.hero a.navbar-item.is-active,
-      html.theme--documenter-dark .hero.is-dark .navbar-link:hover,
-      html.theme--documenter-dark .content kbd.hero .navbar-link:hover,
-      html.theme--documenter-dark .hero.is-dark .navbar-link.is-active,
-      html.theme--documenter-dark .content kbd.hero .navbar-link.is-active {
-        background-color: #1d2122;
-        color: #ecf0f1; }
-      html.theme--documenter-dark .hero.is-dark .tabs a, html.theme--documenter-dark .content kbd.hero .tabs a {
-        color: #ecf0f1;
-        opacity: 0.9; }
-        html.theme--documenter-dark .hero.is-dark .tabs a:hover, html.theme--documenter-dark .content kbd.hero .tabs a:hover {
-          opacity: 1; }
-      html.theme--documenter-dark .hero.is-dark .tabs li.is-active a, html.theme--documenter-dark .content kbd.hero .tabs li.is-active a {
-        opacity: 1; }
-      html.theme--documenter-dark .hero.is-dark .tabs.is-boxed a, html.theme--documenter-dark .content kbd.hero .tabs.is-boxed a, html.theme--documenter-dark .hero.is-dark .tabs.is-toggle a, html.theme--documenter-dark .content kbd.hero .tabs.is-toggle a {
-        color: #ecf0f1; }
-        html.theme--documenter-dark .hero.is-dark .tabs.is-boxed a:hover, html.theme--documenter-dark .content kbd.hero .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-dark .tabs.is-toggle a:hover, html.theme--documenter-dark .content kbd.hero .tabs.is-toggle a:hover {
-          background-color: rgba(10, 10, 10, 0.1); }
-      html.theme--documenter-dark .hero.is-dark .tabs.is-boxed li.is-active a, html.theme--documenter-dark .content kbd.hero .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-dark .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-dark .tabs.is-toggle li.is-active a, html.theme--documenter-dark .content kbd.hero .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-dark .tabs.is-toggle li.is-active a:hover {
-        background-color: #ecf0f1;
-        border-color: #ecf0f1;
-        color: #282f2f; }
-      html.theme--documenter-dark .hero.is-dark.is-bold, html.theme--documenter-dark .content kbd.hero.is-bold {
-        background-image: linear-gradient(141deg, #0f1615 0%, #282f2f 71%, #313c40 100%); }
-        @media screen and (max-width: 768px) {
-          html.theme--documenter-dark .hero.is-dark.is-bold .navbar-menu, html.theme--documenter-dark .content kbd.hero.is-bold .navbar-menu {
-            background-image: linear-gradient(141deg, #0f1615 0%, #282f2f 71%, #313c40 100%); } }
-    html.theme--documenter-dark .hero.is-primary, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink {
-      background-color: #375a7f;
-      color: #fff; }
-      html.theme--documenter-dark .hero.is-primary a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-      html.theme--documenter-dark .hero.is-primary strong,
-      html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink strong {
-        color: inherit; }
-      html.theme--documenter-dark .hero.is-primary .title, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .title {
-        color: #fff; }
-      html.theme--documenter-dark .hero.is-primary .subtitle, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .subtitle {
-        color: rgba(255, 255, 255, 0.9); }
-        html.theme--documenter-dark .hero.is-primary .subtitle a:not(.button), html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .subtitle a:not(.button),
-        html.theme--documenter-dark .hero.is-primary .subtitle strong,
-        html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .subtitle strong {
-          color: #fff; }
-      @media screen and (max-width: 1055px) {
-        html.theme--documenter-dark .hero.is-primary .navbar-menu, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .navbar-menu {
-          background-color: #375a7f; } }
-      html.theme--documenter-dark .hero.is-primary .navbar-item, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .navbar-item,
-      html.theme--documenter-dark .hero.is-primary .navbar-link,
-      html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .navbar-link {
-        color: rgba(255, 255, 255, 0.7); }
-      html.theme--documenter-dark .hero.is-primary a.navbar-item:hover, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink a.navbar-item:hover, html.theme--documenter-dark .hero.is-primary a.navbar-item.is-active, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink a.navbar-item.is-active,
-      html.theme--documenter-dark .hero.is-primary .navbar-link:hover,
-      html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .navbar-link:hover,
-      html.theme--documenter-dark .hero.is-primary .navbar-link.is-active,
-      html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .navbar-link.is-active {
-        background-color: #2f4d6d;
-        color: #fff; }
-      html.theme--documenter-dark .hero.is-primary .tabs a, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs a {
-        color: #fff;
-        opacity: 0.9; }
-        html.theme--documenter-dark .hero.is-primary .tabs a:hover, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs a:hover {
-          opacity: 1; }
-      html.theme--documenter-dark .hero.is-primary .tabs li.is-active a, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs li.is-active a {
-        opacity: 1; }
-      html.theme--documenter-dark .hero.is-primary .tabs.is-boxed a, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs.is-boxed a, html.theme--documenter-dark .hero.is-primary .tabs.is-toggle a, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs.is-toggle a {
-        color: #fff; }
-        html.theme--documenter-dark .hero.is-primary .tabs.is-boxed a:hover, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-primary .tabs.is-toggle a:hover, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs.is-toggle a:hover {
-          background-color: rgba(10, 10, 10, 0.1); }
-      html.theme--documenter-dark .hero.is-primary .tabs.is-boxed li.is-active a, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-primary .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-primary .tabs.is-toggle li.is-active a, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-primary .tabs.is-toggle li.is-active a:hover {
-        background-color: #fff;
-        border-color: #fff;
-        color: #375a7f; }
-      html.theme--documenter-dark .hero.is-primary.is-bold, html.theme--documenter-dark .docstring > section > a.hero.is-bold.docs-sourcelink {
-        background-image: linear-gradient(141deg, #214b62 0%, #375a7f 71%, #3a5796 100%); }
-        @media screen and (max-width: 768px) {
-          html.theme--documenter-dark .hero.is-primary.is-bold .navbar-menu, html.theme--documenter-dark .docstring > section > a.hero.is-bold.docs-sourcelink .navbar-menu {
-            background-image: linear-gradient(141deg, #214b62 0%, #375a7f 71%, #3a5796 100%); } }
-    html.theme--documenter-dark .hero.is-link {
-      background-color: #1abc9c;
-      color: #fff; }
-      html.theme--documenter-dark .hero.is-link a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-      html.theme--documenter-dark .hero.is-link strong {
-        color: inherit; }
-      html.theme--documenter-dark .hero.is-link .title {
-        color: #fff; }
-      html.theme--documenter-dark .hero.is-link .subtitle {
-        color: rgba(255, 255, 255, 0.9); }
-        html.theme--documenter-dark .hero.is-link .subtitle a:not(.button),
-        html.theme--documenter-dark .hero.is-link .subtitle strong {
-          color: #fff; }
-      @media screen and (max-width: 1055px) {
-        html.theme--documenter-dark .hero.is-link .navbar-menu {
-          background-color: #1abc9c; } }
-      html.theme--documenter-dark .hero.is-link .navbar-item,
-      html.theme--documenter-dark .hero.is-link .navbar-link {
-        color: rgba(255, 255, 255, 0.7); }
-      html.theme--documenter-dark .hero.is-link a.navbar-item:hover, html.theme--documenter-dark .hero.is-link a.navbar-item.is-active,
-      html.theme--documenter-dark .hero.is-link .navbar-link:hover,
-      html.theme--documenter-dark .hero.is-link .navbar-link.is-active {
-        background-color: #17a689;
-        color: #fff; }
-      html.theme--documenter-dark .hero.is-link .tabs a {
-        color: #fff;
-        opacity: 0.9; }
-        html.theme--documenter-dark .hero.is-link .tabs a:hover {
-          opacity: 1; }
-      html.theme--documenter-dark .hero.is-link .tabs li.is-active a {
-        opacity: 1; }
-      html.theme--documenter-dark .hero.is-link .tabs.is-boxed a, html.theme--documenter-dark .hero.is-link .tabs.is-toggle a {
-        color: #fff; }
-        html.theme--documenter-dark .hero.is-link .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-link .tabs.is-toggle a:hover {
-          background-color: rgba(10, 10, 10, 0.1); }
-      html.theme--documenter-dark .hero.is-link .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-link .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-link .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-link .tabs.is-toggle li.is-active a:hover {
-        background-color: #fff;
-        border-color: #fff;
-        color: #1abc9c; }
-      html.theme--documenter-dark .hero.is-link.is-bold {
-        background-image: linear-gradient(141deg, #0c9764 0%, #1abc9c 71%, #17d8d2 100%); }
-        @media screen and (max-width: 768px) {
-          html.theme--documenter-dark .hero.is-link.is-bold .navbar-menu {
-            background-image: linear-gradient(141deg, #0c9764 0%, #1abc9c 71%, #17d8d2 100%); } }
-    html.theme--documenter-dark .hero.is-info {
-      background-color: #024c7d;
-      color: #fff; }
-      html.theme--documenter-dark .hero.is-info a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-      html.theme--documenter-dark .hero.is-info strong {
-        color: inherit; }
-      html.theme--documenter-dark .hero.is-info .title {
-        color: #fff; }
-      html.theme--documenter-dark .hero.is-info .subtitle {
-        color: rgba(255, 255, 255, 0.9); }
-        html.theme--documenter-dark .hero.is-info .subtitle a:not(.button),
-        html.theme--documenter-dark .hero.is-info .subtitle strong {
-          color: #fff; }
-      @media screen and (max-width: 1055px) {
-        html.theme--documenter-dark .hero.is-info .navbar-menu {
-          background-color: #024c7d; } }
-      html.theme--documenter-dark .hero.is-info .navbar-item,
-      html.theme--documenter-dark .hero.is-info .navbar-link {
-        color: rgba(255, 255, 255, 0.7); }
-      html.theme--documenter-dark .hero.is-info a.navbar-item:hover, html.theme--documenter-dark .hero.is-info a.navbar-item.is-active,
-      html.theme--documenter-dark .hero.is-info .navbar-link:hover,
-      html.theme--documenter-dark .hero.is-info .navbar-link.is-active {
-        background-color: #023d64;
-        color: #fff; }
-      html.theme--documenter-dark .hero.is-info .tabs a {
-        color: #fff;
-        opacity: 0.9; }
-        html.theme--documenter-dark .hero.is-info .tabs a:hover {
-          opacity: 1; }
-      html.theme--documenter-dark .hero.is-info .tabs li.is-active a {
-        opacity: 1; }
-      html.theme--documenter-dark .hero.is-info .tabs.is-boxed a, html.theme--documenter-dark .hero.is-info .tabs.is-toggle a {
-        color: #fff; }
-        html.theme--documenter-dark .hero.is-info .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-info .tabs.is-toggle a:hover {
-          background-color: rgba(10, 10, 10, 0.1); }
-      html.theme--documenter-dark .hero.is-info .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-info .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-info .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-info .tabs.is-toggle li.is-active a:hover {
-        background-color: #fff;
-        border-color: #fff;
-        color: #024c7d; }
-      html.theme--documenter-dark .hero.is-info.is-bold {
-        background-image: linear-gradient(141deg, #003a4c 0%, #024c7d 71%, #004299 100%); }
-        @media screen and (max-width: 768px) {
-          html.theme--documenter-dark .hero.is-info.is-bold .navbar-menu {
-            background-image: linear-gradient(141deg, #003a4c 0%, #024c7d 71%, #004299 100%); } }
-    html.theme--documenter-dark .hero.is-success {
-      background-color: #008438;
-      color: #fff; }
-      html.theme--documenter-dark .hero.is-success a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-      html.theme--documenter-dark .hero.is-success strong {
-        color: inherit; }
-      html.theme--documenter-dark .hero.is-success .title {
-        color: #fff; }
-      html.theme--documenter-dark .hero.is-success .subtitle {
-        color: rgba(255, 255, 255, 0.9); }
-        html.theme--documenter-dark .hero.is-success .subtitle a:not(.button),
-        html.theme--documenter-dark .hero.is-success .subtitle strong {
-          color: #fff; }
-      @media screen and (max-width: 1055px) {
-        html.theme--documenter-dark .hero.is-success .navbar-menu {
-          background-color: #008438; } }
-      html.theme--documenter-dark .hero.is-success .navbar-item,
-      html.theme--documenter-dark .hero.is-success .navbar-link {
-        color: rgba(255, 255, 255, 0.7); }
-      html.theme--documenter-dark .hero.is-success a.navbar-item:hover, html.theme--documenter-dark .hero.is-success a.navbar-item.is-active,
-      html.theme--documenter-dark .hero.is-success .navbar-link:hover,
-      html.theme--documenter-dark .hero.is-success .navbar-link.is-active {
-        background-color: #006b2d;
-        color: #fff; }
-      html.theme--documenter-dark .hero.is-success .tabs a {
-        color: #fff;
-        opacity: 0.9; }
-        html.theme--documenter-dark .hero.is-success .tabs a:hover {
-          opacity: 1; }
-      html.theme--documenter-dark .hero.is-success .tabs li.is-active a {
-        opacity: 1; }
-      html.theme--documenter-dark .hero.is-success .tabs.is-boxed a, html.theme--documenter-dark .hero.is-success .tabs.is-toggle a {
-        color: #fff; }
-        html.theme--documenter-dark .hero.is-success .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-success .tabs.is-toggle a:hover {
-          background-color: rgba(10, 10, 10, 0.1); }
-      html.theme--documenter-dark .hero.is-success .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-success .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-success .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-success .tabs.is-toggle li.is-active a:hover {
-        background-color: #fff;
-        border-color: #fff;
-        color: #008438; }
-      html.theme--documenter-dark .hero.is-success.is-bold {
-        background-image: linear-gradient(141deg, #005115 0%, #008438 71%, #009e5d 100%); }
-        @media screen and (max-width: 768px) {
-          html.theme--documenter-dark .hero.is-success.is-bold .navbar-menu {
-            background-image: linear-gradient(141deg, #005115 0%, #008438 71%, #009e5d 100%); } }
-    html.theme--documenter-dark .hero.is-warning {
-      background-color: #ad8100;
-      color: #fff; }
-      html.theme--documenter-dark .hero.is-warning a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-      html.theme--documenter-dark .hero.is-warning strong {
-        color: inherit; }
-      html.theme--documenter-dark .hero.is-warning .title {
-        color: #fff; }
-      html.theme--documenter-dark .hero.is-warning .subtitle {
-        color: rgba(255, 255, 255, 0.9); }
-        html.theme--documenter-dark .hero.is-warning .subtitle a:not(.button),
-        html.theme--documenter-dark .hero.is-warning .subtitle strong {
-          color: #fff; }
-      @media screen and (max-width: 1055px) {
-        html.theme--documenter-dark .hero.is-warning .navbar-menu {
-          background-color: #ad8100; } }
-      html.theme--documenter-dark .hero.is-warning .navbar-item,
-      html.theme--documenter-dark .hero.is-warning .navbar-link {
-        color: rgba(255, 255, 255, 0.7); }
-      html.theme--documenter-dark .hero.is-warning a.navbar-item:hover, html.theme--documenter-dark .hero.is-warning a.navbar-item.is-active,
-      html.theme--documenter-dark .hero.is-warning .navbar-link:hover,
-      html.theme--documenter-dark .hero.is-warning .navbar-link.is-active {
-        background-color: #946e00;
-        color: #fff; }
-      html.theme--documenter-dark .hero.is-warning .tabs a {
-        color: #fff;
-        opacity: 0.9; }
-        html.theme--documenter-dark .hero.is-warning .tabs a:hover {
-          opacity: 1; }
-      html.theme--documenter-dark .hero.is-warning .tabs li.is-active a {
-        opacity: 1; }
-      html.theme--documenter-dark .hero.is-warning .tabs.is-boxed a, html.theme--documenter-dark .hero.is-warning .tabs.is-toggle a {
-        color: #fff; }
-        html.theme--documenter-dark .hero.is-warning .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-warning .tabs.is-toggle a:hover {
-          background-color: rgba(10, 10, 10, 0.1); }
-      html.theme--documenter-dark .hero.is-warning .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-warning .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-warning .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-warning .tabs.is-toggle li.is-active a:hover {
-        background-color: #fff;
-        border-color: #fff;
-        color: #ad8100; }
-      html.theme--documenter-dark .hero.is-warning.is-bold {
-        background-image: linear-gradient(141deg, #7a4700 0%, #ad8100 71%, #c7b500 100%); }
-        @media screen and (max-width: 768px) {
-          html.theme--documenter-dark .hero.is-warning.is-bold .navbar-menu {
-            background-image: linear-gradient(141deg, #7a4700 0%, #ad8100 71%, #c7b500 100%); } }
-    html.theme--documenter-dark .hero.is-danger {
-      background-color: #9e1b0d;
-      color: #fff; }
-      html.theme--documenter-dark .hero.is-danger a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-      html.theme--documenter-dark .hero.is-danger strong {
-        color: inherit; }
-      html.theme--documenter-dark .hero.is-danger .title {
-        color: #fff; }
-      html.theme--documenter-dark .hero.is-danger .subtitle {
-        color: rgba(255, 255, 255, 0.9); }
-        html.theme--documenter-dark .hero.is-danger .subtitle a:not(.button),
-        html.theme--documenter-dark .hero.is-danger .subtitle strong {
-          color: #fff; }
-      @media screen and (max-width: 1055px) {
-        html.theme--documenter-dark .hero.is-danger .navbar-menu {
-          background-color: #9e1b0d; } }
-      html.theme--documenter-dark .hero.is-danger .navbar-item,
-      html.theme--documenter-dark .hero.is-danger .navbar-link {
-        color: rgba(255, 255, 255, 0.7); }
-      html.theme--documenter-dark .hero.is-danger a.navbar-item:hover, html.theme--documenter-dark .hero.is-danger a.navbar-item.is-active,
-      html.theme--documenter-dark .hero.is-danger .navbar-link:hover,
-      html.theme--documenter-dark .hero.is-danger .navbar-link.is-active {
-        background-color: #86170b;
-        color: #fff; }
-      html.theme--documenter-dark .hero.is-danger .tabs a {
-        color: #fff;
-        opacity: 0.9; }
-        html.theme--documenter-dark .hero.is-danger .tabs a:hover {
-          opacity: 1; }
-      html.theme--documenter-dark .hero.is-danger .tabs li.is-active a {
-        opacity: 1; }
-      html.theme--documenter-dark .hero.is-danger .tabs.is-boxed a, html.theme--documenter-dark .hero.is-danger .tabs.is-toggle a {
-        color: #fff; }
-        html.theme--documenter-dark .hero.is-danger .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-danger .tabs.is-toggle a:hover {
-          background-color: rgba(10, 10, 10, 0.1); }
-      html.theme--documenter-dark .hero.is-danger .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-danger .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-danger .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-danger .tabs.is-toggle li.is-active a:hover {
-        background-color: #fff;
-        border-color: #fff;
-        color: #9e1b0d; }
-      html.theme--documenter-dark .hero.is-danger.is-bold {
-        background-image: linear-gradient(141deg, #75030b 0%, #9e1b0d 71%, #ba380a 100%); }
-        @media screen and (max-width: 768px) {
-          html.theme--documenter-dark .hero.is-danger.is-bold .navbar-menu {
-            background-image: linear-gradient(141deg, #75030b 0%, #9e1b0d 71%, #ba380a 100%); } }
-    html.theme--documenter-dark .hero.is-small .hero-body, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.hero .hero-body {
-      padding-bottom: 1.5rem;
-      padding-top: 1.5rem; }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .hero.is-medium .hero-body {
-        padding-bottom: 9rem;
-        padding-top: 9rem; } }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .hero.is-large .hero-body {
-        padding-bottom: 18rem;
-        padding-top: 18rem; } }
-    html.theme--documenter-dark .hero.is-halfheight .hero-body, html.theme--documenter-dark .hero.is-fullheight .hero-body, html.theme--documenter-dark .hero.is-fullheight-with-navbar .hero-body {
-      align-items: center;
-      display: flex; }
-      html.theme--documenter-dark .hero.is-halfheight .hero-body > .container, html.theme--documenter-dark .hero.is-fullheight .hero-body > .container, html.theme--documenter-dark .hero.is-fullheight-with-navbar .hero-body > .container {
-        flex-grow: 1;
-        flex-shrink: 1; }
-    html.theme--documenter-dark .hero.is-halfheight {
-      min-height: 50vh; }
-    html.theme--documenter-dark .hero.is-fullheight {
-      min-height: 100vh; }
-  html.theme--documenter-dark .hero-video {
-    overflow: hidden; }
-    html.theme--documenter-dark .hero-video video {
-      left: 50%;
-      min-height: 100%;
-      min-width: 100%;
-      position: absolute;
-      top: 50%;
-      transform: translate3d(-50%, -50%, 0); }
-    html.theme--documenter-dark .hero-video.is-transparent {
-      opacity: 0.3; }
-    @media screen and (max-width: 768px) {
-      html.theme--documenter-dark .hero-video {
-        display: none; } }
-  html.theme--documenter-dark .hero-buttons {
-    margin-top: 1.5rem; }
-    @media screen and (max-width: 768px) {
-      html.theme--documenter-dark .hero-buttons .button {
-        display: flex; }
-        html.theme--documenter-dark .hero-buttons .button:not(:last-child) {
-          margin-bottom: 0.75rem; } }
-    @media screen and (min-width: 769px), print {
-      html.theme--documenter-dark .hero-buttons {
-        display: flex;
-        justify-content: center; }
-        html.theme--documenter-dark .hero-buttons .button:not(:last-child) {
-          margin-right: 1.5rem; } }
-  html.theme--documenter-dark .hero-head,
-  html.theme--documenter-dark .hero-foot {
-    flex-grow: 0;
-    flex-shrink: 0; }
-  html.theme--documenter-dark .hero-body {
-    flex-grow: 1;
-    flex-shrink: 0;
-    padding: 3rem 1.5rem; }
-  html.theme--documenter-dark .section {
-    padding: 3rem 1.5rem; }
-    @media screen and (min-width: 1056px) {
-      html.theme--documenter-dark .section.is-medium {
-        padding: 9rem 1.5rem; }
-      html.theme--documenter-dark .section.is-large {
-        padding: 18rem 1.5rem; } }
-  html.theme--documenter-dark .footer {
-    background-color: #282f2f;
-    padding: 3rem 1.5rem 6rem; }
-  html.theme--documenter-dark hr {
-    height: 1px; }
-  html.theme--documenter-dark h6 {
-    text-transform: uppercase;
-    letter-spacing: 0.5px; }
-  html.theme--documenter-dark .hero {
-    background-color: #343c3d; }
-  html.theme--documenter-dark a {
-    transition: all 200ms ease; }
-  html.theme--documenter-dark .button {
-    transition: all 200ms ease;
-    border-width: 1px;
-    color: white; }
-    html.theme--documenter-dark .button.is-active, html.theme--documenter-dark .button.is-focused, html.theme--documenter-dark .button:active, html.theme--documenter-dark .button:focus {
-      box-shadow: 0 0 0 2px rgba(140, 155, 157, 0.5); }
-    html.theme--documenter-dark .button.is-white.is-hovered, html.theme--documenter-dark .button.is-white:hover {
-      background-color: white; }
-    html.theme--documenter-dark .button.is-white.is-active, html.theme--documenter-dark .button.is-white.is-focused, html.theme--documenter-dark .button.is-white:active, html.theme--documenter-dark .button.is-white:focus {
-      border-color: white;
-      box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5); }
-    html.theme--documenter-dark .button.is-black.is-hovered, html.theme--documenter-dark .button.is-black:hover {
-      background-color: #1d1d1d; }
-    html.theme--documenter-dark .button.is-black.is-active, html.theme--documenter-dark .button.is-black.is-focused, html.theme--documenter-dark .button.is-black:active, html.theme--documenter-dark .button.is-black:focus {
-      border-color: #0a0a0a;
-      box-shadow: 0 0 0 2px rgba(10, 10, 10, 0.5); }
-    html.theme--documenter-dark .button.is-light.is-hovered, html.theme--documenter-dark .button.is-light:hover {
-      background-color: white; }
-    html.theme--documenter-dark .button.is-light.is-active, html.theme--documenter-dark .button.is-light.is-focused, html.theme--documenter-dark .button.is-light:active, html.theme--documenter-dark .button.is-light:focus {
-      border-color: #ecf0f1;
-      box-shadow: 0 0 0 2px rgba(236, 240, 241, 0.5); }
-    html.theme--documenter-dark .button.is-dark.is-hovered, html.theme--documenter-dark .content kbd.button.is-hovered, html.theme--documenter-dark .button.is-dark:hover, html.theme--documenter-dark .content kbd.button:hover {
-      background-color: #3a4344; }
-    html.theme--documenter-dark .button.is-dark.is-active, html.theme--documenter-dark .content kbd.button.is-active, html.theme--documenter-dark .button.is-dark.is-focused, html.theme--documenter-dark .content kbd.button.is-focused, html.theme--documenter-dark .button.is-dark:active, html.theme--documenter-dark .content kbd.button:active, html.theme--documenter-dark .button.is-dark:focus, html.theme--documenter-dark .content kbd.button:focus {
-      border-color: #282f2f;
-      box-shadow: 0 0 0 2px rgba(40, 47, 47, 0.5); }
-    html.theme--documenter-dark .button.is-primary.is-hovered, html.theme--documenter-dark .docstring > section > a.button.is-hovered.docs-sourcelink, html.theme--documenter-dark .button.is-primary:hover, html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink:hover {
-      background-color: #436d9a; }
-    html.theme--documenter-dark .button.is-primary.is-active, html.theme--documenter-dark .docstring > section > a.button.is-active.docs-sourcelink, html.theme--documenter-dark .button.is-primary.is-focused, html.theme--documenter-dark .docstring > section > a.button.is-focused.docs-sourcelink, html.theme--documenter-dark .button.is-primary:active, html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink:active, html.theme--documenter-dark .button.is-primary:focus, html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink:focus {
-      border-color: #375a7f;
-      box-shadow: 0 0 0 2px rgba(55, 90, 127, 0.5); }
-    html.theme--documenter-dark .button.is-link.is-hovered, html.theme--documenter-dark .button.is-link:hover {
-      background-color: #1fdeb8; }
-    html.theme--documenter-dark .button.is-link.is-active, html.theme--documenter-dark .button.is-link.is-focused, html.theme--documenter-dark .button.is-link:active, html.theme--documenter-dark .button.is-link:focus {
-      border-color: #1abc9c;
-      box-shadow: 0 0 0 2px rgba(26, 188, 156, 0.5); }
-    html.theme--documenter-dark .button.is-info.is-hovered, html.theme--documenter-dark .button.is-info:hover {
-      background-color: #0363a3; }
-    html.theme--documenter-dark .button.is-info.is-active, html.theme--documenter-dark .button.is-info.is-focused, html.theme--documenter-dark .button.is-info:active, html.theme--documenter-dark .button.is-info:focus {
-      border-color: #024c7d;
-      box-shadow: 0 0 0 2px rgba(2, 76, 125, 0.5); }
-    html.theme--documenter-dark .button.is-success.is-hovered, html.theme--documenter-dark .button.is-success:hover {
-      background-color: #00aa48; }
-    html.theme--documenter-dark .button.is-success.is-active, html.theme--documenter-dark .button.is-success.is-focused, html.theme--documenter-dark .button.is-success:active, html.theme--documenter-dark .button.is-success:focus {
-      border-color: #008438;
-      box-shadow: 0 0 0 2px rgba(0, 132, 56, 0.5); }
-    html.theme--documenter-dark .button.is-warning.is-hovered, html.theme--documenter-dark .button.is-warning:hover {
-      background-color: #d39e00; }
-    html.theme--documenter-dark .button.is-warning.is-active, html.theme--documenter-dark .button.is-warning.is-focused, html.theme--documenter-dark .button.is-warning:active, html.theme--documenter-dark .button.is-warning:focus {
-      border-color: #ad8100;
-      box-shadow: 0 0 0 2px rgba(173, 129, 0, 0.5); }
-    html.theme--documenter-dark .button.is-danger.is-hovered, html.theme--documenter-dark .button.is-danger:hover {
-      background-color: #c12110; }
-    html.theme--documenter-dark .button.is-danger.is-active, html.theme--documenter-dark .button.is-danger.is-focused, html.theme--documenter-dark .button.is-danger:active, html.theme--documenter-dark .button.is-danger:focus {
-      border-color: #9e1b0d;
-      box-shadow: 0 0 0 2px rgba(158, 27, 13, 0.5); }
-  html.theme--documenter-dark .label {
-    color: #dbdee0; }
-  html.theme--documenter-dark .button,
-  html.theme--documenter-dark .control.has-icons-left .icon,
-  html.theme--documenter-dark .control.has-icons-right .icon,
-  html.theme--documenter-dark .input,
-  html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input,
-  html.theme--documenter-dark .pagination-ellipsis,
-  html.theme--documenter-dark .pagination-link,
-  html.theme--documenter-dark .pagination-next,
-  html.theme--documenter-dark .pagination-previous,
-  html.theme--documenter-dark .select,
-  html.theme--documenter-dark .select select,
-  html.theme--documenter-dark .textarea {
-    height: 2.5em; }
-  html.theme--documenter-dark .input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input,
-  html.theme--documenter-dark .textarea {
-    transition: all 200ms ease;
-    box-shadow: none;
-    border-width: 1px;
-    padding-left: 1em;
-    padding-right: 1em; }
-  html.theme--documenter-dark .select:after,
-  html.theme--documenter-dark .select select {
-    border-width: 1px; }
-  html.theme--documenter-dark .control.has-addons .button,
-  html.theme--documenter-dark .control.has-addons .input,
-  html.theme--documenter-dark .control.has-addons #documenter .docs-sidebar form.docs-search > input,
-  html.theme--documenter-dark #documenter .docs-sidebar .control.has-addons form.docs-search > input,
-  html.theme--documenter-dark .control.has-addons .select {
-    margin-right: -1px; }
-  html.theme--documenter-dark .notification {
-    background-color: #343c3d; }
-  html.theme--documenter-dark .card {
-    box-shadow: none;
-    border: 1px solid #343c3d;
-    background-color: #282f2f;
-    border-radius: 0.4em; }
-    html.theme--documenter-dark .card .card-image img {
-      border-radius: 0.4em 0.4em 0 0; }
-    html.theme--documenter-dark .card .card-header {
-      box-shadow: none;
-      background-color: rgba(18, 18, 18, 0.2);
-      border-radius: 0.4em 0.4em 0 0; }
-    html.theme--documenter-dark .card .card-footer {
-      background-color: rgba(18, 18, 18, 0.2); }
-    html.theme--documenter-dark .card .card-footer,
-    html.theme--documenter-dark .card .card-footer-item {
-      border-width: 1px;
-      border-color: #343c3d; }
-  html.theme--documenter-dark .notification.is-white a:not(.button) {
-    color: #0a0a0a;
-    text-decoration: underline; }
-  html.theme--documenter-dark .notification.is-black a:not(.button) {
-    color: white;
-    text-decoration: underline; }
-  html.theme--documenter-dark .notification.is-light a:not(.button) {
-    color: #282f2f;
-    text-decoration: underline; }
-  html.theme--documenter-dark .notification.is-dark a:not(.button), html.theme--documenter-dark .content kbd.notification a:not(.button) {
-    color: #ecf0f1;
-    text-decoration: underline; }
-  html.theme--documenter-dark .notification.is-primary a:not(.button), html.theme--documenter-dark .docstring > section > a.notification.docs-sourcelink a:not(.button) {
-    color: #fff;
-    text-decoration: underline; }
-  html.theme--documenter-dark .notification.is-link a:not(.button) {
-    color: #fff;
-    text-decoration: underline; }
-  html.theme--documenter-dark .notification.is-info a:not(.button) {
-    color: #fff;
-    text-decoration: underline; }
-  html.theme--documenter-dark .notification.is-success a:not(.button) {
-    color: #fff;
-    text-decoration: underline; }
-  html.theme--documenter-dark .notification.is-warning a:not(.button) {
-    color: #fff;
-    text-decoration: underline; }
-  html.theme--documenter-dark .notification.is-danger a:not(.button) {
-    color: #fff;
-    text-decoration: underline; }
-  html.theme--documenter-dark .tag, html.theme--documenter-dark .content kbd, html.theme--documenter-dark .docstring > section > a.docs-sourcelink {
-    border-radius: 0.4em; }
-  html.theme--documenter-dark .menu-list a {
-    transition: all 300ms ease; }
-  html.theme--documenter-dark .modal-card-body {
-    background-color: #282f2f; }
-  html.theme--documenter-dark .modal-card-foot,
-  html.theme--documenter-dark .modal-card-head {
-    border-color: #343c3d; }
-  html.theme--documenter-dark .message-header {
-    font-weight: 700;
-    background-color: #343c3d;
-    color: white; }
-  html.theme--documenter-dark .message-body {
-    border-width: 1px;
-    border-color: #343c3d; }
-  html.theme--documenter-dark .navbar {
-    border-radius: 0.4em; }
-    html.theme--documenter-dark .navbar.is-transparent {
-      background: none; }
-    html.theme--documenter-dark .navbar.is-primary .navbar-dropdown a.navbar-item.is-active, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-dropdown a.navbar-item.is-active {
-      background-color: #1abc9c; }
-    @media screen and (max-width: 1055px) {
-      html.theme--documenter-dark .navbar .navbar-menu {
-        background-color: #375a7f;
-        border-radius: 0 0 0.4em 0.4em; } }
-  html.theme--documenter-dark .hero .navbar,
-  html.theme--documenter-dark body > .navbar {
-    border-radius: 0; }
-  html.theme--documenter-dark .pagination-link,
-  html.theme--documenter-dark .pagination-next,
-  html.theme--documenter-dark .pagination-previous {
-    border-width: 1px; }
-  html.theme--documenter-dark .panel-block,
-  html.theme--documenter-dark .panel-heading,
-  html.theme--documenter-dark .panel-tabs {
-    border-width: 1px; }
-    html.theme--documenter-dark .panel-block:first-child,
-    html.theme--documenter-dark .panel-heading:first-child,
-    html.theme--documenter-dark .panel-tabs:first-child {
-      border-top-width: 1px; }
-  html.theme--documenter-dark .panel-heading {
-    font-weight: 700; }
-  html.theme--documenter-dark .panel-tabs a {
-    border-width: 1px;
-    margin-bottom: -1px; }
-    html.theme--documenter-dark .panel-tabs a.is-active {
-      border-bottom-color: #17a689; }
-  html.theme--documenter-dark .panel-block:hover {
-    color: #1dd2af; }
-    html.theme--documenter-dark .panel-block:hover .panel-icon {
-      color: #1dd2af; }
-  html.theme--documenter-dark .panel-block.is-active .panel-icon {
-    color: #17a689; }
-  html.theme--documenter-dark .tabs a {
-    border-bottom-width: 1px;
-    margin-bottom: -1px; }
-  html.theme--documenter-dark .tabs ul {
-    border-bottom-width: 1px; }
-  html.theme--documenter-dark .tabs.is-boxed a {
-    border-width: 1px; }
-  html.theme--documenter-dark .tabs.is-boxed li.is-active a {
-    background-color: #1f2424; }
-  html.theme--documenter-dark .tabs.is-toggle li a {
-    border-width: 1px;
-    margin-bottom: 0; }
-  html.theme--documenter-dark .tabs.is-toggle li + li {
-    margin-left: -1px; }
-  html.theme--documenter-dark .hero.is-white .navbar .navbar-dropdown .navbar-item:hover {
-    background-color: transparent; }
-  html.theme--documenter-dark .hero.is-black .navbar .navbar-dropdown .navbar-item:hover {
-    background-color: transparent; }
-  html.theme--documenter-dark .hero.is-light .navbar .navbar-dropdown .navbar-item:hover {
-    background-color: transparent; }
-  html.theme--documenter-dark .hero.is-dark .navbar .navbar-dropdown .navbar-item:hover, html.theme--documenter-dark .content kbd.hero .navbar .navbar-dropdown .navbar-item:hover {
-    background-color: transparent; }
-  html.theme--documenter-dark .hero.is-primary .navbar .navbar-dropdown .navbar-item:hover, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .navbar .navbar-dropdown .navbar-item:hover {
-    background-color: transparent; }
-  html.theme--documenter-dark .hero.is-link .navbar .navbar-dropdown .navbar-item:hover {
-    background-color: transparent; }
-  html.theme--documenter-dark .hero.is-info .navbar .navbar-dropdown .navbar-item:hover {
-    background-color: transparent; }
-  html.theme--documenter-dark .hero.is-success .navbar .navbar-dropdown .navbar-item:hover {
-    background-color: transparent; }
-  html.theme--documenter-dark .hero.is-warning .navbar .navbar-dropdown .navbar-item:hover {
-    background-color: transparent; }
-  html.theme--documenter-dark .hero.is-danger .navbar .navbar-dropdown .navbar-item:hover {
-    background-color: transparent; }
-  html.theme--documenter-dark h1 .docs-heading-anchor, html.theme--documenter-dark h1 .docs-heading-anchor:hover, html.theme--documenter-dark h1 .docs-heading-anchor:visited, html.theme--documenter-dark h2 .docs-heading-anchor, html.theme--documenter-dark h2 .docs-heading-anchor:hover, html.theme--documenter-dark h2 .docs-heading-anchor:visited, html.theme--documenter-dark h3 .docs-heading-anchor, html.theme--documenter-dark h3 .docs-heading-anchor:hover, html.theme--documenter-dark h3 .docs-heading-anchor:visited, html.theme--documenter-dark h4 .docs-heading-anchor, html.theme--documenter-dark h4 .docs-heading-anchor:hover, html.theme--documenter-dark h4 .docs-heading-anchor:visited, html.theme--documenter-dark h5 .docs-heading-anchor, html.theme--documenter-dark h5 .docs-heading-anchor:hover, html.theme--documenter-dark h5 .docs-heading-anchor:visited, html.theme--documenter-dark h6 .docs-heading-anchor, html.theme--documenter-dark h6 .docs-heading-anchor:hover, html.theme--documenter-dark h6 .docs-heading-anchor:visited {
-    color: #f2f2f2; }
-  html.theme--documenter-dark h1 .docs-heading-anchor-permalink, html.theme--documenter-dark h2 .docs-heading-anchor-permalink, html.theme--documenter-dark h3 .docs-heading-anchor-permalink, html.theme--documenter-dark h4 .docs-heading-anchor-permalink, html.theme--documenter-dark h5 .docs-heading-anchor-permalink, html.theme--documenter-dark h6 .docs-heading-anchor-permalink {
-    visibility: hidden;
-    vertical-align: middle;
-    margin-left: 0.5em;
-    font-size: 0.7rem; }
-    html.theme--documenter-dark h1 .docs-heading-anchor-permalink::before, html.theme--documenter-dark h2 .docs-heading-anchor-permalink::before, html.theme--documenter-dark h3 .docs-heading-anchor-permalink::before, html.theme--documenter-dark h4 .docs-heading-anchor-permalink::before, html.theme--documenter-dark h5 .docs-heading-anchor-permalink::before, html.theme--documenter-dark h6 .docs-heading-anchor-permalink::before {
-      font-family: "Font Awesome 5 Free";
-      font-weight: 900;
-      content: "\f0c1"; }
-  html.theme--documenter-dark h1:hover .docs-heading-anchor-permalink, html.theme--documenter-dark h2:hover .docs-heading-anchor-permalink, html.theme--documenter-dark h3:hover .docs-heading-anchor-permalink, html.theme--documenter-dark h4:hover .docs-heading-anchor-permalink, html.theme--documenter-dark h5:hover .docs-heading-anchor-permalink, html.theme--documenter-dark h6:hover .docs-heading-anchor-permalink {
-    visibility: visible; }
-  html.theme--documenter-dark .docs-light-only {
-    display: none !important; }
-  html.theme--documenter-dark pre {
-    position: relative;
-    overflow: hidden; }
-    html.theme--documenter-dark pre code, html.theme--documenter-dark pre code.hljs {
-      padding: 0 0.75rem !important;
-      overflow: auto;
-      display: block; }
-    html.theme--documenter-dark pre code:first-of-type, html.theme--documenter-dark pre code.hljs:first-of-type {
-      padding-top: 0.5rem !important; }
-    html.theme--documenter-dark pre code:last-of-type, html.theme--documenter-dark pre code.hljs:last-of-type {
-      padding-bottom: 0.5rem !important; }
-    html.theme--documenter-dark pre .copy-button {
-      opacity: 0.2;
-      transition: opacity 0.2s;
-      position: absolute;
-      right: 0em;
-      top: 0em;
-      padding: 0.5em;
-      width: 2.5em;
-      height: 2.5em;
-      background: transparent;
-      border: none;
-      font-family: "Font Awesome 5 Free";
-      color: #fff;
-      cursor: pointer;
-      text-align: center; }
-      html.theme--documenter-dark pre .copy-button:focus, html.theme--documenter-dark pre .copy-button:hover {
-        opacity: 1;
-        background: rgba(255, 255, 255, 0.1);
-        color: #1abc9c; }
-      html.theme--documenter-dark pre .copy-button.success {
-        color: #259a12;
-        opacity: 1; }
-      html.theme--documenter-dark pre .copy-button.error {
-        color: #cb3c33;
-        opacity: 1; }
-    html.theme--documenter-dark pre:hover .copy-button {
-      opacity: 1; }
-  html.theme--documenter-dark .admonition {
-    background-color: #282f2f;
-    border-style: solid;
-    border-width: 1px;
-    border-color: #5e6d6f;
-    border-radius: 0.4em;
-    font-size: 15px; }
-    html.theme--documenter-dark .admonition strong {
-      color: currentColor; }
-    html.theme--documenter-dark .admonition.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.admonition {
-      font-size: 0.85em; }
-    html.theme--documenter-dark .admonition.is-medium {
-      font-size: 1.25rem; }
-    html.theme--documenter-dark .admonition.is-large {
-      font-size: 1.5rem; }
-    html.theme--documenter-dark .admonition.is-default {
-      background-color: #282f2f;
-      border-color: #5e6d6f; }
-      html.theme--documenter-dark .admonition.is-default > .admonition-header {
-        background-color: #5e6d6f; }
-    html.theme--documenter-dark .admonition.is-info {
-      background-color: #282f2f;
-      border-color: #024c7d; }
-      html.theme--documenter-dark .admonition.is-info > .admonition-header {
-        background-color: #024c7d; }
-    html.theme--documenter-dark .admonition.is-success {
-      background-color: #282f2f;
-      border-color: #008438; }
-      html.theme--documenter-dark .admonition.is-success > .admonition-header {
-        background-color: #008438; }
-    html.theme--documenter-dark .admonition.is-warning {
-      background-color: #282f2f;
-      border-color: #ad8100; }
-      html.theme--documenter-dark .admonition.is-warning > .admonition-header {
-        background-color: #ad8100; }
-    html.theme--documenter-dark .admonition.is-danger {
-      background-color: #282f2f;
-      border-color: #9e1b0d; }
-      html.theme--documenter-dark .admonition.is-danger > .admonition-header {
-        background-color: #9e1b0d; }
-    html.theme--documenter-dark .admonition.is-compat {
-      background-color: #282f2f;
-      border-color: #137886; }
-      html.theme--documenter-dark .admonition.is-compat > .admonition-header {
-        background-color: #137886; }
-  html.theme--documenter-dark .admonition-header {
-    background-color: #5e6d6f;
-    align-items: center;
-    font-weight: 700;
-    justify-content: space-between;
-    line-height: 1.25;
-    padding: 0.5rem 0.75rem;
-    position: relative; }
-    html.theme--documenter-dark .admonition-header:before {
-      font-family: "Font Awesome 5 Free";
-      font-weight: 900;
-      margin-right: 0.75rem;
-      content: "\f06a"; }
-  html.theme--documenter-dark .admonition-body {
-    color: #fff;
-    padding: 0.5rem 0.75rem; }
-    html.theme--documenter-dark .admonition-body pre {
-      background-color: #282f2f; }
-    html.theme--documenter-dark .admonition-body code {
-      background-color: rgba(255, 255, 255, 0.05); }
-  html.theme--documenter-dark .docstring {
-    margin-bottom: 1em;
-    background-color: transparent;
-    border: 1px solid #5e6d6f;
-    box-shadow: none;
-    max-width: 100%; }
-    html.theme--documenter-dark .docstring > header {
-      display: flex;
-      flex-grow: 1;
-      align-items: stretch;
-      padding: 0.5rem 0.75rem;
-      background-color: #282f2f;
-      box-shadow: 0 1px 2px rgba(10, 10, 10, 0.1);
-      box-shadow: none;
-      border-bottom: 1px solid #5e6d6f; }
-      html.theme--documenter-dark .docstring > header code {
-        background-color: transparent; }
-      html.theme--documenter-dark .docstring > header .docstring-binding {
-        margin-right: 0.3em; }
-      html.theme--documenter-dark .docstring > header .docstring-category {
-        margin-left: 0.3em; }
-    html.theme--documenter-dark .docstring > section {
-      position: relative;
-      padding: 0.75rem 0.75rem;
-      border-bottom: 1px solid #5e6d6f; }
-      html.theme--documenter-dark .docstring > section:last-child {
-        border-bottom: none; }
-      html.theme--documenter-dark .docstring > section > a.docs-sourcelink {
-        transition: opacity 0.3s;
-        opacity: 0;
-        position: absolute;
-        right: 0.375rem;
-        bottom: 0.375rem; }
-        html.theme--documenter-dark .docstring > section > a.docs-sourcelink:focus {
-          opacity: 1 !important; }
-    html.theme--documenter-dark .docstring:hover > section > a.docs-sourcelink {
-      opacity: 0.2; }
-    html.theme--documenter-dark .docstring:focus-within > section > a.docs-sourcelink {
-      opacity: 0.2; }
-    html.theme--documenter-dark .docstring > section:hover a.docs-sourcelink {
-      opacity: 1; }
-  html.theme--documenter-dark .documenter-example-output {
-    background-color: #1f2424; }
-  html.theme--documenter-dark .outdated-warning-overlay {
-    position: fixed;
-    top: 0;
-    left: 0;
-    right: 0;
-    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
-    z-index: 999;
-    background-color: #282f2f;
-    border-bottom: 3px solid #9e1b0d;
-    padding: 10px 35px;
-    text-align: center;
-    font-size: 15px; }
-    html.theme--documenter-dark .outdated-warning-overlay .outdated-warning-closer {
-      position: absolute;
-      top: calc(50% - 10px);
-      right: 18px;
-      cursor: pointer;
-      width: 12px; }
-    html.theme--documenter-dark .outdated-warning-overlay a {
-      color: #1abc9c; }
-      html.theme--documenter-dark .outdated-warning-overlay a:hover {
-        color: #1dd2af; }
-  html.theme--documenter-dark .content pre {
-    border: 1px solid #5e6d6f; }
-  html.theme--documenter-dark .content code {
-    font-weight: inherit; }
-  html.theme--documenter-dark .content a code {
-    color: #1abc9c; }
-  html.theme--documenter-dark .content h1 code, html.theme--documenter-dark .content h2 code, html.theme--documenter-dark .content h3 code, html.theme--documenter-dark .content h4 code, html.theme--documenter-dark .content h5 code, html.theme--documenter-dark .content h6 code {
-    color: #f2f2f2; }
-  html.theme--documenter-dark .content table {
-    display: block;
-    width: initial;
-    max-width: 100%;
-    overflow-x: auto; }
-  html.theme--documenter-dark .content blockquote > ul:first-child, html.theme--documenter-dark .content blockquote > ol:first-child, html.theme--documenter-dark .content .admonition-body > ul:first-child, html.theme--documenter-dark .content .admonition-body > ol:first-child {
-    margin-top: 0; }
-  html.theme--documenter-dark pre, html.theme--documenter-dark code {
-    font-variant-ligatures: no-contextual; }
-  html.theme--documenter-dark .breadcrumb a.is-disabled {
-    cursor: default;
-    pointer-events: none; }
-    html.theme--documenter-dark .breadcrumb a.is-disabled, html.theme--documenter-dark .breadcrumb a.is-disabled:hover {
-      color: #f2f2f2; }
-  html.theme--documenter-dark .hljs {
-    background: initial !important; }
-  html.theme--documenter-dark .katex .katex-mathml {
-    top: 0;
-    right: 0; }
-  html.theme--documenter-dark .katex-display, html.theme--documenter-dark mjx-container, html.theme--documenter-dark .MathJax_Display {
-    margin: 0.5em 0 !important; }
-  html.theme--documenter-dark html {
-    -moz-osx-font-smoothing: auto;
-    -webkit-font-smoothing: auto; }
-  html.theme--documenter-dark li.no-marker {
-    list-style: none; }
-  html.theme--documenter-dark #documenter .docs-main > article {
-    overflow-wrap: break-word; }
-    html.theme--documenter-dark #documenter .docs-main > article .math-container {
-      overflow-x: auto;
-      overflow-y: hidden; }
-  @media screen and (min-width: 1056px) {
-    html.theme--documenter-dark #documenter .docs-main {
-      max-width: 52rem;
-      margin-left: 20rem;
-      padding-right: 1rem; } }
-  @media screen and (max-width: 1055px) {
-    html.theme--documenter-dark #documenter .docs-main {
-      width: 100%; }
-      html.theme--documenter-dark #documenter .docs-main > article {
-        max-width: 52rem;
-        margin-left: auto;
-        margin-right: auto;
-        margin-bottom: 1rem;
-        padding: 0 1rem; }
-      html.theme--documenter-dark #documenter .docs-main > header, html.theme--documenter-dark #documenter .docs-main > nav {
-        max-width: 100%;
-        width: 100%;
-        margin: 0; } }
-  html.theme--documenter-dark #documenter .docs-main header.docs-navbar {
-    background-color: #1f2424;
-    border-bottom: 1px solid #5e6d6f;
-    z-index: 2;
-    min-height: 4rem;
-    margin-bottom: 1rem;
-    display: flex; }
-    html.theme--documenter-dark #documenter .docs-main header.docs-navbar .breadcrumb {
-      flex-grow: 1; }
-    html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right {
-      display: flex;
-      white-space: nowrap; }
-      html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-icon, html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-label, html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-sidebar-button {
-        display: inline-block; }
-      html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-label {
-        padding: 0;
-        margin-left: 0.3em; }
-      html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-settings-button {
-        margin: auto 0 auto 1rem; }
-      html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-sidebar-button {
-        font-size: 1.5rem;
-        margin: auto 0 auto 1rem; }
-    html.theme--documenter-dark #documenter .docs-main header.docs-navbar > * {
-      margin: auto 0; }
-    @media screen and (max-width: 1055px) {
-      html.theme--documenter-dark #documenter .docs-main header.docs-navbar {
-        position: sticky;
-        top: 0;
-        padding: 0 1rem;
-        /* For Headroom.js */
-        transition-property: top, box-shadow;
-        -webkit-transition-property: top, box-shadow;
-        /* Safari */
-        transition-duration: 0.3s;
-        -webkit-transition-duration: 0.3s;
-        /* Safari */ }
-        html.theme--documenter-dark #documenter .docs-main header.docs-navbar.headroom--not-top {
-          box-shadow: 0.2rem 0rem 0.4rem #171717;
-          transition-duration: 0.7s;
-          -webkit-transition-duration: 0.7s;
-          /* Safari */ }
-        html.theme--documenter-dark #documenter .docs-main header.docs-navbar.headroom--unpinned.headroom--not-top.headroom--not-bottom {
-          top: -4.5rem;
-          transition-duration: 0.7s;
-          -webkit-transition-duration: 0.7s;
-          /* Safari */ } }
-  html.theme--documenter-dark #documenter .docs-main section.footnotes {
-    border-top: 1px solid #5e6d6f; }
-    html.theme--documenter-dark #documenter .docs-main section.footnotes li .tag:first-child, html.theme--documenter-dark #documenter .docs-main section.footnotes li .docstring > section > a.docs-sourcelink:first-child, html.theme--documenter-dark #documenter .docs-main section.footnotes li .content kbd:first-child, html.theme--documenter-dark .content #documenter .docs-main section.footnotes li kbd:first-child {
-      margin-right: 1em;
-      margin-bottom: 0.4em; }
-  html.theme--documenter-dark #documenter .docs-main .docs-footer {
-    display: flex;
-    flex-wrap: wrap;
-    margin-left: 0;
-    margin-right: 0;
-    border-top: 1px solid #5e6d6f;
-    padding-top: 1rem;
-    padding-bottom: 1rem; }
-    @media screen and (max-width: 1055px) {
-      html.theme--documenter-dark #documenter .docs-main .docs-footer {
-        padding-left: 1rem;
-        padding-right: 1rem; } }
-    html.theme--documenter-dark #documenter .docs-main .docs-footer .docs-footer-nextpage, html.theme--documenter-dark #documenter .docs-main .docs-footer .docs-footer-prevpage {
-      flex-grow: 1; }
-    html.theme--documenter-dark #documenter .docs-main .docs-footer .docs-footer-nextpage {
-      text-align: right; }
-    html.theme--documenter-dark #documenter .docs-main .docs-footer .flexbox-break {
-      flex-basis: 100%;
-      height: 0; }
-    html.theme--documenter-dark #documenter .docs-main .docs-footer .footer-message {
-      font-size: 0.8em;
-      margin: 0.5em auto 0 auto;
-      text-align: center; }
-  html.theme--documenter-dark #documenter .docs-sidebar {
-    display: flex;
-    flex-direction: column;
-    color: #fff;
-    background-color: #282f2f;
-    border-right: 1px solid #5e6d6f;
-    padding: 0;
-    flex: 0 0 18rem;
-    z-index: 5;
-    font-size: 15px;
-    position: fixed;
-    left: -18rem;
-    width: 18rem;
-    height: 100%;
-    transition: left 0.3s;
-    /* Setting up a nicer theme style for the scrollbar */ }
-    html.theme--documenter-dark #documenter .docs-sidebar.visible {
-      left: 0;
-      box-shadow: 0.4rem 0rem 0.8rem #171717; }
-      @media screen and (min-width: 1056px) {
-        html.theme--documenter-dark #documenter .docs-sidebar.visible {
-          box-shadow: none; } }
-    @media screen and (min-width: 1056px) {
-      html.theme--documenter-dark #documenter .docs-sidebar {
-        left: 0;
-        top: 0; } }
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo {
-      margin-top: 1rem;
-      padding: 0 1rem; }
-      html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img {
-        max-height: 6rem;
-        margin: auto; }
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-package-name {
-      flex-shrink: 0;
-      font-size: 1.5rem;
-      font-weight: 700;
-      text-align: center;
-      white-space: nowrap;
-      overflow: hidden;
-      padding: 0.5rem 0; }
-      html.theme--documenter-dark #documenter .docs-sidebar .docs-package-name .docs-autofit {
-        max-width: 16.2rem; }
-      html.theme--documenter-dark #documenter .docs-sidebar .docs-package-name a, html.theme--documenter-dark #documenter .docs-sidebar .docs-package-name a:hover {
-        color: #fff; }
-    html.theme--documenter-dark #documenter .docs-sidebar .docs-version-selector {
-      border-top: 1px solid #5e6d6f;
-      display: none;
-      padding: 0.5rem; }
-      html.theme--documenter-dark #documenter .docs-sidebar .docs-version-selector.visible {
-        display: flex; }
-    html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu {
-      flex-grow: 1;
-      user-select: none;
-      border-top: 1px solid #5e6d6f;
-      padding-bottom: 1.5rem;
-      /* Managing collapsible submenus */ }
-      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu > li > .tocitem {
-        font-weight: bold; }
-      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu > li li {
-        font-size: 14.25px;
-        margin-left: 1em;
-        border-left: 1px solid #5e6d6f; }
-      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu input.collapse-toggle {
-        display: none; }
-      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu ul.collapsed {
-        display: none; }
-      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu input:checked ~ ul.collapsed {
-        display: block; }
-      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu label.tocitem {
-        display: flex; }
-        html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu label.tocitem .docs-label {
-          flex-grow: 2; }
-        html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu label.tocitem .docs-chevron {
-          display: inline-block;
-          font-style: normal;
-          font-variant: normal;
-          text-rendering: auto;
-          line-height: 1;
-          font-size: 11.25px;
-          margin-left: 1rem;
-          margin-top: auto;
-          margin-bottom: auto; }
-          html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu label.tocitem .docs-chevron::before {
-            font-family: "Font Awesome 5 Free";
-            font-weight: 900;
-            content: "\f054"; }
-      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu input:checked ~ label.tocitem .docs-chevron::before {
-        content: "\f078"; }
-      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu .tocitem {
-        display: block;
-        padding: 0.5rem 0.5rem; }
-        html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu .tocitem, html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu .tocitem:hover {
-          color: #fff;
-          background: #282f2f; }
-      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu a.tocitem:hover, html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu label.tocitem:hover {
-        color: #fff;
-        background-color: #32393a; }
-      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu li.is-active {
-        border-top: 1px solid #5e6d6f;
-        border-bottom: 1px solid #5e6d6f;
-        background-color: #1f2424; }
-        html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu li.is-active .tocitem, html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu li.is-active .tocitem:hover {
-          background-color: #1f2424;
-          color: #fff; }
-        html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu li.is-active ul.internal .tocitem:hover {
-          background-color: #32393a;
-          color: #fff; }
-      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu > li.is-active:first-child {
-        border-top: none; }
-      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu ul.internal {
-        margin: 0 0.5rem 0.5rem;
-        border-top: 1px solid #5e6d6f; }
-        html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu ul.internal li {
-          font-size: 12.75px;
-          border-left: none;
-          margin-left: 0;
-          margin-top: 0.5rem; }
-        html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu ul.internal .tocitem {
-          width: 100%;
-          padding: 0; }
-          html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu ul.internal .tocitem::before {
-            content: "⚬";
-            margin-right: 0.4em; }
-    html.theme--documenter-dark #documenter .docs-sidebar form.docs-search {
-      margin: auto;
-      margin-top: 0.5rem;
-      margin-bottom: 0.5rem; }
-      html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input {
-        width: 14.4rem; }
-    @media screen and (min-width: 1056px) {
-      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu {
-        overflow-y: auto;
-        -webkit-overflow-scroll: touch; }
-        html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar {
-          width: .3rem;
-          background: none; }
-        html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar-thumb {
-          border-radius: 5px 0px 0px 5px;
-          background: #3b4445; }
-        html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar-thumb:hover {
-          background: #4e5a5c; } }
-    @media screen and (max-width: 1055px) {
-      html.theme--documenter-dark #documenter .docs-sidebar {
-        overflow-y: auto;
-        -webkit-overflow-scroll: touch; }
-        html.theme--documenter-dark #documenter .docs-sidebar::-webkit-scrollbar {
-          width: .3rem;
-          background: none; }
-        html.theme--documenter-dark #documenter .docs-sidebar::-webkit-scrollbar-thumb {
-          border-radius: 5px 0px 0px 5px;
-          background: #3b4445; }
-        html.theme--documenter-dark #documenter .docs-sidebar::-webkit-scrollbar-thumb:hover {
-          background: #4e5a5c; } }
-  html.theme--documenter-dark #documenter .docs-main #documenter-search-info {
-    margin-bottom: 1rem; }
-  html.theme--documenter-dark #documenter .docs-main #documenter-search-results {
-    list-style-type: circle;
-    list-style-position: outside; }
-    html.theme--documenter-dark #documenter .docs-main #documenter-search-results li {
-      margin-left: 2rem; }
-    html.theme--documenter-dark #documenter .docs-main #documenter-search-results .docs-highlight {
-      background-color: yellow; }
-  html.theme--documenter-dark {
-    background-color: #1f2424;
-    font-size: 16px;
-    min-width: 300px;
-    overflow-x: auto;
-    overflow-y: scroll;
-    text-rendering: optimizeLegibility;
-    text-size-adjust: 100%; }
-  html.theme--documenter-dark .ansi span.sgr1 {
-    font-weight: bolder; }
-  html.theme--documenter-dark .ansi span.sgr2 {
-    font-weight: lighter; }
-  html.theme--documenter-dark .ansi span.sgr3 {
-    font-style: italic; }
-  html.theme--documenter-dark .ansi span.sgr4 {
-    text-decoration: underline; }
-  html.theme--documenter-dark .ansi span.sgr7 {
-    color: #1f2424;
-    background-color: #fff; }
-  html.theme--documenter-dark .ansi span.sgr8 {
-    color: transparent; }
-    html.theme--documenter-dark .ansi span.sgr8 span {
-      color: transparent; }
-  html.theme--documenter-dark .ansi span.sgr9 {
-    text-decoration: line-through; }
-  html.theme--documenter-dark .ansi span.sgr30 {
-    color: #242424; }
-  html.theme--documenter-dark .ansi span.sgr31 {
-    color: #f6705f; }
-  html.theme--documenter-dark .ansi span.sgr32 {
-    color: #4fb43a; }
-  html.theme--documenter-dark .ansi span.sgr33 {
-    color: #f4c72f; }
-  html.theme--documenter-dark .ansi span.sgr34 {
-    color: #7587f0; }
-  html.theme--documenter-dark .ansi span.sgr35 {
-    color: #bc89d3; }
-  html.theme--documenter-dark .ansi span.sgr36 {
-    color: #49b6ca; }
-  html.theme--documenter-dark .ansi span.sgr37 {
-    color: #b3bdbe; }
-  html.theme--documenter-dark .ansi span.sgr40 {
-    background-color: #242424; }
-  html.theme--documenter-dark .ansi span.sgr41 {
-    background-color: #f6705f; }
-  html.theme--documenter-dark .ansi span.sgr42 {
-    background-color: #4fb43a; }
-  html.theme--documenter-dark .ansi span.sgr43 {
-    background-color: #f4c72f; }
-  html.theme--documenter-dark .ansi span.sgr44 {
-    background-color: #7587f0; }
-  html.theme--documenter-dark .ansi span.sgr45 {
-    background-color: #bc89d3; }
-  html.theme--documenter-dark .ansi span.sgr46 {
-    background-color: #49b6ca; }
-  html.theme--documenter-dark .ansi span.sgr47 {
-    background-color: #b3bdbe; }
-  html.theme--documenter-dark .ansi span.sgr90 {
-    color: #92a0a2; }
-  html.theme--documenter-dark .ansi span.sgr91 {
-    color: #ff8674; }
-  html.theme--documenter-dark .ansi span.sgr92 {
-    color: #79d462; }
-  html.theme--documenter-dark .ansi span.sgr93 {
-    color: #ffe76b; }
-  html.theme--documenter-dark .ansi span.sgr94 {
-    color: #8a98ff; }
-  html.theme--documenter-dark .ansi span.sgr95 {
-    color: #d2a4e6; }
-  html.theme--documenter-dark .ansi span.sgr96 {
-    color: #6bc8db; }
-  html.theme--documenter-dark .ansi span.sgr97 {
-    color: #ecf0f1; }
-  html.theme--documenter-dark .ansi span.sgr100 {
-    background-color: #92a0a2; }
-  html.theme--documenter-dark .ansi span.sgr101 {
-    background-color: #ff8674; }
-  html.theme--documenter-dark .ansi span.sgr102 {
-    background-color: #79d462; }
-  html.theme--documenter-dark .ansi span.sgr103 {
-    background-color: #ffe76b; }
-  html.theme--documenter-dark .ansi span.sgr104 {
-    background-color: #8a98ff; }
-  html.theme--documenter-dark .ansi span.sgr105 {
-    background-color: #d2a4e6; }
-  html.theme--documenter-dark .ansi span.sgr106 {
-    background-color: #6bc8db; }
-  html.theme--documenter-dark .ansi span.sgr107 {
-    background-color: #ecf0f1; }
-  html.theme--documenter-dark code.language-julia-repl > span.hljs-meta {
-    color: #4fb43a;
-    font-weight: bolder; }
-  html.theme--documenter-dark .hljs {
-    background: #2b2b2b;
-    color: #f8f8f2; }
-  html.theme--documenter-dark .hljs-comment,
-  html.theme--documenter-dark .hljs-quote {
-    color: #d4d0ab; }
-  html.theme--documenter-dark .hljs-variable,
-  html.theme--documenter-dark .hljs-template-variable,
-  html.theme--documenter-dark .hljs-tag,
-  html.theme--documenter-dark .hljs-name,
-  html.theme--documenter-dark .hljs-selector-id,
-  html.theme--documenter-dark .hljs-selector-class,
-  html.theme--documenter-dark .hljs-regexp,
-  html.theme--documenter-dark .hljs-deletion {
-    color: #ffa07a; }
-  html.theme--documenter-dark .hljs-number,
-  html.theme--documenter-dark .hljs-built_in,
-  html.theme--documenter-dark .hljs-literal,
-  html.theme--documenter-dark .hljs-type,
-  html.theme--documenter-dark .hljs-params,
-  html.theme--documenter-dark .hljs-meta,
-  html.theme--documenter-dark .hljs-link {
-    color: #f5ab35; }
-  html.theme--documenter-dark .hljs-attribute {
-    color: #ffd700; }
-  html.theme--documenter-dark .hljs-string,
-  html.theme--documenter-dark .hljs-symbol,
-  html.theme--documenter-dark .hljs-bullet,
-  html.theme--documenter-dark .hljs-addition {
-    color: #abe338; }
-  html.theme--documenter-dark .hljs-title,
-  html.theme--documenter-dark .hljs-section {
-    color: #00e0e0; }
-  html.theme--documenter-dark .hljs-keyword,
-  html.theme--documenter-dark .hljs-selector-tag {
-    color: #dcc6e0; }
-  html.theme--documenter-dark .hljs-emphasis {
-    font-style: italic; }
-  html.theme--documenter-dark .hljs-strong {
-    font-weight: bold; }
-  @media screen and (-ms-high-contrast: active) {
-    html.theme--documenter-dark .hljs-addition,
-    html.theme--documenter-dark .hljs-attribute,
-    html.theme--documenter-dark .hljs-built_in,
-    html.theme--documenter-dark .hljs-bullet,
-    html.theme--documenter-dark .hljs-comment,
-    html.theme--documenter-dark .hljs-link,
-    html.theme--documenter-dark .hljs-literal,
-    html.theme--documenter-dark .hljs-meta,
-    html.theme--documenter-dark .hljs-number,
-    html.theme--documenter-dark .hljs-params,
-    html.theme--documenter-dark .hljs-string,
-    html.theme--documenter-dark .hljs-symbol,
-    html.theme--documenter-dark .hljs-type,
-    html.theme--documenter-dark .hljs-quote {
-      color: highlight; }
-    html.theme--documenter-dark .hljs-keyword,
-    html.theme--documenter-dark .hljs-selector-tag {
-      font-weight: bold; } }
-  html.theme--documenter-dark .hljs-subst {
-    color: #f8f8f2; }
diff --git a/previews/PR676/assets/themes/documenter-light.css b/previews/PR676/assets/themes/documenter-light.css
deleted file mode 100644
index 9595d5b8e..000000000
--- a/previews/PR676/assets/themes/documenter-light.css
+++ /dev/null
@@ -1,7738 +0,0 @@
-@charset "UTF-8";
-/* Font Awesome 5 mixin. Can be included in any rule that should render Font Awesome icons. */
-@keyframes spinAround {
-  from {
-    transform: rotate(0deg); }
-  to {
-    transform: rotate(359deg); } }
-
-.tabs, .pagination-previous,
-.pagination-next,
-.pagination-link,
-.pagination-ellipsis, .breadcrumb, .file, .button, .is-unselectable, .modal-close, .delete {
-  -webkit-touch-callout: none;
-  -webkit-user-select: none;
-  -moz-user-select: none;
-  -ms-user-select: none;
-  user-select: none; }
-
-.navbar-link:not(.is-arrowless)::after, .select:not(.is-multiple):not(.is-loading)::after {
-  border: 3px solid transparent;
-  border-radius: 2px;
-  border-right: 0;
-  border-top: 0;
-  content: " ";
-  display: block;
-  height: 0.625em;
-  margin-top: -0.4375em;
-  pointer-events: none;
-  position: absolute;
-  top: 50%;
-  transform: rotate(-45deg);
-  transform-origin: center;
-  width: 0.625em; }
-
-.admonition:not(:last-child), .tabs:not(:last-child), .message:not(:last-child), .list:not(:last-child), .level:not(:last-child), .breadcrumb:not(:last-child), .highlight:not(:last-child), .block:not(:last-child), .title:not(:last-child),
-.subtitle:not(:last-child), .table-container:not(:last-child), .table:not(:last-child), .progress:not(:last-child), .notification:not(:last-child), .content:not(:last-child), .box:not(:last-child) {
-  margin-bottom: 1.5rem; }
-
-.modal-close, .delete {
-  -moz-appearance: none;
-  -webkit-appearance: none;
-  background-color: rgba(10, 10, 10, 0.2);
-  border: none;
-  border-radius: 290486px;
-  cursor: pointer;
-  pointer-events: auto;
-  display: inline-block;
-  flex-grow: 0;
-  flex-shrink: 0;
-  font-size: 0;
-  height: 20px;
-  max-height: 20px;
-  max-width: 20px;
-  min-height: 20px;
-  min-width: 20px;
-  outline: none;
-  position: relative;
-  vertical-align: top;
-  width: 20px; }
-  .modal-close::before, .delete::before, .modal-close::after, .delete::after {
-    background-color: white;
-    content: "";
-    display: block;
-    left: 50%;
-    position: absolute;
-    top: 50%;
-    transform: translateX(-50%) translateY(-50%) rotate(45deg);
-    transform-origin: center center; }
-  .modal-close::before, .delete::before {
-    height: 2px;
-    width: 50%; }
-  .modal-close::after, .delete::after {
-    height: 50%;
-    width: 2px; }
-  .modal-close:hover, .delete:hover, .modal-close:focus, .delete:focus {
-    background-color: rgba(10, 10, 10, 0.3); }
-  .modal-close:active, .delete:active {
-    background-color: rgba(10, 10, 10, 0.4); }
-  .is-small.modal-close, #documenter .docs-sidebar form.docs-search > input.modal-close, .is-small.delete, #documenter .docs-sidebar form.docs-search > input.delete {
-    height: 16px;
-    max-height: 16px;
-    max-width: 16px;
-    min-height: 16px;
-    min-width: 16px;
-    width: 16px; }
-  .is-medium.modal-close, .is-medium.delete {
-    height: 24px;
-    max-height: 24px;
-    max-width: 24px;
-    min-height: 24px;
-    min-width: 24px;
-    width: 24px; }
-  .is-large.modal-close, .is-large.delete {
-    height: 32px;
-    max-height: 32px;
-    max-width: 32px;
-    min-height: 32px;
-    min-width: 32px;
-    width: 32px; }
-
-.control.is-loading::after, .select.is-loading::after, .loader, .button.is-loading::after {
-  animation: spinAround 500ms infinite linear;
-  border: 2px solid #dbdbdb;
-  border-radius: 290486px;
-  border-right-color: transparent;
-  border-top-color: transparent;
-  content: "";
-  display: block;
-  height: 1em;
-  position: relative;
-  width: 1em; }
-
-.hero-video, .modal-background, .modal, .image.is-square img, #documenter .docs-sidebar .docs-logo > img.is-square img,
-.image.is-square .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-square .has-ratio, .image.is-1by1 img, #documenter .docs-sidebar .docs-logo > img.is-1by1 img,
-.image.is-1by1 .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-1by1 .has-ratio, .image.is-5by4 img, #documenter .docs-sidebar .docs-logo > img.is-5by4 img,
-.image.is-5by4 .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-5by4 .has-ratio, .image.is-4by3 img, #documenter .docs-sidebar .docs-logo > img.is-4by3 img,
-.image.is-4by3 .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-4by3 .has-ratio, .image.is-3by2 img, #documenter .docs-sidebar .docs-logo > img.is-3by2 img,
-.image.is-3by2 .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-3by2 .has-ratio, .image.is-5by3 img, #documenter .docs-sidebar .docs-logo > img.is-5by3 img,
-.image.is-5by3 .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-5by3 .has-ratio, .image.is-16by9 img, #documenter .docs-sidebar .docs-logo > img.is-16by9 img,
-.image.is-16by9 .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-16by9 .has-ratio, .image.is-2by1 img, #documenter .docs-sidebar .docs-logo > img.is-2by1 img,
-.image.is-2by1 .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-2by1 .has-ratio, .image.is-3by1 img, #documenter .docs-sidebar .docs-logo > img.is-3by1 img,
-.image.is-3by1 .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-3by1 .has-ratio, .image.is-4by5 img, #documenter .docs-sidebar .docs-logo > img.is-4by5 img,
-.image.is-4by5 .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-4by5 .has-ratio, .image.is-3by4 img, #documenter .docs-sidebar .docs-logo > img.is-3by4 img,
-.image.is-3by4 .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-3by4 .has-ratio, .image.is-2by3 img, #documenter .docs-sidebar .docs-logo > img.is-2by3 img,
-.image.is-2by3 .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-2by3 .has-ratio, .image.is-3by5 img, #documenter .docs-sidebar .docs-logo > img.is-3by5 img,
-.image.is-3by5 .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-3by5 .has-ratio, .image.is-9by16 img, #documenter .docs-sidebar .docs-logo > img.is-9by16 img,
-.image.is-9by16 .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-9by16 .has-ratio, .image.is-1by2 img, #documenter .docs-sidebar .docs-logo > img.is-1by2 img,
-.image.is-1by2 .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-1by2 .has-ratio, .image.is-1by3 img, #documenter .docs-sidebar .docs-logo > img.is-1by3 img,
-.image.is-1by3 .has-ratio,
-#documenter .docs-sidebar .docs-logo > img.is-1by3 .has-ratio, .is-overlay {
-  bottom: 0;
-  left: 0;
-  position: absolute;
-  right: 0;
-  top: 0; }
-
-.pagination-previous,
-.pagination-next,
-.pagination-link,
-.pagination-ellipsis, .file-cta,
-.file-name, .select select, .textarea, .input, #documenter .docs-sidebar form.docs-search > input, .button {
-  -moz-appearance: none;
-  -webkit-appearance: none;
-  align-items: center;
-  border: 1px solid transparent;
-  border-radius: 4px;
-  box-shadow: none;
-  display: inline-flex;
-  font-size: 1rem;
-  height: 2.25em;
-  justify-content: flex-start;
-  line-height: 1.5;
-  padding-bottom: calc(0.375em - 1px);
-  padding-left: calc(0.625em - 1px);
-  padding-right: calc(0.625em - 1px);
-  padding-top: calc(0.375em - 1px);
-  position: relative;
-  vertical-align: top; }
-  .pagination-previous:focus,
-  .pagination-next:focus,
-  .pagination-link:focus,
-  .pagination-ellipsis:focus, .file-cta:focus,
-  .file-name:focus, .select select:focus, .textarea:focus, .input:focus, #documenter .docs-sidebar form.docs-search > input:focus, .button:focus, .is-focused.pagination-previous,
-  .is-focused.pagination-next,
-  .is-focused.pagination-link,
-  .is-focused.pagination-ellipsis, .is-focused.file-cta,
-  .is-focused.file-name, .select select.is-focused, .is-focused.textarea, .is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-focused.button, .pagination-previous:active,
-  .pagination-next:active,
-  .pagination-link:active,
-  .pagination-ellipsis:active, .file-cta:active,
-  .file-name:active, .select select:active, .textarea:active, .input:active, #documenter .docs-sidebar form.docs-search > input:active, .button:active, .is-active.pagination-previous,
-  .is-active.pagination-next,
-  .is-active.pagination-link,
-  .is-active.pagination-ellipsis, .is-active.file-cta,
-  .is-active.file-name, .select select.is-active, .is-active.textarea, .is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active, .is-active.button {
-    outline: none; }
-  .pagination-previous[disabled],
-  .pagination-next[disabled],
-  .pagination-link[disabled],
-  .pagination-ellipsis[disabled], .file-cta[disabled],
-  .file-name[disabled], .select select[disabled], .textarea[disabled], .input[disabled], #documenter .docs-sidebar form.docs-search > input[disabled], .button[disabled], fieldset[disabled] .pagination-previous,
-  fieldset[disabled] .pagination-next,
-  fieldset[disabled] .pagination-link,
-  fieldset[disabled] .pagination-ellipsis, fieldset[disabled] .file-cta,
-  fieldset[disabled] .file-name, fieldset[disabled] .select select, .select fieldset[disabled] select, fieldset[disabled] .textarea, fieldset[disabled] .input, fieldset[disabled] #documenter .docs-sidebar form.docs-search > input, #documenter .docs-sidebar fieldset[disabled] form.docs-search > input, fieldset[disabled] .button {
-    cursor: not-allowed; }
-
-/*! minireset.css v0.0.4 | MIT License | github.com/jgthms/minireset.css */
-html,
-body,
-p,
-ol,
-ul,
-li,
-dl,
-dt,
-dd,
-blockquote,
-figure,
-fieldset,
-legend,
-textarea,
-pre,
-iframe,
-hr,
-h1,
-h2,
-h3,
-h4,
-h5,
-h6 {
-  margin: 0;
-  padding: 0; }
-
-h1,
-h2,
-h3,
-h4,
-h5,
-h6 {
-  font-size: 100%;
-  font-weight: normal; }
-
-ul {
-  list-style: none; }
-
-button,
-input,
-select,
-textarea {
-  margin: 0; }
-
-html {
-  box-sizing: border-box; }
-
-*, *::before, *::after {
-  box-sizing: inherit; }
-
-img,
-embed,
-iframe,
-object,
-video {
-  height: auto;
-  max-width: 100%; }
-
-audio {
-  max-width: 100%; }
-
-iframe {
-  border: 0; }
-
-table {
-  border-collapse: collapse;
-  border-spacing: 0; }
-
-td,
-th {
-  padding: 0; }
-  td:not([align]),
-  th:not([align]) {
-    text-align: left; }
-
-html {
-  background-color: white;
-  font-size: 16px;
-  -moz-osx-font-smoothing: grayscale;
-  -webkit-font-smoothing: antialiased;
-  min-width: 300px;
-  overflow-x: auto;
-  overflow-y: scroll;
-  text-rendering: optimizeLegibility;
-  text-size-adjust: 100%; }
-
-article,
-aside,
-figure,
-footer,
-header,
-hgroup,
-section {
-  display: block; }
-
-body,
-button,
-input,
-select,
-textarea {
-  font-family: "Lato Medium", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
-
-code,
-pre {
-  -moz-osx-font-smoothing: auto;
-  -webkit-font-smoothing: auto;
-  font-family: "JuliaMono", "SFMono-Regular", "Menlo", "Consolas", "Liberation Mono", "DejaVu Sans Mono", monospace; }
-
-body {
-  color: #222222;
-  font-size: 1em;
-  font-weight: 400;
-  line-height: 1.5; }
-
-a {
-  color: #2e63b8;
-  cursor: pointer;
-  text-decoration: none; }
-  a strong {
-    color: currentColor; }
-  a:hover {
-    color: #363636; }
-
-code {
-  background-color: rgba(0, 0, 0, 0.05);
-  color: #000000;
-  font-size: 0.875em;
-  font-weight: normal;
-  padding: 0.1em; }
-
-hr {
-  background-color: whitesmoke;
-  border: none;
-  display: block;
-  height: 2px;
-  margin: 1.5rem 0; }
-
-img {
-  height: auto;
-  max-width: 100%; }
-
-input[type="checkbox"],
-input[type="radio"] {
-  vertical-align: baseline; }
-
-small {
-  font-size: 0.875em; }
-
-span {
-  font-style: inherit;
-  font-weight: inherit; }
-
-strong {
-  color: #222222;
-  font-weight: 700; }
-
-fieldset {
-  border: none; }
-
-pre {
-  -webkit-overflow-scrolling: touch;
-  background-color: whitesmoke;
-  color: #222222;
-  font-size: 0.875em;
-  overflow-x: auto;
-  padding: 1.25rem 1.5rem;
-  white-space: pre;
-  word-wrap: normal; }
-  pre code {
-    background-color: transparent;
-    color: currentColor;
-    font-size: 1em;
-    padding: 0; }
-
-table td,
-table th {
-  vertical-align: top; }
-  table td:not([align]),
-  table th:not([align]) {
-    text-align: left; }
-
-table th {
-  color: #222222; }
-
-.is-clearfix::after {
-  clear: both;
-  content: " ";
-  display: table; }
-
-.is-pulled-left {
-  float: left !important; }
-
-.is-pulled-right {
-  float: right !important; }
-
-.is-clipped {
-  overflow: hidden !important; }
-
-.is-size-1 {
-  font-size: 3rem !important; }
-
-.is-size-2 {
-  font-size: 2.5rem !important; }
-
-.is-size-3 {
-  font-size: 2rem !important; }
-
-.is-size-4 {
-  font-size: 1.5rem !important; }
-
-.is-size-5 {
-  font-size: 1.25rem !important; }
-
-.is-size-6 {
-  font-size: 1rem !important; }
-
-.is-size-7, .docstring > section > a.docs-sourcelink {
-  font-size: 0.75rem !important; }
-
-@media screen and (max-width: 768px) {
-  .is-size-1-mobile {
-    font-size: 3rem !important; }
-  .is-size-2-mobile {
-    font-size: 2.5rem !important; }
-  .is-size-3-mobile {
-    font-size: 2rem !important; }
-  .is-size-4-mobile {
-    font-size: 1.5rem !important; }
-  .is-size-5-mobile {
-    font-size: 1.25rem !important; }
-  .is-size-6-mobile {
-    font-size: 1rem !important; }
-  .is-size-7-mobile {
-    font-size: 0.75rem !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-size-1-tablet {
-    font-size: 3rem !important; }
-  .is-size-2-tablet {
-    font-size: 2.5rem !important; }
-  .is-size-3-tablet {
-    font-size: 2rem !important; }
-  .is-size-4-tablet {
-    font-size: 1.5rem !important; }
-  .is-size-5-tablet {
-    font-size: 1.25rem !important; }
-  .is-size-6-tablet {
-    font-size: 1rem !important; }
-  .is-size-7-tablet {
-    font-size: 0.75rem !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-size-1-touch {
-    font-size: 3rem !important; }
-  .is-size-2-touch {
-    font-size: 2.5rem !important; }
-  .is-size-3-touch {
-    font-size: 2rem !important; }
-  .is-size-4-touch {
-    font-size: 1.5rem !important; }
-  .is-size-5-touch {
-    font-size: 1.25rem !important; }
-  .is-size-6-touch {
-    font-size: 1rem !important; }
-  .is-size-7-touch {
-    font-size: 0.75rem !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-size-1-desktop {
-    font-size: 3rem !important; }
-  .is-size-2-desktop {
-    font-size: 2.5rem !important; }
-  .is-size-3-desktop {
-    font-size: 2rem !important; }
-  .is-size-4-desktop {
-    font-size: 1.5rem !important; }
-  .is-size-5-desktop {
-    font-size: 1.25rem !important; }
-  .is-size-6-desktop {
-    font-size: 1rem !important; }
-  .is-size-7-desktop {
-    font-size: 0.75rem !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-size-1-widescreen {
-    font-size: 3rem !important; }
-  .is-size-2-widescreen {
-    font-size: 2.5rem !important; }
-  .is-size-3-widescreen {
-    font-size: 2rem !important; }
-  .is-size-4-widescreen {
-    font-size: 1.5rem !important; }
-  .is-size-5-widescreen {
-    font-size: 1.25rem !important; }
-  .is-size-6-widescreen {
-    font-size: 1rem !important; }
-  .is-size-7-widescreen {
-    font-size: 0.75rem !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-size-1-fullhd {
-    font-size: 3rem !important; }
-  .is-size-2-fullhd {
-    font-size: 2.5rem !important; }
-  .is-size-3-fullhd {
-    font-size: 2rem !important; }
-  .is-size-4-fullhd {
-    font-size: 1.5rem !important; }
-  .is-size-5-fullhd {
-    font-size: 1.25rem !important; }
-  .is-size-6-fullhd {
-    font-size: 1rem !important; }
-  .is-size-7-fullhd {
-    font-size: 0.75rem !important; } }
-
-.has-text-centered {
-  text-align: center !important; }
-
-.has-text-justified {
-  text-align: justify !important; }
-
-.has-text-left {
-  text-align: left !important; }
-
-.has-text-right {
-  text-align: right !important; }
-
-@media screen and (max-width: 768px) {
-  .has-text-centered-mobile {
-    text-align: center !important; } }
-
-@media screen and (min-width: 769px), print {
-  .has-text-centered-tablet {
-    text-align: center !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .has-text-centered-tablet-only {
-    text-align: center !important; } }
-
-@media screen and (max-width: 1055px) {
-  .has-text-centered-touch {
-    text-align: center !important; } }
-
-@media screen and (min-width: 1056px) {
-  .has-text-centered-desktop {
-    text-align: center !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .has-text-centered-desktop-only {
-    text-align: center !important; } }
-
-@media screen and (min-width: 1216px) {
-  .has-text-centered-widescreen {
-    text-align: center !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .has-text-centered-widescreen-only {
-    text-align: center !important; } }
-
-@media screen and (min-width: 1408px) {
-  .has-text-centered-fullhd {
-    text-align: center !important; } }
-
-@media screen and (max-width: 768px) {
-  .has-text-justified-mobile {
-    text-align: justify !important; } }
-
-@media screen and (min-width: 769px), print {
-  .has-text-justified-tablet {
-    text-align: justify !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .has-text-justified-tablet-only {
-    text-align: justify !important; } }
-
-@media screen and (max-width: 1055px) {
-  .has-text-justified-touch {
-    text-align: justify !important; } }
-
-@media screen and (min-width: 1056px) {
-  .has-text-justified-desktop {
-    text-align: justify !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .has-text-justified-desktop-only {
-    text-align: justify !important; } }
-
-@media screen and (min-width: 1216px) {
-  .has-text-justified-widescreen {
-    text-align: justify !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .has-text-justified-widescreen-only {
-    text-align: justify !important; } }
-
-@media screen and (min-width: 1408px) {
-  .has-text-justified-fullhd {
-    text-align: justify !important; } }
-
-@media screen and (max-width: 768px) {
-  .has-text-left-mobile {
-    text-align: left !important; } }
-
-@media screen and (min-width: 769px), print {
-  .has-text-left-tablet {
-    text-align: left !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .has-text-left-tablet-only {
-    text-align: left !important; } }
-
-@media screen and (max-width: 1055px) {
-  .has-text-left-touch {
-    text-align: left !important; } }
-
-@media screen and (min-width: 1056px) {
-  .has-text-left-desktop {
-    text-align: left !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .has-text-left-desktop-only {
-    text-align: left !important; } }
-
-@media screen and (min-width: 1216px) {
-  .has-text-left-widescreen {
-    text-align: left !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .has-text-left-widescreen-only {
-    text-align: left !important; } }
-
-@media screen and (min-width: 1408px) {
-  .has-text-left-fullhd {
-    text-align: left !important; } }
-
-@media screen and (max-width: 768px) {
-  .has-text-right-mobile {
-    text-align: right !important; } }
-
-@media screen and (min-width: 769px), print {
-  .has-text-right-tablet {
-    text-align: right !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .has-text-right-tablet-only {
-    text-align: right !important; } }
-
-@media screen and (max-width: 1055px) {
-  .has-text-right-touch {
-    text-align: right !important; } }
-
-@media screen and (min-width: 1056px) {
-  .has-text-right-desktop {
-    text-align: right !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .has-text-right-desktop-only {
-    text-align: right !important; } }
-
-@media screen and (min-width: 1216px) {
-  .has-text-right-widescreen {
-    text-align: right !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .has-text-right-widescreen-only {
-    text-align: right !important; } }
-
-@media screen and (min-width: 1408px) {
-  .has-text-right-fullhd {
-    text-align: right !important; } }
-
-.is-capitalized {
-  text-transform: capitalize !important; }
-
-.is-lowercase {
-  text-transform: lowercase !important; }
-
-.is-uppercase {
-  text-transform: uppercase !important; }
-
-.is-italic {
-  font-style: italic !important; }
-
-.has-text-white {
-  color: white !important; }
-
-a.has-text-white:hover, a.has-text-white:focus {
-  color: #e6e6e6 !important; }
-
-.has-background-white {
-  background-color: white !important; }
-
-.has-text-black {
-  color: #0a0a0a !important; }
-
-a.has-text-black:hover, a.has-text-black:focus {
-  color: black !important; }
-
-.has-background-black {
-  background-color: #0a0a0a !important; }
-
-.has-text-light {
-  color: whitesmoke !important; }
-
-a.has-text-light:hover, a.has-text-light:focus {
-  color: #dbdbdb !important; }
-
-.has-background-light {
-  background-color: whitesmoke !important; }
-
-.has-text-dark {
-  color: #363636 !important; }
-
-a.has-text-dark:hover, a.has-text-dark:focus {
-  color: #1c1c1c !important; }
-
-.has-background-dark {
-  background-color: #363636 !important; }
-
-.has-text-primary {
-  color: #4eb5de !important; }
-
-a.has-text-primary:hover, a.has-text-primary:focus {
-  color: #27a1d2 !important; }
-
-.has-background-primary {
-  background-color: #4eb5de !important; }
-
-.has-text-link {
-  color: #2e63b8 !important; }
-
-a.has-text-link:hover, a.has-text-link:focus {
-  color: #244d8f !important; }
-
-.has-background-link {
-  background-color: #2e63b8 !important; }
-
-.has-text-info {
-  color: #209cee !important; }
-
-a.has-text-info:hover, a.has-text-info:focus {
-  color: #1081cb !important; }
-
-.has-background-info {
-  background-color: #209cee !important; }
-
-.has-text-success {
-  color: #22c35b !important; }
-
-a.has-text-success:hover, a.has-text-success:focus {
-  color: #1a9847 !important; }
-
-.has-background-success {
-  background-color: #22c35b !important; }
-
-.has-text-warning {
-  color: #ffdd57 !important; }
-
-a.has-text-warning:hover, a.has-text-warning:focus {
-  color: #ffd324 !important; }
-
-.has-background-warning {
-  background-color: #ffdd57 !important; }
-
-.has-text-danger {
-  color: #da0b00 !important; }
-
-a.has-text-danger:hover, a.has-text-danger:focus {
-  color: #a70800 !important; }
-
-.has-background-danger {
-  background-color: #da0b00 !important; }
-
-.has-text-black-bis {
-  color: #121212 !important; }
-
-.has-background-black-bis {
-  background-color: #121212 !important; }
-
-.has-text-black-ter {
-  color: #242424 !important; }
-
-.has-background-black-ter {
-  background-color: #242424 !important; }
-
-.has-text-grey-darker {
-  color: #363636 !important; }
-
-.has-background-grey-darker {
-  background-color: #363636 !important; }
-
-.has-text-grey-dark {
-  color: #4a4a4a !important; }
-
-.has-background-grey-dark {
-  background-color: #4a4a4a !important; }
-
-.has-text-grey {
-  color: #6b6b6b !important; }
-
-.has-background-grey {
-  background-color: #6b6b6b !important; }
-
-.has-text-grey-light {
-  color: #b5b5b5 !important; }
-
-.has-background-grey-light {
-  background-color: #b5b5b5 !important; }
-
-.has-text-grey-lighter {
-  color: #dbdbdb !important; }
-
-.has-background-grey-lighter {
-  background-color: #dbdbdb !important; }
-
-.has-text-white-ter {
-  color: whitesmoke !important; }
-
-.has-background-white-ter {
-  background-color: whitesmoke !important; }
-
-.has-text-white-bis {
-  color: #fafafa !important; }
-
-.has-background-white-bis {
-  background-color: #fafafa !important; }
-
-.has-text-weight-light {
-  font-weight: 300 !important; }
-
-.has-text-weight-normal {
-  font-weight: 400 !important; }
-
-.has-text-weight-medium {
-  font-weight: 500 !important; }
-
-.has-text-weight-semibold {
-  font-weight: 600 !important; }
-
-.has-text-weight-bold {
-  font-weight: 700 !important; }
-
-.is-family-primary {
-  font-family: "Lato Medium", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; }
-
-.is-family-secondary {
-  font-family: "Lato Medium", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; }
-
-.is-family-sans-serif {
-  font-family: "Lato Medium", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; }
-
-.is-family-monospace {
-  font-family: "JuliaMono", "SFMono-Regular", "Menlo", "Consolas", "Liberation Mono", "DejaVu Sans Mono", monospace !important; }
-
-.is-family-code {
-  font-family: "JuliaMono", "SFMono-Regular", "Menlo", "Consolas", "Liberation Mono", "DejaVu Sans Mono", monospace !important; }
-
-.is-block {
-  display: block !important; }
-
-@media screen and (max-width: 768px) {
-  .is-block-mobile {
-    display: block !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-block-tablet {
-    display: block !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .is-block-tablet-only {
-    display: block !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-block-touch {
-    display: block !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-block-desktop {
-    display: block !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .is-block-desktop-only {
-    display: block !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-block-widescreen {
-    display: block !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .is-block-widescreen-only {
-    display: block !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-block-fullhd {
-    display: block !important; } }
-
-.is-flex {
-  display: flex !important; }
-
-@media screen and (max-width: 768px) {
-  .is-flex-mobile {
-    display: flex !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-flex-tablet {
-    display: flex !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .is-flex-tablet-only {
-    display: flex !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-flex-touch {
-    display: flex !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-flex-desktop {
-    display: flex !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .is-flex-desktop-only {
-    display: flex !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-flex-widescreen {
-    display: flex !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .is-flex-widescreen-only {
-    display: flex !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-flex-fullhd {
-    display: flex !important; } }
-
-.is-inline {
-  display: inline !important; }
-
-@media screen and (max-width: 768px) {
-  .is-inline-mobile {
-    display: inline !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-inline-tablet {
-    display: inline !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .is-inline-tablet-only {
-    display: inline !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-inline-touch {
-    display: inline !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-inline-desktop {
-    display: inline !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .is-inline-desktop-only {
-    display: inline !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-inline-widescreen {
-    display: inline !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .is-inline-widescreen-only {
-    display: inline !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-inline-fullhd {
-    display: inline !important; } }
-
-.is-inline-block {
-  display: inline-block !important; }
-
-@media screen and (max-width: 768px) {
-  .is-inline-block-mobile {
-    display: inline-block !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-inline-block-tablet {
-    display: inline-block !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .is-inline-block-tablet-only {
-    display: inline-block !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-inline-block-touch {
-    display: inline-block !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-inline-block-desktop {
-    display: inline-block !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .is-inline-block-desktop-only {
-    display: inline-block !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-inline-block-widescreen {
-    display: inline-block !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .is-inline-block-widescreen-only {
-    display: inline-block !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-inline-block-fullhd {
-    display: inline-block !important; } }
-
-.is-inline-flex {
-  display: inline-flex !important; }
-
-@media screen and (max-width: 768px) {
-  .is-inline-flex-mobile {
-    display: inline-flex !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-inline-flex-tablet {
-    display: inline-flex !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .is-inline-flex-tablet-only {
-    display: inline-flex !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-inline-flex-touch {
-    display: inline-flex !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-inline-flex-desktop {
-    display: inline-flex !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .is-inline-flex-desktop-only {
-    display: inline-flex !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-inline-flex-widescreen {
-    display: inline-flex !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .is-inline-flex-widescreen-only {
-    display: inline-flex !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-inline-flex-fullhd {
-    display: inline-flex !important; } }
-
-.is-hidden {
-  display: none !important; }
-
-.is-sr-only {
-  border: none !important;
-  clip: rect(0, 0, 0, 0) !important;
-  height: 0.01em !important;
-  overflow: hidden !important;
-  padding: 0 !important;
-  position: absolute !important;
-  white-space: nowrap !important;
-  width: 0.01em !important; }
-
-@media screen and (max-width: 768px) {
-  .is-hidden-mobile {
-    display: none !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-hidden-tablet {
-    display: none !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .is-hidden-tablet-only {
-    display: none !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-hidden-touch {
-    display: none !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-hidden-desktop {
-    display: none !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .is-hidden-desktop-only {
-    display: none !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-hidden-widescreen {
-    display: none !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .is-hidden-widescreen-only {
-    display: none !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-hidden-fullhd {
-    display: none !important; } }
-
-.is-invisible {
-  visibility: hidden !important; }
-
-@media screen and (max-width: 768px) {
-  .is-invisible-mobile {
-    visibility: hidden !important; } }
-
-@media screen and (min-width: 769px), print {
-  .is-invisible-tablet {
-    visibility: hidden !important; } }
-
-@media screen and (min-width: 769px) and (max-width: 1055px) {
-  .is-invisible-tablet-only {
-    visibility: hidden !important; } }
-
-@media screen and (max-width: 1055px) {
-  .is-invisible-touch {
-    visibility: hidden !important; } }
-
-@media screen and (min-width: 1056px) {
-  .is-invisible-desktop {
-    visibility: hidden !important; } }
-
-@media screen and (min-width: 1056px) and (max-width: 1215px) {
-  .is-invisible-desktop-only {
-    visibility: hidden !important; } }
-
-@media screen and (min-width: 1216px) {
-  .is-invisible-widescreen {
-    visibility: hidden !important; } }
-
-@media screen and (min-width: 1216px) and (max-width: 1407px) {
-  .is-invisible-widescreen-only {
-    visibility: hidden !important; } }
-
-@media screen and (min-width: 1408px) {
-  .is-invisible-fullhd {
-    visibility: hidden !important; } }
-
-.is-marginless {
-  margin: 0 !important; }
-
-.is-paddingless {
-  padding: 0 !important; }
-
-.is-radiusless {
-  border-radius: 0 !important; }
-
-.is-shadowless {
-  box-shadow: none !important; }
-
-.is-relative {
-  position: relative !important; }
-
-.box {
-  background-color: white;
-  border-radius: 6px;
-  box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
-  color: #222222;
-  display: block;
-  padding: 1.25rem; }
-
-a.box:hover, a.box:focus {
-  box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px #2e63b8; }
-
-a.box:active {
-  box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2), 0 0 0 1px #2e63b8; }
-
-.button {
-  background-color: white;
-  border-color: #dbdbdb;
-  border-width: 1px;
-  color: #363636;
-  cursor: pointer;
-  justify-content: center;
-  padding-bottom: calc(0.375em - 1px);
-  padding-left: 0.75em;
-  padding-right: 0.75em;
-  padding-top: calc(0.375em - 1px);
-  text-align: center;
-  white-space: nowrap; }
-  .button strong {
-    color: inherit; }
-  .button .icon, .button .icon.is-small, .button #documenter .docs-sidebar form.docs-search > input.icon, #documenter .docs-sidebar .button form.docs-search > input.icon, .button .icon.is-medium, .button .icon.is-large {
-    height: 1.5em;
-    width: 1.5em; }
-  .button .icon:first-child:not(:last-child) {
-    margin-left: calc(-0.375em - 1px);
-    margin-right: 0.1875em; }
-  .button .icon:last-child:not(:first-child) {
-    margin-left: 0.1875em;
-    margin-right: calc(-0.375em - 1px); }
-  .button .icon:first-child:last-child {
-    margin-left: calc(-0.375em - 1px);
-    margin-right: calc(-0.375em - 1px); }
-  .button:hover, .button.is-hovered {
-    border-color: #b5b5b5;
-    color: #363636; }
-  .button:focus, .button.is-focused {
-    border-color: #3c5dcd;
-    color: #363636; }
-    .button:focus:not(:active), .button.is-focused:not(:active) {
-      box-shadow: 0 0 0 0.125em rgba(46, 99, 184, 0.25); }
-  .button:active, .button.is-active {
-    border-color: #4a4a4a;
-    color: #363636; }
-  .button.is-text {
-    background-color: transparent;
-    border-color: transparent;
-    color: #222222;
-    text-decoration: underline; }
-    .button.is-text:hover, .button.is-text.is-hovered, .button.is-text:focus, .button.is-text.is-focused {
-      background-color: whitesmoke;
-      color: #222222; }
-    .button.is-text:active, .button.is-text.is-active {
-      background-color: #e8e8e8;
-      color: #222222; }
-    .button.is-text[disabled], fieldset[disabled] .button.is-text {
-      background-color: transparent;
-      border-color: transparent;
-      box-shadow: none; }
-  .button.is-white {
-    background-color: white;
-    border-color: transparent;
-    color: #0a0a0a; }
-    .button.is-white:hover, .button.is-white.is-hovered {
-      background-color: #f9f9f9;
-      border-color: transparent;
-      color: #0a0a0a; }
-    .button.is-white:focus, .button.is-white.is-focused {
-      border-color: transparent;
-      color: #0a0a0a; }
-      .button.is-white:focus:not(:active), .button.is-white.is-focused:not(:active) {
-        box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); }
-    .button.is-white:active, .button.is-white.is-active {
-      background-color: #f2f2f2;
-      border-color: transparent;
-      color: #0a0a0a; }
-    .button.is-white[disabled], fieldset[disabled] .button.is-white {
-      background-color: white;
-      border-color: transparent;
-      box-shadow: none; }
-    .button.is-white.is-inverted {
-      background-color: #0a0a0a;
-      color: white; }
-      .button.is-white.is-inverted:hover, .button.is-white.is-inverted.is-hovered {
-        background-color: black; }
-      .button.is-white.is-inverted[disabled], fieldset[disabled] .button.is-white.is-inverted {
-        background-color: #0a0a0a;
-        border-color: transparent;
-        box-shadow: none;
-        color: white; }
-    .button.is-white.is-loading::after {
-      border-color: transparent transparent #0a0a0a #0a0a0a !important; }
-    .button.is-white.is-outlined {
-      background-color: transparent;
-      border-color: white;
-      color: white; }
-      .button.is-white.is-outlined:hover, .button.is-white.is-outlined.is-hovered, .button.is-white.is-outlined:focus, .button.is-white.is-outlined.is-focused {
-        background-color: white;
-        border-color: white;
-        color: #0a0a0a; }
-      .button.is-white.is-outlined.is-loading::after {
-        border-color: transparent transparent white white !important; }
-      .button.is-white.is-outlined.is-loading:hover::after, .button.is-white.is-outlined.is-loading.is-hovered::after, .button.is-white.is-outlined.is-loading:focus::after, .button.is-white.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent #0a0a0a #0a0a0a !important; }
-      .button.is-white.is-outlined[disabled], fieldset[disabled] .button.is-white.is-outlined {
-        background-color: transparent;
-        border-color: white;
-        box-shadow: none;
-        color: white; }
-    .button.is-white.is-inverted.is-outlined {
-      background-color: transparent;
-      border-color: #0a0a0a;
-      color: #0a0a0a; }
-      .button.is-white.is-inverted.is-outlined:hover, .button.is-white.is-inverted.is-outlined.is-hovered, .button.is-white.is-inverted.is-outlined:focus, .button.is-white.is-inverted.is-outlined.is-focused {
-        background-color: #0a0a0a;
-        color: white; }
-      .button.is-white.is-inverted.is-outlined.is-loading:hover::after, .button.is-white.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-white.is-inverted.is-outlined.is-loading:focus::after, .button.is-white.is-inverted.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent white white !important; }
-      .button.is-white.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-white.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: #0a0a0a;
-        box-shadow: none;
-        color: #0a0a0a; }
-  .button.is-black {
-    background-color: #0a0a0a;
-    border-color: transparent;
-    color: white; }
-    .button.is-black:hover, .button.is-black.is-hovered {
-      background-color: #040404;
-      border-color: transparent;
-      color: white; }
-    .button.is-black:focus, .button.is-black.is-focused {
-      border-color: transparent;
-      color: white; }
-      .button.is-black:focus:not(:active), .button.is-black.is-focused:not(:active) {
-        box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); }
-    .button.is-black:active, .button.is-black.is-active {
-      background-color: black;
-      border-color: transparent;
-      color: white; }
-    .button.is-black[disabled], fieldset[disabled] .button.is-black {
-      background-color: #0a0a0a;
-      border-color: transparent;
-      box-shadow: none; }
-    .button.is-black.is-inverted {
-      background-color: white;
-      color: #0a0a0a; }
-      .button.is-black.is-inverted:hover, .button.is-black.is-inverted.is-hovered {
-        background-color: #f2f2f2; }
-      .button.is-black.is-inverted[disabled], fieldset[disabled] .button.is-black.is-inverted {
-        background-color: white;
-        border-color: transparent;
-        box-shadow: none;
-        color: #0a0a0a; }
-    .button.is-black.is-loading::after {
-      border-color: transparent transparent white white !important; }
-    .button.is-black.is-outlined {
-      background-color: transparent;
-      border-color: #0a0a0a;
-      color: #0a0a0a; }
-      .button.is-black.is-outlined:hover, .button.is-black.is-outlined.is-hovered, .button.is-black.is-outlined:focus, .button.is-black.is-outlined.is-focused {
-        background-color: #0a0a0a;
-        border-color: #0a0a0a;
-        color: white; }
-      .button.is-black.is-outlined.is-loading::after {
-        border-color: transparent transparent #0a0a0a #0a0a0a !important; }
-      .button.is-black.is-outlined.is-loading:hover::after, .button.is-black.is-outlined.is-loading.is-hovered::after, .button.is-black.is-outlined.is-loading:focus::after, .button.is-black.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent white white !important; }
-      .button.is-black.is-outlined[disabled], fieldset[disabled] .button.is-black.is-outlined {
-        background-color: transparent;
-        border-color: #0a0a0a;
-        box-shadow: none;
-        color: #0a0a0a; }
-    .button.is-black.is-inverted.is-outlined {
-      background-color: transparent;
-      border-color: white;
-      color: white; }
-      .button.is-black.is-inverted.is-outlined:hover, .button.is-black.is-inverted.is-outlined.is-hovered, .button.is-black.is-inverted.is-outlined:focus, .button.is-black.is-inverted.is-outlined.is-focused {
-        background-color: white;
-        color: #0a0a0a; }
-      .button.is-black.is-inverted.is-outlined.is-loading:hover::after, .button.is-black.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-black.is-inverted.is-outlined.is-loading:focus::after, .button.is-black.is-inverted.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent #0a0a0a #0a0a0a !important; }
-      .button.is-black.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-black.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: white;
-        box-shadow: none;
-        color: white; }
-  .button.is-light {
-    background-color: whitesmoke;
-    border-color: transparent;
-    color: #363636; }
-    .button.is-light:hover, .button.is-light.is-hovered {
-      background-color: #eeeeee;
-      border-color: transparent;
-      color: #363636; }
-    .button.is-light:focus, .button.is-light.is-focused {
-      border-color: transparent;
-      color: #363636; }
-      .button.is-light:focus:not(:active), .button.is-light.is-focused:not(:active) {
-        box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); }
-    .button.is-light:active, .button.is-light.is-active {
-      background-color: #e8e8e8;
-      border-color: transparent;
-      color: #363636; }
-    .button.is-light[disabled], fieldset[disabled] .button.is-light {
-      background-color: whitesmoke;
-      border-color: transparent;
-      box-shadow: none; }
-    .button.is-light.is-inverted {
-      background-color: #363636;
-      color: whitesmoke; }
-      .button.is-light.is-inverted:hover, .button.is-light.is-inverted.is-hovered {
-        background-color: #292929; }
-      .button.is-light.is-inverted[disabled], fieldset[disabled] .button.is-light.is-inverted {
-        background-color: #363636;
-        border-color: transparent;
-        box-shadow: none;
-        color: whitesmoke; }
-    .button.is-light.is-loading::after {
-      border-color: transparent transparent #363636 #363636 !important; }
-    .button.is-light.is-outlined {
-      background-color: transparent;
-      border-color: whitesmoke;
-      color: whitesmoke; }
-      .button.is-light.is-outlined:hover, .button.is-light.is-outlined.is-hovered, .button.is-light.is-outlined:focus, .button.is-light.is-outlined.is-focused {
-        background-color: whitesmoke;
-        border-color: whitesmoke;
-        color: #363636; }
-      .button.is-light.is-outlined.is-loading::after {
-        border-color: transparent transparent whitesmoke whitesmoke !important; }
-      .button.is-light.is-outlined.is-loading:hover::after, .button.is-light.is-outlined.is-loading.is-hovered::after, .button.is-light.is-outlined.is-loading:focus::after, .button.is-light.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent #363636 #363636 !important; }
-      .button.is-light.is-outlined[disabled], fieldset[disabled] .button.is-light.is-outlined {
-        background-color: transparent;
-        border-color: whitesmoke;
-        box-shadow: none;
-        color: whitesmoke; }
-    .button.is-light.is-inverted.is-outlined {
-      background-color: transparent;
-      border-color: #363636;
-      color: #363636; }
-      .button.is-light.is-inverted.is-outlined:hover, .button.is-light.is-inverted.is-outlined.is-hovered, .button.is-light.is-inverted.is-outlined:focus, .button.is-light.is-inverted.is-outlined.is-focused {
-        background-color: #363636;
-        color: whitesmoke; }
-      .button.is-light.is-inverted.is-outlined.is-loading:hover::after, .button.is-light.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-light.is-inverted.is-outlined.is-loading:focus::after, .button.is-light.is-inverted.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent whitesmoke whitesmoke !important; }
-      .button.is-light.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-light.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: #363636;
-        box-shadow: none;
-        color: #363636; }
-  .button.is-dark, .content kbd.button {
-    background-color: #363636;
-    border-color: transparent;
-    color: whitesmoke; }
-    .button.is-dark:hover, .content kbd.button:hover, .button.is-dark.is-hovered, .content kbd.button.is-hovered {
-      background-color: #2f2f2f;
-      border-color: transparent;
-      color: whitesmoke; }
-    .button.is-dark:focus, .content kbd.button:focus, .button.is-dark.is-focused, .content kbd.button.is-focused {
-      border-color: transparent;
-      color: whitesmoke; }
-      .button.is-dark:focus:not(:active), .content kbd.button:focus:not(:active), .button.is-dark.is-focused:not(:active), .content kbd.button.is-focused:not(:active) {
-        box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25); }
-    .button.is-dark:active, .content kbd.button:active, .button.is-dark.is-active, .content kbd.button.is-active {
-      background-color: #292929;
-      border-color: transparent;
-      color: whitesmoke; }
-    .button.is-dark[disabled], .content kbd.button[disabled], fieldset[disabled] .button.is-dark, fieldset[disabled] .content kbd.button, .content fieldset[disabled] kbd.button {
-      background-color: #363636;
-      border-color: transparent;
-      box-shadow: none; }
-    .button.is-dark.is-inverted, .content kbd.button.is-inverted {
-      background-color: whitesmoke;
-      color: #363636; }
-      .button.is-dark.is-inverted:hover, .content kbd.button.is-inverted:hover, .button.is-dark.is-inverted.is-hovered, .content kbd.button.is-inverted.is-hovered {
-        background-color: #e8e8e8; }
-      .button.is-dark.is-inverted[disabled], .content kbd.button.is-inverted[disabled], fieldset[disabled] .button.is-dark.is-inverted, fieldset[disabled] .content kbd.button.is-inverted, .content fieldset[disabled] kbd.button.is-inverted {
-        background-color: whitesmoke;
-        border-color: transparent;
-        box-shadow: none;
-        color: #363636; }
-    .button.is-dark.is-loading::after, .content kbd.button.is-loading::after {
-      border-color: transparent transparent whitesmoke whitesmoke !important; }
-    .button.is-dark.is-outlined, .content kbd.button.is-outlined {
-      background-color: transparent;
-      border-color: #363636;
-      color: #363636; }
-      .button.is-dark.is-outlined:hover, .content kbd.button.is-outlined:hover, .button.is-dark.is-outlined.is-hovered, .content kbd.button.is-outlined.is-hovered, .button.is-dark.is-outlined:focus, .content kbd.button.is-outlined:focus, .button.is-dark.is-outlined.is-focused, .content kbd.button.is-outlined.is-focused {
-        background-color: #363636;
-        border-color: #363636;
-        color: whitesmoke; }
-      .button.is-dark.is-outlined.is-loading::after, .content kbd.button.is-outlined.is-loading::after {
-        border-color: transparent transparent #363636 #363636 !important; }
-      .button.is-dark.is-outlined.is-loading:hover::after, .content kbd.button.is-outlined.is-loading:hover::after, .button.is-dark.is-outlined.is-loading.is-hovered::after, .content kbd.button.is-outlined.is-loading.is-hovered::after, .button.is-dark.is-outlined.is-loading:focus::after, .content kbd.button.is-outlined.is-loading:focus::after, .button.is-dark.is-outlined.is-loading.is-focused::after, .content kbd.button.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent whitesmoke whitesmoke !important; }
-      .button.is-dark.is-outlined[disabled], .content kbd.button.is-outlined[disabled], fieldset[disabled] .button.is-dark.is-outlined, fieldset[disabled] .content kbd.button.is-outlined, .content fieldset[disabled] kbd.button.is-outlined {
-        background-color: transparent;
-        border-color: #363636;
-        box-shadow: none;
-        color: #363636; }
-    .button.is-dark.is-inverted.is-outlined, .content kbd.button.is-inverted.is-outlined {
-      background-color: transparent;
-      border-color: whitesmoke;
-      color: whitesmoke; }
-      .button.is-dark.is-inverted.is-outlined:hover, .content kbd.button.is-inverted.is-outlined:hover, .button.is-dark.is-inverted.is-outlined.is-hovered, .content kbd.button.is-inverted.is-outlined.is-hovered, .button.is-dark.is-inverted.is-outlined:focus, .content kbd.button.is-inverted.is-outlined:focus, .button.is-dark.is-inverted.is-outlined.is-focused, .content kbd.button.is-inverted.is-outlined.is-focused {
-        background-color: whitesmoke;
-        color: #363636; }
-      .button.is-dark.is-inverted.is-outlined.is-loading:hover::after, .content kbd.button.is-inverted.is-outlined.is-loading:hover::after, .button.is-dark.is-inverted.is-outlined.is-loading.is-hovered::after, .content kbd.button.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-dark.is-inverted.is-outlined.is-loading:focus::after, .content kbd.button.is-inverted.is-outlined.is-loading:focus::after, .button.is-dark.is-inverted.is-outlined.is-loading.is-focused::after, .content kbd.button.is-inverted.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent #363636 #363636 !important; }
-      .button.is-dark.is-inverted.is-outlined[disabled], .content kbd.button.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-dark.is-inverted.is-outlined, fieldset[disabled] .content kbd.button.is-inverted.is-outlined, .content fieldset[disabled] kbd.button.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: whitesmoke;
-        box-shadow: none;
-        color: whitesmoke; }
-  .button.is-primary, .docstring > section > a.button.docs-sourcelink {
-    background-color: #4eb5de;
-    border-color: transparent;
-    color: #fff; }
-    .button.is-primary:hover, .docstring > section > a.button.docs-sourcelink:hover, .button.is-primary.is-hovered, .docstring > section > a.button.is-hovered.docs-sourcelink {
-      background-color: #43b1dc;
-      border-color: transparent;
-      color: #fff; }
-    .button.is-primary:focus, .docstring > section > a.button.docs-sourcelink:focus, .button.is-primary.is-focused, .docstring > section > a.button.is-focused.docs-sourcelink {
-      border-color: transparent;
-      color: #fff; }
-      .button.is-primary:focus:not(:active), .docstring > section > a.button.docs-sourcelink:focus:not(:active), .button.is-primary.is-focused:not(:active), .docstring > section > a.button.is-focused.docs-sourcelink:not(:active) {
-        box-shadow: 0 0 0 0.125em rgba(78, 181, 222, 0.25); }
-    .button.is-primary:active, .docstring > section > a.button.docs-sourcelink:active, .button.is-primary.is-active, .docstring > section > a.button.is-active.docs-sourcelink {
-      background-color: #39acda;
-      border-color: transparent;
-      color: #fff; }
-    .button.is-primary[disabled], .docstring > section > a.button.docs-sourcelink[disabled], fieldset[disabled] .button.is-primary, fieldset[disabled] .docstring > section > a.button.docs-sourcelink {
-      background-color: #4eb5de;
-      border-color: transparent;
-      box-shadow: none; }
-    .button.is-primary.is-inverted, .docstring > section > a.button.is-inverted.docs-sourcelink {
-      background-color: #fff;
-      color: #4eb5de; }
-      .button.is-primary.is-inverted:hover, .docstring > section > a.button.is-inverted.docs-sourcelink:hover, .button.is-primary.is-inverted.is-hovered, .docstring > section > a.button.is-inverted.is-hovered.docs-sourcelink {
-        background-color: #f2f2f2; }
-      .button.is-primary.is-inverted[disabled], .docstring > section > a.button.is-inverted.docs-sourcelink[disabled], fieldset[disabled] .button.is-primary.is-inverted, fieldset[disabled] .docstring > section > a.button.is-inverted.docs-sourcelink {
-        background-color: #fff;
-        border-color: transparent;
-        box-shadow: none;
-        color: #4eb5de; }
-    .button.is-primary.is-loading::after, .docstring > section > a.button.is-loading.docs-sourcelink::after {
-      border-color: transparent transparent #fff #fff !important; }
-    .button.is-primary.is-outlined, .docstring > section > a.button.is-outlined.docs-sourcelink {
-      background-color: transparent;
-      border-color: #4eb5de;
-      color: #4eb5de; }
-      .button.is-primary.is-outlined:hover, .docstring > section > a.button.is-outlined.docs-sourcelink:hover, .button.is-primary.is-outlined.is-hovered, .docstring > section > a.button.is-outlined.is-hovered.docs-sourcelink, .button.is-primary.is-outlined:focus, .docstring > section > a.button.is-outlined.docs-sourcelink:focus, .button.is-primary.is-outlined.is-focused, .docstring > section > a.button.is-outlined.is-focused.docs-sourcelink {
-        background-color: #4eb5de;
-        border-color: #4eb5de;
-        color: #fff; }
-      .button.is-primary.is-outlined.is-loading::after, .docstring > section > a.button.is-outlined.is-loading.docs-sourcelink::after {
-        border-color: transparent transparent #4eb5de #4eb5de !important; }
-      .button.is-primary.is-outlined.is-loading:hover::after, .docstring > section > a.button.is-outlined.is-loading.docs-sourcelink:hover::after, .button.is-primary.is-outlined.is-loading.is-hovered::after, .docstring > section > a.button.is-outlined.is-loading.is-hovered.docs-sourcelink::after, .button.is-primary.is-outlined.is-loading:focus::after, .docstring > section > a.button.is-outlined.is-loading.docs-sourcelink:focus::after, .button.is-primary.is-outlined.is-loading.is-focused::after, .docstring > section > a.button.is-outlined.is-loading.is-focused.docs-sourcelink::after {
-        border-color: transparent transparent #fff #fff !important; }
-      .button.is-primary.is-outlined[disabled], .docstring > section > a.button.is-outlined.docs-sourcelink[disabled], fieldset[disabled] .button.is-primary.is-outlined, fieldset[disabled] .docstring > section > a.button.is-outlined.docs-sourcelink {
-        background-color: transparent;
-        border-color: #4eb5de;
-        box-shadow: none;
-        color: #4eb5de; }
-    .button.is-primary.is-inverted.is-outlined, .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink {
-      background-color: transparent;
-      border-color: #fff;
-      color: #fff; }
-      .button.is-primary.is-inverted.is-outlined:hover, .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink:hover, .button.is-primary.is-inverted.is-outlined.is-hovered, .docstring > section > a.button.is-inverted.is-outlined.is-hovered.docs-sourcelink, .button.is-primary.is-inverted.is-outlined:focus, .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink:focus, .button.is-primary.is-inverted.is-outlined.is-focused, .docstring > section > a.button.is-inverted.is-outlined.is-focused.docs-sourcelink {
-        background-color: #fff;
-        color: #4eb5de; }
-      .button.is-primary.is-inverted.is-outlined.is-loading:hover::after, .docstring > section > a.button.is-inverted.is-outlined.is-loading.docs-sourcelink:hover::after, .button.is-primary.is-inverted.is-outlined.is-loading.is-hovered::after, .docstring > section > a.button.is-inverted.is-outlined.is-loading.is-hovered.docs-sourcelink::after, .button.is-primary.is-inverted.is-outlined.is-loading:focus::after, .docstring > section > a.button.is-inverted.is-outlined.is-loading.docs-sourcelink:focus::after, .button.is-primary.is-inverted.is-outlined.is-loading.is-focused::after, .docstring > section > a.button.is-inverted.is-outlined.is-loading.is-focused.docs-sourcelink::after {
-        border-color: transparent transparent #4eb5de #4eb5de !important; }
-      .button.is-primary.is-inverted.is-outlined[disabled], .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink[disabled], fieldset[disabled] .button.is-primary.is-inverted.is-outlined, fieldset[disabled] .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink {
-        background-color: transparent;
-        border-color: #fff;
-        box-shadow: none;
-        color: #fff; }
-  .button.is-link {
-    background-color: #2e63b8;
-    border-color: transparent;
-    color: #fff; }
-    .button.is-link:hover, .button.is-link.is-hovered {
-      background-color: #2b5eae;
-      border-color: transparent;
-      color: #fff; }
-    .button.is-link:focus, .button.is-link.is-focused {
-      border-color: transparent;
-      color: #fff; }
-      .button.is-link:focus:not(:active), .button.is-link.is-focused:not(:active) {
-        box-shadow: 0 0 0 0.125em rgba(46, 99, 184, 0.25); }
-    .button.is-link:active, .button.is-link.is-active {
-      background-color: #2958a4;
-      border-color: transparent;
-      color: #fff; }
-    .button.is-link[disabled], fieldset[disabled] .button.is-link {
-      background-color: #2e63b8;
-      border-color: transparent;
-      box-shadow: none; }
-    .button.is-link.is-inverted {
-      background-color: #fff;
-      color: #2e63b8; }
-      .button.is-link.is-inverted:hover, .button.is-link.is-inverted.is-hovered {
-        background-color: #f2f2f2; }
-      .button.is-link.is-inverted[disabled], fieldset[disabled] .button.is-link.is-inverted {
-        background-color: #fff;
-        border-color: transparent;
-        box-shadow: none;
-        color: #2e63b8; }
-    .button.is-link.is-loading::after {
-      border-color: transparent transparent #fff #fff !important; }
-    .button.is-link.is-outlined {
-      background-color: transparent;
-      border-color: #2e63b8;
-      color: #2e63b8; }
-      .button.is-link.is-outlined:hover, .button.is-link.is-outlined.is-hovered, .button.is-link.is-outlined:focus, .button.is-link.is-outlined.is-focused {
-        background-color: #2e63b8;
-        border-color: #2e63b8;
-        color: #fff; }
-      .button.is-link.is-outlined.is-loading::after {
-        border-color: transparent transparent #2e63b8 #2e63b8 !important; }
-      .button.is-link.is-outlined.is-loading:hover::after, .button.is-link.is-outlined.is-loading.is-hovered::after, .button.is-link.is-outlined.is-loading:focus::after, .button.is-link.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent #fff #fff !important; }
-      .button.is-link.is-outlined[disabled], fieldset[disabled] .button.is-link.is-outlined {
-        background-color: transparent;
-        border-color: #2e63b8;
-        box-shadow: none;
-        color: #2e63b8; }
-    .button.is-link.is-inverted.is-outlined {
-      background-color: transparent;
-      border-color: #fff;
-      color: #fff; }
-      .button.is-link.is-inverted.is-outlined:hover, .button.is-link.is-inverted.is-outlined.is-hovered, .button.is-link.is-inverted.is-outlined:focus, .button.is-link.is-inverted.is-outlined.is-focused {
-        background-color: #fff;
-        color: #2e63b8; }
-      .button.is-link.is-inverted.is-outlined.is-loading:hover::after, .button.is-link.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-link.is-inverted.is-outlined.is-loading:focus::after, .button.is-link.is-inverted.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent #2e63b8 #2e63b8 !important; }
-      .button.is-link.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-link.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: #fff;
-        box-shadow: none;
-        color: #fff; }
-  .button.is-info {
-    background-color: #209cee;
-    border-color: transparent;
-    color: #fff; }
-    .button.is-info:hover, .button.is-info.is-hovered {
-      background-color: #1497ed;
-      border-color: transparent;
-      color: #fff; }
-    .button.is-info:focus, .button.is-info.is-focused {
-      border-color: transparent;
-      color: #fff; }
-      .button.is-info:focus:not(:active), .button.is-info.is-focused:not(:active) {
-        box-shadow: 0 0 0 0.125em rgba(32, 156, 238, 0.25); }
-    .button.is-info:active, .button.is-info.is-active {
-      background-color: #1190e3;
-      border-color: transparent;
-      color: #fff; }
-    .button.is-info[disabled], fieldset[disabled] .button.is-info {
-      background-color: #209cee;
-      border-color: transparent;
-      box-shadow: none; }
-    .button.is-info.is-inverted {
-      background-color: #fff;
-      color: #209cee; }
-      .button.is-info.is-inverted:hover, .button.is-info.is-inverted.is-hovered {
-        background-color: #f2f2f2; }
-      .button.is-info.is-inverted[disabled], fieldset[disabled] .button.is-info.is-inverted {
-        background-color: #fff;
-        border-color: transparent;
-        box-shadow: none;
-        color: #209cee; }
-    .button.is-info.is-loading::after {
-      border-color: transparent transparent #fff #fff !important; }
-    .button.is-info.is-outlined {
-      background-color: transparent;
-      border-color: #209cee;
-      color: #209cee; }
-      .button.is-info.is-outlined:hover, .button.is-info.is-outlined.is-hovered, .button.is-info.is-outlined:focus, .button.is-info.is-outlined.is-focused {
-        background-color: #209cee;
-        border-color: #209cee;
-        color: #fff; }
-      .button.is-info.is-outlined.is-loading::after {
-        border-color: transparent transparent #209cee #209cee !important; }
-      .button.is-info.is-outlined.is-loading:hover::after, .button.is-info.is-outlined.is-loading.is-hovered::after, .button.is-info.is-outlined.is-loading:focus::after, .button.is-info.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent #fff #fff !important; }
-      .button.is-info.is-outlined[disabled], fieldset[disabled] .button.is-info.is-outlined {
-        background-color: transparent;
-        border-color: #209cee;
-        box-shadow: none;
-        color: #209cee; }
-    .button.is-info.is-inverted.is-outlined {
-      background-color: transparent;
-      border-color: #fff;
-      color: #fff; }
-      .button.is-info.is-inverted.is-outlined:hover, .button.is-info.is-inverted.is-outlined.is-hovered, .button.is-info.is-inverted.is-outlined:focus, .button.is-info.is-inverted.is-outlined.is-focused {
-        background-color: #fff;
-        color: #209cee; }
-      .button.is-info.is-inverted.is-outlined.is-loading:hover::after, .button.is-info.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-info.is-inverted.is-outlined.is-loading:focus::after, .button.is-info.is-inverted.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent #209cee #209cee !important; }
-      .button.is-info.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-info.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: #fff;
-        box-shadow: none;
-        color: #fff; }
-  .button.is-success {
-    background-color: #22c35b;
-    border-color: transparent;
-    color: #fff; }
-    .button.is-success:hover, .button.is-success.is-hovered {
-      background-color: #20b856;
-      border-color: transparent;
-      color: #fff; }
-    .button.is-success:focus, .button.is-success.is-focused {
-      border-color: transparent;
-      color: #fff; }
-      .button.is-success:focus:not(:active), .button.is-success.is-focused:not(:active) {
-        box-shadow: 0 0 0 0.125em rgba(34, 195, 91, 0.25); }
-    .button.is-success:active, .button.is-success.is-active {
-      background-color: #1ead51;
-      border-color: transparent;
-      color: #fff; }
-    .button.is-success[disabled], fieldset[disabled] .button.is-success {
-      background-color: #22c35b;
-      border-color: transparent;
-      box-shadow: none; }
-    .button.is-success.is-inverted {
-      background-color: #fff;
-      color: #22c35b; }
-      .button.is-success.is-inverted:hover, .button.is-success.is-inverted.is-hovered {
-        background-color: #f2f2f2; }
-      .button.is-success.is-inverted[disabled], fieldset[disabled] .button.is-success.is-inverted {
-        background-color: #fff;
-        border-color: transparent;
-        box-shadow: none;
-        color: #22c35b; }
-    .button.is-success.is-loading::after {
-      border-color: transparent transparent #fff #fff !important; }
-    .button.is-success.is-outlined {
-      background-color: transparent;
-      border-color: #22c35b;
-      color: #22c35b; }
-      .button.is-success.is-outlined:hover, .button.is-success.is-outlined.is-hovered, .button.is-success.is-outlined:focus, .button.is-success.is-outlined.is-focused {
-        background-color: #22c35b;
-        border-color: #22c35b;
-        color: #fff; }
-      .button.is-success.is-outlined.is-loading::after {
-        border-color: transparent transparent #22c35b #22c35b !important; }
-      .button.is-success.is-outlined.is-loading:hover::after, .button.is-success.is-outlined.is-loading.is-hovered::after, .button.is-success.is-outlined.is-loading:focus::after, .button.is-success.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent #fff #fff !important; }
-      .button.is-success.is-outlined[disabled], fieldset[disabled] .button.is-success.is-outlined {
-        background-color: transparent;
-        border-color: #22c35b;
-        box-shadow: none;
-        color: #22c35b; }
-    .button.is-success.is-inverted.is-outlined {
-      background-color: transparent;
-      border-color: #fff;
-      color: #fff; }
-      .button.is-success.is-inverted.is-outlined:hover, .button.is-success.is-inverted.is-outlined.is-hovered, .button.is-success.is-inverted.is-outlined:focus, .button.is-success.is-inverted.is-outlined.is-focused {
-        background-color: #fff;
-        color: #22c35b; }
-      .button.is-success.is-inverted.is-outlined.is-loading:hover::after, .button.is-success.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-success.is-inverted.is-outlined.is-loading:focus::after, .button.is-success.is-inverted.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent #22c35b #22c35b !important; }
-      .button.is-success.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-success.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: #fff;
-        box-shadow: none;
-        color: #fff; }
-  .button.is-warning {
-    background-color: #ffdd57;
-    border-color: transparent;
-    color: rgba(0, 0, 0, 0.7); }
-    .button.is-warning:hover, .button.is-warning.is-hovered {
-      background-color: #ffda4a;
-      border-color: transparent;
-      color: rgba(0, 0, 0, 0.7); }
-    .button.is-warning:focus, .button.is-warning.is-focused {
-      border-color: transparent;
-      color: rgba(0, 0, 0, 0.7); }
-      .button.is-warning:focus:not(:active), .button.is-warning.is-focused:not(:active) {
-        box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25); }
-    .button.is-warning:active, .button.is-warning.is-active {
-      background-color: #ffd83e;
-      border-color: transparent;
-      color: rgba(0, 0, 0, 0.7); }
-    .button.is-warning[disabled], fieldset[disabled] .button.is-warning {
-      background-color: #ffdd57;
-      border-color: transparent;
-      box-shadow: none; }
-    .button.is-warning.is-inverted {
-      background-color: rgba(0, 0, 0, 0.7);
-      color: #ffdd57; }
-      .button.is-warning.is-inverted:hover, .button.is-warning.is-inverted.is-hovered {
-        background-color: rgba(0, 0, 0, 0.7); }
-      .button.is-warning.is-inverted[disabled], fieldset[disabled] .button.is-warning.is-inverted {
-        background-color: rgba(0, 0, 0, 0.7);
-        border-color: transparent;
-        box-shadow: none;
-        color: #ffdd57; }
-    .button.is-warning.is-loading::after {
-      border-color: transparent transparent rgba(0, 0, 0, 0.7) rgba(0, 0, 0, 0.7) !important; }
-    .button.is-warning.is-outlined {
-      background-color: transparent;
-      border-color: #ffdd57;
-      color: #ffdd57; }
-      .button.is-warning.is-outlined:hover, .button.is-warning.is-outlined.is-hovered, .button.is-warning.is-outlined:focus, .button.is-warning.is-outlined.is-focused {
-        background-color: #ffdd57;
-        border-color: #ffdd57;
-        color: rgba(0, 0, 0, 0.7); }
-      .button.is-warning.is-outlined.is-loading::after {
-        border-color: transparent transparent #ffdd57 #ffdd57 !important; }
-      .button.is-warning.is-outlined.is-loading:hover::after, .button.is-warning.is-outlined.is-loading.is-hovered::after, .button.is-warning.is-outlined.is-loading:focus::after, .button.is-warning.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent rgba(0, 0, 0, 0.7) rgba(0, 0, 0, 0.7) !important; }
-      .button.is-warning.is-outlined[disabled], fieldset[disabled] .button.is-warning.is-outlined {
-        background-color: transparent;
-        border-color: #ffdd57;
-        box-shadow: none;
-        color: #ffdd57; }
-    .button.is-warning.is-inverted.is-outlined {
-      background-color: transparent;
-      border-color: rgba(0, 0, 0, 0.7);
-      color: rgba(0, 0, 0, 0.7); }
-      .button.is-warning.is-inverted.is-outlined:hover, .button.is-warning.is-inverted.is-outlined.is-hovered, .button.is-warning.is-inverted.is-outlined:focus, .button.is-warning.is-inverted.is-outlined.is-focused {
-        background-color: rgba(0, 0, 0, 0.7);
-        color: #ffdd57; }
-      .button.is-warning.is-inverted.is-outlined.is-loading:hover::after, .button.is-warning.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-warning.is-inverted.is-outlined.is-loading:focus::after, .button.is-warning.is-inverted.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent #ffdd57 #ffdd57 !important; }
-      .button.is-warning.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-warning.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: rgba(0, 0, 0, 0.7);
-        box-shadow: none;
-        color: rgba(0, 0, 0, 0.7); }
-  .button.is-danger {
-    background-color: #da0b00;
-    border-color: transparent;
-    color: #fff; }
-    .button.is-danger:hover, .button.is-danger.is-hovered {
-      background-color: #cd0a00;
-      border-color: transparent;
-      color: #fff; }
-    .button.is-danger:focus, .button.is-danger.is-focused {
-      border-color: transparent;
-      color: #fff; }
-      .button.is-danger:focus:not(:active), .button.is-danger.is-focused:not(:active) {
-        box-shadow: 0 0 0 0.125em rgba(218, 11, 0, 0.25); }
-    .button.is-danger:active, .button.is-danger.is-active {
-      background-color: #c10a00;
-      border-color: transparent;
-      color: #fff; }
-    .button.is-danger[disabled], fieldset[disabled] .button.is-danger {
-      background-color: #da0b00;
-      border-color: transparent;
-      box-shadow: none; }
-    .button.is-danger.is-inverted {
-      background-color: #fff;
-      color: #da0b00; }
-      .button.is-danger.is-inverted:hover, .button.is-danger.is-inverted.is-hovered {
-        background-color: #f2f2f2; }
-      .button.is-danger.is-inverted[disabled], fieldset[disabled] .button.is-danger.is-inverted {
-        background-color: #fff;
-        border-color: transparent;
-        box-shadow: none;
-        color: #da0b00; }
-    .button.is-danger.is-loading::after {
-      border-color: transparent transparent #fff #fff !important; }
-    .button.is-danger.is-outlined {
-      background-color: transparent;
-      border-color: #da0b00;
-      color: #da0b00; }
-      .button.is-danger.is-outlined:hover, .button.is-danger.is-outlined.is-hovered, .button.is-danger.is-outlined:focus, .button.is-danger.is-outlined.is-focused {
-        background-color: #da0b00;
-        border-color: #da0b00;
-        color: #fff; }
-      .button.is-danger.is-outlined.is-loading::after {
-        border-color: transparent transparent #da0b00 #da0b00 !important; }
-      .button.is-danger.is-outlined.is-loading:hover::after, .button.is-danger.is-outlined.is-loading.is-hovered::after, .button.is-danger.is-outlined.is-loading:focus::after, .button.is-danger.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent #fff #fff !important; }
-      .button.is-danger.is-outlined[disabled], fieldset[disabled] .button.is-danger.is-outlined {
-        background-color: transparent;
-        border-color: #da0b00;
-        box-shadow: none;
-        color: #da0b00; }
-    .button.is-danger.is-inverted.is-outlined {
-      background-color: transparent;
-      border-color: #fff;
-      color: #fff; }
-      .button.is-danger.is-inverted.is-outlined:hover, .button.is-danger.is-inverted.is-outlined.is-hovered, .button.is-danger.is-inverted.is-outlined:focus, .button.is-danger.is-inverted.is-outlined.is-focused {
-        background-color: #fff;
-        color: #da0b00; }
-      .button.is-danger.is-inverted.is-outlined.is-loading:hover::after, .button.is-danger.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-danger.is-inverted.is-outlined.is-loading:focus::after, .button.is-danger.is-inverted.is-outlined.is-loading.is-focused::after {
-        border-color: transparent transparent #da0b00 #da0b00 !important; }
-      .button.is-danger.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-danger.is-inverted.is-outlined {
-        background-color: transparent;
-        border-color: #fff;
-        box-shadow: none;
-        color: #fff; }
-  .button.is-small, #documenter .docs-sidebar form.docs-search > input.button {
-    border-radius: 2px;
-    font-size: 0.75rem; }
-  .button.is-normal {
-    font-size: 1rem; }
-  .button.is-medium {
-    font-size: 1.25rem; }
-  .button.is-large {
-    font-size: 1.5rem; }
-  .button[disabled], fieldset[disabled] .button {
-    background-color: white;
-    border-color: #dbdbdb;
-    box-shadow: none;
-    opacity: 0.5; }
-  .button.is-fullwidth {
-    display: flex;
-    width: 100%; }
-  .button.is-loading {
-    color: transparent !important;
-    pointer-events: none; }
-    .button.is-loading::after {
-      position: absolute;
-      left: calc(50% - (1em / 2));
-      top: calc(50% - (1em / 2));
-      position: absolute !important; }
-  .button.is-static {
-    background-color: whitesmoke;
-    border-color: #dbdbdb;
-    color: #6b6b6b;
-    box-shadow: none;
-    pointer-events: none; }
-  .button.is-rounded, #documenter .docs-sidebar form.docs-search > input.button {
-    border-radius: 290486px;
-    padding-left: 1em;
-    padding-right: 1em; }
-
-.buttons {
-  align-items: center;
-  display: flex;
-  flex-wrap: wrap;
-  justify-content: flex-start; }
-  .buttons .button {
-    margin-bottom: 0.5rem; }
-    .buttons .button:not(:last-child):not(.is-fullwidth) {
-      margin-right: 0.5rem; }
-  .buttons:last-child {
-    margin-bottom: -0.5rem; }
-  .buttons:not(:last-child) {
-    margin-bottom: 1rem; }
-  .buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large) {
-    border-radius: 2px;
-    font-size: 0.75rem; }
-  .buttons.are-medium .button:not(.is-small):not(.is-normal):not(.is-large) {
-    font-size: 1.25rem; }
-  .buttons.are-large .button:not(.is-small):not(.is-normal):not(.is-medium) {
-    font-size: 1.5rem; }
-  .buttons.has-addons .button:not(:first-child) {
-    border-bottom-left-radius: 0;
-    border-top-left-radius: 0; }
-  .buttons.has-addons .button:not(:last-child) {
-    border-bottom-right-radius: 0;
-    border-top-right-radius: 0;
-    margin-right: -1px; }
-  .buttons.has-addons .button:last-child {
-    margin-right: 0; }
-  .buttons.has-addons .button:hover, .buttons.has-addons .button.is-hovered {
-    z-index: 2; }
-  .buttons.has-addons .button:focus, .buttons.has-addons .button.is-focused, .buttons.has-addons .button:active, .buttons.has-addons .button.is-active, .buttons.has-addons .button.is-selected {
-    z-index: 3; }
-    .buttons.has-addons .button:focus:hover, .buttons.has-addons .button.is-focused:hover, .buttons.has-addons .button:active:hover, .buttons.has-addons .button.is-active:hover, .buttons.has-addons .button.is-selected:hover {
-      z-index: 4; }
-  .buttons.has-addons .button.is-expanded {
-    flex-grow: 1;
-    flex-shrink: 1; }
-  .buttons.is-centered {
-    justify-content: center; }
-    .buttons.is-centered:not(.has-addons) .button:not(.is-fullwidth) {
-      margin-left: 0.25rem;
-      margin-right: 0.25rem; }
-  .buttons.is-right {
-    justify-content: flex-end; }
-    .buttons.is-right:not(.has-addons) .button:not(.is-fullwidth) {
-      margin-left: 0.25rem;
-      margin-right: 0.25rem; }
-
-.container {
-  flex-grow: 1;
-  margin: 0 auto;
-  position: relative;
-  width: auto; }
-  @media screen and (min-width: 1056px) {
-    .container {
-      max-width: 992px; }
-      .container.is-fluid {
-        margin-left: 32px;
-        margin-right: 32px;
-        max-width: none; } }
-  @media screen and (max-width: 1215px) {
-    .container.is-widescreen {
-      max-width: 1152px; } }
-  @media screen and (max-width: 1407px) {
-    .container.is-fullhd {
-      max-width: 1344px; } }
-  @media screen and (min-width: 1216px) {
-    .container {
-      max-width: 1152px; } }
-  @media screen and (min-width: 1408px) {
-    .container {
-      max-width: 1344px; } }
-.content li + li {
-  margin-top: 0.25em; }
-
-.content p:not(:last-child),
-.content dl:not(:last-child),
-.content ol:not(:last-child),
-.content ul:not(:last-child),
-.content blockquote:not(:last-child),
-.content pre:not(:last-child),
-.content table:not(:last-child) {
-  margin-bottom: 1em; }
-
-.content h1,
-.content h2,
-.content h3,
-.content h4,
-.content h5,
-.content h6 {
-  color: #222222;
-  font-weight: 600;
-  line-height: 1.125; }
-
-.content h1 {
-  font-size: 2em;
-  margin-bottom: 0.5em; }
-  .content h1:not(:first-child) {
-    margin-top: 1em; }
-
-.content h2 {
-  font-size: 1.75em;
-  margin-bottom: 0.5714em; }
-  .content h2:not(:first-child) {
-    margin-top: 1.1428em; }
-
-.content h3 {
-  font-size: 1.5em;
-  margin-bottom: 0.6666em; }
-  .content h3:not(:first-child) {
-    margin-top: 1.3333em; }
-
-.content h4 {
-  font-size: 1.25em;
-  margin-bottom: 0.8em; }
-
-.content h5 {
-  font-size: 1.125em;
-  margin-bottom: 0.8888em; }
-
-.content h6 {
-  font-size: 1em;
-  margin-bottom: 1em; }
-
-.content blockquote {
-  background-color: whitesmoke;
-  border-left: 5px solid #dbdbdb;
-  padding: 1.25em 1.5em; }
-
-.content ol {
-  list-style-position: outside;
-  margin-left: 2em;
-  margin-top: 1em; }
-  .content ol:not([type]) {
-    list-style-type: decimal; }
-    .content ol.is-lower-alpha:not([type]) {
-      list-style-type: lower-alpha; }
-    .content ol.is-lower-roman:not([type]) {
-      list-style-type: lower-roman; }
-    .content ol.is-upper-alpha:not([type]) {
-      list-style-type: upper-alpha; }
-    .content ol.is-upper-roman:not([type]) {
-      list-style-type: upper-roman; }
-
-.content ul {
-  list-style: disc outside;
-  margin-left: 2em;
-  margin-top: 1em; }
-  .content ul ul {
-    list-style-type: circle;
-    margin-top: 0.5em; }
-    .content ul ul ul {
-      list-style-type: square; }
-
-.content dd {
-  margin-left: 2em; }
-
-.content figure {
-  margin-left: 2em;
-  margin-right: 2em;
-  text-align: center; }
-  .content figure:not(:first-child) {
-    margin-top: 2em; }
-  .content figure:not(:last-child) {
-    margin-bottom: 2em; }
-  .content figure img {
-    display: inline-block; }
-  .content figure figcaption {
-    font-style: italic; }
-
-.content pre {
-  -webkit-overflow-scrolling: touch;
-  overflow-x: auto;
-  padding: 0;
-  white-space: pre;
-  word-wrap: normal; }
-
-.content sup,
-.content sub {
-  font-size: 75%; }
-
-.content table {
-  width: 100%; }
-  .content table td,
-  .content table th {
-    border: 1px solid #dbdbdb;
-    border-width: 0 0 1px;
-    padding: 0.5em 0.75em;
-    vertical-align: top; }
-  .content table th {
-    color: #222222; }
-    .content table th:not([align]) {
-      text-align: left; }
-  .content table thead td,
-  .content table thead th {
-    border-width: 0 0 2px;
-    color: #222222; }
-  .content table tfoot td,
-  .content table tfoot th {
-    border-width: 2px 0 0;
-    color: #222222; }
-  .content table tbody tr:last-child td,
-  .content table tbody tr:last-child th {
-    border-bottom-width: 0; }
-
-.content .tabs li + li {
-  margin-top: 0; }
-
-.content.is-small, #documenter .docs-sidebar form.docs-search > input.content {
-  font-size: 0.75rem; }
-
-.content.is-medium {
-  font-size: 1.25rem; }
-
-.content.is-large {
-  font-size: 1.5rem; }
-
-.icon {
-  align-items: center;
-  display: inline-flex;
-  justify-content: center;
-  height: 1.5rem;
-  width: 1.5rem; }
-  .icon.is-small, #documenter .docs-sidebar form.docs-search > input.icon {
-    height: 1rem;
-    width: 1rem; }
-  .icon.is-medium {
-    height: 2rem;
-    width: 2rem; }
-  .icon.is-large {
-    height: 3rem;
-    width: 3rem; }
-
-.image, #documenter .docs-sidebar .docs-logo > img {
-  display: block;
-  position: relative; }
-  .image img, #documenter .docs-sidebar .docs-logo > img img {
-    display: block;
-    height: auto;
-    width: 100%; }
-    .image img.is-rounded, #documenter .docs-sidebar .docs-logo > img img.is-rounded {
-      border-radius: 290486px; }
-  .image.is-square img, #documenter .docs-sidebar .docs-logo > img.is-square img,
-  .image.is-square .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-square .has-ratio, .image.is-1by1 img, #documenter .docs-sidebar .docs-logo > img.is-1by1 img,
-  .image.is-1by1 .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-1by1 .has-ratio, .image.is-5by4 img, #documenter .docs-sidebar .docs-logo > img.is-5by4 img,
-  .image.is-5by4 .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-5by4 .has-ratio, .image.is-4by3 img, #documenter .docs-sidebar .docs-logo > img.is-4by3 img,
-  .image.is-4by3 .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-4by3 .has-ratio, .image.is-3by2 img, #documenter .docs-sidebar .docs-logo > img.is-3by2 img,
-  .image.is-3by2 .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-3by2 .has-ratio, .image.is-5by3 img, #documenter .docs-sidebar .docs-logo > img.is-5by3 img,
-  .image.is-5by3 .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-5by3 .has-ratio, .image.is-16by9 img, #documenter .docs-sidebar .docs-logo > img.is-16by9 img,
-  .image.is-16by9 .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-16by9 .has-ratio, .image.is-2by1 img, #documenter .docs-sidebar .docs-logo > img.is-2by1 img,
-  .image.is-2by1 .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-2by1 .has-ratio, .image.is-3by1 img, #documenter .docs-sidebar .docs-logo > img.is-3by1 img,
-  .image.is-3by1 .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-3by1 .has-ratio, .image.is-4by5 img, #documenter .docs-sidebar .docs-logo > img.is-4by5 img,
-  .image.is-4by5 .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-4by5 .has-ratio, .image.is-3by4 img, #documenter .docs-sidebar .docs-logo > img.is-3by4 img,
-  .image.is-3by4 .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-3by4 .has-ratio, .image.is-2by3 img, #documenter .docs-sidebar .docs-logo > img.is-2by3 img,
-  .image.is-2by3 .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-2by3 .has-ratio, .image.is-3by5 img, #documenter .docs-sidebar .docs-logo > img.is-3by5 img,
-  .image.is-3by5 .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-3by5 .has-ratio, .image.is-9by16 img, #documenter .docs-sidebar .docs-logo > img.is-9by16 img,
-  .image.is-9by16 .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-9by16 .has-ratio, .image.is-1by2 img, #documenter .docs-sidebar .docs-logo > img.is-1by2 img,
-  .image.is-1by2 .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-1by2 .has-ratio, .image.is-1by3 img, #documenter .docs-sidebar .docs-logo > img.is-1by3 img,
-  .image.is-1by3 .has-ratio,
-  #documenter .docs-sidebar .docs-logo > img.is-1by3 .has-ratio {
-    height: 100%;
-    width: 100%; }
-  .image.is-square, #documenter .docs-sidebar .docs-logo > img.is-square, .image.is-1by1, #documenter .docs-sidebar .docs-logo > img.is-1by1 {
-    padding-top: 100%; }
-  .image.is-5by4, #documenter .docs-sidebar .docs-logo > img.is-5by4 {
-    padding-top: 80%; }
-  .image.is-4by3, #documenter .docs-sidebar .docs-logo > img.is-4by3 {
-    padding-top: 75%; }
-  .image.is-3by2, #documenter .docs-sidebar .docs-logo > img.is-3by2 {
-    padding-top: 66.6666%; }
-  .image.is-5by3, #documenter .docs-sidebar .docs-logo > img.is-5by3 {
-    padding-top: 60%; }
-  .image.is-16by9, #documenter .docs-sidebar .docs-logo > img.is-16by9 {
-    padding-top: 56.25%; }
-  .image.is-2by1, #documenter .docs-sidebar .docs-logo > img.is-2by1 {
-    padding-top: 50%; }
-  .image.is-3by1, #documenter .docs-sidebar .docs-logo > img.is-3by1 {
-    padding-top: 33.3333%; }
-  .image.is-4by5, #documenter .docs-sidebar .docs-logo > img.is-4by5 {
-    padding-top: 125%; }
-  .image.is-3by4, #documenter .docs-sidebar .docs-logo > img.is-3by4 {
-    padding-top: 133.3333%; }
-  .image.is-2by3, #documenter .docs-sidebar .docs-logo > img.is-2by3 {
-    padding-top: 150%; }
-  .image.is-3by5, #documenter .docs-sidebar .docs-logo > img.is-3by5 {
-    padding-top: 166.6666%; }
-  .image.is-9by16, #documenter .docs-sidebar .docs-logo > img.is-9by16 {
-    padding-top: 177.7777%; }
-  .image.is-1by2, #documenter .docs-sidebar .docs-logo > img.is-1by2 {
-    padding-top: 200%; }
-  .image.is-1by3, #documenter .docs-sidebar .docs-logo > img.is-1by3 {
-    padding-top: 300%; }
-  .image.is-16x16, #documenter .docs-sidebar .docs-logo > img.is-16x16 {
-    height: 16px;
-    width: 16px; }
-  .image.is-24x24, #documenter .docs-sidebar .docs-logo > img.is-24x24 {
-    height: 24px;
-    width: 24px; }
-  .image.is-32x32, #documenter .docs-sidebar .docs-logo > img.is-32x32 {
-    height: 32px;
-    width: 32px; }
-  .image.is-48x48, #documenter .docs-sidebar .docs-logo > img.is-48x48 {
-    height: 48px;
-    width: 48px; }
-  .image.is-64x64, #documenter .docs-sidebar .docs-logo > img.is-64x64 {
-    height: 64px;
-    width: 64px; }
-  .image.is-96x96, #documenter .docs-sidebar .docs-logo > img.is-96x96 {
-    height: 96px;
-    width: 96px; }
-  .image.is-128x128, #documenter .docs-sidebar .docs-logo > img.is-128x128 {
-    height: 128px;
-    width: 128px; }
-
-.notification {
-  background-color: whitesmoke;
-  border-radius: 4px;
-  padding: 1.25rem 2.5rem 1.25rem 1.5rem;
-  position: relative; }
-  .notification a:not(.button):not(.dropdown-item) {
-    color: currentColor;
-    text-decoration: underline; }
-  .notification strong {
-    color: currentColor; }
-  .notification code,
-  .notification pre {
-    background: white; }
-  .notification pre code {
-    background: transparent; }
-  .notification > .delete {
-    position: absolute;
-    right: 0.5rem;
-    top: 0.5rem; }
-  .notification .title,
-  .notification .subtitle,
-  .notification .content {
-    color: currentColor; }
-  .notification.is-white {
-    background-color: white;
-    color: #0a0a0a; }
-  .notification.is-black {
-    background-color: #0a0a0a;
-    color: white; }
-  .notification.is-light {
-    background-color: whitesmoke;
-    color: #363636; }
-  .notification.is-dark, .content kbd.notification {
-    background-color: #363636;
-    color: whitesmoke; }
-  .notification.is-primary, .docstring > section > a.notification.docs-sourcelink {
-    background-color: #4eb5de;
-    color: #fff; }
-  .notification.is-link {
-    background-color: #2e63b8;
-    color: #fff; }
-  .notification.is-info {
-    background-color: #209cee;
-    color: #fff; }
-  .notification.is-success {
-    background-color: #22c35b;
-    color: #fff; }
-  .notification.is-warning {
-    background-color: #ffdd57;
-    color: rgba(0, 0, 0, 0.7); }
-  .notification.is-danger {
-    background-color: #da0b00;
-    color: #fff; }
-
-.progress {
-  -moz-appearance: none;
-  -webkit-appearance: none;
-  border: none;
-  border-radius: 290486px;
-  display: block;
-  height: 1rem;
-  overflow: hidden;
-  padding: 0;
-  width: 100%; }
-  .progress::-webkit-progress-bar {
-    background-color: #dbdbdb; }
-  .progress::-webkit-progress-value {
-    background-color: #222222; }
-  .progress::-moz-progress-bar {
-    background-color: #222222; }
-  .progress::-ms-fill {
-    background-color: #222222;
-    border: none; }
-  .progress.is-white::-webkit-progress-value {
-    background-color: white; }
-  .progress.is-white::-moz-progress-bar {
-    background-color: white; }
-  .progress.is-white::-ms-fill {
-    background-color: white; }
-  .progress.is-white:indeterminate {
-    background-image: linear-gradient(to right, white 30%, #dbdbdb 30%); }
-  .progress.is-black::-webkit-progress-value {
-    background-color: #0a0a0a; }
-  .progress.is-black::-moz-progress-bar {
-    background-color: #0a0a0a; }
-  .progress.is-black::-ms-fill {
-    background-color: #0a0a0a; }
-  .progress.is-black:indeterminate {
-    background-image: linear-gradient(to right, #0a0a0a 30%, #dbdbdb 30%); }
-  .progress.is-light::-webkit-progress-value {
-    background-color: whitesmoke; }
-  .progress.is-light::-moz-progress-bar {
-    background-color: whitesmoke; }
-  .progress.is-light::-ms-fill {
-    background-color: whitesmoke; }
-  .progress.is-light:indeterminate {
-    background-image: linear-gradient(to right, whitesmoke 30%, #dbdbdb 30%); }
-  .progress.is-dark::-webkit-progress-value, .content kbd.progress::-webkit-progress-value {
-    background-color: #363636; }
-  .progress.is-dark::-moz-progress-bar, .content kbd.progress::-moz-progress-bar {
-    background-color: #363636; }
-  .progress.is-dark::-ms-fill, .content kbd.progress::-ms-fill {
-    background-color: #363636; }
-  .progress.is-dark:indeterminate, .content kbd.progress:indeterminate {
-    background-image: linear-gradient(to right, #363636 30%, #dbdbdb 30%); }
-  .progress.is-primary::-webkit-progress-value, .docstring > section > a.progress.docs-sourcelink::-webkit-progress-value {
-    background-color: #4eb5de; }
-  .progress.is-primary::-moz-progress-bar, .docstring > section > a.progress.docs-sourcelink::-moz-progress-bar {
-    background-color: #4eb5de; }
-  .progress.is-primary::-ms-fill, .docstring > section > a.progress.docs-sourcelink::-ms-fill {
-    background-color: #4eb5de; }
-  .progress.is-primary:indeterminate, .docstring > section > a.progress.docs-sourcelink:indeterminate {
-    background-image: linear-gradient(to right, #4eb5de 30%, #dbdbdb 30%); }
-  .progress.is-link::-webkit-progress-value {
-    background-color: #2e63b8; }
-  .progress.is-link::-moz-progress-bar {
-    background-color: #2e63b8; }
-  .progress.is-link::-ms-fill {
-    background-color: #2e63b8; }
-  .progress.is-link:indeterminate {
-    background-image: linear-gradient(to right, #2e63b8 30%, #dbdbdb 30%); }
-  .progress.is-info::-webkit-progress-value {
-    background-color: #209cee; }
-  .progress.is-info::-moz-progress-bar {
-    background-color: #209cee; }
-  .progress.is-info::-ms-fill {
-    background-color: #209cee; }
-  .progress.is-info:indeterminate {
-    background-image: linear-gradient(to right, #209cee 30%, #dbdbdb 30%); }
-  .progress.is-success::-webkit-progress-value {
-    background-color: #22c35b; }
-  .progress.is-success::-moz-progress-bar {
-    background-color: #22c35b; }
-  .progress.is-success::-ms-fill {
-    background-color: #22c35b; }
-  .progress.is-success:indeterminate {
-    background-image: linear-gradient(to right, #22c35b 30%, #dbdbdb 30%); }
-  .progress.is-warning::-webkit-progress-value {
-    background-color: #ffdd57; }
-  .progress.is-warning::-moz-progress-bar {
-    background-color: #ffdd57; }
-  .progress.is-warning::-ms-fill {
-    background-color: #ffdd57; }
-  .progress.is-warning:indeterminate {
-    background-image: linear-gradient(to right, #ffdd57 30%, #dbdbdb 30%); }
-  .progress.is-danger::-webkit-progress-value {
-    background-color: #da0b00; }
-  .progress.is-danger::-moz-progress-bar {
-    background-color: #da0b00; }
-  .progress.is-danger::-ms-fill {
-    background-color: #da0b00; }
-  .progress.is-danger:indeterminate {
-    background-image: linear-gradient(to right, #da0b00 30%, #dbdbdb 30%); }
-  .progress:indeterminate {
-    animation-duration: 1.5s;
-    animation-iteration-count: infinite;
-    animation-name: moveIndeterminate;
-    animation-timing-function: linear;
-    background-color: #dbdbdb;
-    background-image: linear-gradient(to right, #222222 30%, #dbdbdb 30%);
-    background-position: top left;
-    background-repeat: no-repeat;
-    background-size: 150% 150%; }
-    .progress:indeterminate::-webkit-progress-bar {
-      background-color: transparent; }
-    .progress:indeterminate::-moz-progress-bar {
-      background-color: transparent; }
-  .progress.is-small, #documenter .docs-sidebar form.docs-search > input.progress {
-    height: 0.75rem; }
-  .progress.is-medium {
-    height: 1.25rem; }
-  .progress.is-large {
-    height: 1.5rem; }
-
-@keyframes moveIndeterminate {
-  from {
-    background-position: 200% 0; }
-  to {
-    background-position: -200% 0; } }
-
-.table {
-  background-color: white;
-  color: #363636; }
-  .table td,
-  .table th {
-    border: 1px solid #dbdbdb;
-    border-width: 0 0 1px;
-    padding: 0.5em 0.75em;
-    vertical-align: top; }
-    .table td.is-white,
-    .table th.is-white {
-      background-color: white;
-      border-color: white;
-      color: #0a0a0a; }
-    .table td.is-black,
-    .table th.is-black {
-      background-color: #0a0a0a;
-      border-color: #0a0a0a;
-      color: white; }
-    .table td.is-light,
-    .table th.is-light {
-      background-color: whitesmoke;
-      border-color: whitesmoke;
-      color: #363636; }
-    .table td.is-dark,
-    .table th.is-dark {
-      background-color: #363636;
-      border-color: #363636;
-      color: whitesmoke; }
-    .table td.is-primary,
-    .table th.is-primary {
-      background-color: #4eb5de;
-      border-color: #4eb5de;
-      color: #fff; }
-    .table td.is-link,
-    .table th.is-link {
-      background-color: #2e63b8;
-      border-color: #2e63b8;
-      color: #fff; }
-    .table td.is-info,
-    .table th.is-info {
-      background-color: #209cee;
-      border-color: #209cee;
-      color: #fff; }
-    .table td.is-success,
-    .table th.is-success {
-      background-color: #22c35b;
-      border-color: #22c35b;
-      color: #fff; }
-    .table td.is-warning,
-    .table th.is-warning {
-      background-color: #ffdd57;
-      border-color: #ffdd57;
-      color: rgba(0, 0, 0, 0.7); }
-    .table td.is-danger,
-    .table th.is-danger {
-      background-color: #da0b00;
-      border-color: #da0b00;
-      color: #fff; }
-    .table td.is-narrow,
-    .table th.is-narrow {
-      white-space: nowrap;
-      width: 1%; }
-    .table td.is-selected,
-    .table th.is-selected {
-      background-color: #4eb5de;
-      color: #fff; }
-      .table td.is-selected a,
-      .table td.is-selected strong,
-      .table th.is-selected a,
-      .table th.is-selected strong {
-        color: currentColor; }
-  .table th {
-    color: #222222; }
-    .table th:not([align]) {
-      text-align: left; }
-  .table tr.is-selected {
-    background-color: #4eb5de;
-    color: #fff; }
-    .table tr.is-selected a,
-    .table tr.is-selected strong {
-      color: currentColor; }
-    .table tr.is-selected td,
-    .table tr.is-selected th {
-      border-color: #fff;
-      color: currentColor; }
-  .table thead {
-    background-color: transparent; }
-    .table thead td,
-    .table thead th {
-      border-width: 0 0 2px;
-      color: #222222; }
-  .table tfoot {
-    background-color: transparent; }
-    .table tfoot td,
-    .table tfoot th {
-      border-width: 2px 0 0;
-      color: #222222; }
-  .table tbody {
-    background-color: transparent; }
-    .table tbody tr:last-child td,
-    .table tbody tr:last-child th {
-      border-bottom-width: 0; }
-  .table.is-bordered td,
-  .table.is-bordered th {
-    border-width: 1px; }
-  .table.is-bordered tr:last-child td,
-  .table.is-bordered tr:last-child th {
-    border-bottom-width: 1px; }
-  .table.is-fullwidth {
-    width: 100%; }
-  .table.is-hoverable tbody tr:not(.is-selected):hover {
-    background-color: #fafafa; }
-  .table.is-hoverable.is-striped tbody tr:not(.is-selected):hover {
-    background-color: #fafafa; }
-    .table.is-hoverable.is-striped tbody tr:not(.is-selected):hover:nth-child(even) {
-      background-color: whitesmoke; }
-  .table.is-narrow td,
-  .table.is-narrow th {
-    padding: 0.25em 0.5em; }
-  .table.is-striped tbody tr:not(.is-selected):nth-child(even) {
-    background-color: #fafafa; }
-
-.table-container {
-  -webkit-overflow-scrolling: touch;
-  overflow: auto;
-  overflow-y: hidden;
-  max-width: 100%; }
-
-.tags {
-  align-items: center;
-  display: flex;
-  flex-wrap: wrap;
-  justify-content: flex-start; }
-  .tags .tag, .tags .content kbd, .content .tags kbd, .tags .docstring > section > a.docs-sourcelink {
-    margin-bottom: 0.5rem; }
-    .tags .tag:not(:last-child), .tags .content kbd:not(:last-child), .content .tags kbd:not(:last-child), .tags .docstring > section > a.docs-sourcelink:not(:last-child) {
-      margin-right: 0.5rem; }
-  .tags:last-child {
-    margin-bottom: -0.5rem; }
-  .tags:not(:last-child) {
-    margin-bottom: 1rem; }
-  .tags.are-medium .tag:not(.is-normal):not(.is-large), .tags.are-medium .content kbd:not(.is-normal):not(.is-large), .content .tags.are-medium kbd:not(.is-normal):not(.is-large), .tags.are-medium .docstring > section > a.docs-sourcelink:not(.is-normal):not(.is-large) {
-    font-size: 1rem; }
-  .tags.are-large .tag:not(.is-normal):not(.is-medium), .tags.are-large .content kbd:not(.is-normal):not(.is-medium), .content .tags.are-large kbd:not(.is-normal):not(.is-medium), .tags.are-large .docstring > section > a.docs-sourcelink:not(.is-normal):not(.is-medium) {
-    font-size: 1.25rem; }
-  .tags.is-centered {
-    justify-content: center; }
-    .tags.is-centered .tag, .tags.is-centered .content kbd, .content .tags.is-centered kbd, .tags.is-centered .docstring > section > a.docs-sourcelink {
-      margin-right: 0.25rem;
-      margin-left: 0.25rem; }
-  .tags.is-right {
-    justify-content: flex-end; }
-    .tags.is-right .tag:not(:first-child), .tags.is-right .content kbd:not(:first-child), .content .tags.is-right kbd:not(:first-child), .tags.is-right .docstring > section > a.docs-sourcelink:not(:first-child) {
-      margin-left: 0.5rem; }
-    .tags.is-right .tag:not(:last-child), .tags.is-right .content kbd:not(:last-child), .content .tags.is-right kbd:not(:last-child), .tags.is-right .docstring > section > a.docs-sourcelink:not(:last-child) {
-      margin-right: 0; }
-  .tags.has-addons .tag, .tags.has-addons .content kbd, .content .tags.has-addons kbd, .tags.has-addons .docstring > section > a.docs-sourcelink {
-    margin-right: 0; }
-    .tags.has-addons .tag:not(:first-child), .tags.has-addons .content kbd:not(:first-child), .content .tags.has-addons kbd:not(:first-child), .tags.has-addons .docstring > section > a.docs-sourcelink:not(:first-child) {
-      margin-left: 0;
-      border-bottom-left-radius: 0;
-      border-top-left-radius: 0; }
-    .tags.has-addons .tag:not(:last-child), .tags.has-addons .content kbd:not(:last-child), .content .tags.has-addons kbd:not(:last-child), .tags.has-addons .docstring > section > a.docs-sourcelink:not(:last-child) {
-      border-bottom-right-radius: 0;
-      border-top-right-radius: 0; }
-
-.tag:not(body), .content kbd:not(body), .docstring > section > a.docs-sourcelink:not(body) {
-  align-items: center;
-  background-color: whitesmoke;
-  border-radius: 4px;
-  color: #222222;
-  display: inline-flex;
-  font-size: 0.75rem;
-  height: 2em;
-  justify-content: center;
-  line-height: 1.5;
-  padding-left: 0.75em;
-  padding-right: 0.75em;
-  white-space: nowrap; }
-  .tag:not(body) .delete, .content kbd:not(body) .delete, .docstring > section > a.docs-sourcelink:not(body) .delete {
-    margin-left: 0.25rem;
-    margin-right: -0.375rem; }
-  .tag.is-white:not(body), .content kbd.is-white:not(body), .docstring > section > a.docs-sourcelink.is-white:not(body) {
-    background-color: white;
-    color: #0a0a0a; }
-  .tag.is-black:not(body), .content kbd.is-black:not(body), .docstring > section > a.docs-sourcelink.is-black:not(body) {
-    background-color: #0a0a0a;
-    color: white; }
-  .tag.is-light:not(body), .content kbd.is-light:not(body), .docstring > section > a.docs-sourcelink.is-light:not(body) {
-    background-color: whitesmoke;
-    color: #363636; }
-  .tag.is-dark:not(body), .content kbd:not(body), .docstring > section > a.docs-sourcelink.is-dark:not(body), .content .docstring > section > kbd:not(body) {
-    background-color: #363636;
-    color: whitesmoke; }
-  .tag.is-primary:not(body), .content kbd.is-primary:not(body), .docstring > section > a.docs-sourcelink:not(body) {
-    background-color: #4eb5de;
-    color: #fff; }
-  .tag.is-link:not(body), .content kbd.is-link:not(body), .docstring > section > a.docs-sourcelink.is-link:not(body) {
-    background-color: #2e63b8;
-    color: #fff; }
-  .tag.is-info:not(body), .content kbd.is-info:not(body), .docstring > section > a.docs-sourcelink.is-info:not(body) {
-    background-color: #209cee;
-    color: #fff; }
-  .tag.is-success:not(body), .content kbd.is-success:not(body), .docstring > section > a.docs-sourcelink.is-success:not(body) {
-    background-color: #22c35b;
-    color: #fff; }
-  .tag.is-warning:not(body), .content kbd.is-warning:not(body), .docstring > section > a.docs-sourcelink.is-warning:not(body) {
-    background-color: #ffdd57;
-    color: rgba(0, 0, 0, 0.7); }
-  .tag.is-danger:not(body), .content kbd.is-danger:not(body), .docstring > section > a.docs-sourcelink.is-danger:not(body) {
-    background-color: #da0b00;
-    color: #fff; }
-  .tag.is-normal:not(body), .content kbd.is-normal:not(body), .docstring > section > a.docs-sourcelink.is-normal:not(body) {
-    font-size: 0.75rem; }
-  .tag.is-medium:not(body), .content kbd.is-medium:not(body), .docstring > section > a.docs-sourcelink.is-medium:not(body) {
-    font-size: 1rem; }
-  .tag.is-large:not(body), .content kbd.is-large:not(body), .docstring > section > a.docs-sourcelink.is-large:not(body) {
-    font-size: 1.25rem; }
-  .tag:not(body) .icon:first-child:not(:last-child), .content kbd:not(body) .icon:first-child:not(:last-child), .docstring > section > a.docs-sourcelink:not(body) .icon:first-child:not(:last-child) {
-    margin-left: -0.375em;
-    margin-right: 0.1875em; }
-  .tag:not(body) .icon:last-child:not(:first-child), .content kbd:not(body) .icon:last-child:not(:first-child), .docstring > section > a.docs-sourcelink:not(body) .icon:last-child:not(:first-child) {
-    margin-left: 0.1875em;
-    margin-right: -0.375em; }
-  .tag:not(body) .icon:first-child:last-child, .content kbd:not(body) .icon:first-child:last-child, .docstring > section > a.docs-sourcelink:not(body) .icon:first-child:last-child {
-    margin-left: -0.375em;
-    margin-right: -0.375em; }
-  .tag.is-delete:not(body), .content kbd.is-delete:not(body), .docstring > section > a.docs-sourcelink.is-delete:not(body) {
-    margin-left: 1px;
-    padding: 0;
-    position: relative;
-    width: 2em; }
-    .tag.is-delete:not(body)::before, .content kbd.is-delete:not(body)::before, .docstring > section > a.docs-sourcelink.is-delete:not(body)::before, .tag.is-delete:not(body)::after, .content kbd.is-delete:not(body)::after, .docstring > section > a.docs-sourcelink.is-delete:not(body)::after {
-      background-color: currentColor;
-      content: "";
-      display: block;
-      left: 50%;
-      position: absolute;
-      top: 50%;
-      transform: translateX(-50%) translateY(-50%) rotate(45deg);
-      transform-origin: center center; }
-    .tag.is-delete:not(body)::before, .content kbd.is-delete:not(body)::before, .docstring > section > a.docs-sourcelink.is-delete:not(body)::before {
-      height: 1px;
-      width: 50%; }
-    .tag.is-delete:not(body)::after, .content kbd.is-delete:not(body)::after, .docstring > section > a.docs-sourcelink.is-delete:not(body)::after {
-      height: 50%;
-      width: 1px; }
-    .tag.is-delete:not(body):hover, .content kbd.is-delete:not(body):hover, .docstring > section > a.docs-sourcelink.is-delete:not(body):hover, .tag.is-delete:not(body):focus, .content kbd.is-delete:not(body):focus, .docstring > section > a.docs-sourcelink.is-delete:not(body):focus {
-      background-color: #e8e8e8; }
-    .tag.is-delete:not(body):active, .content kbd.is-delete:not(body):active, .docstring > section > a.docs-sourcelink.is-delete:not(body):active {
-      background-color: #dbdbdb; }
-  .tag.is-rounded:not(body), #documenter .docs-sidebar form.docs-search > input:not(body), .content kbd.is-rounded:not(body), #documenter .docs-sidebar .content form.docs-search > input:not(body), .docstring > section > a.docs-sourcelink.is-rounded:not(body) {
-    border-radius: 290486px; }
-
-a.tag:hover, .docstring > section > a.docs-sourcelink:hover {
-  text-decoration: underline; }
-
-.title,
-.subtitle {
-  word-break: break-word; }
-  .title em,
-  .title span,
-  .subtitle em,
-  .subtitle span {
-    font-weight: inherit; }
-  .title sub,
-  .subtitle sub {
-    font-size: 0.75em; }
-  .title sup,
-  .subtitle sup {
-    font-size: 0.75em; }
-  .title .tag, .title .content kbd, .content .title kbd, .title .docstring > section > a.docs-sourcelink,
-  .subtitle .tag,
-  .subtitle .content kbd,
-  .content .subtitle kbd,
-  .subtitle .docstring > section > a.docs-sourcelink {
-    vertical-align: middle; }
-
-.title {
-  color: #363636;
-  font-size: 2rem;
-  font-weight: 600;
-  line-height: 1.125; }
-  .title strong {
-    color: inherit;
-    font-weight: inherit; }
-  .title + .highlight {
-    margin-top: -0.75rem; }
-  .title:not(.is-spaced) + .subtitle {
-    margin-top: -1.25rem; }
-  .title.is-1 {
-    font-size: 3rem; }
-  .title.is-2 {
-    font-size: 2.5rem; }
-  .title.is-3 {
-    font-size: 2rem; }
-  .title.is-4 {
-    font-size: 1.5rem; }
-  .title.is-5 {
-    font-size: 1.25rem; }
-  .title.is-6 {
-    font-size: 1rem; }
-  .title.is-7 {
-    font-size: 0.75rem; }
-
-.subtitle {
-  color: #4a4a4a;
-  font-size: 1.25rem;
-  font-weight: 400;
-  line-height: 1.25; }
-  .subtitle strong {
-    color: #363636;
-    font-weight: 600; }
-  .subtitle:not(.is-spaced) + .title {
-    margin-top: -1.25rem; }
-  .subtitle.is-1 {
-    font-size: 3rem; }
-  .subtitle.is-2 {
-    font-size: 2.5rem; }
-  .subtitle.is-3 {
-    font-size: 2rem; }
-  .subtitle.is-4 {
-    font-size: 1.5rem; }
-  .subtitle.is-5 {
-    font-size: 1.25rem; }
-  .subtitle.is-6 {
-    font-size: 1rem; }
-  .subtitle.is-7 {
-    font-size: 0.75rem; }
-
-.heading {
-  display: block;
-  font-size: 11px;
-  letter-spacing: 1px;
-  margin-bottom: 5px;
-  text-transform: uppercase; }
-
-.highlight {
-  font-weight: 400;
-  max-width: 100%;
-  overflow: hidden;
-  padding: 0; }
-  .highlight pre {
-    overflow: auto;
-    max-width: 100%; }
-
-.number {
-  align-items: center;
-  background-color: whitesmoke;
-  border-radius: 290486px;
-  display: inline-flex;
-  font-size: 1.25rem;
-  height: 2em;
-  justify-content: center;
-  margin-right: 1.5rem;
-  min-width: 2.5em;
-  padding: 0.25rem 0.5rem;
-  text-align: center;
-  vertical-align: top; }
-
-.select select, .textarea, .input, #documenter .docs-sidebar form.docs-search > input {
-  background-color: white;
-  border-color: #dbdbdb;
-  border-radius: 4px;
-  color: #363636; }
-  .select select::-moz-placeholder, .textarea::-moz-placeholder, .input::-moz-placeholder, #documenter .docs-sidebar form.docs-search > input::-moz-placeholder {
-    color: rgba(54, 54, 54, 0.3); }
-  .select select::-webkit-input-placeholder, .textarea::-webkit-input-placeholder, .input::-webkit-input-placeholder, #documenter .docs-sidebar form.docs-search > input::-webkit-input-placeholder {
-    color: rgba(54, 54, 54, 0.3); }
-  .select select:-moz-placeholder, .textarea:-moz-placeholder, .input:-moz-placeholder, #documenter .docs-sidebar form.docs-search > input:-moz-placeholder {
-    color: rgba(54, 54, 54, 0.3); }
-  .select select:-ms-input-placeholder, .textarea:-ms-input-placeholder, .input:-ms-input-placeholder, #documenter .docs-sidebar form.docs-search > input:-ms-input-placeholder {
-    color: rgba(54, 54, 54, 0.3); }
-  .select select:hover, .textarea:hover, .input:hover, #documenter .docs-sidebar form.docs-search > input:hover, .select select.is-hovered, .is-hovered.textarea, .is-hovered.input, #documenter .docs-sidebar form.docs-search > input.is-hovered {
-    border-color: #b5b5b5; }
-  .select select:focus, .textarea:focus, .input:focus, #documenter .docs-sidebar form.docs-search > input:focus, .select select.is-focused, .is-focused.textarea, .is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .select select:active, .textarea:active, .input:active, #documenter .docs-sidebar form.docs-search > input:active, .select select.is-active, .is-active.textarea, .is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active {
-    border-color: #2e63b8;
-    box-shadow: 0 0 0 0.125em rgba(46, 99, 184, 0.25); }
-  .select select[disabled], .textarea[disabled], .input[disabled], #documenter .docs-sidebar form.docs-search > input[disabled], fieldset[disabled] .select select, .select fieldset[disabled] select, fieldset[disabled] .textarea, fieldset[disabled] .input, fieldset[disabled] #documenter .docs-sidebar form.docs-search > input, #documenter .docs-sidebar fieldset[disabled] form.docs-search > input {
-    background-color: whitesmoke;
-    border-color: whitesmoke;
-    box-shadow: none;
-    color: #6b6b6b; }
-    .select select[disabled]::-moz-placeholder, .textarea[disabled]::-moz-placeholder, .input[disabled]::-moz-placeholder, #documenter .docs-sidebar form.docs-search > input[disabled]::-moz-placeholder, fieldset[disabled] .select select::-moz-placeholder, .select fieldset[disabled] select::-moz-placeholder, fieldset[disabled] .textarea::-moz-placeholder, fieldset[disabled] .input::-moz-placeholder, fieldset[disabled] #documenter .docs-sidebar form.docs-search > input::-moz-placeholder, #documenter .docs-sidebar fieldset[disabled] form.docs-search > input::-moz-placeholder {
-      color: rgba(107, 107, 107, 0.3); }
-    .select select[disabled]::-webkit-input-placeholder, .textarea[disabled]::-webkit-input-placeholder, .input[disabled]::-webkit-input-placeholder, #documenter .docs-sidebar form.docs-search > input[disabled]::-webkit-input-placeholder, fieldset[disabled] .select select::-webkit-input-placeholder, .select fieldset[disabled] select::-webkit-input-placeholder, fieldset[disabled] .textarea::-webkit-input-placeholder, fieldset[disabled] .input::-webkit-input-placeholder, fieldset[disabled] #documenter .docs-sidebar form.docs-search > input::-webkit-input-placeholder, #documenter .docs-sidebar fieldset[disabled] form.docs-search > input::-webkit-input-placeholder {
-      color: rgba(107, 107, 107, 0.3); }
-    .select select[disabled]:-moz-placeholder, .textarea[disabled]:-moz-placeholder, .input[disabled]:-moz-placeholder, #documenter .docs-sidebar form.docs-search > input[disabled]:-moz-placeholder, fieldset[disabled] .select select:-moz-placeholder, .select fieldset[disabled] select:-moz-placeholder, fieldset[disabled] .textarea:-moz-placeholder, fieldset[disabled] .input:-moz-placeholder, fieldset[disabled] #documenter .docs-sidebar form.docs-search > input:-moz-placeholder, #documenter .docs-sidebar fieldset[disabled] form.docs-search > input:-moz-placeholder {
-      color: rgba(107, 107, 107, 0.3); }
-    .select select[disabled]:-ms-input-placeholder, .textarea[disabled]:-ms-input-placeholder, .input[disabled]:-ms-input-placeholder, #documenter .docs-sidebar form.docs-search > input[disabled]:-ms-input-placeholder, fieldset[disabled] .select select:-ms-input-placeholder, .select fieldset[disabled] select:-ms-input-placeholder, fieldset[disabled] .textarea:-ms-input-placeholder, fieldset[disabled] .input:-ms-input-placeholder, fieldset[disabled] #documenter .docs-sidebar form.docs-search > input:-ms-input-placeholder, #documenter .docs-sidebar fieldset[disabled] form.docs-search > input:-ms-input-placeholder {
-      color: rgba(107, 107, 107, 0.3); }
-
-.textarea, .input, #documenter .docs-sidebar form.docs-search > input {
-  box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
-  max-width: 100%;
-  width: 100%; }
-  .textarea[readonly], .input[readonly], #documenter .docs-sidebar form.docs-search > input[readonly] {
-    box-shadow: none; }
-  .is-white.textarea, .is-white.input, #documenter .docs-sidebar form.docs-search > input.is-white {
-    border-color: white; }
-    .is-white.textarea:focus, .is-white.input:focus, #documenter .docs-sidebar form.docs-search > input.is-white:focus, .is-white.is-focused.textarea, .is-white.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-white.textarea:active, .is-white.input:active, #documenter .docs-sidebar form.docs-search > input.is-white:active, .is-white.is-active.textarea, .is-white.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active {
-      box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); }
-  .is-black.textarea, .is-black.input, #documenter .docs-sidebar form.docs-search > input.is-black {
-    border-color: #0a0a0a; }
-    .is-black.textarea:focus, .is-black.input:focus, #documenter .docs-sidebar form.docs-search > input.is-black:focus, .is-black.is-focused.textarea, .is-black.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-black.textarea:active, .is-black.input:active, #documenter .docs-sidebar form.docs-search > input.is-black:active, .is-black.is-active.textarea, .is-black.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active {
-      box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); }
-  .is-light.textarea, .is-light.input, #documenter .docs-sidebar form.docs-search > input.is-light {
-    border-color: whitesmoke; }
-    .is-light.textarea:focus, .is-light.input:focus, #documenter .docs-sidebar form.docs-search > input.is-light:focus, .is-light.is-focused.textarea, .is-light.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-light.textarea:active, .is-light.input:active, #documenter .docs-sidebar form.docs-search > input.is-light:active, .is-light.is-active.textarea, .is-light.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active {
-      box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); }
-  .is-dark.textarea, .content kbd.textarea, .is-dark.input, #documenter .docs-sidebar form.docs-search > input.is-dark, .content kbd.input {
-    border-color: #363636; }
-    .is-dark.textarea:focus, .content kbd.textarea:focus, .is-dark.input:focus, #documenter .docs-sidebar form.docs-search > input.is-dark:focus, .content kbd.input:focus, .is-dark.is-focused.textarea, .content kbd.is-focused.textarea, .is-dark.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .content kbd.is-focused.input, #documenter .docs-sidebar .content form.docs-search > input.is-focused, .is-dark.textarea:active, .content kbd.textarea:active, .is-dark.input:active, #documenter .docs-sidebar form.docs-search > input.is-dark:active, .content kbd.input:active, .is-dark.is-active.textarea, .content kbd.is-active.textarea, .is-dark.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active, .content kbd.is-active.input, #documenter .docs-sidebar .content form.docs-search > input.is-active {
-      box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25); }
-  .is-primary.textarea, .docstring > section > a.textarea.docs-sourcelink, .is-primary.input, #documenter .docs-sidebar form.docs-search > input.is-primary, .docstring > section > a.input.docs-sourcelink {
-    border-color: #4eb5de; }
-    .is-primary.textarea:focus, .docstring > section > a.textarea.docs-sourcelink:focus, .is-primary.input:focus, #documenter .docs-sidebar form.docs-search > input.is-primary:focus, .docstring > section > a.input.docs-sourcelink:focus, .is-primary.is-focused.textarea, .docstring > section > a.is-focused.textarea.docs-sourcelink, .is-primary.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .docstring > section > a.is-focused.input.docs-sourcelink, .is-primary.textarea:active, .docstring > section > a.textarea.docs-sourcelink:active, .is-primary.input:active, #documenter .docs-sidebar form.docs-search > input.is-primary:active, .docstring > section > a.input.docs-sourcelink:active, .is-primary.is-active.textarea, .docstring > section > a.is-active.textarea.docs-sourcelink, .is-primary.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active, .docstring > section > a.is-active.input.docs-sourcelink {
-      box-shadow: 0 0 0 0.125em rgba(78, 181, 222, 0.25); }
-  .is-link.textarea, .is-link.input, #documenter .docs-sidebar form.docs-search > input.is-link {
-    border-color: #2e63b8; }
-    .is-link.textarea:focus, .is-link.input:focus, #documenter .docs-sidebar form.docs-search > input.is-link:focus, .is-link.is-focused.textarea, .is-link.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-link.textarea:active, .is-link.input:active, #documenter .docs-sidebar form.docs-search > input.is-link:active, .is-link.is-active.textarea, .is-link.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active {
-      box-shadow: 0 0 0 0.125em rgba(46, 99, 184, 0.25); }
-  .is-info.textarea, .is-info.input, #documenter .docs-sidebar form.docs-search > input.is-info {
-    border-color: #209cee; }
-    .is-info.textarea:focus, .is-info.input:focus, #documenter .docs-sidebar form.docs-search > input.is-info:focus, .is-info.is-focused.textarea, .is-info.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-info.textarea:active, .is-info.input:active, #documenter .docs-sidebar form.docs-search > input.is-info:active, .is-info.is-active.textarea, .is-info.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active {
-      box-shadow: 0 0 0 0.125em rgba(32, 156, 238, 0.25); }
-  .is-success.textarea, .is-success.input, #documenter .docs-sidebar form.docs-search > input.is-success {
-    border-color: #22c35b; }
-    .is-success.textarea:focus, .is-success.input:focus, #documenter .docs-sidebar form.docs-search > input.is-success:focus, .is-success.is-focused.textarea, .is-success.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-success.textarea:active, .is-success.input:active, #documenter .docs-sidebar form.docs-search > input.is-success:active, .is-success.is-active.textarea, .is-success.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active {
-      box-shadow: 0 0 0 0.125em rgba(34, 195, 91, 0.25); }
-  .is-warning.textarea, .is-warning.input, #documenter .docs-sidebar form.docs-search > input.is-warning {
-    border-color: #ffdd57; }
-    .is-warning.textarea:focus, .is-warning.input:focus, #documenter .docs-sidebar form.docs-search > input.is-warning:focus, .is-warning.is-focused.textarea, .is-warning.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-warning.textarea:active, .is-warning.input:active, #documenter .docs-sidebar form.docs-search > input.is-warning:active, .is-warning.is-active.textarea, .is-warning.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active {
-      box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25); }
-  .is-danger.textarea, .is-danger.input, #documenter .docs-sidebar form.docs-search > input.is-danger {
-    border-color: #da0b00; }
-    .is-danger.textarea:focus, .is-danger.input:focus, #documenter .docs-sidebar form.docs-search > input.is-danger:focus, .is-danger.is-focused.textarea, .is-danger.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-danger.textarea:active, .is-danger.input:active, #documenter .docs-sidebar form.docs-search > input.is-danger:active, .is-danger.is-active.textarea, .is-danger.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active {
-      box-shadow: 0 0 0 0.125em rgba(218, 11, 0, 0.25); }
-  .is-small.textarea, .is-small.input, #documenter .docs-sidebar form.docs-search > input {
-    border-radius: 2px;
-    font-size: 0.75rem; }
-  .is-medium.textarea, .is-medium.input, #documenter .docs-sidebar form.docs-search > input.is-medium {
-    font-size: 1.25rem; }
-  .is-large.textarea, .is-large.input, #documenter .docs-sidebar form.docs-search > input.is-large {
-    font-size: 1.5rem; }
-  .is-fullwidth.textarea, .is-fullwidth.input, #documenter .docs-sidebar form.docs-search > input.is-fullwidth {
-    display: block;
-    width: 100%; }
-  .is-inline.textarea, .is-inline.input, #documenter .docs-sidebar form.docs-search > input.is-inline {
-    display: inline;
-    width: auto; }
-
-.input.is-rounded, #documenter .docs-sidebar form.docs-search > input {
-  border-radius: 290486px;
-  padding-left: 1em;
-  padding-right: 1em; }
-
-.input.is-static, #documenter .docs-sidebar form.docs-search > input.is-static {
-  background-color: transparent;
-  border-color: transparent;
-  box-shadow: none;
-  padding-left: 0;
-  padding-right: 0; }
-
-.textarea {
-  display: block;
-  max-width: 100%;
-  min-width: 100%;
-  padding: 0.625em;
-  resize: vertical; }
-  .textarea:not([rows]) {
-    max-height: 600px;
-    min-height: 120px; }
-  .textarea[rows] {
-    height: initial; }
-  .textarea.has-fixed-size {
-    resize: none; }
-
-.radio, .checkbox {
-  cursor: pointer;
-  display: inline-block;
-  line-height: 1.25;
-  position: relative; }
-  .radio input, .checkbox input {
-    cursor: pointer; }
-  .radio:hover, .checkbox:hover {
-    color: #363636; }
-  .radio[disabled], .checkbox[disabled], fieldset[disabled] .radio, fieldset[disabled] .checkbox {
-    color: #6b6b6b;
-    cursor: not-allowed; }
-
-.radio + .radio {
-  margin-left: 0.5em; }
-
-.select {
-  display: inline-block;
-  max-width: 100%;
-  position: relative;
-  vertical-align: top; }
-  .select:not(.is-multiple) {
-    height: 2.25em; }
-  .select:not(.is-multiple):not(.is-loading)::after {
-    border-color: #2e63b8;
-    right: 1.125em;
-    z-index: 4; }
-  .select.is-rounded select, #documenter .docs-sidebar form.docs-search > input.select select {
-    border-radius: 290486px;
-    padding-left: 1em; }
-  .select select {
-    cursor: pointer;
-    display: block;
-    font-size: 1em;
-    max-width: 100%;
-    outline: none; }
-    .select select::-ms-expand {
-      display: none; }
-    .select select[disabled]:hover, fieldset[disabled] .select select:hover {
-      border-color: whitesmoke; }
-    .select select:not([multiple]) {
-      padding-right: 2.5em; }
-    .select select[multiple] {
-      height: auto;
-      padding: 0; }
-      .select select[multiple] option {
-        padding: 0.5em 1em; }
-  .select:not(.is-multiple):not(.is-loading):hover::after {
-    border-color: #363636; }
-  .select.is-white:not(:hover)::after {
-    border-color: white; }
-  .select.is-white select {
-    border-color: white; }
-    .select.is-white select:hover, .select.is-white select.is-hovered {
-      border-color: #f2f2f2; }
-    .select.is-white select:focus, .select.is-white select.is-focused, .select.is-white select:active, .select.is-white select.is-active {
-      box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); }
-  .select.is-black:not(:hover)::after {
-    border-color: #0a0a0a; }
-  .select.is-black select {
-    border-color: #0a0a0a; }
-    .select.is-black select:hover, .select.is-black select.is-hovered {
-      border-color: black; }
-    .select.is-black select:focus, .select.is-black select.is-focused, .select.is-black select:active, .select.is-black select.is-active {
-      box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); }
-  .select.is-light:not(:hover)::after {
-    border-color: whitesmoke; }
-  .select.is-light select {
-    border-color: whitesmoke; }
-    .select.is-light select:hover, .select.is-light select.is-hovered {
-      border-color: #e8e8e8; }
-    .select.is-light select:focus, .select.is-light select.is-focused, .select.is-light select:active, .select.is-light select.is-active {
-      box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); }
-  .select.is-dark:not(:hover)::after, .content kbd.select:not(:hover)::after {
-    border-color: #363636; }
-  .select.is-dark select, .content kbd.select select {
-    border-color: #363636; }
-    .select.is-dark select:hover, .content kbd.select select:hover, .select.is-dark select.is-hovered, .content kbd.select select.is-hovered {
-      border-color: #292929; }
-    .select.is-dark select:focus, .content kbd.select select:focus, .select.is-dark select.is-focused, .content kbd.select select.is-focused, .select.is-dark select:active, .content kbd.select select:active, .select.is-dark select.is-active, .content kbd.select select.is-active {
-      box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25); }
-  .select.is-primary:not(:hover)::after, .docstring > section > a.select.docs-sourcelink:not(:hover)::after {
-    border-color: #4eb5de; }
-  .select.is-primary select, .docstring > section > a.select.docs-sourcelink select {
-    border-color: #4eb5de; }
-    .select.is-primary select:hover, .docstring > section > a.select.docs-sourcelink select:hover, .select.is-primary select.is-hovered, .docstring > section > a.select.docs-sourcelink select.is-hovered {
-      border-color: #39acda; }
-    .select.is-primary select:focus, .docstring > section > a.select.docs-sourcelink select:focus, .select.is-primary select.is-focused, .docstring > section > a.select.docs-sourcelink select.is-focused, .select.is-primary select:active, .docstring > section > a.select.docs-sourcelink select:active, .select.is-primary select.is-active, .docstring > section > a.select.docs-sourcelink select.is-active {
-      box-shadow: 0 0 0 0.125em rgba(78, 181, 222, 0.25); }
-  .select.is-link:not(:hover)::after {
-    border-color: #2e63b8; }
-  .select.is-link select {
-    border-color: #2e63b8; }
-    .select.is-link select:hover, .select.is-link select.is-hovered {
-      border-color: #2958a4; }
-    .select.is-link select:focus, .select.is-link select.is-focused, .select.is-link select:active, .select.is-link select.is-active {
-      box-shadow: 0 0 0 0.125em rgba(46, 99, 184, 0.25); }
-  .select.is-info:not(:hover)::after {
-    border-color: #209cee; }
-  .select.is-info select {
-    border-color: #209cee; }
-    .select.is-info select:hover, .select.is-info select.is-hovered {
-      border-color: #1190e3; }
-    .select.is-info select:focus, .select.is-info select.is-focused, .select.is-info select:active, .select.is-info select.is-active {
-      box-shadow: 0 0 0 0.125em rgba(32, 156, 238, 0.25); }
-  .select.is-success:not(:hover)::after {
-    border-color: #22c35b; }
-  .select.is-success select {
-    border-color: #22c35b; }
-    .select.is-success select:hover, .select.is-success select.is-hovered {
-      border-color: #1ead51; }
-    .select.is-success select:focus, .select.is-success select.is-focused, .select.is-success select:active, .select.is-success select.is-active {
-      box-shadow: 0 0 0 0.125em rgba(34, 195, 91, 0.25); }
-  .select.is-warning:not(:hover)::after {
-    border-color: #ffdd57; }
-  .select.is-warning select {
-    border-color: #ffdd57; }
-    .select.is-warning select:hover, .select.is-warning select.is-hovered {
-      border-color: #ffd83e; }
-    .select.is-warning select:focus, .select.is-warning select.is-focused, .select.is-warning select:active, .select.is-warning select.is-active {
-      box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25); }
-  .select.is-danger:not(:hover)::after {
-    border-color: #da0b00; }
-  .select.is-danger select {
-    border-color: #da0b00; }
-    .select.is-danger select:hover, .select.is-danger select.is-hovered {
-      border-color: #c10a00; }
-    .select.is-danger select:focus, .select.is-danger select.is-focused, .select.is-danger select:active, .select.is-danger select.is-active {
-      box-shadow: 0 0 0 0.125em rgba(218, 11, 0, 0.25); }
-  .select.is-small, #documenter .docs-sidebar form.docs-search > input.select {
-    border-radius: 2px;
-    font-size: 0.75rem; }
-  .select.is-medium {
-    font-size: 1.25rem; }
-  .select.is-large {
-    font-size: 1.5rem; }
-  .select.is-disabled::after {
-    border-color: #6b6b6b; }
-  .select.is-fullwidth {
-    width: 100%; }
-    .select.is-fullwidth select {
-      width: 100%; }
-  .select.is-loading::after {
-    margin-top: 0;
-    position: absolute;
-    right: 0.625em;
-    top: 0.625em;
-    transform: none; }
-  .select.is-loading.is-small:after, #documenter .docs-sidebar form.docs-search > input.is-loading:after {
-    font-size: 0.75rem; }
-  .select.is-loading.is-medium:after {
-    font-size: 1.25rem; }
-  .select.is-loading.is-large:after {
-    font-size: 1.5rem; }
-
-.file {
-  align-items: stretch;
-  display: flex;
-  justify-content: flex-start;
-  position: relative; }
-  .file.is-white .file-cta {
-    background-color: white;
-    border-color: transparent;
-    color: #0a0a0a; }
-  .file.is-white:hover .file-cta, .file.is-white.is-hovered .file-cta {
-    background-color: #f9f9f9;
-    border-color: transparent;
-    color: #0a0a0a; }
-  .file.is-white:focus .file-cta, .file.is-white.is-focused .file-cta {
-    border-color: transparent;
-    box-shadow: 0 0 0.5em rgba(255, 255, 255, 0.25);
-    color: #0a0a0a; }
-  .file.is-white:active .file-cta, .file.is-white.is-active .file-cta {
-    background-color: #f2f2f2;
-    border-color: transparent;
-    color: #0a0a0a; }
-  .file.is-black .file-cta {
-    background-color: #0a0a0a;
-    border-color: transparent;
-    color: white; }
-  .file.is-black:hover .file-cta, .file.is-black.is-hovered .file-cta {
-    background-color: #040404;
-    border-color: transparent;
-    color: white; }
-  .file.is-black:focus .file-cta, .file.is-black.is-focused .file-cta {
-    border-color: transparent;
-    box-shadow: 0 0 0.5em rgba(10, 10, 10, 0.25);
-    color: white; }
-  .file.is-black:active .file-cta, .file.is-black.is-active .file-cta {
-    background-color: black;
-    border-color: transparent;
-    color: white; }
-  .file.is-light .file-cta {
-    background-color: whitesmoke;
-    border-color: transparent;
-    color: #363636; }
-  .file.is-light:hover .file-cta, .file.is-light.is-hovered .file-cta {
-    background-color: #eeeeee;
-    border-color: transparent;
-    color: #363636; }
-  .file.is-light:focus .file-cta, .file.is-light.is-focused .file-cta {
-    border-color: transparent;
-    box-shadow: 0 0 0.5em rgba(245, 245, 245, 0.25);
-    color: #363636; }
-  .file.is-light:active .file-cta, .file.is-light.is-active .file-cta {
-    background-color: #e8e8e8;
-    border-color: transparent;
-    color: #363636; }
-  .file.is-dark .file-cta, .content kbd.file .file-cta {
-    background-color: #363636;
-    border-color: transparent;
-    color: whitesmoke; }
-  .file.is-dark:hover .file-cta, .content kbd.file:hover .file-cta, .file.is-dark.is-hovered .file-cta, .content kbd.file.is-hovered .file-cta {
-    background-color: #2f2f2f;
-    border-color: transparent;
-    color: whitesmoke; }
-  .file.is-dark:focus .file-cta, .content kbd.file:focus .file-cta, .file.is-dark.is-focused .file-cta, .content kbd.file.is-focused .file-cta {
-    border-color: transparent;
-    box-shadow: 0 0 0.5em rgba(54, 54, 54, 0.25);
-    color: whitesmoke; }
-  .file.is-dark:active .file-cta, .content kbd.file:active .file-cta, .file.is-dark.is-active .file-cta, .content kbd.file.is-active .file-cta {
-    background-color: #292929;
-    border-color: transparent;
-    color: whitesmoke; }
-  .file.is-primary .file-cta, .docstring > section > a.file.docs-sourcelink .file-cta {
-    background-color: #4eb5de;
-    border-color: transparent;
-    color: #fff; }
-  .file.is-primary:hover .file-cta, .docstring > section > a.file.docs-sourcelink:hover .file-cta, .file.is-primary.is-hovered .file-cta, .docstring > section > a.file.is-hovered.docs-sourcelink .file-cta {
-    background-color: #43b1dc;
-    border-color: transparent;
-    color: #fff; }
-  .file.is-primary:focus .file-cta, .docstring > section > a.file.docs-sourcelink:focus .file-cta, .file.is-primary.is-focused .file-cta, .docstring > section > a.file.is-focused.docs-sourcelink .file-cta {
-    border-color: transparent;
-    box-shadow: 0 0 0.5em rgba(78, 181, 222, 0.25);
-    color: #fff; }
-  .file.is-primary:active .file-cta, .docstring > section > a.file.docs-sourcelink:active .file-cta, .file.is-primary.is-active .file-cta, .docstring > section > a.file.is-active.docs-sourcelink .file-cta {
-    background-color: #39acda;
-    border-color: transparent;
-    color: #fff; }
-  .file.is-link .file-cta {
-    background-color: #2e63b8;
-    border-color: transparent;
-    color: #fff; }
-  .file.is-link:hover .file-cta, .file.is-link.is-hovered .file-cta {
-    background-color: #2b5eae;
-    border-color: transparent;
-    color: #fff; }
-  .file.is-link:focus .file-cta, .file.is-link.is-focused .file-cta {
-    border-color: transparent;
-    box-shadow: 0 0 0.5em rgba(46, 99, 184, 0.25);
-    color: #fff; }
-  .file.is-link:active .file-cta, .file.is-link.is-active .file-cta {
-    background-color: #2958a4;
-    border-color: transparent;
-    color: #fff; }
-  .file.is-info .file-cta {
-    background-color: #209cee;
-    border-color: transparent;
-    color: #fff; }
-  .file.is-info:hover .file-cta, .file.is-info.is-hovered .file-cta {
-    background-color: #1497ed;
-    border-color: transparent;
-    color: #fff; }
-  .file.is-info:focus .file-cta, .file.is-info.is-focused .file-cta {
-    border-color: transparent;
-    box-shadow: 0 0 0.5em rgba(32, 156, 238, 0.25);
-    color: #fff; }
-  .file.is-info:active .file-cta, .file.is-info.is-active .file-cta {
-    background-color: #1190e3;
-    border-color: transparent;
-    color: #fff; }
-  .file.is-success .file-cta {
-    background-color: #22c35b;
-    border-color: transparent;
-    color: #fff; }
-  .file.is-success:hover .file-cta, .file.is-success.is-hovered .file-cta {
-    background-color: #20b856;
-    border-color: transparent;
-    color: #fff; }
-  .file.is-success:focus .file-cta, .file.is-success.is-focused .file-cta {
-    border-color: transparent;
-    box-shadow: 0 0 0.5em rgba(34, 195, 91, 0.25);
-    color: #fff; }
-  .file.is-success:active .file-cta, .file.is-success.is-active .file-cta {
-    background-color: #1ead51;
-    border-color: transparent;
-    color: #fff; }
-  .file.is-warning .file-cta {
-    background-color: #ffdd57;
-    border-color: transparent;
-    color: rgba(0, 0, 0, 0.7); }
-  .file.is-warning:hover .file-cta, .file.is-warning.is-hovered .file-cta {
-    background-color: #ffda4a;
-    border-color: transparent;
-    color: rgba(0, 0, 0, 0.7); }
-  .file.is-warning:focus .file-cta, .file.is-warning.is-focused .file-cta {
-    border-color: transparent;
-    box-shadow: 0 0 0.5em rgba(255, 221, 87, 0.25);
-    color: rgba(0, 0, 0, 0.7); }
-  .file.is-warning:active .file-cta, .file.is-warning.is-active .file-cta {
-    background-color: #ffd83e;
-    border-color: transparent;
-    color: rgba(0, 0, 0, 0.7); }
-  .file.is-danger .file-cta {
-    background-color: #da0b00;
-    border-color: transparent;
-    color: #fff; }
-  .file.is-danger:hover .file-cta, .file.is-danger.is-hovered .file-cta {
-    background-color: #cd0a00;
-    border-color: transparent;
-    color: #fff; }
-  .file.is-danger:focus .file-cta, .file.is-danger.is-focused .file-cta {
-    border-color: transparent;
-    box-shadow: 0 0 0.5em rgba(218, 11, 0, 0.25);
-    color: #fff; }
-  .file.is-danger:active .file-cta, .file.is-danger.is-active .file-cta {
-    background-color: #c10a00;
-    border-color: transparent;
-    color: #fff; }
-  .file.is-small, #documenter .docs-sidebar form.docs-search > input.file {
-    font-size: 0.75rem; }
-  .file.is-medium {
-    font-size: 1.25rem; }
-    .file.is-medium .file-icon .fa {
-      font-size: 21px; }
-  .file.is-large {
-    font-size: 1.5rem; }
-    .file.is-large .file-icon .fa {
-      font-size: 28px; }
-  .file.has-name .file-cta {
-    border-bottom-right-radius: 0;
-    border-top-right-radius: 0; }
-  .file.has-name .file-name {
-    border-bottom-left-radius: 0;
-    border-top-left-radius: 0; }
-  .file.has-name.is-empty .file-cta {
-    border-radius: 4px; }
-  .file.has-name.is-empty .file-name {
-    display: none; }
-  .file.is-boxed .file-label {
-    flex-direction: column; }
-  .file.is-boxed .file-cta {
-    flex-direction: column;
-    height: auto;
-    padding: 1em 3em; }
-  .file.is-boxed .file-name {
-    border-width: 0 1px 1px; }
-  .file.is-boxed .file-icon {
-    height: 1.5em;
-    width: 1.5em; }
-    .file.is-boxed .file-icon .fa {
-      font-size: 21px; }
-  .file.is-boxed.is-small .file-icon .fa, #documenter .docs-sidebar form.docs-search > input.is-boxed .file-icon .fa {
-    font-size: 14px; }
-  .file.is-boxed.is-medium .file-icon .fa {
-    font-size: 28px; }
-  .file.is-boxed.is-large .file-icon .fa {
-    font-size: 35px; }
-  .file.is-boxed.has-name .file-cta {
-    border-radius: 4px 4px 0 0; }
-  .file.is-boxed.has-name .file-name {
-    border-radius: 0 0 4px 4px;
-    border-width: 0 1px 1px; }
-  .file.is-centered {
-    justify-content: center; }
-  .file.is-fullwidth .file-label {
-    width: 100%; }
-  .file.is-fullwidth .file-name {
-    flex-grow: 1;
-    max-width: none; }
-  .file.is-right {
-    justify-content: flex-end; }
-    .file.is-right .file-cta {
-      border-radius: 0 4px 4px 0; }
-    .file.is-right .file-name {
-      border-radius: 4px 0 0 4px;
-      border-width: 1px 0 1px 1px;
-      order: -1; }
-
-.file-label {
-  align-items: stretch;
-  display: flex;
-  cursor: pointer;
-  justify-content: flex-start;
-  overflow: hidden;
-  position: relative; }
-  .file-label:hover .file-cta {
-    background-color: #eeeeee;
-    color: #363636; }
-  .file-label:hover .file-name {
-    border-color: #d5d5d5; }
-  .file-label:active .file-cta {
-    background-color: #e8e8e8;
-    color: #363636; }
-  .file-label:active .file-name {
-    border-color: #cfcfcf; }
-
-.file-input {
-  height: 100%;
-  left: 0;
-  opacity: 0;
-  outline: none;
-  position: absolute;
-  top: 0;
-  width: 100%; }
-
-.file-cta,
-.file-name {
-  border-color: #dbdbdb;
-  border-radius: 4px;
-  font-size: 1em;
-  padding-left: 1em;
-  padding-right: 1em;
-  white-space: nowrap; }
-
-.file-cta {
-  background-color: whitesmoke;
-  color: #4a4a4a; }
-
-.file-name {
-  border-color: #dbdbdb;
-  border-style: solid;
-  border-width: 1px 1px 1px 0;
-  display: block;
-  max-width: 16em;
-  overflow: hidden;
-  text-align: left;
-  text-overflow: ellipsis; }
-
-.file-icon {
-  align-items: center;
-  display: flex;
-  height: 1em;
-  justify-content: center;
-  margin-right: 0.5em;
-  width: 1em; }
-  .file-icon .fa {
-    font-size: 14px; }
-
-.label {
-  color: #363636;
-  display: block;
-  font-size: 1rem;
-  font-weight: 700; }
-  .label:not(:last-child) {
-    margin-bottom: 0.5em; }
-  .label.is-small, #documenter .docs-sidebar form.docs-search > input.label {
-    font-size: 0.75rem; }
-  .label.is-medium {
-    font-size: 1.25rem; }
-  .label.is-large {
-    font-size: 1.5rem; }
-
-.help {
-  display: block;
-  font-size: 0.75rem;
-  margin-top: 0.25rem; }
-  .help.is-white {
-    color: white; }
-  .help.is-black {
-    color: #0a0a0a; }
-  .help.is-light {
-    color: whitesmoke; }
-  .help.is-dark, .content kbd.help {
-    color: #363636; }
-  .help.is-primary, .docstring > section > a.help.docs-sourcelink {
-    color: #4eb5de; }
-  .help.is-link {
-    color: #2e63b8; }
-  .help.is-info {
-    color: #209cee; }
-  .help.is-success {
-    color: #22c35b; }
-  .help.is-warning {
-    color: #ffdd57; }
-  .help.is-danger {
-    color: #da0b00; }
-
-.field:not(:last-child) {
-  margin-bottom: 0.75rem; }
-
-.field.has-addons {
-  display: flex;
-  justify-content: flex-start; }
-  .field.has-addons .control:not(:last-child) {
-    margin-right: -1px; }
-  .field.has-addons .control:not(:first-child):not(:last-child) .button,
-  .field.has-addons .control:not(:first-child):not(:last-child) .input,
-  .field.has-addons .control:not(:first-child):not(:last-child) #documenter .docs-sidebar form.docs-search > input,
-  #documenter .docs-sidebar .field.has-addons .control:not(:first-child):not(:last-child) form.docs-search > input,
-  .field.has-addons .control:not(:first-child):not(:last-child) .select select {
-    border-radius: 0; }
-  .field.has-addons .control:first-child:not(:only-child) .button,
-  .field.has-addons .control:first-child:not(:only-child) .input,
-  .field.has-addons .control:first-child:not(:only-child) #documenter .docs-sidebar form.docs-search > input,
-  #documenter .docs-sidebar .field.has-addons .control:first-child:not(:only-child) form.docs-search > input,
-  .field.has-addons .control:first-child:not(:only-child) .select select {
-    border-bottom-right-radius: 0;
-    border-top-right-radius: 0; }
-  .field.has-addons .control:last-child:not(:only-child) .button,
-  .field.has-addons .control:last-child:not(:only-child) .input,
-  .field.has-addons .control:last-child:not(:only-child) #documenter .docs-sidebar form.docs-search > input,
-  #documenter .docs-sidebar .field.has-addons .control:last-child:not(:only-child) form.docs-search > input,
-  .field.has-addons .control:last-child:not(:only-child) .select select {
-    border-bottom-left-radius: 0;
-    border-top-left-radius: 0; }
-  .field.has-addons .control .button:not([disabled]):hover, .field.has-addons .control .button.is-hovered:not([disabled]),
-  .field.has-addons .control .input:not([disabled]):hover,
-  .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):hover,
-  #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):hover,
-  .field.has-addons .control .input.is-hovered:not([disabled]),
-  .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-hovered:not([disabled]),
-  #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-hovered:not([disabled]),
-  .field.has-addons .control .select select:not([disabled]):hover,
-  .field.has-addons .control .select select.is-hovered:not([disabled]) {
-    z-index: 2; }
-  .field.has-addons .control .button:not([disabled]):focus, .field.has-addons .control .button.is-focused:not([disabled]), .field.has-addons .control .button:not([disabled]):active, .field.has-addons .control .button.is-active:not([disabled]),
-  .field.has-addons .control .input:not([disabled]):focus,
-  .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):focus,
-  #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):focus,
-  .field.has-addons .control .input.is-focused:not([disabled]),
-  .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-focused:not([disabled]),
-  #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-focused:not([disabled]),
-  .field.has-addons .control .input:not([disabled]):active,
-  .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):active,
-  #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):active,
-  .field.has-addons .control .input.is-active:not([disabled]),
-  .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-active:not([disabled]),
-  #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-active:not([disabled]),
-  .field.has-addons .control .select select:not([disabled]):focus,
-  .field.has-addons .control .select select.is-focused:not([disabled]),
-  .field.has-addons .control .select select:not([disabled]):active,
-  .field.has-addons .control .select select.is-active:not([disabled]) {
-    z-index: 3; }
-    .field.has-addons .control .button:not([disabled]):focus:hover, .field.has-addons .control .button.is-focused:not([disabled]):hover, .field.has-addons .control .button:not([disabled]):active:hover, .field.has-addons .control .button.is-active:not([disabled]):hover,
-    .field.has-addons .control .input:not([disabled]):focus:hover,
-    .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):focus:hover,
-    #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):focus:hover,
-    .field.has-addons .control .input.is-focused:not([disabled]):hover,
-    .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-focused:not([disabled]):hover,
-    #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-focused:not([disabled]):hover,
-    .field.has-addons .control .input:not([disabled]):active:hover,
-    .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):active:hover,
-    #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):active:hover,
-    .field.has-addons .control .input.is-active:not([disabled]):hover,
-    .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-active:not([disabled]):hover,
-    #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-active:not([disabled]):hover,
-    .field.has-addons .control .select select:not([disabled]):focus:hover,
-    .field.has-addons .control .select select.is-focused:not([disabled]):hover,
-    .field.has-addons .control .select select:not([disabled]):active:hover,
-    .field.has-addons .control .select select.is-active:not([disabled]):hover {
-      z-index: 4; }
-  .field.has-addons .control.is-expanded {
-    flex-grow: 1;
-    flex-shrink: 1; }
-  .field.has-addons.has-addons-centered {
-    justify-content: center; }
-  .field.has-addons.has-addons-right {
-    justify-content: flex-end; }
-  .field.has-addons.has-addons-fullwidth .control {
-    flex-grow: 1;
-    flex-shrink: 0; }
-
-.field.is-grouped {
-  display: flex;
-  justify-content: flex-start; }
-  .field.is-grouped > .control {
-    flex-shrink: 0; }
-    .field.is-grouped > .control:not(:last-child) {
-      margin-bottom: 0;
-      margin-right: 0.75rem; }
-    .field.is-grouped > .control.is-expanded {
-      flex-grow: 1;
-      flex-shrink: 1; }
-  .field.is-grouped.is-grouped-centered {
-    justify-content: center; }
-  .field.is-grouped.is-grouped-right {
-    justify-content: flex-end; }
-  .field.is-grouped.is-grouped-multiline {
-    flex-wrap: wrap; }
-    .field.is-grouped.is-grouped-multiline > .control:last-child, .field.is-grouped.is-grouped-multiline > .control:not(:last-child) {
-      margin-bottom: 0.75rem; }
-    .field.is-grouped.is-grouped-multiline:last-child {
-      margin-bottom: -0.75rem; }
-    .field.is-grouped.is-grouped-multiline:not(:last-child) {
-      margin-bottom: 0; }
-
-@media screen and (min-width: 769px), print {
-  .field.is-horizontal {
-    display: flex; } }
-
-.field-label .label {
-  font-size: inherit; }
-
-@media screen and (max-width: 768px) {
-  .field-label {
-    margin-bottom: 0.5rem; } }
-
-@media screen and (min-width: 769px), print {
-  .field-label {
-    flex-basis: 0;
-    flex-grow: 1;
-    flex-shrink: 0;
-    margin-right: 1.5rem;
-    text-align: right; }
-    .field-label.is-small, #documenter .docs-sidebar form.docs-search > input.field-label {
-      font-size: 0.75rem;
-      padding-top: 0.375em; }
-    .field-label.is-normal {
-      padding-top: 0.375em; }
-    .field-label.is-medium {
-      font-size: 1.25rem;
-      padding-top: 0.375em; }
-    .field-label.is-large {
-      font-size: 1.5rem;
-      padding-top: 0.375em; } }
-
-.field-body .field .field {
-  margin-bottom: 0; }
-
-@media screen and (min-width: 769px), print {
-  .field-body {
-    display: flex;
-    flex-basis: 0;
-    flex-grow: 5;
-    flex-shrink: 1; }
-    .field-body .field {
-      margin-bottom: 0; }
-    .field-body > .field {
-      flex-shrink: 1; }
-      .field-body > .field:not(.is-narrow) {
-        flex-grow: 1; }
-      .field-body > .field:not(:last-child) {
-        margin-right: 0.75rem; } }
-
-.control {
-  box-sizing: border-box;
-  clear: both;
-  font-size: 1rem;
-  position: relative;
-  text-align: left; }
-  .control.has-icons-left .input:focus ~ .icon, .control.has-icons-left #documenter .docs-sidebar form.docs-search > input:focus ~ .icon, #documenter .docs-sidebar .control.has-icons-left form.docs-search > input:focus ~ .icon,
-  .control.has-icons-left .select:focus ~ .icon, .control.has-icons-right .input:focus ~ .icon, .control.has-icons-right #documenter .docs-sidebar form.docs-search > input:focus ~ .icon, #documenter .docs-sidebar .control.has-icons-right form.docs-search > input:focus ~ .icon,
-  .control.has-icons-right .select:focus ~ .icon {
-    color: #6b6b6b; }
-  .control.has-icons-left .input.is-small ~ .icon, .control.has-icons-left #documenter .docs-sidebar form.docs-search > input ~ .icon, #documenter .docs-sidebar .control.has-icons-left form.docs-search > input ~ .icon,
-  .control.has-icons-left .select.is-small ~ .icon, .control.has-icons-right .input.is-small ~ .icon, .control.has-icons-right #documenter .docs-sidebar form.docs-search > input ~ .icon, #documenter .docs-sidebar .control.has-icons-right form.docs-search > input ~ .icon,
-  .control.has-icons-right .select.is-small ~ .icon {
-    font-size: 0.75rem; }
-  .control.has-icons-left .input.is-medium ~ .icon, .control.has-icons-left #documenter .docs-sidebar form.docs-search > input.is-medium ~ .icon, #documenter .docs-sidebar .control.has-icons-left form.docs-search > input.is-medium ~ .icon,
-  .control.has-icons-left .select.is-medium ~ .icon, .control.has-icons-right .input.is-medium ~ .icon, .control.has-icons-right #documenter .docs-sidebar form.docs-search > input.is-medium ~ .icon, #documenter .docs-sidebar .control.has-icons-right form.docs-search > input.is-medium ~ .icon,
-  .control.has-icons-right .select.is-medium ~ .icon {
-    font-size: 1.25rem; }
-  .control.has-icons-left .input.is-large ~ .icon, .control.has-icons-left #documenter .docs-sidebar form.docs-search > input.is-large ~ .icon, #documenter .docs-sidebar .control.has-icons-left form.docs-search > input.is-large ~ .icon,
-  .control.has-icons-left .select.is-large ~ .icon, .control.has-icons-right .input.is-large ~ .icon, .control.has-icons-right #documenter .docs-sidebar form.docs-search > input.is-large ~ .icon, #documenter .docs-sidebar .control.has-icons-right form.docs-search > input.is-large ~ .icon,
-  .control.has-icons-right .select.is-large ~ .icon {
-    font-size: 1.5rem; }
-  .control.has-icons-left .icon, .control.has-icons-right .icon {
-    color: #dbdbdb;
-    height: 2.25em;
-    pointer-events: none;
-    position: absolute;
-    top: 0;
-    width: 2.25em;
-    z-index: 4; }
-  .control.has-icons-left .input, .control.has-icons-left #documenter .docs-sidebar form.docs-search > input, #documenter .docs-sidebar .control.has-icons-left form.docs-search > input,
-  .control.has-icons-left .select select {
-    padding-left: 2.25em; }
-  .control.has-icons-left .icon.is-left {
-    left: 0; }
-  .control.has-icons-right .input, .control.has-icons-right #documenter .docs-sidebar form.docs-search > input, #documenter .docs-sidebar .control.has-icons-right form.docs-search > input,
-  .control.has-icons-right .select select {
-    padding-right: 2.25em; }
-  .control.has-icons-right .icon.is-right {
-    right: 0; }
-  .control.is-loading::after {
-    position: absolute !important;
-    right: 0.625em;
-    top: 0.625em;
-    z-index: 4; }
-  .control.is-loading.is-small:after, #documenter .docs-sidebar form.docs-search > input.is-loading:after {
-    font-size: 0.75rem; }
-  .control.is-loading.is-medium:after {
-    font-size: 1.25rem; }
-  .control.is-loading.is-large:after {
-    font-size: 1.5rem; }
-
-.breadcrumb {
-  font-size: 1rem;
-  white-space: nowrap; }
-  .breadcrumb a {
-    align-items: center;
-    color: #2e63b8;
-    display: flex;
-    justify-content: center;
-    padding: 0 0.75em; }
-    .breadcrumb a:hover {
-      color: #363636; }
-  .breadcrumb li {
-    align-items: center;
-    display: flex; }
-    .breadcrumb li:first-child a {
-      padding-left: 0; }
-    .breadcrumb li.is-active a {
-      color: #222222;
-      cursor: default;
-      pointer-events: none; }
-    .breadcrumb li + li::before {
-      color: #b5b5b5;
-      content: "\0002f"; }
-  .breadcrumb ul,
-  .breadcrumb ol {
-    align-items: flex-start;
-    display: flex;
-    flex-wrap: wrap;
-    justify-content: flex-start; }
-  .breadcrumb .icon:first-child {
-    margin-right: 0.5em; }
-  .breadcrumb .icon:last-child {
-    margin-left: 0.5em; }
-  .breadcrumb.is-centered ol,
-  .breadcrumb.is-centered ul {
-    justify-content: center; }
-  .breadcrumb.is-right ol,
-  .breadcrumb.is-right ul {
-    justify-content: flex-end; }
-  .breadcrumb.is-small, #documenter .docs-sidebar form.docs-search > input.breadcrumb {
-    font-size: 0.75rem; }
-  .breadcrumb.is-medium {
-    font-size: 1.25rem; }
-  .breadcrumb.is-large {
-    font-size: 1.5rem; }
-  .breadcrumb.has-arrow-separator li + li::before {
-    content: "\02192"; }
-  .breadcrumb.has-bullet-separator li + li::before {
-    content: "\02022"; }
-  .breadcrumb.has-dot-separator li + li::before {
-    content: "\000b7"; }
-  .breadcrumb.has-succeeds-separator li + li::before {
-    content: "\0227B"; }
-
-.card {
-  background-color: white;
-  box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
-  color: #222222;
-  max-width: 100%;
-  position: relative; }
-
-.card-header {
-  background-color: transparent;
-  align-items: stretch;
-  box-shadow: 0 1px 2px rgba(10, 10, 10, 0.1);
-  display: flex; }
-
-.card-header-title {
-  align-items: center;
-  color: #222222;
-  display: flex;
-  flex-grow: 1;
-  font-weight: 700;
-  padding: 0.75rem; }
-  .card-header-title.is-centered {
-    justify-content: center; }
-
-.card-header-icon {
-  align-items: center;
-  cursor: pointer;
-  display: flex;
-  justify-content: center;
-  padding: 0.75rem; }
-
-.card-image {
-  display: block;
-  position: relative; }
-
-.card-content {
-  background-color: transparent;
-  padding: 1.5rem; }
-
-.card-footer {
-  background-color: transparent;
-  border-top: 1px solid #dbdbdb;
-  align-items: stretch;
-  display: flex; }
-
-.card-footer-item {
-  align-items: center;
-  display: flex;
-  flex-basis: 0;
-  flex-grow: 1;
-  flex-shrink: 0;
-  justify-content: center;
-  padding: 0.75rem; }
-  .card-footer-item:not(:last-child) {
-    border-right: 1px solid #dbdbdb; }
-
-.card .media:not(:last-child) {
-  margin-bottom: 1.5rem; }
-
-.dropdown {
-  display: inline-flex;
-  position: relative;
-  vertical-align: top; }
-  .dropdown.is-active .dropdown-menu, .dropdown.is-hoverable:hover .dropdown-menu {
-    display: block; }
-  .dropdown.is-right .dropdown-menu {
-    left: auto;
-    right: 0; }
-  .dropdown.is-up .dropdown-menu {
-    bottom: 100%;
-    padding-bottom: 4px;
-    padding-top: initial;
-    top: auto; }
-
-.dropdown-menu {
-  display: none;
-  left: 0;
-  min-width: 12rem;
-  padding-top: 4px;
-  position: absolute;
-  top: 100%;
-  z-index: 20; }
-
-.dropdown-content {
-  background-color: white;
-  border-radius: 4px;
-  box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
-  padding-bottom: 0.5rem;
-  padding-top: 0.5rem; }
-
-.dropdown-item {
-  color: #4a4a4a;
-  display: block;
-  font-size: 0.875rem;
-  line-height: 1.5;
-  padding: 0.375rem 1rem;
-  position: relative; }
-
-a.dropdown-item,
-button.dropdown-item {
-  padding-right: 3rem;
-  text-align: left;
-  white-space: nowrap;
-  width: 100%; }
-  a.dropdown-item:hover,
-  button.dropdown-item:hover {
-    background-color: whitesmoke;
-    color: #0a0a0a; }
-  a.dropdown-item.is-active,
-  button.dropdown-item.is-active {
-    background-color: #2e63b8;
-    color: #fff; }
-
-.dropdown-divider {
-  background-color: #dbdbdb;
-  border: none;
-  display: block;
-  height: 1px;
-  margin: 0.5rem 0; }
-
-.level {
-  align-items: center;
-  justify-content: space-between; }
-  .level code {
-    border-radius: 4px; }
-  .level img {
-    display: inline-block;
-    vertical-align: top; }
-  .level.is-mobile {
-    display: flex; }
-    .level.is-mobile .level-left,
-    .level.is-mobile .level-right {
-      display: flex; }
-    .level.is-mobile .level-left + .level-right {
-      margin-top: 0; }
-    .level.is-mobile .level-item:not(:last-child) {
-      margin-bottom: 0;
-      margin-right: 0.75rem; }
-    .level.is-mobile .level-item:not(.is-narrow) {
-      flex-grow: 1; }
-  @media screen and (min-width: 769px), print {
-    .level {
-      display: flex; }
-      .level > .level-item:not(.is-narrow) {
-        flex-grow: 1; } }
-.level-item {
-  align-items: center;
-  display: flex;
-  flex-basis: auto;
-  flex-grow: 0;
-  flex-shrink: 0;
-  justify-content: center; }
-  .level-item .title,
-  .level-item .subtitle {
-    margin-bottom: 0; }
-  @media screen and (max-width: 768px) {
-    .level-item:not(:last-child) {
-      margin-bottom: 0.75rem; } }
-.level-left,
-.level-right {
-  flex-basis: auto;
-  flex-grow: 0;
-  flex-shrink: 0; }
-  .level-left .level-item.is-flexible,
-  .level-right .level-item.is-flexible {
-    flex-grow: 1; }
-  @media screen and (min-width: 769px), print {
-    .level-left .level-item:not(:last-child),
-    .level-right .level-item:not(:last-child) {
-      margin-right: 0.75rem; } }
-.level-left {
-  align-items: center;
-  justify-content: flex-start; }
-  @media screen and (max-width: 768px) {
-    .level-left + .level-right {
-      margin-top: 1.5rem; } }
-  @media screen and (min-width: 769px), print {
-    .level-left {
-      display: flex; } }
-.level-right {
-  align-items: center;
-  justify-content: flex-end; }
-  @media screen and (min-width: 769px), print {
-    .level-right {
-      display: flex; } }
-.list {
-  background-color: white;
-  border-radius: 4px;
-  box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1); }
-
-.list-item {
-  display: block;
-  padding: 0.5em 1em; }
-  .list-item:not(a) {
-    color: #222222; }
-  .list-item:first-child {
-    border-top-left-radius: 4px;
-    border-top-right-radius: 4px; }
-  .list-item:last-child {
-    border-bottom-left-radius: 4px;
-    border-bottom-right-radius: 4px; }
-  .list-item:not(:last-child) {
-    border-bottom: 1px solid #dbdbdb; }
-  .list-item.is-active {
-    background-color: #2e63b8;
-    color: #fff; }
-
-a.list-item {
-  background-color: whitesmoke;
-  cursor: pointer; }
-
-.media {
-  align-items: flex-start;
-  display: flex;
-  text-align: left; }
-  .media .content:not(:last-child) {
-    margin-bottom: 0.75rem; }
-  .media .media {
-    border-top: 1px solid rgba(219, 219, 219, 0.5);
-    display: flex;
-    padding-top: 0.75rem; }
-    .media .media .content:not(:last-child),
-    .media .media .control:not(:last-child) {
-      margin-bottom: 0.5rem; }
-    .media .media .media {
-      padding-top: 0.5rem; }
-      .media .media .media + .media {
-        margin-top: 0.5rem; }
-  .media + .media {
-    border-top: 1px solid rgba(219, 219, 219, 0.5);
-    margin-top: 1rem;
-    padding-top: 1rem; }
-  .media.is-large + .media {
-    margin-top: 1.5rem;
-    padding-top: 1.5rem; }
-
-.media-left,
-.media-right {
-  flex-basis: auto;
-  flex-grow: 0;
-  flex-shrink: 0; }
-
-.media-left {
-  margin-right: 1rem; }
-
-.media-right {
-  margin-left: 1rem; }
-
-.media-content {
-  flex-basis: auto;
-  flex-grow: 1;
-  flex-shrink: 1;
-  text-align: left; }
-
-@media screen and (max-width: 768px) {
-  .media-content {
-    overflow-x: auto; } }
-
-.menu {
-  font-size: 1rem; }
-  .menu.is-small, #documenter .docs-sidebar form.docs-search > input.menu {
-    font-size: 0.75rem; }
-  .menu.is-medium {
-    font-size: 1.25rem; }
-  .menu.is-large {
-    font-size: 1.5rem; }
-
-.menu-list {
-  line-height: 1.25; }
-  .menu-list a {
-    border-radius: 2px;
-    color: #222222;
-    display: block;
-    padding: 0.5em 0.75em; }
-    .menu-list a:hover {
-      background-color: whitesmoke;
-      color: #222222; }
-    .menu-list a.is-active {
-      background-color: #2e63b8;
-      color: #fff; }
-  .menu-list li ul {
-    border-left: 1px solid #dbdbdb;
-    margin: 0.75em;
-    padding-left: 0.75em; }
-
-.menu-label {
-  color: #6b6b6b;
-  font-size: 0.75em;
-  letter-spacing: 0.1em;
-  text-transform: uppercase; }
-  .menu-label:not(:first-child) {
-    margin-top: 1em; }
-  .menu-label:not(:last-child) {
-    margin-bottom: 1em; }
-
-.message {
-  background-color: whitesmoke;
-  border-radius: 4px;
-  font-size: 1rem; }
-  .message strong {
-    color: currentColor; }
-  .message a:not(.button):not(.tag):not(.dropdown-item) {
-    color: currentColor;
-    text-decoration: underline; }
-  .message.is-small, #documenter .docs-sidebar form.docs-search > input.message {
-    font-size: 0.75rem; }
-  .message.is-medium {
-    font-size: 1.25rem; }
-  .message.is-large {
-    font-size: 1.5rem; }
-  .message.is-white {
-    background-color: white; }
-    .message.is-white .message-header {
-      background-color: white;
-      color: #0a0a0a; }
-    .message.is-white .message-body {
-      border-color: white;
-      color: #4d4d4d; }
-  .message.is-black {
-    background-color: #fafafa; }
-    .message.is-black .message-header {
-      background-color: #0a0a0a;
-      color: white; }
-    .message.is-black .message-body {
-      border-color: #0a0a0a;
-      color: #090909; }
-  .message.is-light {
-    background-color: #fafafa; }
-    .message.is-light .message-header {
-      background-color: whitesmoke;
-      color: #363636; }
-    .message.is-light .message-body {
-      border-color: whitesmoke;
-      color: #505050; }
-  .message.is-dark, .content kbd.message {
-    background-color: #fafafa; }
-    .message.is-dark .message-header, .content kbd.message .message-header {
-      background-color: #363636;
-      color: whitesmoke; }
-    .message.is-dark .message-body, .content kbd.message .message-body {
-      border-color: #363636;
-      color: #2a2a2a; }
-  .message.is-primary, .docstring > section > a.message.docs-sourcelink {
-    background-color: #f6fbfd; }
-    .message.is-primary .message-header, .docstring > section > a.message.docs-sourcelink .message-header {
-      background-color: #4eb5de;
-      color: #fff; }
-    .message.is-primary .message-body, .docstring > section > a.message.docs-sourcelink .message-body {
-      border-color: #4eb5de;
-      color: #1f556a; }
-  .message.is-link {
-    background-color: #f7f9fd; }
-    .message.is-link .message-header {
-      background-color: #2e63b8;
-      color: #fff; }
-    .message.is-link .message-body {
-      border-color: #2e63b8;
-      color: #264981; }
-  .message.is-info {
-    background-color: #f6fbfe; }
-    .message.is-info .message-header {
-      background-color: #209cee;
-      color: #fff; }
-    .message.is-info .message-body {
-      border-color: #209cee;
-      color: #12537d; }
-  .message.is-success {
-    background-color: #f6fdf9; }
-    .message.is-success .message-header {
-      background-color: #22c35b;
-      color: #fff; }
-    .message.is-success .message-body {
-      border-color: #22c35b;
-      color: #0f361d; }
-  .message.is-warning {
-    background-color: #fffdf5; }
-    .message.is-warning .message-header {
-      background-color: #ffdd57;
-      color: rgba(0, 0, 0, 0.7); }
-    .message.is-warning .message-body {
-      border-color: #ffdd57;
-      color: #3c3108; }
-  .message.is-danger {
-    background-color: #fff5f5; }
-    .message.is-danger .message-header {
-      background-color: #da0b00;
-      color: #fff; }
-    .message.is-danger .message-body {
-      border-color: #da0b00;
-      color: #9b0c04; }
-
-.message-header {
-  align-items: center;
-  background-color: #222222;
-  border-radius: 4px 4px 0 0;
-  color: #fff;
-  display: flex;
-  font-weight: 700;
-  justify-content: space-between;
-  line-height: 1.25;
-  padding: 0.75em 1em;
-  position: relative; }
-  .message-header .delete {
-    flex-grow: 0;
-    flex-shrink: 0;
-    margin-left: 0.75em; }
-  .message-header + .message-body {
-    border-width: 0;
-    border-top-left-radius: 0;
-    border-top-right-radius: 0; }
-
-.message-body {
-  border-color: #dbdbdb;
-  border-radius: 4px;
-  border-style: solid;
-  border-width: 0 0 0 4px;
-  color: #222222;
-  padding: 1.25em 1.5em; }
-  .message-body code,
-  .message-body pre {
-    background-color: white; }
-  .message-body pre code {
-    background-color: transparent; }
-
-.modal {
-  align-items: center;
-  display: none;
-  flex-direction: column;
-  justify-content: center;
-  overflow: hidden;
-  position: fixed;
-  z-index: 40; }
-  .modal.is-active {
-    display: flex; }
-
-.modal-background {
-  background-color: rgba(10, 10, 10, 0.86); }
-
-.modal-content,
-.modal-card {
-  margin: 0 20px;
-  max-height: calc(100vh - 160px);
-  overflow: auto;
-  position: relative;
-  width: 100%; }
-  @media screen and (min-width: 769px), print {
-    .modal-content,
-    .modal-card {
-      margin: 0 auto;
-      max-height: calc(100vh - 40px);
-      width: 640px; } }
-.modal-close {
-  background: none;
-  height: 40px;
-  position: fixed;
-  right: 20px;
-  top: 20px;
-  width: 40px; }
-
-.modal-card {
-  display: flex;
-  flex-direction: column;
-  max-height: calc(100vh - 40px);
-  overflow: hidden;
-  -ms-overflow-y: visible; }
-
-.modal-card-head,
-.modal-card-foot {
-  align-items: center;
-  background-color: whitesmoke;
-  display: flex;
-  flex-shrink: 0;
-  justify-content: flex-start;
-  padding: 20px;
-  position: relative; }
-
-.modal-card-head {
-  border-bottom: 1px solid #dbdbdb;
-  border-top-left-radius: 6px;
-  border-top-right-radius: 6px; }
-
-.modal-card-title {
-  color: #222222;
-  flex-grow: 1;
-  flex-shrink: 0;
-  font-size: 1.5rem;
-  line-height: 1; }
-
-.modal-card-foot {
-  border-bottom-left-radius: 6px;
-  border-bottom-right-radius: 6px;
-  border-top: 1px solid #dbdbdb; }
-  .modal-card-foot .button:not(:last-child) {
-    margin-right: 0.5em; }
-
-.modal-card-body {
-  -webkit-overflow-scrolling: touch;
-  background-color: white;
-  flex-grow: 1;
-  flex-shrink: 1;
-  overflow: auto;
-  padding: 20px; }
-
-.navbar {
-  background-color: white;
-  min-height: 3.25rem;
-  position: relative;
-  z-index: 30; }
-  .navbar.is-white {
-    background-color: white;
-    color: #0a0a0a; }
-    .navbar.is-white .navbar-brand > .navbar-item,
-    .navbar.is-white .navbar-brand .navbar-link {
-      color: #0a0a0a; }
-    .navbar.is-white .navbar-brand > a.navbar-item:focus, .navbar.is-white .navbar-brand > a.navbar-item:hover, .navbar.is-white .navbar-brand > a.navbar-item.is-active,
-    .navbar.is-white .navbar-brand .navbar-link:focus,
-    .navbar.is-white .navbar-brand .navbar-link:hover,
-    .navbar.is-white .navbar-brand .navbar-link.is-active {
-      background-color: #f2f2f2;
-      color: #0a0a0a; }
-    .navbar.is-white .navbar-brand .navbar-link::after {
-      border-color: #0a0a0a; }
-    .navbar.is-white .navbar-burger {
-      color: #0a0a0a; }
-    @media screen and (min-width: 1056px) {
-      .navbar.is-white .navbar-start > .navbar-item,
-      .navbar.is-white .navbar-start .navbar-link,
-      .navbar.is-white .navbar-end > .navbar-item,
-      .navbar.is-white .navbar-end .navbar-link {
-        color: #0a0a0a; }
-      .navbar.is-white .navbar-start > a.navbar-item:focus, .navbar.is-white .navbar-start > a.navbar-item:hover, .navbar.is-white .navbar-start > a.navbar-item.is-active,
-      .navbar.is-white .navbar-start .navbar-link:focus,
-      .navbar.is-white .navbar-start .navbar-link:hover,
-      .navbar.is-white .navbar-start .navbar-link.is-active,
-      .navbar.is-white .navbar-end > a.navbar-item:focus,
-      .navbar.is-white .navbar-end > a.navbar-item:hover,
-      .navbar.is-white .navbar-end > a.navbar-item.is-active,
-      .navbar.is-white .navbar-end .navbar-link:focus,
-      .navbar.is-white .navbar-end .navbar-link:hover,
-      .navbar.is-white .navbar-end .navbar-link.is-active {
-        background-color: #f2f2f2;
-        color: #0a0a0a; }
-      .navbar.is-white .navbar-start .navbar-link::after,
-      .navbar.is-white .navbar-end .navbar-link::after {
-        border-color: #0a0a0a; }
-      .navbar.is-white .navbar-item.has-dropdown:focus .navbar-link,
-      .navbar.is-white .navbar-item.has-dropdown:hover .navbar-link,
-      .navbar.is-white .navbar-item.has-dropdown.is-active .navbar-link {
-        background-color: #f2f2f2;
-        color: #0a0a0a; }
-      .navbar.is-white .navbar-dropdown a.navbar-item.is-active {
-        background-color: white;
-        color: #0a0a0a; } }
-  .navbar.is-black {
-    background-color: #0a0a0a;
-    color: white; }
-    .navbar.is-black .navbar-brand > .navbar-item,
-    .navbar.is-black .navbar-brand .navbar-link {
-      color: white; }
-    .navbar.is-black .navbar-brand > a.navbar-item:focus, .navbar.is-black .navbar-brand > a.navbar-item:hover, .navbar.is-black .navbar-brand > a.navbar-item.is-active,
-    .navbar.is-black .navbar-brand .navbar-link:focus,
-    .navbar.is-black .navbar-brand .navbar-link:hover,
-    .navbar.is-black .navbar-brand .navbar-link.is-active {
-      background-color: black;
-      color: white; }
-    .navbar.is-black .navbar-brand .navbar-link::after {
-      border-color: white; }
-    .navbar.is-black .navbar-burger {
-      color: white; }
-    @media screen and (min-width: 1056px) {
-      .navbar.is-black .navbar-start > .navbar-item,
-      .navbar.is-black .navbar-start .navbar-link,
-      .navbar.is-black .navbar-end > .navbar-item,
-      .navbar.is-black .navbar-end .navbar-link {
-        color: white; }
-      .navbar.is-black .navbar-start > a.navbar-item:focus, .navbar.is-black .navbar-start > a.navbar-item:hover, .navbar.is-black .navbar-start > a.navbar-item.is-active,
-      .navbar.is-black .navbar-start .navbar-link:focus,
-      .navbar.is-black .navbar-start .navbar-link:hover,
-      .navbar.is-black .navbar-start .navbar-link.is-active,
-      .navbar.is-black .navbar-end > a.navbar-item:focus,
-      .navbar.is-black .navbar-end > a.navbar-item:hover,
-      .navbar.is-black .navbar-end > a.navbar-item.is-active,
-      .navbar.is-black .navbar-end .navbar-link:focus,
-      .navbar.is-black .navbar-end .navbar-link:hover,
-      .navbar.is-black .navbar-end .navbar-link.is-active {
-        background-color: black;
-        color: white; }
-      .navbar.is-black .navbar-start .navbar-link::after,
-      .navbar.is-black .navbar-end .navbar-link::after {
-        border-color: white; }
-      .navbar.is-black .navbar-item.has-dropdown:focus .navbar-link,
-      .navbar.is-black .navbar-item.has-dropdown:hover .navbar-link,
-      .navbar.is-black .navbar-item.has-dropdown.is-active .navbar-link {
-        background-color: black;
-        color: white; }
-      .navbar.is-black .navbar-dropdown a.navbar-item.is-active {
-        background-color: #0a0a0a;
-        color: white; } }
-  .navbar.is-light {
-    background-color: whitesmoke;
-    color: #363636; }
-    .navbar.is-light .navbar-brand > .navbar-item,
-    .navbar.is-light .navbar-brand .navbar-link {
-      color: #363636; }
-    .navbar.is-light .navbar-brand > a.navbar-item:focus, .navbar.is-light .navbar-brand > a.navbar-item:hover, .navbar.is-light .navbar-brand > a.navbar-item.is-active,
-    .navbar.is-light .navbar-brand .navbar-link:focus,
-    .navbar.is-light .navbar-brand .navbar-link:hover,
-    .navbar.is-light .navbar-brand .navbar-link.is-active {
-      background-color: #e8e8e8;
-      color: #363636; }
-    .navbar.is-light .navbar-brand .navbar-link::after {
-      border-color: #363636; }
-    .navbar.is-light .navbar-burger {
-      color: #363636; }
-    @media screen and (min-width: 1056px) {
-      .navbar.is-light .navbar-start > .navbar-item,
-      .navbar.is-light .navbar-start .navbar-link,
-      .navbar.is-light .navbar-end > .navbar-item,
-      .navbar.is-light .navbar-end .navbar-link {
-        color: #363636; }
-      .navbar.is-light .navbar-start > a.navbar-item:focus, .navbar.is-light .navbar-start > a.navbar-item:hover, .navbar.is-light .navbar-start > a.navbar-item.is-active,
-      .navbar.is-light .navbar-start .navbar-link:focus,
-      .navbar.is-light .navbar-start .navbar-link:hover,
-      .navbar.is-light .navbar-start .navbar-link.is-active,
-      .navbar.is-light .navbar-end > a.navbar-item:focus,
-      .navbar.is-light .navbar-end > a.navbar-item:hover,
-      .navbar.is-light .navbar-end > a.navbar-item.is-active,
-      .navbar.is-light .navbar-end .navbar-link:focus,
-      .navbar.is-light .navbar-end .navbar-link:hover,
-      .navbar.is-light .navbar-end .navbar-link.is-active {
-        background-color: #e8e8e8;
-        color: #363636; }
-      .navbar.is-light .navbar-start .navbar-link::after,
-      .navbar.is-light .navbar-end .navbar-link::after {
-        border-color: #363636; }
-      .navbar.is-light .navbar-item.has-dropdown:focus .navbar-link,
-      .navbar.is-light .navbar-item.has-dropdown:hover .navbar-link,
-      .navbar.is-light .navbar-item.has-dropdown.is-active .navbar-link {
-        background-color: #e8e8e8;
-        color: #363636; }
-      .navbar.is-light .navbar-dropdown a.navbar-item.is-active {
-        background-color: whitesmoke;
-        color: #363636; } }
-  .navbar.is-dark, .content kbd.navbar {
-    background-color: #363636;
-    color: whitesmoke; }
-    .navbar.is-dark .navbar-brand > .navbar-item, .content kbd.navbar .navbar-brand > .navbar-item,
-    .navbar.is-dark .navbar-brand .navbar-link,
-    .content kbd.navbar .navbar-brand .navbar-link {
-      color: whitesmoke; }
-    .navbar.is-dark .navbar-brand > a.navbar-item:focus, .content kbd.navbar .navbar-brand > a.navbar-item:focus, .navbar.is-dark .navbar-brand > a.navbar-item:hover, .content kbd.navbar .navbar-brand > a.navbar-item:hover, .navbar.is-dark .navbar-brand > a.navbar-item.is-active, .content kbd.navbar .navbar-brand > a.navbar-item.is-active,
-    .navbar.is-dark .navbar-brand .navbar-link:focus,
-    .content kbd.navbar .navbar-brand .navbar-link:focus,
-    .navbar.is-dark .navbar-brand .navbar-link:hover,
-    .content kbd.navbar .navbar-brand .navbar-link:hover,
-    .navbar.is-dark .navbar-brand .navbar-link.is-active,
-    .content kbd.navbar .navbar-brand .navbar-link.is-active {
-      background-color: #292929;
-      color: whitesmoke; }
-    .navbar.is-dark .navbar-brand .navbar-link::after, .content kbd.navbar .navbar-brand .navbar-link::after {
-      border-color: whitesmoke; }
-    .navbar.is-dark .navbar-burger, .content kbd.navbar .navbar-burger {
-      color: whitesmoke; }
-    @media screen and (min-width: 1056px) {
-      .navbar.is-dark .navbar-start > .navbar-item, .content kbd.navbar .navbar-start > .navbar-item,
-      .navbar.is-dark .navbar-start .navbar-link,
-      .content kbd.navbar .navbar-start .navbar-link,
-      .navbar.is-dark .navbar-end > .navbar-item,
-      .content kbd.navbar .navbar-end > .navbar-item,
-      .navbar.is-dark .navbar-end .navbar-link,
-      .content kbd.navbar .navbar-end .navbar-link {
-        color: whitesmoke; }
-      .navbar.is-dark .navbar-start > a.navbar-item:focus, .content kbd.navbar .navbar-start > a.navbar-item:focus, .navbar.is-dark .navbar-start > a.navbar-item:hover, .content kbd.navbar .navbar-start > a.navbar-item:hover, .navbar.is-dark .navbar-start > a.navbar-item.is-active, .content kbd.navbar .navbar-start > a.navbar-item.is-active,
-      .navbar.is-dark .navbar-start .navbar-link:focus,
-      .content kbd.navbar .navbar-start .navbar-link:focus,
-      .navbar.is-dark .navbar-start .navbar-link:hover,
-      .content kbd.navbar .navbar-start .navbar-link:hover,
-      .navbar.is-dark .navbar-start .navbar-link.is-active,
-      .content kbd.navbar .navbar-start .navbar-link.is-active,
-      .navbar.is-dark .navbar-end > a.navbar-item:focus,
-      .content kbd.navbar .navbar-end > a.navbar-item:focus,
-      .navbar.is-dark .navbar-end > a.navbar-item:hover,
-      .content kbd.navbar .navbar-end > a.navbar-item:hover,
-      .navbar.is-dark .navbar-end > a.navbar-item.is-active,
-      .content kbd.navbar .navbar-end > a.navbar-item.is-active,
-      .navbar.is-dark .navbar-end .navbar-link:focus,
-      .content kbd.navbar .navbar-end .navbar-link:focus,
-      .navbar.is-dark .navbar-end .navbar-link:hover,
-      .content kbd.navbar .navbar-end .navbar-link:hover,
-      .navbar.is-dark .navbar-end .navbar-link.is-active,
-      .content kbd.navbar .navbar-end .navbar-link.is-active {
-        background-color: #292929;
-        color: whitesmoke; }
-      .navbar.is-dark .navbar-start .navbar-link::after, .content kbd.navbar .navbar-start .navbar-link::after,
-      .navbar.is-dark .navbar-end .navbar-link::after,
-      .content kbd.navbar .navbar-end .navbar-link::after {
-        border-color: whitesmoke; }
-      .navbar.is-dark .navbar-item.has-dropdown:focus .navbar-link, .content kbd.navbar .navbar-item.has-dropdown:focus .navbar-link,
-      .navbar.is-dark .navbar-item.has-dropdown:hover .navbar-link,
-      .content kbd.navbar .navbar-item.has-dropdown:hover .navbar-link,
-      .navbar.is-dark .navbar-item.has-dropdown.is-active .navbar-link,
-      .content kbd.navbar .navbar-item.has-dropdown.is-active .navbar-link {
-        background-color: #292929;
-        color: whitesmoke; }
-      .navbar.is-dark .navbar-dropdown a.navbar-item.is-active, .content kbd.navbar .navbar-dropdown a.navbar-item.is-active {
-        background-color: #363636;
-        color: whitesmoke; } }
-  .navbar.is-primary, .docstring > section > a.navbar.docs-sourcelink {
-    background-color: #4eb5de;
-    color: #fff; }
-    .navbar.is-primary .navbar-brand > .navbar-item, .docstring > section > a.navbar.docs-sourcelink .navbar-brand > .navbar-item,
-    .navbar.is-primary .navbar-brand .navbar-link,
-    .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link {
-      color: #fff; }
-    .navbar.is-primary .navbar-brand > a.navbar-item:focus, .docstring > section > a.navbar.docs-sourcelink .navbar-brand > a.navbar-item:focus, .navbar.is-primary .navbar-brand > a.navbar-item:hover, .docstring > section > a.navbar.docs-sourcelink .navbar-brand > a.navbar-item:hover, .navbar.is-primary .navbar-brand > a.navbar-item.is-active, .docstring > section > a.navbar.docs-sourcelink .navbar-brand > a.navbar-item.is-active,
-    .navbar.is-primary .navbar-brand .navbar-link:focus,
-    .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link:focus,
-    .navbar.is-primary .navbar-brand .navbar-link:hover,
-    .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link:hover,
-    .navbar.is-primary .navbar-brand .navbar-link.is-active,
-    .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link.is-active {
-      background-color: #39acda;
-      color: #fff; }
-    .navbar.is-primary .navbar-brand .navbar-link::after, .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link::after {
-      border-color: #fff; }
-    .navbar.is-primary .navbar-burger, .docstring > section > a.navbar.docs-sourcelink .navbar-burger {
-      color: #fff; }
-    @media screen and (min-width: 1056px) {
-      .navbar.is-primary .navbar-start > .navbar-item, .docstring > section > a.navbar.docs-sourcelink .navbar-start > .navbar-item,
-      .navbar.is-primary .navbar-start .navbar-link,
-      .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link,
-      .navbar.is-primary .navbar-end > .navbar-item,
-      .docstring > section > a.navbar.docs-sourcelink .navbar-end > .navbar-item,
-      .navbar.is-primary .navbar-end .navbar-link,
-      .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link {
-        color: #fff; }
-      .navbar.is-primary .navbar-start > a.navbar-item:focus, .docstring > section > a.navbar.docs-sourcelink .navbar-start > a.navbar-item:focus, .navbar.is-primary .navbar-start > a.navbar-item:hover, .docstring > section > a.navbar.docs-sourcelink .navbar-start > a.navbar-item:hover, .navbar.is-primary .navbar-start > a.navbar-item.is-active, .docstring > section > a.navbar.docs-sourcelink .navbar-start > a.navbar-item.is-active,
-      .navbar.is-primary .navbar-start .navbar-link:focus,
-      .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link:focus,
-      .navbar.is-primary .navbar-start .navbar-link:hover,
-      .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link:hover,
-      .navbar.is-primary .navbar-start .navbar-link.is-active,
-      .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link.is-active,
-      .navbar.is-primary .navbar-end > a.navbar-item:focus,
-      .docstring > section > a.navbar.docs-sourcelink .navbar-end > a.navbar-item:focus,
-      .navbar.is-primary .navbar-end > a.navbar-item:hover,
-      .docstring > section > a.navbar.docs-sourcelink .navbar-end > a.navbar-item:hover,
-      .navbar.is-primary .navbar-end > a.navbar-item.is-active,
-      .docstring > section > a.navbar.docs-sourcelink .navbar-end > a.navbar-item.is-active,
-      .navbar.is-primary .navbar-end .navbar-link:focus,
-      .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link:focus,
-      .navbar.is-primary .navbar-end .navbar-link:hover,
-      .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link:hover,
-      .navbar.is-primary .navbar-end .navbar-link.is-active,
-      .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link.is-active {
-        background-color: #39acda;
-        color: #fff; }
-      .navbar.is-primary .navbar-start .navbar-link::after, .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link::after,
-      .navbar.is-primary .navbar-end .navbar-link::after,
-      .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link::after {
-        border-color: #fff; }
-      .navbar.is-primary .navbar-item.has-dropdown:focus .navbar-link, .docstring > section > a.navbar.docs-sourcelink .navbar-item.has-dropdown:focus .navbar-link,
-      .navbar.is-primary .navbar-item.has-dropdown:hover .navbar-link,
-      .docstring > section > a.navbar.docs-sourcelink .navbar-item.has-dropdown:hover .navbar-link,
-      .navbar.is-primary .navbar-item.has-dropdown.is-active .navbar-link,
-      .docstring > section > a.navbar.docs-sourcelink .navbar-item.has-dropdown.is-active .navbar-link {
-        background-color: #39acda;
-        color: #fff; }
-      .navbar.is-primary .navbar-dropdown a.navbar-item.is-active, .docstring > section > a.navbar.docs-sourcelink .navbar-dropdown a.navbar-item.is-active {
-        background-color: #4eb5de;
-        color: #fff; } }
-  .navbar.is-link {
-    background-color: #2e63b8;
-    color: #fff; }
-    .navbar.is-link .navbar-brand > .navbar-item,
-    .navbar.is-link .navbar-brand .navbar-link {
-      color: #fff; }
-    .navbar.is-link .navbar-brand > a.navbar-item:focus, .navbar.is-link .navbar-brand > a.navbar-item:hover, .navbar.is-link .navbar-brand > a.navbar-item.is-active,
-    .navbar.is-link .navbar-brand .navbar-link:focus,
-    .navbar.is-link .navbar-brand .navbar-link:hover,
-    .navbar.is-link .navbar-brand .navbar-link.is-active {
-      background-color: #2958a4;
-      color: #fff; }
-    .navbar.is-link .navbar-brand .navbar-link::after {
-      border-color: #fff; }
-    .navbar.is-link .navbar-burger {
-      color: #fff; }
-    @media screen and (min-width: 1056px) {
-      .navbar.is-link .navbar-start > .navbar-item,
-      .navbar.is-link .navbar-start .navbar-link,
-      .navbar.is-link .navbar-end > .navbar-item,
-      .navbar.is-link .navbar-end .navbar-link {
-        color: #fff; }
-      .navbar.is-link .navbar-start > a.navbar-item:focus, .navbar.is-link .navbar-start > a.navbar-item:hover, .navbar.is-link .navbar-start > a.navbar-item.is-active,
-      .navbar.is-link .navbar-start .navbar-link:focus,
-      .navbar.is-link .navbar-start .navbar-link:hover,
-      .navbar.is-link .navbar-start .navbar-link.is-active,
-      .navbar.is-link .navbar-end > a.navbar-item:focus,
-      .navbar.is-link .navbar-end > a.navbar-item:hover,
-      .navbar.is-link .navbar-end > a.navbar-item.is-active,
-      .navbar.is-link .navbar-end .navbar-link:focus,
-      .navbar.is-link .navbar-end .navbar-link:hover,
-      .navbar.is-link .navbar-end .navbar-link.is-active {
-        background-color: #2958a4;
-        color: #fff; }
-      .navbar.is-link .navbar-start .navbar-link::after,
-      .navbar.is-link .navbar-end .navbar-link::after {
-        border-color: #fff; }
-      .navbar.is-link .navbar-item.has-dropdown:focus .navbar-link,
-      .navbar.is-link .navbar-item.has-dropdown:hover .navbar-link,
-      .navbar.is-link .navbar-item.has-dropdown.is-active .navbar-link {
-        background-color: #2958a4;
-        color: #fff; }
-      .navbar.is-link .navbar-dropdown a.navbar-item.is-active {
-        background-color: #2e63b8;
-        color: #fff; } }
-  .navbar.is-info {
-    background-color: #209cee;
-    color: #fff; }
-    .navbar.is-info .navbar-brand > .navbar-item,
-    .navbar.is-info .navbar-brand .navbar-link {
-      color: #fff; }
-    .navbar.is-info .navbar-brand > a.navbar-item:focus, .navbar.is-info .navbar-brand > a.navbar-item:hover, .navbar.is-info .navbar-brand > a.navbar-item.is-active,
-    .navbar.is-info .navbar-brand .navbar-link:focus,
-    .navbar.is-info .navbar-brand .navbar-link:hover,
-    .navbar.is-info .navbar-brand .navbar-link.is-active {
-      background-color: #1190e3;
-      color: #fff; }
-    .navbar.is-info .navbar-brand .navbar-link::after {
-      border-color: #fff; }
-    .navbar.is-info .navbar-burger {
-      color: #fff; }
-    @media screen and (min-width: 1056px) {
-      .navbar.is-info .navbar-start > .navbar-item,
-      .navbar.is-info .navbar-start .navbar-link,
-      .navbar.is-info .navbar-end > .navbar-item,
-      .navbar.is-info .navbar-end .navbar-link {
-        color: #fff; }
-      .navbar.is-info .navbar-start > a.navbar-item:focus, .navbar.is-info .navbar-start > a.navbar-item:hover, .navbar.is-info .navbar-start > a.navbar-item.is-active,
-      .navbar.is-info .navbar-start .navbar-link:focus,
-      .navbar.is-info .navbar-start .navbar-link:hover,
-      .navbar.is-info .navbar-start .navbar-link.is-active,
-      .navbar.is-info .navbar-end > a.navbar-item:focus,
-      .navbar.is-info .navbar-end > a.navbar-item:hover,
-      .navbar.is-info .navbar-end > a.navbar-item.is-active,
-      .navbar.is-info .navbar-end .navbar-link:focus,
-      .navbar.is-info .navbar-end .navbar-link:hover,
-      .navbar.is-info .navbar-end .navbar-link.is-active {
-        background-color: #1190e3;
-        color: #fff; }
-      .navbar.is-info .navbar-start .navbar-link::after,
-      .navbar.is-info .navbar-end .navbar-link::after {
-        border-color: #fff; }
-      .navbar.is-info .navbar-item.has-dropdown:focus .navbar-link,
-      .navbar.is-info .navbar-item.has-dropdown:hover .navbar-link,
-      .navbar.is-info .navbar-item.has-dropdown.is-active .navbar-link {
-        background-color: #1190e3;
-        color: #fff; }
-      .navbar.is-info .navbar-dropdown a.navbar-item.is-active {
-        background-color: #209cee;
-        color: #fff; } }
-  .navbar.is-success {
-    background-color: #22c35b;
-    color: #fff; }
-    .navbar.is-success .navbar-brand > .navbar-item,
-    .navbar.is-success .navbar-brand .navbar-link {
-      color: #fff; }
-    .navbar.is-success .navbar-brand > a.navbar-item:focus, .navbar.is-success .navbar-brand > a.navbar-item:hover, .navbar.is-success .navbar-brand > a.navbar-item.is-active,
-    .navbar.is-success .navbar-brand .navbar-link:focus,
-    .navbar.is-success .navbar-brand .navbar-link:hover,
-    .navbar.is-success .navbar-brand .navbar-link.is-active {
-      background-color: #1ead51;
-      color: #fff; }
-    .navbar.is-success .navbar-brand .navbar-link::after {
-      border-color: #fff; }
-    .navbar.is-success .navbar-burger {
-      color: #fff; }
-    @media screen and (min-width: 1056px) {
-      .navbar.is-success .navbar-start > .navbar-item,
-      .navbar.is-success .navbar-start .navbar-link,
-      .navbar.is-success .navbar-end > .navbar-item,
-      .navbar.is-success .navbar-end .navbar-link {
-        color: #fff; }
-      .navbar.is-success .navbar-start > a.navbar-item:focus, .navbar.is-success .navbar-start > a.navbar-item:hover, .navbar.is-success .navbar-start > a.navbar-item.is-active,
-      .navbar.is-success .navbar-start .navbar-link:focus,
-      .navbar.is-success .navbar-start .navbar-link:hover,
-      .navbar.is-success .navbar-start .navbar-link.is-active,
-      .navbar.is-success .navbar-end > a.navbar-item:focus,
-      .navbar.is-success .navbar-end > a.navbar-item:hover,
-      .navbar.is-success .navbar-end > a.navbar-item.is-active,
-      .navbar.is-success .navbar-end .navbar-link:focus,
-      .navbar.is-success .navbar-end .navbar-link:hover,
-      .navbar.is-success .navbar-end .navbar-link.is-active {
-        background-color: #1ead51;
-        color: #fff; }
-      .navbar.is-success .navbar-start .navbar-link::after,
-      .navbar.is-success .navbar-end .navbar-link::after {
-        border-color: #fff; }
-      .navbar.is-success .navbar-item.has-dropdown:focus .navbar-link,
-      .navbar.is-success .navbar-item.has-dropdown:hover .navbar-link,
-      .navbar.is-success .navbar-item.has-dropdown.is-active .navbar-link {
-        background-color: #1ead51;
-        color: #fff; }
-      .navbar.is-success .navbar-dropdown a.navbar-item.is-active {
-        background-color: #22c35b;
-        color: #fff; } }
-  .navbar.is-warning {
-    background-color: #ffdd57;
-    color: rgba(0, 0, 0, 0.7); }
-    .navbar.is-warning .navbar-brand > .navbar-item,
-    .navbar.is-warning .navbar-brand .navbar-link {
-      color: rgba(0, 0, 0, 0.7); }
-    .navbar.is-warning .navbar-brand > a.navbar-item:focus, .navbar.is-warning .navbar-brand > a.navbar-item:hover, .navbar.is-warning .navbar-brand > a.navbar-item.is-active,
-    .navbar.is-warning .navbar-brand .navbar-link:focus,
-    .navbar.is-warning .navbar-brand .navbar-link:hover,
-    .navbar.is-warning .navbar-brand .navbar-link.is-active {
-      background-color: #ffd83e;
-      color: rgba(0, 0, 0, 0.7); }
-    .navbar.is-warning .navbar-brand .navbar-link::after {
-      border-color: rgba(0, 0, 0, 0.7); }
-    .navbar.is-warning .navbar-burger {
-      color: rgba(0, 0, 0, 0.7); }
-    @media screen and (min-width: 1056px) {
-      .navbar.is-warning .navbar-start > .navbar-item,
-      .navbar.is-warning .navbar-start .navbar-link,
-      .navbar.is-warning .navbar-end > .navbar-item,
-      .navbar.is-warning .navbar-end .navbar-link {
-        color: rgba(0, 0, 0, 0.7); }
-      .navbar.is-warning .navbar-start > a.navbar-item:focus, .navbar.is-warning .navbar-start > a.navbar-item:hover, .navbar.is-warning .navbar-start > a.navbar-item.is-active,
-      .navbar.is-warning .navbar-start .navbar-link:focus,
-      .navbar.is-warning .navbar-start .navbar-link:hover,
-      .navbar.is-warning .navbar-start .navbar-link.is-active,
-      .navbar.is-warning .navbar-end > a.navbar-item:focus,
-      .navbar.is-warning .navbar-end > a.navbar-item:hover,
-      .navbar.is-warning .navbar-end > a.navbar-item.is-active,
-      .navbar.is-warning .navbar-end .navbar-link:focus,
-      .navbar.is-warning .navbar-end .navbar-link:hover,
-      .navbar.is-warning .navbar-end .navbar-link.is-active {
-        background-color: #ffd83e;
-        color: rgba(0, 0, 0, 0.7); }
-      .navbar.is-warning .navbar-start .navbar-link::after,
-      .navbar.is-warning .navbar-end .navbar-link::after {
-        border-color: rgba(0, 0, 0, 0.7); }
-      .navbar.is-warning .navbar-item.has-dropdown:focus .navbar-link,
-      .navbar.is-warning .navbar-item.has-dropdown:hover .navbar-link,
-      .navbar.is-warning .navbar-item.has-dropdown.is-active .navbar-link {
-        background-color: #ffd83e;
-        color: rgba(0, 0, 0, 0.7); }
-      .navbar.is-warning .navbar-dropdown a.navbar-item.is-active {
-        background-color: #ffdd57;
-        color: rgba(0, 0, 0, 0.7); } }
-  .navbar.is-danger {
-    background-color: #da0b00;
-    color: #fff; }
-    .navbar.is-danger .navbar-brand > .navbar-item,
-    .navbar.is-danger .navbar-brand .navbar-link {
-      color: #fff; }
-    .navbar.is-danger .navbar-brand > a.navbar-item:focus, .navbar.is-danger .navbar-brand > a.navbar-item:hover, .navbar.is-danger .navbar-brand > a.navbar-item.is-active,
-    .navbar.is-danger .navbar-brand .navbar-link:focus,
-    .navbar.is-danger .navbar-brand .navbar-link:hover,
-    .navbar.is-danger .navbar-brand .navbar-link.is-active {
-      background-color: #c10a00;
-      color: #fff; }
-    .navbar.is-danger .navbar-brand .navbar-link::after {
-      border-color: #fff; }
-    .navbar.is-danger .navbar-burger {
-      color: #fff; }
-    @media screen and (min-width: 1056px) {
-      .navbar.is-danger .navbar-start > .navbar-item,
-      .navbar.is-danger .navbar-start .navbar-link,
-      .navbar.is-danger .navbar-end > .navbar-item,
-      .navbar.is-danger .navbar-end .navbar-link {
-        color: #fff; }
-      .navbar.is-danger .navbar-start > a.navbar-item:focus, .navbar.is-danger .navbar-start > a.navbar-item:hover, .navbar.is-danger .navbar-start > a.navbar-item.is-active,
-      .navbar.is-danger .navbar-start .navbar-link:focus,
-      .navbar.is-danger .navbar-start .navbar-link:hover,
-      .navbar.is-danger .navbar-start .navbar-link.is-active,
-      .navbar.is-danger .navbar-end > a.navbar-item:focus,
-      .navbar.is-danger .navbar-end > a.navbar-item:hover,
-      .navbar.is-danger .navbar-end > a.navbar-item.is-active,
-      .navbar.is-danger .navbar-end .navbar-link:focus,
-      .navbar.is-danger .navbar-end .navbar-link:hover,
-      .navbar.is-danger .navbar-end .navbar-link.is-active {
-        background-color: #c10a00;
-        color: #fff; }
-      .navbar.is-danger .navbar-start .navbar-link::after,
-      .navbar.is-danger .navbar-end .navbar-link::after {
-        border-color: #fff; }
-      .navbar.is-danger .navbar-item.has-dropdown:focus .navbar-link,
-      .navbar.is-danger .navbar-item.has-dropdown:hover .navbar-link,
-      .navbar.is-danger .navbar-item.has-dropdown.is-active .navbar-link {
-        background-color: #c10a00;
-        color: #fff; }
-      .navbar.is-danger .navbar-dropdown a.navbar-item.is-active {
-        background-color: #da0b00;
-        color: #fff; } }
-  .navbar > .container {
-    align-items: stretch;
-    display: flex;
-    min-height: 3.25rem;
-    width: 100%; }
-  .navbar.has-shadow {
-    box-shadow: 0 2px 0 0 whitesmoke; }
-  .navbar.is-fixed-bottom, .navbar.is-fixed-top {
-    left: 0;
-    position: fixed;
-    right: 0;
-    z-index: 30; }
-  .navbar.is-fixed-bottom {
-    bottom: 0; }
-    .navbar.is-fixed-bottom.has-shadow {
-      box-shadow: 0 -2px 0 0 whitesmoke; }
-  .navbar.is-fixed-top {
-    top: 0; }
-
-html.has-navbar-fixed-top,
-body.has-navbar-fixed-top {
-  padding-top: 3.25rem; }
-
-html.has-navbar-fixed-bottom,
-body.has-navbar-fixed-bottom {
-  padding-bottom: 3.25rem; }
-
-.navbar-brand,
-.navbar-tabs {
-  align-items: stretch;
-  display: flex;
-  flex-shrink: 0;
-  min-height: 3.25rem; }
-
-.navbar-brand a.navbar-item:focus, .navbar-brand a.navbar-item:hover {
-  background-color: transparent; }
-
-.navbar-tabs {
-  -webkit-overflow-scrolling: touch;
-  max-width: 100vw;
-  overflow-x: auto;
-  overflow-y: hidden; }
-
-.navbar-burger {
-  color: #4a4a4a;
-  cursor: pointer;
-  display: block;
-  height: 3.25rem;
-  position: relative;
-  width: 3.25rem;
-  margin-left: auto; }
-  .navbar-burger span {
-    background-color: currentColor;
-    display: block;
-    height: 1px;
-    left: calc(50% - 8px);
-    position: absolute;
-    transform-origin: center;
-    transition-duration: 86ms;
-    transition-property: background-color, opacity, transform;
-    transition-timing-function: ease-out;
-    width: 16px; }
-    .navbar-burger span:nth-child(1) {
-      top: calc(50% - 6px); }
-    .navbar-burger span:nth-child(2) {
-      top: calc(50% - 1px); }
-    .navbar-burger span:nth-child(3) {
-      top: calc(50% + 4px); }
-  .navbar-burger:hover {
-    background-color: rgba(0, 0, 0, 0.05); }
-  .navbar-burger.is-active span:nth-child(1) {
-    transform: translateY(5px) rotate(45deg); }
-  .navbar-burger.is-active span:nth-child(2) {
-    opacity: 0; }
-  .navbar-burger.is-active span:nth-child(3) {
-    transform: translateY(-5px) rotate(-45deg); }
-
-.navbar-menu {
-  display: none; }
-
-.navbar-item,
-.navbar-link {
-  color: #4a4a4a;
-  display: block;
-  line-height: 1.5;
-  padding: 0.5rem 0.75rem;
-  position: relative; }
-  .navbar-item .icon:only-child,
-  .navbar-link .icon:only-child {
-    margin-left: -0.25rem;
-    margin-right: -0.25rem; }
-
-a.navbar-item,
-.navbar-link {
-  cursor: pointer; }
-  a.navbar-item:focus, a.navbar-item:focus-within, a.navbar-item:hover, a.navbar-item.is-active,
-  .navbar-link:focus,
-  .navbar-link:focus-within,
-  .navbar-link:hover,
-  .navbar-link.is-active {
-    background-color: #fafafa;
-    color: #2e63b8; }
-
-.navbar-item {
-  display: block;
-  flex-grow: 0;
-  flex-shrink: 0; }
-  .navbar-item img {
-    max-height: 1.75rem; }
-  .navbar-item.has-dropdown {
-    padding: 0; }
-  .navbar-item.is-expanded {
-    flex-grow: 1;
-    flex-shrink: 1; }
-  .navbar-item.is-tab {
-    border-bottom: 1px solid transparent;
-    min-height: 3.25rem;
-    padding-bottom: calc(0.5rem - 1px); }
-    .navbar-item.is-tab:focus, .navbar-item.is-tab:hover {
-      background-color: transparent;
-      border-bottom-color: #2e63b8; }
-    .navbar-item.is-tab.is-active {
-      background-color: transparent;
-      border-bottom-color: #2e63b8;
-      border-bottom-style: solid;
-      border-bottom-width: 3px;
-      color: #2e63b8;
-      padding-bottom: calc(0.5rem - 3px); }
-
-.navbar-content {
-  flex-grow: 1;
-  flex-shrink: 1; }
-
-.navbar-link:not(.is-arrowless) {
-  padding-right: 2.5em; }
-  .navbar-link:not(.is-arrowless)::after {
-    border-color: #2e63b8;
-    margin-top: -0.375em;
-    right: 1.125em; }
-
-.navbar-dropdown {
-  font-size: 0.875rem;
-  padding-bottom: 0.5rem;
-  padding-top: 0.5rem; }
-  .navbar-dropdown .navbar-item {
-    padding-left: 1.5rem;
-    padding-right: 1.5rem; }
-
-.navbar-divider {
-  background-color: whitesmoke;
-  border: none;
-  display: none;
-  height: 2px;
-  margin: 0.5rem 0; }
-
-@media screen and (max-width: 1055px) {
-  .navbar > .container {
-    display: block; }
-  .navbar-brand .navbar-item,
-  .navbar-tabs .navbar-item {
-    align-items: center;
-    display: flex; }
-  .navbar-link::after {
-    display: none; }
-  .navbar-menu {
-    background-color: white;
-    box-shadow: 0 8px 16px rgba(10, 10, 10, 0.1);
-    padding: 0.5rem 0; }
-    .navbar-menu.is-active {
-      display: block; }
-  .navbar.is-fixed-bottom-touch, .navbar.is-fixed-top-touch {
-    left: 0;
-    position: fixed;
-    right: 0;
-    z-index: 30; }
-  .navbar.is-fixed-bottom-touch {
-    bottom: 0; }
-    .navbar.is-fixed-bottom-touch.has-shadow {
-      box-shadow: 0 -2px 3px rgba(10, 10, 10, 0.1); }
-  .navbar.is-fixed-top-touch {
-    top: 0; }
-  .navbar.is-fixed-top .navbar-menu, .navbar.is-fixed-top-touch .navbar-menu {
-    -webkit-overflow-scrolling: touch;
-    max-height: calc(100vh - 3.25rem);
-    overflow: auto; }
-  html.has-navbar-fixed-top-touch,
-  body.has-navbar-fixed-top-touch {
-    padding-top: 3.25rem; }
-  html.has-navbar-fixed-bottom-touch,
-  body.has-navbar-fixed-bottom-touch {
-    padding-bottom: 3.25rem; } }
-
-@media screen and (min-width: 1056px) {
-  .navbar,
-  .navbar-menu,
-  .navbar-start,
-  .navbar-end {
-    align-items: stretch;
-    display: flex; }
-  .navbar {
-    min-height: 3.25rem; }
-    .navbar.is-spaced {
-      padding: 1rem 2rem; }
-      .navbar.is-spaced .navbar-start,
-      .navbar.is-spaced .navbar-end {
-        align-items: center; }
-      .navbar.is-spaced a.navbar-item,
-      .navbar.is-spaced .navbar-link {
-        border-radius: 4px; }
-    .navbar.is-transparent a.navbar-item:focus, .navbar.is-transparent a.navbar-item:hover, .navbar.is-transparent a.navbar-item.is-active,
-    .navbar.is-transparent .navbar-link:focus,
-    .navbar.is-transparent .navbar-link:hover,
-    .navbar.is-transparent .navbar-link.is-active {
-      background-color: transparent !important; }
-    .navbar.is-transparent .navbar-item.has-dropdown.is-active .navbar-link, .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus .navbar-link, .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus-within .navbar-link, .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:hover .navbar-link {
-      background-color: transparent !important; }
-    .navbar.is-transparent .navbar-dropdown a.navbar-item:focus, .navbar.is-transparent .navbar-dropdown a.navbar-item:hover {
-      background-color: whitesmoke;
-      color: #0a0a0a; }
-    .navbar.is-transparent .navbar-dropdown a.navbar-item.is-active {
-      background-color: whitesmoke;
-      color: #2e63b8; }
-  .navbar-burger {
-    display: none; }
-  .navbar-item,
-  .navbar-link {
-    align-items: center;
-    display: flex; }
-  .navbar-item {
-    display: flex; }
-    .navbar-item.has-dropdown {
-      align-items: stretch; }
-    .navbar-item.has-dropdown-up .navbar-link::after {
-      transform: rotate(135deg) translate(0.25em, -0.25em); }
-    .navbar-item.has-dropdown-up .navbar-dropdown {
-      border-bottom: 2px solid #dbdbdb;
-      border-radius: 6px 6px 0 0;
-      border-top: none;
-      bottom: 100%;
-      box-shadow: 0 -8px 8px rgba(10, 10, 10, 0.1);
-      top: auto; }
-    .navbar-item.is-active .navbar-dropdown, .navbar-item.is-hoverable:focus .navbar-dropdown, .navbar-item.is-hoverable:focus-within .navbar-dropdown, .navbar-item.is-hoverable:hover .navbar-dropdown {
-      display: block; }
-      .navbar.is-spaced .navbar-item.is-active .navbar-dropdown, .navbar-item.is-active .navbar-dropdown.is-boxed, .navbar.is-spaced .navbar-item.is-hoverable:focus .navbar-dropdown, .navbar-item.is-hoverable:focus .navbar-dropdown.is-boxed, .navbar.is-spaced .navbar-item.is-hoverable:focus-within .navbar-dropdown, .navbar-item.is-hoverable:focus-within .navbar-dropdown.is-boxed, .navbar.is-spaced .navbar-item.is-hoverable:hover .navbar-dropdown, .navbar-item.is-hoverable:hover .navbar-dropdown.is-boxed {
-        opacity: 1;
-        pointer-events: auto;
-        transform: translateY(0); }
-  .navbar-menu {
-    flex-grow: 1;
-    flex-shrink: 0; }
-  .navbar-start {
-    justify-content: flex-start;
-    margin-right: auto; }
-  .navbar-end {
-    justify-content: flex-end;
-    margin-left: auto; }
-  .navbar-dropdown {
-    background-color: white;
-    border-bottom-left-radius: 6px;
-    border-bottom-right-radius: 6px;
-    border-top: 2px solid #dbdbdb;
-    box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1);
-    display: none;
-    font-size: 0.875rem;
-    left: 0;
-    min-width: 100%;
-    position: absolute;
-    top: 100%;
-    z-index: 20; }
-    .navbar-dropdown .navbar-item {
-      padding: 0.375rem 1rem;
-      white-space: nowrap; }
-    .navbar-dropdown a.navbar-item {
-      padding-right: 3rem; }
-      .navbar-dropdown a.navbar-item:focus, .navbar-dropdown a.navbar-item:hover {
-        background-color: whitesmoke;
-        color: #0a0a0a; }
-      .navbar-dropdown a.navbar-item.is-active {
-        background-color: whitesmoke;
-        color: #2e63b8; }
-    .navbar.is-spaced .navbar-dropdown, .navbar-dropdown.is-boxed {
-      border-radius: 6px;
-      border-top: none;
-      box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
-      display: block;
-      opacity: 0;
-      pointer-events: none;
-      top: calc(100% + (-4px));
-      transform: translateY(-5px);
-      transition-duration: 86ms;
-      transition-property: opacity, transform; }
-    .navbar-dropdown.is-right {
-      left: auto;
-      right: 0; }
-  .navbar-divider {
-    display: block; }
-  .navbar > .container .navbar-brand,
-  .container > .navbar .navbar-brand {
-    margin-left: -.75rem; }
-  .navbar > .container .navbar-menu,
-  .container > .navbar .navbar-menu {
-    margin-right: -.75rem; }
-  .navbar.is-fixed-bottom-desktop, .navbar.is-fixed-top-desktop {
-    left: 0;
-    position: fixed;
-    right: 0;
-    z-index: 30; }
-  .navbar.is-fixed-bottom-desktop {
-    bottom: 0; }
-    .navbar.is-fixed-bottom-desktop.has-shadow {
-      box-shadow: 0 -2px 3px rgba(10, 10, 10, 0.1); }
-  .navbar.is-fixed-top-desktop {
-    top: 0; }
-  html.has-navbar-fixed-top-desktop,
-  body.has-navbar-fixed-top-desktop {
-    padding-top: 3.25rem; }
-  html.has-navbar-fixed-bottom-desktop,
-  body.has-navbar-fixed-bottom-desktop {
-    padding-bottom: 3.25rem; }
-  html.has-spaced-navbar-fixed-top,
-  body.has-spaced-navbar-fixed-top {
-    padding-top: 5.25rem; }
-  html.has-spaced-navbar-fixed-bottom,
-  body.has-spaced-navbar-fixed-bottom {
-    padding-bottom: 5.25rem; }
-  a.navbar-item.is-active,
-  .navbar-link.is-active {
-    color: #0a0a0a; }
-  a.navbar-item.is-active:not(:focus):not(:hover),
-  .navbar-link.is-active:not(:focus):not(:hover) {
-    background-color: transparent; }
-  .navbar-item.has-dropdown:focus .navbar-link, .navbar-item.has-dropdown:hover .navbar-link, .navbar-item.has-dropdown.is-active .navbar-link {
-    background-color: #fafafa; } }
-
-.hero.is-fullheight-with-navbar {
-  min-height: calc(100vh - 3.25rem); }
-
-.pagination {
-  font-size: 1rem;
-  margin: -0.25rem; }
-  .pagination.is-small, #documenter .docs-sidebar form.docs-search > input.pagination {
-    font-size: 0.75rem; }
-  .pagination.is-medium {
-    font-size: 1.25rem; }
-  .pagination.is-large {
-    font-size: 1.5rem; }
-  .pagination.is-rounded .pagination-previous, #documenter .docs-sidebar form.docs-search > input.pagination .pagination-previous,
-  .pagination.is-rounded .pagination-next,
-  #documenter .docs-sidebar form.docs-search > input.pagination .pagination-next {
-    padding-left: 1em;
-    padding-right: 1em;
-    border-radius: 290486px; }
-  .pagination.is-rounded .pagination-link, #documenter .docs-sidebar form.docs-search > input.pagination .pagination-link {
-    border-radius: 290486px; }
-
-.pagination,
-.pagination-list {
-  align-items: center;
-  display: flex;
-  justify-content: center;
-  text-align: center; }
-
-.pagination-previous,
-.pagination-next,
-.pagination-link,
-.pagination-ellipsis {
-  font-size: 1em;
-  justify-content: center;
-  margin: 0.25rem;
-  padding-left: 0.5em;
-  padding-right: 0.5em;
-  text-align: center; }
-
-.pagination-previous,
-.pagination-next,
-.pagination-link {
-  border-color: #dbdbdb;
-  color: #363636;
-  min-width: 2.25em; }
-  .pagination-previous:hover,
-  .pagination-next:hover,
-  .pagination-link:hover {
-    border-color: #b5b5b5;
-    color: #363636; }
-  .pagination-previous:focus,
-  .pagination-next:focus,
-  .pagination-link:focus {
-    border-color: #3c5dcd; }
-  .pagination-previous:active,
-  .pagination-next:active,
-  .pagination-link:active {
-    box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2); }
-  .pagination-previous[disabled],
-  .pagination-next[disabled],
-  .pagination-link[disabled] {
-    background-color: #dbdbdb;
-    border-color: #dbdbdb;
-    box-shadow: none;
-    color: #6b6b6b;
-    opacity: 0.5; }
-
-.pagination-previous,
-.pagination-next {
-  padding-left: 0.75em;
-  padding-right: 0.75em;
-  white-space: nowrap; }
-
-.pagination-link.is-current {
-  background-color: #2e63b8;
-  border-color: #2e63b8;
-  color: #fff; }
-
-.pagination-ellipsis {
-  color: #b5b5b5;
-  pointer-events: none; }
-
-.pagination-list {
-  flex-wrap: wrap; }
-
-@media screen and (max-width: 768px) {
-  .pagination {
-    flex-wrap: wrap; }
-  .pagination-previous,
-  .pagination-next {
-    flex-grow: 1;
-    flex-shrink: 1; }
-  .pagination-list li {
-    flex-grow: 1;
-    flex-shrink: 1; } }
-
-@media screen and (min-width: 769px), print {
-  .pagination-list {
-    flex-grow: 1;
-    flex-shrink: 1;
-    justify-content: flex-start;
-    order: 1; }
-  .pagination-previous {
-    order: 2; }
-  .pagination-next {
-    order: 3; }
-  .pagination {
-    justify-content: space-between; }
-    .pagination.is-centered .pagination-previous {
-      order: 1; }
-    .pagination.is-centered .pagination-list {
-      justify-content: center;
-      order: 2; }
-    .pagination.is-centered .pagination-next {
-      order: 3; }
-    .pagination.is-right .pagination-previous {
-      order: 1; }
-    .pagination.is-right .pagination-next {
-      order: 2; }
-    .pagination.is-right .pagination-list {
-      justify-content: flex-end;
-      order: 3; } }
-
-.panel {
-  font-size: 1rem; }
-  .panel:not(:last-child) {
-    margin-bottom: 1.5rem; }
-
-.panel-heading,
-.panel-tabs,
-.panel-block {
-  border-bottom: 1px solid #dbdbdb;
-  border-left: 1px solid #dbdbdb;
-  border-right: 1px solid #dbdbdb; }
-  .panel-heading:first-child,
-  .panel-tabs:first-child,
-  .panel-block:first-child {
-    border-top: 1px solid #dbdbdb; }
-
-.panel-heading {
-  background-color: whitesmoke;
-  border-radius: 4px 4px 0 0;
-  color: #222222;
-  font-size: 1.25em;
-  font-weight: 300;
-  line-height: 1.25;
-  padding: 0.5em 0.75em; }
-
-.panel-tabs {
-  align-items: flex-end;
-  display: flex;
-  font-size: 0.875em;
-  justify-content: center; }
-  .panel-tabs a {
-    border-bottom: 1px solid #dbdbdb;
-    margin-bottom: -1px;
-    padding: 0.5em; }
-    .panel-tabs a.is-active {
-      border-bottom-color: #4a4a4a;
-      color: #363636; }
-
-.panel-list a {
-  color: #222222; }
-  .panel-list a:hover {
-    color: #2e63b8; }
-
-.panel-block {
-  align-items: center;
-  color: #222222;
-  display: flex;
-  justify-content: flex-start;
-  padding: 0.5em 0.75em; }
-  .panel-block input[type="checkbox"] {
-    margin-right: 0.75em; }
-  .panel-block > .control {
-    flex-grow: 1;
-    flex-shrink: 1;
-    width: 100%; }
-  .panel-block.is-wrapped {
-    flex-wrap: wrap; }
-  .panel-block.is-active {
-    border-left-color: #2e63b8;
-    color: #363636; }
-    .panel-block.is-active .panel-icon {
-      color: #2e63b8; }
-
-a.panel-block,
-label.panel-block {
-  cursor: pointer; }
-  a.panel-block:hover,
-  label.panel-block:hover {
-    background-color: whitesmoke; }
-
-.panel-icon {
-  display: inline-block;
-  font-size: 14px;
-  height: 1em;
-  line-height: 1em;
-  text-align: center;
-  vertical-align: top;
-  width: 1em;
-  color: #6b6b6b;
-  margin-right: 0.75em; }
-  .panel-icon .fa {
-    font-size: inherit;
-    line-height: inherit; }
-
-.tabs {
-  -webkit-overflow-scrolling: touch;
-  align-items: stretch;
-  display: flex;
-  font-size: 1rem;
-  justify-content: space-between;
-  overflow: hidden;
-  overflow-x: auto;
-  white-space: nowrap; }
-  .tabs a {
-    align-items: center;
-    border-bottom-color: #dbdbdb;
-    border-bottom-style: solid;
-    border-bottom-width: 1px;
-    color: #222222;
-    display: flex;
-    justify-content: center;
-    margin-bottom: -1px;
-    padding: 0.5em 1em;
-    vertical-align: top; }
-    .tabs a:hover {
-      border-bottom-color: #222222;
-      color: #222222; }
-  .tabs li {
-    display: block; }
-    .tabs li.is-active a {
-      border-bottom-color: #2e63b8;
-      color: #2e63b8; }
-  .tabs ul {
-    align-items: center;
-    border-bottom-color: #dbdbdb;
-    border-bottom-style: solid;
-    border-bottom-width: 1px;
-    display: flex;
-    flex-grow: 1;
-    flex-shrink: 0;
-    justify-content: flex-start; }
-    .tabs ul.is-left {
-      padding-right: 0.75em; }
-    .tabs ul.is-center {
-      flex: none;
-      justify-content: center;
-      padding-left: 0.75em;
-      padding-right: 0.75em; }
-    .tabs ul.is-right {
-      justify-content: flex-end;
-      padding-left: 0.75em; }
-  .tabs .icon:first-child {
-    margin-right: 0.5em; }
-  .tabs .icon:last-child {
-    margin-left: 0.5em; }
-  .tabs.is-centered ul {
-    justify-content: center; }
-  .tabs.is-right ul {
-    justify-content: flex-end; }
-  .tabs.is-boxed a {
-    border: 1px solid transparent;
-    border-radius: 4px 4px 0 0; }
-    .tabs.is-boxed a:hover {
-      background-color: whitesmoke;
-      border-bottom-color: #dbdbdb; }
-  .tabs.is-boxed li.is-active a {
-    background-color: white;
-    border-color: #dbdbdb;
-    border-bottom-color: transparent !important; }
-  .tabs.is-fullwidth li {
-    flex-grow: 1;
-    flex-shrink: 0; }
-  .tabs.is-toggle a {
-    border-color: #dbdbdb;
-    border-style: solid;
-    border-width: 1px;
-    margin-bottom: 0;
-    position: relative; }
-    .tabs.is-toggle a:hover {
-      background-color: whitesmoke;
-      border-color: #b5b5b5;
-      z-index: 2; }
-  .tabs.is-toggle li + li {
-    margin-left: -1px; }
-  .tabs.is-toggle li:first-child a {
-    border-radius: 4px 0 0 4px; }
-  .tabs.is-toggle li:last-child a {
-    border-radius: 0 4px 4px 0; }
-  .tabs.is-toggle li.is-active a {
-    background-color: #2e63b8;
-    border-color: #2e63b8;
-    color: #fff;
-    z-index: 1; }
-  .tabs.is-toggle ul {
-    border-bottom: none; }
-  .tabs.is-toggle.is-toggle-rounded li:first-child a {
-    border-bottom-left-radius: 290486px;
-    border-top-left-radius: 290486px;
-    padding-left: 1.25em; }
-  .tabs.is-toggle.is-toggle-rounded li:last-child a {
-    border-bottom-right-radius: 290486px;
-    border-top-right-radius: 290486px;
-    padding-right: 1.25em; }
-  .tabs.is-small, #documenter .docs-sidebar form.docs-search > input.tabs {
-    font-size: 0.75rem; }
-  .tabs.is-medium {
-    font-size: 1.25rem; }
-  .tabs.is-large {
-    font-size: 1.5rem; }
-
-.column {
-  display: block;
-  flex-basis: 0;
-  flex-grow: 1;
-  flex-shrink: 1;
-  padding: 0.75rem; }
-  .columns.is-mobile > .column.is-narrow {
-    flex: none; }
-  .columns.is-mobile > .column.is-full {
-    flex: none;
-    width: 100%; }
-  .columns.is-mobile > .column.is-three-quarters {
-    flex: none;
-    width: 75%; }
-  .columns.is-mobile > .column.is-two-thirds {
-    flex: none;
-    width: 66.6666%; }
-  .columns.is-mobile > .column.is-half {
-    flex: none;
-    width: 50%; }
-  .columns.is-mobile > .column.is-one-third {
-    flex: none;
-    width: 33.3333%; }
-  .columns.is-mobile > .column.is-one-quarter {
-    flex: none;
-    width: 25%; }
-  .columns.is-mobile > .column.is-one-fifth {
-    flex: none;
-    width: 20%; }
-  .columns.is-mobile > .column.is-two-fifths {
-    flex: none;
-    width: 40%; }
-  .columns.is-mobile > .column.is-three-fifths {
-    flex: none;
-    width: 60%; }
-  .columns.is-mobile > .column.is-four-fifths {
-    flex: none;
-    width: 80%; }
-  .columns.is-mobile > .column.is-offset-three-quarters {
-    margin-left: 75%; }
-  .columns.is-mobile > .column.is-offset-two-thirds {
-    margin-left: 66.6666%; }
-  .columns.is-mobile > .column.is-offset-half {
-    margin-left: 50%; }
-  .columns.is-mobile > .column.is-offset-one-third {
-    margin-left: 33.3333%; }
-  .columns.is-mobile > .column.is-offset-one-quarter {
-    margin-left: 25%; }
-  .columns.is-mobile > .column.is-offset-one-fifth {
-    margin-left: 20%; }
-  .columns.is-mobile > .column.is-offset-two-fifths {
-    margin-left: 40%; }
-  .columns.is-mobile > .column.is-offset-three-fifths {
-    margin-left: 60%; }
-  .columns.is-mobile > .column.is-offset-four-fifths {
-    margin-left: 80%; }
-  .columns.is-mobile > .column.is-0 {
-    flex: none;
-    width: 0%; }
-  .columns.is-mobile > .column.is-offset-0 {
-    margin-left: 0%; }
-  .columns.is-mobile > .column.is-1 {
-    flex: none;
-    width: 8.3333333333%; }
-  .columns.is-mobile > .column.is-offset-1 {
-    margin-left: 8.3333333333%; }
-  .columns.is-mobile > .column.is-2 {
-    flex: none;
-    width: 16.6666666667%; }
-  .columns.is-mobile > .column.is-offset-2 {
-    margin-left: 16.6666666667%; }
-  .columns.is-mobile > .column.is-3 {
-    flex: none;
-    width: 25%; }
-  .columns.is-mobile > .column.is-offset-3 {
-    margin-left: 25%; }
-  .columns.is-mobile > .column.is-4 {
-    flex: none;
-    width: 33.3333333333%; }
-  .columns.is-mobile > .column.is-offset-4 {
-    margin-left: 33.3333333333%; }
-  .columns.is-mobile > .column.is-5 {
-    flex: none;
-    width: 41.6666666667%; }
-  .columns.is-mobile > .column.is-offset-5 {
-    margin-left: 41.6666666667%; }
-  .columns.is-mobile > .column.is-6 {
-    flex: none;
-    width: 50%; }
-  .columns.is-mobile > .column.is-offset-6 {
-    margin-left: 50%; }
-  .columns.is-mobile > .column.is-7 {
-    flex: none;
-    width: 58.3333333333%; }
-  .columns.is-mobile > .column.is-offset-7 {
-    margin-left: 58.3333333333%; }
-  .columns.is-mobile > .column.is-8 {
-    flex: none;
-    width: 66.6666666667%; }
-  .columns.is-mobile > .column.is-offset-8 {
-    margin-left: 66.6666666667%; }
-  .columns.is-mobile > .column.is-9 {
-    flex: none;
-    width: 75%; }
-  .columns.is-mobile > .column.is-offset-9 {
-    margin-left: 75%; }
-  .columns.is-mobile > .column.is-10 {
-    flex: none;
-    width: 83.3333333333%; }
-  .columns.is-mobile > .column.is-offset-10 {
-    margin-left: 83.3333333333%; }
-  .columns.is-mobile > .column.is-11 {
-    flex: none;
-    width: 91.6666666667%; }
-  .columns.is-mobile > .column.is-offset-11 {
-    margin-left: 91.6666666667%; }
-  .columns.is-mobile > .column.is-12 {
-    flex: none;
-    width: 100%; }
-  .columns.is-mobile > .column.is-offset-12 {
-    margin-left: 100%; }
-  @media screen and (max-width: 768px) {
-    .column.is-narrow-mobile {
-      flex: none; }
-    .column.is-full-mobile {
-      flex: none;
-      width: 100%; }
-    .column.is-three-quarters-mobile {
-      flex: none;
-      width: 75%; }
-    .column.is-two-thirds-mobile {
-      flex: none;
-      width: 66.6666%; }
-    .column.is-half-mobile {
-      flex: none;
-      width: 50%; }
-    .column.is-one-third-mobile {
-      flex: none;
-      width: 33.3333%; }
-    .column.is-one-quarter-mobile {
-      flex: none;
-      width: 25%; }
-    .column.is-one-fifth-mobile {
-      flex: none;
-      width: 20%; }
-    .column.is-two-fifths-mobile {
-      flex: none;
-      width: 40%; }
-    .column.is-three-fifths-mobile {
-      flex: none;
-      width: 60%; }
-    .column.is-four-fifths-mobile {
-      flex: none;
-      width: 80%; }
-    .column.is-offset-three-quarters-mobile {
-      margin-left: 75%; }
-    .column.is-offset-two-thirds-mobile {
-      margin-left: 66.6666%; }
-    .column.is-offset-half-mobile {
-      margin-left: 50%; }
-    .column.is-offset-one-third-mobile {
-      margin-left: 33.3333%; }
-    .column.is-offset-one-quarter-mobile {
-      margin-left: 25%; }
-    .column.is-offset-one-fifth-mobile {
-      margin-left: 20%; }
-    .column.is-offset-two-fifths-mobile {
-      margin-left: 40%; }
-    .column.is-offset-three-fifths-mobile {
-      margin-left: 60%; }
-    .column.is-offset-four-fifths-mobile {
-      margin-left: 80%; }
-    .column.is-0-mobile {
-      flex: none;
-      width: 0%; }
-    .column.is-offset-0-mobile {
-      margin-left: 0%; }
-    .column.is-1-mobile {
-      flex: none;
-      width: 8.3333333333%; }
-    .column.is-offset-1-mobile {
-      margin-left: 8.3333333333%; }
-    .column.is-2-mobile {
-      flex: none;
-      width: 16.6666666667%; }
-    .column.is-offset-2-mobile {
-      margin-left: 16.6666666667%; }
-    .column.is-3-mobile {
-      flex: none;
-      width: 25%; }
-    .column.is-offset-3-mobile {
-      margin-left: 25%; }
-    .column.is-4-mobile {
-      flex: none;
-      width: 33.3333333333%; }
-    .column.is-offset-4-mobile {
-      margin-left: 33.3333333333%; }
-    .column.is-5-mobile {
-      flex: none;
-      width: 41.6666666667%; }
-    .column.is-offset-5-mobile {
-      margin-left: 41.6666666667%; }
-    .column.is-6-mobile {
-      flex: none;
-      width: 50%; }
-    .column.is-offset-6-mobile {
-      margin-left: 50%; }
-    .column.is-7-mobile {
-      flex: none;
-      width: 58.3333333333%; }
-    .column.is-offset-7-mobile {
-      margin-left: 58.3333333333%; }
-    .column.is-8-mobile {
-      flex: none;
-      width: 66.6666666667%; }
-    .column.is-offset-8-mobile {
-      margin-left: 66.6666666667%; }
-    .column.is-9-mobile {
-      flex: none;
-      width: 75%; }
-    .column.is-offset-9-mobile {
-      margin-left: 75%; }
-    .column.is-10-mobile {
-      flex: none;
-      width: 83.3333333333%; }
-    .column.is-offset-10-mobile {
-      margin-left: 83.3333333333%; }
-    .column.is-11-mobile {
-      flex: none;
-      width: 91.6666666667%; }
-    .column.is-offset-11-mobile {
-      margin-left: 91.6666666667%; }
-    .column.is-12-mobile {
-      flex: none;
-      width: 100%; }
-    .column.is-offset-12-mobile {
-      margin-left: 100%; } }
-  @media screen and (min-width: 769px), print {
-    .column.is-narrow, .column.is-narrow-tablet {
-      flex: none; }
-    .column.is-full, .column.is-full-tablet {
-      flex: none;
-      width: 100%; }
-    .column.is-three-quarters, .column.is-three-quarters-tablet {
-      flex: none;
-      width: 75%; }
-    .column.is-two-thirds, .column.is-two-thirds-tablet {
-      flex: none;
-      width: 66.6666%; }
-    .column.is-half, .column.is-half-tablet {
-      flex: none;
-      width: 50%; }
-    .column.is-one-third, .column.is-one-third-tablet {
-      flex: none;
-      width: 33.3333%; }
-    .column.is-one-quarter, .column.is-one-quarter-tablet {
-      flex: none;
-      width: 25%; }
-    .column.is-one-fifth, .column.is-one-fifth-tablet {
-      flex: none;
-      width: 20%; }
-    .column.is-two-fifths, .column.is-two-fifths-tablet {
-      flex: none;
-      width: 40%; }
-    .column.is-three-fifths, .column.is-three-fifths-tablet {
-      flex: none;
-      width: 60%; }
-    .column.is-four-fifths, .column.is-four-fifths-tablet {
-      flex: none;
-      width: 80%; }
-    .column.is-offset-three-quarters, .column.is-offset-three-quarters-tablet {
-      margin-left: 75%; }
-    .column.is-offset-two-thirds, .column.is-offset-two-thirds-tablet {
-      margin-left: 66.6666%; }
-    .column.is-offset-half, .column.is-offset-half-tablet {
-      margin-left: 50%; }
-    .column.is-offset-one-third, .column.is-offset-one-third-tablet {
-      margin-left: 33.3333%; }
-    .column.is-offset-one-quarter, .column.is-offset-one-quarter-tablet {
-      margin-left: 25%; }
-    .column.is-offset-one-fifth, .column.is-offset-one-fifth-tablet {
-      margin-left: 20%; }
-    .column.is-offset-two-fifths, .column.is-offset-two-fifths-tablet {
-      margin-left: 40%; }
-    .column.is-offset-three-fifths, .column.is-offset-three-fifths-tablet {
-      margin-left: 60%; }
-    .column.is-offset-four-fifths, .column.is-offset-four-fifths-tablet {
-      margin-left: 80%; }
-    .column.is-0, .column.is-0-tablet {
-      flex: none;
-      width: 0%; }
-    .column.is-offset-0, .column.is-offset-0-tablet {
-      margin-left: 0%; }
-    .column.is-1, .column.is-1-tablet {
-      flex: none;
-      width: 8.3333333333%; }
-    .column.is-offset-1, .column.is-offset-1-tablet {
-      margin-left: 8.3333333333%; }
-    .column.is-2, .column.is-2-tablet {
-      flex: none;
-      width: 16.6666666667%; }
-    .column.is-offset-2, .column.is-offset-2-tablet {
-      margin-left: 16.6666666667%; }
-    .column.is-3, .column.is-3-tablet {
-      flex: none;
-      width: 25%; }
-    .column.is-offset-3, .column.is-offset-3-tablet {
-      margin-left: 25%; }
-    .column.is-4, .column.is-4-tablet {
-      flex: none;
-      width: 33.3333333333%; }
-    .column.is-offset-4, .column.is-offset-4-tablet {
-      margin-left: 33.3333333333%; }
-    .column.is-5, .column.is-5-tablet {
-      flex: none;
-      width: 41.6666666667%; }
-    .column.is-offset-5, .column.is-offset-5-tablet {
-      margin-left: 41.6666666667%; }
-    .column.is-6, .column.is-6-tablet {
-      flex: none;
-      width: 50%; }
-    .column.is-offset-6, .column.is-offset-6-tablet {
-      margin-left: 50%; }
-    .column.is-7, .column.is-7-tablet {
-      flex: none;
-      width: 58.3333333333%; }
-    .column.is-offset-7, .column.is-offset-7-tablet {
-      margin-left: 58.3333333333%; }
-    .column.is-8, .column.is-8-tablet {
-      flex: none;
-      width: 66.6666666667%; }
-    .column.is-offset-8, .column.is-offset-8-tablet {
-      margin-left: 66.6666666667%; }
-    .column.is-9, .column.is-9-tablet {
-      flex: none;
-      width: 75%; }
-    .column.is-offset-9, .column.is-offset-9-tablet {
-      margin-left: 75%; }
-    .column.is-10, .column.is-10-tablet {
-      flex: none;
-      width: 83.3333333333%; }
-    .column.is-offset-10, .column.is-offset-10-tablet {
-      margin-left: 83.3333333333%; }
-    .column.is-11, .column.is-11-tablet {
-      flex: none;
-      width: 91.6666666667%; }
-    .column.is-offset-11, .column.is-offset-11-tablet {
-      margin-left: 91.6666666667%; }
-    .column.is-12, .column.is-12-tablet {
-      flex: none;
-      width: 100%; }
-    .column.is-offset-12, .column.is-offset-12-tablet {
-      margin-left: 100%; } }
-  @media screen and (max-width: 1055px) {
-    .column.is-narrow-touch {
-      flex: none; }
-    .column.is-full-touch {
-      flex: none;
-      width: 100%; }
-    .column.is-three-quarters-touch {
-      flex: none;
-      width: 75%; }
-    .column.is-two-thirds-touch {
-      flex: none;
-      width: 66.6666%; }
-    .column.is-half-touch {
-      flex: none;
-      width: 50%; }
-    .column.is-one-third-touch {
-      flex: none;
-      width: 33.3333%; }
-    .column.is-one-quarter-touch {
-      flex: none;
-      width: 25%; }
-    .column.is-one-fifth-touch {
-      flex: none;
-      width: 20%; }
-    .column.is-two-fifths-touch {
-      flex: none;
-      width: 40%; }
-    .column.is-three-fifths-touch {
-      flex: none;
-      width: 60%; }
-    .column.is-four-fifths-touch {
-      flex: none;
-      width: 80%; }
-    .column.is-offset-three-quarters-touch {
-      margin-left: 75%; }
-    .column.is-offset-two-thirds-touch {
-      margin-left: 66.6666%; }
-    .column.is-offset-half-touch {
-      margin-left: 50%; }
-    .column.is-offset-one-third-touch {
-      margin-left: 33.3333%; }
-    .column.is-offset-one-quarter-touch {
-      margin-left: 25%; }
-    .column.is-offset-one-fifth-touch {
-      margin-left: 20%; }
-    .column.is-offset-two-fifths-touch {
-      margin-left: 40%; }
-    .column.is-offset-three-fifths-touch {
-      margin-left: 60%; }
-    .column.is-offset-four-fifths-touch {
-      margin-left: 80%; }
-    .column.is-0-touch {
-      flex: none;
-      width: 0%; }
-    .column.is-offset-0-touch {
-      margin-left: 0%; }
-    .column.is-1-touch {
-      flex: none;
-      width: 8.3333333333%; }
-    .column.is-offset-1-touch {
-      margin-left: 8.3333333333%; }
-    .column.is-2-touch {
-      flex: none;
-      width: 16.6666666667%; }
-    .column.is-offset-2-touch {
-      margin-left: 16.6666666667%; }
-    .column.is-3-touch {
-      flex: none;
-      width: 25%; }
-    .column.is-offset-3-touch {
-      margin-left: 25%; }
-    .column.is-4-touch {
-      flex: none;
-      width: 33.3333333333%; }
-    .column.is-offset-4-touch {
-      margin-left: 33.3333333333%; }
-    .column.is-5-touch {
-      flex: none;
-      width: 41.6666666667%; }
-    .column.is-offset-5-touch {
-      margin-left: 41.6666666667%; }
-    .column.is-6-touch {
-      flex: none;
-      width: 50%; }
-    .column.is-offset-6-touch {
-      margin-left: 50%; }
-    .column.is-7-touch {
-      flex: none;
-      width: 58.3333333333%; }
-    .column.is-offset-7-touch {
-      margin-left: 58.3333333333%; }
-    .column.is-8-touch {
-      flex: none;
-      width: 66.6666666667%; }
-    .column.is-offset-8-touch {
-      margin-left: 66.6666666667%; }
-    .column.is-9-touch {
-      flex: none;
-      width: 75%; }
-    .column.is-offset-9-touch {
-      margin-left: 75%; }
-    .column.is-10-touch {
-      flex: none;
-      width: 83.3333333333%; }
-    .column.is-offset-10-touch {
-      margin-left: 83.3333333333%; }
-    .column.is-11-touch {
-      flex: none;
-      width: 91.6666666667%; }
-    .column.is-offset-11-touch {
-      margin-left: 91.6666666667%; }
-    .column.is-12-touch {
-      flex: none;
-      width: 100%; }
-    .column.is-offset-12-touch {
-      margin-left: 100%; } }
-  @media screen and (min-width: 1056px) {
-    .column.is-narrow-desktop {
-      flex: none; }
-    .column.is-full-desktop {
-      flex: none;
-      width: 100%; }
-    .column.is-three-quarters-desktop {
-      flex: none;
-      width: 75%; }
-    .column.is-two-thirds-desktop {
-      flex: none;
-      width: 66.6666%; }
-    .column.is-half-desktop {
-      flex: none;
-      width: 50%; }
-    .column.is-one-third-desktop {
-      flex: none;
-      width: 33.3333%; }
-    .column.is-one-quarter-desktop {
-      flex: none;
-      width: 25%; }
-    .column.is-one-fifth-desktop {
-      flex: none;
-      width: 20%; }
-    .column.is-two-fifths-desktop {
-      flex: none;
-      width: 40%; }
-    .column.is-three-fifths-desktop {
-      flex: none;
-      width: 60%; }
-    .column.is-four-fifths-desktop {
-      flex: none;
-      width: 80%; }
-    .column.is-offset-three-quarters-desktop {
-      margin-left: 75%; }
-    .column.is-offset-two-thirds-desktop {
-      margin-left: 66.6666%; }
-    .column.is-offset-half-desktop {
-      margin-left: 50%; }
-    .column.is-offset-one-third-desktop {
-      margin-left: 33.3333%; }
-    .column.is-offset-one-quarter-desktop {
-      margin-left: 25%; }
-    .column.is-offset-one-fifth-desktop {
-      margin-left: 20%; }
-    .column.is-offset-two-fifths-desktop {
-      margin-left: 40%; }
-    .column.is-offset-three-fifths-desktop {
-      margin-left: 60%; }
-    .column.is-offset-four-fifths-desktop {
-      margin-left: 80%; }
-    .column.is-0-desktop {
-      flex: none;
-      width: 0%; }
-    .column.is-offset-0-desktop {
-      margin-left: 0%; }
-    .column.is-1-desktop {
-      flex: none;
-      width: 8.3333333333%; }
-    .column.is-offset-1-desktop {
-      margin-left: 8.3333333333%; }
-    .column.is-2-desktop {
-      flex: none;
-      width: 16.6666666667%; }
-    .column.is-offset-2-desktop {
-      margin-left: 16.6666666667%; }
-    .column.is-3-desktop {
-      flex: none;
-      width: 25%; }
-    .column.is-offset-3-desktop {
-      margin-left: 25%; }
-    .column.is-4-desktop {
-      flex: none;
-      width: 33.3333333333%; }
-    .column.is-offset-4-desktop {
-      margin-left: 33.3333333333%; }
-    .column.is-5-desktop {
-      flex: none;
-      width: 41.6666666667%; }
-    .column.is-offset-5-desktop {
-      margin-left: 41.6666666667%; }
-    .column.is-6-desktop {
-      flex: none;
-      width: 50%; }
-    .column.is-offset-6-desktop {
-      margin-left: 50%; }
-    .column.is-7-desktop {
-      flex: none;
-      width: 58.3333333333%; }
-    .column.is-offset-7-desktop {
-      margin-left: 58.3333333333%; }
-    .column.is-8-desktop {
-      flex: none;
-      width: 66.6666666667%; }
-    .column.is-offset-8-desktop {
-      margin-left: 66.6666666667%; }
-    .column.is-9-desktop {
-      flex: none;
-      width: 75%; }
-    .column.is-offset-9-desktop {
-      margin-left: 75%; }
-    .column.is-10-desktop {
-      flex: none;
-      width: 83.3333333333%; }
-    .column.is-offset-10-desktop {
-      margin-left: 83.3333333333%; }
-    .column.is-11-desktop {
-      flex: none;
-      width: 91.6666666667%; }
-    .column.is-offset-11-desktop {
-      margin-left: 91.6666666667%; }
-    .column.is-12-desktop {
-      flex: none;
-      width: 100%; }
-    .column.is-offset-12-desktop {
-      margin-left: 100%; } }
-  @media screen and (min-width: 1216px) {
-    .column.is-narrow-widescreen {
-      flex: none; }
-    .column.is-full-widescreen {
-      flex: none;
-      width: 100%; }
-    .column.is-three-quarters-widescreen {
-      flex: none;
-      width: 75%; }
-    .column.is-two-thirds-widescreen {
-      flex: none;
-      width: 66.6666%; }
-    .column.is-half-widescreen {
-      flex: none;
-      width: 50%; }
-    .column.is-one-third-widescreen {
-      flex: none;
-      width: 33.3333%; }
-    .column.is-one-quarter-widescreen {
-      flex: none;
-      width: 25%; }
-    .column.is-one-fifth-widescreen {
-      flex: none;
-      width: 20%; }
-    .column.is-two-fifths-widescreen {
-      flex: none;
-      width: 40%; }
-    .column.is-three-fifths-widescreen {
-      flex: none;
-      width: 60%; }
-    .column.is-four-fifths-widescreen {
-      flex: none;
-      width: 80%; }
-    .column.is-offset-three-quarters-widescreen {
-      margin-left: 75%; }
-    .column.is-offset-two-thirds-widescreen {
-      margin-left: 66.6666%; }
-    .column.is-offset-half-widescreen {
-      margin-left: 50%; }
-    .column.is-offset-one-third-widescreen {
-      margin-left: 33.3333%; }
-    .column.is-offset-one-quarter-widescreen {
-      margin-left: 25%; }
-    .column.is-offset-one-fifth-widescreen {
-      margin-left: 20%; }
-    .column.is-offset-two-fifths-widescreen {
-      margin-left: 40%; }
-    .column.is-offset-three-fifths-widescreen {
-      margin-left: 60%; }
-    .column.is-offset-four-fifths-widescreen {
-      margin-left: 80%; }
-    .column.is-0-widescreen {
-      flex: none;
-      width: 0%; }
-    .column.is-offset-0-widescreen {
-      margin-left: 0%; }
-    .column.is-1-widescreen {
-      flex: none;
-      width: 8.3333333333%; }
-    .column.is-offset-1-widescreen {
-      margin-left: 8.3333333333%; }
-    .column.is-2-widescreen {
-      flex: none;
-      width: 16.6666666667%; }
-    .column.is-offset-2-widescreen {
-      margin-left: 16.6666666667%; }
-    .column.is-3-widescreen {
-      flex: none;
-      width: 25%; }
-    .column.is-offset-3-widescreen {
-      margin-left: 25%; }
-    .column.is-4-widescreen {
-      flex: none;
-      width: 33.3333333333%; }
-    .column.is-offset-4-widescreen {
-      margin-left: 33.3333333333%; }
-    .column.is-5-widescreen {
-      flex: none;
-      width: 41.6666666667%; }
-    .column.is-offset-5-widescreen {
-      margin-left: 41.6666666667%; }
-    .column.is-6-widescreen {
-      flex: none;
-      width: 50%; }
-    .column.is-offset-6-widescreen {
-      margin-left: 50%; }
-    .column.is-7-widescreen {
-      flex: none;
-      width: 58.3333333333%; }
-    .column.is-offset-7-widescreen {
-      margin-left: 58.3333333333%; }
-    .column.is-8-widescreen {
-      flex: none;
-      width: 66.6666666667%; }
-    .column.is-offset-8-widescreen {
-      margin-left: 66.6666666667%; }
-    .column.is-9-widescreen {
-      flex: none;
-      width: 75%; }
-    .column.is-offset-9-widescreen {
-      margin-left: 75%; }
-    .column.is-10-widescreen {
-      flex: none;
-      width: 83.3333333333%; }
-    .column.is-offset-10-widescreen {
-      margin-left: 83.3333333333%; }
-    .column.is-11-widescreen {
-      flex: none;
-      width: 91.6666666667%; }
-    .column.is-offset-11-widescreen {
-      margin-left: 91.6666666667%; }
-    .column.is-12-widescreen {
-      flex: none;
-      width: 100%; }
-    .column.is-offset-12-widescreen {
-      margin-left: 100%; } }
-  @media screen and (min-width: 1408px) {
-    .column.is-narrow-fullhd {
-      flex: none; }
-    .column.is-full-fullhd {
-      flex: none;
-      width: 100%; }
-    .column.is-three-quarters-fullhd {
-      flex: none;
-      width: 75%; }
-    .column.is-two-thirds-fullhd {
-      flex: none;
-      width: 66.6666%; }
-    .column.is-half-fullhd {
-      flex: none;
-      width: 50%; }
-    .column.is-one-third-fullhd {
-      flex: none;
-      width: 33.3333%; }
-    .column.is-one-quarter-fullhd {
-      flex: none;
-      width: 25%; }
-    .column.is-one-fifth-fullhd {
-      flex: none;
-      width: 20%; }
-    .column.is-two-fifths-fullhd {
-      flex: none;
-      width: 40%; }
-    .column.is-three-fifths-fullhd {
-      flex: none;
-      width: 60%; }
-    .column.is-four-fifths-fullhd {
-      flex: none;
-      width: 80%; }
-    .column.is-offset-three-quarters-fullhd {
-      margin-left: 75%; }
-    .column.is-offset-two-thirds-fullhd {
-      margin-left: 66.6666%; }
-    .column.is-offset-half-fullhd {
-      margin-left: 50%; }
-    .column.is-offset-one-third-fullhd {
-      margin-left: 33.3333%; }
-    .column.is-offset-one-quarter-fullhd {
-      margin-left: 25%; }
-    .column.is-offset-one-fifth-fullhd {
-      margin-left: 20%; }
-    .column.is-offset-two-fifths-fullhd {
-      margin-left: 40%; }
-    .column.is-offset-three-fifths-fullhd {
-      margin-left: 60%; }
-    .column.is-offset-four-fifths-fullhd {
-      margin-left: 80%; }
-    .column.is-0-fullhd {
-      flex: none;
-      width: 0%; }
-    .column.is-offset-0-fullhd {
-      margin-left: 0%; }
-    .column.is-1-fullhd {
-      flex: none;
-      width: 8.3333333333%; }
-    .column.is-offset-1-fullhd {
-      margin-left: 8.3333333333%; }
-    .column.is-2-fullhd {
-      flex: none;
-      width: 16.6666666667%; }
-    .column.is-offset-2-fullhd {
-      margin-left: 16.6666666667%; }
-    .column.is-3-fullhd {
-      flex: none;
-      width: 25%; }
-    .column.is-offset-3-fullhd {
-      margin-left: 25%; }
-    .column.is-4-fullhd {
-      flex: none;
-      width: 33.3333333333%; }
-    .column.is-offset-4-fullhd {
-      margin-left: 33.3333333333%; }
-    .column.is-5-fullhd {
-      flex: none;
-      width: 41.6666666667%; }
-    .column.is-offset-5-fullhd {
-      margin-left: 41.6666666667%; }
-    .column.is-6-fullhd {
-      flex: none;
-      width: 50%; }
-    .column.is-offset-6-fullhd {
-      margin-left: 50%; }
-    .column.is-7-fullhd {
-      flex: none;
-      width: 58.3333333333%; }
-    .column.is-offset-7-fullhd {
-      margin-left: 58.3333333333%; }
-    .column.is-8-fullhd {
-      flex: none;
-      width: 66.6666666667%; }
-    .column.is-offset-8-fullhd {
-      margin-left: 66.6666666667%; }
-    .column.is-9-fullhd {
-      flex: none;
-      width: 75%; }
-    .column.is-offset-9-fullhd {
-      margin-left: 75%; }
-    .column.is-10-fullhd {
-      flex: none;
-      width: 83.3333333333%; }
-    .column.is-offset-10-fullhd {
-      margin-left: 83.3333333333%; }
-    .column.is-11-fullhd {
-      flex: none;
-      width: 91.6666666667%; }
-    .column.is-offset-11-fullhd {
-      margin-left: 91.6666666667%; }
-    .column.is-12-fullhd {
-      flex: none;
-      width: 100%; }
-    .column.is-offset-12-fullhd {
-      margin-left: 100%; } }
-.columns {
-  margin-left: -0.75rem;
-  margin-right: -0.75rem;
-  margin-top: -0.75rem; }
-  .columns:last-child {
-    margin-bottom: -0.75rem; }
-  .columns:not(:last-child) {
-    margin-bottom: calc(1.5rem - 0.75rem); }
-  .columns.is-centered {
-    justify-content: center; }
-  .columns.is-gapless {
-    margin-left: 0;
-    margin-right: 0;
-    margin-top: 0; }
-    .columns.is-gapless > .column {
-      margin: 0;
-      padding: 0 !important; }
-    .columns.is-gapless:not(:last-child) {
-      margin-bottom: 1.5rem; }
-    .columns.is-gapless:last-child {
-      margin-bottom: 0; }
-  .columns.is-mobile {
-    display: flex; }
-  .columns.is-multiline {
-    flex-wrap: wrap; }
-  .columns.is-vcentered {
-    align-items: center; }
-  @media screen and (min-width: 769px), print {
-    .columns:not(.is-desktop) {
-      display: flex; } }
-  @media screen and (min-width: 1056px) {
-    .columns.is-desktop {
-      display: flex; } }
-.columns.is-variable {
-  --columnGap: 0.75rem;
-  margin-left: calc(-1 * var(--columnGap));
-  margin-right: calc(-1 * var(--columnGap)); }
-  .columns.is-variable .column {
-    padding-left: var(--columnGap);
-    padding-right: var(--columnGap); }
-  .columns.is-variable.is-0 {
-    --columnGap: 0rem; }
-  @media screen and (max-width: 768px) {
-    .columns.is-variable.is-0-mobile {
-      --columnGap: 0rem; } }
-  @media screen and (min-width: 769px), print {
-    .columns.is-variable.is-0-tablet {
-      --columnGap: 0rem; } }
-  @media screen and (min-width: 769px) and (max-width: 1055px) {
-    .columns.is-variable.is-0-tablet-only {
-      --columnGap: 0rem; } }
-  @media screen and (max-width: 1055px) {
-    .columns.is-variable.is-0-touch {
-      --columnGap: 0rem; } }
-  @media screen and (min-width: 1056px) {
-    .columns.is-variable.is-0-desktop {
-      --columnGap: 0rem; } }
-  @media screen and (min-width: 1056px) and (max-width: 1215px) {
-    .columns.is-variable.is-0-desktop-only {
-      --columnGap: 0rem; } }
-  @media screen and (min-width: 1216px) {
-    .columns.is-variable.is-0-widescreen {
-      --columnGap: 0rem; } }
-  @media screen and (min-width: 1216px) and (max-width: 1407px) {
-    .columns.is-variable.is-0-widescreen-only {
-      --columnGap: 0rem; } }
-  @media screen and (min-width: 1408px) {
-    .columns.is-variable.is-0-fullhd {
-      --columnGap: 0rem; } }
-  .columns.is-variable.is-1 {
-    --columnGap: 0.25rem; }
-  @media screen and (max-width: 768px) {
-    .columns.is-variable.is-1-mobile {
-      --columnGap: 0.25rem; } }
-  @media screen and (min-width: 769px), print {
-    .columns.is-variable.is-1-tablet {
-      --columnGap: 0.25rem; } }
-  @media screen and (min-width: 769px) and (max-width: 1055px) {
-    .columns.is-variable.is-1-tablet-only {
-      --columnGap: 0.25rem; } }
-  @media screen and (max-width: 1055px) {
-    .columns.is-variable.is-1-touch {
-      --columnGap: 0.25rem; } }
-  @media screen and (min-width: 1056px) {
-    .columns.is-variable.is-1-desktop {
-      --columnGap: 0.25rem; } }
-  @media screen and (min-width: 1056px) and (max-width: 1215px) {
-    .columns.is-variable.is-1-desktop-only {
-      --columnGap: 0.25rem; } }
-  @media screen and (min-width: 1216px) {
-    .columns.is-variable.is-1-widescreen {
-      --columnGap: 0.25rem; } }
-  @media screen and (min-width: 1216px) and (max-width: 1407px) {
-    .columns.is-variable.is-1-widescreen-only {
-      --columnGap: 0.25rem; } }
-  @media screen and (min-width: 1408px) {
-    .columns.is-variable.is-1-fullhd {
-      --columnGap: 0.25rem; } }
-  .columns.is-variable.is-2 {
-    --columnGap: 0.5rem; }
-  @media screen and (max-width: 768px) {
-    .columns.is-variable.is-2-mobile {
-      --columnGap: 0.5rem; } }
-  @media screen and (min-width: 769px), print {
-    .columns.is-variable.is-2-tablet {
-      --columnGap: 0.5rem; } }
-  @media screen and (min-width: 769px) and (max-width: 1055px) {
-    .columns.is-variable.is-2-tablet-only {
-      --columnGap: 0.5rem; } }
-  @media screen and (max-width: 1055px) {
-    .columns.is-variable.is-2-touch {
-      --columnGap: 0.5rem; } }
-  @media screen and (min-width: 1056px) {
-    .columns.is-variable.is-2-desktop {
-      --columnGap: 0.5rem; } }
-  @media screen and (min-width: 1056px) and (max-width: 1215px) {
-    .columns.is-variable.is-2-desktop-only {
-      --columnGap: 0.5rem; } }
-  @media screen and (min-width: 1216px) {
-    .columns.is-variable.is-2-widescreen {
-      --columnGap: 0.5rem; } }
-  @media screen and (min-width: 1216px) and (max-width: 1407px) {
-    .columns.is-variable.is-2-widescreen-only {
-      --columnGap: 0.5rem; } }
-  @media screen and (min-width: 1408px) {
-    .columns.is-variable.is-2-fullhd {
-      --columnGap: 0.5rem; } }
-  .columns.is-variable.is-3 {
-    --columnGap: 0.75rem; }
-  @media screen and (max-width: 768px) {
-    .columns.is-variable.is-3-mobile {
-      --columnGap: 0.75rem; } }
-  @media screen and (min-width: 769px), print {
-    .columns.is-variable.is-3-tablet {
-      --columnGap: 0.75rem; } }
-  @media screen and (min-width: 769px) and (max-width: 1055px) {
-    .columns.is-variable.is-3-tablet-only {
-      --columnGap: 0.75rem; } }
-  @media screen and (max-width: 1055px) {
-    .columns.is-variable.is-3-touch {
-      --columnGap: 0.75rem; } }
-  @media screen and (min-width: 1056px) {
-    .columns.is-variable.is-3-desktop {
-      --columnGap: 0.75rem; } }
-  @media screen and (min-width: 1056px) and (max-width: 1215px) {
-    .columns.is-variable.is-3-desktop-only {
-      --columnGap: 0.75rem; } }
-  @media screen and (min-width: 1216px) {
-    .columns.is-variable.is-3-widescreen {
-      --columnGap: 0.75rem; } }
-  @media screen and (min-width: 1216px) and (max-width: 1407px) {
-    .columns.is-variable.is-3-widescreen-only {
-      --columnGap: 0.75rem; } }
-  @media screen and (min-width: 1408px) {
-    .columns.is-variable.is-3-fullhd {
-      --columnGap: 0.75rem; } }
-  .columns.is-variable.is-4 {
-    --columnGap: 1rem; }
-  @media screen and (max-width: 768px) {
-    .columns.is-variable.is-4-mobile {
-      --columnGap: 1rem; } }
-  @media screen and (min-width: 769px), print {
-    .columns.is-variable.is-4-tablet {
-      --columnGap: 1rem; } }
-  @media screen and (min-width: 769px) and (max-width: 1055px) {
-    .columns.is-variable.is-4-tablet-only {
-      --columnGap: 1rem; } }
-  @media screen and (max-width: 1055px) {
-    .columns.is-variable.is-4-touch {
-      --columnGap: 1rem; } }
-  @media screen and (min-width: 1056px) {
-    .columns.is-variable.is-4-desktop {
-      --columnGap: 1rem; } }
-  @media screen and (min-width: 1056px) and (max-width: 1215px) {
-    .columns.is-variable.is-4-desktop-only {
-      --columnGap: 1rem; } }
-  @media screen and (min-width: 1216px) {
-    .columns.is-variable.is-4-widescreen {
-      --columnGap: 1rem; } }
-  @media screen and (min-width: 1216px) and (max-width: 1407px) {
-    .columns.is-variable.is-4-widescreen-only {
-      --columnGap: 1rem; } }
-  @media screen and (min-width: 1408px) {
-    .columns.is-variable.is-4-fullhd {
-      --columnGap: 1rem; } }
-  .columns.is-variable.is-5 {
-    --columnGap: 1.25rem; }
-  @media screen and (max-width: 768px) {
-    .columns.is-variable.is-5-mobile {
-      --columnGap: 1.25rem; } }
-  @media screen and (min-width: 769px), print {
-    .columns.is-variable.is-5-tablet {
-      --columnGap: 1.25rem; } }
-  @media screen and (min-width: 769px) and (max-width: 1055px) {
-    .columns.is-variable.is-5-tablet-only {
-      --columnGap: 1.25rem; } }
-  @media screen and (max-width: 1055px) {
-    .columns.is-variable.is-5-touch {
-      --columnGap: 1.25rem; } }
-  @media screen and (min-width: 1056px) {
-    .columns.is-variable.is-5-desktop {
-      --columnGap: 1.25rem; } }
-  @media screen and (min-width: 1056px) and (max-width: 1215px) {
-    .columns.is-variable.is-5-desktop-only {
-      --columnGap: 1.25rem; } }
-  @media screen and (min-width: 1216px) {
-    .columns.is-variable.is-5-widescreen {
-      --columnGap: 1.25rem; } }
-  @media screen and (min-width: 1216px) and (max-width: 1407px) {
-    .columns.is-variable.is-5-widescreen-only {
-      --columnGap: 1.25rem; } }
-  @media screen and (min-width: 1408px) {
-    .columns.is-variable.is-5-fullhd {
-      --columnGap: 1.25rem; } }
-  .columns.is-variable.is-6 {
-    --columnGap: 1.5rem; }
-  @media screen and (max-width: 768px) {
-    .columns.is-variable.is-6-mobile {
-      --columnGap: 1.5rem; } }
-  @media screen and (min-width: 769px), print {
-    .columns.is-variable.is-6-tablet {
-      --columnGap: 1.5rem; } }
-  @media screen and (min-width: 769px) and (max-width: 1055px) {
-    .columns.is-variable.is-6-tablet-only {
-      --columnGap: 1.5rem; } }
-  @media screen and (max-width: 1055px) {
-    .columns.is-variable.is-6-touch {
-      --columnGap: 1.5rem; } }
-  @media screen and (min-width: 1056px) {
-    .columns.is-variable.is-6-desktop {
-      --columnGap: 1.5rem; } }
-  @media screen and (min-width: 1056px) and (max-width: 1215px) {
-    .columns.is-variable.is-6-desktop-only {
-      --columnGap: 1.5rem; } }
-  @media screen and (min-width: 1216px) {
-    .columns.is-variable.is-6-widescreen {
-      --columnGap: 1.5rem; } }
-  @media screen and (min-width: 1216px) and (max-width: 1407px) {
-    .columns.is-variable.is-6-widescreen-only {
-      --columnGap: 1.5rem; } }
-  @media screen and (min-width: 1408px) {
-    .columns.is-variable.is-6-fullhd {
-      --columnGap: 1.5rem; } }
-  .columns.is-variable.is-7 {
-    --columnGap: 1.75rem; }
-  @media screen and (max-width: 768px) {
-    .columns.is-variable.is-7-mobile {
-      --columnGap: 1.75rem; } }
-  @media screen and (min-width: 769px), print {
-    .columns.is-variable.is-7-tablet {
-      --columnGap: 1.75rem; } }
-  @media screen and (min-width: 769px) and (max-width: 1055px) {
-    .columns.is-variable.is-7-tablet-only {
-      --columnGap: 1.75rem; } }
-  @media screen and (max-width: 1055px) {
-    .columns.is-variable.is-7-touch {
-      --columnGap: 1.75rem; } }
-  @media screen and (min-width: 1056px) {
-    .columns.is-variable.is-7-desktop {
-      --columnGap: 1.75rem; } }
-  @media screen and (min-width: 1056px) and (max-width: 1215px) {
-    .columns.is-variable.is-7-desktop-only {
-      --columnGap: 1.75rem; } }
-  @media screen and (min-width: 1216px) {
-    .columns.is-variable.is-7-widescreen {
-      --columnGap: 1.75rem; } }
-  @media screen and (min-width: 1216px) and (max-width: 1407px) {
-    .columns.is-variable.is-7-widescreen-only {
-      --columnGap: 1.75rem; } }
-  @media screen and (min-width: 1408px) {
-    .columns.is-variable.is-7-fullhd {
-      --columnGap: 1.75rem; } }
-  .columns.is-variable.is-8 {
-    --columnGap: 2rem; }
-  @media screen and (max-width: 768px) {
-    .columns.is-variable.is-8-mobile {
-      --columnGap: 2rem; } }
-  @media screen and (min-width: 769px), print {
-    .columns.is-variable.is-8-tablet {
-      --columnGap: 2rem; } }
-  @media screen and (min-width: 769px) and (max-width: 1055px) {
-    .columns.is-variable.is-8-tablet-only {
-      --columnGap: 2rem; } }
-  @media screen and (max-width: 1055px) {
-    .columns.is-variable.is-8-touch {
-      --columnGap: 2rem; } }
-  @media screen and (min-width: 1056px) {
-    .columns.is-variable.is-8-desktop {
-      --columnGap: 2rem; } }
-  @media screen and (min-width: 1056px) and (max-width: 1215px) {
-    .columns.is-variable.is-8-desktop-only {
-      --columnGap: 2rem; } }
-  @media screen and (min-width: 1216px) {
-    .columns.is-variable.is-8-widescreen {
-      --columnGap: 2rem; } }
-  @media screen and (min-width: 1216px) and (max-width: 1407px) {
-    .columns.is-variable.is-8-widescreen-only {
-      --columnGap: 2rem; } }
-  @media screen and (min-width: 1408px) {
-    .columns.is-variable.is-8-fullhd {
-      --columnGap: 2rem; } }
-.tile {
-  align-items: stretch;
-  display: block;
-  flex-basis: 0;
-  flex-grow: 1;
-  flex-shrink: 1;
-  min-height: min-content; }
-  .tile.is-ancestor {
-    margin-left: -0.75rem;
-    margin-right: -0.75rem;
-    margin-top: -0.75rem; }
-    .tile.is-ancestor:last-child {
-      margin-bottom: -0.75rem; }
-    .tile.is-ancestor:not(:last-child) {
-      margin-bottom: 0.75rem; }
-  .tile.is-child {
-    margin: 0 !important; }
-  .tile.is-parent {
-    padding: 0.75rem; }
-  .tile.is-vertical {
-    flex-direction: column; }
-    .tile.is-vertical > .tile.is-child:not(:last-child) {
-      margin-bottom: 1.5rem !important; }
-  @media screen and (min-width: 769px), print {
-    .tile:not(.is-child) {
-      display: flex; }
-    .tile.is-1 {
-      flex: none;
-      width: 8.3333333333%; }
-    .tile.is-2 {
-      flex: none;
-      width: 16.6666666667%; }
-    .tile.is-3 {
-      flex: none;
-      width: 25%; }
-    .tile.is-4 {
-      flex: none;
-      width: 33.3333333333%; }
-    .tile.is-5 {
-      flex: none;
-      width: 41.6666666667%; }
-    .tile.is-6 {
-      flex: none;
-      width: 50%; }
-    .tile.is-7 {
-      flex: none;
-      width: 58.3333333333%; }
-    .tile.is-8 {
-      flex: none;
-      width: 66.6666666667%; }
-    .tile.is-9 {
-      flex: none;
-      width: 75%; }
-    .tile.is-10 {
-      flex: none;
-      width: 83.3333333333%; }
-    .tile.is-11 {
-      flex: none;
-      width: 91.6666666667%; }
-    .tile.is-12 {
-      flex: none;
-      width: 100%; } }
-.hero {
-  align-items: stretch;
-  display: flex;
-  flex-direction: column;
-  justify-content: space-between; }
-  .hero .navbar {
-    background: none; }
-  .hero .tabs ul {
-    border-bottom: none; }
-  .hero.is-white {
-    background-color: white;
-    color: #0a0a0a; }
-    .hero.is-white a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-    .hero.is-white strong {
-      color: inherit; }
-    .hero.is-white .title {
-      color: #0a0a0a; }
-    .hero.is-white .subtitle {
-      color: rgba(10, 10, 10, 0.9); }
-      .hero.is-white .subtitle a:not(.button),
-      .hero.is-white .subtitle strong {
-        color: #0a0a0a; }
-    @media screen and (max-width: 1055px) {
-      .hero.is-white .navbar-menu {
-        background-color: white; } }
-    .hero.is-white .navbar-item,
-    .hero.is-white .navbar-link {
-      color: rgba(10, 10, 10, 0.7); }
-    .hero.is-white a.navbar-item:hover, .hero.is-white a.navbar-item.is-active,
-    .hero.is-white .navbar-link:hover,
-    .hero.is-white .navbar-link.is-active {
-      background-color: #f2f2f2;
-      color: #0a0a0a; }
-    .hero.is-white .tabs a {
-      color: #0a0a0a;
-      opacity: 0.9; }
-      .hero.is-white .tabs a:hover {
-        opacity: 1; }
-    .hero.is-white .tabs li.is-active a {
-      opacity: 1; }
-    .hero.is-white .tabs.is-boxed a, .hero.is-white .tabs.is-toggle a {
-      color: #0a0a0a; }
-      .hero.is-white .tabs.is-boxed a:hover, .hero.is-white .tabs.is-toggle a:hover {
-        background-color: rgba(10, 10, 10, 0.1); }
-    .hero.is-white .tabs.is-boxed li.is-active a, .hero.is-white .tabs.is-boxed li.is-active a:hover, .hero.is-white .tabs.is-toggle li.is-active a, .hero.is-white .tabs.is-toggle li.is-active a:hover {
-      background-color: #0a0a0a;
-      border-color: #0a0a0a;
-      color: white; }
-    .hero.is-white.is-bold {
-      background-image: linear-gradient(141deg, #e8e3e4 0%, white 71%, white 100%); }
-      @media screen and (max-width: 768px) {
-        .hero.is-white.is-bold .navbar-menu {
-          background-image: linear-gradient(141deg, #e8e3e4 0%, white 71%, white 100%); } }
-  .hero.is-black {
-    background-color: #0a0a0a;
-    color: white; }
-    .hero.is-black a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-    .hero.is-black strong {
-      color: inherit; }
-    .hero.is-black .title {
-      color: white; }
-    .hero.is-black .subtitle {
-      color: rgba(255, 255, 255, 0.9); }
-      .hero.is-black .subtitle a:not(.button),
-      .hero.is-black .subtitle strong {
-        color: white; }
-    @media screen and (max-width: 1055px) {
-      .hero.is-black .navbar-menu {
-        background-color: #0a0a0a; } }
-    .hero.is-black .navbar-item,
-    .hero.is-black .navbar-link {
-      color: rgba(255, 255, 255, 0.7); }
-    .hero.is-black a.navbar-item:hover, .hero.is-black a.navbar-item.is-active,
-    .hero.is-black .navbar-link:hover,
-    .hero.is-black .navbar-link.is-active {
-      background-color: black;
-      color: white; }
-    .hero.is-black .tabs a {
-      color: white;
-      opacity: 0.9; }
-      .hero.is-black .tabs a:hover {
-        opacity: 1; }
-    .hero.is-black .tabs li.is-active a {
-      opacity: 1; }
-    .hero.is-black .tabs.is-boxed a, .hero.is-black .tabs.is-toggle a {
-      color: white; }
-      .hero.is-black .tabs.is-boxed a:hover, .hero.is-black .tabs.is-toggle a:hover {
-        background-color: rgba(10, 10, 10, 0.1); }
-    .hero.is-black .tabs.is-boxed li.is-active a, .hero.is-black .tabs.is-boxed li.is-active a:hover, .hero.is-black .tabs.is-toggle li.is-active a, .hero.is-black .tabs.is-toggle li.is-active a:hover {
-      background-color: white;
-      border-color: white;
-      color: #0a0a0a; }
-    .hero.is-black.is-bold {
-      background-image: linear-gradient(141deg, black 0%, #0a0a0a 71%, #181616 100%); }
-      @media screen and (max-width: 768px) {
-        .hero.is-black.is-bold .navbar-menu {
-          background-image: linear-gradient(141deg, black 0%, #0a0a0a 71%, #181616 100%); } }
-  .hero.is-light {
-    background-color: whitesmoke;
-    color: #363636; }
-    .hero.is-light a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-    .hero.is-light strong {
-      color: inherit; }
-    .hero.is-light .title {
-      color: #363636; }
-    .hero.is-light .subtitle {
-      color: rgba(54, 54, 54, 0.9); }
-      .hero.is-light .subtitle a:not(.button),
-      .hero.is-light .subtitle strong {
-        color: #363636; }
-    @media screen and (max-width: 1055px) {
-      .hero.is-light .navbar-menu {
-        background-color: whitesmoke; } }
-    .hero.is-light .navbar-item,
-    .hero.is-light .navbar-link {
-      color: rgba(54, 54, 54, 0.7); }
-    .hero.is-light a.navbar-item:hover, .hero.is-light a.navbar-item.is-active,
-    .hero.is-light .navbar-link:hover,
-    .hero.is-light .navbar-link.is-active {
-      background-color: #e8e8e8;
-      color: #363636; }
-    .hero.is-light .tabs a {
-      color: #363636;
-      opacity: 0.9; }
-      .hero.is-light .tabs a:hover {
-        opacity: 1; }
-    .hero.is-light .tabs li.is-active a {
-      opacity: 1; }
-    .hero.is-light .tabs.is-boxed a, .hero.is-light .tabs.is-toggle a {
-      color: #363636; }
-      .hero.is-light .tabs.is-boxed a:hover, .hero.is-light .tabs.is-toggle a:hover {
-        background-color: rgba(10, 10, 10, 0.1); }
-    .hero.is-light .tabs.is-boxed li.is-active a, .hero.is-light .tabs.is-boxed li.is-active a:hover, .hero.is-light .tabs.is-toggle li.is-active a, .hero.is-light .tabs.is-toggle li.is-active a:hover {
-      background-color: #363636;
-      border-color: #363636;
-      color: whitesmoke; }
-    .hero.is-light.is-bold {
-      background-image: linear-gradient(141deg, #dfd8d9 0%, whitesmoke 71%, white 100%); }
-      @media screen and (max-width: 768px) {
-        .hero.is-light.is-bold .navbar-menu {
-          background-image: linear-gradient(141deg, #dfd8d9 0%, whitesmoke 71%, white 100%); } }
-  .hero.is-dark, .content kbd.hero {
-    background-color: #363636;
-    color: whitesmoke; }
-    .hero.is-dark a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), .content kbd.hero a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-    .hero.is-dark strong,
-    .content kbd.hero strong {
-      color: inherit; }
-    .hero.is-dark .title, .content kbd.hero .title {
-      color: whitesmoke; }
-    .hero.is-dark .subtitle, .content kbd.hero .subtitle {
-      color: rgba(245, 245, 245, 0.9); }
-      .hero.is-dark .subtitle a:not(.button), .content kbd.hero .subtitle a:not(.button),
-      .hero.is-dark .subtitle strong,
-      .content kbd.hero .subtitle strong {
-        color: whitesmoke; }
-    @media screen and (max-width: 1055px) {
-      .hero.is-dark .navbar-menu, .content kbd.hero .navbar-menu {
-        background-color: #363636; } }
-    .hero.is-dark .navbar-item, .content kbd.hero .navbar-item,
-    .hero.is-dark .navbar-link,
-    .content kbd.hero .navbar-link {
-      color: rgba(245, 245, 245, 0.7); }
-    .hero.is-dark a.navbar-item:hover, .content kbd.hero a.navbar-item:hover, .hero.is-dark a.navbar-item.is-active, .content kbd.hero a.navbar-item.is-active,
-    .hero.is-dark .navbar-link:hover,
-    .content kbd.hero .navbar-link:hover,
-    .hero.is-dark .navbar-link.is-active,
-    .content kbd.hero .navbar-link.is-active {
-      background-color: #292929;
-      color: whitesmoke; }
-    .hero.is-dark .tabs a, .content kbd.hero .tabs a {
-      color: whitesmoke;
-      opacity: 0.9; }
-      .hero.is-dark .tabs a:hover, .content kbd.hero .tabs a:hover {
-        opacity: 1; }
-    .hero.is-dark .tabs li.is-active a, .content kbd.hero .tabs li.is-active a {
-      opacity: 1; }
-    .hero.is-dark .tabs.is-boxed a, .content kbd.hero .tabs.is-boxed a, .hero.is-dark .tabs.is-toggle a, .content kbd.hero .tabs.is-toggle a {
-      color: whitesmoke; }
-      .hero.is-dark .tabs.is-boxed a:hover, .content kbd.hero .tabs.is-boxed a:hover, .hero.is-dark .tabs.is-toggle a:hover, .content kbd.hero .tabs.is-toggle a:hover {
-        background-color: rgba(10, 10, 10, 0.1); }
-    .hero.is-dark .tabs.is-boxed li.is-active a, .content kbd.hero .tabs.is-boxed li.is-active a, .hero.is-dark .tabs.is-boxed li.is-active a:hover, .hero.is-dark .tabs.is-toggle li.is-active a, .content kbd.hero .tabs.is-toggle li.is-active a, .hero.is-dark .tabs.is-toggle li.is-active a:hover {
-      background-color: whitesmoke;
-      border-color: whitesmoke;
-      color: #363636; }
-    .hero.is-dark.is-bold, .content kbd.hero.is-bold {
-      background-image: linear-gradient(141deg, #1f191a 0%, #363636 71%, #46403f 100%); }
-      @media screen and (max-width: 768px) {
-        .hero.is-dark.is-bold .navbar-menu, .content kbd.hero.is-bold .navbar-menu {
-          background-image: linear-gradient(141deg, #1f191a 0%, #363636 71%, #46403f 100%); } }
-  .hero.is-primary, .docstring > section > a.hero.docs-sourcelink {
-    background-color: #4eb5de;
-    color: #fff; }
-    .hero.is-primary a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), .docstring > section > a.hero.docs-sourcelink a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-    .hero.is-primary strong,
-    .docstring > section > a.hero.docs-sourcelink strong {
-      color: inherit; }
-    .hero.is-primary .title, .docstring > section > a.hero.docs-sourcelink .title {
-      color: #fff; }
-    .hero.is-primary .subtitle, .docstring > section > a.hero.docs-sourcelink .subtitle {
-      color: rgba(255, 255, 255, 0.9); }
-      .hero.is-primary .subtitle a:not(.button), .docstring > section > a.hero.docs-sourcelink .subtitle a:not(.button),
-      .hero.is-primary .subtitle strong,
-      .docstring > section > a.hero.docs-sourcelink .subtitle strong {
-        color: #fff; }
-    @media screen and (max-width: 1055px) {
-      .hero.is-primary .navbar-menu, .docstring > section > a.hero.docs-sourcelink .navbar-menu {
-        background-color: #4eb5de; } }
-    .hero.is-primary .navbar-item, .docstring > section > a.hero.docs-sourcelink .navbar-item,
-    .hero.is-primary .navbar-link,
-    .docstring > section > a.hero.docs-sourcelink .navbar-link {
-      color: rgba(255, 255, 255, 0.7); }
-    .hero.is-primary a.navbar-item:hover, .docstring > section > a.hero.docs-sourcelink a.navbar-item:hover, .hero.is-primary a.navbar-item.is-active, .docstring > section > a.hero.docs-sourcelink a.navbar-item.is-active,
-    .hero.is-primary .navbar-link:hover,
-    .docstring > section > a.hero.docs-sourcelink .navbar-link:hover,
-    .hero.is-primary .navbar-link.is-active,
-    .docstring > section > a.hero.docs-sourcelink .navbar-link.is-active {
-      background-color: #39acda;
-      color: #fff; }
-    .hero.is-primary .tabs a, .docstring > section > a.hero.docs-sourcelink .tabs a {
-      color: #fff;
-      opacity: 0.9; }
-      .hero.is-primary .tabs a:hover, .docstring > section > a.hero.docs-sourcelink .tabs a:hover {
-        opacity: 1; }
-    .hero.is-primary .tabs li.is-active a, .docstring > section > a.hero.docs-sourcelink .tabs li.is-active a {
-      opacity: 1; }
-    .hero.is-primary .tabs.is-boxed a, .docstring > section > a.hero.docs-sourcelink .tabs.is-boxed a, .hero.is-primary .tabs.is-toggle a, .docstring > section > a.hero.docs-sourcelink .tabs.is-toggle a {
-      color: #fff; }
-      .hero.is-primary .tabs.is-boxed a:hover, .docstring > section > a.hero.docs-sourcelink .tabs.is-boxed a:hover, .hero.is-primary .tabs.is-toggle a:hover, .docstring > section > a.hero.docs-sourcelink .tabs.is-toggle a:hover {
-        background-color: rgba(10, 10, 10, 0.1); }
-    .hero.is-primary .tabs.is-boxed li.is-active a, .docstring > section > a.hero.docs-sourcelink .tabs.is-boxed li.is-active a, .hero.is-primary .tabs.is-boxed li.is-active a:hover, .hero.is-primary .tabs.is-toggle li.is-active a, .docstring > section > a.hero.docs-sourcelink .tabs.is-toggle li.is-active a, .hero.is-primary .tabs.is-toggle li.is-active a:hover {
-      background-color: #fff;
-      border-color: #fff;
-      color: #4eb5de; }
-    .hero.is-primary.is-bold, .docstring > section > a.hero.is-bold.docs-sourcelink {
-      background-image: linear-gradient(141deg, #1bc7de 0%, #4eb5de 71%, #5fa9e7 100%); }
-      @media screen and (max-width: 768px) {
-        .hero.is-primary.is-bold .navbar-menu, .docstring > section > a.hero.is-bold.docs-sourcelink .navbar-menu {
-          background-image: linear-gradient(141deg, #1bc7de 0%, #4eb5de 71%, #5fa9e7 100%); } }
-  .hero.is-link {
-    background-color: #2e63b8;
-    color: #fff; }
-    .hero.is-link a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-    .hero.is-link strong {
-      color: inherit; }
-    .hero.is-link .title {
-      color: #fff; }
-    .hero.is-link .subtitle {
-      color: rgba(255, 255, 255, 0.9); }
-      .hero.is-link .subtitle a:not(.button),
-      .hero.is-link .subtitle strong {
-        color: #fff; }
-    @media screen and (max-width: 1055px) {
-      .hero.is-link .navbar-menu {
-        background-color: #2e63b8; } }
-    .hero.is-link .navbar-item,
-    .hero.is-link .navbar-link {
-      color: rgba(255, 255, 255, 0.7); }
-    .hero.is-link a.navbar-item:hover, .hero.is-link a.navbar-item.is-active,
-    .hero.is-link .navbar-link:hover,
-    .hero.is-link .navbar-link.is-active {
-      background-color: #2958a4;
-      color: #fff; }
-    .hero.is-link .tabs a {
-      color: #fff;
-      opacity: 0.9; }
-      .hero.is-link .tabs a:hover {
-        opacity: 1; }
-    .hero.is-link .tabs li.is-active a {
-      opacity: 1; }
-    .hero.is-link .tabs.is-boxed a, .hero.is-link .tabs.is-toggle a {
-      color: #fff; }
-      .hero.is-link .tabs.is-boxed a:hover, .hero.is-link .tabs.is-toggle a:hover {
-        background-color: rgba(10, 10, 10, 0.1); }
-    .hero.is-link .tabs.is-boxed li.is-active a, .hero.is-link .tabs.is-boxed li.is-active a:hover, .hero.is-link .tabs.is-toggle li.is-active a, .hero.is-link .tabs.is-toggle li.is-active a:hover {
-      background-color: #fff;
-      border-color: #fff;
-      color: #2e63b8; }
-    .hero.is-link.is-bold {
-      background-image: linear-gradient(141deg, #1b6098 0%, #2e63b8 71%, #2d51d2 100%); }
-      @media screen and (max-width: 768px) {
-        .hero.is-link.is-bold .navbar-menu {
-          background-image: linear-gradient(141deg, #1b6098 0%, #2e63b8 71%, #2d51d2 100%); } }
-  .hero.is-info {
-    background-color: #209cee;
-    color: #fff; }
-    .hero.is-info a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-    .hero.is-info strong {
-      color: inherit; }
-    .hero.is-info .title {
-      color: #fff; }
-    .hero.is-info .subtitle {
-      color: rgba(255, 255, 255, 0.9); }
-      .hero.is-info .subtitle a:not(.button),
-      .hero.is-info .subtitle strong {
-        color: #fff; }
-    @media screen and (max-width: 1055px) {
-      .hero.is-info .navbar-menu {
-        background-color: #209cee; } }
-    .hero.is-info .navbar-item,
-    .hero.is-info .navbar-link {
-      color: rgba(255, 255, 255, 0.7); }
-    .hero.is-info a.navbar-item:hover, .hero.is-info a.navbar-item.is-active,
-    .hero.is-info .navbar-link:hover,
-    .hero.is-info .navbar-link.is-active {
-      background-color: #1190e3;
-      color: #fff; }
-    .hero.is-info .tabs a {
-      color: #fff;
-      opacity: 0.9; }
-      .hero.is-info .tabs a:hover {
-        opacity: 1; }
-    .hero.is-info .tabs li.is-active a {
-      opacity: 1; }
-    .hero.is-info .tabs.is-boxed a, .hero.is-info .tabs.is-toggle a {
-      color: #fff; }
-      .hero.is-info .tabs.is-boxed a:hover, .hero.is-info .tabs.is-toggle a:hover {
-        background-color: rgba(10, 10, 10, 0.1); }
-    .hero.is-info .tabs.is-boxed li.is-active a, .hero.is-info .tabs.is-boxed li.is-active a:hover, .hero.is-info .tabs.is-toggle li.is-active a, .hero.is-info .tabs.is-toggle li.is-active a:hover {
-      background-color: #fff;
-      border-color: #fff;
-      color: #209cee; }
-    .hero.is-info.is-bold {
-      background-image: linear-gradient(141deg, #05a6d6 0%, #209cee 71%, #3287f5 100%); }
-      @media screen and (max-width: 768px) {
-        .hero.is-info.is-bold .navbar-menu {
-          background-image: linear-gradient(141deg, #05a6d6 0%, #209cee 71%, #3287f5 100%); } }
-  .hero.is-success {
-    background-color: #22c35b;
-    color: #fff; }
-    .hero.is-success a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-    .hero.is-success strong {
-      color: inherit; }
-    .hero.is-success .title {
-      color: #fff; }
-    .hero.is-success .subtitle {
-      color: rgba(255, 255, 255, 0.9); }
-      .hero.is-success .subtitle a:not(.button),
-      .hero.is-success .subtitle strong {
-        color: #fff; }
-    @media screen and (max-width: 1055px) {
-      .hero.is-success .navbar-menu {
-        background-color: #22c35b; } }
-    .hero.is-success .navbar-item,
-    .hero.is-success .navbar-link {
-      color: rgba(255, 255, 255, 0.7); }
-    .hero.is-success a.navbar-item:hover, .hero.is-success a.navbar-item.is-active,
-    .hero.is-success .navbar-link:hover,
-    .hero.is-success .navbar-link.is-active {
-      background-color: #1ead51;
-      color: #fff; }
-    .hero.is-success .tabs a {
-      color: #fff;
-      opacity: 0.9; }
-      .hero.is-success .tabs a:hover {
-        opacity: 1; }
-    .hero.is-success .tabs li.is-active a {
-      opacity: 1; }
-    .hero.is-success .tabs.is-boxed a, .hero.is-success .tabs.is-toggle a {
-      color: #fff; }
-      .hero.is-success .tabs.is-boxed a:hover, .hero.is-success .tabs.is-toggle a:hover {
-        background-color: rgba(10, 10, 10, 0.1); }
-    .hero.is-success .tabs.is-boxed li.is-active a, .hero.is-success .tabs.is-boxed li.is-active a:hover, .hero.is-success .tabs.is-toggle li.is-active a, .hero.is-success .tabs.is-toggle li.is-active a:hover {
-      background-color: #fff;
-      border-color: #fff;
-      color: #22c35b; }
-    .hero.is-success.is-bold {
-      background-image: linear-gradient(141deg, #12a02c 0%, #22c35b 71%, #1fdf83 100%); }
-      @media screen and (max-width: 768px) {
-        .hero.is-success.is-bold .navbar-menu {
-          background-image: linear-gradient(141deg, #12a02c 0%, #22c35b 71%, #1fdf83 100%); } }
-  .hero.is-warning {
-    background-color: #ffdd57;
-    color: rgba(0, 0, 0, 0.7); }
-    .hero.is-warning a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-    .hero.is-warning strong {
-      color: inherit; }
-    .hero.is-warning .title {
-      color: rgba(0, 0, 0, 0.7); }
-    .hero.is-warning .subtitle {
-      color: rgba(0, 0, 0, 0.9); }
-      .hero.is-warning .subtitle a:not(.button),
-      .hero.is-warning .subtitle strong {
-        color: rgba(0, 0, 0, 0.7); }
-    @media screen and (max-width: 1055px) {
-      .hero.is-warning .navbar-menu {
-        background-color: #ffdd57; } }
-    .hero.is-warning .navbar-item,
-    .hero.is-warning .navbar-link {
-      color: rgba(0, 0, 0, 0.7); }
-    .hero.is-warning a.navbar-item:hover, .hero.is-warning a.navbar-item.is-active,
-    .hero.is-warning .navbar-link:hover,
-    .hero.is-warning .navbar-link.is-active {
-      background-color: #ffd83e;
-      color: rgba(0, 0, 0, 0.7); }
-    .hero.is-warning .tabs a {
-      color: rgba(0, 0, 0, 0.7);
-      opacity: 0.9; }
-      .hero.is-warning .tabs a:hover {
-        opacity: 1; }
-    .hero.is-warning .tabs li.is-active a {
-      opacity: 1; }
-    .hero.is-warning .tabs.is-boxed a, .hero.is-warning .tabs.is-toggle a {
-      color: rgba(0, 0, 0, 0.7); }
-      .hero.is-warning .tabs.is-boxed a:hover, .hero.is-warning .tabs.is-toggle a:hover {
-        background-color: rgba(10, 10, 10, 0.1); }
-    .hero.is-warning .tabs.is-boxed li.is-active a, .hero.is-warning .tabs.is-boxed li.is-active a:hover, .hero.is-warning .tabs.is-toggle li.is-active a, .hero.is-warning .tabs.is-toggle li.is-active a:hover {
-      background-color: rgba(0, 0, 0, 0.7);
-      border-color: rgba(0, 0, 0, 0.7);
-      color: #ffdd57; }
-    .hero.is-warning.is-bold {
-      background-image: linear-gradient(141deg, #ffae24 0%, #ffdd57 71%, #fffa71 100%); }
-      @media screen and (max-width: 768px) {
-        .hero.is-warning.is-bold .navbar-menu {
-          background-image: linear-gradient(141deg, #ffae24 0%, #ffdd57 71%, #fffa71 100%); } }
-  .hero.is-danger {
-    background-color: #da0b00;
-    color: #fff; }
-    .hero.is-danger a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
-    .hero.is-danger strong {
-      color: inherit; }
-    .hero.is-danger .title {
-      color: #fff; }
-    .hero.is-danger .subtitle {
-      color: rgba(255, 255, 255, 0.9); }
-      .hero.is-danger .subtitle a:not(.button),
-      .hero.is-danger .subtitle strong {
-        color: #fff; }
-    @media screen and (max-width: 1055px) {
-      .hero.is-danger .navbar-menu {
-        background-color: #da0b00; } }
-    .hero.is-danger .navbar-item,
-    .hero.is-danger .navbar-link {
-      color: rgba(255, 255, 255, 0.7); }
-    .hero.is-danger a.navbar-item:hover, .hero.is-danger a.navbar-item.is-active,
-    .hero.is-danger .navbar-link:hover,
-    .hero.is-danger .navbar-link.is-active {
-      background-color: #c10a00;
-      color: #fff; }
-    .hero.is-danger .tabs a {
-      color: #fff;
-      opacity: 0.9; }
-      .hero.is-danger .tabs a:hover {
-        opacity: 1; }
-    .hero.is-danger .tabs li.is-active a {
-      opacity: 1; }
-    .hero.is-danger .tabs.is-boxed a, .hero.is-danger .tabs.is-toggle a {
-      color: #fff; }
-      .hero.is-danger .tabs.is-boxed a:hover, .hero.is-danger .tabs.is-toggle a:hover {
-        background-color: rgba(10, 10, 10, 0.1); }
-    .hero.is-danger .tabs.is-boxed li.is-active a, .hero.is-danger .tabs.is-boxed li.is-active a:hover, .hero.is-danger .tabs.is-toggle li.is-active a, .hero.is-danger .tabs.is-toggle li.is-active a:hover {
-      background-color: #fff;
-      border-color: #fff;
-      color: #da0b00; }
-    .hero.is-danger.is-bold {
-      background-image: linear-gradient(141deg, #a70013 0%, #da0b00 71%, #f43500 100%); }
-      @media screen and (max-width: 768px) {
-        .hero.is-danger.is-bold .navbar-menu {
-          background-image: linear-gradient(141deg, #a70013 0%, #da0b00 71%, #f43500 100%); } }
-  .hero.is-small .hero-body, #documenter .docs-sidebar form.docs-search > input.hero .hero-body {
-    padding-bottom: 1.5rem;
-    padding-top: 1.5rem; }
-  @media screen and (min-width: 769px), print {
-    .hero.is-medium .hero-body {
-      padding-bottom: 9rem;
-      padding-top: 9rem; } }
-  @media screen and (min-width: 769px), print {
-    .hero.is-large .hero-body {
-      padding-bottom: 18rem;
-      padding-top: 18rem; } }
-  .hero.is-halfheight .hero-body, .hero.is-fullheight .hero-body, .hero.is-fullheight-with-navbar .hero-body {
-    align-items: center;
-    display: flex; }
-    .hero.is-halfheight .hero-body > .container, .hero.is-fullheight .hero-body > .container, .hero.is-fullheight-with-navbar .hero-body > .container {
-      flex-grow: 1;
-      flex-shrink: 1; }
-  .hero.is-halfheight {
-    min-height: 50vh; }
-  .hero.is-fullheight {
-    min-height: 100vh; }
-
-.hero-video {
-  overflow: hidden; }
-  .hero-video video {
-    left: 50%;
-    min-height: 100%;
-    min-width: 100%;
-    position: absolute;
-    top: 50%;
-    transform: translate3d(-50%, -50%, 0); }
-  .hero-video.is-transparent {
-    opacity: 0.3; }
-  @media screen and (max-width: 768px) {
-    .hero-video {
-      display: none; } }
-.hero-buttons {
-  margin-top: 1.5rem; }
-  @media screen and (max-width: 768px) {
-    .hero-buttons .button {
-      display: flex; }
-      .hero-buttons .button:not(:last-child) {
-        margin-bottom: 0.75rem; } }
-  @media screen and (min-width: 769px), print {
-    .hero-buttons {
-      display: flex;
-      justify-content: center; }
-      .hero-buttons .button:not(:last-child) {
-        margin-right: 1.5rem; } }
-.hero-head,
-.hero-foot {
-  flex-grow: 0;
-  flex-shrink: 0; }
-
-.hero-body {
-  flex-grow: 1;
-  flex-shrink: 0;
-  padding: 3rem 1.5rem; }
-
-.section {
-  padding: 3rem 1.5rem; }
-  @media screen and (min-width: 1056px) {
-    .section.is-medium {
-      padding: 9rem 1.5rem; }
-    .section.is-large {
-      padding: 18rem 1.5rem; } }
-.footer {
-  background-color: #fafafa;
-  padding: 3rem 1.5rem 6rem; }
-
-h1 .docs-heading-anchor, h1 .docs-heading-anchor:hover, h1 .docs-heading-anchor:visited, h2 .docs-heading-anchor, h2 .docs-heading-anchor:hover, h2 .docs-heading-anchor:visited, h3 .docs-heading-anchor, h3 .docs-heading-anchor:hover, h3 .docs-heading-anchor:visited, h4 .docs-heading-anchor, h4 .docs-heading-anchor:hover, h4 .docs-heading-anchor:visited, h5 .docs-heading-anchor, h5 .docs-heading-anchor:hover, h5 .docs-heading-anchor:visited, h6 .docs-heading-anchor, h6 .docs-heading-anchor:hover, h6 .docs-heading-anchor:visited {
-  color: #222222; }
-
-h1 .docs-heading-anchor-permalink, h2 .docs-heading-anchor-permalink, h3 .docs-heading-anchor-permalink, h4 .docs-heading-anchor-permalink, h5 .docs-heading-anchor-permalink, h6 .docs-heading-anchor-permalink {
-  visibility: hidden;
-  vertical-align: middle;
-  margin-left: 0.5em;
-  font-size: 0.7rem; }
-  h1 .docs-heading-anchor-permalink::before, h2 .docs-heading-anchor-permalink::before, h3 .docs-heading-anchor-permalink::before, h4 .docs-heading-anchor-permalink::before, h5 .docs-heading-anchor-permalink::before, h6 .docs-heading-anchor-permalink::before {
-    font-family: "Font Awesome 5 Free";
-    font-weight: 900;
-    content: "\f0c1"; }
-
-h1:hover .docs-heading-anchor-permalink, h2:hover .docs-heading-anchor-permalink, h3:hover .docs-heading-anchor-permalink, h4:hover .docs-heading-anchor-permalink, h5:hover .docs-heading-anchor-permalink, h6:hover .docs-heading-anchor-permalink {
-  visibility: visible; }
-
-.docs-dark-only {
-  display: none !important; }
-
-pre {
-  position: relative;
-  overflow: hidden; }
-  pre code, pre code.hljs {
-    padding: 0 0.75rem !important;
-    overflow: auto;
-    display: block; }
-  pre code:first-of-type, pre code.hljs:first-of-type {
-    padding-top: 0.5rem !important; }
-  pre code:last-of-type, pre code.hljs:last-of-type {
-    padding-bottom: 0.5rem !important; }
-  pre .copy-button {
-    opacity: 0.2;
-    transition: opacity 0.2s;
-    position: absolute;
-    right: 0em;
-    top: 0em;
-    padding: 0.5em;
-    width: 2.5em;
-    height: 2.5em;
-    background: transparent;
-    border: none;
-    font-family: "Font Awesome 5 Free";
-    color: #222222;
-    cursor: pointer;
-    text-align: center; }
-    pre .copy-button:focus, pre .copy-button:hover {
-      opacity: 1;
-      background: rgba(34, 34, 34, 0.1);
-      color: #2e63b8; }
-    pre .copy-button.success {
-      color: #259a12;
-      opacity: 1; }
-    pre .copy-button.error {
-      color: #cb3c33;
-      opacity: 1; }
-  pre:hover .copy-button {
-    opacity: 1; }
-
-.admonition {
-  background-color: #b5b5b5;
-  border-style: solid;
-  border-width: 1px;
-  border-color: #363636;
-  border-radius: 4px;
-  font-size: 1rem; }
-  .admonition strong {
-    color: currentColor; }
-  .admonition.is-small, #documenter .docs-sidebar form.docs-search > input.admonition {
-    font-size: 0.75rem; }
-  .admonition.is-medium {
-    font-size: 1.25rem; }
-  .admonition.is-large {
-    font-size: 1.5rem; }
-  .admonition.is-default {
-    background-color: #b5b5b5;
-    border-color: #363636; }
-    .admonition.is-default > .admonition-header {
-      background-color: #363636;
-      color: #fff; }
-    .admonition.is-default > .admonition-body {
-      color: #fff; }
-  .admonition.is-info {
-    background-color: #def0fc;
-    border-color: #209cee; }
-    .admonition.is-info > .admonition-header {
-      background-color: #209cee;
-      color: #fff; }
-    .admonition.is-info > .admonition-body {
-      color: rgba(0, 0, 0, 0.7); }
-  .admonition.is-success {
-    background-color: #bdf4d1;
-    border-color: #22c35b; }
-    .admonition.is-success > .admonition-header {
-      background-color: #22c35b;
-      color: #fff; }
-    .admonition.is-success > .admonition-body {
-      color: rgba(0, 0, 0, 0.7); }
-  .admonition.is-warning {
-    background-color: #fff3c5;
-    border-color: #ffdd57; }
-    .admonition.is-warning > .admonition-header {
-      background-color: #ffdd57;
-      color: rgba(0, 0, 0, 0.7); }
-    .admonition.is-warning > .admonition-body {
-      color: rgba(0, 0, 0, 0.7); }
-  .admonition.is-danger {
-    background-color: #ffaba7;
-    border-color: #da0b00; }
-    .admonition.is-danger > .admonition-header {
-      background-color: #da0b00;
-      color: #fff; }
-    .admonition.is-danger > .admonition-body {
-      color: rgba(0, 0, 0, 0.7); }
-  .admonition.is-compat {
-    background-color: #bdeff5;
-    border-color: #1db5c9; }
-    .admonition.is-compat > .admonition-header {
-      background-color: #1db5c9;
-      color: #fff; }
-    .admonition.is-compat > .admonition-body {
-      color: rgba(0, 0, 0, 0.7); }
-
-.admonition-header {
-  color: #fff;
-  background-color: #363636;
-  align-items: center;
-  font-weight: 700;
-  justify-content: space-between;
-  line-height: 1.25;
-  padding: 0.5rem 0.75rem;
-  position: relative; }
-  .admonition-header:before {
-    font-family: "Font Awesome 5 Free";
-    font-weight: 900;
-    margin-right: 0.75rem;
-    content: "\f06a"; }
-
-.admonition-body {
-  color: #222222;
-  padding: 0.5rem 0.75rem; }
-  .admonition-body pre {
-    background-color: whitesmoke; }
-  .admonition-body code {
-    background-color: rgba(0, 0, 0, 0.05); }
-
-.docstring {
-  margin-bottom: 1em;
-  background-color: transparent;
-  border: 1px solid #dbdbdb;
-  box-shadow: 2px 2px 3px rgba(10, 10, 10, 0.1);
-  max-width: 100%; }
-  .docstring > header {
-    display: flex;
-    flex-grow: 1;
-    align-items: stretch;
-    padding: 0.5rem 0.75rem;
-    background-color: whitesmoke;
-    box-shadow: 0 1px 2px rgba(10, 10, 10, 0.1);
-    box-shadow: none;
-    border-bottom: 1px solid #dbdbdb; }
-    .docstring > header code {
-      background-color: transparent; }
-    .docstring > header .docstring-binding {
-      margin-right: 0.3em; }
-    .docstring > header .docstring-category {
-      margin-left: 0.3em; }
-  .docstring > section {
-    position: relative;
-    padding: 0.75rem 0.75rem;
-    border-bottom: 1px solid #dbdbdb; }
-    .docstring > section:last-child {
-      border-bottom: none; }
-    .docstring > section > a.docs-sourcelink {
-      transition: opacity 0.3s;
-      opacity: 0;
-      position: absolute;
-      right: 0.375rem;
-      bottom: 0.375rem; }
-      .docstring > section > a.docs-sourcelink:focus {
-        opacity: 1 !important; }
-  .docstring:hover > section > a.docs-sourcelink {
-    opacity: 0.2; }
-  .docstring:focus-within > section > a.docs-sourcelink {
-    opacity: 0.2; }
-  .docstring > section:hover a.docs-sourcelink {
-    opacity: 1; }
-
-.documenter-example-output {
-  background-color: white; }
-
-.outdated-warning-overlay {
-  position: fixed;
-  top: 0;
-  left: 0;
-  right: 0;
-  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
-  z-index: 999;
-  background-color: #ffaba7;
-  color: rgba(0, 0, 0, 0.7);
-  border-bottom: 3px solid #da0b00;
-  padding: 10px 35px;
-  text-align: center;
-  font-size: 15px; }
-  .outdated-warning-overlay .outdated-warning-closer {
-    position: absolute;
-    top: calc(50% - 10px);
-    right: 18px;
-    cursor: pointer;
-    width: 12px; }
-  .outdated-warning-overlay a {
-    color: #2e63b8; }
-    .outdated-warning-overlay a:hover {
-      color: #363636; }
-
-.content pre {
-  border: 1px solid #dbdbdb; }
-
-.content code {
-  font-weight: inherit; }
-
-.content a code {
-  color: #2e63b8; }
-
-.content h1 code, .content h2 code, .content h3 code, .content h4 code, .content h5 code, .content h6 code {
-  color: #222222; }
-
-.content table {
-  display: block;
-  width: initial;
-  max-width: 100%;
-  overflow-x: auto; }
-
-.content blockquote > ul:first-child, .content blockquote > ol:first-child, .content .admonition-body > ul:first-child, .content .admonition-body > ol:first-child {
-  margin-top: 0; }
-
-pre, code {
-  font-variant-ligatures: no-contextual; }
-
-.breadcrumb a.is-disabled {
-  cursor: default;
-  pointer-events: none; }
-  .breadcrumb a.is-disabled, .breadcrumb a.is-disabled:hover {
-    color: #222222; }
-
-.hljs {
-  background: initial !important; }
-
-.katex .katex-mathml {
-  top: 0;
-  right: 0; }
-
-.katex-display, mjx-container, .MathJax_Display {
-  margin: 0.5em 0 !important; }
-
-html {
-  -moz-osx-font-smoothing: auto;
-  -webkit-font-smoothing: auto; }
-
-li.no-marker {
-  list-style: none; }
-
-/* This file contain the overall layout.
- *
- * The main container is <div> that is identified by id #documenter.
- */
-#documenter .docs-main > article {
-  overflow-wrap: break-word; }
-  #documenter .docs-main > article .math-container {
-    overflow-x: auto;
-    overflow-y: hidden; }
-
-@media screen and (min-width: 1056px) {
-  #documenter .docs-main {
-    max-width: 52rem;
-    margin-left: 20rem;
-    padding-right: 1rem; } }
-
-@media screen and (max-width: 1055px) {
-  #documenter .docs-main {
-    width: 100%; }
-    #documenter .docs-main > article {
-      max-width: 52rem;
-      margin-left: auto;
-      margin-right: auto;
-      margin-bottom: 1rem;
-      padding: 0 1rem; }
-    #documenter .docs-main > header, #documenter .docs-main > nav {
-      max-width: 100%;
-      width: 100%;
-      margin: 0; } }
-
-#documenter .docs-main header.docs-navbar {
-  background-color: white;
-  border-bottom: 1px solid #dbdbdb;
-  z-index: 2;
-  min-height: 4rem;
-  margin-bottom: 1rem;
-  display: flex; }
-  #documenter .docs-main header.docs-navbar .breadcrumb {
-    flex-grow: 1; }
-  #documenter .docs-main header.docs-navbar .docs-right {
-    display: flex;
-    white-space: nowrap; }
-    #documenter .docs-main header.docs-navbar .docs-right .docs-icon, #documenter .docs-main header.docs-navbar .docs-right .docs-label, #documenter .docs-main header.docs-navbar .docs-right .docs-sidebar-button {
-      display: inline-block; }
-    #documenter .docs-main header.docs-navbar .docs-right .docs-label {
-      padding: 0;
-      margin-left: 0.3em; }
-    #documenter .docs-main header.docs-navbar .docs-right .docs-settings-button {
-      margin: auto 0 auto 1rem; }
-    #documenter .docs-main header.docs-navbar .docs-right .docs-sidebar-button {
-      font-size: 1.5rem;
-      margin: auto 0 auto 1rem; }
-  #documenter .docs-main header.docs-navbar > * {
-    margin: auto 0; }
-  @media screen and (max-width: 1055px) {
-    #documenter .docs-main header.docs-navbar {
-      position: sticky;
-      top: 0;
-      padding: 0 1rem;
-      /* For Headroom.js */
-      transition-property: top, box-shadow;
-      -webkit-transition-property: top, box-shadow;
-      /* Safari */
-      transition-duration: 0.3s;
-      -webkit-transition-duration: 0.3s;
-      /* Safari */ }
-      #documenter .docs-main header.docs-navbar.headroom--not-top {
-        box-shadow: 0.2rem 0rem 0.4rem #bbb;
-        transition-duration: 0.7s;
-        -webkit-transition-duration: 0.7s;
-        /* Safari */ }
-      #documenter .docs-main header.docs-navbar.headroom--unpinned.headroom--not-top.headroom--not-bottom {
-        top: -4.5rem;
-        transition-duration: 0.7s;
-        -webkit-transition-duration: 0.7s;
-        /* Safari */ } }
-#documenter .docs-main section.footnotes {
-  border-top: 1px solid #dbdbdb; }
-  #documenter .docs-main section.footnotes li .tag:first-child, #documenter .docs-main section.footnotes li .docstring > section > a.docs-sourcelink:first-child, #documenter .docs-main section.footnotes li .content kbd:first-child, .content #documenter .docs-main section.footnotes li kbd:first-child {
-    margin-right: 1em;
-    margin-bottom: 0.4em; }
-
-#documenter .docs-main .docs-footer {
-  display: flex;
-  flex-wrap: wrap;
-  margin-left: 0;
-  margin-right: 0;
-  border-top: 1px solid #dbdbdb;
-  padding-top: 1rem;
-  padding-bottom: 1rem; }
-  @media screen and (max-width: 1055px) {
-    #documenter .docs-main .docs-footer {
-      padding-left: 1rem;
-      padding-right: 1rem; } }
-  #documenter .docs-main .docs-footer .docs-footer-nextpage, #documenter .docs-main .docs-footer .docs-footer-prevpage {
-    flex-grow: 1; }
-  #documenter .docs-main .docs-footer .docs-footer-nextpage {
-    text-align: right; }
-  #documenter .docs-main .docs-footer .flexbox-break {
-    flex-basis: 100%;
-    height: 0; }
-  #documenter .docs-main .docs-footer .footer-message {
-    font-size: 0.8em;
-    margin: 0.5em auto 0 auto;
-    text-align: center; }
-
-#documenter .docs-sidebar {
-  display: flex;
-  flex-direction: column;
-  color: #0a0a0a;
-  background-color: whitesmoke;
-  border-right: 1px solid #dbdbdb;
-  padding: 0;
-  flex: 0 0 18rem;
-  z-index: 5;
-  font-size: 1rem;
-  position: fixed;
-  left: -18rem;
-  width: 18rem;
-  height: 100%;
-  transition: left 0.3s;
-  /* Setting up a nicer theme style for the scrollbar */ }
-  #documenter .docs-sidebar.visible {
-    left: 0;
-    box-shadow: 0.4rem 0rem 0.8rem #bbb; }
-    @media screen and (min-width: 1056px) {
-      #documenter .docs-sidebar.visible {
-        box-shadow: none; } }
-  @media screen and (min-width: 1056px) {
-    #documenter .docs-sidebar {
-      left: 0;
-      top: 0; } }
-  #documenter .docs-sidebar .docs-logo {
-    margin-top: 1rem;
-    padding: 0 1rem; }
-    #documenter .docs-sidebar .docs-logo > img {
-      max-height: 6rem;
-      margin: auto; }
-  #documenter .docs-sidebar .docs-package-name {
-    flex-shrink: 0;
-    font-size: 1.5rem;
-    font-weight: 700;
-    text-align: center;
-    white-space: nowrap;
-    overflow: hidden;
-    padding: 0.5rem 0; }
-    #documenter .docs-sidebar .docs-package-name .docs-autofit {
-      max-width: 16.2rem; }
-    #documenter .docs-sidebar .docs-package-name a, #documenter .docs-sidebar .docs-package-name a:hover {
-      color: #0a0a0a; }
-  #documenter .docs-sidebar .docs-version-selector {
-    border-top: 1px solid #dbdbdb;
-    display: none;
-    padding: 0.5rem; }
-    #documenter .docs-sidebar .docs-version-selector.visible {
-      display: flex; }
-  #documenter .docs-sidebar ul.docs-menu {
-    flex-grow: 1;
-    user-select: none;
-    border-top: 1px solid #dbdbdb;
-    padding-bottom: 1.5rem;
-    /* Managing collapsible submenus */ }
-    #documenter .docs-sidebar ul.docs-menu > li > .tocitem {
-      font-weight: bold; }
-    #documenter .docs-sidebar ul.docs-menu > li li {
-      font-size: 0.95rem;
-      margin-left: 1em;
-      border-left: 1px solid #dbdbdb; }
-    #documenter .docs-sidebar ul.docs-menu input.collapse-toggle {
-      display: none; }
-    #documenter .docs-sidebar ul.docs-menu ul.collapsed {
-      display: none; }
-    #documenter .docs-sidebar ul.docs-menu input:checked ~ ul.collapsed {
-      display: block; }
-    #documenter .docs-sidebar ul.docs-menu label.tocitem {
-      display: flex; }
-      #documenter .docs-sidebar ul.docs-menu label.tocitem .docs-label {
-        flex-grow: 2; }
-      #documenter .docs-sidebar ul.docs-menu label.tocitem .docs-chevron {
-        display: inline-block;
-        font-style: normal;
-        font-variant: normal;
-        text-rendering: auto;
-        line-height: 1;
-        font-size: 0.75rem;
-        margin-left: 1rem;
-        margin-top: auto;
-        margin-bottom: auto; }
-        #documenter .docs-sidebar ul.docs-menu label.tocitem .docs-chevron::before {
-          font-family: "Font Awesome 5 Free";
-          font-weight: 900;
-          content: "\f054"; }
-    #documenter .docs-sidebar ul.docs-menu input:checked ~ label.tocitem .docs-chevron::before {
-      content: "\f078"; }
-    #documenter .docs-sidebar ul.docs-menu .tocitem {
-      display: block;
-      padding: 0.5rem 0.5rem; }
-      #documenter .docs-sidebar ul.docs-menu .tocitem, #documenter .docs-sidebar ul.docs-menu .tocitem:hover {
-        color: #0a0a0a;
-        background: whitesmoke; }
-    #documenter .docs-sidebar ul.docs-menu a.tocitem:hover, #documenter .docs-sidebar ul.docs-menu label.tocitem:hover {
-      color: #0a0a0a;
-      background-color: #ebebeb; }
-    #documenter .docs-sidebar ul.docs-menu li.is-active {
-      border-top: 1px solid #dbdbdb;
-      border-bottom: 1px solid #dbdbdb;
-      background-color: white; }
-      #documenter .docs-sidebar ul.docs-menu li.is-active .tocitem, #documenter .docs-sidebar ul.docs-menu li.is-active .tocitem:hover {
-        background-color: white;
-        color: #0a0a0a; }
-      #documenter .docs-sidebar ul.docs-menu li.is-active ul.internal .tocitem:hover {
-        background-color: #ebebeb;
-        color: #0a0a0a; }
-    #documenter .docs-sidebar ul.docs-menu > li.is-active:first-child {
-      border-top: none; }
-    #documenter .docs-sidebar ul.docs-menu ul.internal {
-      margin: 0 0.5rem 0.5rem;
-      border-top: 1px solid #dbdbdb; }
-      #documenter .docs-sidebar ul.docs-menu ul.internal li {
-        font-size: 0.85rem;
-        border-left: none;
-        margin-left: 0;
-        margin-top: 0.5rem; }
-      #documenter .docs-sidebar ul.docs-menu ul.internal .tocitem {
-        width: 100%;
-        padding: 0; }
-        #documenter .docs-sidebar ul.docs-menu ul.internal .tocitem::before {
-          content: "⚬";
-          margin-right: 0.4em; }
-  #documenter .docs-sidebar form.docs-search {
-    margin: auto;
-    margin-top: 0.5rem;
-    margin-bottom: 0.5rem; }
-    #documenter .docs-sidebar form.docs-search > input {
-      width: 14.4rem; }
-  @media screen and (min-width: 1056px) {
-    #documenter .docs-sidebar ul.docs-menu {
-      overflow-y: auto;
-      -webkit-overflow-scroll: touch; }
-      #documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar {
-        width: .3rem;
-        background: none; }
-      #documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar-thumb {
-        border-radius: 5px 0px 0px 5px;
-        background: #e0e0e0; }
-      #documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar-thumb:hover {
-        background: #cccccc; } }
-  @media screen and (max-width: 1055px) {
-    #documenter .docs-sidebar {
-      overflow-y: auto;
-      -webkit-overflow-scroll: touch; }
-      #documenter .docs-sidebar::-webkit-scrollbar {
-        width: .3rem;
-        background: none; }
-      #documenter .docs-sidebar::-webkit-scrollbar-thumb {
-        border-radius: 5px 0px 0px 5px;
-        background: #e0e0e0; }
-      #documenter .docs-sidebar::-webkit-scrollbar-thumb:hover {
-        background: #cccccc; } }
-#documenter .docs-main #documenter-search-info {
-  margin-bottom: 1rem; }
-
-#documenter .docs-main #documenter-search-results {
-  list-style-type: circle;
-  list-style-position: outside; }
-  #documenter .docs-main #documenter-search-results li {
-    margin-left: 2rem; }
-  #documenter .docs-main #documenter-search-results .docs-highlight {
-    background-color: yellow; }
-
-.ansi span.sgr1 {
-  font-weight: bolder; }
-
-.ansi span.sgr2 {
-  font-weight: lighter; }
-
-.ansi span.sgr3 {
-  font-style: italic; }
-
-.ansi span.sgr4 {
-  text-decoration: underline; }
-
-.ansi span.sgr7 {
-  color: white;
-  background-color: #222222; }
-
-.ansi span.sgr8 {
-  color: transparent; }
-  .ansi span.sgr8 span {
-    color: transparent; }
-
-.ansi span.sgr9 {
-  text-decoration: line-through; }
-
-.ansi span.sgr30 {
-  color: #242424; }
-
-.ansi span.sgr31 {
-  color: #a7201f; }
-
-.ansi span.sgr32 {
-  color: #066f00; }
-
-.ansi span.sgr33 {
-  color: #856b00; }
-
-.ansi span.sgr34 {
-  color: #2149b0; }
-
-.ansi span.sgr35 {
-  color: #7d4498; }
-
-.ansi span.sgr36 {
-  color: #007989; }
-
-.ansi span.sgr37 {
-  color: gray; }
-
-.ansi span.sgr40 {
-  background-color: #242424; }
-
-.ansi span.sgr41 {
-  background-color: #a7201f; }
-
-.ansi span.sgr42 {
-  background-color: #066f00; }
-
-.ansi span.sgr43 {
-  background-color: #856b00; }
-
-.ansi span.sgr44 {
-  background-color: #2149b0; }
-
-.ansi span.sgr45 {
-  background-color: #7d4498; }
-
-.ansi span.sgr46 {
-  background-color: #007989; }
-
-.ansi span.sgr47 {
-  background-color: gray; }
-
-.ansi span.sgr90 {
-  color: #616161; }
-
-.ansi span.sgr91 {
-  color: #cb3c33; }
-
-.ansi span.sgr92 {
-  color: #0e8300; }
-
-.ansi span.sgr93 {
-  color: #a98800; }
-
-.ansi span.sgr94 {
-  color: #3c5dcd; }
-
-.ansi span.sgr95 {
-  color: #9256af; }
-
-.ansi span.sgr96 {
-  color: #008fa3; }
-
-.ansi span.sgr97 {
-  color: whitesmoke; }
-
-.ansi span.sgr100 {
-  background-color: #616161; }
-
-.ansi span.sgr101 {
-  background-color: #cb3c33; }
-
-.ansi span.sgr102 {
-  background-color: #0e8300; }
-
-.ansi span.sgr103 {
-  background-color: #a98800; }
-
-.ansi span.sgr104 {
-  background-color: #3c5dcd; }
-
-.ansi span.sgr105 {
-  background-color: #9256af; }
-
-.ansi span.sgr106 {
-  background-color: #008fa3; }
-
-.ansi span.sgr107 {
-  background-color: whitesmoke; }
-
-code.language-julia-repl > span.hljs-meta {
-  color: #066f00;
-  font-weight: bolder; }
-
-/*!
-  Theme: Default
-  Description: Original highlight.js style
-  Author: (c) Ivan Sagalaev <maniac@softwaremaniacs.org>
-  Maintainer: @highlightjs/core-team
-  Website: https://highlightjs.org/
-  License: see project LICENSE
-  Touched: 2021
-*/
-/*
-This is left on purpose making default.css the single file that can be lifted
-as-is from the repository directly without the need for a build step
-
-Typically this "required" baseline CSS is added by `makestuff.js` during build.
-*/
-pre code.hljs {
-  display: block;
-  overflow-x: auto; }
-
-code.hljs {
-  padding: 3px 5px; }
-
-/* end baseline CSS */
-.hljs {
-  background: #F0F0F0;
-  color: #444; }
-
-/* Base color: saturation 0; */
-.hljs-subst {
-  /* default */ }
-
-/* purposely ignored */
-.hljs-comment {
-  color: #888888; }
-
-.hljs-tag,
-.hljs-punctuation {
-  color: #444a; }
-
-.hljs-tag .hljs-name,
-.hljs-tag .hljs-attr {
-  color: #444; }
-
-.hljs-keyword,
-.hljs-attribute,
-.hljs-selector-tag,
-.hljs-meta .hljs-keyword,
-.hljs-doctag,
-.hljs-name {
-  font-weight: bold; }
-
-/* User color: hue: 0 */
-.hljs-type,
-.hljs-string,
-.hljs-number,
-.hljs-selector-id,
-.hljs-selector-class,
-.hljs-quote,
-.hljs-template-tag,
-.hljs-deletion {
-  color: #880000; }
-
-.hljs-title,
-.hljs-section {
-  color: #880000;
-  font-weight: bold; }
-
-.hljs-regexp,
-.hljs-symbol,
-.hljs-variable,
-.hljs-template-variable,
-.hljs-link,
-.hljs-selector-attr,
-.hljs-operator,
-.hljs-selector-pseudo {
-  color: #BC6060; }
-
-/* Language color: hue: 90; */
-.hljs-literal {
-  color: #78A960; }
-
-.hljs-built_in,
-.hljs-bullet,
-.hljs-code,
-.hljs-addition {
-  color: #397300; }
-
-/* Meta color: hue: 200 */
-.hljs-meta {
-  color: #1f7199; }
-
-.hljs-meta .hljs-string {
-  color: #4d99bf; }
-
-/* Misc effects */
-.hljs-emphasis {
-  font-style: italic; }
-
-.hljs-strong {
-  font-weight: bold; }
diff --git a/previews/PR676/assets/themeswap.js b/previews/PR676/assets/themeswap.js
deleted file mode 100644
index c58e993e3..000000000
--- a/previews/PR676/assets/themeswap.js
+++ /dev/null
@@ -1,66 +0,0 @@
-// Small function to quickly swap out themes. Gets put into the <head> tag..
-function set_theme_from_local_storage() {
-  // Intialize the theme to null, which means default
-  var theme = null;
-  // If the browser supports the localstorage and is not disabled then try to get the
-  // documenter theme
-  if(window.localStorage != null) {
-    // Get the user-picked theme from localStorage. May be `null`, which means the default
-    // theme.
-    theme =  window.localStorage.getItem("documenter-theme");
-  }
-  // Check if the browser supports user color preference
-  var darkPreference = false;
-  // Check if the users preference is for dark color scheme
-  if(window.matchMedia('(prefers-color-scheme: dark)').matches === true) {
-    darkPreference = true;
-  }
-  // Initialize a few variables for the loop:
-  //
-  //  - active: will contain the index of the theme that should be active. Note that there
-  //    is no guarantee that localStorage contains sane values. If `active` stays `null`
-  //    we either could not find the theme or it is the default (primary) theme anyway.
-  //    Either way, we then need to stick to the primary theme.
-  //
-  //  - disabled: style sheets that should be disabled (i.e. all the theme style sheets
-  //    that are not the currently active theme)
-  var active = null; var disabled = []; var darkTheme = null;
-  for (var i = 0; i < document.styleSheets.length; i++) {
-    var ss = document.styleSheets[i];
-    // The <link> tag of each style sheet is expected to have a data-theme-name attribute
-    // which must contain the name of the theme. The names in localStorage much match this.
-    var themename = ss.ownerNode.getAttribute("data-theme-name");
-    // attribute not set => non-theme stylesheet => ignore
-    if(themename === null) continue;
-    // To distinguish the default (primary) theme, it needs to have the data-theme-primary
-    // attribute set.
-    var isprimary = (ss.ownerNode.getAttribute("data-theme-primary") !== null);
-    // Check if the theme is primary dark theme
-    var isDarkTheme = (ss.ownerNode.getAttribute("data-theme-primary-dark") !== null);
-    // If ss is for dark theme then set the value of darkTheme to the name of the theme
-    if(isDarkTheme) darkTheme = themename;
-    // If we find a matching theme (and it's not the default), we'll set active to non-null
-    if(themename === theme) active = i;
-    // Store the style sheets of inactive themes so that we could disable them
-    if(themename !== theme) disabled.push(ss);
-  }
-  if(active !== null) {
-    // If we did find an active theme, we'll (1) add the theme--$(theme) class to <html>
-    document.getElementsByTagName('html')[0].className = "theme--" + theme;
-    // and (2) disable all the other theme stylesheets
-    disabled.forEach(function(ss){
-      ss.disabled = true;
-    });
-  }
-  else if(darkTheme !== null && darkPreference === true) {
-    // If we did find an active theme, we'll (1) add the theme--$(theme) class to <html>
-    document.getElementsByTagName('html')[0].className = "theme--" + darkTheme;
-    // and (2) disable all the other theme stylesheets
-    disabled.forEach(function(ss){
-      if (ss.ownerNode.getAttribute("data-theme-name") !== darkTheme) {
-        ss.disabled = true;
-      }
-    });
-  }
-}
-set_theme_from_local_storage();
diff --git a/previews/PR676/assets/warner.js b/previews/PR676/assets/warner.js
deleted file mode 100644
index 5531c8851..000000000
--- a/previews/PR676/assets/warner.js
+++ /dev/null
@@ -1,49 +0,0 @@
-function maybeAddWarning () {
-    // DOCUMENTER_NEWEST is defined in versions.js, DOCUMENTER_CURRENT_VERSION and DOCUMENTER_STABLE
-    // in siteinfo.js.
-    // If either of these are undefined something went horribly wrong, so we abort.
-    if (
-            window.DOCUMENTER_NEWEST === undefined ||
-            window.DOCUMENTER_CURRENT_VERSION === undefined ||
-            window.DOCUMENTER_STABLE === undefined
-       ) {
-        return
-    };
-
-    // Current version is not a version number, so we can't tell if it's the newest version. Abort.
-    if (!/v(\d+\.)*\d+/.test(window.DOCUMENTER_CURRENT_VERSION)) {
-        return
-    };
-
-    // Current version is newest version, so no need to add a warning.
-    if (window.DOCUMENTER_NEWEST === window.DOCUMENTER_CURRENT_VERSION) {
-        return
-    };
-
-    // Add a noindex meta tag (unless one exists) so that search engines don't index this version of the docs.
-    if (document.body.querySelector('meta[name="robots"]') === null) {
-        const meta = document.createElement('meta');
-        meta.name = 'robots';
-        meta.content = 'noindex';
-
-        document.getElementsByTagName('head')[0].appendChild(meta);
-    };
-
-    const div = document.createElement('div');
-    div.classList.add('outdated-warning-overlay');
-    const closer = document.createElement('button');
-    closer.classList.add('outdated-warning-closer', 'delete');
-    closer.addEventListener('click', function () {
-        document.body.removeChild(div);
-    });
-    const href = window.documenterBaseURL + '/../' + window.DOCUMENTER_STABLE;
-    div.innerHTML = 'This documentation is not for the latest stable release, but for either the development version or an older release.<br><a href="' + href + '">Click here to go to the documentation for the latest stable release.</a>';
-    div.appendChild(closer);
-    document.body.appendChild(div);
-};
-
-if (document.readyState === 'loading') {
-    document.addEventListener('DOMContentLoaded', maybeAddWarning);
-} else {
-    maybeAddWarning();
-};
diff --git a/previews/PR676/configuration/index.html b/previews/PR676/configuration/index.html
deleted file mode 100644
index 779582036..000000000
--- a/previews/PR676/configuration/index.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Configuration · MPI.jl</title><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../"><img src="../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../">MPI.jl</a></span></div><form class="docs-search" action="../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../">MPI.jl</a></li><li class="is-active"><a class="tocitem" href>Configuration</a><ul class="internal"><li><a class="tocitem" href="#Using-a-system-provided-MPI-backend"><span>Using a system-provided MPI backend</span></a></li><li><a class="tocitem" href="#configure_jll_binary"><span>Using an alternative JLL-provided MPI library</span></a></li><li><a class="tocitem" href="#Configuration-of-the-MPI.jl-testsuite"><span>Configuration of the MPI.jl testsuite</span></a></li><li><a class="tocitem" href="#Migration-from-MPI.jl-v0.19-or-earlier"><span>Migration from MPI.jl v0.19 or earlier</span></a></li></ul></li><li><a class="tocitem" href="../usage/">Usage</a></li><li><a class="tocitem" href="../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../reference/library/">Library information</a></li><li><a class="tocitem" href="../reference/environment/">Environment</a></li><li><a class="tocitem" href="../reference/misc/">Miscellanea</a></li><li><a class="tocitem" href="../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../reference/topology/">Topology</a></li><li><a class="tocitem" href="../reference/io/">I/O</a></li><li><a class="tocitem" href="../reference/advanced/">Advanced</a></li><li><a class="tocitem" href="../reference/api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>Configuration</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Configuration</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/configuration.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Configuration"><a class="docs-heading-anchor" href="#Configuration">Configuration</a><a id="Configuration-1"></a><a class="docs-heading-anchor-permalink" href="#Configuration" title="Permalink"></a></h1><p>By default, MPI.jl will download and link against the following MPI implementations:</p><ul><li><a href="https://docs.microsoft.com/en-us/message-passing-interface/microsoft-mpi">Microsoft MPI</a> on Windows</li><li><a href="http://www.mpich.org/">MPICH</a> on all other platforms</li></ul><p>This is suitable for most single-node use cases, but for larger systems, such as HPC clusters or multi-GPU machines, you will probably want to configure against a system-provided MPI implementation in order to exploit features such as fast network interfaces and CUDA-aware or ROCm-aware MPI interfaces.</p><p>The MPIPreferences.jl package allows the user to choose which MPI implementation to use in MPI.jl. It uses <a href="https://github.com/JuliaPackaging/Preferences.jl">Preferences.jl</a> to configure the MPI backend for each project separately. This provides a single source of truth that can be used for JLL packages (Julia packages providing C libraries) that link against MPI. It can be installed by</p><pre><code class="language-sh hljs">julia --project -e &#39;using Pkg; Pkg.add(&quot;MPIPreferences&quot;)&#39;</code></pre><div class="admonition is-info"><header class="admonition-header">Note</header><div class="admonition-body"><p>The way how MPI.jl is configured has changed with MPI.jl v0.20. See <a href="#Migration-from-MPI.jl-v0.19-or-earlier">Migration from MPI.jl v0.19 or earlier</a> for more information on how to migrate your configuration from earlier MPI.jl versions.</p></div></div><h2 id="Using-a-system-provided-MPI-backend"><a class="docs-heading-anchor" href="#Using-a-system-provided-MPI-backend">Using a system-provided MPI backend</a><a id="Using-a-system-provided-MPI-backend-1"></a><a class="docs-heading-anchor-permalink" href="#Using-a-system-provided-MPI-backend" title="Permalink"></a></h2><h3 id="Requirements"><a class="docs-heading-anchor" href="#Requirements">Requirements</a><a id="Requirements-1"></a><a class="docs-heading-anchor-permalink" href="#Requirements" title="Permalink"></a></h3><p>MPI.jl requires a shared library installation of a C MPI library, supporting the MPI 3.0 standard or later. The following MPI implementations should work out-of-the-box with MPI.jl:</p><ul><li><a href="http://www.open-mpi.org/">Open MPI</a></li><li><a href="http://www.mpich.org/">MPICH</a> (v3.1 or later)</li><li><a href="https://software.intel.com/en-us/mpi-library">Intel MPI</a></li><li><a href="https://docs.microsoft.com/en-us/message-passing-interface/microsoft-mpi">Microsoft MPI</a></li><li><a href="https://www.ibm.com/us-en/marketplace/spectrum-mpi">IBM Spectrum MPI</a></li><li><a href="http://mvapich.cse.ohio-state.edu/">MVAPICH</a></li><li><a href="https://docs.nersc.gov/development/compilers/wrappers/">Cray MPICH</a></li><li><a href="https://www.fujitsu.com/global/about/resources/publications/technicalreview/2020-03/article07.html#cap-03">Fujitsu MPI</a></li><li><a href="https://support.hpe.com/hpesc/public/docDisplay?docLocale=en_US&amp;docId=a00105727en_us">HPE MPT/HMPT</a></li></ul><h3 id="configure_system_binary"><a class="docs-heading-anchor" href="#configure_system_binary">Configuration</a><a id="configure_system_binary-1"></a><a class="docs-heading-anchor-permalink" href="#configure_system_binary" title="Permalink"></a></h3><p>Run <code>MPIPreferences.use_system_binary()</code>. This will attempt to locate and to identify any available MPI implementation, and create a file called <code>LocalPreferences.toml</code> adjacent to the current <code>Project.toml</code>.</p><pre><code class="language-sh hljs">julia --project -e &#39;using MPIPreferences; MPIPreferences.use_system_binary()&#39;</code></pre><p>If the implementation is changed, you will need to call this function again. See the <a href="../reference/mpipreferences/#MPIPreferences.use_system_binary"><code>MPIPreferences.use_system_binary</code></a> documentation for specific options.</p><div class="admonition is-info"><header class="admonition-header">Note</header><div class="admonition-body"><p>You can copy <code>LocalPreferences.toml</code> to a different project folder, but you must list <code>MPIPreferences</code> in the <code>[extras]</code> or <code>[deps]</code> section of the <code>Project.toml</code> for the settings to take effect.</p></div></div><div class="admonition is-info"><header class="admonition-header">Note</header><div class="admonition-body"><p>Due to a bug in Julia (until <code>v1.6.5</code> and <code>v1.7.1</code>), getting preferences from transitive dependencies is broken (<a href="https://github.com/JuliaPackaging/Preferences.jl/issues/24">Preferences.jl#24</a>). To fix this update your version of Julia, or add <code>MPIPreferences</code> as a direct dependency to your project.</p></div></div><h3 id="Notes-to-HPC-cluster-administrators"><a class="docs-heading-anchor" href="#Notes-to-HPC-cluster-administrators">Notes to HPC cluster administrators</a><a id="Notes-to-HPC-cluster-administrators-1"></a><a class="docs-heading-anchor-permalink" href="#Notes-to-HPC-cluster-administrators" title="Permalink"></a></h3><p>Preferences are merged across the Julia load path, such that it is feasible to provide a module file that appends a path to <code>JULIA_LOAD_PATH</code> variable that contains system-wide preferences. The steps are as follows:</p><ol><li><p>Run <a href="../reference/mpipreferences/#MPIPreferences.use_system_binary"><code>MPIPreferences.use_system_binary()</code></a>, which will generate a file <code>LocalPreferences.toml</code> containing something like the following:</p><pre><code class="language-toml hljs">[MPIPreferences]
-_format = &quot;1.0&quot;
-abi = &quot;OpenMPI&quot;
-binary = &quot;system&quot;
-libmpi = &quot;/software/mpi/lib/libmpi.so&quot;
-mpiexec = &quot;/software/mpi/bin/mpiexec&quot;</code></pre></li><li><p>Create a file called <code>Project.toml</code> or <code>JuliaProject.toml</code> in a central location, for example <code>/software/mpi/julia</code> or in the same directory as the MPI library module, and add the following contents:</p><pre><code class="language-toml hljs">[extras]
-MPIPreferences = &quot;3da0fdf6-3ccc-4f1b-acd9-58baa6c99267&quot;
-
-[preferences.MPIPreferences]
-_format = &quot;1.0&quot;
-abi = &quot;OpenMPI&quot;
-binary = &quot;system&quot;
-libmpi = &quot;/software/mpi/lib/libmpi.so&quot;
-mpiexec = &quot;/software/mpi/bin/mpiexec&quot;</code></pre><p>updating the contents of the <code>[preferences.MPIPreferences]</code> section match those of the <code>[MPIPreferences]</code> in <code>LocalPreferences.toml</code>.</p></li><li><p>Append the directory containing the file to the <a href="https://docs.julialang.org/en/v1/manual/environment-variables/#JULIA_LOAD_PATH"><code>JULIA_LOAD_PATH</code></a> environment variable, with a colon (<code>:</code>) separator.</p><p>If this variable is <em>not</em> already set, it should be prefixed with a colon to ensure correct behavior of the Julia load path, e.g. <code>JULIA_LOAD_PATH=&quot;:/software/mpi/julia&quot;</code>. If using environment modules, this can be achieved with</p><pre><code class="nohighlight hljs">append-path -d {} JULIA_LOAD_PATH :/software/mpi/julia</code></pre><p>in the corresponding module file (preferably the module file for the MPI installation or for Julia).</p><p>The user can still provide differing MPI configurations for each Julia project that will take precedent by modifying the local <code>Project.toml</code> or by providing a <code>LocalPreferences.toml</code> file.</p></li></ol><h2 id="configure_jll_binary"><a class="docs-heading-anchor" href="#configure_jll_binary">Using an alternative JLL-provided MPI library</a><a id="configure_jll_binary-1"></a><a class="docs-heading-anchor-permalink" href="#configure_jll_binary" title="Permalink"></a></h2><p>The following MPI implementations are provided as JLL packages and automatically obtained when installing MPI.jl:</p><ul><li><code>MicrosoftMPI_jll</code>: <a href="https://docs.microsoft.com/en-us/message-passing-interface/microsoft-mpi">Microsoft MPI</a> Default for Windows</li><li><code>MPICH_jll</code>: <a href="https://www.mpich.org/">MPICH</a>. Default for all other systems</li><li><code>OpenMPI_jll</code>: <a href="https://www.open-mpi.org/">Open MPI</a></li><li><code>MPItrampoline_jll</code>: <a href="https://github.com/eschnett/MPItrampoline">MPItrampoline</a>: an MPI forwarding layer.</li></ul><p>Call <a href="../reference/mpipreferences/#MPIPreferences.use_jll_binary"><code>MPIPreferences.use_jll_binary</code></a>, for example</p><pre><code class="language-sh hljs">julia --project -e &#39;using MPIPreferences; MPIPreferences.use_jll_binary(&quot;MPItrampoline_jll&quot;)&#39;</code></pre><p>If you omit the JLL binary name, the default is selected for the respective operating system.</p><h2 id="Configuration-of-the-MPI.jl-testsuite"><a class="docs-heading-anchor" href="#Configuration-of-the-MPI.jl-testsuite">Configuration of the MPI.jl testsuite</a><a id="Configuration-of-the-MPI.jl-testsuite-1"></a><a class="docs-heading-anchor-permalink" href="#Configuration-of-the-MPI.jl-testsuite" title="Permalink"></a></h2><h3 id="Testing-against-a-different-MPI-implementation"><a class="docs-heading-anchor" href="#Testing-against-a-different-MPI-implementation">Testing against a different MPI implementation</a><a id="Testing-against-a-different-MPI-implementation-1"></a><a class="docs-heading-anchor-permalink" href="#Testing-against-a-different-MPI-implementation" title="Permalink"></a></h3><p>The <code>LocalPreferences.toml</code> must be located within the <code>test</code> folder, you can either create it in place or copy it into place.</p><pre><code class="nohighlight hljs">~/MPI&gt; julia --project=test
-julia&gt; using MPIPreferences
-julia&gt; MPIPreferences.use_system_binary()
-~/MPI&gt; rm test/Manifest.toml
-~/MPI&gt; julia --project
-(MPI) pkg&gt; test</code></pre><h3 id="Environment-variables"><a class="docs-heading-anchor" href="#Environment-variables">Environment variables</a><a id="Environment-variables-1"></a><a class="docs-heading-anchor-permalink" href="#Environment-variables" title="Permalink"></a></h3><p>The test suite can also be modified by the following variables:</p><ul><li><code>JULIA_MPI_TEST_NPROCS</code>: How many ranks to use within the tests</li><li><code>JULIA_MPI_TEST_ARRAYTYPE</code>: Set to <code>CuArray</code> or <code>ROCArray</code> to test the CUDA-aware interface with <a href="https://github.com/JuliaGPU/CUDA.jl"><code>CUDA.CuArray</code></a> or the ROCm-aware interface with <a href="https://github.com/JuliaGPU/AMDGPU.jl"><code>AMDGPU.ROCArray</code></a> or buffers.</li><li><code>JULIA_MPI_TEST_BINARY</code>: Check that the specified MPI binary is used for the tests</li><li><code>JULIA_MPI_TEST_ABI</code>: Check that the specified MPI ABI is used for the tests</li></ul><h2 id="Migration-from-MPI.jl-v0.19-or-earlier"><a class="docs-heading-anchor" href="#Migration-from-MPI.jl-v0.19-or-earlier">Migration from MPI.jl v0.19 or earlier</a><a id="Migration-from-MPI.jl-v0.19-or-earlier-1"></a><a class="docs-heading-anchor-permalink" href="#Migration-from-MPI.jl-v0.19-or-earlier" title="Permalink"></a></h2><p>For MPI.jl v0.20, environment variables were used to configure which MPI library to use. These have been removed and no longer have any effect. The following subsections explain how to the same effects can be achieved with v0.20 or later.</p><div class="admonition is-info"><header class="admonition-header">Note</header><div class="admonition-body"><p>Please refer to <a href="#Notes-to-HPC-cluster-administrators">Notes to HPC cluster administrators</a> if you want to migrate your MPI.jl preferences on a cluster with a centrally managed MPI.jl configuration.</p></div></div><h3 id="JULIA_MPI_BINARY"><a class="docs-heading-anchor" href="#JULIA_MPI_BINARY"><code>JULIA_MPI_BINARY</code></a><a id="JULIA_MPI_BINARY-1"></a><a class="docs-heading-anchor-permalink" href="#JULIA_MPI_BINARY" title="Permalink"></a></h3><p>Use <a href="../reference/mpipreferences/#MPIPreferences.use_system_binary"><code>MPIPreferences.use_system_binary</code></a> to use a system-provided MPI binary as described <a href="#configure_system_binary">here</a>. To switch back or select a different JLL-provided MPI binary, use <a href="../reference/mpipreferences/#MPIPreferences.use_jll_binary"><code>MPIPreferences.use_jll_binary</code></a> as described <a href="#configure_jll_binary">here</a>.</p><h3 id="JULIA_MPI_PATH"><a class="docs-heading-anchor" href="#JULIA_MPI_PATH"><code>JULIA_MPI_PATH</code></a><a id="JULIA_MPI_PATH-1"></a><a class="docs-heading-anchor-permalink" href="#JULIA_MPI_PATH" title="Permalink"></a></h3><p>Removed without replacement.</p><h3 id="JULIA_MPI_LIBRARY"><a class="docs-heading-anchor" href="#JULIA_MPI_LIBRARY"><code>JULIA_MPI_LIBRARY</code></a><a id="JULIA_MPI_LIBRARY-1"></a><a class="docs-heading-anchor-permalink" href="#JULIA_MPI_LIBRARY" title="Permalink"></a></h3><p>Use <a href="../reference/mpipreferences/#MPIPreferences.use_system_binary"><code>MPIPreferences.use_system_binary</code></a> with keyword argument <code>library_names</code> to specify possible, non-standard library names. Alternatively, you can also specify the full path to the library.</p><h3 id="JULIA_MPI_ABI"><a class="docs-heading-anchor" href="#JULIA_MPI_ABI"><code>JULIA_MPI_ABI</code></a><a id="JULIA_MPI_ABI-1"></a><a class="docs-heading-anchor-permalink" href="#JULIA_MPI_ABI" title="Permalink"></a></h3><p>Use <a href="../reference/mpipreferences/#MPIPreferences.use_system_binary"><code>MPIPreferences.use_system_binary</code></a> with keyword argument <code>abi</code> to specify which ABI to use. See <a href="../reference/mpipreferences/#MPIPreferences.abi"><code>MPIPreferences.abi</code></a> for possible values.</p><h3 id="JULIA_MPIEXEC"><a class="docs-heading-anchor" href="#JULIA_MPIEXEC"><code>JULIA_MPIEXEC</code></a><a id="JULIA_MPIEXEC-1"></a><a class="docs-heading-anchor-permalink" href="#JULIA_MPIEXEC" title="Permalink"></a></h3><p>Use <a href="../reference/mpipreferences/#MPIPreferences.use_system_binary"><code>MPIPreferences.use_system_binary</code></a> with keyword argument <code>mpiexec</code> to specify the MPI launcher executable.</p><h3 id="JULIA_MPIEXEC_ARGS"><a class="docs-heading-anchor" href="#JULIA_MPIEXEC_ARGS"><code>JULIA_MPIEXEC_ARGS</code></a><a id="JULIA_MPIEXEC_ARGS-1"></a><a class="docs-heading-anchor-permalink" href="#JULIA_MPIEXEC_ARGS" title="Permalink"></a></h3><p>Use <a href="../reference/mpipreferences/#MPIPreferences.use_system_binary"><code>MPIPreferences.use_system_binary</code></a> with keyword argument <code>mpiexec</code>, and pass a <a href="https://docs.julialang.org/en/v1/manual/running-external-programs/#Cmd-Objects"><code>Cmd</code></a> object to set the MPI launcher executable and to include specific command line options.</p><h3 id="JULIA_MPI_INCLUDE_PATH"><a class="docs-heading-anchor" href="#JULIA_MPI_INCLUDE_PATH"><code>JULIA_MPI_INCLUDE_PATH</code></a><a id="JULIA_MPI_INCLUDE_PATH-1"></a><a class="docs-heading-anchor-permalink" href="#JULIA_MPI_INCLUDE_PATH" title="Permalink"></a></h3><p>Removed without replacement. Automatic generation of a constants file for unknown MPI ABIs is not supported anymore. See also <a href="https://github.com/JuliaParallel/MPI.jl/issues/574">#574</a>.</p><h3 id="JULIA_MPI_CFLAGS"><a class="docs-heading-anchor" href="#JULIA_MPI_CFLAGS"><code>JULIA_MPI_CFLAGS</code></a><a id="JULIA_MPI_CFLAGS-1"></a><a class="docs-heading-anchor-permalink" href="#JULIA_MPI_CFLAGS" title="Permalink"></a></h3><p>Removed without replacement. Automatic generation of a constants file for unknown MPI ABIs is not supported anymore. See also <a href="https://github.com/JuliaParallel/MPI.jl/issues/574">#574</a>.</p><h3 id="JULIA_MPICC"><a class="docs-heading-anchor" href="#JULIA_MPICC"><code>JULIA_MPICC</code></a><a id="JULIA_MPICC-1"></a><a class="docs-heading-anchor-permalink" href="#JULIA_MPICC" title="Permalink"></a></h3><p>Removed without replacement. Automatic generation of a constants file for unknown MPI ABIs is not supported anymore. See also <a href="https://github.com/JuliaParallel/MPI.jl/issues/574">#574</a>.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../">« MPI.jl</a><a class="docs-footer-nextpage" href="../usage/">Usage »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 6 November 2022 21:18">Sunday 6 November 2022</span>. Using Julia version 1.8.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR676/examples/01-hello/index.html b/previews/PR676/examples/01-hello/index.html
deleted file mode 100644
index f8eb6ecb3..000000000
--- a/previews/PR676/examples/01-hello/index.html
+++ /dev/null
@@ -1,12 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Hello world · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li class="is-active"><a class="tocitem" href>Hello world</a></li><li><a class="tocitem" href="../02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../03-reduce/">Reduce</a></li><li><a class="tocitem" href="../04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../../reference/library/">Library information</a></li><li><a class="tocitem" href="../../reference/environment/">Environment</a></li><li><a class="tocitem" href="../../reference/misc/">Miscellanea</a></li><li><a class="tocitem" href="../../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../../reference/topology/">Topology</a></li><li><a class="tocitem" href="../../reference/io/">I/O</a></li><li><a class="tocitem" href="../../reference/advanced/">Advanced</a></li><li><a class="tocitem" href="../../reference/api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Examples</a></li><li class="is-active"><a href>Hello world</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Hello world</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/01-hello.jl" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Hello-world"><a class="docs-heading-anchor" href="#Hello-world">Hello world</a><a id="Hello-world-1"></a><a class="docs-heading-anchor-permalink" href="#Hello-world" title="Permalink"></a></h1><pre><code class="language-julia hljs"># examples/01-hello.jl
-using MPI
-MPI.Init()
-
-comm = MPI.COMM_WORLD
-print(&quot;Hello world, I am rank $(MPI.Comm_rank(comm)) of $(MPI.Comm_size(comm))\n&quot;)
-MPI.Barrier(comm)</code></pre><pre><code class="nohighlight hljs">&gt; mpiexecjl -n 4 julia examples/01-hello.jl
-Hello world, I am rank 3 of 4
-Hello world, I am rank 0 of 4
-Hello world, I am rank 2 of 4
-Hello world, I am rank 1 of 4</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../../knownissues/">« Known issues</a><a class="docs-footer-nextpage" href="../02-broadcast/">Broadcast »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 6 November 2022 21:18">Sunday 6 November 2022</span>. Using Julia version 1.8.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR676/examples/02-broadcast/index.html b/previews/PR676/examples/02-broadcast/index.html
deleted file mode 100644
index 24934d993..000000000
--- a/previews/PR676/examples/02-broadcast/index.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Broadcast · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../01-hello/">Hello world</a></li><li class="is-active"><a class="tocitem" href>Broadcast</a></li><li><a class="tocitem" href="../03-reduce/">Reduce</a></li><li><a class="tocitem" href="../04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../../reference/library/">Library information</a></li><li><a class="tocitem" href="../../reference/environment/">Environment</a></li><li><a class="tocitem" href="../../reference/misc/">Miscellanea</a></li><li><a class="tocitem" href="../../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../../reference/topology/">Topology</a></li><li><a class="tocitem" href="../../reference/io/">I/O</a></li><li><a class="tocitem" href="../../reference/advanced/">Advanced</a></li><li><a class="tocitem" href="../../reference/api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Examples</a></li><li class="is-active"><a href>Broadcast</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Broadcast</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/02-broadcast.jl" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Broadcast"><a class="docs-heading-anchor" href="#Broadcast">Broadcast</a><a id="Broadcast-1"></a><a class="docs-heading-anchor-permalink" href="#Broadcast" title="Permalink"></a></h1><pre><code class="language-julia hljs"># examples/02-broadcast.jl
-import MPI
-MPI.Init()
-
-comm = MPI.COMM_WORLD
-N = 5
-root = 0
-
-if MPI.Comm_rank(comm) == root
-    print(&quot; Running on $(MPI.Comm_size(comm)) processes\n&quot;)
-end
-MPI.Barrier(comm)
-
-if MPI.Comm_rank(comm) == root
-    A = [i*(1.0 + im*2.0) for i = 1:N]
-else
-    A = Array{ComplexF64}(undef, N)
-end
-
-MPI.Bcast!(A, root, comm)
-
-print(&quot;rank = $(MPI.Comm_rank(comm)), A = $A\n&quot;)
-
-if MPI.Comm_rank(comm) == root
-    B = Dict(&quot;foo&quot; =&gt; &quot;bar&quot;)
-else
-    B = nothing
-end
-
-B = MPI.bcast(B, root, comm)
-print(&quot;rank = $(MPI.Comm_rank(comm)), B = $B\n&quot;)
-
-if MPI.Comm_rank(comm) == root
-    f = x -&gt; x^2 + 2x - 1
-else
-    f = nothing
-end
-
-f = MPI.bcast(f, root, comm)
-print(&quot;rank = $(MPI.Comm_rank(comm)), f(3) = $(f(3))\n&quot;)</code></pre><pre><code class="nohighlight hljs">&gt; mpiexecjl -n 4 julia examples/02-broadcast.jl
- Running on 4 processes
-rank = 0, A = ComplexF64[1.0 + 2.0im, 2.0 + 4.0im, 3.0 + 6.0im, 4.0 + 8.0im, 5.0 + 10.0im]
-rank = 3, A = ComplexF64[1.0 + 2.0im, 2.0 + 4.0im, 3.0 + 6.0im, 4.0 + 8.0im, 5.0 + 10.0im]
-rank = 1, A = ComplexF64[1.0 + 2.0im, 2.0 + 4.0im, 3.0 + 6.0im, 4.0 + 8.0im, 5.0 + 10.0im]
-rank = 2, A = ComplexF64[1.0 + 2.0im, 2.0 + 4.0im, 3.0 + 6.0im, 4.0 + 8.0im, 5.0 + 10.0im]
-rank = 0, B = Dict(&quot;foo&quot; =&gt; &quot;bar&quot;)
-rank = 3, B = Dict(&quot;foo&quot; =&gt; &quot;bar&quot;)
-rank = 1, B = Dict(&quot;foo&quot; =&gt; &quot;bar&quot;)
-rank = 2, B = Dict(&quot;foo&quot; =&gt; &quot;bar&quot;)
-rank = 0, f(3) = 14
-rank = 1, f(3) = 14
-rank = 3, f(3) = 14
-rank = 2, f(3) = 14</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../01-hello/">« Hello world</a><a class="docs-footer-nextpage" href="../03-reduce/">Reduce »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 6 November 2022 21:18">Sunday 6 November 2022</span>. Using Julia version 1.8.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR676/examples/03-reduce/index.html b/previews/PR676/examples/03-reduce/index.html
deleted file mode 100644
index ead5b2054..000000000
--- a/previews/PR676/examples/03-reduce/index.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Reduce · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../01-hello/">Hello world</a></li><li><a class="tocitem" href="../02-broadcast/">Broadcast</a></li><li class="is-active"><a class="tocitem" href>Reduce</a></li><li><a class="tocitem" href="../04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../../reference/library/">Library information</a></li><li><a class="tocitem" href="../../reference/environment/">Environment</a></li><li><a class="tocitem" href="../../reference/misc/">Miscellanea</a></li><li><a class="tocitem" href="../../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../../reference/topology/">Topology</a></li><li><a class="tocitem" href="../../reference/io/">I/O</a></li><li><a class="tocitem" href="../../reference/advanced/">Advanced</a></li><li><a class="tocitem" href="../../reference/api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Examples</a></li><li class="is-active"><a href>Reduce</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Reduce</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/03-reduce.jl" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Reduce"><a class="docs-heading-anchor" href="#Reduce">Reduce</a><a id="Reduce-1"></a><a class="docs-heading-anchor-permalink" href="#Reduce" title="Permalink"></a></h1><pre><code class="language-julia hljs"># examples/03-reduce.jl
-# This example shows how to use custom datatypes and reduction operators
-# It computes the variance in parallel in a numerically stable way
-
-using MPI, Statistics
-
-MPI.Init()
-const comm = MPI.COMM_WORLD
-const root = 0
-
-# Define a custom struct
-# This contains the summary statistics (mean, variance, length) of a vector
-struct SummaryStat
-    mean::Float64
-    var::Float64
-    n::Float64
-end
-function SummaryStat(X::AbstractArray)
-    m = mean(X)
-    v = varm(X,m, corrected=false)
-    n = length(X)
-    SummaryStat(m,v,n)
-end
-
-# Define a custom reduction operator
-# this computes the pooled mean, pooled variance and total length
-function pool(S1::SummaryStat, S2::SummaryStat)
-    n = S1.n + S2.n
-    m = (S1.mean*S1.n + S2.mean*S2.n) / n
-    v = (S1.n * (S1.var + S1.mean * (S1.mean-m)) +
-         S2.n * (S2.var + S2.mean * (S2.mean-m)))/n
-    SummaryStat(m,v,n)
-end
-
-X = randn(10,3) .* [1,3,7]&#39;
-
-# Perform a scalar reduction
-summ = MPI.Reduce(SummaryStat(X), pool, root, comm)
-
-if MPI.Comm_rank(comm) == root
-    @show summ.var
-end
-
-# Perform a vector reduction:
-# the reduction operator is applied elementwise
-col_summ = MPI.Reduce(mapslices(SummaryStat,X,dims=1), pool, root, comm)
-
-if MPI.Comm_rank(comm) == root
-    col_var = map(summ -&gt; summ.var, col_summ)
-    @show col_var
-end</code></pre><pre><code class="nohighlight hljs">&gt; mpiexecjl -n 4 julia examples/03-reduce.jl
-summ.var = 14.93603327968865
-col_var = [0.9409436034175591 7.445086796768317 36.200059808065156]</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../02-broadcast/">« Broadcast</a><a class="docs-footer-nextpage" href="../04-sendrecv/">Send/receive »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 6 November 2022 21:18">Sunday 6 November 2022</span>. Using Julia version 1.8.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR676/examples/04-sendrecv/index.html b/previews/PR676/examples/04-sendrecv/index.html
deleted file mode 100644
index c70681869..000000000
--- a/previews/PR676/examples/04-sendrecv/index.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Send/receive · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../01-hello/">Hello world</a></li><li><a class="tocitem" href="../02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../03-reduce/">Reduce</a></li><li class="is-active"><a class="tocitem" href>Send/receive</a></li><li><a class="tocitem" href="../05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../../reference/library/">Library information</a></li><li><a class="tocitem" href="../../reference/environment/">Environment</a></li><li><a class="tocitem" href="../../reference/misc/">Miscellanea</a></li><li><a class="tocitem" href="../../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../../reference/topology/">Topology</a></li><li><a class="tocitem" href="../../reference/io/">I/O</a></li><li><a class="tocitem" href="../../reference/advanced/">Advanced</a></li><li><a class="tocitem" href="../../reference/api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Examples</a></li><li class="is-active"><a href>Send/receive</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Send/receive</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/04-sendrecv.jl" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Send/receive"><a class="docs-heading-anchor" href="#Send/receive">Send/receive</a><a id="Send/receive-1"></a><a class="docs-heading-anchor-permalink" href="#Send/receive" title="Permalink"></a></h1><pre><code class="language-julia hljs"># examples/04-sendrecv.jl
-using MPI
-MPI.Init()
-
-comm = MPI.COMM_WORLD
-rank = MPI.Comm_rank(comm)
-size = MPI.Comm_size(comm)
-
-dst = mod(rank+1, size)
-src = mod(rank-1, size)
-
-N = 4
-
-send_mesg = Array{Float64}(undef, N)
-recv_mesg = Array{Float64}(undef, N)
-
-fill!(send_mesg, Float64(rank))
-
-rreq = MPI.Irecv!(recv_mesg, comm; source=src, tag=src+32)
-
-print(&quot;$rank: Sending   $rank -&gt; $dst = $send_mesg\n&quot;)
-sreq = MPI.Isend(send_mesg, comm; dest=dst, tag=rank+32)
-
-stats = MPI.Waitall([rreq, sreq])
-
-print(&quot;$rank: Received $src -&gt; $rank = $recv_mesg\n&quot;)
-
-MPI.Barrier(comm)</code></pre><pre><code class="nohighlight hljs">&gt; mpiexecjl -n 4 julia examples/04-sendrecv.jl
-0: Sending   0 -&gt; 1 = [0.0, 0.0, 0.0, 0.0]
-1: Sending   1 -&gt; 2 = [1.0, 1.0, 1.0, 1.0]
-2: Sending   2 -&gt; 3 = [2.0, 2.0, 2.0, 2.0]
-3: Sending   3 -&gt; 0 = [3.0, 3.0, 3.0, 3.0]
-1: Received 0 -&gt; 1 = [0.0, 0.0, 0.0, 0.0]
-0: Received 3 -&gt; 0 = [3.0, 3.0, 3.0, 3.0]
-3: Received 2 -&gt; 3 = [2.0, 2.0, 2.0, 2.0]
-2: Received 1 -&gt; 2 = [1.0, 1.0, 1.0, 1.0]</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../03-reduce/">« Reduce</a><a class="docs-footer-nextpage" href="../05-job_schedule/">Job Scheduling »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 6 November 2022 21:18">Sunday 6 November 2022</span>. Using Julia version 1.8.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR676/examples/05-job_schedule/index.html b/previews/PR676/examples/05-job_schedule/index.html
deleted file mode 100644
index 2fd02df42..000000000
--- a/previews/PR676/examples/05-job_schedule/index.html
+++ /dev/null
@@ -1,172 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Job Scheduling · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../01-hello/">Hello world</a></li><li><a class="tocitem" href="../02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../03-reduce/">Reduce</a></li><li><a class="tocitem" href="../04-sendrecv/">Send/receive</a></li><li class="is-active"><a class="tocitem" href>Job Scheduling</a></li><li><a class="tocitem" href="../06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../../reference/library/">Library information</a></li><li><a class="tocitem" href="../../reference/environment/">Environment</a></li><li><a class="tocitem" href="../../reference/misc/">Miscellanea</a></li><li><a class="tocitem" href="../../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../../reference/topology/">Topology</a></li><li><a class="tocitem" href="../../reference/io/">I/O</a></li><li><a class="tocitem" href="../../reference/advanced/">Advanced</a></li><li><a class="tocitem" href="../../reference/api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Examples</a></li><li class="is-active"><a href>Job Scheduling</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Job Scheduling</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/05-job_schedule.jl" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Job-Scheduling"><a class="docs-heading-anchor" href="#Job-Scheduling">Job Scheduling</a><a id="Job-Scheduling-1"></a><a class="docs-heading-anchor-permalink" href="#Job-Scheduling" title="Permalink"></a></h1><pre><code class="language-julia hljs"># examples/05-job_schedule.jl
-# This example demonstrates a job scheduling through adding the
-# number 100 to every component of the vector data. The root
-# assigns one element to each worker to compute the operation.
-# When the worker is finished, the root sends another element
-# until each element is added 100
-# Inspired on
-# https://www.hpc.ntnu.no/ntnu-hpc-group/vilje/user-guide/software/mpi-and-mpi-io-training-tutorial/basic-mpi/job-queue
-
-using MPI
-
-function job_queue(data,f)
-    MPI.Init()
-
-    comm = MPI.COMM_WORLD
-    rank = MPI.Comm_rank(comm)
-    world_size = MPI.Comm_size(comm)
-    nworkers = world_size - 1
-
-    root = 0
-
-    MPI.Barrier(comm)
-    T = eltype(data)
-    N = size(data)[1]
-    send_mesg = Array{T}(undef, 1)
-    recv_mesg = Array{T}(undef, 1)
-
-    if rank == root # I am root
-
-        idx_recv = 0
-        idx_sent = 1
-
-        new_data = Array{T}(undef, N)
-        # Array of workers requests
-        sreqs_workers = Array{MPI.Request}(undef,nworkers)
-        # -1 = start, 0 = channel not available, 1 = channel available
-        status_workers = ones(nworkers).*-1
-
-        # Send message to workers
-        for dst in 1:nworkers
-            if idx_sent &gt; N
-                break
-            end
-            send_mesg[1] = data[idx_sent]
-            sreq = MPI.Isend(send_mesg, comm; dest=dst, tag=dst+32)
-            idx_sent += 1
-            sreqs_workers[dst] = sreq
-            status_workers[dst] = 0
-            print(&quot;Root: Sent number $(send_mesg[1]) to Worker $dst\n&quot;)
-        end
-
-        # Send and receive messages until all elements are added
-        while idx_recv != N
-            # Check to see if there is an available message to receive
-            for dst in 1:nworkers
-                if status_workers[dst] == 0
-                    flag = MPI.Test(sreqs_workers[dst])
-                    if flag
-                        status_workers[dst] = 1
-                    end
-                end
-            end
-            for dst in 1:nworkers
-                if status_workers[dst] == 1
-                    ismessage = MPI.Iprobe(comm; source=dst, tag=dst+32)
-                    if ismessage
-                        # Receives message
-                        MPI.Recv!(recv_mesg, comm; source=dst, tag=dst+32)
-                        idx_recv += 1
-                        new_data[idx_recv] = recv_mesg[1]
-                        print(&quot;Root: Received number $(recv_mesg[1]) from Worker $dst\n&quot;)
-                        if idx_sent &lt;= N
-                            send_mesg[1] = data[idx_sent]
-                            # Sends new message
-                            sreq = MPI.Isend(send_mesg, comm; dest=dst, tag=dst+32)
-                            idx_sent += 1
-                            sreqs_workers[dst] = sreq
-                            status_workers[dst] = 1
-                            print(&quot;Root: Sent number $(send_mesg[1]) to Worker $dst\n&quot;)
-                        end
-                    end
-                end
-            end
-        end
-
-        for dst in 1:nworkers
-            # Termination message to worker
-            send_mesg[1] = -1
-            sreq = MPI.Isend(send_mesg, comm; dest=dst, tag=dst+32)
-            sreqs_workers[dst] = sreq
-            status_workers[dst] = 0
-            print(&quot;Root: Finish Worker $dst\n&quot;)
-        end
-
-        MPI.Waitall(sreqs_workers)
-        print(&quot;Root: New data = $new_data\n&quot;)
-    else # If rank == worker
-        # -1 = start, 0 = channel not available, 1 = channel available
-        status_worker = -1
-        while true
-            sreqs_workers = Array{MPI.Request}(undef,1)
-            ismessage = MPI.Iprobe(comm; source=root, tag=rank+32)
-
-            if ismessage
-                # Receives message
-                MPI.Recv!(recv_mesg, comm; source=root, tag=rank+32)
-                # Termination message from root
-                if recv_mesg[1] == -1
-                    print(&quot;Worker $rank: Finish\n&quot;)
-                    break
-                end
-                print(&quot;Worker $rank: Received number $(recv_mesg[1]) from root\n&quot;)
-                # Apply function (add number 100) to array
-                send_mesg = f(recv_mesg)
-                sreq = MPI.Isend(send_mesg, comm; dest=root, tag=rank+32)
-                sreqs_workers[1] = sreq
-                status_worker = 0
-            end
-            # Check to see if there is an available message to receive
-            if status_worker == 0
-                flag = MPI.Test(sreqs_workers[1])
-                if flag
-                    status_worker = 1
-                end
-            end
-        end
-    end
-    MPI.Barrier(comm)
-    MPI.Finalize()
-end
-
-f = x -&gt; x.+100
-data = collect(1:10)
-job_queue(data,f)</code></pre><pre><code class="nohighlight hljs">&gt; mpiexecjl -n 4 julia examples/05-job_schedule.jl
-Worker 1: Received number 1 from root
-Root: Sent number 1 to Worker 1
-Root: Sent number 2 to Worker 2
-Root: Sent number 3 to Worker 3
-Worker 3: Received number 3 from root
-Root: Received number 103 from Worker 3
-Root: Sent number 4 to Worker 3
-Root: Received number 101 from Worker 1
-Root: Sent number 5 to Worker 1
-Worker 3: Received number 4 from root
-Worker 2: Received number 2 from root
-Worker 1: Received number 5 from root
-Root: Received number 105 from Worker 1
-Root: Sent number 6 to Worker 1
-Root: Received number 102 from Worker 2
-Root: Sent number 7 to Worker 2
-Root: Received number 104 from Worker 3
-Root: Sent number 8 to Worker 3
-Worker 3: Received number 8 from root
-Root: Received number 108 from Worker 3
-Root: Sent number 9 to Worker 3
-Worker 3: Received number 9 from root
-Root: Received number 109 from Worker 3
-Root: Sent number 10 to Worker 3
-Worker 3: Received number 10 from root
-Root: Received number 110 from Worker 3
-Worker 1: Received number 6 from root
-Worker 2: Received number 7 from root
-Root: Received number 106 from Worker 1
-Root: Received number 107 from Worker 2
-Root: Finish Worker 1
-Root: Finish Worker 2
-Root: Finish Worker 3
-Worker 3: Finish
-Root: New data = [103, 101, 105, 102, 104, 108, 109, 110, 106, 107]
-Worker 2: Finish
-Worker 1: Finish</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../04-sendrecv/">« Send/receive</a><a class="docs-footer-nextpage" href="../06-scatterv/">Scatterv and Gatherv »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 6 November 2022 21:18">Sunday 6 November 2022</span>. Using Julia version 1.8.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR676/examples/06-scatterv/index.html b/previews/PR676/examples/06-scatterv/index.html
deleted file mode 100644
index a1ad73a3e..000000000
--- a/previews/PR676/examples/06-scatterv/index.html
+++ /dev/null
@@ -1,101 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Scatterv and Gatherv · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../01-hello/">Hello world</a></li><li><a class="tocitem" href="../02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../03-reduce/">Reduce</a></li><li><a class="tocitem" href="../04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../05-job_schedule/">Job Scheduling</a></li><li class="is-active"><a class="tocitem" href>Scatterv and Gatherv</a></li><li><a class="tocitem" href="../07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../../reference/library/">Library information</a></li><li><a class="tocitem" href="../../reference/environment/">Environment</a></li><li><a class="tocitem" href="../../reference/misc/">Miscellanea</a></li><li><a class="tocitem" href="../../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../../reference/topology/">Topology</a></li><li><a class="tocitem" href="../../reference/io/">I/O</a></li><li><a class="tocitem" href="../../reference/advanced/">Advanced</a></li><li><a class="tocitem" href="../../reference/api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Examples</a></li><li class="is-active"><a href>Scatterv and Gatherv</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Scatterv and Gatherv</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/06-scatterv.jl" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Scatterv-and-Gatherv"><a class="docs-heading-anchor" href="#Scatterv-and-Gatherv">Scatterv and Gatherv</a><a id="Scatterv-and-Gatherv-1"></a><a class="docs-heading-anchor-permalink" href="#Scatterv-and-Gatherv" title="Permalink"></a></h1><pre><code class="language-julia hljs"># examples/06-scatterv.jl
-# This example shows how to use MPI.Scatterv! and MPI.Gatherv!
-# roughly based on the example from
-# https://stackoverflow.com/a/36082684/392585
-
-using MPI
-
-&quot;&quot;&quot;
-    split_count(N::Integer, n::Integer)
-
-Return a vector of `n` integers which are approximately equally sized and sum to `N`.
-&quot;&quot;&quot;
-function split_count(N::Integer, n::Integer)
-    q,r = divrem(N, n)
-    return [i &lt;= r ? q+1 : q for i = 1:n]
-end
-
-
-MPI.Init()
-
-comm = MPI.COMM_WORLD
-rank = MPI.Comm_rank(comm)
-comm_size = MPI.Comm_size(comm)
-
-root = 0
-
-if rank == root
-    M, N = 4, 7
-
-    test = Float64[i for i = 1:M, j = 1:N]
-    output = similar(test)
-    
-    # Julia arrays are stored in column-major order, so we need to split along the last dimension
-    # dimension
-    M_counts = [M for i = 1:comm_size]
-    N_counts = split_count(N, comm_size)
-
-    # store sizes in 2 * comm_size Array
-    sizes = vcat(M_counts&#39;, N_counts&#39;)
-    size_ubuf = UBuffer(sizes, 2)
-
-    # store number of values to send to each rank in comm_size length Vector
-    counts = vec(prod(sizes, dims=1))
-
-    test_vbuf = VBuffer(test, counts) # VBuffer for scatter
-    output_vbuf = VBuffer(output, counts) # VBuffer for gather
-else
-    # these variables can be set to `nothing` on non-root processes
-    size_ubuf = UBuffer(nothing)
-    output_vbuf = test_vbuf = VBuffer(nothing)
-end
-
-if rank == root
-    println(&quot;Original matrix&quot;)
-    println(&quot;================&quot;)
-    @show test sizes counts
-    println()
-    println(&quot;Each rank&quot;)
-    println(&quot;================&quot;)
-end 
-MPI.Barrier(comm)
-
-local_size = MPI.Scatter(size_ubuf, NTuple{2,Int}, root, comm)
-local_test = MPI.Scatterv!(test_vbuf, zeros(Float64, local_size), root, comm)
-
-for i = 0:comm_size-1
-    if rank == i
-        @show rank local_test
-    end
-    MPI.Barrier(comm)
-end
-
-MPI.Gatherv!(local_test, output_vbuf, root, comm)
-
-if rank == root
-    println()
-    println(&quot;Final matrix&quot;)
-    println(&quot;================&quot;)
-    @show output
-end </code></pre><pre><code class="nohighlight hljs">&gt; mpiexecjl -n 4 julia examples/06-scatterv.jl
-Original matrix
-================
-test = [1.0 1.0 1.0 1.0 1.0 1.0 1.0; 2.0 2.0 2.0 2.0 2.0 2.0 2.0; 3.0 3.0 3.0 3.0 3.0 3.0 3.0; 4.0 4.0 4.0 4.0 4.0 4.0 4.0]
-sizes = [4 4 4 4; 2 2 2 1]
-counts = [8, 8, 8, 4]
-
-Each rank
-================
-rank = 0
-local_test = [1.0 1.0; 2.0 2.0; 3.0 3.0; 4.0 4.0]
-rank = 1
-local_test = [1.0 1.0; 2.0 2.0; 3.0 3.0; 4.0 4.0]
-rank = 2
-local_test = [1.0 1.0; 2.0 2.0; 3.0 3.0; 4.0 4.0]
-rank = 3
-local_test = [1.0; 2.0; 3.0; 4.0;;]
-
-Final matrix
-================
-output = [1.0 1.0 1.0 1.0 1.0 1.0 1.0; 2.0 2.0 2.0 2.0 2.0 2.0 2.0; 3.0 3.0 3.0 3.0 3.0 3.0 3.0; 4.0 4.0 4.0 4.0 4.0 4.0 4.0]</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../05-job_schedule/">« Job Scheduling</a><a class="docs-footer-nextpage" href="../07-rma_active/">Active RMA »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 6 November 2022 21:18">Sunday 6 November 2022</span>. Using Julia version 1.8.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR676/examples/07-rma_active/index.html b/previews/PR676/examples/07-rma_active/index.html
deleted file mode 100644
index 2e0f7c77c..000000000
--- a/previews/PR676/examples/07-rma_active/index.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Active RMA · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../01-hello/">Hello world</a></li><li><a class="tocitem" href="../02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../03-reduce/">Reduce</a></li><li><a class="tocitem" href="../04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../06-scatterv/">Scatterv and Gatherv</a></li><li class="is-active"><a class="tocitem" href>Active RMA</a></li><li><a class="tocitem" href="../08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../../reference/library/">Library information</a></li><li><a class="tocitem" href="../../reference/environment/">Environment</a></li><li><a class="tocitem" href="../../reference/misc/">Miscellanea</a></li><li><a class="tocitem" href="../../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../../reference/topology/">Topology</a></li><li><a class="tocitem" href="../../reference/io/">I/O</a></li><li><a class="tocitem" href="../../reference/advanced/">Advanced</a></li><li><a class="tocitem" href="../../reference/api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Examples</a></li><li class="is-active"><a href>Active RMA</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Active RMA</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/07-rma_active.jl" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Active-RMA"><a class="docs-heading-anchor" href="#Active-RMA">Active RMA</a><a id="Active-RMA-1"></a><a class="docs-heading-anchor-permalink" href="#Active-RMA" title="Permalink"></a></h1><pre><code class="language-julia hljs"># examples/07-rma_active.jl
-# This example demonstrates one-sided communication,
-# specifically activate Remote Memory Access (RMA)
-
-using MPI
-
-MPI.Init()
-const world_sz = MPI.Comm_size(MPI.COMM_WORLD)
-const rank = MPI.Comm_rank(MPI.COMM_WORLD)
-
-# allocate memory
-all_ranks = fill(-1, world_sz)
-# create RMA window on all ranks
-win = MPI.Win_create(all_ranks, MPI.COMM_WORLD)
-
-#### first, let&#39;s MPI.Put on all ranks
-
-# start the communication epoch
-MPI.Win_fence(0, win)
-# each rank writes to exposed windows of rank 0
-# Signature: obj, target_rank, target_displacement, window
-MPI.Put(rank, 0, rank, win)
-# finish the communication epoch
-MPI.Win_fence(0, win)
-# print window content on all ranks
-for j in 0:world_sz-1
-    if rank == j
-        println(&quot;After Put, Rank $rank:&quot;)
-        @show all_ranks
-    end
-    MPI.Barrier(MPI.COMM_WORLD)
-end
-rank == 0 &amp;&amp; println()
-
-#### now, let&#39;s MPI.Get on all ranks
-
-# start the communication epoch
-MPI.Win_fence(0, win)
-# each rank reads from exposed windows of rank 0
-MPI.Get(all_ranks, 0, win)
-# finish the communication epoch
-MPI.Win_fence(0, win)
-# print window content on all ranks
-for j in 0:world_sz-1
-    if rank == j
-        println(&quot;After Get, Rank $rank:&quot;)
-        @show all_ranks
-    end
-    MPI.Barrier(MPI.COMM_WORLD)
-end
-
-# free window
-MPI.free(win)</code></pre><pre><code class="nohighlight hljs">&gt; mpiexecjl -n 4 julia examples/07-rma_active.jl
-After Put, Rank 0:
-all_ranks = [0, 1, 2, 3]
-After Put, Rank 1:
-all_ranks = [-1, -1, -1, -1]
-After Put, Rank 2:
-all_ranks = [-1, -1, -1, -1]
-After Put, Rank 3:
-all_ranks = [-1, -1, -1, -1]
-
-After Get, Rank 0:
-all_ranks = [0, 1, 2, 3]
-After Get, Rank 1:
-all_ranks = [0, 1, 2, 3]
-After Get, Rank 2:
-all_ranks = [0, 1, 2, 3]
-After Get, Rank 3:
-all_ranks = [0, 1, 2, 3]</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../06-scatterv/">« Scatterv and Gatherv</a><a class="docs-footer-nextpage" href="../08-rma_passive/">Passive RMA »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 6 November 2022 21:18">Sunday 6 November 2022</span>. Using Julia version 1.8.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR676/examples/08-rma_passive/index.html b/previews/PR676/examples/08-rma_passive/index.html
deleted file mode 100644
index 35ae0894f..000000000
--- a/previews/PR676/examples/08-rma_passive/index.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Passive RMA · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../01-hello/">Hello world</a></li><li><a class="tocitem" href="../02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../03-reduce/">Reduce</a></li><li><a class="tocitem" href="../04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../07-rma_active/">Active RMA</a></li><li class="is-active"><a class="tocitem" href>Passive RMA</a></li><li><a class="tocitem" href="../09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../../reference/library/">Library information</a></li><li><a class="tocitem" href="../../reference/environment/">Environment</a></li><li><a class="tocitem" href="../../reference/misc/">Miscellanea</a></li><li><a class="tocitem" href="../../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../../reference/topology/">Topology</a></li><li><a class="tocitem" href="../../reference/io/">I/O</a></li><li><a class="tocitem" href="../../reference/advanced/">Advanced</a></li><li><a class="tocitem" href="../../reference/api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Examples</a></li><li class="is-active"><a href>Passive RMA</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Passive RMA</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/08-rma_passive.jl" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Passive-RMA"><a class="docs-heading-anchor" href="#Passive-RMA">Passive RMA</a><a id="Passive-RMA-1"></a><a class="docs-heading-anchor-permalink" href="#Passive-RMA" title="Permalink"></a></h1><pre><code class="language-julia hljs"># examples/08-rma_passive.jl
-# This example demonstrates one-sided communication,
-# specifically passive Remote Memory Access (RMA)
-
-using MPI
-
-MPI.Init()
-const world_sz = MPI.Comm_size(MPI.COMM_WORLD)
-const rank = MPI.Comm_rank(MPI.COMM_WORLD)
-
-# allocate memory
-all_ranks = fill(-1, world_sz)
-# create RMA window on all ranks
-win = MPI.Win_create(all_ranks, MPI.COMM_WORLD)
-
-# let each rank write its rank number into window
-if rank != 0
-    # lock window (MPI.LOCK_SHARED works as well)
-    MPI.Win_lock(MPI.LOCK_EXCLUSIVE, 0, 0, win)
-    # each rank writes to exposed windows of rank 0
-    # Signature: obj, target_rank, target_displacement, window
-    MPI.Put(rank, 0, rank, win)
-    # finish the communication epoch
-    MPI.Win_unlock(0, win)
-else
-    all_ranks[1] = 0
-end
-
-# wait with printing
-MPI.Win_fence(0, win)
-
-# print window content on all ranks
-if rank == 0
-    println(&quot;After Put with lock / unlock, window content on rank 0:&quot;)
-    @show all_ranks
-end
-
-# free window
-MPI.free(win)</code></pre><pre><code class="nohighlight hljs">&gt; mpiexecjl -n 4 julia examples/08-rma_passive.jl
-After Put with lock / unlock, window content on rank 0:
-all_ranks = [0, 1, 2, 3]</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../07-rma_active/">« Active RMA</a><a class="docs-footer-nextpage" href="../09-graph_communication/">Graph Communication »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 6 November 2022 21:18">Sunday 6 November 2022</span>. Using Julia version 1.8.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR676/examples/09-graph_communication/index.html b/previews/PR676/examples/09-graph_communication/index.html
deleted file mode 100644
index bc1f36a0c..000000000
--- a/previews/PR676/examples/09-graph_communication/index.html
+++ /dev/null
@@ -1,139 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Graph Communication · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../01-hello/">Hello world</a></li><li><a class="tocitem" href="../02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../03-reduce/">Reduce</a></li><li><a class="tocitem" href="../04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../08-rma_passive/">Passive RMA</a></li><li class="is-active"><a class="tocitem" href>Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../../reference/library/">Library information</a></li><li><a class="tocitem" href="../../reference/environment/">Environment</a></li><li><a class="tocitem" href="../../reference/misc/">Miscellanea</a></li><li><a class="tocitem" href="../../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../../reference/topology/">Topology</a></li><li><a class="tocitem" href="../../reference/io/">I/O</a></li><li><a class="tocitem" href="../../reference/advanced/">Advanced</a></li><li><a class="tocitem" href="../../reference/api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Examples</a></li><li class="is-active"><a href>Graph Communication</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Graph Communication</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/09-graph_communication.jl" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Graph-Communication"><a class="docs-heading-anchor" href="#Graph-Communication">Graph Communication</a><a id="Graph-Communication-1"></a><a class="docs-heading-anchor-permalink" href="#Graph-Communication" title="Permalink"></a></h1><pre><code class="language-julia hljs"># examples/09-graph_communication.jl
-using Test
-using MPI
-
-MPI.Init()
-
-comm = MPI.COMM_WORLD
-size = MPI.Comm_size(comm)
-rank = MPI.Comm_rank(comm)
-
-#
-# Setup the following communication graph
-#
-#   +-----+
-#   |     |
-#   v     v
-#   0&lt;-+  3
-#   ^  |  ^
-#   |  |  |
-#   v  |  v
-#   1  +--2
-#   ^     |
-#   |     |
-#   +-----+
-#
-#
-
-if rank == 0
-    dest   = Cint[1,3]
-    degree = Cint[length(dest)]
-elseif rank == 1
-    dest   = Cint[0]
-    degree = Cint[length(dest)]
-elseif rank == 2
-    dest   = Cint[3,0,1]
-    degree = Cint[length(dest)]
-elseif rank == 3
-    dest   = Cint[0,2,1]
-    degree = Cint[length(dest)]
-end
-
-source = Cint[rank]
-graph_comm = MPI.Dist_graph_create(comm, source, degree, dest)
-
-#
-# Now send the rank across the edges.
-#
-# Version 1: use allgather primitive
-#
-
-send = [rank]
-if rank == 0
-    recv = [-1, -1, -1]
-elseif rank == 1
-    recv = [-1, -1, -1]
-elseif rank == 2
-    recv = [-1]
-elseif rank == 3
-    recv = [-1, -1]
-end
-
-MPI.Neighbor_allgather!(send, recv, graph_comm);
-
-println(&quot;rank = $(rank): $(recv)&quot;)
-
-#
-# Version 2: use alltoall primitive
-#
-
-if rank == 0
-    send   = [rank, rank]
-    recv   = [-1, -1, -1]
-elseif rank == 1
-    send = [rank]
-    recv   = [-1, -1, -1]
-elseif rank == 2
-    send = [rank, rank, rank]
-    recv   = [-1]
-elseif rank == 3
-    send = [rank, rank, rank]
-    recv   = [-1, -1]
-end
-
-MPI.Neighbor_alltoall!(UBuffer(send,1), UBuffer(recv,1), graph_comm);
-
-println(&quot;rank = $(rank): $(recv)&quot;)
-
-#
-# Now send the rank exactly rank times across the edges.
-#
-# Rank i receives i+1 values from each adjacent process
-if rank == 0
-    send       = [rank, rank,
-                  rank, rank, rank, rank]
-    send_count = [2, 4]
-
-    recv   = [-1, -1, -1]
-    recv_count = [1, 1, 1]
-elseif rank == 1
-    send       = [rank]
-    send_count = [1]
-
-    recv       = [-1, -1, -1, -1, -1, -1]
-    recv_count = [2, 2, 2]
-elseif rank == 2
-    send       = [rank, rank, rank, rank,
-                  rank,
-                  rank,rank]
-    send_count = [4, 1, 2]
-
-    recv       = [-1, -1, -1]
-    recv_count = [3]
-elseif rank == 3
-    send       = [rank, 
-                  rank, rank,rank,
-                  rank, rank]
-    send_count = [1, 3, 2]
-
-    recv       = [-1, -1, -1, -1, -1, -1, -1, -1]
-    recv_count = [4, 4]
-end
-
-MPI.Neighbor_alltoallv!(VBuffer(send,send_count), VBuffer(recv,recv_count), graph_comm);
-println(&quot;rank = $(rank): $(recv)&quot;)
-
-MPI.Finalize()</code></pre><pre><code class="nohighlight hljs">&gt; mpiexecjl -n 4 julia examples/09-graph_communication.jl
-rank = 2: [3]rank = 3: [2, 0]
-
-rank = 1: [3, 2, 0]rank = 0: [3, 2, 1]
-
-rank = 2: [3]
-rank = 0: [3, 2, 1]
-rank = 3: [2, 0]
-rank = 1: [3, 2, 0]
-rank = 3: [2, 2, 2, 2, 0, 0, 0, 0]
-rank = 1: [3, 3, 2, 2, 0, 0]
-rank = 0: [3, 2, 1]
-rank = 2: [3, 3, 3]</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../08-rma_passive/">« Passive RMA</a><a class="docs-footer-nextpage" href="../../reference/mpipreferences/">MPIPreferences.jl »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 6 November 2022 21:18">Sunday 6 November 2022</span>. Using Julia version 1.8.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR676/index.html b/previews/PR676/index.html
deleted file mode 100644
index 50c3d5148..000000000
--- a/previews/PR676/index.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>MPI.jl · MPI.jl</title><script data-outdated-warner src="assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="assets/documenter.js"></script><script src="siteinfo.js"></script><script src="../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href><img src="assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href>MPI.jl</a></span></div><form class="docs-search" action="search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li class="is-active"><a class="tocitem" href>MPI.jl</a></li><li><a class="tocitem" href="configuration/">Configuration</a></li><li><a class="tocitem" href="usage/">Usage</a></li><li><a class="tocitem" href="knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="reference/library/">Library information</a></li><li><a class="tocitem" href="reference/environment/">Environment</a></li><li><a class="tocitem" href="reference/misc/">Miscellanea</a></li><li><a class="tocitem" href="reference/comm/">Communicators</a></li><li><a class="tocitem" href="reference/buffers/">Buffers</a></li><li><a class="tocitem" href="reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="reference/collective/">Collective communication</a></li><li><a class="tocitem" href="reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="reference/topology/">Topology</a></li><li><a class="tocitem" href="reference/io/">I/O</a></li><li><a class="tocitem" href="reference/advanced/">Advanced</a></li><li><a class="tocitem" href="reference/api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>MPI.jl</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>MPI.jl</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/index.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="MPI.jl"><a class="docs-heading-anchor" href="#MPI.jl">MPI.jl</a><a id="MPI.jl-1"></a><a class="docs-heading-anchor-permalink" href="#MPI.jl" title="Permalink"></a></h1><p>This is a basic <a href="http://julialang.org/">Julia</a> wrapper for the portable message passing system Message Passing Interface (<a href="http://www.mpi-forum.org/">MPI</a>). Inspiration is taken from <a href="http://mpi4py.scipy.org">mpi4py</a>, although we generally follow the C and not the C++ MPI API. (The C++ MPI API is deprecated.)</p><p>If you use MPI.jl in your work, please cite the following paper:</p><blockquote><p>Simon Byrne, Lucas C. Wilcox, and Valentin Churavy (2021) &quot;MPI.jl: Julia bindings for the Message Passing Interface&quot;. <em>JuliaCon Proceedings</em>, 1(1), 68, doi: <a href="https://doi.org/10.21105/jcon.00068">10.21105/jcon.00068</a></p></blockquote></article><nav class="docs-footer"><a class="docs-footer-nextpage" href="configuration/">Configuration »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 6 November 2022 21:18">Sunday 6 November 2022</span>. Using Julia version 1.8.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR676/knownissues/index.html b/previews/PR676/knownissues/index.html
deleted file mode 100644
index 13667852a..000000000
--- a/previews/PR676/knownissues/index.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Known issues · MPI.jl</title><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../"><img src="../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../">MPI.jl</a></span></div><form class="docs-search" action="../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../">MPI.jl</a></li><li><a class="tocitem" href="../configuration/">Configuration</a></li><li><a class="tocitem" href="../usage/">Usage</a></li><li class="is-active"><a class="tocitem" href>Known issues</a><ul class="internal"><li><a class="tocitem" href="#Julia-module-precompilation"><span>Julia module precompilation</span></a></li><li><a class="tocitem" href="#Open-MPI"><span>Open MPI</span></a></li><li><a class="tocitem" href="#UCX"><span>UCX</span></a></li><li><a class="tocitem" href="#CUDA-aware-MPI"><span>CUDA-aware MPI</span></a></li><li><a class="tocitem" href="#ROCm-aware-MPI"><span>ROCm-aware MPI</span></a></li><li><a class="tocitem" href="#Microsoft-MPI"><span>Microsoft MPI</span></a></li></ul></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../reference/library/">Library information</a></li><li><a class="tocitem" href="../reference/environment/">Environment</a></li><li><a class="tocitem" href="../reference/misc/">Miscellanea</a></li><li><a class="tocitem" href="../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../reference/topology/">Topology</a></li><li><a class="tocitem" href="../reference/io/">I/O</a></li><li><a class="tocitem" href="../reference/advanced/">Advanced</a></li><li><a class="tocitem" href="../reference/api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>Known issues</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Known issues</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/knownissues.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Known-issues"><a class="docs-heading-anchor" href="#Known-issues">Known issues</a><a id="Known-issues-1"></a><a class="docs-heading-anchor-permalink" href="#Known-issues" title="Permalink"></a></h1><h2 id="Julia-module-precompilation"><a class="docs-heading-anchor" href="#Julia-module-precompilation">Julia module precompilation</a><a id="Julia-module-precompilation-1"></a><a class="docs-heading-anchor-permalink" href="#Julia-module-precompilation" title="Permalink"></a></h2><p>If multiple MPI ranks trigger Julia&#39;s module precompilation, then a race condition can result in an error such as:</p><pre><code class="nohighlight hljs">ERROR: LoadError: IOError: mkdir: file already exists (EEXIST)
-Stacktrace:
- [1] uv_error at ./libuv.jl:97 [inlined]
- [2] mkdir(::String; mode::UInt16) at ./file.jl:177
- [3] mkpath(::String; mode::UInt16) at ./file.jl:227
- [4] mkpath at ./file.jl:222 [inlined]
- [5] compilecache_path(::Base.PkgId) at ./loading.jl:1210
- [6] compilecache(::Base.PkgId, ::String) at ./loading.jl:1240
- [7] _require(::Base.PkgId) at ./loading.jl:1029
- [8] require(::Base.PkgId) at ./loading.jl:927
- [9] require(::Module, ::Symbol) at ./loading.jl:922
- [10] include(::Module, ::String) at ./Base.jl:377
- [11] exec_options(::Base.JLOptions) at ./client.jl:288
- [12] _start() at ./client.jl:484</code></pre><p>See <a href="https://github.com/JuliaLang/julia/pull/30174">julia issue #30174</a> for more discussion of this problem. There are similar issues with Pkg operations, see <a href="https://github.com/JuliaLang/Pkg.jl/issues/1219">Pkg issue #1219</a>.</p><p>This can be worked around be either:</p><ol><li><p>Triggering precompilation before launching MPI processes, for example:</p><pre><code class="nohighlight hljs">julia --project -e &#39;using Pkg; pkg&quot;instantiate&quot;&#39;
-julia --project -e &#39;using Pkg; pkg&quot;precompile&quot;&#39;
-mpiexec julia --project script.jl</code></pre></li><li><p>Launching julia with the  <code>--compiled-modules=no</code> option. This can result in much longer package load times.</p></li></ol><h2 id="Open-MPI"><a class="docs-heading-anchor" href="#Open-MPI">Open MPI</a><a id="Open-MPI-1"></a><a class="docs-heading-anchor-permalink" href="#Open-MPI" title="Permalink"></a></h2><h3 id="Segmentation-fault"><a class="docs-heading-anchor" href="#Segmentation-fault">Segmentation fault</a><a id="Segmentation-fault-1"></a><a class="docs-heading-anchor-permalink" href="#Segmentation-fault" title="Permalink"></a></h3><p>When attempting to use a system-provided Open MPI implementation, you may encounter a segmentation fault. This can be fixed by setting the environment variable <code>ZES_ENABLE_SYSMAN=1</code>. See <a href="https://github.com/open-mpi/ompi/issues/10142">Open MPI issue #10142</a>.</p><h2 id="UCX"><a class="docs-heading-anchor" href="#UCX">UCX</a><a id="UCX-1"></a><a class="docs-heading-anchor-permalink" href="#UCX" title="Permalink"></a></h2><p><a href="https://www.openucx.org/">UCX</a> is a communication framework used by several MPI implementations.</p><h3 id="Memory-cache"><a class="docs-heading-anchor" href="#Memory-cache">Memory cache</a><a id="Memory-cache-1"></a><a class="docs-heading-anchor-permalink" href="#Memory-cache" title="Permalink"></a></h3><p>When used with CUDA, UCX intercepts <code>cudaMalloc</code> so it can determine whether the pointer passed to MPI is on the host (main memory) or the device (GPU). Unfortunately, there are several known issues with how this works with Julia:</p><ul><li><a href="https://github.com/openucx/ucx/issues/5061">UCX issue #5061</a></li><li><a href="https://github.com/openucx/ucx/issues/4001">UCX issue #4001</a> (fixed in UCX v1.7.0)</li></ul><p>By default, MPI.jl disables this by setting</p><pre><code class="nohighlight hljs">ENV[&quot;UCX_MEMTYPE_CACHE&quot;] = &quot;no&quot;</code></pre><p>at <code>__init__</code> which may result in reduced performance, especially for smaller messages.</p><h3 id="Multi-threading-and-signal-handling"><a class="docs-heading-anchor" href="#Multi-threading-and-signal-handling">Multi-threading and signal handling</a><a id="Multi-threading-and-signal-handling-1"></a><a class="docs-heading-anchor-permalink" href="#Multi-threading-and-signal-handling" title="Permalink"></a></h3><p>When using <a href="https://docs.julialang.org/en/v1/manual/parallel-computing/#man-multithreading-1">Julia multi-threading</a>, the Julia garbage collector internally <a href="https://docs.julialang.org/en/v1/devdocs/debuggingtips/#Dealing-with-signals-1">uses <code>SIGSEGV</code> to synchronize threads</a>.</p><p>By default, UCX will error if this signal is raised (<a href="https://github.com/JuliaParallel/MPI.jl/issues/337">#337</a>), resulting in a message such as:</p><pre><code class="nohighlight hljs">Caught signal 11 (Segmentation fault: invalid permissions for mapped object at address 0xXXXXXXXX)</code></pre><p>This signal interception can be controlled by setting the environment variable <code>UCX_ERROR_SIGNALS</code>: if not already defined, MPI.jl will set it as:</p><pre><code class="nohighlight hljs">ENV[&quot;UCX_ERROR_SIGNALS&quot;] = &quot;SIGILL,SIGBUS,SIGFPE&quot;</code></pre><p>at <code>__init__</code>. If set externally, it should be modified to exclude <code>SIGSEGV</code> from the list.</p><h2 id="CUDA-aware-MPI"><a class="docs-heading-anchor" href="#CUDA-aware-MPI">CUDA-aware MPI</a><a id="CUDA-aware-MPI-1"></a><a class="docs-heading-anchor-permalink" href="#CUDA-aware-MPI" title="Permalink"></a></h2><h3 id="Memory-pool"><a class="docs-heading-anchor" href="#Memory-pool">Memory pool</a><a id="Memory-pool-1"></a><a class="docs-heading-anchor-permalink" href="#Memory-pool" title="Permalink"></a></h3><p>Using CUDA-aware MPI on multi-GPU nodes with recent CUDA.jl may trigger (see <a href="https://github.com/JuliaGPU/CUDA.jl/issues/1053#issue-946826096">here</a>)</p><pre><code class="nohighlight hljs">The call to cuIpcGetMemHandle failed. This means the GPU RDMA protocol
-cannot be used.
-  cuIpcGetMemHandle return value:   1</code></pre><p>in the MPI layer, or fail on a segmentation fault (see <a href="https://discourse.julialang.org/t/cuda-aware-mpi-works-on-system-but-not-for-julia/75060">here</a>) with</p><pre><code class="nohighlight hljs">[1642930332.032032] [gcn19:4087661:0] gdr_copy_md.c:122 UCX ERROR gdr_pin_buffer failed. length :65536 ret:22</code></pre><p>This is due to the MPI implementation using legacy <code>cuIpc*</code> APIs, which are incompatible with stream-ordered allocator, now default in CUDA.jl, see <a href="https://github.com/openucx/ucx/issues/7110">UCX issue #7110</a>.</p><p>To circumvent this, one has to ensure the CUDA memory pool to be set to <code>none</code>:</p><pre><code class="nohighlight hljs">export JULIA_CUDA_MEMORY_POOL=none</code></pre><p><em>More about CUDA.jl <a href="https://cuda.juliagpu.org/stable/usage/memory/#Memory-pool">memory environment-variables</a>.</em></p><h3 id="Hints-to-ensure-CUDA-aware-MPI-to-be-functional"><a class="docs-heading-anchor" href="#Hints-to-ensure-CUDA-aware-MPI-to-be-functional">Hints to ensure CUDA-aware MPI to be functional</a><a id="Hints-to-ensure-CUDA-aware-MPI-to-be-functional-1"></a><a class="docs-heading-anchor-permalink" href="#Hints-to-ensure-CUDA-aware-MPI-to-be-functional" title="Permalink"></a></h3><p>Make sure to:</p><ul><li>Have MPI and CUDA on path (or module loaded) that were used to build the CUDA-aware MPI</li><li>Set the following environment variables:   <code>export JULIA_CUDA_MEMORY_POOL=none   export JULIA_CUDA_USE_BINARYBUILDER=false</code></li><li>Add CUDA, MPIPreferences, and MPI packages in Julia. Switch to using the system binary<pre><code class="nohighlight hljs">julia --project -e &#39;using Pkg; Pkg.add([&quot;CUDA&quot;, &quot;MPIPreferences&quot;, &quot;MPI&quot;]); using MPIPreferences; MPIPreferences.use_system_binary()&#39;</code></pre></li><li>Then in Julia, upon loading MPI and CUDA modules, you can check<ul><li>CUDA version: <code>CUDA.versioninfo()</code></li><li>If MPI has CUDA: <code>MPI.has_cuda()</code></li><li>If you are using correct MPI library: <code>MPI.libmpi</code></li></ul></li></ul><p>After that, it may be preferred to run the Julia MPI script (as suggested <a href="https://discourse.julialang.org/t/cuda-aware-mpi-works-on-system-but-not-for-julia/75060/11">here</a>) launching it from a shell script (as suggested <a href="https://discourse.julialang.org/t/cuda-aware-mpi-works-on-system-but-not-for-julia/75060/4">here</a>).</p><h2 id="ROCm-aware-MPI"><a class="docs-heading-anchor" href="#ROCm-aware-MPI">ROCm-aware MPI</a><a id="ROCm-aware-MPI-1"></a><a class="docs-heading-anchor-permalink" href="#ROCm-aware-MPI" title="Permalink"></a></h2><h3 id="Hints-to-ensure-ROCm-aware-MPI-to-be-functional"><a class="docs-heading-anchor" href="#Hints-to-ensure-ROCm-aware-MPI-to-be-functional">Hints to ensure ROCm-aware MPI to be functional</a><a id="Hints-to-ensure-ROCm-aware-MPI-to-be-functional-1"></a><a class="docs-heading-anchor-permalink" href="#Hints-to-ensure-ROCm-aware-MPI-to-be-functional" title="Permalink"></a></h3><p>Make sure to:</p><ul><li>Have MPI and ROCm on path (or module loaded) that were used to build the ROCm-aware MPI</li><li>Add AMDGPU, MPIPreferences, and MPI packages in Julia:<pre><code class="nohighlight hljs">julia --project -e &#39;using Pkg; Pkg.add([&quot;AMDGPU&quot;, &quot;MPIPreferences&quot;, &quot;MPI&quot;]); using MPIPreferences; MPIPreferences.use_system_binary()&#39;</code></pre></li><li>Then in Julia, upon loading MPI and CUDA modules, you can check<ul><li>AMDGPU version: <code>AMDGPU.versioninfo()</code></li><li>If you are using correct MPI implementation: <code>MPI.identify_implementation()</code></li></ul></li></ul><p>After that, <a href="https://gist.github.com/luraess/c228ec08629737888a18c6a1e397643c">this script</a> can be used to verify if ROCm-aware MPI is functional (modified after the CUDA-aware version from <a href="https://discourse.julialang.org/t/cuda-aware-mpi-works-on-system-but-not-for-julia/75060/11">here</a>). It may be preferred to run the Julia ROCm-aware MPI script launching it from a shell script (as suggested <a href="https://discourse.julialang.org/t/cuda-aware-mpi-works-on-system-but-not-for-julia/75060/4">here</a>).</p><h2 id="Microsoft-MPI"><a class="docs-heading-anchor" href="#Microsoft-MPI">Microsoft MPI</a><a id="Microsoft-MPI-1"></a><a class="docs-heading-anchor-permalink" href="#Microsoft-MPI" title="Permalink"></a></h2><h3 id="Custom-operators-on-32-bit-Windows"><a class="docs-heading-anchor" href="#Custom-operators-on-32-bit-Windows">Custom operators on 32-bit Windows</a><a id="Custom-operators-on-32-bit-Windows-1"></a><a class="docs-heading-anchor-permalink" href="#Custom-operators-on-32-bit-Windows" title="Permalink"></a></h3><p>It is not possible to use <a href="https://github.com/JuliaParallel/MPI.jl/issues/246">custom operators with 32-bit Microsoft MPI</a>, as it uses the <code>stdcall</code> calling convention, which is not supported by <a href="https://docs.julialang.org/en/v1/manual/calling-c-and-fortran-code/index.html#Creating-C-Compatible-Julia-Function-Pointers-1">Julia&#39;s C-compatible function pointers</a>.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../usage/">« Usage</a><a class="docs-footer-nextpage" href="../examples/01-hello/">Hello world »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 6 November 2022 21:18">Sunday 6 November 2022</span>. Using Julia version 1.8.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR676/reference/advanced/index.html b/previews/PR676/reference/advanced/index.html
deleted file mode 100644
index 2f8108b8c..000000000
--- a/previews/PR676/reference/advanced/index.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Advanced · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../library/">Library information</a></li><li><a class="tocitem" href="../environment/">Environment</a></li><li><a class="tocitem" href="../misc/">Miscellanea</a></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li class="is-active"><a class="tocitem" href>Advanced</a><ul class="internal"><li><a class="tocitem" href="#Object-handling"><span>Object handling</span></a></li><li><a class="tocitem" href="#Datatype-objects"><span>Datatype objects</span></a></li><li><a class="tocitem" href="#Operator-objects"><span>Operator objects</span></a></li><li><a class="tocitem" href="#Info-objects"><span>Info objects</span></a></li><li><a class="tocitem" href="#Error-handler-objects"><span>Error handler objects</span></a></li><li><a class="tocitem" href="#Miscellaneous"><span>Miscellaneous</span></a></li></ul></li><li><a class="tocitem" href="../api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>Advanced</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Advanced</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/advanced.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Advanced"><a class="docs-heading-anchor" href="#Advanced">Advanced</a><a id="Advanced-1"></a><a class="docs-heading-anchor-permalink" href="#Advanced" title="Permalink"></a></h1><h2 id="Object-handling"><a class="docs-heading-anchor" href="#Object-handling">Object handling</a><a id="Object-handling-1"></a><a class="docs-heading-anchor-permalink" href="#Object-handling" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.free" href="#MPI.free"><code>MPI.free</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.free(obj)</code></pre><p>Free the MPI object handle <code>obj</code>. This is typically used as the finalizer, and so need not be called directly unless otherwise noted.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/environment.jl#L35-L39">source</a></section></article><h2 id="Datatype-objects"><a class="docs-heading-anchor" href="#Datatype-objects">Datatype objects</a><a id="Datatype-objects-1"></a><a class="docs-heading-anchor-permalink" href="#Datatype-objects" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Datatype" href="#MPI.Datatype"><code>MPI.Datatype</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">Datatype</code></pre><p>A <code>Datatype</code> represents the layout of the data in memory.</p><p><strong>Usage</strong></p><pre><code class="nohighlight hljs">Datatype(T)</code></pre><p>Either return the predefined <code>Datatype</code> corresponding to <code>T</code>, or create a new <code>Datatype</code> for the Julia type <code>T</code>, calling <a href="#MPI.Types.commit!"><code>Types.commit!</code></a> so that it can be used for communication operations.</p><p>Note that this can only be called on types for which <code>isbitstype(T)</code> is <code>true</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/datatypes.jl#L1-L15">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.to_type" href="#MPI.to_type"><code>MPI.to_type</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">to_type(datatype::Datatype)</code></pre><p>Return the Julia type corresponding to the MPI <a href="#MPI.Datatype"><code>Datatype</code></a> <code>datatype</code>, or <code>nothing</code> if it doesn&#39;t correspond directly.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/datatypes.jl#L71-L76">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Types.extent" href="#MPI.Types.extent"><code>MPI.Types.extent</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">lb, extent = MPI.Types.extent(dt::MPI.Datatype)</code></pre><p>Gets the lowerbound <code>lb</code> and the extent <code>extent</code> in bytes.</p><p><strong>External links</strong></p><ul><li><code>MPI_Type_get_extent</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_get_extent.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_get_extent.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/datatypes.jl#L176-L183">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Types.create_contiguous" href="#MPI.Types.create_contiguous"><code>MPI.Types.create_contiguous</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.Types.create_contiguous(count::Integer, oldtype::MPI.Datatype)</code></pre><p>Create a derived <a href="#MPI.Datatype"><code>Datatype</code></a> that replicates <code>oldtype</code> into <code>count</code> contiguous locations.</p><p>Note that <a href="#MPI.Types.commit!"><code>MPI.Types.commit!</code></a> must be used before the datatype can be used for communication.</p><p><strong>External links</strong></p><ul><li><code>MPI_Type_contiguous</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_contiguous.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_contiguous.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/datatypes.jl#L193-L203">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Types.create_vector" href="#MPI.Types.create_vector"><code>MPI.Types.create_vector</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.Types.create_vector(count::Integer, blocklength::Integer, stride::Integer, oldtype::MPI.Datatype)</code></pre><p>Create a derived <a href="#MPI.Datatype"><code>Datatype</code></a> that replicates <code>oldtype</code> into locations that consist of equally spaced blocks.</p><p>Note that <a href="#MPI.Types.commit!"><code>MPI.Types.commit!</code></a> must be used before the datatype can be used for communication.</p><p><strong>Example</strong></p><pre><code class="language-julia hljs">datatype = MPI.Types.create_vector(3, 2, 5, MPI.Datatype(Int64))
-MPI.Types.commit!(datatype)</code></pre><p>will create a datatype with the following layout</p><pre><code class="nohighlight hljs">|&lt;-----&gt;|  block length
-
-+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
-| X | X |   |   |   | X | X |   |   |   | X | X |   |   |   |
-+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
-
-|&lt;---- stride -----&gt;|</code></pre><p>where each segment represents an <code>Int64</code>.</p><p>(image by Jonathan Dursi, <a href="https://stackoverflow.com/a/10788351/392585">https://stackoverflow.com/a/10788351/392585</a>)</p><p><strong>External links</strong></p><ul><li><code>MPI_Type_vector</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_vector.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_vector.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/datatypes.jl#L215-L246">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Types.create_hvector" href="#MPI.Types.create_hvector"><code>MPI.Types.create_hvector</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.Types.create_hvector(count::Integer, blocklength::Integer, stride::Integer, oldtype::MPI.Datatype)</code></pre><p>Create a derived <a href="#MPI.Datatype"><code>Datatype</code></a> that replicates <code>oldtype</code> into locations that consist of equally spaced (bytes) blocks.</p><p>Note that <a href="#MPI.Types.commit!"><code>MPI.Types.commit!</code></a> must be used before the datatype can be used for communication.</p><p><strong>Example</strong></p><pre><code class="language-julia hljs">datatype = MPI.Types.create_hvector(3, 2, 5, MPI.Datatype(Int64))
-MPI.Types.commit!(datatype)</code></pre><p><strong>External links</strong></p><ul><li><code>MPI_Type_create_hvector</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_hvector.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_hvector.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/datatypes.jl#L257-L275">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Types.create_subarray" href="#MPI.Types.create_subarray"><code>MPI.Types.create_subarray</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.Types.create_subarray(sizes, subsizes, offset, oldtype::Datatype;
-                          rowmajor=false)</code></pre><p>Creates a derived <a href="#MPI.Datatype"><code>Datatype</code></a> describing an <code>N</code>-dimensional subarray of size <code>subsizes</code> of an <code>N</code>-dimensional array of size <code>sizes</code> and element type <code>oldtype</code>, with the first element offset by <code>offset</code> (i.e. the 0-based index of the first element).</p><p>Column-major indexing (used by Julia and Fortran) is assumed; use the keyword <code>rowmajor=true</code> to specify row-major layout (used by C and numpy).</p><p>Note that <a href="#MPI.Types.commit!"><code>MPI.Types.commit!</code></a> must be used before the datatype can be used for communication.</p><p><strong>External links</strong></p><ul><li><code>MPI_Type_create_subarray</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_subarray.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_subarray.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/datatypes.jl#L286-L302">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Types.create_struct" href="#MPI.Types.create_struct"><code>MPI.Types.create_struct</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.Types.create_struct(blocklengths, displacements, types)</code></pre><p>Creates a derived <a href="#MPI.Datatype"><code>Datatype</code></a> describing a struct layout.</p><p>Note that <a href="#MPI.Types.commit!"><code>MPI.Types.commit!</code></a> must be used before the datatype can be used for communication.</p><p><strong>External links</strong></p><ul><li><code>MPI_Type_create_struct</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_struct.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_struct.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/datatypes.jl#L326-L336">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Types.create_resized" href="#MPI.Types.create_resized"><code>MPI.Types.create_resized</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.Types.create_resized(oldtype::Datatype, lb::Integer, extent::Integer)</code></pre><p>Creates a new <a href="#MPI.Datatype"><code>Datatype</code></a> that is identical to <code>oldtype</code>, except that the lower bound of this new datatype is set to be <code>lb</code>, and its upper bound is set to be <code>lb + extent</code>.</p><p>Note that <a href="#MPI.Types.commit!"><code>MPI.Types.commit!</code></a> must be used before the datatype can be used for communication.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Types.extent"><code>MPI.Types.extent</code></a></li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Type_create_resized</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_resized.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_resized.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/datatypes.jl#L358-L373">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Types.commit!" href="#MPI.Types.commit!"><code>MPI.Types.commit!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.Types.commit!(newtype::Datatype)</code></pre><p>Commits the <a href="#MPI.Datatype"><code>Datatype</code></a> <code>newtype</code> so that it can be used for communication. Returns <code>newtype</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Type_commit</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_commit.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_commit.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/datatypes.jl#L399-L407">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Types.duplicate" href="#MPI.Types.duplicate"><code>MPI.Types.duplicate</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.Types.duplicate(oldtype::Datatype)</code></pre><p>Duplicates the datatype <code>oldtype</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Type_dup</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_dup.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_dup.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/datatypes.jl#L389-L396">source</a></section></article><h2 id="Operator-objects"><a class="docs-heading-anchor" href="#Operator-objects">Operator objects</a><a id="Operator-objects-1"></a><a class="docs-heading-anchor-permalink" href="#Operator-objects" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Op" href="#MPI.Op"><code>MPI.Op</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">Op</code></pre><p>An MPI reduction operator, for use with <a href="../collective/#Reduce/Scan">Reduce/Scan collective operations</a> to wrap binary operators. MPI.jl will perform this conversion automatically.</p><p><strong>Usage</strong></p><pre><code class="nohighlight hljs">Op(op, T=Any; iscommutative=false)</code></pre><p>Wrap the Julia reduction function <code>op</code> for arguments of type <code>T</code>. <code>op</code> is assumed to be associative, and if <code>iscommutative</code> is true, assumed to be commutative as well.</p><p><strong>See also</strong></p><ul><li><a href="../collective/#MPI.Reduce!"><code>Reduce!</code></a>/<a href="../collective/#MPI.Reduce"><code>Reduce</code></a></li><li><a href="../collective/#MPI.Allreduce!"><code>Allreduce!</code></a>/<a href="../collective/#MPI.Allreduce"><code>Allreduce</code></a></li><li><a href="../collective/#MPI.Scan!"><code>Scan!</code></a>/<a href="../collective/#MPI.Scan"><code>Scan</code></a></li><li><a href="../collective/#MPI.Exscan!"><code>Exscan!</code></a>/<a href="../collective/#MPI.Exscan"><code>Exscan</code></a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/operators.jl#L1-L19">source</a></section></article><h2 id="Info-objects"><a class="docs-heading-anchor" href="#Info-objects">Info objects</a><a id="Info-objects-1"></a><a class="docs-heading-anchor-permalink" href="#Info-objects" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Info" href="#MPI.Info"><code>MPI.Info</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">Info &lt;: AbstractDict{Symbol,String}</code></pre><p><code>MPI.Info</code> objects store key-value pairs, and are typically used for passing optional arguments to MPI functions.</p><p><strong>Usage</strong></p><p>These will typically be hidden from user-facing APIs by splatting keywords, e.g.</p><pre><code class="language-julia hljs">function f(args...; kwargs...)
-    info = Info(kwargs...)
-    # pass `info` object to `ccall`
-end</code></pre><p>For manual usage, <code>Info</code> objects act like Julia <code>Dict</code> objects:</p><pre><code class="language-julia hljs">info = Info(init=true) # keyword argument is required
-info[key] = value
-x = info[key]
-delete!(info, key)</code></pre><p>If <code>init=false</code> is used in the costructor (the default), a &quot;null&quot; <code>Info</code> object will be returned: no keys can be added to such an object.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/info.jl#L1-L27">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.infoval" href="#MPI.infoval"><code>MPI.infoval</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">infoval(x)</code></pre><p>Convert Julia object <code>x</code> to a string representation for storing in an <a href="#MPI.Info"><code>Info</code></a> object.</p><p>The MPI specification allows passing strings, Boolean values, integers, and lists.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/info.jl#L65-L71">source</a></section></article><h2 id="Error-handler-objects"><a class="docs-heading-anchor" href="#Error-handler-objects">Error handler objects</a><a id="Error-handler-objects-1"></a><a class="docs-heading-anchor-permalink" href="#Error-handler-objects" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Errhandler" href="#MPI.Errhandler"><code>MPI.Errhandler</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.Errhandler</code></pre><p>An MPI error handler object. Currently only two are supported:</p><ul><li><code>ERRORS_ARE_FATAL</code> (default): program will immediately abort</li><li><code>ERRORS_RETURN</code>: program will throw an <code>MPIError</code>.</li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/errhandler.jl#L1-L8">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.get_errorhandler" href="#MPI.get_errorhandler"><code>MPI.get_errorhandler</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.get_errorhandler(comm::MPI.Comm)
-MPI.get_errorhandler(win::MPI.Win)
-MPI.get_errorhandler(file::MPI.File.FileHandle)</code></pre><p>Get the current <a href="#MPI.Errhandler"><code>Errhandler</code></a> for the relevant MPI object.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.set_errorhandler!"><code>set_errorhandler!</code></a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/errhandler.jl#L39-L48">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.set_errorhandler!" href="#MPI.set_errorhandler!"><code>MPI.set_errorhandler!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.set_errorhandler!(comm::MPI.Comm, errh::Errhandler)
-MPI.set_errorhandler!(win::MPI.Win, errh::Errhandler)
-MPI.set_errorhandler!(file::MPI.File.FileHandle, errh::Errhandler)</code></pre><p>Set the <a href="#MPI.Errhandler"><code>Errhandler</code></a> for the relevant MPI object.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.get_errorhandler"><code>get_errorhandler</code></a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/errhandler.jl#L65-L74">source</a></section></article><h2 id="Miscellaneous"><a class="docs-heading-anchor" href="#Miscellaneous">Miscellaneous</a><a id="Miscellaneous-1"></a><a class="docs-heading-anchor-permalink" href="#Miscellaneous" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.API.@const_ref" href="#MPI.API.@const_ref"><code>MPI.API.@const_ref</code></a> — <span class="docstring-category">Macro</span></header><section><div><pre><code class="language-julia hljs">@const_ref name T expr</code></pre><p>Defines an constant binding</p><pre><code class="language-julia hljs">const name = Ref{T}()</code></pre><p>and adds a hook to execute</p><pre><code class="language-julia hljs">name[] = expr</code></pre><p>at module initialization time.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/api.jl#L33-L45">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../io/">« I/O</a><a class="docs-footer-nextpage" href="../api/">Low-level API »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 6 November 2022 21:18">Sunday 6 November 2022</span>. Using Julia version 1.8.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR676/reference/api/index.html b/previews/PR676/reference/api/index.html
deleted file mode 100644
index 94ed1d105..000000000
--- a/previews/PR676/reference/api/index.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Low-level API · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../library/">Library information</a></li><li><a class="tocitem" href="../environment/">Environment</a></li><li><a class="tocitem" href="../misc/">Miscellanea</a></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../advanced/">Advanced</a></li><li class="is-active"><a class="tocitem" href>Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>Low-level API</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Low-level API</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/api.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Low-level-API"><a class="docs-heading-anchor" href="#Low-level-API">Low-level API</a><a id="Low-level-API-1"></a><a class="docs-heading-anchor-permalink" href="#Low-level-API" title="Permalink"></a></h1><p>The <code>MPI.API</code> submodule provides a low-level interface which closely matches the MPI C API. While these functions are not intended for general usage, they are useful for calling MPI routines not yet available in <code>MPI.jl</code> main interface, and is the basis for the high-level wrappers. The methods suffixed with <code>_c</code> allow <code>MPI_count</code> typed arguments (vs <code>int</code> for the standard ones). The size of <code>MPI_count</code> depends on the implementation, but usually allows <code>64bit</code> integer offsets.</p><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Abort-Tuple{Any, Any}" href="#MPI.API.MPI_Abort-Tuple{Any, Any}"><code>MPI.API.MPI_Abort</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Abort(comm, errorcode)</code></pre><ul><li><code>MPI_Abort</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Abort.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Abort.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1848-L1852">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Accumulate-NTuple{9, Any}" href="#MPI.API.MPI_Accumulate-NTuple{9, Any}"><code>MPI.API.MPI_Accumulate</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Accumulate(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win)</code></pre><ul><li><code>MPI_Accumulate</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Accumulate.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Accumulate.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2433-L2437">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Accumulate_c-NTuple{9, Any}" href="#MPI.API.MPI_Accumulate_c-NTuple{9, Any}"><code>MPI.API.MPI_Accumulate_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Accumulate_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win)</code></pre><ul><li><code>MPI_Accumulate_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Accumulate_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Accumulate_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4107-L4111">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Add_error_class-Tuple{Any}" href="#MPI.API.MPI_Add_error_class-Tuple{Any}"><code>MPI.API.MPI_Add_error_class</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Add_error_class(errorclass)</code></pre><ul><li><code>MPI_Add_error_class</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Add_error_class.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Add_error_class.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1452-L1456">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Add_error_code-Tuple{Any, Any}" href="#MPI.API.MPI_Add_error_code-Tuple{Any, Any}"><code>MPI.API.MPI_Add_error_code</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Add_error_code(errorclass, errorcode)</code></pre><ul><li><code>MPI_Add_error_code</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Add_error_code.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Add_error_code.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1461-L1465">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Add_error_string-Tuple{Any, Any}" href="#MPI.API.MPI_Add_error_string-Tuple{Any, Any}"><code>MPI.API.MPI_Add_error_string</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Add_error_string(errorcode, string)</code></pre><ul><li><code>MPI_Add_error_string</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Add_error_string.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Add_error_string.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1470-L1474">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Address-Tuple{Any, Any}" href="#MPI.API.MPI_Address-Tuple{Any, Any}"><code>MPI.API.MPI_Address</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Address(location, address)</code></pre><ul><li><code>MPI_Address</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Address.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Address.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1389-L1393">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Aint_add-Tuple{Any, Any}" href="#MPI.API.MPI_Aint_add-Tuple{Any, Any}"><code>MPI.API.MPI_Aint_add</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Aint_add(base, disp)</code></pre><ul><li><code>MPI_Aint_add</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Aint_add.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Aint_add.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1929-L1933">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Aint_diff-Tuple{Any, Any}" href="#MPI.API.MPI_Aint_diff-Tuple{Any, Any}"><code>MPI.API.MPI_Aint_diff</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Aint_diff(addr1, addr2)</code></pre><ul><li><code>MPI_Aint_diff</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Aint_diff.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Aint_diff.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1938-L1942">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Allgather-NTuple{7, Any}" href="#MPI.API.MPI_Allgather-NTuple{7, Any}"><code>MPI.API.MPI_Allgather</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Allgather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)</code></pre><ul><li><code>MPI_Allgather</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allgather.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allgather.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L246-L250">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Allgather_c-NTuple{7, Any}" href="#MPI.API.MPI_Allgather_c-NTuple{7, Any}"><code>MPI.API.MPI_Allgather_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Allgather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)</code></pre><ul><li><code>MPI_Allgather_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allgather_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allgather_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3099-L3103">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Allgather_init-NTuple{9, Any}" href="#MPI.API.MPI_Allgather_init-NTuple{9, Any}"><code>MPI.API.MPI_Allgather_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Allgather_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Allgather_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allgather_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allgather_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L255-L259">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Allgather_init_c-NTuple{9, Any}" href="#MPI.API.MPI_Allgather_init_c-NTuple{9, Any}"><code>MPI.API.MPI_Allgather_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Allgather_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Allgather_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allgather_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allgather_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3108-L3112">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Allgatherv-NTuple{8, Any}" href="#MPI.API.MPI_Allgatherv-NTuple{8, Any}"><code>MPI.API.MPI_Allgatherv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Allgatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm)</code></pre><ul><li><code>MPI_Allgatherv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allgatherv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allgatherv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L264-L268">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Allgatherv_c-NTuple{8, Any}" href="#MPI.API.MPI_Allgatherv_c-NTuple{8, Any}"><code>MPI.API.MPI_Allgatherv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Allgatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm)</code></pre><ul><li><code>MPI_Allgatherv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allgatherv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allgatherv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3117-L3121">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Allgatherv_init-NTuple{10, Any}" href="#MPI.API.MPI_Allgatherv_init-NTuple{10, Any}"><code>MPI.API.MPI_Allgatherv_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Allgatherv_init(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Allgatherv_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allgatherv_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allgatherv_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L273-L277">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Allgatherv_init_c-NTuple{10, Any}" href="#MPI.API.MPI_Allgatherv_init_c-NTuple{10, Any}"><code>MPI.API.MPI_Allgatherv_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Allgatherv_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Allgatherv_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allgatherv_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allgatherv_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3126-L3130">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Alloc_mem-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Alloc_mem-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Alloc_mem</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Alloc_mem(size, info, baseptr)</code></pre><ul><li><code>MPI_Alloc_mem</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alloc_mem.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alloc_mem.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2442-L2446">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Allreduce-NTuple{6, Any}" href="#MPI.API.MPI_Allreduce-NTuple{6, Any}"><code>MPI.API.MPI_Allreduce</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Allreduce(sendbuf, recvbuf, count, datatype, op, comm)</code></pre><ul><li><code>MPI_Allreduce</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allreduce.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allreduce.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L282-L286">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Allreduce_c-NTuple{6, Any}" href="#MPI.API.MPI_Allreduce_c-NTuple{6, Any}"><code>MPI.API.MPI_Allreduce_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Allreduce_c(sendbuf, recvbuf, count, datatype, op, comm)</code></pre><ul><li><code>MPI_Allreduce_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allreduce_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allreduce_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3135-L3139">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Allreduce_init-NTuple{8, Any}" href="#MPI.API.MPI_Allreduce_init-NTuple{8, Any}"><code>MPI.API.MPI_Allreduce_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Allreduce_init(sendbuf, recvbuf, count, datatype, op, comm, info, request)</code></pre><ul><li><code>MPI_Allreduce_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allreduce_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allreduce_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L291-L295">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Allreduce_init_c-NTuple{8, Any}" href="#MPI.API.MPI_Allreduce_init_c-NTuple{8, Any}"><code>MPI.API.MPI_Allreduce_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Allreduce_init_c(sendbuf, recvbuf, count, datatype, op, comm, info, request)</code></pre><ul><li><code>MPI_Allreduce_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allreduce_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allreduce_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3144-L3148">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Alltoall-NTuple{7, Any}" href="#MPI.API.MPI_Alltoall-NTuple{7, Any}"><code>MPI.API.MPI_Alltoall</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Alltoall(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)</code></pre><ul><li><code>MPI_Alltoall</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoall.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoall.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L300-L304">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Alltoall_c-NTuple{7, Any}" href="#MPI.API.MPI_Alltoall_c-NTuple{7, Any}"><code>MPI.API.MPI_Alltoall_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Alltoall_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)</code></pre><ul><li><code>MPI_Alltoall_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoall_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoall_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3153-L3157">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Alltoall_init-NTuple{9, Any}" href="#MPI.API.MPI_Alltoall_init-NTuple{9, Any}"><code>MPI.API.MPI_Alltoall_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Alltoall_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Alltoall_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoall_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoall_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L309-L313">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Alltoall_init_c-NTuple{9, Any}" href="#MPI.API.MPI_Alltoall_init_c-NTuple{9, Any}"><code>MPI.API.MPI_Alltoall_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Alltoall_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Alltoall_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoall_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoall_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3162-L3166">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Alltoallv-NTuple{9, Any}" href="#MPI.API.MPI_Alltoallv-NTuple{9, Any}"><code>MPI.API.MPI_Alltoallv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Alltoallv(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm)</code></pre><ul><li><code>MPI_Alltoallv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoallv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoallv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L318-L322">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Alltoallv_c-NTuple{9, Any}" href="#MPI.API.MPI_Alltoallv_c-NTuple{9, Any}"><code>MPI.API.MPI_Alltoallv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Alltoallv_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm)</code></pre><ul><li><code>MPI_Alltoallv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoallv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoallv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3171-L3175">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Alltoallv_init-NTuple{11, Any}" href="#MPI.API.MPI_Alltoallv_init-NTuple{11, Any}"><code>MPI.API.MPI_Alltoallv_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Alltoallv_init(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Alltoallv_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoallv_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoallv_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L327-L331">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Alltoallv_init_c-NTuple{11, Any}" href="#MPI.API.MPI_Alltoallv_init_c-NTuple{11, Any}"><code>MPI.API.MPI_Alltoallv_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Alltoallv_init_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Alltoallv_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoallv_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoallv_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3180-L3184">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Alltoallw-NTuple{9, Any}" href="#MPI.API.MPI_Alltoallw-NTuple{9, Any}"><code>MPI.API.MPI_Alltoallw</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Alltoallw(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm)</code></pre><ul><li><code>MPI_Alltoallw</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoallw.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoallw.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L336-L340">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Alltoallw_c-NTuple{9, Any}" href="#MPI.API.MPI_Alltoallw_c-NTuple{9, Any}"><code>MPI.API.MPI_Alltoallw_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Alltoallw_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm)</code></pre><ul><li><code>MPI_Alltoallw_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoallw_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoallw_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3189-L3193">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Alltoallw_init-NTuple{11, Any}" href="#MPI.API.MPI_Alltoallw_init-NTuple{11, Any}"><code>MPI.API.MPI_Alltoallw_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Alltoallw_init(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request)</code></pre><ul><li><code>MPI_Alltoallw_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoallw_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoallw_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L345-L349">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Alltoallw_init_c-NTuple{11, Any}" href="#MPI.API.MPI_Alltoallw_init_c-NTuple{11, Any}"><code>MPI.API.MPI_Alltoallw_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Alltoallw_init_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request)</code></pre><ul><li><code>MPI_Alltoallw_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoallw_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoallw_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3198-L3202">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Attr_delete-Tuple{Any, Any}" href="#MPI.API.MPI_Attr_delete-Tuple{Any, Any}"><code>MPI.API.MPI_Attr_delete</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Attr_delete(comm, keyval)</code></pre><ul><li><code>MPI_Attr_delete</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Attr_delete.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Attr_delete.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L66-L70">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Attr_get-NTuple{4, Any}" href="#MPI.API.MPI_Attr_get-NTuple{4, Any}"><code>MPI.API.MPI_Attr_get</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Attr_get(comm, keyval, attribute_val, flag)</code></pre><ul><li><code>MPI_Attr_get</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Attr_get.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Attr_get.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L75-L79">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Attr_put-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Attr_put-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Attr_put</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Attr_put(comm, keyval, attribute_val)</code></pre><ul><li><code>MPI_Attr_put</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Attr_put.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Attr_put.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L84-L88">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Barrier-Tuple{Any}" href="#MPI.API.MPI_Barrier-Tuple{Any}"><code>MPI.API.MPI_Barrier</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Barrier(comm)</code></pre><ul><li><code>MPI_Barrier</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Barrier.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Barrier.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L354-L358">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Barrier_init-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Barrier_init-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Barrier_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Barrier_init(comm, info, request)</code></pre><ul><li><code>MPI_Barrier_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Barrier_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Barrier_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L363-L367">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Bcast-NTuple{5, Any}" href="#MPI.API.MPI_Bcast-NTuple{5, Any}"><code>MPI.API.MPI_Bcast</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Bcast(buffer, count, datatype, root, comm)</code></pre><ul><li><code>MPI_Bcast</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Bcast.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Bcast.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L372-L376">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Bcast_c-NTuple{5, Any}" href="#MPI.API.MPI_Bcast_c-NTuple{5, Any}"><code>MPI.API.MPI_Bcast_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Bcast_c(buffer, count, datatype, root, comm)</code></pre><ul><li><code>MPI_Bcast_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Bcast_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Bcast_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3207-L3211">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Bcast_init-NTuple{7, Any}" href="#MPI.API.MPI_Bcast_init-NTuple{7, Any}"><code>MPI.API.MPI_Bcast_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Bcast_init(buffer, count, datatype, root, comm, info, request)</code></pre><ul><li><code>MPI_Bcast_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Bcast_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Bcast_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L381-L385">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Bcast_init_c-NTuple{7, Any}" href="#MPI.API.MPI_Bcast_init_c-NTuple{7, Any}"><code>MPI.API.MPI_Bcast_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Bcast_init_c(buffer, count, datatype, root, comm, info, request)</code></pre><ul><li><code>MPI_Bcast_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Bcast_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Bcast_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3216-L3220">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Bsend-NTuple{6, Any}" href="#MPI.API.MPI_Bsend-NTuple{6, Any}"><code>MPI.API.MPI_Bsend</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Bsend(buf, count, datatype, dest, tag, comm)</code></pre><ul><li><code>MPI_Bsend</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Bsend.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Bsend.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2055-L2059">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Bsend_c-NTuple{6, Any}" href="#MPI.API.MPI_Bsend_c-NTuple{6, Any}"><code>MPI.API.MPI_Bsend_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Bsend_c(buf, count, datatype, dest, tag, comm)</code></pre><ul><li><code>MPI_Bsend_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Bsend_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Bsend_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3900-L3904">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Bsend_init-NTuple{7, Any}" href="#MPI.API.MPI_Bsend_init-NTuple{7, Any}"><code>MPI.API.MPI_Bsend_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Bsend_init(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Bsend_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Bsend_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Bsend_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2064-L2068">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Bsend_init_c-NTuple{7, Any}" href="#MPI.API.MPI_Bsend_init_c-NTuple{7, Any}"><code>MPI.API.MPI_Bsend_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Bsend_init_c(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Bsend_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Bsend_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Bsend_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3909-L3913">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Buffer_attach-Tuple{Any, Any}" href="#MPI.API.MPI_Buffer_attach-Tuple{Any, Any}"><code>MPI.API.MPI_Buffer_attach</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Buffer_attach(buffer, size)</code></pre><ul><li><code>MPI_Buffer_attach</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Buffer_attach.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Buffer_attach.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2073-L2077">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Buffer_attach_c-Tuple{Any, Any}" href="#MPI.API.MPI_Buffer_attach_c-Tuple{Any, Any}"><code>MPI.API.MPI_Buffer_attach_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Buffer_attach_c(buffer, size)</code></pre><ul><li><code>MPI_Buffer_attach_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Buffer_attach_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Buffer_attach_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3918-L3922">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Buffer_detach-Tuple{Any, Any}" href="#MPI.API.MPI_Buffer_detach-Tuple{Any, Any}"><code>MPI.API.MPI_Buffer_detach</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Buffer_detach(buffer_addr, size)</code></pre><ul><li><code>MPI_Buffer_detach</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Buffer_detach.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Buffer_detach.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2082-L2086">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Buffer_detach_c-Tuple{Any, Any}" href="#MPI.API.MPI_Buffer_detach_c-Tuple{Any, Any}"><code>MPI.API.MPI_Buffer_detach_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Buffer_detach_c(buffer_addr, size)</code></pre><ul><li><code>MPI_Buffer_detach_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Buffer_detach_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Buffer_detach_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3927-L3931">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Cancel-Tuple{Any}" href="#MPI.API.MPI_Cancel-Tuple{Any}"><code>MPI.API.MPI_Cancel</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Cancel(request)</code></pre><ul><li><code>MPI_Cancel</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cancel.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cancel.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2298-L2302">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Cart_coords-NTuple{4, Any}" href="#MPI.API.MPI_Cart_coords-NTuple{4, Any}"><code>MPI.API.MPI_Cart_coords</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Cart_coords(comm, rank, maxdims, coords)</code></pre><ul><li><code>MPI_Cart_coords</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cart_coords.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cart_coords.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2919-L2923">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Cart_create-NTuple{6, Any}" href="#MPI.API.MPI_Cart_create-NTuple{6, Any}"><code>MPI.API.MPI_Cart_create</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Cart_create(comm_old, ndims, dims, periods, reorder, comm_cart)</code></pre><ul><li><code>MPI_Cart_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cart_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cart_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2928-L2932">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Cart_get-NTuple{5, Any}" href="#MPI.API.MPI_Cart_get-NTuple{5, Any}"><code>MPI.API.MPI_Cart_get</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Cart_get(comm, maxdims, dims, periods, coords)</code></pre><ul><li><code>MPI_Cart_get</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cart_get.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cart_get.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2937-L2941">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Cart_map-NTuple{5, Any}" href="#MPI.API.MPI_Cart_map-NTuple{5, Any}"><code>MPI.API.MPI_Cart_map</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Cart_map(comm, ndims, dims, periods, newrank)</code></pre><ul><li><code>MPI_Cart_map</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cart_map.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cart_map.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2946-L2950">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Cart_rank-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Cart_rank-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Cart_rank</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Cart_rank(comm, coords, rank)</code></pre><ul><li><code>MPI_Cart_rank</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cart_rank.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cart_rank.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2955-L2959">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Cart_shift-NTuple{5, Any}" href="#MPI.API.MPI_Cart_shift-NTuple{5, Any}"><code>MPI.API.MPI_Cart_shift</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Cart_shift(comm, direction, disp, rank_source, rank_dest)</code></pre><ul><li><code>MPI_Cart_shift</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cart_shift.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cart_shift.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2964-L2968">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Cart_sub-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Cart_sub-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Cart_sub</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Cart_sub(comm, remain_dims, newcomm)</code></pre><ul><li><code>MPI_Cart_sub</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cart_sub.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cart_sub.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2973-L2977">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Cartdim_get-Tuple{Any, Any}" href="#MPI.API.MPI_Cartdim_get-Tuple{Any, Any}"><code>MPI.API.MPI_Cartdim_get</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Cartdim_get(comm, ndims)</code></pre><ul><li><code>MPI_Cartdim_get</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cartdim_get.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cartdim_get.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2982-L2986">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Close_port-Tuple{Any}" href="#MPI.API.MPI_Close_port-Tuple{Any}"><code>MPI.API.MPI_Close_port</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Close_port(port_name)</code></pre><ul><li><code>MPI_Close_port</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Close_port.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Close_port.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2793-L2797">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_accept-NTuple{5, Any}" href="#MPI.API.MPI_Comm_accept-NTuple{5, Any}"><code>MPI.API.MPI_Comm_accept</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_accept(port_name, info, root, comm, newcomm)</code></pre><ul><li><code>MPI_Comm_accept</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_accept.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_accept.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2802-L2806">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_call_errhandler-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_call_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_call_errhandler</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_call_errhandler(comm, errorcode)</code></pre><ul><li><code>MPI_Comm_call_errhandler</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_call_errhandler.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_call_errhandler.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1479-L1483">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_compare-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Comm_compare-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Comm_compare</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_compare(comm1, comm2, result)</code></pre><ul><li><code>MPI_Comm_compare</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_compare.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_compare.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L849-L853">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_connect-NTuple{5, Any}" href="#MPI.API.MPI_Comm_connect-NTuple{5, Any}"><code>MPI.API.MPI_Comm_connect</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_connect(port_name, info, root, comm, newcomm)</code></pre><ul><li><code>MPI_Comm_connect</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_connect.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_connect.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2811-L2815">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_create-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Comm_create-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Comm_create</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_create(comm, group, newcomm)</code></pre><ul><li><code>MPI_Comm_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L858-L862">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_create_errhandler-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_create_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_create_errhandler</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_create_errhandler(comm_errhandler_fn, errhandler)</code></pre><ul><li><code>MPI_Comm_create_errhandler</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_create_errhandler.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_create_errhandler.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1488-L1492">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_create_from_group-NTuple{5, Any}" href="#MPI.API.MPI_Comm_create_from_group-NTuple{5, Any}"><code>MPI.API.MPI_Comm_create_from_group</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_create_from_group(group, stringtag, info, errhandler, newcomm)</code></pre><ul><li><code>MPI_Comm_create_from_group</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_create_from_group.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_create_from_group.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1857-L1861">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_create_group-NTuple{4, Any}" href="#MPI.API.MPI_Comm_create_group-NTuple{4, Any}"><code>MPI.API.MPI_Comm_create_group</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_create_group(comm, group, tag, newcomm)</code></pre><ul><li><code>MPI_Comm_create_group</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_create_group.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_create_group.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L867-L871">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_create_keyval-NTuple{4, Any}" href="#MPI.API.MPI_Comm_create_keyval-NTuple{4, Any}"><code>MPI.API.MPI_Comm_create_keyval</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_create_keyval(comm_copy_attr_fn, comm_delete_attr_fn, comm_keyval, extra_state)</code></pre><ul><li><code>MPI_Comm_create_keyval</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_create_keyval.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_create_keyval.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L93-L97">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_delete_attr-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_delete_attr-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_delete_attr</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_delete_attr(comm, comm_keyval)</code></pre><ul><li><code>MPI_Comm_delete_attr</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_delete_attr.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_delete_attr.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L102-L106">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_disconnect-Tuple{Any}" href="#MPI.API.MPI_Comm_disconnect-Tuple{Any}"><code>MPI.API.MPI_Comm_disconnect</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_disconnect(comm)</code></pre><ul><li><code>MPI_Comm_disconnect</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_disconnect.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_disconnect.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2820-L2824">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_dup-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_dup-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_dup</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_dup(comm, newcomm)</code></pre><ul><li><code>MPI_Comm_dup</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_dup.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_dup.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L876-L880">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_dup_with_info-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Comm_dup_with_info-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Comm_dup_with_info</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_dup_with_info(comm, info, newcomm)</code></pre><ul><li><code>MPI_Comm_dup_with_info</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_dup_with_info.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_dup_with_info.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L885-L889">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_free-Tuple{Any}" href="#MPI.API.MPI_Comm_free-Tuple{Any}"><code>MPI.API.MPI_Comm_free</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_free(comm)</code></pre><ul><li><code>MPI_Comm_free</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_free.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_free.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L894-L898">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_free_keyval-Tuple{Any}" href="#MPI.API.MPI_Comm_free_keyval-Tuple{Any}"><code>MPI.API.MPI_Comm_free_keyval</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_free_keyval(comm_keyval)</code></pre><ul><li><code>MPI_Comm_free_keyval</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_free_keyval.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_free_keyval.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L111-L115">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_get_attr-NTuple{4, Any}" href="#MPI.API.MPI_Comm_get_attr-NTuple{4, Any}"><code>MPI.API.MPI_Comm_get_attr</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_get_attr(comm, comm_keyval, attribute_val, flag)</code></pre><ul><li><code>MPI_Comm_get_attr</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_get_attr.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_get_attr.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L120-L124">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_get_errhandler-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_get_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_get_errhandler</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_get_errhandler(comm, errhandler)</code></pre><ul><li><code>MPI_Comm_get_errhandler</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_get_errhandler.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_get_errhandler.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1497-L1501">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_get_info-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_get_info-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_get_info</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_get_info(comm, info_used)</code></pre><ul><li><code>MPI_Comm_get_info</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_get_info.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_get_info.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L903-L907">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_get_name-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Comm_get_name-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Comm_get_name</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_get_name(comm, comm_name, resultlen)</code></pre><ul><li><code>MPI_Comm_get_name</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_get_name.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_get_name.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L912-L916">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_get_parent-Tuple{Any}" href="#MPI.API.MPI_Comm_get_parent-Tuple{Any}"><code>MPI.API.MPI_Comm_get_parent</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_get_parent(parent)</code></pre><ul><li><code>MPI_Comm_get_parent</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_get_parent.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_get_parent.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2829-L2833">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_group-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_group-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_group</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_group(comm, group)</code></pre><ul><li><code>MPI_Comm_group</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_group.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_group.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L921-L925">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_idup-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Comm_idup-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Comm_idup</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_idup(comm, newcomm, request)</code></pre><ul><li><code>MPI_Comm_idup</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_idup.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_idup.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L930-L934">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_idup_with_info-NTuple{4, Any}" href="#MPI.API.MPI_Comm_idup_with_info-NTuple{4, Any}"><code>MPI.API.MPI_Comm_idup_with_info</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_idup_with_info(comm, info, newcomm, request)</code></pre><ul><li><code>MPI_Comm_idup_with_info</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_idup_with_info.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_idup_with_info.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L939-L943">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_join-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_join-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_join</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_join(fd, intercomm)</code></pre><ul><li><code>MPI_Comm_join</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_join.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_join.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2838-L2842">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_rank-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_rank-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_rank</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_rank(comm, rank)</code></pre><ul><li><code>MPI_Comm_rank</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_rank.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_rank.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L948-L952">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_remote_group-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_remote_group-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_remote_group</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_remote_group(comm, group)</code></pre><ul><li><code>MPI_Comm_remote_group</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_remote_group.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_remote_group.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L957-L961">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_remote_size-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_remote_size-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_remote_size</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_remote_size(comm, size)</code></pre><ul><li><code>MPI_Comm_remote_size</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_remote_size.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_remote_size.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L966-L970">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_set_attr-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Comm_set_attr-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Comm_set_attr</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_set_attr(comm, comm_keyval, attribute_val)</code></pre><ul><li><code>MPI_Comm_set_attr</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_set_attr.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_set_attr.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L129-L133">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_set_errhandler-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_set_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_set_errhandler</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_set_errhandler(comm, errhandler)</code></pre><ul><li><code>MPI_Comm_set_errhandler</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_set_errhandler.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_set_errhandler.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1506-L1510">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_set_info-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_set_info-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_set_info</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_set_info(comm, info)</code></pre><ul><li><code>MPI_Comm_set_info</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_set_info.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_set_info.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L975-L979">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_set_name-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_set_name-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_set_name</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_set_name(comm, comm_name)</code></pre><ul><li><code>MPI_Comm_set_name</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_set_name.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_set_name.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L984-L988">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_size-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_size-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_size</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_size(comm, size)</code></pre><ul><li><code>MPI_Comm_size</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_size.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_size.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L993-L997">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_spawn-NTuple{8, Any}" href="#MPI.API.MPI_Comm_spawn-NTuple{8, Any}"><code>MPI.API.MPI_Comm_spawn</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_spawn(command, argv, maxprocs, info, root, comm, intercomm, array_of_errcodes)</code></pre><ul><li><code>MPI_Comm_spawn</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_spawn.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_spawn.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2847-L2851">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_spawn_multiple-NTuple{9, Any}" href="#MPI.API.MPI_Comm_spawn_multiple-NTuple{9, Any}"><code>MPI.API.MPI_Comm_spawn_multiple</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_spawn_multiple(count, array_of_commands, array_of_argv, array_of_maxprocs, array_of_info, root, comm, intercomm, array_of_errcodes)</code></pre><ul><li><code>MPI_Comm_spawn_multiple</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_spawn_multiple.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_spawn_multiple.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2856-L2860">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_split-NTuple{4, Any}" href="#MPI.API.MPI_Comm_split-NTuple{4, Any}"><code>MPI.API.MPI_Comm_split</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_split(comm, color, key, newcomm)</code></pre><ul><li><code>MPI_Comm_split</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_split.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_split.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1002-L1006">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_split_type-NTuple{5, Any}" href="#MPI.API.MPI_Comm_split_type-NTuple{5, Any}"><code>MPI.API.MPI_Comm_split_type</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_split_type(comm, split_type, key, info, newcomm)</code></pre><ul><li><code>MPI_Comm_split_type</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_split_type.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_split_type.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1011-L1015">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_test_inter-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_test_inter-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_test_inter</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_test_inter(comm, flag)</code></pre><ul><li><code>MPI_Comm_test_inter</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_test_inter.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_test_inter.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1020-L1024">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Compare_and_swap-NTuple{7, Any}" href="#MPI.API.MPI_Compare_and_swap-NTuple{7, Any}"><code>MPI.API.MPI_Compare_and_swap</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Compare_and_swap(origin_addr, compare_addr, result_addr, datatype, target_rank, target_disp, win)</code></pre><ul><li><code>MPI_Compare_and_swap</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Compare_and_swap.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Compare_and_swap.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2451-L2455">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Dims_create-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Dims_create-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Dims_create</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Dims_create(nnodes, ndims, dims)</code></pre><ul><li><code>MPI_Dims_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Dims_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Dims_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2991-L2995">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Dist_graph_create-NTuple{9, Any}" href="#MPI.API.MPI_Dist_graph_create-NTuple{9, Any}"><code>MPI.API.MPI_Dist_graph_create</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Dist_graph_create(comm_old, n, sources, degrees, destinations, weights, info, reorder, comm_dist_graph)</code></pre><ul><li><code>MPI_Dist_graph_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Dist_graph_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Dist_graph_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3000-L3004">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Dist_graph_create_adjacent-NTuple{10, Any}" href="#MPI.API.MPI_Dist_graph_create_adjacent-NTuple{10, Any}"><code>MPI.API.MPI_Dist_graph_create_adjacent</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Dist_graph_create_adjacent(comm_old, indegree, sources, sourceweights, outdegree, destinations, destweights, info, reorder, comm_dist_graph)</code></pre><ul><li><code>MPI_Dist_graph_create_adjacent</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Dist_graph_create_adjacent.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Dist_graph_create_adjacent.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3009-L3013">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Dist_graph_neighbors-NTuple{7, Any}" href="#MPI.API.MPI_Dist_graph_neighbors-NTuple{7, Any}"><code>MPI.API.MPI_Dist_graph_neighbors</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Dist_graph_neighbors(comm, maxindegree, sources, sourceweights, maxoutdegree, destinations, destweights)</code></pre><ul><li><code>MPI_Dist_graph_neighbors</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Dist_graph_neighbors.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Dist_graph_neighbors.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3018-L3022">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Dist_graph_neighbors_count-NTuple{4, Any}" href="#MPI.API.MPI_Dist_graph_neighbors_count-NTuple{4, Any}"><code>MPI.API.MPI_Dist_graph_neighbors_count</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Dist_graph_neighbors_count(comm, indegree, outdegree, weighted)</code></pre><ul><li><code>MPI_Dist_graph_neighbors_count</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Dist_graph_neighbors_count.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Dist_graph_neighbors_count.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3027-L3031">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Errhandler_create-Tuple{Any, Any}" href="#MPI.API.MPI_Errhandler_create-Tuple{Any, Any}"><code>MPI.API.MPI_Errhandler_create</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Errhandler_create(comm_errhandler_fn, errhandler)</code></pre><ul><li><code>MPI_Errhandler_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Errhandler_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Errhandler_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1614-L1618">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Errhandler_free-Tuple{Any}" href="#MPI.API.MPI_Errhandler_free-Tuple{Any}"><code>MPI.API.MPI_Errhandler_free</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Errhandler_free(errhandler)</code></pre><ul><li><code>MPI_Errhandler_free</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Errhandler_free.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Errhandler_free.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1515-L1519">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Errhandler_get-Tuple{Any, Any}" href="#MPI.API.MPI_Errhandler_get-Tuple{Any, Any}"><code>MPI.API.MPI_Errhandler_get</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Errhandler_get(comm, errhandler)</code></pre><ul><li><code>MPI_Errhandler_get</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Errhandler_get.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Errhandler_get.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1623-L1627">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Errhandler_set-Tuple{Any, Any}" href="#MPI.API.MPI_Errhandler_set-Tuple{Any, Any}"><code>MPI.API.MPI_Errhandler_set</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Errhandler_set(comm, errhandler)</code></pre><ul><li><code>MPI_Errhandler_set</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Errhandler_set.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Errhandler_set.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1632-L1636">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Error_class-Tuple{Any, Any}" href="#MPI.API.MPI_Error_class-Tuple{Any, Any}"><code>MPI.API.MPI_Error_class</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Error_class(errorcode, errorclass)</code></pre><ul><li><code>MPI_Error_class</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Error_class.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Error_class.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1524-L1528">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Error_string-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Error_string-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Error_string</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Error_string(errorcode, string, resultlen)</code></pre><ul><li><code>MPI_Error_string</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Error_string.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Error_string.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1533-L1537">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Exscan-NTuple{6, Any}" href="#MPI.API.MPI_Exscan-NTuple{6, Any}"><code>MPI.API.MPI_Exscan</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Exscan(sendbuf, recvbuf, count, datatype, op, comm)</code></pre><ul><li><code>MPI_Exscan</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Exscan.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Exscan.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L390-L394">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Exscan_c-NTuple{6, Any}" href="#MPI.API.MPI_Exscan_c-NTuple{6, Any}"><code>MPI.API.MPI_Exscan_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Exscan_c(sendbuf, recvbuf, count, datatype, op, comm)</code></pre><ul><li><code>MPI_Exscan_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Exscan_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Exscan_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3225-L3229">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Exscan_init-NTuple{8, Any}" href="#MPI.API.MPI_Exscan_init-NTuple{8, Any}"><code>MPI.API.MPI_Exscan_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Exscan_init(sendbuf, recvbuf, count, datatype, op, comm, info, request)</code></pre><ul><li><code>MPI_Exscan_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Exscan_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Exscan_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L399-L403">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Exscan_init_c-NTuple{8, Any}" href="#MPI.API.MPI_Exscan_init_c-NTuple{8, Any}"><code>MPI.API.MPI_Exscan_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Exscan_init_c(sendbuf, recvbuf, count, datatype, op, comm, info, request)</code></pre><ul><li><code>MPI_Exscan_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Exscan_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Exscan_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3234-L3238">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Fetch_and_op-NTuple{7, Any}" href="#MPI.API.MPI_Fetch_and_op-NTuple{7, Any}"><code>MPI.API.MPI_Fetch_and_op</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Fetch_and_op(origin_addr, result_addr, datatype, target_rank, target_disp, op, win)</code></pre><ul><li><code>MPI_Fetch_and_op</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Fetch_and_op.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Fetch_and_op.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2460-L2464">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_c2f-Tuple{Any}" href="#MPI.API.MPI_File_c2f-Tuple{Any}"><code>MPI.API.MPI_File_c2f</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_c2f(file)</code></pre><ul><li><code>MPI_File_c2f</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_c2f.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_c2f.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4998-L5002">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_call_errhandler-Tuple{Any, Any}" href="#MPI.API.MPI_File_call_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_File_call_errhandler</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_call_errhandler(fh, errorcode)</code></pre><ul><li><code>MPI_File_call_errhandler</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_call_errhandler.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_call_errhandler.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1542-L1546">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_close-Tuple{Any}" href="#MPI.API.MPI_File_close-Tuple{Any}"><code>MPI.API.MPI_File_close</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_close(fh)</code></pre><ul><li><code>MPI_File_close</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_close.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_close.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4224-L4228">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_create_errhandler-Tuple{Any, Any}" href="#MPI.API.MPI_File_create_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_File_create_errhandler</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_create_errhandler(file_errhandler_fn, errhandler)</code></pre><ul><li><code>MPI_File_create_errhandler</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_create_errhandler.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_create_errhandler.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1551-L1555">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_delete-Tuple{Any, Any}" href="#MPI.API.MPI_File_delete-Tuple{Any, Any}"><code>MPI.API.MPI_File_delete</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_delete(filename, info)</code></pre><ul><li><code>MPI_File_delete</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_delete.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_delete.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4233-L4237">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_f2c-Tuple{Any}" href="#MPI.API.MPI_File_f2c-Tuple{Any}"><code>MPI.API.MPI_File_f2c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_f2c(file)</code></pre><ul><li><code>MPI_File_f2c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_f2c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_f2c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4989-L4993">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_get_amode-Tuple{Any, Any}" href="#MPI.API.MPI_File_get_amode-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_amode</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_get_amode(fh, amode)</code></pre><ul><li><code>MPI_File_get_amode</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_amode.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_amode.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4278-L4282">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_get_atomicity-Tuple{Any, Any}" href="#MPI.API.MPI_File_get_atomicity-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_atomicity</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_get_atomicity(fh, flag)</code></pre><ul><li><code>MPI_File_get_atomicity</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_atomicity.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_atomicity.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4665-L4669">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_get_byte_offset-Tuple{Any, Any, Any}" href="#MPI.API.MPI_File_get_byte_offset-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_get_byte_offset</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_get_byte_offset(fh, offset, disp)</code></pre><ul><li><code>MPI_File_get_byte_offset</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_byte_offset.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_byte_offset.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4449-L4453">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_get_errhandler-Tuple{Any, Any}" href="#MPI.API.MPI_File_get_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_errhandler</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_get_errhandler(file, errhandler)</code></pre><ul><li><code>MPI_File_get_errhandler</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_errhandler.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_errhandler.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1560-L1564">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_get_group-Tuple{Any, Any}" href="#MPI.API.MPI_File_get_group-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_group</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_get_group(fh, group)</code></pre><ul><li><code>MPI_File_get_group</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_group.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_group.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4269-L4273">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_get_info-Tuple{Any, Any}" href="#MPI.API.MPI_File_get_info-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_info</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_get_info(fh, info_used)</code></pre><ul><li><code>MPI_File_get_info</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_info.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_info.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4296-L4300">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_get_position-Tuple{Any, Any}" href="#MPI.API.MPI_File_get_position-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_position</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_get_position(fh, offset)</code></pre><ul><li><code>MPI_File_get_position</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_position.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_position.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4440-L4444">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_get_position_shared-Tuple{Any, Any}" href="#MPI.API.MPI_File_get_position_shared-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_position_shared</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_get_position_shared(fh, offset)</code></pre><ul><li><code>MPI_File_get_position_shared</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_position_shared.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_position_shared.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4521-L4525">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_get_size-Tuple{Any, Any}" href="#MPI.API.MPI_File_get_size-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_size</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_get_size(fh, size)</code></pre><ul><li><code>MPI_File_get_size</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_size.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_size.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4260-L4264">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_get_type_extent-Tuple{Any, Any, Any}" href="#MPI.API.MPI_File_get_type_extent-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_get_type_extent</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_get_type_extent(fh, datatype, extent)</code></pre><ul><li><code>MPI_File_get_type_extent</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_type_extent.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_type_extent.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4638-L4642">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_get_type_extent_c-Tuple{Any, Any, Any}" href="#MPI.API.MPI_File_get_type_extent_c-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_get_type_extent_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_get_type_extent_c(fh, datatype, extent)</code></pre><ul><li><code>MPI_File_get_type_extent_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_type_extent_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_type_extent_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4971-L4975">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_get_view-NTuple{5, Any}" href="#MPI.API.MPI_File_get_view-NTuple{5, Any}"><code>MPI.API.MPI_File_get_view</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_get_view(fh, disp, etype, filetype, datarep)</code></pre><ul><li><code>MPI_File_get_view</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_view.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_view.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4314-L4318">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iread-NTuple{5, Any}" href="#MPI.API.MPI_File_iread-NTuple{5, Any}"><code>MPI.API.MPI_File_iread</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iread(fh, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iread</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iread.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iread.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4413-L4417">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iread_all-NTuple{5, Any}" href="#MPI.API.MPI_File_iread_all-NTuple{5, Any}"><code>MPI.API.MPI_File_iread_all</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iread_all(fh, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iread_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iread_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iread_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4701-L4705">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iread_all_c-NTuple{5, Any}" href="#MPI.API.MPI_File_iread_all_c-NTuple{5, Any}"><code>MPI.API.MPI_File_iread_all_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iread_all_c(fh, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iread_all_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iread_all_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iread_all_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4890-L4894">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iread_at-NTuple{6, Any}" href="#MPI.API.MPI_File_iread_at-NTuple{6, Any}"><code>MPI.API.MPI_File_iread_at</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iread_at(fh, offset, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iread_at</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iread_at.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iread_at.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4359-L4363">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iread_at_all-NTuple{6, Any}" href="#MPI.API.MPI_File_iread_at_all-NTuple{6, Any}"><code>MPI.API.MPI_File_iread_at_all</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iread_at_all(fh, offset, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iread_at_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iread_at_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iread_at_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4683-L4687">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iread_at_all_c-NTuple{6, Any}" href="#MPI.API.MPI_File_iread_at_all_c-NTuple{6, Any}"><code>MPI.API.MPI_File_iread_at_all_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iread_at_all_c(fh, offset, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iread_at_all_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iread_at_all_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iread_at_all_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4908-L4912">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iread_at_c-NTuple{6, Any}" href="#MPI.API.MPI_File_iread_at_c-NTuple{6, Any}"><code>MPI.API.MPI_File_iread_at_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iread_at_c(fh, offset, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iread_at_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iread_at_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iread_at_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4899-L4903">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iread_c-NTuple{5, Any}" href="#MPI.API.MPI_File_iread_c-NTuple{5, Any}"><code>MPI.API.MPI_File_iread_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iread_c(fh, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iread_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iread_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iread_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4881-L4885">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iread_shared-NTuple{5, Any}" href="#MPI.API.MPI_File_iread_shared-NTuple{5, Any}"><code>MPI.API.MPI_File_iread_shared</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iread_shared(fh, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iread_shared</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iread_shared.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iread_shared.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4476-L4480">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iread_shared_c-NTuple{5, Any}" href="#MPI.API.MPI_File_iread_shared_c-NTuple{5, Any}"><code>MPI.API.MPI_File_iread_shared_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iread_shared_c(fh, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iread_shared_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iread_shared_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iread_shared_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4917-L4921">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iwrite-NTuple{5, Any}" href="#MPI.API.MPI_File_iwrite-NTuple{5, Any}"><code>MPI.API.MPI_File_iwrite</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iwrite(fh, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iwrite</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iwrite.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iwrite.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4422-L4426">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iwrite_all-NTuple{5, Any}" href="#MPI.API.MPI_File_iwrite_all-NTuple{5, Any}"><code>MPI.API.MPI_File_iwrite_all</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iwrite_all(fh, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iwrite_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iwrite_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iwrite_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4710-L4714">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iwrite_all_c-NTuple{5, Any}" href="#MPI.API.MPI_File_iwrite_all_c-NTuple{5, Any}"><code>MPI.API.MPI_File_iwrite_all_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iwrite_all_c(fh, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iwrite_all_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iwrite_all_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iwrite_all_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4935-L4939">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iwrite_at-NTuple{6, Any}" href="#MPI.API.MPI_File_iwrite_at-NTuple{6, Any}"><code>MPI.API.MPI_File_iwrite_at</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iwrite_at(fh, offset, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iwrite_at</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iwrite_at.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iwrite_at.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4368-L4372">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iwrite_at_all-NTuple{6, Any}" href="#MPI.API.MPI_File_iwrite_at_all-NTuple{6, Any}"><code>MPI.API.MPI_File_iwrite_at_all</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iwrite_at_all(fh, offset, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iwrite_at_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iwrite_at_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iwrite_at_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4692-L4696">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iwrite_at_all_c-NTuple{6, Any}" href="#MPI.API.MPI_File_iwrite_at_all_c-NTuple{6, Any}"><code>MPI.API.MPI_File_iwrite_at_all_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iwrite_at_all_c(fh, offset, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iwrite_at_all_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iwrite_at_all_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iwrite_at_all_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4953-L4957">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iwrite_at_c-NTuple{6, Any}" href="#MPI.API.MPI_File_iwrite_at_c-NTuple{6, Any}"><code>MPI.API.MPI_File_iwrite_at_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iwrite_at_c(fh, offset, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iwrite_at_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iwrite_at_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iwrite_at_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4944-L4948">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iwrite_c-NTuple{5, Any}" href="#MPI.API.MPI_File_iwrite_c-NTuple{5, Any}"><code>MPI.API.MPI_File_iwrite_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iwrite_c(fh, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iwrite_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iwrite_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iwrite_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4926-L4930">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iwrite_shared-NTuple{5, Any}" href="#MPI.API.MPI_File_iwrite_shared-NTuple{5, Any}"><code>MPI.API.MPI_File_iwrite_shared</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iwrite_shared(fh, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iwrite_shared</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iwrite_shared.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iwrite_shared.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4485-L4489">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iwrite_shared_c-NTuple{5, Any}" href="#MPI.API.MPI_File_iwrite_shared_c-NTuple{5, Any}"><code>MPI.API.MPI_File_iwrite_shared_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iwrite_shared_c(fh, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iwrite_shared_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iwrite_shared_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iwrite_shared_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4962-L4966">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_open-NTuple{5, Any}" href="#MPI.API.MPI_File_open-NTuple{5, Any}"><code>MPI.API.MPI_File_open</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_open(comm, filename, amode, info, fh)</code></pre><ul><li><code>MPI_File_open</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_open.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_open.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4215-L4219">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_preallocate-Tuple{Any, Any}" href="#MPI.API.MPI_File_preallocate-Tuple{Any, Any}"><code>MPI.API.MPI_File_preallocate</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_preallocate(fh, size)</code></pre><ul><li><code>MPI_File_preallocate</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_preallocate.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_preallocate.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4251-L4255">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read-NTuple{5, Any}" href="#MPI.API.MPI_File_read-NTuple{5, Any}"><code>MPI.API.MPI_File_read</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_read</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4377-L4381">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_all-NTuple{5, Any}" href="#MPI.API.MPI_File_read_all-NTuple{5, Any}"><code>MPI.API.MPI_File_read_all</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_all(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_read_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4386-L4390">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_all_begin-NTuple{4, Any}" href="#MPI.API.MPI_File_read_all_begin-NTuple{4, Any}"><code>MPI.API.MPI_File_read_all_begin</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_all_begin(fh, buf, count, datatype)</code></pre><ul><li><code>MPI_File_read_all_begin</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_all_begin.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_all_begin.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4566-L4570">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_all_begin_c-NTuple{4, Any}" href="#MPI.API.MPI_File_read_all_begin_c-NTuple{4, Any}"><code>MPI.API.MPI_File_read_all_begin_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_all_begin_c(fh, buf, count, datatype)</code></pre><ul><li><code>MPI_File_read_all_begin_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_all_begin_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_all_begin_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4737-L4741">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_all_c-NTuple{5, Any}" href="#MPI.API.MPI_File_read_all_c-NTuple{5, Any}"><code>MPI.API.MPI_File_read_all_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_all_c(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_read_all_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_all_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_all_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4728-L4732">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_all_end-Tuple{Any, Any, Any}" href="#MPI.API.MPI_File_read_all_end-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_read_all_end</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_all_end(fh, buf, status)</code></pre><ul><li><code>MPI_File_read_all_end</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_all_end.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_all_end.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4575-L4579">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_at-NTuple{6, Any}" href="#MPI.API.MPI_File_read_at-NTuple{6, Any}"><code>MPI.API.MPI_File_read_at</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_at(fh, offset, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_read_at</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_at.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_at.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4323-L4327">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_at_all-NTuple{6, Any}" href="#MPI.API.MPI_File_read_at_all-NTuple{6, Any}"><code>MPI.API.MPI_File_read_at_all</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_at_all(fh, offset, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_read_at_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_at_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_at_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4332-L4336">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_at_all_begin-NTuple{5, Any}" href="#MPI.API.MPI_File_read_at_all_begin-NTuple{5, Any}"><code>MPI.API.MPI_File_read_at_all_begin</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_at_all_begin(fh, offset, buf, count, datatype)</code></pre><ul><li><code>MPI_File_read_at_all_begin</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_at_all_begin.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_at_all_begin.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4530-L4534">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_at_all_begin_c-NTuple{5, Any}" href="#MPI.API.MPI_File_read_at_all_begin_c-NTuple{5, Any}"><code>MPI.API.MPI_File_read_at_all_begin_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_at_all_begin_c(fh, offset, buf, count, datatype)</code></pre><ul><li><code>MPI_File_read_at_all_begin_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_at_all_begin_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_at_all_begin_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4764-L4768">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_at_all_c-NTuple{6, Any}" href="#MPI.API.MPI_File_read_at_all_c-NTuple{6, Any}"><code>MPI.API.MPI_File_read_at_all_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_at_all_c(fh, offset, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_read_at_all_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_at_all_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_at_all_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4755-L4759">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_at_all_end-Tuple{Any, Any, Any}" href="#MPI.API.MPI_File_read_at_all_end-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_read_at_all_end</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_at_all_end(fh, buf, status)</code></pre><ul><li><code>MPI_File_read_at_all_end</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_at_all_end.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_at_all_end.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4539-L4543">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_at_c-NTuple{6, Any}" href="#MPI.API.MPI_File_read_at_c-NTuple{6, Any}"><code>MPI.API.MPI_File_read_at_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_at_c(fh, offset, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_read_at_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_at_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_at_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4746-L4750">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_c-NTuple{5, Any}" href="#MPI.API.MPI_File_read_c-NTuple{5, Any}"><code>MPI.API.MPI_File_read_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_c(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_read_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4719-L4723">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_ordered-NTuple{5, Any}" href="#MPI.API.MPI_File_read_ordered-NTuple{5, Any}"><code>MPI.API.MPI_File_read_ordered</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_ordered(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_read_ordered</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_ordered.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_ordered.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4494-L4498">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_ordered_begin-NTuple{4, Any}" href="#MPI.API.MPI_File_read_ordered_begin-NTuple{4, Any}"><code>MPI.API.MPI_File_read_ordered_begin</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_ordered_begin(fh, buf, count, datatype)</code></pre><ul><li><code>MPI_File_read_ordered_begin</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_ordered_begin.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_ordered_begin.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4602-L4606">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_ordered_begin_c-NTuple{4, Any}" href="#MPI.API.MPI_File_read_ordered_begin_c-NTuple{4, Any}"><code>MPI.API.MPI_File_read_ordered_begin_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_ordered_begin_c(fh, buf, count, datatype)</code></pre><ul><li><code>MPI_File_read_ordered_begin_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_ordered_begin_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_ordered_begin_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4782-L4786">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_ordered_c-NTuple{5, Any}" href="#MPI.API.MPI_File_read_ordered_c-NTuple{5, Any}"><code>MPI.API.MPI_File_read_ordered_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_ordered_c(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_read_ordered_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_ordered_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_ordered_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4773-L4777">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_ordered_end-Tuple{Any, Any, Any}" href="#MPI.API.MPI_File_read_ordered_end-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_read_ordered_end</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_ordered_end(fh, buf, status)</code></pre><ul><li><code>MPI_File_read_ordered_end</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_ordered_end.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_ordered_end.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4611-L4615">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_shared-NTuple{5, Any}" href="#MPI.API.MPI_File_read_shared-NTuple{5, Any}"><code>MPI.API.MPI_File_read_shared</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_shared(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_read_shared</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_shared.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_shared.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4458-L4462">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_shared_c-NTuple{5, Any}" href="#MPI.API.MPI_File_read_shared_c-NTuple{5, Any}"><code>MPI.API.MPI_File_read_shared_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_shared_c(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_read_shared_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_shared_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_shared_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4791-L4795">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_seek-Tuple{Any, Any, Any}" href="#MPI.API.MPI_File_seek-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_seek</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_seek(fh, offset, whence)</code></pre><ul><li><code>MPI_File_seek</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_seek.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_seek.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4431-L4435">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_seek_shared-Tuple{Any, Any, Any}" href="#MPI.API.MPI_File_seek_shared-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_seek_shared</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_seek_shared(fh, offset, whence)</code></pre><ul><li><code>MPI_File_seek_shared</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_seek_shared.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_seek_shared.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4512-L4516">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_set_atomicity-Tuple{Any, Any}" href="#MPI.API.MPI_File_set_atomicity-Tuple{Any, Any}"><code>MPI.API.MPI_File_set_atomicity</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_set_atomicity(fh, flag)</code></pre><ul><li><code>MPI_File_set_atomicity</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_set_atomicity.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_set_atomicity.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4656-L4660">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_set_errhandler-Tuple{Any, Any}" href="#MPI.API.MPI_File_set_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_File_set_errhandler</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_set_errhandler(file, errhandler)</code></pre><ul><li><code>MPI_File_set_errhandler</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_set_errhandler.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_set_errhandler.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1569-L1573">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_set_info-Tuple{Any, Any}" href="#MPI.API.MPI_File_set_info-Tuple{Any, Any}"><code>MPI.API.MPI_File_set_info</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_set_info(fh, info)</code></pre><ul><li><code>MPI_File_set_info</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_set_info.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_set_info.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4287-L4291">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_set_size-Tuple{Any, Any}" href="#MPI.API.MPI_File_set_size-Tuple{Any, Any}"><code>MPI.API.MPI_File_set_size</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_set_size(fh, size)</code></pre><ul><li><code>MPI_File_set_size</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_set_size.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_set_size.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4242-L4246">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_set_view-NTuple{6, Any}" href="#MPI.API.MPI_File_set_view-NTuple{6, Any}"><code>MPI.API.MPI_File_set_view</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_set_view(fh, disp, etype, filetype, datarep, info)</code></pre><ul><li><code>MPI_File_set_view</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_set_view.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_set_view.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4305-L4309">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_sync-Tuple{Any}" href="#MPI.API.MPI_File_sync-Tuple{Any}"><code>MPI.API.MPI_File_sync</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_sync(fh)</code></pre><ul><li><code>MPI_File_sync</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_sync.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_sync.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4674-L4678">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write-NTuple{5, Any}" href="#MPI.API.MPI_File_write-NTuple{5, Any}"><code>MPI.API.MPI_File_write</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_write</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4395-L4399">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_all-NTuple{5, Any}" href="#MPI.API.MPI_File_write_all-NTuple{5, Any}"><code>MPI.API.MPI_File_write_all</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_all(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_write_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4404-L4408">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_all_begin-NTuple{4, Any}" href="#MPI.API.MPI_File_write_all_begin-NTuple{4, Any}"><code>MPI.API.MPI_File_write_all_begin</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_all_begin(fh, buf, count, datatype)</code></pre><ul><li><code>MPI_File_write_all_begin</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_all_begin.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_all_begin.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4584-L4588">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_all_begin_c-NTuple{4, Any}" href="#MPI.API.MPI_File_write_all_begin_c-NTuple{4, Any}"><code>MPI.API.MPI_File_write_all_begin_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_all_begin_c(fh, buf, count, datatype)</code></pre><ul><li><code>MPI_File_write_all_begin_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_all_begin_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_all_begin_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4818-L4822">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_all_c-NTuple{5, Any}" href="#MPI.API.MPI_File_write_all_c-NTuple{5, Any}"><code>MPI.API.MPI_File_write_all_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_all_c(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_write_all_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_all_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_all_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4809-L4813">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_all_end-Tuple{Any, Any, Any}" href="#MPI.API.MPI_File_write_all_end-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_write_all_end</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_all_end(fh, buf, status)</code></pre><ul><li><code>MPI_File_write_all_end</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_all_end.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_all_end.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4593-L4597">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_at-NTuple{6, Any}" href="#MPI.API.MPI_File_write_at-NTuple{6, Any}"><code>MPI.API.MPI_File_write_at</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_at(fh, offset, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_write_at</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_at.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_at.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4341-L4345">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_at_all-NTuple{6, Any}" href="#MPI.API.MPI_File_write_at_all-NTuple{6, Any}"><code>MPI.API.MPI_File_write_at_all</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_at_all(fh, offset, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_write_at_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_at_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_at_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4350-L4354">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_at_all_begin-NTuple{5, Any}" href="#MPI.API.MPI_File_write_at_all_begin-NTuple{5, Any}"><code>MPI.API.MPI_File_write_at_all_begin</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_at_all_begin(fh, offset, buf, count, datatype)</code></pre><ul><li><code>MPI_File_write_at_all_begin</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_at_all_begin.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_at_all_begin.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4548-L4552">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_at_all_begin_c-NTuple{5, Any}" href="#MPI.API.MPI_File_write_at_all_begin_c-NTuple{5, Any}"><code>MPI.API.MPI_File_write_at_all_begin_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_at_all_begin_c(fh, offset, buf, count, datatype)</code></pre><ul><li><code>MPI_File_write_at_all_begin_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_at_all_begin_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_at_all_begin_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4845-L4849">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_at_all_c-NTuple{6, Any}" href="#MPI.API.MPI_File_write_at_all_c-NTuple{6, Any}"><code>MPI.API.MPI_File_write_at_all_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_at_all_c(fh, offset, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_write_at_all_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_at_all_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_at_all_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4836-L4840">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_at_all_end-Tuple{Any, Any, Any}" href="#MPI.API.MPI_File_write_at_all_end-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_write_at_all_end</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_at_all_end(fh, buf, status)</code></pre><ul><li><code>MPI_File_write_at_all_end</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_at_all_end.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_at_all_end.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4557-L4561">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_at_c-NTuple{6, Any}" href="#MPI.API.MPI_File_write_at_c-NTuple{6, Any}"><code>MPI.API.MPI_File_write_at_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_at_c(fh, offset, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_write_at_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_at_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_at_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4827-L4831">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_c-NTuple{5, Any}" href="#MPI.API.MPI_File_write_c-NTuple{5, Any}"><code>MPI.API.MPI_File_write_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_c(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_write_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4800-L4804">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_ordered-NTuple{5, Any}" href="#MPI.API.MPI_File_write_ordered-NTuple{5, Any}"><code>MPI.API.MPI_File_write_ordered</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_ordered(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_write_ordered</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_ordered.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_ordered.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4503-L4507">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_ordered_begin-NTuple{4, Any}" href="#MPI.API.MPI_File_write_ordered_begin-NTuple{4, Any}"><code>MPI.API.MPI_File_write_ordered_begin</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_ordered_begin(fh, buf, count, datatype)</code></pre><ul><li><code>MPI_File_write_ordered_begin</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_ordered_begin.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_ordered_begin.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4620-L4624">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_ordered_begin_c-NTuple{4, Any}" href="#MPI.API.MPI_File_write_ordered_begin_c-NTuple{4, Any}"><code>MPI.API.MPI_File_write_ordered_begin_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_ordered_begin_c(fh, buf, count, datatype)</code></pre><ul><li><code>MPI_File_write_ordered_begin_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_ordered_begin_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_ordered_begin_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4863-L4867">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_ordered_c-NTuple{5, Any}" href="#MPI.API.MPI_File_write_ordered_c-NTuple{5, Any}"><code>MPI.API.MPI_File_write_ordered_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_ordered_c(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_write_ordered_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_ordered_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_ordered_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4854-L4858">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_ordered_end-Tuple{Any, Any, Any}" href="#MPI.API.MPI_File_write_ordered_end-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_write_ordered_end</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_ordered_end(fh, buf, status)</code></pre><ul><li><code>MPI_File_write_ordered_end</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_ordered_end.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_ordered_end.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4629-L4633">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_shared-NTuple{5, Any}" href="#MPI.API.MPI_File_write_shared-NTuple{5, Any}"><code>MPI.API.MPI_File_write_shared</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_shared(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_write_shared</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_shared.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_shared.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4467-L4471">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_shared_c-NTuple{5, Any}" href="#MPI.API.MPI_File_write_shared_c-NTuple{5, Any}"><code>MPI.API.MPI_File_write_shared_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_shared_c(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_write_shared_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_shared_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_shared_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4872-L4876">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Finalize-Tuple{}" href="#MPI.API.MPI_Finalize-Tuple{}"><code>MPI.API.MPI_Finalize</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Finalize()</code></pre><ul><li><code>MPI_Finalize</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Finalize.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Finalize.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1866-L1870">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Finalized-Tuple{Any}" href="#MPI.API.MPI_Finalized-Tuple{Any}"><code>MPI.API.MPI_Finalized</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Finalized(flag)</code></pre><ul><li><code>MPI_Finalized</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Finalized.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Finalized.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1875-L1879">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Free_mem-Tuple{Any}" href="#MPI.API.MPI_Free_mem-Tuple{Any}"><code>MPI.API.MPI_Free_mem</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Free_mem(base)</code></pre><ul><li><code>MPI_Free_mem</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Free_mem.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Free_mem.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2469-L2473">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Gather-NTuple{8, Any}" href="#MPI.API.MPI_Gather-NTuple{8, Any}"><code>MPI.API.MPI_Gather</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Gather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm)</code></pre><ul><li><code>MPI_Gather</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Gather.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Gather.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L408-L412">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Gather_c-NTuple{8, Any}" href="#MPI.API.MPI_Gather_c-NTuple{8, Any}"><code>MPI.API.MPI_Gather_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Gather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm)</code></pre><ul><li><code>MPI_Gather_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Gather_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Gather_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3243-L3247">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Gather_init-NTuple{10, Any}" href="#MPI.API.MPI_Gather_init-NTuple{10, Any}"><code>MPI.API.MPI_Gather_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Gather_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request)</code></pre><ul><li><code>MPI_Gather_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Gather_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Gather_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L417-L421">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Gather_init_c-NTuple{10, Any}" href="#MPI.API.MPI_Gather_init_c-NTuple{10, Any}"><code>MPI.API.MPI_Gather_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Gather_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request)</code></pre><ul><li><code>MPI_Gather_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Gather_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Gather_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3252-L3256">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Gatherv-NTuple{9, Any}" href="#MPI.API.MPI_Gatherv-NTuple{9, Any}"><code>MPI.API.MPI_Gatherv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Gatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm)</code></pre><ul><li><code>MPI_Gatherv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Gatherv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Gatherv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L426-L430">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Gatherv_c-NTuple{9, Any}" href="#MPI.API.MPI_Gatherv_c-NTuple{9, Any}"><code>MPI.API.MPI_Gatherv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Gatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm)</code></pre><ul><li><code>MPI_Gatherv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Gatherv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Gatherv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3261-L3265">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Gatherv_init-NTuple{11, Any}" href="#MPI.API.MPI_Gatherv_init-NTuple{11, Any}"><code>MPI.API.MPI_Gatherv_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Gatherv_init(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, info, request)</code></pre><ul><li><code>MPI_Gatherv_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Gatherv_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Gatherv_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L435-L439">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Gatherv_init_c-NTuple{11, Any}" href="#MPI.API.MPI_Gatherv_init_c-NTuple{11, Any}"><code>MPI.API.MPI_Gatherv_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Gatherv_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, info, request)</code></pre><ul><li><code>MPI_Gatherv_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Gatherv_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Gatherv_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3270-L3274">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Get-NTuple{8, Any}" href="#MPI.API.MPI_Get-NTuple{8, Any}"><code>MPI.API.MPI_Get</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Get(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win)</code></pre><ul><li><code>MPI_Get</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2478-L2482">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Get_accumulate-NTuple{12, Any}" href="#MPI.API.MPI_Get_accumulate-NTuple{12, Any}"><code>MPI.API.MPI_Get_accumulate</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Get_accumulate(origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win)</code></pre><ul><li><code>MPI_Get_accumulate</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_accumulate.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_accumulate.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2487-L2491">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Get_accumulate_c-NTuple{12, Any}" href="#MPI.API.MPI_Get_accumulate_c-NTuple{12, Any}"><code>MPI.API.MPI_Get_accumulate_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Get_accumulate_c(origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win)</code></pre><ul><li><code>MPI_Get_accumulate_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_accumulate_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_accumulate_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4125-L4129">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Get_address-Tuple{Any, Any}" href="#MPI.API.MPI_Get_address-Tuple{Any, Any}"><code>MPI.API.MPI_Get_address</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Get_address(location, address)</code></pre><ul><li><code>MPI_Get_address</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_address.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_address.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1056-L1060">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Get_c-NTuple{8, Any}" href="#MPI.API.MPI_Get_c-NTuple{8, Any}"><code>MPI.API.MPI_Get_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Get_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win)</code></pre><ul><li><code>MPI_Get_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4116-L4120">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Get_count-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Get_count-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Get_count</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Get_count(status, datatype, count)</code></pre><ul><li><code>MPI_Get_count</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_count.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_count.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1065-L1069">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Get_count_c-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Get_count_c-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Get_count_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Get_count_c(status, datatype, count)</code></pre><ul><li><code>MPI_Get_count_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_count_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_count_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3675-L3679">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Get_elements-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Get_elements-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Get_elements</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Get_elements(status, datatype, count)</code></pre><ul><li><code>MPI_Get_elements</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_elements.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_elements.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1074-L1078">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Get_elements_c-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Get_elements_c-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Get_elements_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Get_elements_c(status, datatype, count)</code></pre><ul><li><code>MPI_Get_elements_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_elements_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_elements_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3684-L3688">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Get_elements_x-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Get_elements_x-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Get_elements_x</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Get_elements_x(status, datatype, count)</code></pre><ul><li><code>MPI_Get_elements_x</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_elements_x.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_elements_x.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1083-L1087">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Get_library_version-Tuple{Any, Any}" href="#MPI.API.MPI_Get_library_version-Tuple{Any, Any}"><code>MPI.API.MPI_Get_library_version</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Get_library_version(version, resultlen)</code></pre><ul><li><code>MPI_Get_library_version</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_library_version.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_library_version.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1947-L1951">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Get_processor_name-Tuple{Any, Any}" href="#MPI.API.MPI_Get_processor_name-Tuple{Any, Any}"><code>MPI.API.MPI_Get_processor_name</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Get_processor_name(name, resultlen)</code></pre><ul><li><code>MPI_Get_processor_name</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_processor_name.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_processor_name.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1956-L1960">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Get_version-Tuple{Any, Any}" href="#MPI.API.MPI_Get_version-Tuple{Any, Any}"><code>MPI.API.MPI_Get_version</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Get_version(version, subversion)</code></pre><ul><li><code>MPI_Get_version</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_version.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_version.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1965-L1969">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Graph_create-NTuple{6, Any}" href="#MPI.API.MPI_Graph_create-NTuple{6, Any}"><code>MPI.API.MPI_Graph_create</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Graph_create(comm_old, nnodes, indx, edges, reorder, comm_graph)</code></pre><ul><li><code>MPI_Graph_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Graph_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Graph_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3036-L3040">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Graph_get-NTuple{5, Any}" href="#MPI.API.MPI_Graph_get-NTuple{5, Any}"><code>MPI.API.MPI_Graph_get</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Graph_get(comm, maxindex, maxedges, indx, edges)</code></pre><ul><li><code>MPI_Graph_get</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Graph_get.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Graph_get.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3045-L3049">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Graph_map-NTuple{5, Any}" href="#MPI.API.MPI_Graph_map-NTuple{5, Any}"><code>MPI.API.MPI_Graph_map</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Graph_map(comm, nnodes, indx, edges, newrank)</code></pre><ul><li><code>MPI_Graph_map</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Graph_map.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Graph_map.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3054-L3058">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Graph_neighbors-NTuple{4, Any}" href="#MPI.API.MPI_Graph_neighbors-NTuple{4, Any}"><code>MPI.API.MPI_Graph_neighbors</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Graph_neighbors(comm, rank, maxneighbors, neighbors)</code></pre><ul><li><code>MPI_Graph_neighbors</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Graph_neighbors.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Graph_neighbors.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3063-L3067">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Graph_neighbors_count-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Graph_neighbors_count-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Graph_neighbors_count</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Graph_neighbors_count(comm, rank, nneighbors)</code></pre><ul><li><code>MPI_Graph_neighbors_count</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Graph_neighbors_count.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Graph_neighbors_count.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3072-L3076">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Graphdims_get-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Graphdims_get-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Graphdims_get</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Graphdims_get(comm, nnodes, nedges)</code></pre><ul><li><code>MPI_Graphdims_get</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Graphdims_get.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Graphdims_get.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3081-L3085">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Grequest_complete-Tuple{Any}" href="#MPI.API.MPI_Grequest_complete-Tuple{Any}"><code>MPI.API.MPI_Grequest_complete</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Grequest_complete(request)</code></pre><ul><li><code>MPI_Grequest_complete</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Grequest_complete.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Grequest_complete.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2307-L2311">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Grequest_start-NTuple{5, Any}" href="#MPI.API.MPI_Grequest_start-NTuple{5, Any}"><code>MPI.API.MPI_Grequest_start</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Grequest_start(query_fn, free_fn, cancel_fn, extra_state, request)</code></pre><ul><li><code>MPI_Grequest_start</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Grequest_start.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Grequest_start.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2316-L2320">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Group_compare-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Group_compare-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Group_compare</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Group_compare(group1, group2, result)</code></pre><ul><li><code>MPI_Group_compare</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Group_compare.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Group_compare.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1641-L1645">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Group_difference-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Group_difference-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Group_difference</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Group_difference(group1, group2, newgroup)</code></pre><ul><li><code>MPI_Group_difference</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Group_difference.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Group_difference.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1650-L1654">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Group_excl-NTuple{4, Any}" href="#MPI.API.MPI_Group_excl-NTuple{4, Any}"><code>MPI.API.MPI_Group_excl</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Group_excl(group, n, ranks, newgroup)</code></pre><ul><li><code>MPI_Group_excl</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Group_excl.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Group_excl.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1659-L1663">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Group_free-Tuple{Any}" href="#MPI.API.MPI_Group_free-Tuple{Any}"><code>MPI.API.MPI_Group_free</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Group_free(group)</code></pre><ul><li><code>MPI_Group_free</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Group_free.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Group_free.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1668-L1672">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Group_incl-NTuple{4, Any}" href="#MPI.API.MPI_Group_incl-NTuple{4, Any}"><code>MPI.API.MPI_Group_incl</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Group_incl(group, n, ranks, newgroup)</code></pre><ul><li><code>MPI_Group_incl</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Group_incl.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Group_incl.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1677-L1681">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Group_intersection-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Group_intersection-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Group_intersection</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Group_intersection(group1, group2, newgroup)</code></pre><ul><li><code>MPI_Group_intersection</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Group_intersection.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Group_intersection.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1686-L1690">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Group_range_excl-NTuple{4, Any}" href="#MPI.API.MPI_Group_range_excl-NTuple{4, Any}"><code>MPI.API.MPI_Group_range_excl</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Group_range_excl(group, n, ranges, newgroup)</code></pre><ul><li><code>MPI_Group_range_excl</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Group_range_excl.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Group_range_excl.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1695-L1699">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Group_range_incl-NTuple{4, Any}" href="#MPI.API.MPI_Group_range_incl-NTuple{4, Any}"><code>MPI.API.MPI_Group_range_incl</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Group_range_incl(group, n, ranges, newgroup)</code></pre><ul><li><code>MPI_Group_range_incl</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Group_range_incl.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Group_range_incl.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1704-L1708">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Group_rank-Tuple{Any, Any}" href="#MPI.API.MPI_Group_rank-Tuple{Any, Any}"><code>MPI.API.MPI_Group_rank</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Group_rank(group, rank)</code></pre><ul><li><code>MPI_Group_rank</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Group_rank.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Group_rank.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1713-L1717">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Group_size-Tuple{Any, Any}" href="#MPI.API.MPI_Group_size-Tuple{Any, Any}"><code>MPI.API.MPI_Group_size</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Group_size(group, size)</code></pre><ul><li><code>MPI_Group_size</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Group_size.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Group_size.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1722-L1726">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Group_translate_ranks-NTuple{5, Any}" href="#MPI.API.MPI_Group_translate_ranks-NTuple{5, Any}"><code>MPI.API.MPI_Group_translate_ranks</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Group_translate_ranks(group1, n, ranks1, group2, ranks2)</code></pre><ul><li><code>MPI_Group_translate_ranks</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Group_translate_ranks.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Group_translate_ranks.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1731-L1735">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Group_union-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Group_union-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Group_union</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Group_union(group1, group2, newgroup)</code></pre><ul><li><code>MPI_Group_union</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Group_union.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Group_union.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1740-L1744">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Iallgather-NTuple{8, Any}" href="#MPI.API.MPI_Iallgather-NTuple{8, Any}"><code>MPI.API.MPI_Iallgather</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Iallgather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)</code></pre><ul><li><code>MPI_Iallgather</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iallgather.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iallgather.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L444-L448">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Iallgather_c-NTuple{8, Any}" href="#MPI.API.MPI_Iallgather_c-NTuple{8, Any}"><code>MPI.API.MPI_Iallgather_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Iallgather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)</code></pre><ul><li><code>MPI_Iallgather_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iallgather_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iallgather_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3279-L3283">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Iallgatherv-NTuple{9, Any}" href="#MPI.API.MPI_Iallgatherv-NTuple{9, Any}"><code>MPI.API.MPI_Iallgatherv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Iallgatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request)</code></pre><ul><li><code>MPI_Iallgatherv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iallgatherv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iallgatherv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L453-L457">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Iallgatherv_c-NTuple{9, Any}" href="#MPI.API.MPI_Iallgatherv_c-NTuple{9, Any}"><code>MPI.API.MPI_Iallgatherv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Iallgatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request)</code></pre><ul><li><code>MPI_Iallgatherv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iallgatherv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iallgatherv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3288-L3292">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Iallreduce-NTuple{7, Any}" href="#MPI.API.MPI_Iallreduce-NTuple{7, Any}"><code>MPI.API.MPI_Iallreduce</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Iallreduce(sendbuf, recvbuf, count, datatype, op, comm, request)</code></pre><ul><li><code>MPI_Iallreduce</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iallreduce.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iallreduce.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L462-L466">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Iallreduce_c-NTuple{7, Any}" href="#MPI.API.MPI_Iallreduce_c-NTuple{7, Any}"><code>MPI.API.MPI_Iallreduce_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Iallreduce_c(sendbuf, recvbuf, count, datatype, op, comm, request)</code></pre><ul><li><code>MPI_Iallreduce_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iallreduce_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iallreduce_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3297-L3301">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ialltoall-NTuple{8, Any}" href="#MPI.API.MPI_Ialltoall-NTuple{8, Any}"><code>MPI.API.MPI_Ialltoall</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ialltoall(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)</code></pre><ul><li><code>MPI_Ialltoall</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ialltoall.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ialltoall.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L471-L475">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ialltoall_c-NTuple{8, Any}" href="#MPI.API.MPI_Ialltoall_c-NTuple{8, Any}"><code>MPI.API.MPI_Ialltoall_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ialltoall_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)</code></pre><ul><li><code>MPI_Ialltoall_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ialltoall_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ialltoall_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3306-L3310">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ialltoallv-NTuple{10, Any}" href="#MPI.API.MPI_Ialltoallv-NTuple{10, Any}"><code>MPI.API.MPI_Ialltoallv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ialltoallv(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request)</code></pre><ul><li><code>MPI_Ialltoallv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ialltoallv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ialltoallv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L480-L484">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ialltoallv_c-NTuple{10, Any}" href="#MPI.API.MPI_Ialltoallv_c-NTuple{10, Any}"><code>MPI.API.MPI_Ialltoallv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ialltoallv_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request)</code></pre><ul><li><code>MPI_Ialltoallv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ialltoallv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ialltoallv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3315-L3319">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ialltoallw-NTuple{10, Any}" href="#MPI.API.MPI_Ialltoallw-NTuple{10, Any}"><code>MPI.API.MPI_Ialltoallw</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ialltoallw(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request)</code></pre><ul><li><code>MPI_Ialltoallw</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ialltoallw.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ialltoallw.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L489-L493">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ialltoallw_c-NTuple{10, Any}" href="#MPI.API.MPI_Ialltoallw_c-NTuple{10, Any}"><code>MPI.API.MPI_Ialltoallw_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ialltoallw_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request)</code></pre><ul><li><code>MPI_Ialltoallw_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ialltoallw_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ialltoallw_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3324-L3328">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ibarrier-Tuple{Any, Any}" href="#MPI.API.MPI_Ibarrier-Tuple{Any, Any}"><code>MPI.API.MPI_Ibarrier</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ibarrier(comm, request)</code></pre><ul><li><code>MPI_Ibarrier</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ibarrier.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ibarrier.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L498-L502">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ibcast-NTuple{6, Any}" href="#MPI.API.MPI_Ibcast-NTuple{6, Any}"><code>MPI.API.MPI_Ibcast</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ibcast(buffer, count, datatype, root, comm, request)</code></pre><ul><li><code>MPI_Ibcast</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ibcast.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ibcast.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L507-L511">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ibcast_c-NTuple{6, Any}" href="#MPI.API.MPI_Ibcast_c-NTuple{6, Any}"><code>MPI.API.MPI_Ibcast_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ibcast_c(buffer, count, datatype, root, comm, request)</code></pre><ul><li><code>MPI_Ibcast_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ibcast_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ibcast_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3333-L3337">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ibsend-NTuple{7, Any}" href="#MPI.API.MPI_Ibsend-NTuple{7, Any}"><code>MPI.API.MPI_Ibsend</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ibsend(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Ibsend</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ibsend.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ibsend.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2091-L2095">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ibsend_c-NTuple{7, Any}" href="#MPI.API.MPI_Ibsend_c-NTuple{7, Any}"><code>MPI.API.MPI_Ibsend_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ibsend_c(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Ibsend_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ibsend_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ibsend_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3936-L3940">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Iexscan-NTuple{7, Any}" href="#MPI.API.MPI_Iexscan-NTuple{7, Any}"><code>MPI.API.MPI_Iexscan</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Iexscan(sendbuf, recvbuf, count, datatype, op, comm, request)</code></pre><ul><li><code>MPI_Iexscan</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iexscan.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iexscan.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L516-L520">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Iexscan_c-NTuple{7, Any}" href="#MPI.API.MPI_Iexscan_c-NTuple{7, Any}"><code>MPI.API.MPI_Iexscan_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Iexscan_c(sendbuf, recvbuf, count, datatype, op, comm, request)</code></pre><ul><li><code>MPI_Iexscan_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iexscan_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iexscan_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3342-L3346">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Igather-NTuple{9, Any}" href="#MPI.API.MPI_Igather-NTuple{9, Any}"><code>MPI.API.MPI_Igather</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Igather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request)</code></pre><ul><li><code>MPI_Igather</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Igather.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Igather.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L525-L529">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Igather_c-NTuple{9, Any}" href="#MPI.API.MPI_Igather_c-NTuple{9, Any}"><code>MPI.API.MPI_Igather_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Igather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request)</code></pre><ul><li><code>MPI_Igather_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Igather_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Igather_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3351-L3355">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Igatherv-NTuple{10, Any}" href="#MPI.API.MPI_Igatherv-NTuple{10, Any}"><code>MPI.API.MPI_Igatherv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Igatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, request)</code></pre><ul><li><code>MPI_Igatherv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Igatherv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Igatherv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L534-L538">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Igatherv_c-NTuple{10, Any}" href="#MPI.API.MPI_Igatherv_c-NTuple{10, Any}"><code>MPI.API.MPI_Igatherv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Igatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, request)</code></pre><ul><li><code>MPI_Igatherv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Igatherv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Igatherv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3360-L3364">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Improbe-NTuple{6, Any}" href="#MPI.API.MPI_Improbe-NTuple{6, Any}"><code>MPI.API.MPI_Improbe</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Improbe(source, tag, comm, flag, message, status)</code></pre><ul><li><code>MPI_Improbe</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Improbe.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Improbe.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2100-L2104">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Imrecv-NTuple{5, Any}" href="#MPI.API.MPI_Imrecv-NTuple{5, Any}"><code>MPI.API.MPI_Imrecv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Imrecv(buf, count, datatype, message, request)</code></pre><ul><li><code>MPI_Imrecv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Imrecv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Imrecv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2109-L2113">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Imrecv_c-NTuple{5, Any}" href="#MPI.API.MPI_Imrecv_c-NTuple{5, Any}"><code>MPI.API.MPI_Imrecv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Imrecv_c(buf, count, datatype, message, request)</code></pre><ul><li><code>MPI_Imrecv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Imrecv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Imrecv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3945-L3949">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ineighbor_allgather-NTuple{8, Any}" href="#MPI.API.MPI_Ineighbor_allgather-NTuple{8, Any}"><code>MPI.API.MPI_Ineighbor_allgather</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ineighbor_allgather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)</code></pre><ul><li><code>MPI_Ineighbor_allgather</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ineighbor_allgather.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ineighbor_allgather.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L543-L547">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ineighbor_allgather_c-NTuple{8, Any}" href="#MPI.API.MPI_Ineighbor_allgather_c-NTuple{8, Any}"><code>MPI.API.MPI_Ineighbor_allgather_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ineighbor_allgather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)</code></pre><ul><li><code>MPI_Ineighbor_allgather_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ineighbor_allgather_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ineighbor_allgather_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3369-L3373">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ineighbor_allgatherv-NTuple{9, Any}" href="#MPI.API.MPI_Ineighbor_allgatherv-NTuple{9, Any}"><code>MPI.API.MPI_Ineighbor_allgatherv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ineighbor_allgatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request)</code></pre><ul><li><code>MPI_Ineighbor_allgatherv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ineighbor_allgatherv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ineighbor_allgatherv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L552-L556">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ineighbor_allgatherv_c-NTuple{9, Any}" href="#MPI.API.MPI_Ineighbor_allgatherv_c-NTuple{9, Any}"><code>MPI.API.MPI_Ineighbor_allgatherv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ineighbor_allgatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request)</code></pre><ul><li><code>MPI_Ineighbor_allgatherv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ineighbor_allgatherv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ineighbor_allgatherv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3378-L3382">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ineighbor_alltoall-NTuple{8, Any}" href="#MPI.API.MPI_Ineighbor_alltoall-NTuple{8, Any}"><code>MPI.API.MPI_Ineighbor_alltoall</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ineighbor_alltoall(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)</code></pre><ul><li><code>MPI_Ineighbor_alltoall</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ineighbor_alltoall.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ineighbor_alltoall.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L561-L565">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ineighbor_alltoall_c-NTuple{8, Any}" href="#MPI.API.MPI_Ineighbor_alltoall_c-NTuple{8, Any}"><code>MPI.API.MPI_Ineighbor_alltoall_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ineighbor_alltoall_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)</code></pre><ul><li><code>MPI_Ineighbor_alltoall_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ineighbor_alltoall_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ineighbor_alltoall_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3387-L3391">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ineighbor_alltoallv-NTuple{10, Any}" href="#MPI.API.MPI_Ineighbor_alltoallv-NTuple{10, Any}"><code>MPI.API.MPI_Ineighbor_alltoallv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ineighbor_alltoallv(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request)</code></pre><ul><li><code>MPI_Ineighbor_alltoallv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ineighbor_alltoallv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ineighbor_alltoallv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L570-L574">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ineighbor_alltoallv_c-NTuple{10, Any}" href="#MPI.API.MPI_Ineighbor_alltoallv_c-NTuple{10, Any}"><code>MPI.API.MPI_Ineighbor_alltoallv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ineighbor_alltoallv_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request)</code></pre><ul><li><code>MPI_Ineighbor_alltoallv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ineighbor_alltoallv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ineighbor_alltoallv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3396-L3400">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ineighbor_alltoallw-NTuple{10, Any}" href="#MPI.API.MPI_Ineighbor_alltoallw-NTuple{10, Any}"><code>MPI.API.MPI_Ineighbor_alltoallw</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ineighbor_alltoallw(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request)</code></pre><ul><li><code>MPI_Ineighbor_alltoallw</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ineighbor_alltoallw.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ineighbor_alltoallw.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L579-L583">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ineighbor_alltoallw_c-NTuple{10, Any}" href="#MPI.API.MPI_Ineighbor_alltoallw_c-NTuple{10, Any}"><code>MPI.API.MPI_Ineighbor_alltoallw_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ineighbor_alltoallw_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request)</code></pre><ul><li><code>MPI_Ineighbor_alltoallw_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ineighbor_alltoallw_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ineighbor_alltoallw_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3405-L3409">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Info_create-Tuple{Any}" href="#MPI.API.MPI_Info_create-Tuple{Any}"><code>MPI.API.MPI_Info_create</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Info_create(info)</code></pre><ul><li><code>MPI_Info_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Info_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Info_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1749-L1753">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Info_create_env-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Info_create_env-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Info_create_env</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Info_create_env(argc, argv, info)</code></pre><ul><li><code>MPI_Info_create_env</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Info_create_env.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Info_create_env.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1758-L1762">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Info_delete-Tuple{Any, Any}" href="#MPI.API.MPI_Info_delete-Tuple{Any, Any}"><code>MPI.API.MPI_Info_delete</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Info_delete(info, key)</code></pre><ul><li><code>MPI_Info_delete</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Info_delete.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Info_delete.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1767-L1771">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Info_dup-Tuple{Any, Any}" href="#MPI.API.MPI_Info_dup-Tuple{Any, Any}"><code>MPI.API.MPI_Info_dup</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Info_dup(info, newinfo)</code></pre><ul><li><code>MPI_Info_dup</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Info_dup.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Info_dup.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1776-L1780">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Info_free-Tuple{Any}" href="#MPI.API.MPI_Info_free-Tuple{Any}"><code>MPI.API.MPI_Info_free</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Info_free(info)</code></pre><ul><li><code>MPI_Info_free</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Info_free.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Info_free.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1785-L1789">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Info_get-NTuple{5, Any}" href="#MPI.API.MPI_Info_get-NTuple{5, Any}"><code>MPI.API.MPI_Info_get</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Info_get(info, key, valuelen, value, flag)</code></pre><ul><li><code>MPI_Info_get</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Info_get.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Info_get.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1794-L1798">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Info_get_nkeys-Tuple{Any, Any}" href="#MPI.API.MPI_Info_get_nkeys-Tuple{Any, Any}"><code>MPI.API.MPI_Info_get_nkeys</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Info_get_nkeys(info, nkeys)</code></pre><ul><li><code>MPI_Info_get_nkeys</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Info_get_nkeys.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Info_get_nkeys.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1803-L1807">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Info_get_nthkey-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Info_get_nthkey-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Info_get_nthkey</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Info_get_nthkey(info, n, key)</code></pre><ul><li><code>MPI_Info_get_nthkey</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Info_get_nthkey.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Info_get_nthkey.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1812-L1816">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Info_get_string-NTuple{5, Any}" href="#MPI.API.MPI_Info_get_string-NTuple{5, Any}"><code>MPI.API.MPI_Info_get_string</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Info_get_string(info, key, buflen, value, flag)</code></pre><ul><li><code>MPI_Info_get_string</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Info_get_string.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Info_get_string.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1821-L1825">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Info_get_valuelen-NTuple{4, Any}" href="#MPI.API.MPI_Info_get_valuelen-NTuple{4, Any}"><code>MPI.API.MPI_Info_get_valuelen</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Info_get_valuelen(info, key, valuelen, flag)</code></pre><ul><li><code>MPI_Info_get_valuelen</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Info_get_valuelen.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Info_get_valuelen.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1830-L1834">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Info_set-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Info_set-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Info_set</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Info_set(info, key, value)</code></pre><ul><li><code>MPI_Info_set</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Info_set.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Info_set.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1839-L1843">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Init-Tuple{Any, Any}" href="#MPI.API.MPI_Init-Tuple{Any, Any}"><code>MPI.API.MPI_Init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Init(argc, argv)</code></pre><ul><li><code>MPI_Init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1884-L1888">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Init_thread-NTuple{4, Any}" href="#MPI.API.MPI_Init_thread-NTuple{4, Any}"><code>MPI.API.MPI_Init_thread</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Init_thread(argc, argv, required, provided)</code></pre><ul><li><code>MPI_Init_thread</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Init_thread.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Init_thread.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1893-L1897">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Initialized-Tuple{Any}" href="#MPI.API.MPI_Initialized-Tuple{Any}"><code>MPI.API.MPI_Initialized</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Initialized(flag)</code></pre><ul><li><code>MPI_Initialized</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Initialized.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Initialized.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1902-L1906">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Intercomm_create-NTuple{6, Any}" href="#MPI.API.MPI_Intercomm_create-NTuple{6, Any}"><code>MPI.API.MPI_Intercomm_create</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Intercomm_create(local_comm, local_leader, peer_comm, remote_leader, tag, newintercomm)</code></pre><ul><li><code>MPI_Intercomm_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Intercomm_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Intercomm_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1029-L1033">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Intercomm_create_from_groups-NTuple{8, Any}" href="#MPI.API.MPI_Intercomm_create_from_groups-NTuple{8, Any}"><code>MPI.API.MPI_Intercomm_create_from_groups</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Intercomm_create_from_groups(local_group, local_leader, remote_group, remote_leader, stringtag, info, errhandler, newintercomm)</code></pre><ul><li><code>MPI_Intercomm_create_from_groups</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Intercomm_create_from_groups.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Intercomm_create_from_groups.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1038-L1042">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Intercomm_merge-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Intercomm_merge-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Intercomm_merge</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Intercomm_merge(intercomm, high, newintracomm)</code></pre><ul><li><code>MPI_Intercomm_merge</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Intercomm_merge.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Intercomm_merge.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1047-L1051">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Iprobe-NTuple{5, Any}" href="#MPI.API.MPI_Iprobe-NTuple{5, Any}"><code>MPI.API.MPI_Iprobe</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Iprobe(source, tag, comm, flag, status)</code></pre><ul><li><code>MPI_Iprobe</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iprobe.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iprobe.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2118-L2122">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Irecv-NTuple{7, Any}" href="#MPI.API.MPI_Irecv-NTuple{7, Any}"><code>MPI.API.MPI_Irecv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Irecv(buf, count, datatype, source, tag, comm, request)</code></pre><ul><li><code>MPI_Irecv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Irecv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Irecv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2127-L2131">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Irecv_c-NTuple{7, Any}" href="#MPI.API.MPI_Irecv_c-NTuple{7, Any}"><code>MPI.API.MPI_Irecv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Irecv_c(buf, count, datatype, source, tag, comm, request)</code></pre><ul><li><code>MPI_Irecv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Irecv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Irecv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3954-L3958">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ireduce-NTuple{8, Any}" href="#MPI.API.MPI_Ireduce-NTuple{8, Any}"><code>MPI.API.MPI_Ireduce</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ireduce(sendbuf, recvbuf, count, datatype, op, root, comm, request)</code></pre><ul><li><code>MPI_Ireduce</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ireduce.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ireduce.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L588-L592">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ireduce_c-NTuple{8, Any}" href="#MPI.API.MPI_Ireduce_c-NTuple{8, Any}"><code>MPI.API.MPI_Ireduce_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ireduce_c(sendbuf, recvbuf, count, datatype, op, root, comm, request)</code></pre><ul><li><code>MPI_Ireduce_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ireduce_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ireduce_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3414-L3418">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ireduce_scatter-NTuple{7, Any}" href="#MPI.API.MPI_Ireduce_scatter-NTuple{7, Any}"><code>MPI.API.MPI_Ireduce_scatter</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ireduce_scatter(sendbuf, recvbuf, recvcounts, datatype, op, comm, request)</code></pre><ul><li><code>MPI_Ireduce_scatter</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ireduce_scatter.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ireduce_scatter.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L597-L601">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ireduce_scatter_block-NTuple{7, Any}" href="#MPI.API.MPI_Ireduce_scatter_block-NTuple{7, Any}"><code>MPI.API.MPI_Ireduce_scatter_block</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ireduce_scatter_block(sendbuf, recvbuf, recvcount, datatype, op, comm, request)</code></pre><ul><li><code>MPI_Ireduce_scatter_block</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ireduce_scatter_block.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ireduce_scatter_block.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L606-L610">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ireduce_scatter_block_c-NTuple{7, Any}" href="#MPI.API.MPI_Ireduce_scatter_block_c-NTuple{7, Any}"><code>MPI.API.MPI_Ireduce_scatter_block_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ireduce_scatter_block_c(sendbuf, recvbuf, recvcount, datatype, op, comm, request)</code></pre><ul><li><code>MPI_Ireduce_scatter_block_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ireduce_scatter_block_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ireduce_scatter_block_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3432-L3436">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ireduce_scatter_c-NTuple{7, Any}" href="#MPI.API.MPI_Ireduce_scatter_c-NTuple{7, Any}"><code>MPI.API.MPI_Ireduce_scatter_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ireduce_scatter_c(sendbuf, recvbuf, recvcounts, datatype, op, comm, request)</code></pre><ul><li><code>MPI_Ireduce_scatter_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ireduce_scatter_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ireduce_scatter_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3423-L3427">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Irsend-NTuple{7, Any}" href="#MPI.API.MPI_Irsend-NTuple{7, Any}"><code>MPI.API.MPI_Irsend</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Irsend(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Irsend</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Irsend.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Irsend.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2136-L2140">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Irsend_c-NTuple{7, Any}" href="#MPI.API.MPI_Irsend_c-NTuple{7, Any}"><code>MPI.API.MPI_Irsend_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Irsend_c(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Irsend_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Irsend_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Irsend_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3963-L3967">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Is_thread_main-Tuple{Any}" href="#MPI.API.MPI_Is_thread_main-Tuple{Any}"><code>MPI.API.MPI_Is_thread_main</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Is_thread_main(flag)</code></pre><ul><li><code>MPI_Is_thread_main</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Is_thread_main.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Is_thread_main.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1911-L1915">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Iscan-NTuple{7, Any}" href="#MPI.API.MPI_Iscan-NTuple{7, Any}"><code>MPI.API.MPI_Iscan</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Iscan(sendbuf, recvbuf, count, datatype, op, comm, request)</code></pre><ul><li><code>MPI_Iscan</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iscan.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iscan.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L615-L619">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Iscan_c-NTuple{7, Any}" href="#MPI.API.MPI_Iscan_c-NTuple{7, Any}"><code>MPI.API.MPI_Iscan_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Iscan_c(sendbuf, recvbuf, count, datatype, op, comm, request)</code></pre><ul><li><code>MPI_Iscan_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iscan_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iscan_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3441-L3445">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Iscatter-NTuple{9, Any}" href="#MPI.API.MPI_Iscatter-NTuple{9, Any}"><code>MPI.API.MPI_Iscatter</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Iscatter(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request)</code></pre><ul><li><code>MPI_Iscatter</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iscatter.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iscatter.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L624-L628">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Iscatter_c-NTuple{9, Any}" href="#MPI.API.MPI_Iscatter_c-NTuple{9, Any}"><code>MPI.API.MPI_Iscatter_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Iscatter_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request)</code></pre><ul><li><code>MPI_Iscatter_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iscatter_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iscatter_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3450-L3454">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Iscatterv-NTuple{10, Any}" href="#MPI.API.MPI_Iscatterv-NTuple{10, Any}"><code>MPI.API.MPI_Iscatterv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Iscatterv(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, request)</code></pre><ul><li><code>MPI_Iscatterv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iscatterv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iscatterv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L633-L637">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Iscatterv_c-NTuple{10, Any}" href="#MPI.API.MPI_Iscatterv_c-NTuple{10, Any}"><code>MPI.API.MPI_Iscatterv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Iscatterv_c(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, request)</code></pre><ul><li><code>MPI_Iscatterv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iscatterv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iscatterv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3459-L3463">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Isend-NTuple{7, Any}" href="#MPI.API.MPI_Isend-NTuple{7, Any}"><code>MPI.API.MPI_Isend</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Isend(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Isend</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Isend.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Isend.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2145-L2149">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Isend_c-NTuple{7, Any}" href="#MPI.API.MPI_Isend_c-NTuple{7, Any}"><code>MPI.API.MPI_Isend_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Isend_c(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Isend_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Isend_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Isend_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3972-L3976">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Isendrecv-NTuple{12, Any}" href="#MPI.API.MPI_Isendrecv-NTuple{12, Any}"><code>MPI.API.MPI_Isendrecv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Isendrecv(sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, request)</code></pre><ul><li><code>MPI_Isendrecv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Isendrecv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Isendrecv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2154-L2158">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Isendrecv_c-NTuple{12, Any}" href="#MPI.API.MPI_Isendrecv_c-NTuple{12, Any}"><code>MPI.API.MPI_Isendrecv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Isendrecv_c(sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, request)</code></pre><ul><li><code>MPI_Isendrecv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Isendrecv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Isendrecv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3981-L3985">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Isendrecv_replace-NTuple{9, Any}" href="#MPI.API.MPI_Isendrecv_replace-NTuple{9, Any}"><code>MPI.API.MPI_Isendrecv_replace</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Isendrecv_replace(buf, count, datatype, dest, sendtag, source, recvtag, comm, request)</code></pre><ul><li><code>MPI_Isendrecv_replace</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Isendrecv_replace.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Isendrecv_replace.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2163-L2167">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Isendrecv_replace_c-NTuple{9, Any}" href="#MPI.API.MPI_Isendrecv_replace_c-NTuple{9, Any}"><code>MPI.API.MPI_Isendrecv_replace_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Isendrecv_replace_c(buf, count, datatype, dest, sendtag, source, recvtag, comm, request)</code></pre><ul><li><code>MPI_Isendrecv_replace_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Isendrecv_replace_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Isendrecv_replace_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3990-L3994">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Issend-NTuple{7, Any}" href="#MPI.API.MPI_Issend-NTuple{7, Any}"><code>MPI.API.MPI_Issend</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Issend(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Issend</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Issend.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Issend.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2172-L2176">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Issend_c-NTuple{7, Any}" href="#MPI.API.MPI_Issend_c-NTuple{7, Any}"><code>MPI.API.MPI_Issend_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Issend_c(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Issend_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Issend_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Issend_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3999-L4003">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Keyval_create-NTuple{4, Any}" href="#MPI.API.MPI_Keyval_create-NTuple{4, Any}"><code>MPI.API.MPI_Keyval_create</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Keyval_create(copy_fn, delete_fn, keyval, extra_state)</code></pre><ul><li><code>MPI_Keyval_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Keyval_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Keyval_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L138-L142">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Keyval_free-Tuple{Any}" href="#MPI.API.MPI_Keyval_free-Tuple{Any}"><code>MPI.API.MPI_Keyval_free</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Keyval_free(keyval)</code></pre><ul><li><code>MPI_Keyval_free</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Keyval_free.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Keyval_free.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L147-L151">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Lookup_name-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Lookup_name-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Lookup_name</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Lookup_name(service_name, info, port_name)</code></pre><ul><li><code>MPI_Lookup_name</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Lookup_name.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Lookup_name.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2865-L2869">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Mprobe-NTuple{5, Any}" href="#MPI.API.MPI_Mprobe-NTuple{5, Any}"><code>MPI.API.MPI_Mprobe</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Mprobe(source, tag, comm, message, status)</code></pre><ul><li><code>MPI_Mprobe</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Mprobe.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Mprobe.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2181-L2185">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Mrecv-NTuple{5, Any}" href="#MPI.API.MPI_Mrecv-NTuple{5, Any}"><code>MPI.API.MPI_Mrecv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Mrecv(buf, count, datatype, message, status)</code></pre><ul><li><code>MPI_Mrecv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Mrecv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Mrecv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2190-L2194">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Mrecv_c-NTuple{5, Any}" href="#MPI.API.MPI_Mrecv_c-NTuple{5, Any}"><code>MPI.API.MPI_Mrecv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Mrecv_c(buf, count, datatype, message, status)</code></pre><ul><li><code>MPI_Mrecv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Mrecv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Mrecv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4008-L4012">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_allgather-NTuple{7, Any}" href="#MPI.API.MPI_Neighbor_allgather-NTuple{7, Any}"><code>MPI.API.MPI_Neighbor_allgather</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_allgather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)</code></pre><ul><li><code>MPI_Neighbor_allgather</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_allgather.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_allgather.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L642-L646">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_allgather_c-NTuple{7, Any}" href="#MPI.API.MPI_Neighbor_allgather_c-NTuple{7, Any}"><code>MPI.API.MPI_Neighbor_allgather_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_allgather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)</code></pre><ul><li><code>MPI_Neighbor_allgather_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_allgather_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_allgather_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3468-L3472">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_allgather_init-NTuple{9, Any}" href="#MPI.API.MPI_Neighbor_allgather_init-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_allgather_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_allgather_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Neighbor_allgather_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_allgather_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_allgather_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L651-L655">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_allgather_init_c-NTuple{9, Any}" href="#MPI.API.MPI_Neighbor_allgather_init_c-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_allgather_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_allgather_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Neighbor_allgather_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_allgather_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_allgather_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3477-L3481">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_allgatherv-NTuple{8, Any}" href="#MPI.API.MPI_Neighbor_allgatherv-NTuple{8, Any}"><code>MPI.API.MPI_Neighbor_allgatherv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_allgatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm)</code></pre><ul><li><code>MPI_Neighbor_allgatherv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_allgatherv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_allgatherv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L660-L664">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_allgatherv_c-NTuple{8, Any}" href="#MPI.API.MPI_Neighbor_allgatherv_c-NTuple{8, Any}"><code>MPI.API.MPI_Neighbor_allgatherv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_allgatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm)</code></pre><ul><li><code>MPI_Neighbor_allgatherv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_allgatherv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_allgatherv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3486-L3490">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_allgatherv_init-NTuple{10, Any}" href="#MPI.API.MPI_Neighbor_allgatherv_init-NTuple{10, Any}"><code>MPI.API.MPI_Neighbor_allgatherv_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_allgatherv_init(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Neighbor_allgatherv_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_allgatherv_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_allgatherv_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L669-L673">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_allgatherv_init_c-NTuple{10, Any}" href="#MPI.API.MPI_Neighbor_allgatherv_init_c-NTuple{10, Any}"><code>MPI.API.MPI_Neighbor_allgatherv_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_allgatherv_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Neighbor_allgatherv_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_allgatherv_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_allgatherv_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3495-L3499">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_alltoall-NTuple{7, Any}" href="#MPI.API.MPI_Neighbor_alltoall-NTuple{7, Any}"><code>MPI.API.MPI_Neighbor_alltoall</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_alltoall(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)</code></pre><ul><li><code>MPI_Neighbor_alltoall</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_alltoall.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_alltoall.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L678-L682">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_alltoall_c-NTuple{7, Any}" href="#MPI.API.MPI_Neighbor_alltoall_c-NTuple{7, Any}"><code>MPI.API.MPI_Neighbor_alltoall_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_alltoall_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)</code></pre><ul><li><code>MPI_Neighbor_alltoall_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_alltoall_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_alltoall_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3504-L3508">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_alltoall_init-NTuple{9, Any}" href="#MPI.API.MPI_Neighbor_alltoall_init-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_alltoall_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_alltoall_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Neighbor_alltoall_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_alltoall_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_alltoall_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L687-L691">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_alltoall_init_c-NTuple{9, Any}" href="#MPI.API.MPI_Neighbor_alltoall_init_c-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_alltoall_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_alltoall_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Neighbor_alltoall_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_alltoall_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_alltoall_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3513-L3517">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_alltoallv-NTuple{9, Any}" href="#MPI.API.MPI_Neighbor_alltoallv-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_alltoallv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_alltoallv(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm)</code></pre><ul><li><code>MPI_Neighbor_alltoallv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_alltoallv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_alltoallv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L696-L700">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_alltoallv_c-NTuple{9, Any}" href="#MPI.API.MPI_Neighbor_alltoallv_c-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_alltoallv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_alltoallv_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm)</code></pre><ul><li><code>MPI_Neighbor_alltoallv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_alltoallv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_alltoallv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3522-L3526">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_alltoallv_init-NTuple{11, Any}" href="#MPI.API.MPI_Neighbor_alltoallv_init-NTuple{11, Any}"><code>MPI.API.MPI_Neighbor_alltoallv_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_alltoallv_init(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Neighbor_alltoallv_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_alltoallv_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_alltoallv_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L705-L709">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_alltoallv_init_c-NTuple{11, Any}" href="#MPI.API.MPI_Neighbor_alltoallv_init_c-NTuple{11, Any}"><code>MPI.API.MPI_Neighbor_alltoallv_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_alltoallv_init_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Neighbor_alltoallv_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_alltoallv_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_alltoallv_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3531-L3535">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_alltoallw-NTuple{9, Any}" href="#MPI.API.MPI_Neighbor_alltoallw-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_alltoallw</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_alltoallw(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm)</code></pre><ul><li><code>MPI_Neighbor_alltoallw</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_alltoallw.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_alltoallw.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L714-L718">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_alltoallw_c-NTuple{9, Any}" href="#MPI.API.MPI_Neighbor_alltoallw_c-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_alltoallw_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_alltoallw_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm)</code></pre><ul><li><code>MPI_Neighbor_alltoallw_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_alltoallw_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_alltoallw_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3540-L3544">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_alltoallw_init-NTuple{11, Any}" href="#MPI.API.MPI_Neighbor_alltoallw_init-NTuple{11, Any}"><code>MPI.API.MPI_Neighbor_alltoallw_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_alltoallw_init(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request)</code></pre><ul><li><code>MPI_Neighbor_alltoallw_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_alltoallw_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_alltoallw_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L723-L727">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_alltoallw_init_c-NTuple{11, Any}" href="#MPI.API.MPI_Neighbor_alltoallw_init_c-NTuple{11, Any}"><code>MPI.API.MPI_Neighbor_alltoallw_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_alltoallw_init_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request)</code></pre><ul><li><code>MPI_Neighbor_alltoallw_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_alltoallw_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_alltoallw_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3549-L3553">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Op_commutative-Tuple{Any, Any}" href="#MPI.API.MPI_Op_commutative-Tuple{Any, Any}"><code>MPI.API.MPI_Op_commutative</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Op_commutative(op, commute)</code></pre><ul><li><code>MPI_Op_commutative</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Op_commutative.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Op_commutative.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1974-L1978">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Op_create-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Op_create-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Op_create</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Op_create(user_fn, commute, op)</code></pre><ul><li><code>MPI_Op_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Op_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Op_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1983-L1987">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Op_create_c-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Op_create_c-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Op_create_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Op_create_c(user_fn, commute, op)</code></pre><ul><li><code>MPI_Op_create_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Op_create_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Op_create_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3891-L3895">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Op_free-Tuple{Any}" href="#MPI.API.MPI_Op_free-Tuple{Any}"><code>MPI.API.MPI_Op_free</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Op_free(op)</code></pre><ul><li><code>MPI_Op_free</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Op_free.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Op_free.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1992-L1996">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Open_port-Tuple{Any, Any}" href="#MPI.API.MPI_Open_port-Tuple{Any, Any}"><code>MPI.API.MPI_Open_port</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Open_port(info, port_name)</code></pre><ul><li><code>MPI_Open_port</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Open_port.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Open_port.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2874-L2878">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Pack-NTuple{7, Any}" href="#MPI.API.MPI_Pack-NTuple{7, Any}"><code>MPI.API.MPI_Pack</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Pack(inbuf, incount, datatype, outbuf, outsize, position, comm)</code></pre><ul><li><code>MPI_Pack</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Pack.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Pack.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1092-L1096">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Pack_c-NTuple{7, Any}" href="#MPI.API.MPI_Pack_c-NTuple{7, Any}"><code>MPI.API.MPI_Pack_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Pack_c(inbuf, incount, datatype, outbuf, outsize, position, comm)</code></pre><ul><li><code>MPI_Pack_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Pack_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Pack_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3693-L3697">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Pack_external-NTuple{7, Any}" href="#MPI.API.MPI_Pack_external-NTuple{7, Any}"><code>MPI.API.MPI_Pack_external</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Pack_external(datarep, inbuf, incount, datatype, outbuf, outsize, position)</code></pre><ul><li><code>MPI_Pack_external</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Pack_external.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Pack_external.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1101-L1105">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Pack_external_c-NTuple{7, Any}" href="#MPI.API.MPI_Pack_external_c-NTuple{7, Any}"><code>MPI.API.MPI_Pack_external_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Pack_external_c(datarep, inbuf, incount, datatype, outbuf, outsize, position)</code></pre><ul><li><code>MPI_Pack_external_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Pack_external_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Pack_external_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3702-L3706">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Pack_external_size-NTuple{4, Any}" href="#MPI.API.MPI_Pack_external_size-NTuple{4, Any}"><code>MPI.API.MPI_Pack_external_size</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Pack_external_size(datarep, incount, datatype, size)</code></pre><ul><li><code>MPI_Pack_external_size</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Pack_external_size.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Pack_external_size.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1110-L1114">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Pack_external_size_c-NTuple{4, Any}" href="#MPI.API.MPI_Pack_external_size_c-NTuple{4, Any}"><code>MPI.API.MPI_Pack_external_size_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Pack_external_size_c(datarep, incount, datatype, size)</code></pre><ul><li><code>MPI_Pack_external_size_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Pack_external_size_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Pack_external_size_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3711-L3715">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Pack_size-NTuple{4, Any}" href="#MPI.API.MPI_Pack_size-NTuple{4, Any}"><code>MPI.API.MPI_Pack_size</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Pack_size(incount, datatype, comm, size)</code></pre><ul><li><code>MPI_Pack_size</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Pack_size.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Pack_size.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1119-L1123">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Pack_size_c-NTuple{4, Any}" href="#MPI.API.MPI_Pack_size_c-NTuple{4, Any}"><code>MPI.API.MPI_Pack_size_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Pack_size_c(incount, datatype, comm, size)</code></pre><ul><li><code>MPI_Pack_size_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Pack_size_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Pack_size_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3720-L3724">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Parrived-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Parrived-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Parrived</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Parrived(request, partition, flag)</code></pre><ul><li><code>MPI_Parrived</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Parrived.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Parrived.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2001-L2005">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Pready-Tuple{Any, Any}" href="#MPI.API.MPI_Pready-Tuple{Any, Any}"><code>MPI.API.MPI_Pready</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Pready(partition, request)</code></pre><ul><li><code>MPI_Pready</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Pready.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Pready.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2010-L2014">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Pready_list-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Pready_list-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Pready_list</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Pready_list(length, array_of_partitions, request)</code></pre><ul><li><code>MPI_Pready_list</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Pready_list.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Pready_list.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2019-L2023">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Pready_range-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Pready_range-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Pready_range</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Pready_range(partition_low, partition_high, request)</code></pre><ul><li><code>MPI_Pready_range</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Pready_range.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Pready_range.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2028-L2032">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Precv_init-NTuple{9, Any}" href="#MPI.API.MPI_Precv_init-NTuple{9, Any}"><code>MPI.API.MPI_Precv_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Precv_init(buf, partitions, count, datatype, dest, tag, comm, info, request)</code></pre><ul><li><code>MPI_Precv_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Precv_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Precv_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2037-L2041">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Probe-NTuple{4, Any}" href="#MPI.API.MPI_Probe-NTuple{4, Any}"><code>MPI.API.MPI_Probe</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Probe(source, tag, comm, status)</code></pre><ul><li><code>MPI_Probe</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Probe.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Probe.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2199-L2203">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Psend_init-NTuple{9, Any}" href="#MPI.API.MPI_Psend_init-NTuple{9, Any}"><code>MPI.API.MPI_Psend_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Psend_init(buf, partitions, count, datatype, dest, tag, comm, info, request)</code></pre><ul><li><code>MPI_Psend_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Psend_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Psend_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2046-L2050">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Publish_name-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Publish_name-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Publish_name</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Publish_name(service_name, info, port_name)</code></pre><ul><li><code>MPI_Publish_name</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Publish_name.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Publish_name.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2883-L2887">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Put-NTuple{8, Any}" href="#MPI.API.MPI_Put-NTuple{8, Any}"><code>MPI.API.MPI_Put</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Put(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win)</code></pre><ul><li><code>MPI_Put</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Put.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Put.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2496-L2500">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Put_c-NTuple{8, Any}" href="#MPI.API.MPI_Put_c-NTuple{8, Any}"><code>MPI.API.MPI_Put_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Put_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win)</code></pre><ul><li><code>MPI_Put_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Put_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Put_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4134-L4138">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Query_thread-Tuple{Any}" href="#MPI.API.MPI_Query_thread-Tuple{Any}"><code>MPI.API.MPI_Query_thread</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Query_thread(provided)</code></pre><ul><li><code>MPI_Query_thread</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Query_thread.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Query_thread.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1920-L1924">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Raccumulate-NTuple{10, Any}" href="#MPI.API.MPI_Raccumulate-NTuple{10, Any}"><code>MPI.API.MPI_Raccumulate</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Raccumulate(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request)</code></pre><ul><li><code>MPI_Raccumulate</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Raccumulate.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Raccumulate.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2505-L2509">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Raccumulate_c-NTuple{10, Any}" href="#MPI.API.MPI_Raccumulate_c-NTuple{10, Any}"><code>MPI.API.MPI_Raccumulate_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Raccumulate_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request)</code></pre><ul><li><code>MPI_Raccumulate_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Raccumulate_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Raccumulate_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4143-L4147">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Recv-NTuple{7, Any}" href="#MPI.API.MPI_Recv-NTuple{7, Any}"><code>MPI.API.MPI_Recv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Recv(buf, count, datatype, source, tag, comm, status)</code></pre><ul><li><code>MPI_Recv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Recv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Recv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2208-L2212">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Recv_c-NTuple{7, Any}" href="#MPI.API.MPI_Recv_c-NTuple{7, Any}"><code>MPI.API.MPI_Recv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Recv_c(buf, count, datatype, source, tag, comm, status)</code></pre><ul><li><code>MPI_Recv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Recv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Recv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4017-L4021">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Recv_init-NTuple{7, Any}" href="#MPI.API.MPI_Recv_init-NTuple{7, Any}"><code>MPI.API.MPI_Recv_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Recv_init(buf, count, datatype, source, tag, comm, request)</code></pre><ul><li><code>MPI_Recv_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Recv_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Recv_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2217-L2221">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Recv_init_c-NTuple{7, Any}" href="#MPI.API.MPI_Recv_init_c-NTuple{7, Any}"><code>MPI.API.MPI_Recv_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Recv_init_c(buf, count, datatype, source, tag, comm, request)</code></pre><ul><li><code>MPI_Recv_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Recv_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Recv_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4026-L4030">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Reduce-NTuple{7, Any}" href="#MPI.API.MPI_Reduce-NTuple{7, Any}"><code>MPI.API.MPI_Reduce</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Reduce(sendbuf, recvbuf, count, datatype, op, root, comm)</code></pre><ul><li><code>MPI_Reduce</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L732-L736">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Reduce_c-NTuple{7, Any}" href="#MPI.API.MPI_Reduce_c-NTuple{7, Any}"><code>MPI.API.MPI_Reduce_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Reduce_c(sendbuf, recvbuf, count, datatype, op, root, comm)</code></pre><ul><li><code>MPI_Reduce_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3558-L3562">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Reduce_init-NTuple{9, Any}" href="#MPI.API.MPI_Reduce_init-NTuple{9, Any}"><code>MPI.API.MPI_Reduce_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Reduce_init(sendbuf, recvbuf, count, datatype, op, root, comm, info, request)</code></pre><ul><li><code>MPI_Reduce_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L741-L745">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Reduce_init_c-NTuple{9, Any}" href="#MPI.API.MPI_Reduce_init_c-NTuple{9, Any}"><code>MPI.API.MPI_Reduce_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Reduce_init_c(sendbuf, recvbuf, count, datatype, op, root, comm, info, request)</code></pre><ul><li><code>MPI_Reduce_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3567-L3571">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Reduce_local-NTuple{5, Any}" href="#MPI.API.MPI_Reduce_local-NTuple{5, Any}"><code>MPI.API.MPI_Reduce_local</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Reduce_local(inbuf, inoutbuf, count, datatype, op)</code></pre><ul><li><code>MPI_Reduce_local</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce_local.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce_local.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L750-L754">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Reduce_local_c-NTuple{5, Any}" href="#MPI.API.MPI_Reduce_local_c-NTuple{5, Any}"><code>MPI.API.MPI_Reduce_local_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Reduce_local_c(inbuf, inoutbuf, count, datatype, op)</code></pre><ul><li><code>MPI_Reduce_local_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce_local_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce_local_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3576-L3580">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Reduce_scatter-NTuple{6, Any}" href="#MPI.API.MPI_Reduce_scatter-NTuple{6, Any}"><code>MPI.API.MPI_Reduce_scatter</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Reduce_scatter(sendbuf, recvbuf, recvcounts, datatype, op, comm)</code></pre><ul><li><code>MPI_Reduce_scatter</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce_scatter.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce_scatter.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L759-L763">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Reduce_scatter_block-NTuple{6, Any}" href="#MPI.API.MPI_Reduce_scatter_block-NTuple{6, Any}"><code>MPI.API.MPI_Reduce_scatter_block</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Reduce_scatter_block(sendbuf, recvbuf, recvcount, datatype, op, comm)</code></pre><ul><li><code>MPI_Reduce_scatter_block</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce_scatter_block.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce_scatter_block.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L768-L772">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Reduce_scatter_block_c-NTuple{6, Any}" href="#MPI.API.MPI_Reduce_scatter_block_c-NTuple{6, Any}"><code>MPI.API.MPI_Reduce_scatter_block_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Reduce_scatter_block_c(sendbuf, recvbuf, recvcount, datatype, op, comm)</code></pre><ul><li><code>MPI_Reduce_scatter_block_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce_scatter_block_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce_scatter_block_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3594-L3598">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Reduce_scatter_block_init-NTuple{8, Any}" href="#MPI.API.MPI_Reduce_scatter_block_init-NTuple{8, Any}"><code>MPI.API.MPI_Reduce_scatter_block_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Reduce_scatter_block_init(sendbuf, recvbuf, recvcount, datatype, op, comm, info, request)</code></pre><ul><li><code>MPI_Reduce_scatter_block_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce_scatter_block_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce_scatter_block_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L777-L781">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Reduce_scatter_block_init_c-NTuple{8, Any}" href="#MPI.API.MPI_Reduce_scatter_block_init_c-NTuple{8, Any}"><code>MPI.API.MPI_Reduce_scatter_block_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Reduce_scatter_block_init_c(sendbuf, recvbuf, recvcount, datatype, op, comm, info, request)</code></pre><ul><li><code>MPI_Reduce_scatter_block_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce_scatter_block_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce_scatter_block_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3603-L3607">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Reduce_scatter_c-NTuple{6, Any}" href="#MPI.API.MPI_Reduce_scatter_c-NTuple{6, Any}"><code>MPI.API.MPI_Reduce_scatter_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Reduce_scatter_c(sendbuf, recvbuf, recvcounts, datatype, op, comm)</code></pre><ul><li><code>MPI_Reduce_scatter_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce_scatter_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce_scatter_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3585-L3589">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Reduce_scatter_init-NTuple{8, Any}" href="#MPI.API.MPI_Reduce_scatter_init-NTuple{8, Any}"><code>MPI.API.MPI_Reduce_scatter_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Reduce_scatter_init(sendbuf, recvbuf, recvcounts, datatype, op, comm, info, request)</code></pre><ul><li><code>MPI_Reduce_scatter_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce_scatter_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce_scatter_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L786-L790">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Reduce_scatter_init_c-NTuple{8, Any}" href="#MPI.API.MPI_Reduce_scatter_init_c-NTuple{8, Any}"><code>MPI.API.MPI_Reduce_scatter_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Reduce_scatter_init_c(sendbuf, recvbuf, recvcounts, datatype, op, comm, info, request)</code></pre><ul><li><code>MPI_Reduce_scatter_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce_scatter_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce_scatter_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3612-L3616">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Register_datarep-NTuple{5, Any}" href="#MPI.API.MPI_Register_datarep-NTuple{5, Any}"><code>MPI.API.MPI_Register_datarep</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Register_datarep(datarep, read_conversion_fn, write_conversion_fn, dtype_file_extent_fn, extra_state)</code></pre><ul><li><code>MPI_Register_datarep</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Register_datarep.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Register_datarep.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4647-L4651">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Register_datarep_c-NTuple{5, Any}" href="#MPI.API.MPI_Register_datarep_c-NTuple{5, Any}"><code>MPI.API.MPI_Register_datarep_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Register_datarep_c(datarep, read_conversion_fn, write_conversion_fn, dtype_file_extent_fn, extra_state)</code></pre><ul><li><code>MPI_Register_datarep_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Register_datarep_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Register_datarep_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4980-L4984">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Request_free-Tuple{Any}" href="#MPI.API.MPI_Request_free-Tuple{Any}"><code>MPI.API.MPI_Request_free</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Request_free(request)</code></pre><ul><li><code>MPI_Request_free</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Request_free.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Request_free.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2325-L2329">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Request_get_status-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Request_get_status-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Request_get_status</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Request_get_status(request, flag, status)</code></pre><ul><li><code>MPI_Request_get_status</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Request_get_status.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Request_get_status.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2334-L2338">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Rget-NTuple{9, Any}" href="#MPI.API.MPI_Rget-NTuple{9, Any}"><code>MPI.API.MPI_Rget</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Rget(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request)</code></pre><ul><li><code>MPI_Rget</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Rget.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Rget.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2514-L2518">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Rget_accumulate-NTuple{13, Any}" href="#MPI.API.MPI_Rget_accumulate-NTuple{13, Any}"><code>MPI.API.MPI_Rget_accumulate</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Rget_accumulate(origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request)</code></pre><ul><li><code>MPI_Rget_accumulate</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Rget_accumulate.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Rget_accumulate.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2523-L2527">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Rget_accumulate_c-NTuple{13, Any}" href="#MPI.API.MPI_Rget_accumulate_c-NTuple{13, Any}"><code>MPI.API.MPI_Rget_accumulate_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Rget_accumulate_c(origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request)</code></pre><ul><li><code>MPI_Rget_accumulate_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Rget_accumulate_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Rget_accumulate_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4161-L4165">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Rget_c-NTuple{9, Any}" href="#MPI.API.MPI_Rget_c-NTuple{9, Any}"><code>MPI.API.MPI_Rget_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Rget_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request)</code></pre><ul><li><code>MPI_Rget_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Rget_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Rget_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4152-L4156">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Rput-NTuple{9, Any}" href="#MPI.API.MPI_Rput-NTuple{9, Any}"><code>MPI.API.MPI_Rput</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Rput(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request)</code></pre><ul><li><code>MPI_Rput</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Rput.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Rput.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2532-L2536">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Rput_c-NTuple{9, Any}" href="#MPI.API.MPI_Rput_c-NTuple{9, Any}"><code>MPI.API.MPI_Rput_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Rput_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request)</code></pre><ul><li><code>MPI_Rput_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Rput_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Rput_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4170-L4174">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Rsend-NTuple{6, Any}" href="#MPI.API.MPI_Rsend-NTuple{6, Any}"><code>MPI.API.MPI_Rsend</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Rsend(buf, count, datatype, dest, tag, comm)</code></pre><ul><li><code>MPI_Rsend</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Rsend.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Rsend.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2226-L2230">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Rsend_c-NTuple{6, Any}" href="#MPI.API.MPI_Rsend_c-NTuple{6, Any}"><code>MPI.API.MPI_Rsend_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Rsend_c(buf, count, datatype, dest, tag, comm)</code></pre><ul><li><code>MPI_Rsend_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Rsend_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Rsend_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4035-L4039">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Rsend_init-NTuple{7, Any}" href="#MPI.API.MPI_Rsend_init-NTuple{7, Any}"><code>MPI.API.MPI_Rsend_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Rsend_init(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Rsend_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Rsend_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Rsend_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2235-L2239">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Rsend_init_c-NTuple{7, Any}" href="#MPI.API.MPI_Rsend_init_c-NTuple{7, Any}"><code>MPI.API.MPI_Rsend_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Rsend_init_c(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Rsend_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Rsend_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Rsend_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4044-L4048">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Scan-NTuple{6, Any}" href="#MPI.API.MPI_Scan-NTuple{6, Any}"><code>MPI.API.MPI_Scan</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Scan(sendbuf, recvbuf, count, datatype, op, comm)</code></pre><ul><li><code>MPI_Scan</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scan.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scan.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L795-L799">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Scan_c-NTuple{6, Any}" href="#MPI.API.MPI_Scan_c-NTuple{6, Any}"><code>MPI.API.MPI_Scan_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Scan_c(sendbuf, recvbuf, count, datatype, op, comm)</code></pre><ul><li><code>MPI_Scan_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scan_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scan_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3621-L3625">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Scan_init-NTuple{8, Any}" href="#MPI.API.MPI_Scan_init-NTuple{8, Any}"><code>MPI.API.MPI_Scan_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Scan_init(sendbuf, recvbuf, count, datatype, op, comm, info, request)</code></pre><ul><li><code>MPI_Scan_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scan_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scan_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L804-L808">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Scan_init_c-NTuple{8, Any}" href="#MPI.API.MPI_Scan_init_c-NTuple{8, Any}"><code>MPI.API.MPI_Scan_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Scan_init_c(sendbuf, recvbuf, count, datatype, op, comm, info, request)</code></pre><ul><li><code>MPI_Scan_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scan_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scan_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3630-L3634">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Scatter-NTuple{8, Any}" href="#MPI.API.MPI_Scatter-NTuple{8, Any}"><code>MPI.API.MPI_Scatter</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Scatter(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm)</code></pre><ul><li><code>MPI_Scatter</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scatter.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scatter.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L813-L817">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Scatter_c-NTuple{8, Any}" href="#MPI.API.MPI_Scatter_c-NTuple{8, Any}"><code>MPI.API.MPI_Scatter_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Scatter_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm)</code></pre><ul><li><code>MPI_Scatter_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scatter_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scatter_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3639-L3643">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Scatter_init-NTuple{10, Any}" href="#MPI.API.MPI_Scatter_init-NTuple{10, Any}"><code>MPI.API.MPI_Scatter_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Scatter_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request)</code></pre><ul><li><code>MPI_Scatter_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scatter_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scatter_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L822-L826">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Scatter_init_c-NTuple{10, Any}" href="#MPI.API.MPI_Scatter_init_c-NTuple{10, Any}"><code>MPI.API.MPI_Scatter_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Scatter_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request)</code></pre><ul><li><code>MPI_Scatter_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scatter_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scatter_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3648-L3652">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Scatterv-NTuple{9, Any}" href="#MPI.API.MPI_Scatterv-NTuple{9, Any}"><code>MPI.API.MPI_Scatterv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Scatterv(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm)</code></pre><ul><li><code>MPI_Scatterv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scatterv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scatterv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L831-L835">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Scatterv_c-NTuple{9, Any}" href="#MPI.API.MPI_Scatterv_c-NTuple{9, Any}"><code>MPI.API.MPI_Scatterv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Scatterv_c(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm)</code></pre><ul><li><code>MPI_Scatterv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scatterv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scatterv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3657-L3661">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Scatterv_init-NTuple{11, Any}" href="#MPI.API.MPI_Scatterv_init-NTuple{11, Any}"><code>MPI.API.MPI_Scatterv_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Scatterv_init(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request)</code></pre><ul><li><code>MPI_Scatterv_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scatterv_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scatterv_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L840-L844">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Scatterv_init_c-NTuple{11, Any}" href="#MPI.API.MPI_Scatterv_init_c-NTuple{11, Any}"><code>MPI.API.MPI_Scatterv_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Scatterv_init_c(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request)</code></pre><ul><li><code>MPI_Scatterv_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scatterv_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scatterv_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3666-L3670">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Send-NTuple{6, Any}" href="#MPI.API.MPI_Send-NTuple{6, Any}"><code>MPI.API.MPI_Send</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Send(buf, count, datatype, dest, tag, comm)</code></pre><ul><li><code>MPI_Send</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Send.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Send.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2244-L2248">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Send_c-NTuple{6, Any}" href="#MPI.API.MPI_Send_c-NTuple{6, Any}"><code>MPI.API.MPI_Send_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Send_c(buf, count, datatype, dest, tag, comm)</code></pre><ul><li><code>MPI_Send_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Send_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Send_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4053-L4057">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Send_init-NTuple{7, Any}" href="#MPI.API.MPI_Send_init-NTuple{7, Any}"><code>MPI.API.MPI_Send_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Send_init(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Send_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Send_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Send_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2253-L2257">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Send_init_c-NTuple{7, Any}" href="#MPI.API.MPI_Send_init_c-NTuple{7, Any}"><code>MPI.API.MPI_Send_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Send_init_c(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Send_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Send_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Send_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4062-L4066">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Sendrecv-NTuple{12, Any}" href="#MPI.API.MPI_Sendrecv-NTuple{12, Any}"><code>MPI.API.MPI_Sendrecv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Sendrecv(sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, status)</code></pre><ul><li><code>MPI_Sendrecv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Sendrecv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Sendrecv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2262-L2266">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Sendrecv_c-NTuple{12, Any}" href="#MPI.API.MPI_Sendrecv_c-NTuple{12, Any}"><code>MPI.API.MPI_Sendrecv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Sendrecv_c(sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, status)</code></pre><ul><li><code>MPI_Sendrecv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Sendrecv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Sendrecv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4071-L4075">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Sendrecv_replace-NTuple{9, Any}" href="#MPI.API.MPI_Sendrecv_replace-NTuple{9, Any}"><code>MPI.API.MPI_Sendrecv_replace</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Sendrecv_replace(buf, count, datatype, dest, sendtag, source, recvtag, comm, status)</code></pre><ul><li><code>MPI_Sendrecv_replace</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Sendrecv_replace.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Sendrecv_replace.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2271-L2275">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Sendrecv_replace_c-NTuple{9, Any}" href="#MPI.API.MPI_Sendrecv_replace_c-NTuple{9, Any}"><code>MPI.API.MPI_Sendrecv_replace_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Sendrecv_replace_c(buf, count, datatype, dest, sendtag, source, recvtag, comm, status)</code></pre><ul><li><code>MPI_Sendrecv_replace_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Sendrecv_replace_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Sendrecv_replace_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4080-L4084">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ssend-NTuple{6, Any}" href="#MPI.API.MPI_Ssend-NTuple{6, Any}"><code>MPI.API.MPI_Ssend</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ssend(buf, count, datatype, dest, tag, comm)</code></pre><ul><li><code>MPI_Ssend</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ssend.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ssend.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2280-L2284">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ssend_c-NTuple{6, Any}" href="#MPI.API.MPI_Ssend_c-NTuple{6, Any}"><code>MPI.API.MPI_Ssend_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ssend_c(buf, count, datatype, dest, tag, comm)</code></pre><ul><li><code>MPI_Ssend_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ssend_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ssend_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4089-L4093">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ssend_init-NTuple{7, Any}" href="#MPI.API.MPI_Ssend_init-NTuple{7, Any}"><code>MPI.API.MPI_Ssend_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ssend_init(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Ssend_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ssend_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ssend_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2289-L2293">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ssend_init_c-NTuple{7, Any}" href="#MPI.API.MPI_Ssend_init_c-NTuple{7, Any}"><code>MPI.API.MPI_Ssend_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ssend_init_c(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Ssend_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ssend_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ssend_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4098-L4102">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Start-Tuple{Any}" href="#MPI.API.MPI_Start-Tuple{Any}"><code>MPI.API.MPI_Start</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Start(request)</code></pre><ul><li><code>MPI_Start</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Start.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Start.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2343-L2347">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Startall-Tuple{Any, Any}" href="#MPI.API.MPI_Startall-Tuple{Any, Any}"><code>MPI.API.MPI_Startall</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Startall(count, array_of_requests)</code></pre><ul><li><code>MPI_Startall</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Startall.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Startall.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2352-L2356">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Status_c2f-Tuple{Any, Any}" href="#MPI.API.MPI_Status_c2f-Tuple{Any, Any}"><code>MPI.API.MPI_Status_c2f</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Status_c2f(c_status, f_status)</code></pre><ul><li><code>MPI_Status_c2f</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Status_c2f.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Status_c2f.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L21-L25">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Status_f2c-Tuple{Any, Any}" href="#MPI.API.MPI_Status_f2c-Tuple{Any, Any}"><code>MPI.API.MPI_Status_f2c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Status_f2c(f_status, c_status)</code></pre><ul><li><code>MPI_Status_f2c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Status_f2c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Status_f2c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L30-L34">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Status_set_cancelled-Tuple{Any, Any}" href="#MPI.API.MPI_Status_set_cancelled-Tuple{Any, Any}"><code>MPI.API.MPI_Status_set_cancelled</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Status_set_cancelled(status, flag)</code></pre><ul><li><code>MPI_Status_set_cancelled</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Status_set_cancelled.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Status_set_cancelled.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2361-L2365">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Status_set_elements-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Status_set_elements-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Status_set_elements</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Status_set_elements(status, datatype, count)</code></pre><ul><li><code>MPI_Status_set_elements</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Status_set_elements.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Status_set_elements.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1128-L1132">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Status_set_elements_x-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Status_set_elements_x-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Status_set_elements_x</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Status_set_elements_x(status, datatype, count)</code></pre><ul><li><code>MPI_Status_set_elements_x</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Status_set_elements_x.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Status_set_elements_x.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1137-L1141">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Test-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Test-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Test</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Test(request, flag, status)</code></pre><ul><li><code>MPI_Test</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Test.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Test.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L12-L16">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Test_cancelled-Tuple{Any, Any}" href="#MPI.API.MPI_Test_cancelled-Tuple{Any, Any}"><code>MPI.API.MPI_Test_cancelled</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Test_cancelled(status, flag)</code></pre><ul><li><code>MPI_Test_cancelled</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Test_cancelled.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Test_cancelled.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2370-L2374">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Testall-NTuple{4, Any}" href="#MPI.API.MPI_Testall-NTuple{4, Any}"><code>MPI.API.MPI_Testall</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Testall(count, array_of_requests, flag, array_of_statuses)</code></pre><ul><li><code>MPI_Testall</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Testall.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Testall.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2379-L2383">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Testany-NTuple{5, Any}" href="#MPI.API.MPI_Testany-NTuple{5, Any}"><code>MPI.API.MPI_Testany</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Testany(count, array_of_requests, indx, flag, status)</code></pre><ul><li><code>MPI_Testany</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Testany.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Testany.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2388-L2392">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Testsome-NTuple{5, Any}" href="#MPI.API.MPI_Testsome-NTuple{5, Any}"><code>MPI.API.MPI_Testsome</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Testsome(incount, array_of_requests, outcount, array_of_indices, array_of_statuses)</code></pre><ul><li><code>MPI_Testsome</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Testsome.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Testsome.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2397-L2401">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Topo_test-Tuple{Any, Any}" href="#MPI.API.MPI_Topo_test-Tuple{Any, Any}"><code>MPI.API.MPI_Topo_test</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Topo_test(comm, status)</code></pre><ul><li><code>MPI_Topo_test</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Topo_test.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Topo_test.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3090-L3094">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_commit-Tuple{Any}" href="#MPI.API.MPI_Type_commit-Tuple{Any}"><code>MPI.API.MPI_Type_commit</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_commit(datatype)</code></pre><ul><li><code>MPI_Type_commit</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_commit.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_commit.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1146-L1150">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_contiguous-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Type_contiguous-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_contiguous</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_contiguous(count, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_contiguous</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_contiguous.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_contiguous.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1155-L1159">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_contiguous_c-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Type_contiguous_c-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_contiguous_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_contiguous_c(count, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_contiguous_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_contiguous_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_contiguous_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3729-L3733">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_darray-NTuple{10, Any}" href="#MPI.API.MPI_Type_create_darray-NTuple{10, Any}"><code>MPI.API.MPI_Type_create_darray</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_darray(size, rank, ndims, array_of_gsizes, array_of_distribs, array_of_dargs, array_of_psizes, order, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_create_darray</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_darray.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_darray.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1164-L1168">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_darray_c-NTuple{10, Any}" href="#MPI.API.MPI_Type_create_darray_c-NTuple{10, Any}"><code>MPI.API.MPI_Type_create_darray_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_darray_c(size, rank, ndims, array_of_gsizes, array_of_distribs, array_of_dargs, array_of_psizes, order, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_create_darray_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_darray_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_darray_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3738-L3742">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_f90_complex-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Type_create_f90_complex-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_create_f90_complex</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_f90_complex(p, r, newtype)</code></pre><ul><li><code>MPI_Type_create_f90_complex</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_f90_complex.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_f90_complex.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L57-L61">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_f90_integer-Tuple{Any, Any}" href="#MPI.API.MPI_Type_create_f90_integer-Tuple{Any, Any}"><code>MPI.API.MPI_Type_create_f90_integer</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_f90_integer(r, newtype)</code></pre><ul><li><code>MPI_Type_create_f90_integer</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_f90_integer.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_f90_integer.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L39-L43">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_f90_real-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Type_create_f90_real-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_create_f90_real</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_f90_real(p, r, newtype)</code></pre><ul><li><code>MPI_Type_create_f90_real</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_f90_real.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_f90_real.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L48-L52">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_hindexed-NTuple{5, Any}" href="#MPI.API.MPI_Type_create_hindexed-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_hindexed</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_hindexed(count, array_of_blocklengths, array_of_displacements, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_create_hindexed</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_hindexed.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_hindexed.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1173-L1177">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_hindexed_block-NTuple{5, Any}" href="#MPI.API.MPI_Type_create_hindexed_block-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_hindexed_block</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_hindexed_block(count, blocklength, array_of_displacements, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_create_hindexed_block</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_hindexed_block.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_hindexed_block.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1182-L1186">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_hindexed_block_c-NTuple{5, Any}" href="#MPI.API.MPI_Type_create_hindexed_block_c-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_hindexed_block_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_hindexed_block_c(count, blocklength, array_of_displacements, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_create_hindexed_block_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_hindexed_block_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_hindexed_block_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3756-L3760">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_hindexed_c-NTuple{5, Any}" href="#MPI.API.MPI_Type_create_hindexed_c-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_hindexed_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_hindexed_c(count, array_of_blocklengths, array_of_displacements, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_create_hindexed_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_hindexed_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_hindexed_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3747-L3751">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_hvector-NTuple{5, Any}" href="#MPI.API.MPI_Type_create_hvector-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_hvector</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_hvector(count, blocklength, stride, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_create_hvector</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_hvector.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_hvector.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1191-L1195">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_hvector_c-NTuple{5, Any}" href="#MPI.API.MPI_Type_create_hvector_c-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_hvector_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_hvector_c(count, blocklength, stride, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_create_hvector_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_hvector_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_hvector_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3765-L3769">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_indexed_block-NTuple{5, Any}" href="#MPI.API.MPI_Type_create_indexed_block-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_indexed_block</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_indexed_block(count, blocklength, array_of_displacements, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_create_indexed_block</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_indexed_block.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_indexed_block.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1200-L1204">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_indexed_block_c-NTuple{5, Any}" href="#MPI.API.MPI_Type_create_indexed_block_c-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_indexed_block_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_indexed_block_c(count, blocklength, array_of_displacements, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_create_indexed_block_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_indexed_block_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_indexed_block_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3774-L3778">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_keyval-NTuple{4, Any}" href="#MPI.API.MPI_Type_create_keyval-NTuple{4, Any}"><code>MPI.API.MPI_Type_create_keyval</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_keyval(type_copy_attr_fn, type_delete_attr_fn, type_keyval, extra_state)</code></pre><ul><li><code>MPI_Type_create_keyval</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_keyval.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_keyval.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L156-L160">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_resized-NTuple{4, Any}" href="#MPI.API.MPI_Type_create_resized-NTuple{4, Any}"><code>MPI.API.MPI_Type_create_resized</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_resized(oldtype, lb, extent, newtype)</code></pre><ul><li><code>MPI_Type_create_resized</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_resized.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_resized.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1209-L1213">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_resized_c-NTuple{4, Any}" href="#MPI.API.MPI_Type_create_resized_c-NTuple{4, Any}"><code>MPI.API.MPI_Type_create_resized_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_resized_c(oldtype, lb, extent, newtype)</code></pre><ul><li><code>MPI_Type_create_resized_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_resized_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_resized_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3783-L3787">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_struct-NTuple{5, Any}" href="#MPI.API.MPI_Type_create_struct-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_struct</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_struct(count, array_of_blocklengths, array_of_displacements, array_of_types, newtype)</code></pre><ul><li><code>MPI_Type_create_struct</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_struct.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_struct.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1218-L1222">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_struct_c-NTuple{5, Any}" href="#MPI.API.MPI_Type_create_struct_c-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_struct_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_struct_c(count, array_of_blocklengths, array_of_displacements, array_of_types, newtype)</code></pre><ul><li><code>MPI_Type_create_struct_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_struct_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_struct_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3792-L3796">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_subarray-NTuple{7, Any}" href="#MPI.API.MPI_Type_create_subarray-NTuple{7, Any}"><code>MPI.API.MPI_Type_create_subarray</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_subarray(ndims, array_of_sizes, array_of_subsizes, array_of_starts, order, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_create_subarray</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_subarray.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_subarray.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1227-L1231">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_subarray_c-NTuple{7, Any}" href="#MPI.API.MPI_Type_create_subarray_c-NTuple{7, Any}"><code>MPI.API.MPI_Type_create_subarray_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_subarray_c(ndims, array_of_sizes, array_of_subsizes, array_of_starts, order, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_create_subarray_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_subarray_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_subarray_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3801-L3805">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_delete_attr-Tuple{Any, Any}" href="#MPI.API.MPI_Type_delete_attr-Tuple{Any, Any}"><code>MPI.API.MPI_Type_delete_attr</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_delete_attr(datatype, type_keyval)</code></pre><ul><li><code>MPI_Type_delete_attr</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_delete_attr.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_delete_attr.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L165-L169">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_dup-Tuple{Any, Any}" href="#MPI.API.MPI_Type_dup-Tuple{Any, Any}"><code>MPI.API.MPI_Type_dup</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_dup(oldtype, newtype)</code></pre><ul><li><code>MPI_Type_dup</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_dup.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_dup.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1236-L1240">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_extent-Tuple{Any, Any}" href="#MPI.API.MPI_Type_extent-Tuple{Any, Any}"><code>MPI.API.MPI_Type_extent</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_extent(datatype, extent)</code></pre><ul><li><code>MPI_Type_extent</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_extent.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_extent.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1398-L1402">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_free-Tuple{Any}" href="#MPI.API.MPI_Type_free-Tuple{Any}"><code>MPI.API.MPI_Type_free</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_free(datatype)</code></pre><ul><li><code>MPI_Type_free</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_free.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_free.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1245-L1249">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_free_keyval-Tuple{Any}" href="#MPI.API.MPI_Type_free_keyval-Tuple{Any}"><code>MPI.API.MPI_Type_free_keyval</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_free_keyval(type_keyval)</code></pre><ul><li><code>MPI_Type_free_keyval</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_free_keyval.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_free_keyval.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L174-L178">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_get_attr-NTuple{4, Any}" href="#MPI.API.MPI_Type_get_attr-NTuple{4, Any}"><code>MPI.API.MPI_Type_get_attr</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_get_attr(datatype, type_keyval, attribute_val, flag)</code></pre><ul><li><code>MPI_Type_get_attr</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_get_attr.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_get_attr.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L183-L187">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_get_contents-NTuple{7, Any}" href="#MPI.API.MPI_Type_get_contents-NTuple{7, Any}"><code>MPI.API.MPI_Type_get_contents</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_get_contents(datatype, max_integers, max_addresses, max_datatypes, array_of_integers, array_of_addresses, array_of_datatypes)</code></pre><ul><li><code>MPI_Type_get_contents</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_get_contents.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_get_contents.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1254-L1258">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_get_contents_c-NTuple{9, Any}" href="#MPI.API.MPI_Type_get_contents_c-NTuple{9, Any}"><code>MPI.API.MPI_Type_get_contents_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_get_contents_c(datatype, max_integers, max_addresses, max_large_counts, max_datatypes, array_of_integers, array_of_addresses, array_of_large_counts, array_of_datatypes)</code></pre><ul><li><code>MPI_Type_get_contents_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_get_contents_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_get_contents_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3810-L3814">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_get_envelope-NTuple{5, Any}" href="#MPI.API.MPI_Type_get_envelope-NTuple{5, Any}"><code>MPI.API.MPI_Type_get_envelope</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_get_envelope(datatype, num_integers, num_addresses, num_datatypes, combiner)</code></pre><ul><li><code>MPI_Type_get_envelope</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_get_envelope.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_get_envelope.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1263-L1267">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_get_envelope_c-NTuple{6, Any}" href="#MPI.API.MPI_Type_get_envelope_c-NTuple{6, Any}"><code>MPI.API.MPI_Type_get_envelope_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_get_envelope_c(datatype, num_integers, num_addresses, num_large_counts, num_datatypes, combiner)</code></pre><ul><li><code>MPI_Type_get_envelope_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_get_envelope_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_get_envelope_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3819-L3823">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_get_extent-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Type_get_extent-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_get_extent</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_get_extent(datatype, lb, extent)</code></pre><ul><li><code>MPI_Type_get_extent</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_get_extent.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_get_extent.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1272-L1276">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_get_extent_c-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Type_get_extent_c-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_get_extent_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_get_extent_c(datatype, lb, extent)</code></pre><ul><li><code>MPI_Type_get_extent_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_get_extent_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_get_extent_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3828-L3832">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_get_extent_x-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Type_get_extent_x-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_get_extent_x</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_get_extent_x(datatype, lb, extent)</code></pre><ul><li><code>MPI_Type_get_extent_x</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_get_extent_x.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_get_extent_x.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1281-L1285">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_get_name-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Type_get_name-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_get_name</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_get_name(datatype, type_name, resultlen)</code></pre><ul><li><code>MPI_Type_get_name</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_get_name.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_get_name.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1290-L1294">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_get_true_extent-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Type_get_true_extent-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_get_true_extent</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_get_true_extent(datatype, true_lb, true_extent)</code></pre><ul><li><code>MPI_Type_get_true_extent</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_get_true_extent.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_get_true_extent.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1299-L1303">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_get_true_extent_c-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Type_get_true_extent_c-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_get_true_extent_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_get_true_extent_c(datatype, true_lb, true_extent)</code></pre><ul><li><code>MPI_Type_get_true_extent_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_get_true_extent_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_get_true_extent_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3837-L3841">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_get_true_extent_x-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Type_get_true_extent_x-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_get_true_extent_x</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_get_true_extent_x(datatype, true_lb, true_extent)</code></pre><ul><li><code>MPI_Type_get_true_extent_x</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_get_true_extent_x.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_get_true_extent_x.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1308-L1312">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_hindexed-NTuple{5, Any}" href="#MPI.API.MPI_Type_hindexed-NTuple{5, Any}"><code>MPI.API.MPI_Type_hindexed</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_hindexed(count, array_of_blocklengths, array_of_displacements, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_hindexed</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_hindexed.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_hindexed.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1425-L1429">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_hvector-NTuple{5, Any}" href="#MPI.API.MPI_Type_hvector-NTuple{5, Any}"><code>MPI.API.MPI_Type_hvector</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_hvector(count, blocklength, stride, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_hvector</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_hvector.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_hvector.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1434-L1438">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_indexed-NTuple{5, Any}" href="#MPI.API.MPI_Type_indexed-NTuple{5, Any}"><code>MPI.API.MPI_Type_indexed</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_indexed(count, array_of_blocklengths, array_of_displacements, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_indexed</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_indexed.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_indexed.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1317-L1321">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_indexed_c-NTuple{5, Any}" href="#MPI.API.MPI_Type_indexed_c-NTuple{5, Any}"><code>MPI.API.MPI_Type_indexed_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_indexed_c(count, array_of_blocklengths, array_of_displacements, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_indexed_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_indexed_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_indexed_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3846-L3850">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_lb-Tuple{Any, Any}" href="#MPI.API.MPI_Type_lb-Tuple{Any, Any}"><code>MPI.API.MPI_Type_lb</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_lb(datatype, displacement)</code></pre><ul><li><code>MPI_Type_lb</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_lb.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_lb.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1407-L1411">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_match_size-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Type_match_size-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_match_size</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_match_size(typeclass, size, datatype)</code></pre><ul><li><code>MPI_Type_match_size</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_match_size.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_match_size.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1326-L1330">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_set_attr-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Type_set_attr-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_set_attr</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_set_attr(datatype, type_keyval, attribute_val)</code></pre><ul><li><code>MPI_Type_set_attr</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_set_attr.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_set_attr.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L192-L196">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_set_name-Tuple{Any, Any}" href="#MPI.API.MPI_Type_set_name-Tuple{Any, Any}"><code>MPI.API.MPI_Type_set_name</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_set_name(datatype, type_name)</code></pre><ul><li><code>MPI_Type_set_name</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_set_name.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_set_name.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1335-L1339">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_size-Tuple{Any, Any}" href="#MPI.API.MPI_Type_size-Tuple{Any, Any}"><code>MPI.API.MPI_Type_size</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_size(datatype, size)</code></pre><ul><li><code>MPI_Type_size</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_size.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_size.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1344-L1348">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_size_c-Tuple{Any, Any}" href="#MPI.API.MPI_Type_size_c-Tuple{Any, Any}"><code>MPI.API.MPI_Type_size_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_size_c(datatype, size)</code></pre><ul><li><code>MPI_Type_size_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_size_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_size_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3855-L3859">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_size_x-Tuple{Any, Any}" href="#MPI.API.MPI_Type_size_x-Tuple{Any, Any}"><code>MPI.API.MPI_Type_size_x</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_size_x(datatype, size)</code></pre><ul><li><code>MPI_Type_size_x</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_size_x.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_size_x.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1353-L1357">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_struct-NTuple{5, Any}" href="#MPI.API.MPI_Type_struct-NTuple{5, Any}"><code>MPI.API.MPI_Type_struct</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_struct(count, array_of_blocklengths, array_of_displacements, array_of_types, newtype)</code></pre><ul><li><code>MPI_Type_struct</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_struct.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_struct.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1443-L1447">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_ub-Tuple{Any, Any}" href="#MPI.API.MPI_Type_ub-Tuple{Any, Any}"><code>MPI.API.MPI_Type_ub</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_ub(datatype, displacement)</code></pre><ul><li><code>MPI_Type_ub</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_ub.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_ub.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1416-L1420">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_vector-NTuple{5, Any}" href="#MPI.API.MPI_Type_vector-NTuple{5, Any}"><code>MPI.API.MPI_Type_vector</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_vector(count, blocklength, stride, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_vector</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_vector.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_vector.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1362-L1366">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_vector_c-NTuple{5, Any}" href="#MPI.API.MPI_Type_vector_c-NTuple{5, Any}"><code>MPI.API.MPI_Type_vector_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_vector_c(count, blocklength, stride, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_vector_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_vector_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_vector_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3864-L3868">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Unpack-NTuple{7, Any}" href="#MPI.API.MPI_Unpack-NTuple{7, Any}"><code>MPI.API.MPI_Unpack</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Unpack(inbuf, insize, position, outbuf, outcount, datatype, comm)</code></pre><ul><li><code>MPI_Unpack</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Unpack.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Unpack.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1371-L1375">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Unpack_c-NTuple{7, Any}" href="#MPI.API.MPI_Unpack_c-NTuple{7, Any}"><code>MPI.API.MPI_Unpack_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Unpack_c(inbuf, insize, position, outbuf, outcount, datatype, comm)</code></pre><ul><li><code>MPI_Unpack_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Unpack_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Unpack_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3873-L3877">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Unpack_external-NTuple{7, Any}" href="#MPI.API.MPI_Unpack_external-NTuple{7, Any}"><code>MPI.API.MPI_Unpack_external</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Unpack_external(datarep, inbuf, insize, position, outbuf, outcount, datatype)</code></pre><ul><li><code>MPI_Unpack_external</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Unpack_external.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Unpack_external.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1380-L1384">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Unpack_external_c-NTuple{7, Any}" href="#MPI.API.MPI_Unpack_external_c-NTuple{7, Any}"><code>MPI.API.MPI_Unpack_external_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Unpack_external_c(datarep, inbuf, insize, position, outbuf, outcount, datatype)</code></pre><ul><li><code>MPI_Unpack_external_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Unpack_external_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Unpack_external_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3882-L3886">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Unpublish_name-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Unpublish_name-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Unpublish_name</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Unpublish_name(service_name, info, port_name)</code></pre><ul><li><code>MPI_Unpublish_name</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Unpublish_name.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Unpublish_name.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2892-L2896">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Wait-Tuple{Any, Any}" href="#MPI.API.MPI_Wait-Tuple{Any, Any}"><code>MPI.API.MPI_Wait</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Wait(request, status)</code></pre><ul><li><code>MPI_Wait</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Wait.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Wait.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L3-L7">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Waitall-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Waitall-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Waitall</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Waitall(count, array_of_requests, array_of_statuses)</code></pre><ul><li><code>MPI_Waitall</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Waitall.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Waitall.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2406-L2410">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Waitany-NTuple{4, Any}" href="#MPI.API.MPI_Waitany-NTuple{4, Any}"><code>MPI.API.MPI_Waitany</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Waitany(count, array_of_requests, indx, status)</code></pre><ul><li><code>MPI_Waitany</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Waitany.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Waitany.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2415-L2419">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Waitsome-NTuple{5, Any}" href="#MPI.API.MPI_Waitsome-NTuple{5, Any}"><code>MPI.API.MPI_Waitsome</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Waitsome(incount, array_of_requests, outcount, array_of_indices, array_of_statuses)</code></pre><ul><li><code>MPI_Waitsome</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Waitsome.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Waitsome.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2424-L2428">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_allocate-NTuple{6, Any}" href="#MPI.API.MPI_Win_allocate-NTuple{6, Any}"><code>MPI.API.MPI_Win_allocate</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_allocate(size, disp_unit, info, comm, baseptr, win)</code></pre><ul><li><code>MPI_Win_allocate</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_allocate.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_allocate.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2541-L2545">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_allocate_c-NTuple{6, Any}" href="#MPI.API.MPI_Win_allocate_c-NTuple{6, Any}"><code>MPI.API.MPI_Win_allocate_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_allocate_c(size, disp_unit, info, comm, baseptr, win)</code></pre><ul><li><code>MPI_Win_allocate_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_allocate_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_allocate_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4179-L4183">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_allocate_shared-NTuple{6, Any}" href="#MPI.API.MPI_Win_allocate_shared-NTuple{6, Any}"><code>MPI.API.MPI_Win_allocate_shared</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_allocate_shared(size, disp_unit, info, comm, baseptr, win)</code></pre><ul><li><code>MPI_Win_allocate_shared</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_allocate_shared.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_allocate_shared.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2550-L2554">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_allocate_shared_c-NTuple{6, Any}" href="#MPI.API.MPI_Win_allocate_shared_c-NTuple{6, Any}"><code>MPI.API.MPI_Win_allocate_shared_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_allocate_shared_c(size, disp_unit, info, comm, baseptr, win)</code></pre><ul><li><code>MPI_Win_allocate_shared_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_allocate_shared_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_allocate_shared_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4188-L4192">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_attach-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Win_attach-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Win_attach</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_attach(win, base, size)</code></pre><ul><li><code>MPI_Win_attach</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_attach.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_attach.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2559-L2563">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_call_errhandler-Tuple{Any, Any}" href="#MPI.API.MPI_Win_call_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Win_call_errhandler</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_call_errhandler(win, errorcode)</code></pre><ul><li><code>MPI_Win_call_errhandler</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_call_errhandler.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_call_errhandler.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1578-L1582">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_complete-Tuple{Any}" href="#MPI.API.MPI_Win_complete-Tuple{Any}"><code>MPI.API.MPI_Win_complete</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_complete(win)</code></pre><ul><li><code>MPI_Win_complete</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_complete.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_complete.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2568-L2572">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_create-NTuple{6, Any}" href="#MPI.API.MPI_Win_create-NTuple{6, Any}"><code>MPI.API.MPI_Win_create</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_create(base, size, disp_unit, info, comm, win)</code></pre><ul><li><code>MPI_Win_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2577-L2581">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_create_c-NTuple{6, Any}" href="#MPI.API.MPI_Win_create_c-NTuple{6, Any}"><code>MPI.API.MPI_Win_create_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_create_c(base, size, disp_unit, info, comm, win)</code></pre><ul><li><code>MPI_Win_create_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_create_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_create_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4197-L4201">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_create_dynamic-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Win_create_dynamic-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Win_create_dynamic</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_create_dynamic(info, comm, win)</code></pre><ul><li><code>MPI_Win_create_dynamic</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_create_dynamic.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_create_dynamic.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2586-L2590">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_create_errhandler-Tuple{Any, Any}" href="#MPI.API.MPI_Win_create_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Win_create_errhandler</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_create_errhandler(win_errhandler_fn, errhandler)</code></pre><ul><li><code>MPI_Win_create_errhandler</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_create_errhandler.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_create_errhandler.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1587-L1591">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_create_keyval-NTuple{4, Any}" href="#MPI.API.MPI_Win_create_keyval-NTuple{4, Any}"><code>MPI.API.MPI_Win_create_keyval</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_create_keyval(win_copy_attr_fn, win_delete_attr_fn, win_keyval, extra_state)</code></pre><ul><li><code>MPI_Win_create_keyval</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_create_keyval.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_create_keyval.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L201-L205">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_delete_attr-Tuple{Any, Any}" href="#MPI.API.MPI_Win_delete_attr-Tuple{Any, Any}"><code>MPI.API.MPI_Win_delete_attr</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_delete_attr(win, win_keyval)</code></pre><ul><li><code>MPI_Win_delete_attr</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_delete_attr.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_delete_attr.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L210-L214">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_detach-Tuple{Any, Any}" href="#MPI.API.MPI_Win_detach-Tuple{Any, Any}"><code>MPI.API.MPI_Win_detach</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_detach(win, base)</code></pre><ul><li><code>MPI_Win_detach</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_detach.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_detach.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2595-L2599">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_fence-Tuple{Any, Any}" href="#MPI.API.MPI_Win_fence-Tuple{Any, Any}"><code>MPI.API.MPI_Win_fence</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_fence(assert, win)</code></pre><ul><li><code>MPI_Win_fence</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_fence.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_fence.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2604-L2608">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_flush-Tuple{Any, Any}" href="#MPI.API.MPI_Win_flush-Tuple{Any, Any}"><code>MPI.API.MPI_Win_flush</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_flush(rank, win)</code></pre><ul><li><code>MPI_Win_flush</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_flush.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_flush.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2613-L2617">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_flush_all-Tuple{Any}" href="#MPI.API.MPI_Win_flush_all-Tuple{Any}"><code>MPI.API.MPI_Win_flush_all</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_flush_all(win)</code></pre><ul><li><code>MPI_Win_flush_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_flush_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_flush_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2622-L2626">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_flush_local-Tuple{Any, Any}" href="#MPI.API.MPI_Win_flush_local-Tuple{Any, Any}"><code>MPI.API.MPI_Win_flush_local</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_flush_local(rank, win)</code></pre><ul><li><code>MPI_Win_flush_local</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_flush_local.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_flush_local.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2631-L2635">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_flush_local_all-Tuple{Any}" href="#MPI.API.MPI_Win_flush_local_all-Tuple{Any}"><code>MPI.API.MPI_Win_flush_local_all</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_flush_local_all(win)</code></pre><ul><li><code>MPI_Win_flush_local_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_flush_local_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_flush_local_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2640-L2644">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_free-Tuple{Any}" href="#MPI.API.MPI_Win_free-Tuple{Any}"><code>MPI.API.MPI_Win_free</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_free(win)</code></pre><ul><li><code>MPI_Win_free</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_free.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_free.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2649-L2653">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_free_keyval-Tuple{Any}" href="#MPI.API.MPI_Win_free_keyval-Tuple{Any}"><code>MPI.API.MPI_Win_free_keyval</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_free_keyval(win_keyval)</code></pre><ul><li><code>MPI_Win_free_keyval</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_free_keyval.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_free_keyval.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L219-L223">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_get_attr-NTuple{4, Any}" href="#MPI.API.MPI_Win_get_attr-NTuple{4, Any}"><code>MPI.API.MPI_Win_get_attr</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_get_attr(win, win_keyval, attribute_val, flag)</code></pre><ul><li><code>MPI_Win_get_attr</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_get_attr.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_get_attr.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L228-L232">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_get_errhandler-Tuple{Any, Any}" href="#MPI.API.MPI_Win_get_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Win_get_errhandler</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_get_errhandler(win, errhandler)</code></pre><ul><li><code>MPI_Win_get_errhandler</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_get_errhandler.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_get_errhandler.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1596-L1600">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_get_group-Tuple{Any, Any}" href="#MPI.API.MPI_Win_get_group-Tuple{Any, Any}"><code>MPI.API.MPI_Win_get_group</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_get_group(win, group)</code></pre><ul><li><code>MPI_Win_get_group</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_get_group.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_get_group.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2658-L2662">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_get_info-Tuple{Any, Any}" href="#MPI.API.MPI_Win_get_info-Tuple{Any, Any}"><code>MPI.API.MPI_Win_get_info</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_get_info(win, info_used)</code></pre><ul><li><code>MPI_Win_get_info</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_get_info.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_get_info.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2667-L2671">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_get_name-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Win_get_name-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Win_get_name</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_get_name(win, win_name, resultlen)</code></pre><ul><li><code>MPI_Win_get_name</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_get_name.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_get_name.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2676-L2680">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_lock-NTuple{4, Any}" href="#MPI.API.MPI_Win_lock-NTuple{4, Any}"><code>MPI.API.MPI_Win_lock</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_lock(lock_type, rank, assert, win)</code></pre><ul><li><code>MPI_Win_lock</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_lock.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_lock.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2685-L2689">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_lock_all-Tuple{Any, Any}" href="#MPI.API.MPI_Win_lock_all-Tuple{Any, Any}"><code>MPI.API.MPI_Win_lock_all</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_lock_all(assert, win)</code></pre><ul><li><code>MPI_Win_lock_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_lock_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_lock_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2694-L2698">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_post-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Win_post-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Win_post</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_post(group, assert, win)</code></pre><ul><li><code>MPI_Win_post</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_post.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_post.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2703-L2707">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_set_attr-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Win_set_attr-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Win_set_attr</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_set_attr(win, win_keyval, attribute_val)</code></pre><ul><li><code>MPI_Win_set_attr</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_set_attr.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_set_attr.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L237-L241">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_set_errhandler-Tuple{Any, Any}" href="#MPI.API.MPI_Win_set_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Win_set_errhandler</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_set_errhandler(win, errhandler)</code></pre><ul><li><code>MPI_Win_set_errhandler</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_set_errhandler.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_set_errhandler.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L1605-L1609">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_set_info-Tuple{Any, Any}" href="#MPI.API.MPI_Win_set_info-Tuple{Any, Any}"><code>MPI.API.MPI_Win_set_info</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_set_info(win, info)</code></pre><ul><li><code>MPI_Win_set_info</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_set_info.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_set_info.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2712-L2716">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_set_name-Tuple{Any, Any}" href="#MPI.API.MPI_Win_set_name-Tuple{Any, Any}"><code>MPI.API.MPI_Win_set_name</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_set_name(win, win_name)</code></pre><ul><li><code>MPI_Win_set_name</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_set_name.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_set_name.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2721-L2725">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_shared_query-NTuple{5, Any}" href="#MPI.API.MPI_Win_shared_query-NTuple{5, Any}"><code>MPI.API.MPI_Win_shared_query</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_shared_query(win, rank, size, disp_unit, baseptr)</code></pre><ul><li><code>MPI_Win_shared_query</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_shared_query.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_shared_query.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2730-L2734">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_shared_query_c-NTuple{5, Any}" href="#MPI.API.MPI_Win_shared_query_c-NTuple{5, Any}"><code>MPI.API.MPI_Win_shared_query_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_shared_query_c(win, rank, size, disp_unit, baseptr)</code></pre><ul><li><code>MPI_Win_shared_query_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_shared_query_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_shared_query_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L4206-L4210">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_start-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Win_start-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Win_start</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_start(group, assert, win)</code></pre><ul><li><code>MPI_Win_start</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_start.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_start.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2739-L2743">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_sync-Tuple{Any}" href="#MPI.API.MPI_Win_sync-Tuple{Any}"><code>MPI.API.MPI_Win_sync</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_sync(win)</code></pre><ul><li><code>MPI_Win_sync</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_sync.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_sync.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2748-L2752">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_test-Tuple{Any, Any}" href="#MPI.API.MPI_Win_test-Tuple{Any, Any}"><code>MPI.API.MPI_Win_test</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_test(win, flag)</code></pre><ul><li><code>MPI_Win_test</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_test.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_test.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2757-L2761">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_unlock-Tuple{Any, Any}" href="#MPI.API.MPI_Win_unlock-Tuple{Any, Any}"><code>MPI.API.MPI_Win_unlock</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_unlock(rank, win)</code></pre><ul><li><code>MPI_Win_unlock</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_unlock.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_unlock.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2766-L2770">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_unlock_all-Tuple{Any}" href="#MPI.API.MPI_Win_unlock_all-Tuple{Any}"><code>MPI.API.MPI_Win_unlock_all</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_unlock_all(win)</code></pre><ul><li><code>MPI_Win_unlock_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_unlock_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_unlock_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2775-L2779">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_wait-Tuple{Any}" href="#MPI.API.MPI_Win_wait-Tuple{Any}"><code>MPI.API.MPI_Win_wait</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_wait(win)</code></pre><ul><li><code>MPI_Win_wait</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_wait.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_wait.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2784-L2788">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Wtick-Tuple{}" href="#MPI.API.MPI_Wtick-Tuple{}"><code>MPI.API.MPI_Wtick</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Wtick()</code></pre><ul><li><code>MPI_Wtick</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Wtick.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Wtick.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2901-L2905">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Wtime-Tuple{}" href="#MPI.API.MPI_Wtime-Tuple{}"><code>MPI.API.MPI_Wtime</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Wtime()</code></pre><ul><li><code>MPI_Wtime</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Wtime.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Wtime.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/generated_api.jl#L2910-L2914">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../advanced/">« Advanced</a><a class="docs-footer-nextpage" href="../../refindex/">Index »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 6 November 2022 21:18">Sunday 6 November 2022</span>. Using Julia version 1.8.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR676/reference/buffers/index.html b/previews/PR676/reference/buffers/index.html
deleted file mode 100644
index 5a5ec8c69..000000000
--- a/previews/PR676/reference/buffers/index.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Buffers · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../library/">Library information</a></li><li><a class="tocitem" href="../environment/">Environment</a></li><li><a class="tocitem" href="../misc/">Miscellanea</a></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li class="is-active"><a class="tocitem" href>Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../advanced/">Advanced</a></li><li><a class="tocitem" href="../api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>Buffers</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Buffers</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/buffers.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Buffers"><a class="docs-heading-anchor" href="#Buffers">Buffers</a><a id="Buffers-1"></a><a class="docs-heading-anchor-permalink" href="#Buffers" title="Permalink"></a></h1><p>Buffers are used for sending and receiving data. MPI.jl provides the following buffer types:</p><article class="docstring"><header><a class="docstring-binding" id="MPI.IN_PLACE" href="#MPI.IN_PLACE"><code>MPI.IN_PLACE</code></a> — <span class="docstring-category">Constant</span></header><section><div><pre><code class="language-julia hljs">MPI.IN_PLACE</code></pre><p>A sentinel value that can be passed as a buffer argument for certain collective operations to use the same buffer for send and receive operations.</p><ul><li><p><a href="../collective/#MPI.Scatter!"><code>Scatter!</code></a> and <a href="../collective/#MPI.Scatterv!"><code>Scatterv!</code></a>: can be used as the <code>recvbuf</code> argument on the root process.</p></li><li><p><a href="../collective/#MPI.Gather!"><code>Gather!</code></a> and <a href="../collective/#MPI.Gatherv!"><code>Gatherv!</code></a>: can be used as the <code>sendbuf</code> argument on the root process.</p></li><li><p><a href="../collective/#MPI.Allgather!"><code>Allgather!</code></a>, <a href="../collective/#MPI.Allgatherv!"><code>Allgatherv!</code></a>, <a href="../collective/#MPI.Alltoall!"><code>Alltoall!</code></a> and <a href="../collective/#MPI.Alltoallv!"><code>Alltoallv!</code></a>: can be used as the <code>sendbuf</code> argument on all processes.</p></li><li><p><a href="../collective/#MPI.Reduce!"><code>Reduce!</code></a> (root only), <a href="../collective/#MPI.Allreduce!"><code>Allreduce!</code></a>, <a href="../collective/#MPI.Scan!"><code>Scan!</code></a> and <a href="../collective/#MPI.Exscan!"><code>Exscan!</code></a>: can be used as <code>sendbuf</code> argument.</p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/buffers.jl#L60-L78">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Buffer" href="#MPI.Buffer"><code>MPI.Buffer</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.Buffer</code></pre><p>An MPI buffer for communication with a single rank. It is used for point-to-point and one-sided operations, as well as some collective operations. Operations will implicitly construct a <code>Buffer</code> when required via the generic constructor, but it can be advantageous to manually construct <code>Buffer</code>s when doing so incurs additional overhead, for example when using a non-predefined <a href="../advanced/#MPI.Datatype"><code>MPI.Datatype</code></a>.</p><p><strong>Fields</strong></p><ul><li><code>data</code></li></ul><p>: a Julia object referencing a region of memory to be used for communication. It is     required that the object can be <code>cconvert</code>ed to an <a href="#MPI.API.MPIPtr"><code>MPIPtr</code></a>.</p><ul><li><code>count</code></li></ul><p>: the number of elements of <code>datatype</code> in the buffer. Note that this may not     correspond to the number of elements in the array if derived types are used.</p><ul><li><code>datatype</code></li></ul><p>: the <a href="../advanced/#MPI.Datatype"><code>MPI.Datatype</code></a> stored in the buffer.</p><p><strong>Usage</strong></p><pre><code class="nohighlight hljs">Buffer(data, count::Integer, datatype::Datatype)</code></pre><p>Generic constructor.</p><pre><code class="nohighlight hljs">Buffer(data)</code></pre><p>Construct a <code>Buffer</code> backed by <code>data</code>, automatically determining the appropriate <code>count</code> and <code>datatype</code>. Methods are provided for</p><ul><li><code>Ref</code></li><li><code>Array</code></li><li><code>CUDA.CuArray</code> if CUDA.jl is loaded.</li><li><code>AMDGPU.ROCArray</code> if AMDGPU.jl is loaded.</li><li><code>SubArray</code>s of an <code>Array</code>, <code>CUDA.CuArray</code> or <code>AMDGPU.ROCArray</code> where the layout is contiguous, sequential or blocked.</li></ul><p><strong>See also</strong></p><ul><li><a href="#MPI.Buffer_send"><code>Buffer_send</code></a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/buffers.jl#L84-L115">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Buffer_send" href="#MPI.Buffer_send"><code>MPI.Buffer_send</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Buffer_send(data)</code></pre><p>Construct a <a href="#MPI.Buffer"><code>Buffer</code></a> object for a send operation from <code>data</code>, allowing cases where <code>isbits(data)</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/buffers.jl#L167-L172">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.UBuffer" href="#MPI.UBuffer"><code>MPI.UBuffer</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.UBuffer</code></pre><p>An MPI buffer for chunked collective communication, where all chunks are of uniform size.</p><p><strong>Fields</strong></p><ul><li><code>data</code></li></ul><p>: A Julia object referencing a region of memory to be used for communication. It is     required that the object can be <code>cconvert</code>ed to an <a href="#MPI.API.MPIPtr"><code>MPIPtr</code></a>.</p><ul><li><code>count</code></li></ul><p>: The number of elements of <code>datatype</code> in each chunk.</p><ul><li><code>nchunks</code></li></ul><p>: The maximum number of chunks stored in the buffer. This is used only for     validation, and can be set to <code>nothing</code> to disable checks.</p><ul><li><code>datatype</code></li></ul><p>: The <a href="../advanced/#MPI.Datatype"><code>MPI.Datatype</code></a> stored in the buffer.</p><p><strong>Usage</strong></p><pre><code class="nohighlight hljs">UBuffer(data, count::Integer, nchunks::Union{Nothing, Integer}, datatype::Datatype)</code></pre><p>Generic constructor.</p><pre><code class="nohighlight hljs">UBuffer(data, count::Integer)</code></pre><p>Construct a <code>UBuffer</code> backed by <code>data</code>, where <code>count</code> is the number of elements in each chunk.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.VBuffer"><code>VBuffer</code></a>: similar, but supports chunks of non-uniform sizes.</li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/buffers.jl#L179-L200">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.VBuffer" href="#MPI.VBuffer"><code>MPI.VBuffer</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.VBuffer</code></pre><p>An MPI buffer for chunked collective communication, where chunks can be of different sizes and at different offsets.</p><p><strong>Fields</strong></p><ul><li><code>data</code></li></ul><p>: A Julia object referencing a region of memory to be used for communication. It is     required that the object can be <code>cconvert</code>ed to an <a href="#MPI.API.MPIPtr"><code>MPIPtr</code></a>.</p><ul><li><code>counts</code></li></ul><p>: An array containing the length of each chunk.</p><ul><li><code>displs</code></li></ul><p>: An array containing the (0-based) displacements of each chunk.</p><ul><li><code>datatype</code></li></ul><p>: The <a href="../advanced/#MPI.Datatype"><code>MPI.Datatype</code></a> stored in the buffer.</p><p><strong>Usage</strong></p><pre><code class="nohighlight hljs">VBuffer(data, counts[, displs[, datatype]])</code></pre><p>Construct a <code>VBuffer</code> backed by <code>data</code>, where <code>counts[j]</code> is the number of elements in the <code>j</code>th chunk, and <code>displs[j]</code> is the 0-based displacement. In other words, the <code>j</code>th chunk occurs in indices <code>displs[j]+1:displs[j]+counts[j]</code>.</p><p>The default value for <code>displs[j] = sum(counts[1:j-1])</code>.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.UBuffer"><code>UBuffer</code></a> when chunks are all of the same size.</li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/buffers.jl#L230-L252">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.RBuffer" href="#MPI.RBuffer"><code>MPI.RBuffer</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.RBuffer</code></pre><p>An MPI buffer for reduction operations (<a href="../collective/#MPI.Reduce!"><code>MPI.Reduce!</code></a>, <a href="../collective/#MPI.Allreduce!"><code>MPI.Allreduce!</code></a>, <a href="../collective/#MPI.Scan!"><code>MPI.Scan!</code></a>, <a href="../collective/#MPI.Exscan!"><code>MPI.Exscan!</code></a>).</p><p><strong>Fields</strong></p><ul><li><code>senddata</code></li></ul><p>: A Julia object referencing a region of memory to be used for the send buffer. It is     required that the object can be <code>cconvert</code>ed to an <a href="#MPI.API.MPIPtr"><code>MPIPtr</code></a>.</p><ul><li><code>recvdata</code></li></ul><p>: A Julia object referencing a region of memory to be used for the receive buffer. It is     required that the object can be <code>cconvert</code>ed to an <a href="#MPI.API.MPIPtr"><code>MPIPtr</code></a>.</p><ul><li><code>count</code></li></ul><p>: the number of elements of <code>datatype</code> in the buffer. Note that this may not     correspond to the number of elements in the array if derived types are used.</p><ul><li><code>datatype</code></li></ul><p>: the <a href="../advanced/#MPI.Datatype"><code>MPI.Datatype</code></a> stored in the buffer.</p><p><strong>Usage</strong></p><pre><code class="nohighlight hljs">RBuffer(senddata, recvdata[, count, datatype])</code></pre><p>Generic constructor.</p><pre><code class="nohighlight hljs">RBuffer(senddata, recvdata)</code></pre><p>Construct a <code>Buffer</code> backed by <code>senddata</code> and <code>recvdata</code>, automatically determining the appropriate <code>count</code> and <code>datatype</code>.</p><ul><li><code>senddata</code> can be <a href="#MPI.IN_PLACE"><code>MPI.IN_PLACE</code></a></li><li><code>recvdata</code> can be <code>nothing</code> on a non-root node with <a href="../collective/#MPI.Reduce!"><code>MPI.Reduce!</code></a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/buffers.jl#L290-L311">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPIPtr" href="#MPI.API.MPIPtr"><code>MPI.API.MPIPtr</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.MPIPtr</code></pre><p>A pointer to an MPI buffer. This type is used only as part of the implicit conversion in <code>ccall</code>: a Julia object can be passed to MPI by defining methods for <code>Base.cconvert(::Type{MPIPtr}, ...)</code>/<code>Base.unsafe_convert(::Type{MPIPtr}, ...)</code>.</p><p>Currently supported are:</p><ul><li><code>Ptr</code></li><li><code>Ref</code></li><li><code>Array</code></li><li><code>SubArray</code></li><li><code>CUDA.CuArray</code> if CUDA.jl is loaded.</li><li><code>AMDGPU.ROCArray</code> if AMDGPU.jl is loaded.</li></ul><p>Additionally, certain sentinel values can be used, e.g. <code>MPI_IN_PLACE</code> or <code>MPI_BOTTOM</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/buffers.jl#L34-L50">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../comm/">« Communicators</a><a class="docs-footer-nextpage" href="../pointtopoint/">Point-to-point communication »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 6 November 2022 21:18">Sunday 6 November 2022</span>. Using Julia version 1.8.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR676/reference/collective/index.html b/previews/PR676/reference/collective/index.html
deleted file mode 100644
index a4c863840..000000000
--- a/previews/PR676/reference/collective/index.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Collective communication · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../library/">Library information</a></li><li><a class="tocitem" href="../environment/">Environment</a></li><li><a class="tocitem" href="../misc/">Miscellanea</a></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li class="is-active"><a class="tocitem" href>Collective communication</a><ul class="internal"><li><a class="tocitem" href="#Synchronization"><span>Synchronization</span></a></li><li><a class="tocitem" href="#Broadcast"><span>Broadcast</span></a></li><li><a class="tocitem" href="#Gather/Scatter"><span>Gather/Scatter</span></a></li><li><a class="tocitem" href="#Reduce/Scan"><span>Reduce/Scan</span></a></li></ul></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../advanced/">Advanced</a></li><li><a class="tocitem" href="../api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>Collective communication</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Collective communication</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/collective.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Collective-communication"><a class="docs-heading-anchor" href="#Collective-communication">Collective communication</a><a id="Collective-communication-1"></a><a class="docs-heading-anchor-permalink" href="#Collective-communication" title="Permalink"></a></h1><h2 id="Synchronization"><a class="docs-heading-anchor" href="#Synchronization">Synchronization</a><a id="Synchronization-1"></a><a class="docs-heading-anchor-permalink" href="#Synchronization" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Barrier" href="#MPI.Barrier"><code>MPI.Barrier</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Barrier(comm::Comm)</code></pre><p>Blocks until <code>comm</code> is synchronized.</p><p>If <code>comm</code> is an intracommunicator, then it blocks until all members of the group have called it.</p><p>If <code>comm</code> is an intercommunicator, then it blocks until all members of the other group have called it.</p><p><strong>External links</strong></p><ul><li><code>MPI_Barrier</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Barrier.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Barrier.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/collective.jl#L1-L12">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Ibarrier" href="#MPI.Ibarrier"><code>MPI.Ibarrier</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Ibarrier(comm::Comm)</code></pre><p>Blocks until <code>comm</code> is synchronized.</p><p>If <code>comm</code> is an intracommunicator, then it blocks until all members of the group have called it.</p><p>If <code>comm</code> is an intercommunicator, then it blocks until all members of the other group have called it.</p><p><strong>External links</strong></p><ul><li><code>MPI_Ibarrier</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ibarrier.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ibarrier.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/collective.jl#L19-L30">source</a></section></article><h2 id="Broadcast"><a class="docs-heading-anchor" href="#Broadcast">Broadcast</a><a id="Broadcast-1"></a><a class="docs-heading-anchor-permalink" href="#Broadcast" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Bcast!" href="#MPI.Bcast!"><code>MPI.Bcast!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Bcast!(buf, comm::Comm; root::Integer=0)</code></pre><p>Broadcast the buffer <code>buf</code> from <code>root</code> to all processes in <code>comm</code>.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.bcast"><code>bcast</code></a></li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Bcast</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Bcast.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Bcast.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/collective.jl#L39-L49">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.bcast" href="#MPI.bcast"><code>MPI.bcast</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">bcast(obj, comm::Comm; root::Integer=0)</code></pre><p>Broadcast the object <code>obj</code> from rank <code>root</code> to all processes on <code>comm</code>. This is able to handle arbitrary data.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Bcast!"><code>Bcast!</code></a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/collective.jl#L63-L72">source</a></section></article><h2 id="Gather/Scatter"><a class="docs-heading-anchor" href="#Gather/Scatter">Gather/Scatter</a><a id="Gather/Scatter-1"></a><a class="docs-heading-anchor-permalink" href="#Gather/Scatter" title="Permalink"></a></h2><h3 id="Gather"><a class="docs-heading-anchor" href="#Gather">Gather</a><a id="Gather-1"></a><a class="docs-heading-anchor-permalink" href="#Gather" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.Gather!" href="#MPI.Gather!"><code>MPI.Gather!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Gather!(sendbuf, recvbuf, comm::Comm; root::Integer=0)</code></pre><p>Each process sends the contents of the buffer <code>sendbuf</code> to the <code>root</code> process. The <code>root</code> process stores elements in rank order in the buffer buffer <code>recvbuf</code>.</p><p><code>sendbuf</code> should be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a> object, or any object for which <a href="../buffers/#MPI.Buffer_send"><code>Buffer_send</code></a> is defined, with the same length on all processes, and should be the same length on all processes.</p><p>On the root process, <code>sendbuf</code> can be <a href="../buffers/#MPI.IN_PLACE"><code>MPI.IN_PLACE</code></a> on the root process, in which case the corresponding entries in <code>recvbuf</code> are assumed to be already in place (this corresponds the behaviour of <code>MPI_IN_PLACE</code> in <code>MPI_Gather</code>). For example:</p><pre><code class="nohighlight hljs">if root == MPI.Comm_rank(comm)
-    MPI.Gather!(MPI.IN_PLACE, UBuffer(buf, count), comm; root=root)
-else
-    MPI.Gather!(buf, nothing, comm; root=root)
-end</code></pre><p><code>recvbuf</code> on the root process should be a <a href="../buffers/#MPI.UBuffer"><code>UBuffer</code></a>, or can be an <code>AbstractArray</code> if the length can be determined from <code>sendbuf</code>. On non-root processes it is ignored and can be <code>nothing</code>.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Gather"><code>Gather</code></a> for the allocating operation.</li><li><a href="#MPI.Gatherv!"><code>Gatherv!</code></a> if the number of elements varies between processes.</li><li><a href="#MPI.Allgather!"><code>Allgather!</code></a> to send the result to all processes.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Gather</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Gather.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Gather.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/collective.jl#L203-L235">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Gather" href="#MPI.Gather"><code>MPI.Gather</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Gather(sendbuf, comm::Comm; root=0)</code></pre><p>Each process sends the contents of the buffer <code>sendbuf</code> to the <code>root</code> process. The <code>root</code> allocates the output buffer and stores elements in rank order.</p><p><code>sendbuf</code> can be an <code>AbstractArray</code> or a scalar, and should be the same length on all processes.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Gather!"><code>Gather!</code></a> for the mutating operation.</li><li><a href="#MPI.Gatherv!"><code>Gatherv!</code></a> if the number of elements varies between processes.</li><li><a href="#MPI.Allgather!"><code>Allgather!</code></a>/<a href="#MPI.Allgather"><code>Allgather</code></a> to send the result to all processes.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Gather</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Gather.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Gather.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/collective.jl#L260-L276">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Gatherv!" href="#MPI.Gatherv!"><code>MPI.Gatherv!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Gatherv!(sendbuf, recvbuf, comm::Comm; root::Integer=0)</code></pre><p>Each process sends the contents of the buffer <code>sendbuf</code> to the <code>root</code> process. The <code>root</code> stores elements in rank order in the buffer <code>recvbuf</code>.</p><p><code>sendbuf</code> should be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a> object, or any object for which <a href="../buffers/#MPI.Buffer_send"><code>Buffer_send</code></a> is defined, with the same length on all processes.</p><p>On the root process, <code>sendbuf</code> can be <a href="../buffers/#MPI.IN_PLACE"><code>MPI.IN_PLACE</code></a>, in which case the corresponding entries in <code>recvbuf</code> are assumed to be already in place. For example</p><pre><code class="nohighlight hljs">if root == MPI.Comm_rank(comm)
-    Gatherv!(MPI.IN_PLACE, VBuffer(buf, counts), comm; root=root)
-else
-    Gatherv!(buf, nothing, comm; root=root)
-end</code></pre><p><code>recvbuf</code> on the root process should be a <a href="../buffers/#MPI.VBuffer"><code>VBuffer</code></a>, or can be an <code>AbstractArray</code> if the length can be determined from <code>sendbuf</code>. On non-root processes it is ignored and can be <code>nothing</code>.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Gatherv!"><code>Gatherv!</code></a> for the allocating operation</li><li><a href="#MPI.Gather!"><code>Gather!</code></a></li><li><a href="#MPI.Allgatherv!"><code>Allgatherv!</code></a> to send the result to all processes</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Gatherv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Gatherv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Gatherv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/collective.jl#L284-L314">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Allgather!" href="#MPI.Allgather!"><code>MPI.Allgather!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Allgather!(sendbuf, recvbuf::UBuffer, comm::Comm)
-Allgather!(sendrecvbuf::UBuffer, comm::Comm)</code></pre><p>Each process sends the contents of <code>sendbuf</code> to the other processes, the result of which is stored in rank order into <code>recvbuf</code>.</p><p><code>sendbuf</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a> object, or any object for which <a href="../buffers/#MPI.Buffer_send"><code>Buffer_send</code></a> is defined, and should be the same length on all processes.</p><p><code>recvbuf</code> can be a <a href="../buffers/#MPI.UBuffer"><code>UBuffer</code></a>, or can be an <code>AbstractArray</code> if the length can be determined from <code>sendbuf</code>.</p><p>If only one buffer <code>sendrecvbuf</code> is provided, then on each process the data to send is assumed to be in the area where it would receive its own contribution.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Allgather"><code>Allgather</code></a> for the allocating operation</li><li><a href="#MPI.Allgatherv!"><code>Allgatherv!</code></a> if the number of elements varies between processes.</li><li><a href="#MPI.Gather!"><code>Gather!</code></a> to send only to a single root process</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Allgather</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allgather.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allgather.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/collective.jl#L335-L358">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Allgather" href="#MPI.Allgather"><code>MPI.Allgather</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Allgather(sendbuf, comm)</code></pre><p>Each process sends the contents of <code>sendbuf</code> to the other processes, who store the results in rank order allocating the output buffer.</p><p><code>sendbuf</code> can be an <code>AbstractArray</code> or a scalar, and should be the same size on all processes.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Allgather!"><code>Allgather!</code></a> for the mutating operation</li><li><a href="#MPI.Allgatherv!"><code>Allgatherv!</code></a> if the number of elements varies between processes.</li><li><a href="#MPI.Gather!"><code>Gather!</code></a> to send only to a single root process</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Allgather</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allgather.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allgather.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/collective.jl#L381-L397">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Allgatherv!" href="#MPI.Allgatherv!"><code>MPI.Allgatherv!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Allgatherv!(sendbuf, recvbuf::VBuffer, comm::Comm)
-Allgatherv!(sendrecvbuf::VBuffer, comm::Comm)</code></pre><p>Each process sends the contents of <code>sendbuf</code> to all other process. Each process stores the received in the <a href="../buffers/#MPI.VBuffer"><code>VBuffer</code></a> <code>recvbuf</code>.</p><p><code>sendbuf</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a> object, or any object for which <a href="../buffers/#MPI.Buffer_send"><code>Buffer_send</code></a> is defined.</p><p>If only one buffer <code>sendrecvbuf</code> is provided, then for each process, the data to be sent is taken from the interval of <code>recvbuf</code> where it would store its own data.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Gatherv!"><code>Gatherv!</code></a> to send the result to a single process</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Allgatherv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allgatherv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allgatherv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/collective.jl#L404-L422">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Neighbor_allgather!" href="#MPI.Neighbor_allgather!"><code>MPI.Neighbor_allgather!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Neighbor_allgather!(sendbuf::Buffer, recvbuf::UBuffer, comm::Comm)</code></pre><p>Perform an all-gather communication along the directed edges of the graph.</p><p>See also <a href="#MPI.Allgather!"><code>MPI.Allgather!</code></a>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Neighbor_allgather</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_allgather.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_allgather.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/collective.jl#L844-L853">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Neighbor_allgatherv!" href="#MPI.Neighbor_allgatherv!"><code>MPI.Neighbor_allgatherv!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Neighbor_allgatherv!(sendbuf::Buffer, recvbuf::VBuffer, comm::Comm)</code></pre><p>Perform an all-gather communication along the directed edges of the graph with variable sized data.</p><p>See also <a href="#MPI.Allgatherv!"><code>MPI.Allgatherv!</code></a>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Neighbor_allgatherv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_allgatherv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_allgatherv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/collective.jl#L872-L881">source</a></section></article><h3 id="Scatter"><a class="docs-heading-anchor" href="#Scatter">Scatter</a><a id="Scatter-1"></a><a class="docs-heading-anchor-permalink" href="#Scatter" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.Scatter!" href="#MPI.Scatter!"><code>MPI.Scatter!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Scatter!(sendbuf::Union{UBuffer,Nothing}, recvbuf, comm::Comm;
-    root::Integer=0)</code></pre><p>Splits the buffer <code>sendbuf</code> in the <code>root</code> process into <code>Comm_size(comm)</code> chunks, sending the <code>j</code>-th chunk to the process of rank <code>j-1</code> into the <code>recvbuf</code> buffer.</p><p><code>sendbuf</code> on the root process should be a <a href="../buffers/#MPI.UBuffer"><code>UBuffer</code></a> (an <code>Array</code> can also be passed directly if the sizes can be determined from <code>recvbuf</code>). On non-root processes it is ignored, and <code>nothing</code> can be passed instead.</p><p><code>recvbuf</code> is a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a> object, or any object for which <code>Buffer(recvbuf)</code> is defined. On the root process, it can also be <a href="../buffers/#MPI.IN_PLACE"><code>MPI.IN_PLACE</code></a>, in which case it is unmodified. For example:</p><pre><code class="nohighlight hljs">if root == MPI.Comm_rank(comm)
-    MPI.Scatter!(UBuffer(buf, count), MPI.IN_PLACE, comm; root=root)
-else
-    MPI.Scatter!(nothing, buf, comm; root=root)
-end</code></pre><p><strong>See also</strong></p><ul><li><a href="#MPI.Scatterv!"><code>Scatterv!</code></a> if the number of elements varies between processes.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Scatter</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scatter.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scatter.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/collective.jl#L93-L120">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Scatter" href="#MPI.Scatter"><code>MPI.Scatter</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Scatter(sendbuf, T, comm::Comm; root::Integer=0)</code></pre><p>Splits the buffer <code>sendbuf</code> in the <code>root</code> process into <code>Comm_size(comm)</code> chunks, sending the <code>j</code>-th chunk to the process of rank <code>j-1</code> as an object of type <code>T</code>.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Scatter!"><code>Scatter!</code></a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/collective.jl#L143-L151">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Scatterv!" href="#MPI.Scatterv!"><code>MPI.Scatterv!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Scatterv!(sendbuf, recvbuf, comm::Comm; root::Integer=0)</code></pre><p>Splits the buffer <code>sendbuf</code> in the <code>root</code> process into <code>Comm_size(comm)</code> chunks and sends the <code>j</code>th chunk to the process of rank <code>j-1</code> into the <code>recvbuf</code> buffer.</p><p><code>sendbuf</code> on the root process should be a <a href="../buffers/#MPI.VBuffer"><code>VBuffer</code></a>. On non-root processes it is ignored, and <code>nothing</code> can be passed instead.</p><p><code>recvbuf</code> is a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a> object, or any object for which <code>Buffer(recvbuf)</code> is defined. On the root process, it can also be <a href="../buffers/#MPI.IN_PLACE"><code>MPI.IN_PLACE</code></a>, in which case it is unmodified. For example:</p><pre><code class="nohighlight hljs">if root == MPI.Comm_rank(comm)
-    MPI.Scatterv!(VBuffer(buf, counts), MPI.IN_PLACE, comm; root=root)
-else
-    MPI.Scatterv!(nothing, buf, comm; root=root)
-end</code></pre><p><strong>See also</strong></p><ul><li><a href="#MPI.Scatter!"><code>Scatter!</code></a> if the number of elements are the same for all processes</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Scatterv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scatterv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scatterv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/collective.jl#L157-L182">source</a></section></article><h3 id="All-to-all"><a class="docs-heading-anchor" href="#All-to-all">All-to-all</a><a id="All-to-all-1"></a><a class="docs-heading-anchor-permalink" href="#All-to-all" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.Alltoall!" href="#MPI.Alltoall!"><code>MPI.Alltoall!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Alltoall!(sendbuf::UBuffer, recvbuf::UBuffer, comm::Comm)
-Alltoall!(sendrecvbuf::UBuffer, comm::Comm)</code></pre><p>Every process divides the <a href="../buffers/#MPI.UBuffer"><code>UBuffer</code></a> <code>sendbuf</code> into <code>Comm_size(comm)</code> chunks of equal size, sending the <code>j</code>-th chunk to the process of rank <code>j-1</code>.  Every process stores the data received from rank <code>j-1</code> process in the <code>j</code>-th chunk of the buffer <code>recvbuf</code>.</p><pre><code class="nohighlight hljs">rank    send buf                        recv buf
-----    --------                        --------
- 0      a,b,c,d,e,f       Alltoall      a,b,A,B,α,β
- 1      A,B,C,D,E,F  ----------------&gt;  c,d,C,D,γ,ψ
- 2      α,β,γ,ψ,η,ν                     e,f,E,F,η,ν</code></pre><p>If only one buffer <code>sendrecvbuf</code> is used, then data is overwritten.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Alltoall"><code>Alltoall</code></a> for the allocating operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Alltoall</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoall.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoall.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/collective.jl#L442-L465">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Alltoall" href="#MPI.Alltoall"><code>MPI.Alltoall</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Alltoall(sendbuf::UBuffer, comm::Comm)</code></pre><p>Every process divides the <a href="../buffers/#MPI.UBuffer"><code>UBuffer</code></a> <code>sendbuf</code> into <code>Comm_size(comm)</code> chunks of equal size, sending the <code>j</code>-th chunk to the process of rank <code>j-1</code>. Every process allocates the output buffer and stores the data received from the process on rank <code>j-1</code> in the <code>j</code>-th chunk.</p><pre><code class="nohighlight hljs">rank    send buf                        recv buf
-----    --------                        --------
- 0      a,b,c,d,e,f       Alltoall      a,b,A,B,α,β
- 1      A,B,C,D,E,F  ----------------&gt;  c,d,C,D,γ,ψ
- 2      α,β,γ,ψ,η,ν                     e,f,E,F,η,ν</code></pre><p><strong>See also</strong></p><ul><li><a href="#MPI.Alltoall!"><code>Alltoall!</code></a> for the mutating operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Alltoall</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoall.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoall.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/collective.jl#L486-L507">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Alltoallv!" href="#MPI.Alltoallv!"><code>MPI.Alltoallv!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Alltoallv!(sendbuf::VBuffer, recvbuf::VBuffer, comm::Comm)</code></pre><p>Similar to <a href="#MPI.Alltoall!"><code>Alltoall!</code></a>, except with different size chunks per process.</p><p><strong>See also</strong></p><ul><li><a href="../buffers/#MPI.VBuffer"><code>VBuffer</code></a></li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Alltoallv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoallv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoallv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/collective.jl#L512-L522">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Neighbor_alltoall!" href="#MPI.Neighbor_alltoall!"><code>MPI.Neighbor_alltoall!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Neighbor_alltoall!(sendbuf::UBuffer, recvbuf::UBuffer, comm::Comm)</code></pre><p>Perform an all-to-all communication along the directed edges of the graph with fixed size messages.</p><p>See also <a href="#MPI.Alltoall!"><code>MPI.Alltoall!</code></a>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Neighbor_alltoall</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_alltoall.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_alltoall.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/collective.jl#L797-L806">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Neighbor_alltoallv!" href="#MPI.Neighbor_alltoallv!"><code>MPI.Neighbor_alltoallv!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Neighbor_alltoallv!(sendbuf::VBuffer, recvbuf::VBuffer, graph_comm::Comm)</code></pre><p>Perform an all-to-all communication along the directed edges of the graph with variable size messages.</p><p>See also <a href="#MPI.Alltoallv!"><code>MPI.Alltoallv!</code></a>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Neighbor_alltoallv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_alltoallv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_alltoallv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/collective.jl#L823-L832">source</a></section></article><h2 id="Reduce/Scan"><a class="docs-heading-anchor" href="#Reduce/Scan">Reduce/Scan</a><a id="Reduce/Scan-1"></a><a class="docs-heading-anchor-permalink" href="#Reduce/Scan" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Reduce!" href="#MPI.Reduce!"><code>MPI.Reduce!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Reduce!(sendbuf, recvbuf, op, comm::Comm; root::Integer=0)
-Reduce!(sendrecvbuf, op, comm::Comm; root::Integer=0)</code></pre><p>Performs elementwise reduction using the operator <code>op</code> on the buffer <code>sendbuf</code> and stores the result in <code>recvbuf</code> on the process of rank <code>root</code>.</p><p>On non-root processes <code>recvbuf</code> is ignored, and can be <code>nothing</code>.</p><p>To perform the reduction in place, provide a single buffer <code>sendrecvbuf</code>.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Reduce"><code>Reduce</code></a> to handle allocation of the output buffer.</li><li><a href="#MPI.Allreduce!"><code>Allreduce!</code></a>/<a href="#MPI.Allreduce"><code>Allreduce</code></a> to send reduction to all ranks.</li><li><a href="../advanced/#MPI.Op"><code>Op</code></a> for details on reduction operators.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Reduce</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/collective.jl#L545-L563">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Reduce" href="#MPI.Reduce"><code>MPI.Reduce</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">recvbuf = Reduce(sendbuf, op, comm::Comm; root::Integer=0)</code></pre><p>Performs elementwise reduction using the operator <code>op</code> on the buffer <code>sendbuf</code>, returning the result <code>recvbuf</code> on the process of rank <code>root</code>, and <code>nothing</code> on non-root processes.</p><p><code>sendbuf</code> can also be a scalar, in which case <code>recvbuf</code> will be a value of the same type.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Reduce!"><code>Reduce!</code></a> for mutating and in-place operations</li><li><a href="#MPI.Allreduce!"><code>Allreduce!</code></a>/<a href="#MPI.Allreduce"><code>Allreduce</code></a> to send reduction to all ranks.</li><li><a href="../advanced/#MPI.Op"><code>Op</code></a> for details on reduction operators.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Reduce</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/collective.jl#L593-L608">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Allreduce!" href="#MPI.Allreduce!"><code>MPI.Allreduce!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Allreduce!(sendbuf, recvbuf, op, comm::Comm)
-Allreduce!(sendrecvbuf, op, comm::Comm)</code></pre><p>Performs elementwise reduction using the operator <code>op</code> on the buffer <code>sendbuf</code>, storing the result in the <code>recvbuf</code> of all processes in the group.</p><p><code>Allreduce!</code> is equivalent to a <a href="#MPI.Reduce!"><code>Reduce!</code></a> operation followed by a <a href="#MPI.Bcast!"><code>Bcast!</code></a>, but can lead to better performance.</p><p>If only one <code>sendrecvbuf</code> buffer is provided, then the operation is performed in-place.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Allreduce"><code>Allreduce</code></a>, to handle allocation of the output buffer.</li><li><a href="#MPI.Reduce!"><code>Reduce!</code></a>/<a href="#MPI.Reduce"><code>Reduce</code></a> to send reduction to a single rank.</li><li><a href="../advanced/#MPI.Op"><code>Op</code></a> for details on reduction operators.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Allreduce</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allreduce.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allreduce.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/collective.jl#L630-L649">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Allreduce" href="#MPI.Allreduce"><code>MPI.Allreduce</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">recvbuf = Allreduce(sendbuf, op, comm)</code></pre><p>Performs elementwise reduction using the operator <code>op</code> on the buffer <code>sendbuf</code>, returning the result in the <code>recvbuf</code> of all processes in the group.</p><p><code>sendbuf</code> can also be a scalar, in which case <code>recvbuf</code> will be a value of the same type.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Allreduce!"><code>Allreduce!</code></a> for mutating or in-place operations.</li><li><a href="#MPI.Reduce!"><code>Reduce!</code></a>/<a href="#MPI.Reduce"><code>Reduce</code></a> to send reduction to a single rank.</li><li><a href="../advanced/#MPI.Op"><code>Op</code></a> for details on reduction operators.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Allreduce</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allreduce.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allreduce.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/collective.jl#L665-L680">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Scan!" href="#MPI.Scan!"><code>MPI.Scan!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Scan!(sendbuf, recvbuf, op, comm::Comm)
-Scan!(sendrecvbuf, op, comm::Comm)</code></pre><p>Inclusive prefix reduction (analagous to <code>accumulate</code> in Julia): <code>recvbuf</code> on rank <code>i</code> will contain the the result of reducing <code>sendbuf</code> by <code>op</code> from ranks <code>0:i</code>.</p><p>If only a single buffer <code>sendrecvbuf</code> is provided, then operations will be performed in-place.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Scan"><code>Scan</code></a> to handle allocation of the output buffer</li><li><a href="#MPI.Exscan!"><code>Exscan!</code></a>/<a href="#MPI.Exscan"><code>Exscan</code></a> for exclusive scan</li><li><a href="../advanced/#MPI.Op"><code>Op</code></a> for details on reduction operators.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Scan</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scan.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scan.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/collective.jl#L689-L706">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Scan" href="#MPI.Scan"><code>MPI.Scan</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">recvbuf = Scan(sendbuf, op, comm::Comm)</code></pre><p>Inclusive prefix reduction (analagous to <code>accumulate</code> in Julia): <code>recvbuf</code> on rank <code>i</code> will contain the the result of reducing <code>sendbuf</code> by <code>op</code> from ranks <code>0:i</code>.</p><p><code>sendbuf</code> can also be a scalar, in which case <code>recvbuf</code> will also be a scalar of the same type.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Scan!"><code>Scan!</code></a> for mutating or in-place operations</li><li><a href="#MPI.Exscan!"><code>Exscan!</code></a>/<a href="#MPI.Exscan"><code>Exscan</code></a> for exclusive scan</li><li><a href="../advanced/#MPI.Op"><code>Op</code></a> for details on reduction operators.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Scan</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scan.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scan.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/collective.jl#L721-L737">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Exscan!" href="#MPI.Exscan!"><code>MPI.Exscan!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Exscan!(sendbuf, recvbuf, op, comm::Comm)
-Exscan!(sendrecvbuf, op, comm::Comm)</code></pre><p>Exclusive prefix reduction (analagous to <code>accumulate</code> in Julia): <code>recvbuf</code> on rank <code>i</code> will contain the the result of reducing <code>sendbuf</code> by <code>op</code> from ranks <code>0:i-1</code>. The <code>recvbuf</code> on rank <code>0</code> is ignored, and the <code>recvbuf</code> on rank <code>1</code> will contain the contents of <code>sendbuf</code> on rank <code>0</code>.</p><p>If only a single <code>sendrecvbuf</code> is provided, then operations are performed in-place, and <code>buf</code> on rank 0 will remain unchanged.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Exscan"><code>Exscan</code></a> to handle allocation of the output buffer</li><li><a href="#MPI.Scan!"><code>Scan!</code></a>/<a href="#MPI.Scan"><code>Scan</code></a> for inclusive scan</li><li><a href="../advanced/#MPI.Op"><code>Op</code></a> for details on reduction operators.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Exscan</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Exscan.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Exscan.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/collective.jl#L744-L763">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Exscan" href="#MPI.Exscan"><code>MPI.Exscan</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">recvbuf = Exscan(sendbuf, op, comm::Comm)</code></pre><p>Exclusive prefix reduction (analagous to <code>accumulate</code> in Julia): <code>recvbuf</code> on rank <code>i</code> will contain the the result of reducing <code>sendbuf</code> by <code>op</code> from ranks <code>0:i-1</code>. The <code>recvbuf</code> on rank <code>0</code> is undefined, and the <code>recvbuf</code> on rank <code>1</code> will contain the contents of <code>sendbuf</code> on rank <code>0</code>.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Exscan!"><code>Exscan!</code></a> for mutating and in-place operations</li><li><a href="#MPI.Scan!"><code>Scan!</code></a>/<a href="#MPI.Scan"><code>Scan</code></a> for inclusive scan</li><li><a href="../advanced/#MPI.Op"><code>Op</code></a> for details on reduction operators.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Scan</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scan.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scan.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/collective.jl#L777-L792">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../pointtopoint/">« Point-to-point communication</a><a class="docs-footer-nextpage" href="../onesided/">One-sided communication »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 6 November 2022 21:18">Sunday 6 November 2022</span>. Using Julia version 1.8.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR676/reference/comm/index.html b/previews/PR676/reference/comm/index.html
deleted file mode 100644
index 5a03a18fe..000000000
--- a/previews/PR676/reference/comm/index.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Communicators · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../library/">Library information</a></li><li><a class="tocitem" href="../environment/">Environment</a></li><li><a class="tocitem" href="../misc/">Miscellanea</a></li><li class="is-active"><a class="tocitem" href>Communicators</a><ul class="internal"><li><a class="tocitem" href="#Types-and-enums"><span>Types and enums</span></a></li><li><a class="tocitem" href="#Constants"><span>Constants</span></a></li><li><a class="tocitem" href="#Functions"><span>Functions</span></a></li></ul></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../advanced/">Advanced</a></li><li><a class="tocitem" href="../api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>Communicators</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Communicators</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/comm.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Communicators"><a class="docs-heading-anchor" href="#Communicators">Communicators</a><a id="Communicators-1"></a><a class="docs-heading-anchor-permalink" href="#Communicators" title="Permalink"></a></h1><p>An MPI communicator specifies the communication context for a communication operation. In particular, it specifies the set of processes which share the context, and assigns each each process a unique <em>rank</em> (see <a href="#MPI.Comm_rank"><code>MPI.Comm_rank</code></a>) taking an integer value in <code>0:n-1</code>, where <code>n</code> is the number of processes in the communicator (see <a href="#MPI.Comm_size"><code>MPI.Comm_size</code></a>.</p><h2 id="Types-and-enums"><a class="docs-heading-anchor" href="#Types-and-enums">Types and enums</a><a id="Types-and-enums-1"></a><a class="docs-heading-anchor-permalink" href="#Types-and-enums" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm" href="#MPI.Comm"><code>MPI.Comm</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.Comm</code></pre><p>An MPI Communicator object.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/comm.jl#L1-L5">source</a></section></article><h2 id="Constants"><a class="docs-heading-anchor" href="#Constants">Constants</a><a id="Constants-1"></a><a class="docs-heading-anchor-permalink" href="#Constants" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.COMM_WORLD" href="#MPI.COMM_WORLD"><code>MPI.COMM_WORLD</code></a> — <span class="docstring-category">Constant</span></header><section><div><pre><code class="language-julia hljs">MPI.COMM_WORLD</code></pre><p>A communicator containing all processes with which the local rank can communicate at initialization. In a typical &quot;static-process&quot; model, this will be all processes.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/comm.jl#L18-L23">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.COMM_SELF" href="#MPI.COMM_SELF"><code>MPI.COMM_SELF</code></a> — <span class="docstring-category">Constant</span></header><section><div><pre><code class="language-julia hljs">MPI.COMM_SELF</code></pre><p>A communicator containing only the local process.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/comm.jl#L27-L31">source</a></section></article><h2 id="Functions"><a class="docs-heading-anchor" href="#Functions">Functions</a><a id="Functions-1"></a><a class="docs-heading-anchor-permalink" href="#Functions" title="Permalink"></a></h2><h3 id="Operations"><a class="docs-heading-anchor" href="#Operations">Operations</a><a id="Operations-1"></a><a class="docs-heading-anchor-permalink" href="#Operations" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_size" href="#MPI.Comm_size"><code>MPI.Comm_size</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_size(comm::Comm)</code></pre><p>The number of processes involved in communicator.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Comm_rank"><code>MPI.Comm_rank</code></a>.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Comm_size</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_size.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_size.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/comm.jl#L65-L75">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_rank" href="#MPI.Comm_rank"><code>MPI.Comm_rank</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_rank(comm::Comm)</code></pre><p>The rank of the process in the particular communicator&#39;s group.</p><p>Returns an integer in the range <code>0:MPI.Comm_size()-1</code>.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Comm_size"><code>MPI.Comm_size</code></a>.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Comm_rank</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_rank.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_rank.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/comm.jl#L46-L58">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_compare" href="#MPI.Comm_compare"><code>MPI.Comm_compare</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_compare(comm1::Comm, comm2::Comm)::MPI.Comparison</code></pre><p>Compare two communicators and their underlying groups, returning an element of the <a href="../group/#MPI.Comparison"><code>Comparison</code></a> enum.</p><p><strong>External links</strong></p><ul><li><code>MPI_Comm_compare</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_compare.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_compare.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/comm.jl#L295-L302">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_group" href="#MPI.Comm_group"><code>MPI.Comm_group</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_group(comm::Comm)</code></pre><p>Accesses the group associated with given communicator.</p><p><strong>External links</strong></p><ul><li><code>MPI_Comm_group</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_group.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_group.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/comm.jl#L82-L89">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_remote_group" href="#MPI.Comm_remote_group"><code>MPI.Comm_remote_group</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_remote_group(comm::Comm)</code></pre><p>Accesses the remote group associated with the given inter-communicator.</p><p><strong>External links</strong></p><ul><li><code>MPI_Comm_remote_group</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_remote_group.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_remote_group.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/comm.jl#L97-L104">source</a></section></article><h3 id="Constructors"><a class="docs-heading-anchor" href="#Constructors">Constructors</a><a id="Constructors-1"></a><a class="docs-heading-anchor-permalink" href="#Constructors" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_create" href="#MPI.Comm_create"><code>MPI.Comm_create</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_create(comm::Comm, group::Group)</code></pre><p>Collectively creates a new communicator.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Comm_create_group"><code>MPI.Comm_create_group</code></a> for the noncollective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Comm_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/comm.jl#L112-L122">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_create_group" href="#MPI.Comm_create_group"><code>MPI.Comm_create_group</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_create_group(comm::Comm, group::Group, tag::Integer)</code></pre><p>Noncollectively creates a new communicator.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Comm_create"><code>MPI.Comm_create</code></a> for the noncollective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Comm_create_group</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_create_group.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_create_group.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/comm.jl#L130-L140">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_dup" href="#MPI.Comm_dup"><code>MPI.Comm_dup</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_dup(comm::Comm)</code></pre><p><strong>External links</strong></p><ul><li><code>MPI_Comm_dup</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_dup.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_dup.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/comm.jl#L148-L153">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_get_parent" href="#MPI.Comm_get_parent"><code>MPI.Comm_get_parent</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_get_parent()</code></pre><p><strong>External links</strong></p><ul><li><code>MPI_Comm_get_parent</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_get_parent.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_get_parent.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/comm.jl#L218-L223">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_spawn" href="#MPI.Comm_spawn"><code>MPI.Comm_spawn</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_spawn(command, argv::Vector{String}, nprocs::Integer, comm::Comm[, errors::Vector{Cint}]; kwargs...)</code></pre><p><strong>External links</strong></p><ul><li><code>MPI_Comm_spawn</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_spawn.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_spawn.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/comm.jl#L230-L235">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_split" href="#MPI.Comm_split"><code>MPI.Comm_split</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_split(comm::Comm, color::Union{Integer,Nothing}, key::Integer)</code></pre><p>Partition the communicator <code>comm</code>, one for each value of <code>color</code>, returning a new communicator. Within each group, the processes are ranked in the order of <code>key</code>, with ties broken by the order of <code>comm</code>.</p><p><code>color</code> should be a non-negative integer, or <code>nothing</code>, in which case a null communicator is returned for that rank.</p><p><strong>External links</strong></p><ul><li><code>MPI_Comm_split</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_split.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_split.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/comm.jl#L161-L173">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_split_type" href="#MPI.Comm_split_type"><code>MPI.Comm_split_type</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_split_type(comm::Comm, split_type, key::Integer; kwargs...)</code></pre><p>Partitions the communicator <code>comm</code> based on <code>split_type</code>, returning a new communicator. Within each group, the processes are ranked in the order of <code>key</code>, with ties broken by the order of <code>comm</code>.</p><p>Currently only one <code>split_type</code> is provided:</p><ul><li><code>MPI.COMM_TYPE_SHARED</code>: splits the communicator into subcommunicators, each of which can create a shared memory region.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Comm_split_type</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_split_type.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_split_type.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/comm.jl#L191-L205">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Intercomm_merge" href="#MPI.Intercomm_merge"><code>MPI.Intercomm_merge</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Intercomm_merge(intercomm::Comm, flag::Bool)</code></pre><p><strong>External links</strong></p><ul><li><code>MPI_Intercomm_merge</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Intercomm_merge.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Intercomm_merge.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/comm.jl#L247-L252">source</a></section></article><h3 id="Miscellaneous"><a class="docs-heading-anchor" href="#Miscellaneous">Miscellaneous</a><a id="Miscellaneous-1"></a><a class="docs-heading-anchor-permalink" href="#Miscellaneous" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.universe_size" href="#MPI.universe_size"><code>MPI.universe_size</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">universe_size()</code></pre><p>The total number of available slots, or <code>nothing</code> if it is not defined. This is determined by the <code>MPI_UNIVERSE_SIZE</code> attribute of <code>COMM_WORLD</code>.</p><p>This is typically dependent on the MPI implementation: for MPICH-based implementations, this is specified by the <code>-usize</code> argument. OpenMPI defines a default value based on the number of processes available.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/comm.jl#L271-L277">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.tag_ub" href="#MPI.tag_ub"><code>MPI.tag_ub</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">tag_ub()</code></pre><p>The maximum value tag value for point-to-point operations.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/comm.jl#L284-L288">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../misc/">« Miscellanea</a><a class="docs-footer-nextpage" href="../buffers/">Buffers »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 6 November 2022 21:18">Sunday 6 November 2022</span>. Using Julia version 1.8.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR676/reference/environment/index.html b/previews/PR676/reference/environment/index.html
deleted file mode 100644
index 6ed58763a..000000000
--- a/previews/PR676/reference/environment/index.html
+++ /dev/null
@@ -1,7 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Environment · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../library/">Library information</a></li><li class="is-active"><a class="tocitem" href>Environment</a><ul class="internal"><li><a class="tocitem" href="#Launching-MPI-programs"><span>Launching MPI programs</span></a></li><li><a class="tocitem" href="#Enums"><span>Enums</span></a></li><li><a class="tocitem" href="#Functions"><span>Functions</span></a></li><li><a class="tocitem" href="#Errors"><span>Errors</span></a></li></ul></li><li><a class="tocitem" href="../misc/">Miscellanea</a></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../advanced/">Advanced</a></li><li><a class="tocitem" href="../api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>Environment</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Environment</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/environment.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Environment"><a class="docs-heading-anchor" href="#Environment">Environment</a><a id="Environment-1"></a><a class="docs-heading-anchor-permalink" href="#Environment" title="Permalink"></a></h1><h2 id="Launching-MPI-programs"><a class="docs-heading-anchor" href="#Launching-MPI-programs">Launching MPI programs</a><a id="Launching-MPI-programs-1"></a><a class="docs-heading-anchor-permalink" href="#Launching-MPI-programs" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPICH_jll.mpiexec" href="#MPICH_jll.mpiexec"><code>MPICH_jll.mpiexec</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">mpiexec(fn)</code></pre><p>A wrapper function for the MPI launcher executable. Calls <code>fn(cmd)</code>, where <code>cmd</code> is a <code>Cmd</code> object of the MPI launcher.</p><p><strong>Usage</strong></p><pre><code class="language-julia-repl hljs">julia&gt; mpiexec(cmd -&gt; run(`$cmd -n 3 echo hello world`));
-hello world
-hello world
-hello world</code></pre></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/environment.jl#L1-L14">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.install_mpiexecjl" href="#MPI.install_mpiexecjl"><code>MPI.install_mpiexecjl</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.install_mpiexecjl(; command::String = &quot;mpiexecjl&quot;,
-                      destdir::String = joinpath(DEPOT_PATH[1], &quot;bin&quot;),
-                      force::Bool = false, verbose::Bool = true)</code></pre><p>Install the <code>mpiexec</code> wrapper to <code>destdir</code> directory, with filename <code>command</code>. Set <code>force</code> to <code>true</code> to overwrite an existing destination file with the same path.  If <code>verbose</code> is <code>true</code>, the installation prints information about the progress of the process.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/mpiexec_wrapper.jl#L1-L10">source</a></section></article><h2 id="Enums"><a class="docs-heading-anchor" href="#Enums">Enums</a><a id="Enums-1"></a><a class="docs-heading-anchor-permalink" href="#Enums" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.ThreadLevel" href="#MPI.ThreadLevel"><code>MPI.ThreadLevel</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">ThreadLevel</code></pre><p>An Enum denoting the level of threading support in the current process:</p><ul><li><p><code>MPI.THREAD_SINGLE</code>: Only one thread will execute.</p></li><li><p><code>MPI.THREAD_FUNNELED</code>: The process may be multi-threaded, but the application must ensure that only the main thread makes MPI calls. See <a href="#MPI.Is_thread_main"><code>Is_thread_main</code></a>.</p></li><li><p><code>MPI.THREAD_SERIALIZED</code>: The process may be multi-threaded, and multiple threads may make MPI calls, but only one at a time (i.e. all MPI calls are serialized).</p></li><li><p><code>MPI.THREAD_MULTIPLE</code>: Multiple threads may call MPI, with no restrictions.</p></li></ul><p><strong>See also</strong></p><ul><li><a href="#MPI.Init"><code>Init</code></a></li><li><a href="#MPI.Query_thread"><code>Query_thread</code></a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/environment.jl#L124-L143">source</a></section></article><h2 id="Functions"><a class="docs-heading-anchor" href="#Functions">Functions</a><a id="Functions-1"></a><a class="docs-heading-anchor-permalink" href="#Functions" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Abort" href="#MPI.Abort"><code>MPI.Abort</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Abort(comm::Comm, errcode::Integer)</code></pre><p>Make a “best attempt” to abort all tasks in the group of <code>comm</code>. This function does not require that the invoking environment take any action with the error code. However, a Unix or POSIX environment should handle this as a return errorcode from the main program.</p><p><strong>External links</strong></p><ul><li><code>MPI_Abort</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Abort.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Abort.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/environment.jl#L226-L235">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Init" href="#MPI.Init"><code>MPI.Init</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Init(;threadlevel=:serialized, finalize_atexit=true, errors_return=true)</code></pre><p>Initialize MPI in the current process. The keyword options:</p><ul><li><code>threadlevel</code>: either <code>:single</code>, <code>:funneled</code>, <code>:serialized</code> (default), <code>:multiple</code>, or an instance of <a href="#MPI.ThreadLevel"><code>ThreadLevel</code></a>.</li><li><code>finalize_atexit</code>: if <code>true</code> (default), adds an <code>atexit</code> hook to call <a href="#MPI.Finalize"><code>MPI.Finalize</code></a> if it hasn&#39;t already been called.</li><li><code>errors_return</code>: if <code>true</code> (default), will set the default error handlers for <a href="../comm/#MPI.COMM_SELF"><code>MPI.COMM_SELF</code></a> and <a href="../comm/#MPI.COMM_WORLD"><code>MPI.COMM_WORLD</code></a> to be <code>MPI.ERRORS_RETURN</code>. MPI errors will then appear as Julia exceptions.</li></ul><p>It will return the <a href="#MPI.ThreadLevel"><code>ThreadLevel</code></a> value which MPI is initialized at.</p><p>All MPI programs must call this function at least once before calling any other MPI operations: the only MPI functions that may be called before <code>MPI.Init</code> are <a href="#MPI.Initialized"><code>MPI.Initialized</code></a> and <a href="#MPI.Finalized"><code>MPI.Finalized</code></a>.</p><p>It is safe to call <code>MPI.Init</code> multiple times, however it is not valid to call it after calling <a href="#MPI.Finalize"><code>MPI.Finalize</code></a>.</p><p><strong>External links</strong></p><ul><li><p><code>MPI_Init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Init.html">MPICH</a></p></li><li><p><code>MPI_Init_thread</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Init_thread.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Init_thread.html">MPICH</a></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/environment.jl#L55-L80">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Query_thread" href="#MPI.Query_thread"><code>MPI.Query_thread</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Query_thread()</code></pre><p>Query the level of threading support in the current process. Returns a <a href="#MPI.ThreadLevel"><code>ThreadLevel</code></a> value denoting</p><p><strong>External links</strong></p><ul><li><code>MPI_Query_thread</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Query_thread.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Query_thread.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/environment.jl#L172-L180">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Is_thread_main" href="#MPI.Is_thread_main"><code>MPI.Is_thread_main</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Is_thread_main()</code></pre><p>Queries whether the current thread is the main thread according to MPI. This can be called by any thread, and is useful for the  <code>THREAD_FUNNELED</code> <a href="#MPI.ThreadLevel"><code>ThreadLevel</code></a>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Is_thread_main</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Is_thread_main.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Is_thread_main.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/environment.jl#L189-L197">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Initialized" href="#MPI.Initialized"><code>MPI.Initialized</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Initialized()</code></pre><p>Returns <code>true</code> if <a href="#MPI.Init"><code>MPI.Init</code></a> has been called, <code>false</code> otherwise.</p><p>It is unaffected by <a href="#MPI.Finalize"><code>MPI.Finalize</code></a>, and is one of the few functions that may be called before <a href="#MPI.Init"><code>MPI.Init</code></a>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Intialized</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Intialized.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Intialized.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/environment.jl#L238-L248">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Finalize" href="#MPI.Finalize"><code>MPI.Finalize</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Finalize()</code></pre><p>Marks MPI state for cleanup. This should be called after <a href="#MPI.Init"><code>MPI.Init</code></a>, and can be called at most once. No further MPI calls (other than <a href="#MPI.Initialized"><code>Initialized</code></a> or <a href="#MPI.Finalized"><code>Finalized</code></a>) should be made after it is called.</p><p><a href="#MPI.Init"><code>MPI.Init</code></a> will automatically insert a hook to call this function when Julia exits, if it hasn&#39;t already been called.</p><p><strong>External links</strong></p><ul><li><code>MPI_Finalize</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Finalize.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Finalize.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/environment.jl#L207-L219">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Finalized" href="#MPI.Finalized"><code>MPI.Finalized</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Finalized()</code></pre><p>Returns <code>true</code> if <a href="#MPI.Finalize"><code>MPI.Finalize</code></a> has completed, <code>false</code> otherwise.</p><p>It is safe to call before <a href="#MPI.Init"><code>MPI.Init</code></a> and after <a href="#MPI.Finalize"><code>MPI.Finalize</code></a>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Finalized</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Finalized.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Finalized.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/environment.jl#L255-L264">source</a></section></article><h2 id="Errors"><a class="docs-heading-anchor" href="#Errors">Errors</a><a id="Errors-1"></a><a class="docs-heading-anchor-permalink" href="#Errors" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.MPIError" href="#MPI.MPIError"><code>MPI.MPIError</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPIError</code></pre><p>Error thrown when an MPI function returns an error code. The <code>code</code> field contains the MPI error code.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/MPI.jl#L28-L32">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.FeatureLevelError" href="#MPI.API.FeatureLevelError"><code>MPI.API.FeatureLevelError</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">FeatureLevelError</code></pre><p>Error thrown if a feature is not implemented in the current MPI backend.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/api/api.jl#L104-L108">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../library/">« Library information</a><a class="docs-footer-nextpage" href="../misc/">Miscellanea »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 6 November 2022 21:18">Sunday 6 November 2022</span>. Using Julia version 1.8.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR676/reference/group/index.html b/previews/PR676/reference/group/index.html
deleted file mode 100644
index 3fb692fed..000000000
--- a/previews/PR676/reference/group/index.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Groups · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../library/">Library information</a></li><li><a class="tocitem" href="../environment/">Environment</a></li><li><a class="tocitem" href="../misc/">Miscellanea</a></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../advanced/">Advanced</a></li><li><a class="tocitem" href="../api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>Groups</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Groups</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/group.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Groups"><a class="docs-heading-anchor" href="#Groups">Groups</a><a id="Groups-1"></a><a class="docs-heading-anchor-permalink" href="#Groups" title="Permalink"></a></h1><p>An MPI group is a set of process identifiers identified by their <em>rank</em> (see  <a href="../comm/#MPI.Comm_rank"><code>MPI.Comm_rank</code></a> and <a href="#MPI.Group_rank"><code>MPI.Group_rank</code></a>). They are used within a  communicator to describe the participants in a communication <em>universe</em>.</p><h2 id="Types-and-enums"><a class="docs-heading-anchor" href="#Types-and-enums">Types and enums</a><a id="Types-and-enums-1"></a><a class="docs-heading-anchor-permalink" href="#Types-and-enums" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Group" href="#MPI.Group"><code>MPI.Group</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.Group</code></pre><p>An MPI Group object.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/group.jl#L1-L5">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Comparison" href="#MPI.Comparison"><code>MPI.Comparison</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">Comparison</code></pre><p>An enum denoting the result of <a href="../comm/#MPI.Comm_compare"><code>Comm_compare</code></a>:</p><ul><li><p><code>MPI.IDENT</code>: the objects are handles for the same object (identical groups and same contexts).</p></li><li><p><code>MPI.CONGRUENT</code>: the underlying groups are identical in constituents and rank order; these communicators differ only by context.</p></li><li><p><code>MPI.SIMILAR</code>: members of both objects are the same but the rank order differs.</p></li><li><p><code>MPI.UNEQUAL</code>: otherwise</p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/group.jl#L63-L75">source</a></section></article><h2 id="Functions"><a class="docs-heading-anchor" href="#Functions">Functions</a><a id="Functions-1"></a><a class="docs-heading-anchor-permalink" href="#Functions" title="Permalink"></a></h2><h3 id="Operations"><a class="docs-heading-anchor" href="#Operations">Operations</a><a id="Operations-1"></a><a class="docs-heading-anchor-permalink" href="#Operations" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.Group_size" href="#MPI.Group_size"><code>MPI.Group_size</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Group_size(group::Group)</code></pre><p>The number of processes involved in group.</p><p><strong>External links</strong></p><ul><li><code>MPI_Group_size</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Group_size.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Group_size.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/group.jl#L33-L40">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Group_rank" href="#MPI.Group_rank"><code>MPI.Group_rank</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Group_rank(group::Group)</code></pre><p>The rank of the process in the particular group.</p><p>Returns an integer in the range <code>0:MPI.Group_size()-1</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Group_rank</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Group_rank.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Group_rank.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/group.jl#L47-L56">source</a></section></article></article><nav class="docs-footer"><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 6 November 2022 21:18">Sunday 6 November 2022</span>. Using Julia version 1.8.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR676/reference/io/index.html b/previews/PR676/reference/io/index.html
deleted file mode 100644
index 997e97b32..000000000
--- a/previews/PR676/reference/io/index.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>I/O · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../library/">Library information</a></li><li><a class="tocitem" href="../environment/">Environment</a></li><li><a class="tocitem" href="../misc/">Miscellanea</a></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li class="is-active"><a class="tocitem" href>I/O</a><ul class="internal"><li><a class="tocitem" href="#File-manipulation"><span>File manipulation</span></a></li><li><a class="tocitem" href="#Views"><span>Views</span></a></li><li><a class="tocitem" href="#Consistency"><span>Consistency</span></a></li><li><a class="tocitem" href="#Data-access"><span>Data access</span></a></li></ul></li><li><a class="tocitem" href="../advanced/">Advanced</a></li><li><a class="tocitem" href="../api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>I/O</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>I/O</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/io.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="I/O"><a class="docs-heading-anchor" href="#I/O">I/O</a><a id="I/O-1"></a><a class="docs-heading-anchor-permalink" href="#I/O" title="Permalink"></a></h1><h2 id="File-manipulation"><a class="docs-heading-anchor" href="#File-manipulation">File manipulation</a><a id="File-manipulation-1"></a><a class="docs-heading-anchor-permalink" href="#File-manipulation" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.File.open" href="#MPI.File.open"><code>MPI.File.open</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.open(comm::Comm, filename::AbstractString; keywords...)</code></pre><p>Open the file identified by <code>filename</code>. This is a collective operation on <code>comm</code>.</p><p>Supported keywords are as follows:</p><ul><li><code>read</code>, <code>write</code>, <code>create</code>, <code>append</code> have the same behaviour and defaults as <code>Base.open</code>.</li><li><code>sequential</code>: file will only be accessed sequentially (default: <code>false</code>)</li><li><code>uniqueopen</code>: file will not be concurrently opened elsewhere (default: <code>false</code>)</li><li><code>deleteonclose</code>: delete file on close (default: <code>false</code>)</li></ul><p>Any additional keywords are passed via an <a href="../advanced/#MPI.Info"><code>Info</code></a> object, and are implementation dependent.</p><p><strong>External links</strong></p><ul><li><code>MPI_File_open</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_open.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_open.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/io.jl#L29-L44">source</a></section></article><h2 id="Views"><a class="docs-heading-anchor" href="#Views">Views</a><a id="Views-1"></a><a class="docs-heading-anchor-permalink" href="#Views" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.File.set_view!" href="#MPI.File.set_view!"><code>MPI.File.set_view!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.set_view!(file::FileHandle, disp::Integer, etype::Datatype, filetype::Datatype, datarep::AbstractString; kwargs...)</code></pre><p>Set the current process&#39;s view of <code>file</code>.</p><p>The start of the view is set to <code>disp</code>; the type of data is set to <code>etype</code>; the distribution of data to processes is set to <code>filetype</code>; and the representation of data in the file is set to <code>datarep</code>: one of <code>&quot;native&quot;</code> (default), <code>&quot;internal&quot;</code>, or <code>&quot;external32&quot;</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_File_set_view</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_set_view.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_set_view.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/io.jl#L72-L83">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.get_byte_offset" href="#MPI.File.get_byte_offset"><code>MPI.File.get_byte_offset</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.get_byte_offset(file::FileHandle, offset::Integer)</code></pre><p>Converts a view-relative offset into an absolute byte position. Returns the absolute byte position (from the beginning of the file) of <code>offset</code> relative to the current view of <code>file</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_File_get_byte_offset</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_byte_offset.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_byte_offset.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/io.jl#L95-L104">source</a></section></article><h2 id="Consistency"><a class="docs-heading-anchor" href="#Consistency">Consistency</a><a id="Consistency-1"></a><a class="docs-heading-anchor-permalink" href="#Consistency" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.File.sync" href="#MPI.File.sync"><code>MPI.File.sync</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.sync(fh::FileHandle)</code></pre><p>A collective operation causing all previous writes to <code>fh</code> by the calling process to be transferred to the storage device. If other processes have made updates to the storage device, then all such updates become visible to subsequent reads of <code>fh</code> by the calling process.</p><p><strong>External links</strong></p><ul><li><code>MPI_File_sync</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_sync.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_sync.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/io.jl#L113-L123">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.get_atomicity" href="#MPI.File.get_atomicity"><code>MPI.File.get_atomicity</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.get_atomicity(file::FileHandle)</code></pre><p>Get the consistency option for the <code>fh</code>. If <code>false</code> it is non-atomic.</p><p><strong>External links</strong></p><ul><li><code>MPI_File_get_atomicity</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_atomicity.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_atomicity.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/io.jl#L449-L456">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.set_atomicity" href="#MPI.File.set_atomicity"><code>MPI.File.set_atomicity</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.set_atomicity(file::FileHandle, flag::Bool)</code></pre><p>Set the consitency option for the <code>fh</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_File_get_atomicity</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_atomicity.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_atomicity.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/io.jl#L464-L471">source</a></section></article><h2 id="Data-access"><a class="docs-heading-anchor" href="#Data-access">Data access</a><a id="Data-access-1"></a><a class="docs-heading-anchor-permalink" href="#Data-access" title="Permalink"></a></h2><h3 id="Individual-pointer"><a class="docs-heading-anchor" href="#Individual-pointer">Individual pointer</a><a id="Individual-pointer-1"></a><a class="docs-heading-anchor-permalink" href="#Individual-pointer" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.File.read!" href="#MPI.File.read!"><code>MPI.File.read!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.read!(file::FileHandle, data)</code></pre><p>Reads current view of <code>file</code> into <code>data</code>. <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(data)</code> is defined.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.set_view!"><code>MPI.File.set_view!</code></a> to set the current view of the file</li><li><a href="#MPI.File.read_all!"><code>MPI.File.read_all!</code></a> for the collective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_read</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/io.jl#L132-L144">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.read_all!" href="#MPI.File.read_all!"><code>MPI.File.read_all!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.read_all!(file::FileHandle, data)</code></pre><p>Reads current view of <code>file</code> into <code>data</code>. <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(data)</code> is defined. This is a collective operation, so must be called on all ranks in the communicator on which <code>file</code> was opened.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.set_view!"><code>MPI.File.set_view!</code></a> to set the current view of the file</li><li><a href="#MPI.File.read!"><code>MPI.File.read!</code></a> for the noncollective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_read_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/io.jl#L154-L167">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.write" href="#MPI.File.write"><code>MPI.File.write</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.write(file::FileHandle, data)</code></pre><p>Writes <code>data</code> to the current view of <code>file</code>. <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer_send(data)</code> is defined.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.set_view!"><code>MPI.File.set_view!</code></a> to set the current view of the file</li><li><a href="#MPI.File.write_all"><code>MPI.File.write_all</code></a> for the collective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_write</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/io.jl#L177-L189">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.write_all" href="#MPI.File.write_all"><code>MPI.File.write_all</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.write_all(file::FileHandle, data)</code></pre><p>Writes <code>data</code> to the current view of <code>file</code>. <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer_send(data)</code> is defined. This is a collective operation, so must be called on all ranks in the communicator on which <code>file</code> was opened.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.set_view!"><code>MPI.File.set_view!</code></a> to set the current view of the file</li><li><a href="#MPI.File.write"><code>MPI.File.write</code></a> for the noncollective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_write_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/io.jl#L199-L212">source</a></section></article><h3 id="Explicit-offsets"><a class="docs-heading-anchor" href="#Explicit-offsets">Explicit offsets</a><a id="Explicit-offsets-1"></a><a class="docs-heading-anchor-permalink" href="#Explicit-offsets" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.File.read_at!" href="#MPI.File.read_at!"><code>MPI.File.read_at!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.read_at!(file::FileHandle, offset::Integer, data)</code></pre><p>Reads from <code>file</code> at position <code>offset</code> into <code>data</code>. <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(data)</code> is defined.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.read_at_all!"><code>MPI.File.read_at_all!</code></a> for the collective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_read_at</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_at.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_at.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/io.jl#L224-L235">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.read_at_all!" href="#MPI.File.read_at_all!"><code>MPI.File.read_at_all!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.read_at_all!(file::FileHandle, offset::Integer, data)</code></pre><p>Reads from <code>file</code> at position <code>offset</code> into <code>data</code>. <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(data)</code> is defined. This is a collective operation, so must be called on all ranks in the communicator on which <code>file</code> was opened.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.read_at!"><code>MPI.File.read_at!</code></a> for the noncollective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_read_at_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_at_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_at_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/io.jl#L245-L257">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.write_at" href="#MPI.File.write_at"><code>MPI.File.write_at</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.write_at(file::FileHandle, offset::Integer, data)</code></pre><p>Writes <code>data</code> to <code>file</code> at position <code>offset</code>. <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <a href="../buffers/#MPI.Buffer_send"><code>Buffer_send(data)</code></a> is defined.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.write_at_all"><code>MPI.File.write_at_all</code></a> for the collective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_write_at</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_at.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_at.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/io.jl#L268-L279">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.write_at_all" href="#MPI.File.write_at_all"><code>MPI.File.write_at_all</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.write_at_all(file::FileHandle, offset::Integer, data)</code></pre><p>Writes from <code>data</code> to <code>file</code> at position <code>offset</code>. <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <a href="../buffers/#MPI.Buffer_send"><code>Buffer_send(data)</code></a> is defined. This is a collective operation, so must be called on all ranks in the communicator on which <code>file</code> was opened.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.write_at"><code>MPI.File.write_at</code></a> for the noncollective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_write_at_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_at_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_at_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/io.jl#L289-L301">source</a></section></article><h3 id="Shared-pointer"><a class="docs-heading-anchor" href="#Shared-pointer">Shared pointer</a><a id="Shared-pointer-1"></a><a class="docs-heading-anchor-permalink" href="#Shared-pointer" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.File.read_shared!" href="#MPI.File.read_shared!"><code>MPI.File.read_shared!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.read_shared!(file::FileHandle, data)</code></pre><p>Reads from <code>file</code> using the shared file pointer into <code>data</code>.  <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(data)</code> is defined.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.read_ordered!"><code>MPI.File.read_ordered!</code></a> for the collective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_read_shared</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_shared.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_shared.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/io.jl#L313-L324">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.write_shared" href="#MPI.File.write_shared"><code>MPI.File.write_shared</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.write_shared(file::FileHandle, data)</code></pre><p>Writes to <code>file</code> using the shared file pointer from <code>data</code>. <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(data)</code> is defined.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.write_ordered"><code>MPI.File.write_ordered</code></a> for the collective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_write_shared</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_shared.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_shared.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/io.jl#L334-L345">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.read_ordered!" href="#MPI.File.read_ordered!"><code>MPI.File.read_ordered!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.read_ordered!(file::FileHandle, data)</code></pre><p>Collectively reads in rank order from <code>file</code> using the shared file pointer into <code>data</code>. <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(data)</code> is defined. This is a collective operation, so must be called on all ranks in the communicator on which <code>file</code> was opened.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.read_shared!"><code>MPI.File.read_shared!</code></a> for the noncollective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_read_ordered</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_ordered.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_ordered.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/io.jl#L356-L369">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.write_ordered" href="#MPI.File.write_ordered"><code>MPI.File.write_ordered</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.write_ordered(file::FileHandle, data)</code></pre><p>Collectively writes in rank order to <code>file</code> using the shared file pointer from <code>data</code>. <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(data)</code> is defined. This is a collective operation, so must be called on all ranks in the communicator on which <code>file</code> was opened.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.write_shared"><code>MPI.File.write_shared</code></a> for the noncollective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_write_ordered</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_ordered.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_ordered.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/io.jl#L379-L392">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.seek_shared" href="#MPI.File.seek_shared"><code>MPI.File.seek_shared</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.seek_shared(file::FileHandle, offset::Integer, whence::Seek=SEEK_SET)</code></pre><p>Updates the shared file pointer according to <code>whence</code>, which has the following possible values:</p><ul><li><code>MPI.File.SEEK_SET</code> (default): the pointer is set to <code>offset</code></li><li><code>MPI.File.SEEK_CUR</code>: the pointer is set to the current pointer position plus <code>offset</code></li><li><code>MPI.File.SEEK_END</code>: the pointer is set to the end of file plus <code>offset</code></li></ul><p>This is a collective operation, and must be called with the same value on all processes in the communicator.</p><p><strong>External links</strong></p><ul><li><code>MPI_File_seek_shared</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_seek_shared.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_seek_shared.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/io.jl#L413-L428">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.get_position_shared" href="#MPI.File.get_position_shared"><code>MPI.File.get_position_shared</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.get_position_shared(file::FileHandle)</code></pre><p>The current position of the shared file pointer (in <code>etype</code> units) relative to the current view.</p><p><strong>External links</strong></p><ul><li><code>MPI_File_get_position_shared</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_position_shared.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_position_shared.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/io.jl#L434-L441">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../topology/">« Topology</a><a class="docs-footer-nextpage" href="../advanced/">Advanced »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 6 November 2022 21:18">Sunday 6 November 2022</span>. Using Julia version 1.8.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR676/reference/library/index.html b/previews/PR676/reference/library/index.html
deleted file mode 100644
index 99acfc1a0..000000000
--- a/previews/PR676/reference/library/index.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Library information · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li class="is-active"><a class="tocitem" href>Library information</a><ul class="internal"><li><a class="tocitem" href="#Constants"><span>Constants</span></a></li><li><a class="tocitem" href="#Functions"><span>Functions</span></a></li></ul></li><li><a class="tocitem" href="../environment/">Environment</a></li><li><a class="tocitem" href="../misc/">Miscellanea</a></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../advanced/">Advanced</a></li><li><a class="tocitem" href="../api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>Library information</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Library information</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/library.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Library-information"><a class="docs-heading-anchor" href="#Library-information">Library information</a><a id="Library-information-1"></a><a class="docs-heading-anchor-permalink" href="#Library-information" title="Permalink"></a></h1><h2 id="Constants"><a class="docs-heading-anchor" href="#Constants">Constants</a><a id="Constants-1"></a><a class="docs-heading-anchor-permalink" href="#Constants" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.MPI_VERSION" href="#MPI.MPI_VERSION"><code>MPI.MPI_VERSION</code></a> — <span class="docstring-category">Constant</span></header><section><div><pre><code class="language-julia hljs">MPI_VERSION :: VersionNumber</code></pre><p>The supported version of the MPI standard.</p><p><strong>External links</strong></p><ul><li><code>MPI_Get_version</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_version.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_version.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/implementations.jl#L73-L80">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.MPI_LIBRARY" href="#MPI.MPI_LIBRARY"><code>MPI.MPI_LIBRARY</code></a> — <span class="docstring-category">Constant</span></header><section><div><pre><code class="language-julia hljs">MPI_LIBRARY :: String</code></pre><p>The current MPI implementation: this is determined by</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/implementations.jl#L51-L55">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.MPI_LIBRARY_VERSION" href="#MPI.MPI_LIBRARY_VERSION"><code>MPI.MPI_LIBRARY_VERSION</code></a> — <span class="docstring-category">Constant</span></header><section><div><pre><code class="language-julia hljs">MPI_LIBRARY_VERSION :: VersionNumber</code></pre><p>The version of the MPI library</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/implementations.jl#L58-L62">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.MPI_LIBRARY_VERSION_STRING" href="#MPI.MPI_LIBRARY_VERSION_STRING"><code>MPI.MPI_LIBRARY_VERSION_STRING</code></a> — <span class="docstring-category">Constant</span></header><section><div><pre><code class="language-julia hljs">MPI_LIBRARY_VERSION_STRING :: String</code></pre><p>The full version string provided by the library</p><p><strong>External links</strong></p><ul><li><code>MPI_Get_library_version</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_library_version.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_library_version.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/implementations.jl#L22-L29">source</a></section></article><h2 id="Functions"><a class="docs-heading-anchor" href="#Functions">Functions</a><a id="Functions-1"></a><a class="docs-heading-anchor-permalink" href="#Functions" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.has_cuda" href="#MPI.has_cuda"><code>MPI.has_cuda</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.has_cuda()</code></pre><p>Check if the MPI implementation is known to have CUDA support. Currently only Open MPI provides a mechanism to check, so it will return <code>false</code> with other implementations (unless overriden).</p><p>This can be overriden by setting the <code>JULIA_MPI_HAS_CUDA</code> environment variable to <code>true</code> or <code>false</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/environment.jl#L275-L284">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.identify_implementation" href="#MPI.identify_implementation"><code>MPI.identify_implementation</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">impl, version = identify_implementation()</code></pre><p>Attempt to identify the MPI implementation based on <a href="#MPI.MPI_LIBRARY_VERSION_STRING"><code>MPI_LIBRARY_VERSION_STRING</code></a>. Returns a triple of values:</p><ul><li><code>impl</code>: a <code>String</code> with the name of the MPI implementation, or <code>&quot;unknown&quot;</code> if it cannot be determined,</li><li><code>version</code>: a <code>VersionNumber</code> of the library, or <code>nothing</code> if it cannot be determined.</li></ul><p>This function is only intended for internal use. Users should use <a href="#MPI.MPI_LIBRARY"><code>MPI_LIBRARY</code></a>, <a href="#MPI.MPI_LIBRARY_VERSION"><code>MPI_LIBRARY_VERSION</code></a>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/implementations.jl#L32-L43">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../mpipreferences/">« MPIPreferences.jl</a><a class="docs-footer-nextpage" href="../environment/">Environment »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 6 November 2022 21:18">Sunday 6 November 2022</span>. Using Julia version 1.8.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR676/reference/misc/index.html b/previews/PR676/reference/misc/index.html
deleted file mode 100644
index f9ef6f9b8..000000000
--- a/previews/PR676/reference/misc/index.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Miscellanea · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../library/">Library information</a></li><li><a class="tocitem" href="../environment/">Environment</a></li><li class="is-active"><a class="tocitem" href>Miscellanea</a><ul class="internal"><li><a class="tocitem" href="#Functions"><span>Functions</span></a></li></ul></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../advanced/">Advanced</a></li><li><a class="tocitem" href="../api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>Miscellanea</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Miscellanea</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/misc.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Miscellanea"><a class="docs-heading-anchor" href="#Miscellanea">Miscellanea</a><a id="Miscellanea-1"></a><a class="docs-heading-anchor-permalink" href="#Miscellanea" title="Permalink"></a></h1><h2 id="Functions"><a class="docs-heading-anchor" href="#Functions">Functions</a><a id="Functions-1"></a><a class="docs-heading-anchor-permalink" href="#Functions" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Get_processor_name" href="#MPI.Get_processor_name"><code>MPI.Get_processor_name</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Get_processor_name()</code></pre><p>Return the name of the processor, as a <code>String</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Get_processor_name</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_processor_name.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_processor_name.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/misc.jl#L1-L8">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../environment/">« Environment</a><a class="docs-footer-nextpage" href="../comm/">Communicators »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 6 November 2022 21:18">Sunday 6 November 2022</span>. Using Julia version 1.8.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR676/reference/mpipreferences/index.html b/previews/PR676/reference/mpipreferences/index.html
deleted file mode 100644
index 253251f59..000000000
--- a/previews/PR676/reference/mpipreferences/index.html
+++ /dev/null
@@ -1,7 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>MPIPreferences.jl · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li class="is-active"><a class="tocitem" href>MPIPreferences.jl</a><ul class="internal"><li><a class="tocitem" href="#Consts"><span>Consts</span></a></li><li><a class="tocitem" href="#Changing-implementations"><span>Changing implementations</span></a></li><li><a class="tocitem" href="#Utils"><span>Utils</span></a></li><li><a class="tocitem" href="#Preferences-schema"><span>Preferences schema</span></a></li></ul></li><li><a class="tocitem" href="../library/">Library information</a></li><li><a class="tocitem" href="../environment/">Environment</a></li><li><a class="tocitem" href="../misc/">Miscellanea</a></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../advanced/">Advanced</a></li><li><a class="tocitem" href="../api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>MPIPreferences.jl</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>MPIPreferences.jl</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/mpipreferences.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="MPIPreferences.jl"><a class="docs-heading-anchor" href="#MPIPreferences.jl">MPIPreferences.jl</a><a id="MPIPreferences.jl-1"></a><a class="docs-heading-anchor-permalink" href="#MPIPreferences.jl" title="Permalink"></a></h1><p>MPIPreferences.jl is a small package based on <a href="https://github.com/JuliaPackaging/Preferences.jl/">Preferences.jl</a> for selecting MPI implementations. These choices are compile-time constants, and so any changes will require a Julia restart.</p><h2 id="Consts"><a class="docs-heading-anchor" href="#Consts">Consts</a><a id="Consts-1"></a><a class="docs-heading-anchor-permalink" href="#Consts" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPIPreferences.binary" href="#MPIPreferences.binary"><code>MPIPreferences.binary</code></a> — <span class="docstring-category">Constant</span></header><section><div><pre><code class="language-julia hljs">MPIPreferences.binary :: String</code></pre><p>The currently selected binary. The possible values are</p><ul><li><code>&quot;MPICH_jll&quot;</code>: use the binary provided by <a href="https://github.com/JuliaBinaryWrappers/MPICH_jll.jl">MPICH_jll</a></li><li><code>&quot;OpenMPI_jll&quot;</code>: use the binary provided by <a href="https://github.com/JuliaBinaryWrappers/OpenMPI_jll.jl">OpenMPI_jll</a></li><li><code>&quot;MicrosoftMPI_jll&quot;</code>: use binary provided by <a href="https://github.com/JuliaBinaryWrappers/MicrosoftMPI_jll.jl/">MicrosoftMPI_jll</a></li><li><code>&quot;MPItrampoline_jll&quot;</code>: use the binary provided by <a href="https://github.com/JuliaBinaryWrappers/MPItrampoline_jll.jl/">MPItrampoline_jll</a></li><li><code>&quot;system&quot;</code>: use a system-provided binary.</li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/lib/MPIPreferences/src/MPIPreferences.jl#L14-L25">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPIPreferences.abi" href="#MPIPreferences.abi"><code>MPIPreferences.abi</code></a> — <span class="docstring-category">Constant</span></header><section><div><pre><code class="language-julia hljs">MPIPreferences.abi :: String</code></pre><p>The ABI (application binary interface) of the currently selected binary. Supported values are:</p><ul><li><code>&quot;MPICH&quot;</code>: MPICH-compatible ABI (https://www.mpich.org/abi/)</li><li><code>&quot;OpenMPI&quot;</code>: Open MPI compatible ABI (Open MPI, IBM Spectrum MPI, Fujitsu MPI)</li><li><code>&quot;MicrosoftMPI&quot;</code>: Microsoft MPI</li><li><code>&quot;MPItrampoline&quot;</code>: MPItrampoline</li><li><code>&quot;HPE MPT&quot;</code>: HPE MPT</li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/lib/MPIPreferences/src/MPIPreferences.jl#L28-L38">source</a></section></article><h2 id="Changing-implementations"><a class="docs-heading-anchor" href="#Changing-implementations">Changing implementations</a><a id="Changing-implementations-1"></a><a class="docs-heading-anchor-permalink" href="#Changing-implementations" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPIPreferences.use_system_binary" href="#MPIPreferences.use_system_binary"><code>MPIPreferences.use_system_binary</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">use_system_binary(;
-    library_names = [&quot;libmpi&quot;, &quot;libmpi_ibm&quot;, &quot;msmpi&quot;, &quot;libmpich&quot;, &quot;libmpi_cray&quot;, &quot;libmpitrampoline&quot;],
-    mpiexec = &quot;mpiexec&quot;,
-    abi = nothing,
-    export_prefs = false,
-    force = true)</code></pre><p>Switches the underlying MPI implementation to a system provided one. A restart of Julia is required for the changes to take effect.</p><p>Options:</p><ul><li><p><code>library_names</code>: a name or collection of names of the MPI library, passed to <a href="https://docs.julialang.org/en/v1/stdlib/Libdl/#Base.Libc.Libdl.find_library"><code>Libdl.find_library</code></a>. If the library isn&#39;t in the library search path, you can specify the full path to the library.</p></li><li><p><code>mpiexec</code>: the MPI launcher executable. The default is <code>mpiexec</code>, but some clusters require using the scheduler launcher interface (e.g. <code>srun</code> on Slurm, <code>aprun</code> on PBS). It is also possible to pass a <a href="https://docs.julialang.org/en/v1/manual/running-external-programs/#Cmd-Objects"><code>Cmd</code> object</a> to include specific command line options.</p></li><li><p><code>abi</code>: the ABI of the MPI library. By default this is determined automatically using <a href="#MPIPreferences.identify_abi"><code>identify_abi</code></a>. See <a href="#MPIPreferences.abi"><code>abi</code></a> for currently supported values.</p></li><li><p><code>export_prefs</code>: if <code>true</code>, the preferences into the <code>Project.toml</code> instead of <code>LocalPreferences.toml</code>.</p></li><li><p><code>force</code>: if <code>true</code>, the preferences are set even if they are already set.</p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/lib/MPIPreferences/src/MPIPreferences.jl#L107-L139">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPIPreferences.use_jll_binary" href="#MPIPreferences.use_jll_binary"><code>MPIPreferences.use_jll_binary</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">use_jll_binary([binary]; export_prefs=false, force=true)</code></pre><p>Switches the underlying MPI implementation to one provided by JLL packages. A restart of Julia is required for the changes to take effect.</p><p>Available options are:</p><ul><li><code>&quot;MicrosoftMPI_jll&quot;</code> (Only option and default on Winddows)</li><li><code>&quot;MPICH_jll&quot;</code> (Default on all other platform)</li><li><code>&quot;OpenMPI_jll&quot;</code></li><li><code>&quot;MPItrampoline_jll&quot;</code></li></ul><p>The <code>export_prefs</code> option determines whether the preferences being set should be stored within <code>LocalPreferences.toml</code> or <code>Project.toml</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/lib/MPIPreferences/src/MPIPreferences.jl#L57-L71">source</a></section></article><h2 id="Utils"><a class="docs-heading-anchor" href="#Utils">Utils</a><a id="Utils-1"></a><a class="docs-heading-anchor-permalink" href="#Utils" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPIPreferences.check_unchanged" href="#MPIPreferences.check_unchanged"><code>MPIPreferences.check_unchanged</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPIPreferences.check_unchanged()</code></pre><p>Throws an error if the preferences have been modified in the current Julia session, or if they are modified after this function is called.</p><p>This is should be called from the <code>__init__()</code> function of any package which relies on the values of MPIPreferences.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/lib/MPIPreferences/src/MPIPreferences.jl#L197-L205">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPIPreferences.identify_abi" href="#MPIPreferences.identify_abi"><code>MPIPreferences.identify_abi</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">identify_abi(libmpi)</code></pre><p>Identify the MPI implementation from the library version string</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/lib/MPIPreferences/src/MPIPreferences.jl#L322-L326">source</a></section></article><h2 id="Preferences-schema"><a class="docs-heading-anchor" href="#Preferences-schema">Preferences schema</a><a id="Preferences-schema-1"></a><a class="docs-heading-anchor-permalink" href="#Preferences-schema" title="Permalink"></a></h2><p>MPIPreferences utilizes the following keys to store information in the Preferences key-value store.</p><ul><li><code>_format</code>: the version number of the schema. Currently only <code>&quot;1.0&quot;</code> is supported.</li><li><code>binary</code>: the choice of binary. This should be one of the strings listed in <a href="#MPIPreferences.binary"><code>MPIPreferences.binary</code></a>.</li></ul><p>If <code>binary == &quot;system&quot;</code>, then the following keys are also required (otherwise they have no effect):</p><ul><li><code>libmpi</code>: the filename or path of the MPI dynamic library.</li><li><code>abi</code>: The ABI of the MPI implementation. This should be one of the strings listed in <a href="#MPIPreferences.abi"><code>MPIPreferences.abi</code></a>.</li><li><code>mpiexec</code>: either<ul><li>a string corresponding to the MPI launcher executable</li><li>an array of strings, with the first entry being the executable and remaining entried being additional flags that should be used with the executable.</li></ul></li></ul></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../../examples/09-graph_communication/">« Graph Communication</a><a class="docs-footer-nextpage" href="../library/">Library information »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 6 November 2022 21:18">Sunday 6 November 2022</span>. Using Julia version 1.8.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR676/reference/onesided/index.html b/previews/PR676/reference/onesided/index.html
deleted file mode 100644
index 690e18c12..000000000
--- a/previews/PR676/reference/onesided/index.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>One-sided communication · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../library/">Library information</a></li><li><a class="tocitem" href="../environment/">Environment</a></li><li><a class="tocitem" href="../misc/">Miscellanea</a></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li class="is-active"><a class="tocitem" href>One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../advanced/">Advanced</a></li><li><a class="tocitem" href="../api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>One-sided communication</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>One-sided communication</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/onesided.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="One-sided-communication"><a class="docs-heading-anchor" href="#One-sided-communication">One-sided communication</a><a id="One-sided-communication-1"></a><a class="docs-heading-anchor-permalink" href="#One-sided-communication" title="Permalink"></a></h1><article class="docstring"><header><a class="docstring-binding" id="MPI.Win_create" href="#MPI.Win_create"><code>MPI.Win_create</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.Win_create(base[, size::Integer, disp_unit::Integer], comm::Comm; infokws...)</code></pre><p>Create a window over the array <code>base</code>, returning a <code>Win</code> object used by these processes to perform RMA operations. This is a collective call over <code>comm</code>.</p><ul><li><code>size</code> is the size of the window in bytes (default = <code>sizeof(base)</code>)</li><li><code>disp_unit</code> is the size of address scaling in bytes (default = <code>sizeof(eltype(base))</code>)</li><li><code>infokws</code> are info keys providing optimization hints to the runtime.</li></ul><p><a href="../advanced/#MPI.free"><code>MPI.free</code></a> should be called on the <code>Win</code> object once operations have been completed.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/onesided.jl#L41-L54">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Win_create_dynamic" href="#MPI.Win_create_dynamic"><code>MPI.Win_create_dynamic</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.Win_create_dynamic(comm::Comm; infokws...)</code></pre><p>Create a dynamic window returning a <code>Win</code> object used by these processes to perform RMA operations</p><p>This is a collective call over <code>comm</code>.</p><p><code>infokws</code> are info keys providing optimization hints.</p><p><a href="../advanced/#MPI.free"><code>MPI.free</code></a> should be called on the <code>Win</code> object once operations have been completed.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/onesided.jl#L139-L149">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Win_allocate_shared" href="#MPI.Win_allocate_shared"><code>MPI.Win_allocate_shared</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">win, array = MPI.Win_allocate_shared(Array{T}, dims, comm::Comm; infokws...)</code></pre><p>Create and allocate a shared memory window for objects of type <code>T</code> of dimension <code>dims</code> (either an integer or tuple of integers), returning a <code>Win</code> and the <code>Array{T}</code> attached to the local process.</p><p>This is a collective call over <code>comm</code>, but <code>dims</code> can differ for each call (and can be zero).</p><p>Use <a href="#MPI.Win_shared_query"><code>MPI.Win_shared_query</code></a> to obtain the <code>Array</code> attached to a different process in the same shared memory space.</p><p><code>infokws</code> are info keys providing optimization hints.</p><p><a href="../advanced/#MPI.free"><code>MPI.free</code></a> should be called on the <code>Win</code> object once operations have been completed.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/onesided.jl#L72-L89">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Win_shared_query" href="#MPI.Win_shared_query"><code>MPI.Win_shared_query</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">array = Win_shared_query(Array{T}, [dims,] win; rank)</code></pre><p>Obtain the shared memory allocated by <a href="#MPI.Win_allocate_shared"><code>Win_allocate_shared</code></a> of the process <code>rank</code> in <code>win</code>. Returns an <code>Array{T}</code> of size <code>dims</code> (being a <code>Vector{T}</code> if no <code>dims</code> argument is provided).</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/onesided.jl#L107-L113">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Win_flush" href="#MPI.Win_flush"><code>MPI.Win_flush</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Win_flush(win::Win; rank)</code></pre><p>Completes all outstanding RMA operations initiated by the calling process to the target rank on the specified window.</p><p><strong>External links</strong></p><ul><li><code>MPI_Win_flush</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_flush.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_flush.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/onesided.jl#L181-L189">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Win_lock" href="#MPI.Win_lock"><code>MPI.Win_lock</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Win_lock(win::Win; rank::Integer, type=:exclusive/:shared, nocheck=false)</code></pre><p>Starts an RMA access epoch. The window at the process with rank <code>rank</code> can be accessed by RMA operations on <code>win</code> during that epoch.</p><p>Multiple RMA access epochs (with calls to <code>MPI.Win_lock</code>) can occur simultaneously; however, each access epoch must target a different process.</p><p>Accesses that are protected by an exclusive lock (<code>type=:exclusive</code>) will not be concurrent at the window site with other accesses to the same window that are lock protected. Accesses that are protected by a shared lock (<code>type=:shared</code>) will not be concurrent at the window site with accesses protected by an exclusive lock to the same window.</p><p>If <code>nocheck=true</code>, no other process holds, or will attempt to acquire, a conflicting lock, while the caller holds the window lock. This is useful when mutual exclusion is achieved by other means, but the coherence operations that may be attached to the lock and unlock calls are still required.</p><p><strong>External links</strong></p><ul><li><code>MPI_Win_lock</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_lock.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_lock.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/onesided.jl#L195-L217">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Win_unlock" href="#MPI.Win_unlock"><code>MPI.Win_unlock</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Win_unlock(win::Win; rank::Integer)</code></pre><p>Completes an RMA access epoch started by a call to <a href="#MPI.Win_lock"><code>Win_lock</code></a>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Win_unlock</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_unlock.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_unlock.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/onesided.jl#L226-L233">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Get!" href="#MPI.Get!"><code>MPI.Get!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Get!(origin, win::Win; rank::Integer, disp::Integer=0)</code></pre><p>Copies data from the memory window <code>win</code> on the remote rank <code>rank</code>, with displacement <code>disp</code>, into <code>origin</code> using remote memory access. <code>origin</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(origin)</code> is defined.</p><p><strong>External links</strong></p><ul><li><code>MPI_Get</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/onesided.jl#L240-L249">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Put!" href="#MPI.Put!"><code>MPI.Put!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Put!(origin, win::Win; rank::Integer, disp::Integer=0)</code></pre><p>Copies data from <code>origin</code> into memory window <code>win</code> on remote rank <code>rank</code> at displacement <code>disp</code> using remote memory access. <code>origin</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <a href="../buffers/#MPI.Buffer_send"><code>Buffer_send(origin)</code></a> is defined.</p><p><strong>External links</strong></p><ul><li><code>MPI_Put</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Put.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Put.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/onesided.jl#L265-L275">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Accumulate!" href="#MPI.Accumulate!"><code>MPI.Accumulate!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Accumulate!(origin, op, win::Win; rank::Integer, disp::Integer=0)</code></pre><p>Combine the content of the <code>origin</code> buffer into the target buffer (specified by <code>win</code> and displacement <code>target_disp</code>) with reduction operator <code>op</code> on the remote rank <code>target_rank</code> using remote memory access.</p><p><code>origin</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <a href="../buffers/#MPI.Buffer_send"><code>Buffer_send(origin)</code></a> is defined. <code>op</code> can be any predefined <a href="../advanced/#MPI.Op"><code>Op</code></a> (custom operators are not supported).</p><p><strong>External links</strong></p><ul><li><code>MPI_Accumulate</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Accumulate.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Accumulate.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/onesided.jl#L301-L313">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Get_accumulate!" href="#MPI.Get_accumulate!"><code>MPI.Get_accumulate!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Get_accumulate!(origin, result, target_rank::Integer, target_disp::Integer, op::Op, win::Win)</code></pre><p>Combine the content of the <code>origin</code> buffer into the target buffer (specified by <code>win</code> and displacement <code>target_disp</code>) with reduction operator <code>op</code> on the remote rank <code>target_rank</code> using remote memory access. <code>Get_accumulate</code> also returns the content of the target buffer <em>before</em> accumulation into the <code>result</code> buffer.</p><p><code>origin</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer_send(origin)</code> is defined, <code>result</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(result)</code> is defined. <code>op</code> can be any predefined <a href="../advanced/#MPI.Op"><code>Op</code></a> (custom operators are not supported).</p><p><strong>External links</strong></p><ul><li><code>MPI_Get_accumulate</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_accumulate.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_accumulate.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/onesided.jl#L327-L340">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../collective/">« Collective communication</a><a class="docs-footer-nextpage" href="../topology/">Topology »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 6 November 2022 21:18">Sunday 6 November 2022</span>. Using Julia version 1.8.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR676/reference/pointtopoint/index.html b/previews/PR676/reference/pointtopoint/index.html
deleted file mode 100644
index 7631ca256..000000000
--- a/previews/PR676/reference/pointtopoint/index.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Point-to-point communication · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../library/">Library information</a></li><li><a class="tocitem" href="../environment/">Environment</a></li><li><a class="tocitem" href="../misc/">Miscellanea</a></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li class="is-active"><a class="tocitem" href>Point-to-point communication</a><ul class="internal"><li><a class="tocitem" href="#Types"><span>Types</span></a></li><li><a class="tocitem" href="#Blocking-communication"><span>Blocking communication</span></a></li><li><a class="tocitem" href="#Non-blocking-communication"><span>Non-blocking communication</span></a></li></ul></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../advanced/">Advanced</a></li><li><a class="tocitem" href="../api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>Point-to-point communication</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Point-to-point communication</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/pointtopoint.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Point-to-point-communication"><a class="docs-heading-anchor" href="#Point-to-point-communication">Point-to-point communication</a><a id="Point-to-point-communication-1"></a><a class="docs-heading-anchor-permalink" href="#Point-to-point-communication" title="Permalink"></a></h1><h2 id="Types"><a class="docs-heading-anchor" href="#Types">Types</a><a id="Types-1"></a><a class="docs-heading-anchor-permalink" href="#Types" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Request" href="#MPI.Request"><code>MPI.Request</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.Request</code></pre><p>An MPI Request object, representing a non-blocking communication. This also contains a reference to the buffer used in the communication to ensure it isn&#39;t garbage-collected during communication.</p><p>The status of a Request can be checked by the <a href="#MPI.Wait"><code>Wait</code></a> and <a href="#MPI.Test"><code>Test</code></a> functions or their multiple-request variants, which will deallocate the request once it is determined to be complete. Alternatively, it will be deallocated at finalization, meaning that it is safe to ignore the request objects if the status of the communication can be checked by other means.</p><p>See also <a href="#MPI.Cancel!"><code>Cancel!</code></a>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/nonblocking.jl#L77-L91">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.RequestSet" href="#MPI.RequestSet"><code>MPI.RequestSet</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">RequestSet(requests::Vector{Request})
-RequestSet() # create an empty RequestSet</code></pre><p>A wrapper for an array of <code>Request</code>s that can be used to reduce intermediate memory allocations in <a href="#MPI.Waitall"><code>Waitall</code></a>, <a href="#MPI.Testall"><code>Testall</code></a>, <a href="#MPI.Waitany"><code>Waitany</code></a>, <a href="#MPI.Testany"><code>Testany</code></a>, <a href="#MPI.Waitsome"><code>Waitsome</code></a> or <a href="#MPI.Testsome"><code>Testsome</code></a>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/nonblocking.jl#L245-L252">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Status" href="#MPI.Status"><code>MPI.Status</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.Status</code></pre><p>The status of an MPI receive communication. It has 3 accessible fields</p><ul><li><code>source</code>: source of the received message</li><li><code>tag</code>: tag of the received message</li><li><code>error</code>: error code. This is only set if a function returns multiple statuses.</li></ul><p>Additionally, the accessor function <a href="#MPI.Get_count"><code>MPI.Get_count</code></a> can be used to determine the number of entries received.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/nonblocking.jl#L39-L50">source</a></section></article><h3 id="Accessors"><a class="docs-heading-anchor" href="#Accessors">Accessors</a><a id="Accessors-1"></a><a class="docs-heading-anchor-permalink" href="#Accessors" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.Get_count" href="#MPI.Get_count"><code>MPI.Get_count</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.Get_count(status::Status, T)</code></pre><p>The number of entries received. <code>T</code> should match the argument provided by the receive call that set the status variable.</p><p>If the number of entries received exceeds the limits of the count parameter, then it returns <code>MPI_UNDEFINED</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Get_count</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_count.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_count.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/nonblocking.jl#L178-L187">source</a></section></article><h3 id="Constants"><a class="docs-heading-anchor" href="#Constants">Constants</a><a id="Constants-1"></a><a class="docs-heading-anchor-permalink" href="#Constants" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.PROC_NULL" href="#MPI.PROC_NULL"><code>MPI.PROC_NULL</code></a> — <span class="docstring-category">Constant</span></header><section><div><pre><code class="language-julia hljs">MPI.PROC_NULL</code></pre><p>A dummy value that can be used instead of a rank wherever a source or a destination argument is required in a call. A send</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/nonblocking.jl#L17-L22">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.ANY_SOURCE" href="#MPI.ANY_SOURCE"><code>MPI.ANY_SOURCE</code></a> — <span class="docstring-category">Constant</span></header><section><div><pre><code class="language-julia hljs">MPI.ANY_SOURCE</code></pre><p>A wild card value for receive or probe operations that matches any source rank.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/nonblocking.jl#L25-L29">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.ANY_TAG" href="#MPI.ANY_TAG"><code>MPI.ANY_TAG</code></a> — <span class="docstring-category">Constant</span></header><section><div><pre><code class="language-julia hljs">MPI.ANY_TAG</code></pre><p>A wild card value for receive or probe operations that matches any tag.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/nonblocking.jl#L32-L36">source</a></section></article><h2 id="Blocking-communication"><a class="docs-heading-anchor" href="#Blocking-communication">Blocking communication</a><a id="Blocking-communication-1"></a><a class="docs-heading-anchor-permalink" href="#Blocking-communication" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Send" href="#MPI.Send"><code>MPI.Send</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Send(buf, comm::Comm; dest::Integer, tag::Integer=0)</code></pre><p>Perform a blocking send from the buffer <code>buf</code> to MPI rank <code>dest</code> of communicator <code>comm</code> using the message tag <code>tag</code>.</p><pre><code class="nohighlight hljs">Send(obj, comm::Comm; dest::Integer, tag::Integer=0)</code></pre><p>Complete a blocking send of an <code>isbits</code> object <code>obj</code> to MPI rank <code>dest</code> of communicator <code>comm</code> using with the message tag <code>tag</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Send</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Send.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Send.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/pointtopoint.jl#L2-L15">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.send" href="#MPI.send"><code>MPI.send</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">send(obj, comm::Comm; dest::Integer, tag::Integer=0)</code></pre><p>Complete a blocking send using a serialized version of <code>obj</code> to MPI rank <code>dest</code> of communicator <code>comm</code> using with the message tag <code>tag</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/pointtopoint.jl#L33-L38">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Recv!" href="#MPI.Recv!"><code>MPI.Recv!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">data = Recv!(recvbuf, comm::Comm;
-        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)
-data, status = Recv!(recvbuf, comm::Comm, MPI.Status;
-        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)</code></pre><p>Completes a blocking receive into the buffer <code>recvbuf</code> from MPI rank <code>source</code> of communicator <code>comm</code> using with the message tag <code>tag</code>.</p><p><code>recvbuf</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(recvbuf)</code> is defined.</p><p>Optionally returns the <a href="#MPI.Status"><code>Status</code></a> object of the receive.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Recv"><code>Recv</code></a></li><li><a href="#MPI.recv"><code>recv</code></a></li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Recv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Recv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Recv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/pointtopoint.jl#L89-L108">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Recv" href="#MPI.Recv"><code>MPI.Recv</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">data = Recv(::Type{T}, comm::Comm;
-        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)
-data, status = Recv(::Type{T}, comm::Comm, MPI.Status;
-        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)</code></pre><p>Completes a blocking receive of a single <code>isbits</code> object of type <code>T</code> from MPI rank <code>source</code> of communicator <code>comm</code> using with the message tag <code>tag</code>.</p><p>Returns a tuple of the object of type <code>T</code> and optionally the <a href="#MPI.Status"><code>Status</code></a> of the receive.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Recv!"><code>Recv!</code></a></li><li><a href="#MPI.recv"><code>recv</code></a></li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Recv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Recv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Recv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/pointtopoint.jl#L126-L143">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.recv" href="#MPI.recv"><code>MPI.recv</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">obj = recv(comm::Comm;
-        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)
-obj, status = recv(comm::Comm, MPI.Status;
-        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)</code></pre><p>Completes a blocking receive of a serialized object from MPI rank <code>source</code> of communicator <code>comm</code> using with the message tag <code>tag</code>.</p><p>Returns the deserialized object and optionally the <a href="#MPI.Status"><code>Status</code></a> of the receive.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/pointtopoint.jl#L157-L167">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Sendrecv!" href="#MPI.Sendrecv!"><code>MPI.Sendrecv!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">data = Sendrecv!(sendbuf, recvbuf, comm;
-        dest::Integer, sendtag::Integer=0, source::Integer=MPI.ANY_SOURCE, recvtag::Integer=MPI.ANY_TAG)
-data, status = Sendrecv!(sendbuf, recvbuf, comm, MPI.Status;
-        dest::Integer, sendtag::Integer=0, source::Integer=MPI.ANY_SOURCE, recvtag::Integer=MPI.ANY_TAG)</code></pre><p>Complete a blocking send-receive operation over the MPI communicator <code>comm</code>. Send <code>sendbuf</code> to the MPI rank <code>dest</code> using message tag <code>sendtag</code>, and receive from MPI rank <code>source</code> into the buffer <code>recvbuf</code> using message tag <code>recvtag</code>. Return a <a href="#MPI.Status"><code>Status</code></a> object.</p><p><strong>External links</strong></p><ul><li><code>MPI_Sendrecv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Sendrecv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Sendrecv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/pointtopoint.jl#L214-L226">source</a></section></article><h2 id="Non-blocking-communication"><a class="docs-heading-anchor" href="#Non-blocking-communication">Non-blocking communication</a><a id="Non-blocking-communication-1"></a><a class="docs-heading-anchor-permalink" href="#Non-blocking-communication" title="Permalink"></a></h2><h3 id="Initiation"><a class="docs-heading-anchor" href="#Initiation">Initiation</a><a id="Initiation-1"></a><a class="docs-heading-anchor-permalink" href="#Initiation" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.Isend" href="#MPI.Isend"><code>MPI.Isend</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Isend(data, comm::Comm; dest::Integer, tag::Integer=0)</code></pre><p>Starts a nonblocking send of <code>data</code> to MPI rank <code>dest</code> of communicator <code>comm</code> using with the message tag <code>tag</code>.</p><p><code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <a href="../buffers/#MPI.Buffer_send"><code>Buffer_send</code></a> is defined.</p><p>Returns the <a href="#MPI.Request"><code>Request</code></a> object for the nonblocking send.</p><p><strong>External links</strong></p><ul><li><code>MPI_Isend</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Isend.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Isend.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/pointtopoint.jl#L46-L58">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.isend" href="#MPI.isend"><code>MPI.isend</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">isend(obj, comm::Comm; dest::Integer, tag::Integer=0)</code></pre><p>Starts a nonblocking send of using a serialized version of <code>obj</code> to MPI rank <code>dest</code> of communicator <code>comm</code> using with the message tag <code>tag</code>.</p><p>Returns the commication <code>Request</code> for the nonblocking send.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/pointtopoint.jl#L74-L81">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Irecv!" href="#MPI.Irecv!"><code>MPI.Irecv!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">req = Irecv!(recvbuf, comm::Comm;
-        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)</code></pre><p>Starts a nonblocking receive into the buffer <code>data</code> from MPI rank <code>source</code> of communicator <code>comm</code> using with the message tag <code>tag</code>.</p><p><code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(data)</code> is defined.</p><p>Returns the <a href="#MPI.Request"><code>Request</code></a> object for the nonblocking receive.</p><p><strong>External links</strong></p><ul><li><code>MPI_Irecv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Irecv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Irecv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/pointtopoint.jl#L185-L198">source</a></section></article><h3 id="Completion"><a class="docs-heading-anchor" href="#Completion">Completion</a><a id="Completion-1"></a><a class="docs-heading-anchor-permalink" href="#Completion" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.Test" href="#MPI.Test"><code>MPI.Test</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">flag = Test(req::Request)
-flag, status = Test(req::Request, Status)</code></pre><p>Check if the request <code>req</code> is complete. If so, the request is deallocated and <code>flag = true</code> is returned. Otherwise <code>flag = false</code>.</p><p>The <code>Status</code> argument additionally returns the <a href="#MPI.Status"><code>Status</code></a> of the completed request.</p><p><strong>External links</strong></p><ul><li><code>MPI_Test</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Test.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Test.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/nonblocking.jl#L220-L230">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Testall" href="#MPI.Testall"><code>MPI.Testall</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">flag = Testall(reqs::AbstractVector{Request}[, statuses::Vector{Status}])
-flag, statuses = Testall(reqs::AbstractVector{Request}, Status)</code></pre><p>Check if all active requests in the array <code>reqs</code> are complete. If so, the requests are deallocated and <code>true</code> is returned. Otherwise no requests are modified, and <code>false</code> is returned.</p><p>The optional <code>statuses</code> or <code>Status</code> argument can be used to obtain the return <a href="#MPI.Status"><code>Status</code></a> of each request.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.RequestSet"><code>RequestSet</code></a> can be used to minimize allocations</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Testall</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Testall.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Testall.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/nonblocking.jl#L321-L337">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Testany" href="#MPI.Testany"><code>MPI.Testany</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">flag, idx = Testany(reqs::AbstractVector{Request}[, status::Ref{Status}])
-flag, idx, status = Testany(reqs::AbstractVector{Request}, Status)</code></pre><p>Checks if any one of the requests in the array <code>reqs</code> is complete.</p><p>If one or more requests are complete, then one is chosen arbitrarily, deallocated. <code>flag = true</code> and its (1-based) index <code>idx</code> is returned.</p><p>If there are no completed requests, then <code>flag = false</code> and <code>idx = nothing</code> is returned.</p><p>If there are no active requests, <code>flag = true</code> and <code>idx = nothing</code>.</p><p>The optional <code>status</code> argument can be used to obtain the return <a href="#MPI.Status"><code>Status</code></a> of the request.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.RequestSet"><code>RequestSet</code></a> can be used to minimize allocations</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Testany</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Testany.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Testany.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/nonblocking.jl#L393-L413">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Testsome" href="#MPI.Testsome"><code>MPI.Testsome</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">inds = Testsome(reqs::AbstractVector{Request}[, statuses::Vector{Status}])</code></pre><p>Similar to <a href="#MPI.Waitsome"><code>Waitsome</code></a> except that if no operations have completed it will return an empty array.</p><p>If there are no active requests, then the function returns <code>nothing</code>.</p><p>The optional <code>statuses</code> argument can be used to obtain the return <a href="#MPI.Status"><code>Status</code></a> of each completed request.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.RequestSet"><code>RequestSet</code></a> can be used to minimize allocations</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Testsome</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Testsome.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Testsome.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/nonblocking.jl#L477-L493">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Wait" href="#MPI.Wait"><code>MPI.Wait</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Wait(req::Request)
-status = Wait(req::Request, Status)</code></pre><p>Block until the request <code>req</code> is complete and deallocated.</p><p>The <code>Status</code> argument returns the <a href="#MPI.Status"><code>Status</code></a> of the completed request.</p><p><strong>External links</strong></p><ul><li><code>MPI_Wait</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Wait.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Wait.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/nonblocking.jl#L196-L206">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Waitall" href="#MPI.Waitall"><code>MPI.Waitall</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Waitall(reqs::AbstractVector{Request}[, statuses::Vector{Status}])
-statuses = Waitall(reqs::AbstractVector{Request}, Status)</code></pre><p>Block until all active requests in the array <code>reqs</code> are complete.</p><p>The optional <code>statuses</code> or <code>Status</code> argument can be used to obtain the return <a href="#MPI.Status"><code>Status</code></a> of each request.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.RequestSet"><code>RequestSet</code></a> can be used to minimize allocations</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Waitall</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Waitall.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Waitall.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/nonblocking.jl#L288-L302">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Waitany" href="#MPI.Waitany"><code>MPI.Waitany</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">i = Waitany(reqs::AbstractVector{Request}[, status::Ref{Status}])
-i, status = Waitany(reqs::AbstractVector{Request}, Status)</code></pre><p>Blocks until one of the requests in the array <code>reqs</code> is complete: if more than one is complete, one is chosen arbitrarily. The request is deallocated and the (1-based) index <code>i</code> of the completed request is returned.</p><p>If there are no active requests, then <code>i = nothing</code>.</p><p>The optional <code>status</code> argument can be used to obtain the return <a href="#MPI.Status"><code>Status</code></a> of the request.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.RequestSet"><code>RequestSet</code></a> can be used to minimize allocations</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Waitany</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Waitany.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Waitany.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/nonblocking.jl#L355-L373">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Waitsome" href="#MPI.Waitsome"><code>MPI.Waitsome</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">inds = Waitsome(reqs::AbstractVector{Request}[, statuses::Vector{Status}])</code></pre><p>Block until at least one of the active requests in the array <code>reqs</code> is complete. The completed requests are deallocated, and an array <code>inds</code> of their indices in <code>reqs</code> is returned.</p><p>If there are no active requests, then <code>inds = nothing</code>.</p><p>The optional <code>statuses</code> argument can be used to obtain the return <a href="#MPI.Status"><code>Status</code></a> of each completed request.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.RequestSet"><code>RequestSet</code></a> can be used to minimize allocations</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Waitsome</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Waitsome.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Waitsome.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/nonblocking.jl#L435-L452">source</a></section></article><h3 id="Probe/Cancel"><a class="docs-heading-anchor" href="#Probe/Cancel">Probe/Cancel</a><a id="Probe/Cancel-1"></a><a class="docs-heading-anchor-permalink" href="#Probe/Cancel" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.Cancel!" href="#MPI.Cancel!"><code>MPI.Cancel!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Cancel!(req::Request)</code></pre><p>Marks a pending <a href="#MPI.Irecv!"><code>Irecv!</code></a> operation for cancellation (cancelling a <a href="#MPI.Isend"><code>Isend</code></a>, while supported in some implementations, is deprecated as of MPI 3.1). Note that the request is not deallocated, and can still be queried using the test or wait functions.</p><p><strong>External links</strong></p><ul><li><code>MPI_Cancel</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cancel.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cancel.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/nonblocking.jl#L518-L527">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Iprobe" href="#MPI.Iprobe"><code>MPI.Iprobe</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">ismsg = Iprobe(comm::Comm;
-        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)
-ismsg, status = Iprobe(comm::Comm, MPI.Status;
-        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)</code></pre><p>Checks if there is a message that can be received matching <code>source</code>, <code>tag</code> and <code>comm</code>. If so, returns <code>ismsg = true</code>. The <code>Status</code> argument additionally returns the <a href="#MPI.Status"><code>Status</code></a> of the completed request.</p><p><strong>External links</strong></p><ul><li><code>MPI_Iprobe</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iprobe.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iprobe.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/nonblocking.jl#L145-L158">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Probe" href="#MPI.Probe"><code>MPI.Probe</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Probe(comm::Comm;
-        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)
-status = Probe(comm::Comm, MPI.Status;
-    source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)</code></pre><p>Blocks until there is a message that can be received matching <code>source</code>, <code>tag</code> and <code>comm</code>. Optionally returns the corresponding <a href="#MPI.Status"><code>Status</code></a> object.</p><p><strong>External links</strong></p><ul><li><code>MPI_Probe</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Probe.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Probe.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/nonblocking.jl#L117-L128">source</a></section></article><h3 id="Persistent-requests"><a class="docs-heading-anchor" href="#Persistent-requests">Persistent requests</a><a id="Persistent-requests-1"></a><a class="docs-heading-anchor-permalink" href="#Persistent-requests" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.Send_init" href="#MPI.Send_init"><code>MPI.Send_init</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Send_init(buf, comm; dest, tag=0)::MPI.Request</code></pre><p>Allocate a persistent send request, returning a <a href="#MPI.Request"><code>Request</code></a> object. Use <a href="#MPI.Start"><code>Start</code></a> or <a href="#MPI.Startall"><code>Startall</code></a> to start the communication operation, and <code>free</code> to deallocate the request.</p><p><strong>External links</strong></p><ul><li><code>MPI_Send_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Send_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Send_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/pointtopoint.jl#L251-L260">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Recv_init" href="#MPI.Recv_init"><code>MPI.Recv_init</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Recv_init(buf, comm; source=MPI.ANY_SOURCE, tag=MPI.ANY_TAG)::MPI.Request</code></pre><p>Allocate a persistent receive request, returning a <a href="#MPI.Request"><code>Request</code></a> object. Use <a href="#MPI.Start"><code>Start</code></a> or <a href="#MPI.Startall"><code>Startall</code></a> to start the communication operation, and <code>free</code> to deallocate the request.</p><p><strong>External links</strong></p><ul><li><code>MPI_Recv_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Recv_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Recv_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/pointtopoint.jl#L273-L282">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Start" href="#MPI.Start"><code>MPI.Start</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Start(request::Request)</code></pre><p>Start a persistent communication request created by <a href="#MPI.Send_init"><code>Send_init</code></a> or <a href="#MPI.Recv_init"><code>Recv_init</code></a>. Call <a href="#MPI.Wait"><code>Wait</code></a> to complete the request.</p><p><strong>External links</strong></p><ul><li><code>MPI_Start</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Start.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Start.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/pointtopoint.jl#L295-L303">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Startall" href="#MPI.Startall"><code>MPI.Startall</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Startall(reqs::AbstractVector{Request})</code></pre><p>Start a set of persistent communication requests created by <a href="#MPI.Send_init"><code>Send_init</code></a> or <a href="#MPI.Recv_init"><code>Recv_init</code></a>. Call <a href="#MPI.Waitall"><code>Waitall</code></a> to complete the requests.</p><p><strong>External links</strong></p><ul><li><code>MPI_Startall</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Startall.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Startall.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/pointtopoint.jl#L309-L317">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../buffers/">« Buffers</a><a class="docs-footer-nextpage" href="../collective/">Collective communication »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 6 November 2022 21:18">Sunday 6 November 2022</span>. Using Julia version 1.8.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR676/reference/topology/index.html b/previews/PR676/reference/topology/index.html
deleted file mode 100644
index fad296bfb..000000000
--- a/previews/PR676/reference/topology/index.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Topology · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../library/">Library information</a></li><li><a class="tocitem" href="../environment/">Environment</a></li><li><a class="tocitem" href="../misc/">Miscellanea</a></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li class="is-active"><a class="tocitem" href>Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../advanced/">Advanced</a></li><li><a class="tocitem" href="../api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>Topology</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Topology</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/topology.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Topology"><a class="docs-heading-anchor" href="#Topology">Topology</a><a id="Topology-1"></a><a class="docs-heading-anchor-permalink" href="#Topology" title="Permalink"></a></h1><article class="docstring"><header><a class="docstring-binding" id="MPI.Dims_create" href="#MPI.Dims_create"><code>MPI.Dims_create</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">newdims = Dims_create(nnodes::Integer, dims)</code></pre><p>A convenience function for selecting a balanced Cartesian grid of a total of <code>nnodes</code> nodes, for example to use with <a href="#MPI.Cart_create"><code>MPI.Cart_create</code></a>.</p><p><code>dims</code> is an array or tuple of integers specifying the number of nodes in each dimension. The function returns an array <code>newdims</code> of the same length, such that if <code>newdims[i] = dims[i]</code> if <code>dims[i]</code> is non-zero, and <code>prod(newdims) == nnodes</code>, and values <code>newdims</code> are as close to each other as possible.</p><p><code>nnodes</code> should be divisible by the product of the non-zero entries of <code>dims</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Dims_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Dims_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Dims_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/topology.jl#L1-L16">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Cart_create" href="#MPI.Cart_create"><code>MPI.Cart_create</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">comm_cart = Cart_create(comm::Comm, dims; periodic=map(_-&gt;false, dims), reorder=false)</code></pre><p>Create new MPI communicator with Cartesian topology information attached.</p><p><code>dims</code> is an array or tuple of integers specifying the number of MPI processes in each coordinate direction, and <code>periodic</code> is an array or tuple of <code>Bool</code>s indicating the periodicity of each coordinate. <code>prod(dims)</code> must be less than or equal to the size of <code>comm</code>; if it is smaller than some processes are returned a null communicator.</p><p>If <code>reorder == false</code> then the rank of each process in the new group is identical to its rank in the old group, otherwise the function may reorder the processes.</p><p>See also <a href="#MPI.Dims_create"><code>MPI.Dims_create</code></a>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Cart_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cart_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cart_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/topology.jl#L24-L41">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Cart_get" href="#MPI.Cart_get"><code>MPI.Cart_get</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">dims, periods, coords = Cart_get(comm::Comm)</code></pre><p>Obtain information on the Cartesian topology of dimension <code>N</code> underlying the communicator <code>comm</code>. This is specified by two <code>Cint</code> arrays of <code>N</code> elements for the number of processes and periodicity properties along each Cartesian dimension. A third <code>Cint</code> array is returned, containing the Cartesian coordinates of the calling process.</p><p><strong>External links</strong></p><ul><li><code>MPI_Cart_get</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cart_get.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cart_get.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/topology.jl#L78-L88">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Cart_coords" href="#MPI.Cart_coords"><code>MPI.Cart_coords</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">coords = Cart_coords(comm::Comm, rank::Integer=Comm_rank(comm))</code></pre><p>Determine coordinates of a process with rank <code>rank</code> in the Cartesian communicator <code>comm</code>. If no <code>rank</code> is provided, it returns the coordinates of the current process.</p><p>Returns an integer array of the 0-based coordinates. The inverse of <a href="#MPI.Cart_rank"><code>Cart_rank</code></a>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Cart_coords</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cart_coords.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cart_coords.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/topology.jl#L115-L125">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Cart_rank" href="#MPI.Cart_rank"><code>MPI.Cart_rank</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">rank = Cart_rank(comm::Comm, coords)</code></pre><p>Determine process rank in communicator <code>comm</code> with Cartesian structure.  The <code>coords</code> array specifies the 0-based Cartesian coordinates of the process. This is the inverse of <a href="#MPI.Cart_coords"><code>MPI.Cart_coords</code></a></p><p><strong>External links</strong></p><ul><li><code>MPI_Cart_rank</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cart_rank.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cart_rank.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/topology.jl#L58-L66">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Cart_shift" href="#MPI.Cart_shift"><code>MPI.Cart_shift</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">rank_source, rank_dest = Cart_shift(comm::Comm, direction::Integer, disp::Integer)</code></pre><p>Return the source and destination ranks associated to a shift along a given direction.</p><p><strong>External links</strong></p><ul><li><code>MPI_Cart_shift</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cart_shift.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cart_shift.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/topology.jl#L134-L142">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Cart_sub" href="#MPI.Cart_sub"><code>MPI.Cart_sub</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">comm_sub = Cart_sub(comm::Comm, remain_dims)</code></pre><p>Create lower-dimensional Cartesian communicator from existent Cartesian topology.</p><p><code>remain_dims</code> should be a boolean vector specifying the dimensions that should be kept in the generated subgrid.</p><p><strong>External links</strong></p><ul><li><code>MPI_Cart_sub</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cart_sub.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cart_sub.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/topology.jl#L152-L163">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Cartdim_get" href="#MPI.Cartdim_get"><code>MPI.Cartdim_get</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">ndims = Cartdim_get(comm::Comm)</code></pre><p>Return number of dimensions of the Cartesian topology associated with the communicator <code>comm</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Cartdim_get</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cartdim_get.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cartdim_get.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/topology.jl#L100-L107">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Dist_graph_create" href="#MPI.Dist_graph_create"><code>MPI.Dist_graph_create</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">graph_comm = Dist_graph_create(comm::Comm, sources::Vector{Cint}, degrees::Vector{Cint}, destinations::Vector{Cint}; weights::Union{Vector{Cint}, Unweighted, WeightsEmpty}=UNWEIGHTED, reorder=false, infokws...)</code></pre><p>Create a new communicator from a given directed graph topology, described by incoming and outgoing edges on an existing communicator.</p><p><strong>Arguments</strong></p><ul><li><code>comm::Comm</code>: The communicator on which the distributed graph topology should be induced.</li><li><code>sources::Vector{Cint}</code>: An array with the ranks for which this call will specify outgoing edges.</li><li><code>degrees::Vector{Cint}</code>: An array with the number of outgoing edges for each entry in the sources array.</li><li><code>destinations::Vector{Cint}</code>: An array containing with lenght of the sum of the entries in the degrees array                               describing the ranks towards the edges point.</li><li><code>weights::Union{Vector{Cint}, Unweighted, WeightsEmpty}=MPI.UNWEIGHTED</code>: The edge weights of the specified edges.</li><li><code>reorder::Bool=false</code>: If set true, then the MPI implementation can reorder the source and destination indices.</li></ul><p><strong>Example</strong></p><p>We can generate a ring graph <code>1 --&gt; 2 --&gt; ... --&gt; N --&gt; 1</code>, where N is the number of ranks in the communicator, as follows</p><pre><code class="language-julia hljs">julia&gt; rank = MPI.Comm_rank(comm);
-julia&gt; N = MPI.Comm_size(comm);
-julia&gt; sources = Cint[rank];
-julia&gt; degrees = Cint[1];
-julia&gt; destinations = Cint[mod(rank-1, N)];
-julia&gt; graph_comm = Dist_graph_create(comm, sources, degrees, destinations)</code></pre><p><strong>External links</strong></p><ul><li><code>MPI_Dist_graph_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Dist_graph_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Dist_graph_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/topology.jl#L224-L251">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Dist_graph_create_adjacent" href="#MPI.Dist_graph_create_adjacent"><code>MPI.Dist_graph_create_adjacent</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">graph_comm = Dist_graph_create_adjacent(comm::Comm, sources::Vector{Cint}, destinations::Vector{Cint}; source_weights::Union{Vector{Cint}, Unweighted, WeightsEmpty}=UNWEIGHTED, destination_weights::Union{Vector{Cint}, Unweighted, WeightsEmpty}=UNWEIGHTED, reorder=false, infokws...)</code></pre><p>Create a new communicator from a given directed graph topology, described by local incoming and outgoing edges on an existing communicator.</p><p><strong>Arguments</strong></p><ul><li><code>comm::Comm</code>: The communicator on which the distributed graph topology should be induced.</li><li><code>sources::Vector{Cint}</code>: The local, incoming edges on the rank of the calling process.</li><li><code>destinations::Vector{Cint}</code>: The local, outgoing edges on the rank of the calling process.</li><li><code>source_weights::Union{Vector{Cint}, Unweighted, WeightsEmpty}=MPI.UNWEIGHTED</code>: The edge weights of the local, incoming edges.</li><li><code>destinations_weights::Union{Vector{Cint}, Unweighted, WeightsEmpty}=MPI.UNWEIGHTED</code>: The edge weights of the local, outgoing edges.</li><li><code>reorder::Bool=false</code>: If set true, then the MPI implementation can reorder the source and destination indices.</li></ul><p><strong>Example</strong></p><p>We can generate a ring graph <code>1 --&gt; 2 --&gt; ... --&gt; N --&gt; 1</code>, where N is the number of ranks in the communicator, as follows</p><pre><code class="language-julia hljs">julia&gt; rank = MPI.Comm_rank(comm);
-julia&gt; N = MPI.Comm_size(comm);
-julia&gt; sources = Cint[mod(rank-1, N)];
-julia&gt; destinations = Cint[mod(rank+1, N)];
-julia&gt; graph_comm = Dist_graph_create_adjacent(comm, sources, destinations);</code></pre><p><strong>External links</strong></p><ul><li><code>MPI_Dist_graph_create_adjacent</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Dist_graph_create_adjacent.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Dist_graph_create_adjacent.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/topology.jl#L185-L210">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Dist_graph_neighbors_count" href="#MPI.Dist_graph_neighbors_count"><code>MPI.Dist_graph_neighbors_count</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">indegree, outdegree, weighted = Dist_graph_neighbors_count(graph_comm::Comm)</code></pre><p>Return the number of in and out edges for the calling processes in a distributed graph topology and a flag indicating whether the distributed graph is weighted.</p><p><strong>Arguments</strong></p><ul><li><code>graph_comm::Comm</code>: The communicator of the distributed graph topology.</li></ul><p><strong>Example</strong></p><p>Let us assume the following graph <code>0 &lt;--&gt; 1 --&gt; 2</code>, which has no weights on its edges, then the process with rank 1 will obtain the following result from calling the function</p><pre><code class="language-julia-repl hljs">julia&gt; Dist_graph_neighbors_count(graph_comm)
-(1,2,false)</code></pre><p><strong>External links</strong></p><ul><li><code>MPI_Dist_graph_neighbors_count</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Dist_graph_neighbors_count.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Dist_graph_neighbors_count.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/topology.jl#L263-L282">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Dist_graph_neighbors!" href="#MPI.Dist_graph_neighbors!"><code>MPI.Dist_graph_neighbors!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Dist_graph_neighbors!(graph_comm::Comm, sources::Vector{Cint}, source_weights::Vector{Cint}, destinations::Vector{Cint}, destination_weights::Vector{Cint})</code></pre><p>Return the neighbors and edge weights of the calling process in a distributed graph topology.</p><p><strong>Arguments</strong></p><ul><li><code>graph_comm::Comm</code>: The communicator of the distributed graph topology.</li><li><code>sources::Vector{Cint}</code>: A preallocated vector, which will be filled with the ranks                       of the processes whose edges pointing towards the calling process. The                       length is exactly the indegree returned by <a href="#MPI.Dist_graph_neighbors_count"><code>MPI.Dist_graph_neighbors_count</code></a>.</li><li><code>source_weights::Vector{Cint}</code>: A preallocated vector, which will be filled with the weights                       associated to the edges pointing towards the calling process. The                       length is exactly the indegree returned by <a href="#MPI.Dist_graph_neighbors_count"><code>MPI.Dist_graph_neighbors_count</code></a>.</li><li><code>destinations::Vector{Cint}</code>: A preallocated vector, which will be filled with the ranks                       of the processes towards which the edges of the calling process point. The                       length is exactly the outdegree returned by <a href="#MPI.Dist_graph_neighbors_count"><code>MPI.Dist_graph_neighbors_count</code></a>.</li><li><code>destination_weights::Vector{Cint}</code>: A preallocated vector, which will be filled with the weights                       associated to the edges of the outgoing edges of the calling process point. The                       length is exactly the outdegree returned by <a href="#MPI.Dist_graph_neighbors_count"><code>MPI.Dist_graph_neighbors_count</code></a>.</li></ul><p><strong>Example</strong></p><p>Let us assume the following graph <code>0 &lt;-3-&gt; 1 -4-&gt; 2</code>, then the process with rank 1 will require to preallocate a sources vector of length 1 and a destination vector of length 2. The call will fill the vectors as follows:</p><pre><code class="language-julia-repl hljs">julia&gt; Dist_graph_neighbors!(graph_comm, sources, source_weights, destinations, destination_weights);
-julia&gt; sources
-[0]
-julia&gt; source_weights
-[3]
-julia&gt; destinations
-[0,2]
-julia&gt; destination_weights
-[3,4]</code></pre><p>Note that the edge between ranks 0 and 1 can have a different weight depending on wether it is the incoming edge &quot;<code>(0,1)&quot;</code> or the outgoing one &quot;<code>(1,0)&quot;</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Dist_graph_neighbors</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Dist_graph_neighbors.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Dist_graph_neighbors.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/topology.jl#L293-L335">source</a></section><section><div><pre><code class="nohighlight hljs">Dist_graph_neighbors!(graph_comm::Comm, sources::Vector{Cint}, destinations::Vector{Cint})</code></pre><p>Return the neighbors of the calling process in a distributed graph topology without edge weights.</p><p><strong>Arguments</strong></p><ul><li><code>graph_comm::Comm</code>: The communicator of the distributed graph topology.</li><li><code>sources::Vector{Cint}</code>: A preallocated vector, which will be filled with the ranks of the                       processes whose edges pointing towards the calling process. The                       length is exactly the indegree returned by <a href="#MPI.Dist_graph_neighbors_count"><code>MPI.Dist_graph_neighbors_count</code></a>.</li><li><code>destinations::Vector{Cint}</code>: A preallocated vector, which will be filled with the ranks                       of the processes towards which the edges of the calling process point. The                       length is exactly the outdegree returned by <a href="#MPI.Dist_graph_neighbors_count"><code>MPI.Dist_graph_neighbors_count</code></a>.</li></ul><p><strong>Example</strong></p><p>Let us assume the following graph <code>0 &lt;--&gt; 1 --&gt; 2</code>, then the process with rank 1 will require to preallocate a sources vector of length 1 and a destination vector of length 2. The call will fill the vectors as follows:</p><pre><code class="language-julia-repl hljs">julia&gt; Dist_graph_neighbors!(graph_comm, sources, destinations);
-julia&gt; sources
-[0]
-julia&gt; destinations
-[0,2]</code></pre><p><strong>External links</strong></p><ul><li><code>MPI_Dist_graph_neighbors</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Dist_graph_neighbors.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Dist_graph_neighbors.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/7614312f5f2a6cfd5a454760445e68262a2badf0/src/topology.jl#L345-L374">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../onesided/">« One-sided communication</a><a class="docs-footer-nextpage" href="../io/">I/O »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 6 November 2022 21:18">Sunday 6 November 2022</span>. Using Julia version 1.8.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR676/refindex/index.html b/previews/PR676/refindex/index.html
deleted file mode 100644
index c6ea8b889..000000000
--- a/previews/PR676/refindex/index.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Index · MPI.jl</title><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../"><img src="../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../">MPI.jl</a></span></div><form class="docs-search" action="../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../">MPI.jl</a></li><li><a class="tocitem" href="../configuration/">Configuration</a></li><li><a class="tocitem" href="../usage/">Usage</a></li><li><a class="tocitem" href="../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../reference/library/">Library information</a></li><li><a class="tocitem" href="../reference/environment/">Environment</a></li><li><a class="tocitem" href="../reference/misc/">Miscellanea</a></li><li><a class="tocitem" href="../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../reference/topology/">Topology</a></li><li><a class="tocitem" href="../reference/io/">I/O</a></li><li><a class="tocitem" href="../reference/advanced/">Advanced</a></li><li><a class="tocitem" href="../reference/api/">Low-level API</a></li></ul></li><li class="is-active"><a class="tocitem" href>Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>Index</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Index</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/refindex.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Index"><a class="docs-heading-anchor" href="#Index">Index</a><a id="Index-1"></a><a class="docs-heading-anchor-permalink" href="#Index" title="Permalink"></a></h1><ul><li><a href="../reference/pointtopoint/#MPI.ANY_SOURCE"><code>MPI.ANY_SOURCE</code></a></li><li><a href="../reference/pointtopoint/#MPI.ANY_TAG"><code>MPI.ANY_TAG</code></a></li><li><a href="../reference/comm/#MPI.COMM_SELF"><code>MPI.COMM_SELF</code></a></li><li><a href="../reference/comm/#MPI.COMM_WORLD"><code>MPI.COMM_WORLD</code></a></li><li><a href="../reference/buffers/#MPI.IN_PLACE"><code>MPI.IN_PLACE</code></a></li><li><a href="../reference/library/#MPI.MPI_LIBRARY"><code>MPI.MPI_LIBRARY</code></a></li><li><a href="../reference/library/#MPI.MPI_LIBRARY_VERSION"><code>MPI.MPI_LIBRARY_VERSION</code></a></li><li><a href="../reference/library/#MPI.MPI_LIBRARY_VERSION_STRING"><code>MPI.MPI_LIBRARY_VERSION_STRING</code></a></li><li><a href="../reference/library/#MPI.MPI_VERSION"><code>MPI.MPI_VERSION</code></a></li><li><a href="../reference/pointtopoint/#MPI.PROC_NULL"><code>MPI.PROC_NULL</code></a></li><li><a href="../reference/mpipreferences/#MPIPreferences.abi"><code>MPIPreferences.abi</code></a></li><li><a href="../reference/mpipreferences/#MPIPreferences.binary"><code>MPIPreferences.binary</code></a></li><li><a href="../reference/environment/#MPI.API.FeatureLevelError"><code>MPI.API.FeatureLevelError</code></a></li><li><a href="../reference/buffers/#MPI.API.MPIPtr"><code>MPI.API.MPIPtr</code></a></li><li><a href="../reference/buffers/#MPI.Buffer"><code>MPI.Buffer</code></a></li><li><a href="../reference/comm/#MPI.Comm"><code>MPI.Comm</code></a></li><li><a href="../reference/group/#MPI.Comparison"><code>MPI.Comparison</code></a></li><li><a href="../reference/advanced/#MPI.Datatype"><code>MPI.Datatype</code></a></li><li><a href="../reference/advanced/#MPI.Errhandler"><code>MPI.Errhandler</code></a></li><li><a href="../reference/group/#MPI.Group"><code>MPI.Group</code></a></li><li><a href="../reference/advanced/#MPI.Info"><code>MPI.Info</code></a></li><li><a href="../reference/environment/#MPI.MPIError"><code>MPI.MPIError</code></a></li><li><a href="../reference/advanced/#MPI.Op"><code>MPI.Op</code></a></li><li><a href="../reference/buffers/#MPI.RBuffer"><code>MPI.RBuffer</code></a></li><li><a href="../reference/pointtopoint/#MPI.Request"><code>MPI.Request</code></a></li><li><a href="../reference/pointtopoint/#MPI.RequestSet"><code>MPI.RequestSet</code></a></li><li><a href="../reference/pointtopoint/#MPI.Status"><code>MPI.Status</code></a></li><li><a href="../reference/environment/#MPI.ThreadLevel"><code>MPI.ThreadLevel</code></a></li><li><a href="../reference/buffers/#MPI.UBuffer"><code>MPI.UBuffer</code></a></li><li><a href="../reference/buffers/#MPI.VBuffer"><code>MPI.VBuffer</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Abort-Tuple{Any, Any}"><code>MPI.API.MPI_Abort</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Accumulate-NTuple{9, Any}"><code>MPI.API.MPI_Accumulate</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Accumulate_c-NTuple{9, Any}"><code>MPI.API.MPI_Accumulate_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Add_error_class-Tuple{Any}"><code>MPI.API.MPI_Add_error_class</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Add_error_code-Tuple{Any, Any}"><code>MPI.API.MPI_Add_error_code</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Add_error_string-Tuple{Any, Any}"><code>MPI.API.MPI_Add_error_string</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Address-Tuple{Any, Any}"><code>MPI.API.MPI_Address</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Aint_add-Tuple{Any, Any}"><code>MPI.API.MPI_Aint_add</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Aint_diff-Tuple{Any, Any}"><code>MPI.API.MPI_Aint_diff</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Allgather-NTuple{7, Any}"><code>MPI.API.MPI_Allgather</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Allgather_c-NTuple{7, Any}"><code>MPI.API.MPI_Allgather_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Allgather_init-NTuple{9, Any}"><code>MPI.API.MPI_Allgather_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Allgather_init_c-NTuple{9, Any}"><code>MPI.API.MPI_Allgather_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Allgatherv-NTuple{8, Any}"><code>MPI.API.MPI_Allgatherv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Allgatherv_c-NTuple{8, Any}"><code>MPI.API.MPI_Allgatherv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Allgatherv_init-NTuple{10, Any}"><code>MPI.API.MPI_Allgatherv_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Allgatherv_init_c-NTuple{10, Any}"><code>MPI.API.MPI_Allgatherv_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Alloc_mem-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Alloc_mem</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Allreduce-NTuple{6, Any}"><code>MPI.API.MPI_Allreduce</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Allreduce_c-NTuple{6, Any}"><code>MPI.API.MPI_Allreduce_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Allreduce_init-NTuple{8, Any}"><code>MPI.API.MPI_Allreduce_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Allreduce_init_c-NTuple{8, Any}"><code>MPI.API.MPI_Allreduce_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Alltoall-NTuple{7, Any}"><code>MPI.API.MPI_Alltoall</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Alltoall_c-NTuple{7, Any}"><code>MPI.API.MPI_Alltoall_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Alltoall_init-NTuple{9, Any}"><code>MPI.API.MPI_Alltoall_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Alltoall_init_c-NTuple{9, Any}"><code>MPI.API.MPI_Alltoall_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Alltoallv-NTuple{9, Any}"><code>MPI.API.MPI_Alltoallv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Alltoallv_c-NTuple{9, Any}"><code>MPI.API.MPI_Alltoallv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Alltoallv_init-NTuple{11, Any}"><code>MPI.API.MPI_Alltoallv_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Alltoallv_init_c-NTuple{11, Any}"><code>MPI.API.MPI_Alltoallv_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Alltoallw-NTuple{9, Any}"><code>MPI.API.MPI_Alltoallw</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Alltoallw_c-NTuple{9, Any}"><code>MPI.API.MPI_Alltoallw_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Alltoallw_init-NTuple{11, Any}"><code>MPI.API.MPI_Alltoallw_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Alltoallw_init_c-NTuple{11, Any}"><code>MPI.API.MPI_Alltoallw_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Attr_delete-Tuple{Any, Any}"><code>MPI.API.MPI_Attr_delete</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Attr_get-NTuple{4, Any}"><code>MPI.API.MPI_Attr_get</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Attr_put-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Attr_put</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Barrier-Tuple{Any}"><code>MPI.API.MPI_Barrier</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Barrier_init-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Barrier_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Bcast-NTuple{5, Any}"><code>MPI.API.MPI_Bcast</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Bcast_c-NTuple{5, Any}"><code>MPI.API.MPI_Bcast_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Bcast_init-NTuple{7, Any}"><code>MPI.API.MPI_Bcast_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Bcast_init_c-NTuple{7, Any}"><code>MPI.API.MPI_Bcast_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Bsend-NTuple{6, Any}"><code>MPI.API.MPI_Bsend</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Bsend_c-NTuple{6, Any}"><code>MPI.API.MPI_Bsend_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Bsend_init-NTuple{7, Any}"><code>MPI.API.MPI_Bsend_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Bsend_init_c-NTuple{7, Any}"><code>MPI.API.MPI_Bsend_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Buffer_attach-Tuple{Any, Any}"><code>MPI.API.MPI_Buffer_attach</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Buffer_attach_c-Tuple{Any, Any}"><code>MPI.API.MPI_Buffer_attach_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Buffer_detach-Tuple{Any, Any}"><code>MPI.API.MPI_Buffer_detach</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Buffer_detach_c-Tuple{Any, Any}"><code>MPI.API.MPI_Buffer_detach_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Cancel-Tuple{Any}"><code>MPI.API.MPI_Cancel</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Cart_coords-NTuple{4, Any}"><code>MPI.API.MPI_Cart_coords</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Cart_create-NTuple{6, Any}"><code>MPI.API.MPI_Cart_create</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Cart_get-NTuple{5, Any}"><code>MPI.API.MPI_Cart_get</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Cart_map-NTuple{5, Any}"><code>MPI.API.MPI_Cart_map</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Cart_rank-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Cart_rank</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Cart_shift-NTuple{5, Any}"><code>MPI.API.MPI_Cart_shift</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Cart_sub-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Cart_sub</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Cartdim_get-Tuple{Any, Any}"><code>MPI.API.MPI_Cartdim_get</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Close_port-Tuple{Any}"><code>MPI.API.MPI_Close_port</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_accept-NTuple{5, Any}"><code>MPI.API.MPI_Comm_accept</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_call_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_call_errhandler</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_compare-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Comm_compare</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_connect-NTuple{5, Any}"><code>MPI.API.MPI_Comm_connect</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_create-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Comm_create</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_create_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_create_errhandler</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_create_from_group-NTuple{5, Any}"><code>MPI.API.MPI_Comm_create_from_group</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_create_group-NTuple{4, Any}"><code>MPI.API.MPI_Comm_create_group</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_create_keyval-NTuple{4, Any}"><code>MPI.API.MPI_Comm_create_keyval</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_delete_attr-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_delete_attr</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_disconnect-Tuple{Any}"><code>MPI.API.MPI_Comm_disconnect</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_dup-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_dup</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_dup_with_info-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Comm_dup_with_info</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_free-Tuple{Any}"><code>MPI.API.MPI_Comm_free</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_free_keyval-Tuple{Any}"><code>MPI.API.MPI_Comm_free_keyval</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_get_attr-NTuple{4, Any}"><code>MPI.API.MPI_Comm_get_attr</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_get_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_get_errhandler</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_get_info-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_get_info</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_get_name-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Comm_get_name</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_get_parent-Tuple{Any}"><code>MPI.API.MPI_Comm_get_parent</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_group-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_group</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_idup-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Comm_idup</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_idup_with_info-NTuple{4, Any}"><code>MPI.API.MPI_Comm_idup_with_info</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_join-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_join</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_rank-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_rank</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_remote_group-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_remote_group</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_remote_size-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_remote_size</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_set_attr-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Comm_set_attr</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_set_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_set_errhandler</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_set_info-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_set_info</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_set_name-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_set_name</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_size-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_size</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_spawn-NTuple{8, Any}"><code>MPI.API.MPI_Comm_spawn</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_spawn_multiple-NTuple{9, Any}"><code>MPI.API.MPI_Comm_spawn_multiple</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_split-NTuple{4, Any}"><code>MPI.API.MPI_Comm_split</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_split_type-NTuple{5, Any}"><code>MPI.API.MPI_Comm_split_type</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_test_inter-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_test_inter</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Compare_and_swap-NTuple{7, Any}"><code>MPI.API.MPI_Compare_and_swap</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Dims_create-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Dims_create</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Dist_graph_create-NTuple{9, Any}"><code>MPI.API.MPI_Dist_graph_create</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Dist_graph_create_adjacent-NTuple{10, Any}"><code>MPI.API.MPI_Dist_graph_create_adjacent</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Dist_graph_neighbors-NTuple{7, Any}"><code>MPI.API.MPI_Dist_graph_neighbors</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Dist_graph_neighbors_count-NTuple{4, Any}"><code>MPI.API.MPI_Dist_graph_neighbors_count</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Errhandler_create-Tuple{Any, Any}"><code>MPI.API.MPI_Errhandler_create</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Errhandler_free-Tuple{Any}"><code>MPI.API.MPI_Errhandler_free</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Errhandler_get-Tuple{Any, Any}"><code>MPI.API.MPI_Errhandler_get</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Errhandler_set-Tuple{Any, Any}"><code>MPI.API.MPI_Errhandler_set</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Error_class-Tuple{Any, Any}"><code>MPI.API.MPI_Error_class</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Error_string-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Error_string</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Exscan-NTuple{6, Any}"><code>MPI.API.MPI_Exscan</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Exscan_c-NTuple{6, Any}"><code>MPI.API.MPI_Exscan_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Exscan_init-NTuple{8, Any}"><code>MPI.API.MPI_Exscan_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Exscan_init_c-NTuple{8, Any}"><code>MPI.API.MPI_Exscan_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Fetch_and_op-NTuple{7, Any}"><code>MPI.API.MPI_Fetch_and_op</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_c2f-Tuple{Any}"><code>MPI.API.MPI_File_c2f</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_call_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_File_call_errhandler</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_close-Tuple{Any}"><code>MPI.API.MPI_File_close</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_create_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_File_create_errhandler</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_delete-Tuple{Any, Any}"><code>MPI.API.MPI_File_delete</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_f2c-Tuple{Any}"><code>MPI.API.MPI_File_f2c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_get_amode-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_amode</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_get_atomicity-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_atomicity</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_get_byte_offset-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_get_byte_offset</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_get_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_errhandler</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_get_group-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_group</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_get_info-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_info</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_get_position-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_position</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_get_position_shared-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_position_shared</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_get_size-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_size</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_get_type_extent-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_get_type_extent</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_get_type_extent_c-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_get_type_extent_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_get_view-NTuple{5, Any}"><code>MPI.API.MPI_File_get_view</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iread-NTuple{5, Any}"><code>MPI.API.MPI_File_iread</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iread_all-NTuple{5, Any}"><code>MPI.API.MPI_File_iread_all</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iread_all_c-NTuple{5, Any}"><code>MPI.API.MPI_File_iread_all_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iread_at-NTuple{6, Any}"><code>MPI.API.MPI_File_iread_at</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iread_at_all-NTuple{6, Any}"><code>MPI.API.MPI_File_iread_at_all</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iread_at_all_c-NTuple{6, Any}"><code>MPI.API.MPI_File_iread_at_all_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iread_at_c-NTuple{6, Any}"><code>MPI.API.MPI_File_iread_at_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iread_c-NTuple{5, Any}"><code>MPI.API.MPI_File_iread_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iread_shared-NTuple{5, Any}"><code>MPI.API.MPI_File_iread_shared</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iread_shared_c-NTuple{5, Any}"><code>MPI.API.MPI_File_iread_shared_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iwrite-NTuple{5, Any}"><code>MPI.API.MPI_File_iwrite</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iwrite_all-NTuple{5, Any}"><code>MPI.API.MPI_File_iwrite_all</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iwrite_all_c-NTuple{5, Any}"><code>MPI.API.MPI_File_iwrite_all_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iwrite_at-NTuple{6, Any}"><code>MPI.API.MPI_File_iwrite_at</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iwrite_at_all-NTuple{6, Any}"><code>MPI.API.MPI_File_iwrite_at_all</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iwrite_at_all_c-NTuple{6, Any}"><code>MPI.API.MPI_File_iwrite_at_all_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iwrite_at_c-NTuple{6, Any}"><code>MPI.API.MPI_File_iwrite_at_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iwrite_c-NTuple{5, Any}"><code>MPI.API.MPI_File_iwrite_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iwrite_shared-NTuple{5, Any}"><code>MPI.API.MPI_File_iwrite_shared</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iwrite_shared_c-NTuple{5, Any}"><code>MPI.API.MPI_File_iwrite_shared_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_open-NTuple{5, Any}"><code>MPI.API.MPI_File_open</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_preallocate-Tuple{Any, Any}"><code>MPI.API.MPI_File_preallocate</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read-NTuple{5, Any}"><code>MPI.API.MPI_File_read</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_all-NTuple{5, Any}"><code>MPI.API.MPI_File_read_all</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_all_begin-NTuple{4, Any}"><code>MPI.API.MPI_File_read_all_begin</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_all_begin_c-NTuple{4, Any}"><code>MPI.API.MPI_File_read_all_begin_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_all_c-NTuple{5, Any}"><code>MPI.API.MPI_File_read_all_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_all_end-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_read_all_end</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_at-NTuple{6, Any}"><code>MPI.API.MPI_File_read_at</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_at_all-NTuple{6, Any}"><code>MPI.API.MPI_File_read_at_all</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_at_all_begin-NTuple{5, Any}"><code>MPI.API.MPI_File_read_at_all_begin</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_at_all_begin_c-NTuple{5, Any}"><code>MPI.API.MPI_File_read_at_all_begin_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_at_all_c-NTuple{6, Any}"><code>MPI.API.MPI_File_read_at_all_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_at_all_end-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_read_at_all_end</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_at_c-NTuple{6, Any}"><code>MPI.API.MPI_File_read_at_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_c-NTuple{5, Any}"><code>MPI.API.MPI_File_read_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_ordered-NTuple{5, Any}"><code>MPI.API.MPI_File_read_ordered</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_ordered_begin-NTuple{4, Any}"><code>MPI.API.MPI_File_read_ordered_begin</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_ordered_begin_c-NTuple{4, Any}"><code>MPI.API.MPI_File_read_ordered_begin_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_ordered_c-NTuple{5, Any}"><code>MPI.API.MPI_File_read_ordered_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_ordered_end-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_read_ordered_end</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_shared-NTuple{5, Any}"><code>MPI.API.MPI_File_read_shared</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_shared_c-NTuple{5, Any}"><code>MPI.API.MPI_File_read_shared_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_seek-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_seek</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_seek_shared-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_seek_shared</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_set_atomicity-Tuple{Any, Any}"><code>MPI.API.MPI_File_set_atomicity</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_set_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_File_set_errhandler</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_set_info-Tuple{Any, Any}"><code>MPI.API.MPI_File_set_info</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_set_size-Tuple{Any, Any}"><code>MPI.API.MPI_File_set_size</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_set_view-NTuple{6, Any}"><code>MPI.API.MPI_File_set_view</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_sync-Tuple{Any}"><code>MPI.API.MPI_File_sync</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write-NTuple{5, Any}"><code>MPI.API.MPI_File_write</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_all-NTuple{5, Any}"><code>MPI.API.MPI_File_write_all</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_all_begin-NTuple{4, Any}"><code>MPI.API.MPI_File_write_all_begin</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_all_begin_c-NTuple{4, Any}"><code>MPI.API.MPI_File_write_all_begin_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_all_c-NTuple{5, Any}"><code>MPI.API.MPI_File_write_all_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_all_end-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_write_all_end</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_at-NTuple{6, Any}"><code>MPI.API.MPI_File_write_at</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_at_all-NTuple{6, Any}"><code>MPI.API.MPI_File_write_at_all</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_at_all_begin-NTuple{5, Any}"><code>MPI.API.MPI_File_write_at_all_begin</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_at_all_begin_c-NTuple{5, Any}"><code>MPI.API.MPI_File_write_at_all_begin_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_at_all_c-NTuple{6, Any}"><code>MPI.API.MPI_File_write_at_all_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_at_all_end-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_write_at_all_end</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_at_c-NTuple{6, Any}"><code>MPI.API.MPI_File_write_at_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_c-NTuple{5, Any}"><code>MPI.API.MPI_File_write_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_ordered-NTuple{5, Any}"><code>MPI.API.MPI_File_write_ordered</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_ordered_begin-NTuple{4, Any}"><code>MPI.API.MPI_File_write_ordered_begin</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_ordered_begin_c-NTuple{4, Any}"><code>MPI.API.MPI_File_write_ordered_begin_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_ordered_c-NTuple{5, Any}"><code>MPI.API.MPI_File_write_ordered_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_ordered_end-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_write_ordered_end</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_shared-NTuple{5, Any}"><code>MPI.API.MPI_File_write_shared</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_shared_c-NTuple{5, Any}"><code>MPI.API.MPI_File_write_shared_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Finalize-Tuple{}"><code>MPI.API.MPI_Finalize</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Finalized-Tuple{Any}"><code>MPI.API.MPI_Finalized</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Free_mem-Tuple{Any}"><code>MPI.API.MPI_Free_mem</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Gather-NTuple{8, Any}"><code>MPI.API.MPI_Gather</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Gather_c-NTuple{8, Any}"><code>MPI.API.MPI_Gather_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Gather_init-NTuple{10, Any}"><code>MPI.API.MPI_Gather_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Gather_init_c-NTuple{10, Any}"><code>MPI.API.MPI_Gather_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Gatherv-NTuple{9, Any}"><code>MPI.API.MPI_Gatherv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Gatherv_c-NTuple{9, Any}"><code>MPI.API.MPI_Gatherv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Gatherv_init-NTuple{11, Any}"><code>MPI.API.MPI_Gatherv_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Gatherv_init_c-NTuple{11, Any}"><code>MPI.API.MPI_Gatherv_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Get-NTuple{8, Any}"><code>MPI.API.MPI_Get</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Get_accumulate-NTuple{12, Any}"><code>MPI.API.MPI_Get_accumulate</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Get_accumulate_c-NTuple{12, Any}"><code>MPI.API.MPI_Get_accumulate_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Get_address-Tuple{Any, Any}"><code>MPI.API.MPI_Get_address</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Get_c-NTuple{8, Any}"><code>MPI.API.MPI_Get_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Get_count-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Get_count</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Get_count_c-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Get_count_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Get_elements-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Get_elements</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Get_elements_c-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Get_elements_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Get_elements_x-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Get_elements_x</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Get_library_version-Tuple{Any, Any}"><code>MPI.API.MPI_Get_library_version</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Get_processor_name-Tuple{Any, Any}"><code>MPI.API.MPI_Get_processor_name</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Get_version-Tuple{Any, Any}"><code>MPI.API.MPI_Get_version</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Graph_create-NTuple{6, Any}"><code>MPI.API.MPI_Graph_create</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Graph_get-NTuple{5, Any}"><code>MPI.API.MPI_Graph_get</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Graph_map-NTuple{5, Any}"><code>MPI.API.MPI_Graph_map</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Graph_neighbors-NTuple{4, Any}"><code>MPI.API.MPI_Graph_neighbors</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Graph_neighbors_count-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Graph_neighbors_count</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Graphdims_get-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Graphdims_get</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Grequest_complete-Tuple{Any}"><code>MPI.API.MPI_Grequest_complete</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Grequest_start-NTuple{5, Any}"><code>MPI.API.MPI_Grequest_start</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Group_compare-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Group_compare</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Group_difference-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Group_difference</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Group_excl-NTuple{4, Any}"><code>MPI.API.MPI_Group_excl</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Group_free-Tuple{Any}"><code>MPI.API.MPI_Group_free</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Group_incl-NTuple{4, Any}"><code>MPI.API.MPI_Group_incl</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Group_intersection-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Group_intersection</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Group_range_excl-NTuple{4, Any}"><code>MPI.API.MPI_Group_range_excl</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Group_range_incl-NTuple{4, Any}"><code>MPI.API.MPI_Group_range_incl</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Group_rank-Tuple{Any, Any}"><code>MPI.API.MPI_Group_rank</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Group_size-Tuple{Any, Any}"><code>MPI.API.MPI_Group_size</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Group_translate_ranks-NTuple{5, Any}"><code>MPI.API.MPI_Group_translate_ranks</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Group_union-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Group_union</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Iallgather-NTuple{8, Any}"><code>MPI.API.MPI_Iallgather</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Iallgather_c-NTuple{8, Any}"><code>MPI.API.MPI_Iallgather_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Iallgatherv-NTuple{9, Any}"><code>MPI.API.MPI_Iallgatherv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Iallgatherv_c-NTuple{9, Any}"><code>MPI.API.MPI_Iallgatherv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Iallreduce-NTuple{7, Any}"><code>MPI.API.MPI_Iallreduce</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Iallreduce_c-NTuple{7, Any}"><code>MPI.API.MPI_Iallreduce_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ialltoall-NTuple{8, Any}"><code>MPI.API.MPI_Ialltoall</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ialltoall_c-NTuple{8, Any}"><code>MPI.API.MPI_Ialltoall_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ialltoallv-NTuple{10, Any}"><code>MPI.API.MPI_Ialltoallv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ialltoallv_c-NTuple{10, Any}"><code>MPI.API.MPI_Ialltoallv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ialltoallw-NTuple{10, Any}"><code>MPI.API.MPI_Ialltoallw</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ialltoallw_c-NTuple{10, Any}"><code>MPI.API.MPI_Ialltoallw_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ibarrier-Tuple{Any, Any}"><code>MPI.API.MPI_Ibarrier</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ibcast-NTuple{6, Any}"><code>MPI.API.MPI_Ibcast</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ibcast_c-NTuple{6, Any}"><code>MPI.API.MPI_Ibcast_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ibsend-NTuple{7, Any}"><code>MPI.API.MPI_Ibsend</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ibsend_c-NTuple{7, Any}"><code>MPI.API.MPI_Ibsend_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Iexscan-NTuple{7, Any}"><code>MPI.API.MPI_Iexscan</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Iexscan_c-NTuple{7, Any}"><code>MPI.API.MPI_Iexscan_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Igather-NTuple{9, Any}"><code>MPI.API.MPI_Igather</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Igather_c-NTuple{9, Any}"><code>MPI.API.MPI_Igather_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Igatherv-NTuple{10, Any}"><code>MPI.API.MPI_Igatherv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Igatherv_c-NTuple{10, Any}"><code>MPI.API.MPI_Igatherv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Improbe-NTuple{6, Any}"><code>MPI.API.MPI_Improbe</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Imrecv-NTuple{5, Any}"><code>MPI.API.MPI_Imrecv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Imrecv_c-NTuple{5, Any}"><code>MPI.API.MPI_Imrecv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ineighbor_allgather-NTuple{8, Any}"><code>MPI.API.MPI_Ineighbor_allgather</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ineighbor_allgather_c-NTuple{8, Any}"><code>MPI.API.MPI_Ineighbor_allgather_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ineighbor_allgatherv-NTuple{9, Any}"><code>MPI.API.MPI_Ineighbor_allgatherv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ineighbor_allgatherv_c-NTuple{9, Any}"><code>MPI.API.MPI_Ineighbor_allgatherv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ineighbor_alltoall-NTuple{8, Any}"><code>MPI.API.MPI_Ineighbor_alltoall</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ineighbor_alltoall_c-NTuple{8, Any}"><code>MPI.API.MPI_Ineighbor_alltoall_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ineighbor_alltoallv-NTuple{10, Any}"><code>MPI.API.MPI_Ineighbor_alltoallv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ineighbor_alltoallv_c-NTuple{10, Any}"><code>MPI.API.MPI_Ineighbor_alltoallv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ineighbor_alltoallw-NTuple{10, Any}"><code>MPI.API.MPI_Ineighbor_alltoallw</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ineighbor_alltoallw_c-NTuple{10, Any}"><code>MPI.API.MPI_Ineighbor_alltoallw_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Info_create-Tuple{Any}"><code>MPI.API.MPI_Info_create</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Info_create_env-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Info_create_env</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Info_delete-Tuple{Any, Any}"><code>MPI.API.MPI_Info_delete</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Info_dup-Tuple{Any, Any}"><code>MPI.API.MPI_Info_dup</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Info_free-Tuple{Any}"><code>MPI.API.MPI_Info_free</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Info_get-NTuple{5, Any}"><code>MPI.API.MPI_Info_get</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Info_get_nkeys-Tuple{Any, Any}"><code>MPI.API.MPI_Info_get_nkeys</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Info_get_nthkey-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Info_get_nthkey</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Info_get_string-NTuple{5, Any}"><code>MPI.API.MPI_Info_get_string</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Info_get_valuelen-NTuple{4, Any}"><code>MPI.API.MPI_Info_get_valuelen</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Info_set-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Info_set</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Init-Tuple{Any, Any}"><code>MPI.API.MPI_Init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Init_thread-NTuple{4, Any}"><code>MPI.API.MPI_Init_thread</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Initialized-Tuple{Any}"><code>MPI.API.MPI_Initialized</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Intercomm_create-NTuple{6, Any}"><code>MPI.API.MPI_Intercomm_create</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Intercomm_create_from_groups-NTuple{8, Any}"><code>MPI.API.MPI_Intercomm_create_from_groups</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Intercomm_merge-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Intercomm_merge</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Iprobe-NTuple{5, Any}"><code>MPI.API.MPI_Iprobe</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Irecv-NTuple{7, Any}"><code>MPI.API.MPI_Irecv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Irecv_c-NTuple{7, Any}"><code>MPI.API.MPI_Irecv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ireduce-NTuple{8, Any}"><code>MPI.API.MPI_Ireduce</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ireduce_c-NTuple{8, Any}"><code>MPI.API.MPI_Ireduce_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ireduce_scatter-NTuple{7, Any}"><code>MPI.API.MPI_Ireduce_scatter</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ireduce_scatter_block-NTuple{7, Any}"><code>MPI.API.MPI_Ireduce_scatter_block</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ireduce_scatter_block_c-NTuple{7, Any}"><code>MPI.API.MPI_Ireduce_scatter_block_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ireduce_scatter_c-NTuple{7, Any}"><code>MPI.API.MPI_Ireduce_scatter_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Irsend-NTuple{7, Any}"><code>MPI.API.MPI_Irsend</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Irsend_c-NTuple{7, Any}"><code>MPI.API.MPI_Irsend_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Is_thread_main-Tuple{Any}"><code>MPI.API.MPI_Is_thread_main</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Iscan-NTuple{7, Any}"><code>MPI.API.MPI_Iscan</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Iscan_c-NTuple{7, Any}"><code>MPI.API.MPI_Iscan_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Iscatter-NTuple{9, Any}"><code>MPI.API.MPI_Iscatter</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Iscatter_c-NTuple{9, Any}"><code>MPI.API.MPI_Iscatter_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Iscatterv-NTuple{10, Any}"><code>MPI.API.MPI_Iscatterv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Iscatterv_c-NTuple{10, Any}"><code>MPI.API.MPI_Iscatterv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Isend-NTuple{7, Any}"><code>MPI.API.MPI_Isend</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Isend_c-NTuple{7, Any}"><code>MPI.API.MPI_Isend_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Isendrecv-NTuple{12, Any}"><code>MPI.API.MPI_Isendrecv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Isendrecv_c-NTuple{12, Any}"><code>MPI.API.MPI_Isendrecv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Isendrecv_replace-NTuple{9, Any}"><code>MPI.API.MPI_Isendrecv_replace</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Isendrecv_replace_c-NTuple{9, Any}"><code>MPI.API.MPI_Isendrecv_replace_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Issend-NTuple{7, Any}"><code>MPI.API.MPI_Issend</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Issend_c-NTuple{7, Any}"><code>MPI.API.MPI_Issend_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Keyval_create-NTuple{4, Any}"><code>MPI.API.MPI_Keyval_create</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Keyval_free-Tuple{Any}"><code>MPI.API.MPI_Keyval_free</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Lookup_name-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Lookup_name</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Mprobe-NTuple{5, Any}"><code>MPI.API.MPI_Mprobe</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Mrecv-NTuple{5, Any}"><code>MPI.API.MPI_Mrecv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Mrecv_c-NTuple{5, Any}"><code>MPI.API.MPI_Mrecv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_allgather-NTuple{7, Any}"><code>MPI.API.MPI_Neighbor_allgather</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_allgather_c-NTuple{7, Any}"><code>MPI.API.MPI_Neighbor_allgather_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_allgather_init-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_allgather_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_allgather_init_c-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_allgather_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_allgatherv-NTuple{8, Any}"><code>MPI.API.MPI_Neighbor_allgatherv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_allgatherv_c-NTuple{8, Any}"><code>MPI.API.MPI_Neighbor_allgatherv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_allgatherv_init-NTuple{10, Any}"><code>MPI.API.MPI_Neighbor_allgatherv_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_allgatherv_init_c-NTuple{10, Any}"><code>MPI.API.MPI_Neighbor_allgatherv_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_alltoall-NTuple{7, Any}"><code>MPI.API.MPI_Neighbor_alltoall</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_alltoall_c-NTuple{7, Any}"><code>MPI.API.MPI_Neighbor_alltoall_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_alltoall_init-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_alltoall_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_alltoall_init_c-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_alltoall_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_alltoallv-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_alltoallv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_alltoallv_c-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_alltoallv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_alltoallv_init-NTuple{11, Any}"><code>MPI.API.MPI_Neighbor_alltoallv_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_alltoallv_init_c-NTuple{11, Any}"><code>MPI.API.MPI_Neighbor_alltoallv_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_alltoallw-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_alltoallw</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_alltoallw_c-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_alltoallw_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_alltoallw_init-NTuple{11, Any}"><code>MPI.API.MPI_Neighbor_alltoallw_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_alltoallw_init_c-NTuple{11, Any}"><code>MPI.API.MPI_Neighbor_alltoallw_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Op_commutative-Tuple{Any, Any}"><code>MPI.API.MPI_Op_commutative</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Op_create-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Op_create</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Op_create_c-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Op_create_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Op_free-Tuple{Any}"><code>MPI.API.MPI_Op_free</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Open_port-Tuple{Any, Any}"><code>MPI.API.MPI_Open_port</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Pack-NTuple{7, Any}"><code>MPI.API.MPI_Pack</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Pack_c-NTuple{7, Any}"><code>MPI.API.MPI_Pack_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Pack_external-NTuple{7, Any}"><code>MPI.API.MPI_Pack_external</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Pack_external_c-NTuple{7, Any}"><code>MPI.API.MPI_Pack_external_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Pack_external_size-NTuple{4, Any}"><code>MPI.API.MPI_Pack_external_size</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Pack_external_size_c-NTuple{4, Any}"><code>MPI.API.MPI_Pack_external_size_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Pack_size-NTuple{4, Any}"><code>MPI.API.MPI_Pack_size</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Pack_size_c-NTuple{4, Any}"><code>MPI.API.MPI_Pack_size_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Parrived-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Parrived</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Pready-Tuple{Any, Any}"><code>MPI.API.MPI_Pready</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Pready_list-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Pready_list</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Pready_range-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Pready_range</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Precv_init-NTuple{9, Any}"><code>MPI.API.MPI_Precv_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Probe-NTuple{4, Any}"><code>MPI.API.MPI_Probe</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Psend_init-NTuple{9, Any}"><code>MPI.API.MPI_Psend_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Publish_name-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Publish_name</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Put-NTuple{8, Any}"><code>MPI.API.MPI_Put</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Put_c-NTuple{8, Any}"><code>MPI.API.MPI_Put_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Query_thread-Tuple{Any}"><code>MPI.API.MPI_Query_thread</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Raccumulate-NTuple{10, Any}"><code>MPI.API.MPI_Raccumulate</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Raccumulate_c-NTuple{10, Any}"><code>MPI.API.MPI_Raccumulate_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Recv-NTuple{7, Any}"><code>MPI.API.MPI_Recv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Recv_c-NTuple{7, Any}"><code>MPI.API.MPI_Recv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Recv_init-NTuple{7, Any}"><code>MPI.API.MPI_Recv_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Recv_init_c-NTuple{7, Any}"><code>MPI.API.MPI_Recv_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Reduce-NTuple{7, Any}"><code>MPI.API.MPI_Reduce</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Reduce_c-NTuple{7, Any}"><code>MPI.API.MPI_Reduce_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Reduce_init-NTuple{9, Any}"><code>MPI.API.MPI_Reduce_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Reduce_init_c-NTuple{9, Any}"><code>MPI.API.MPI_Reduce_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Reduce_local-NTuple{5, Any}"><code>MPI.API.MPI_Reduce_local</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Reduce_local_c-NTuple{5, Any}"><code>MPI.API.MPI_Reduce_local_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Reduce_scatter-NTuple{6, Any}"><code>MPI.API.MPI_Reduce_scatter</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Reduce_scatter_block-NTuple{6, Any}"><code>MPI.API.MPI_Reduce_scatter_block</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Reduce_scatter_block_c-NTuple{6, Any}"><code>MPI.API.MPI_Reduce_scatter_block_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Reduce_scatter_block_init-NTuple{8, Any}"><code>MPI.API.MPI_Reduce_scatter_block_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Reduce_scatter_block_init_c-NTuple{8, Any}"><code>MPI.API.MPI_Reduce_scatter_block_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Reduce_scatter_c-NTuple{6, Any}"><code>MPI.API.MPI_Reduce_scatter_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Reduce_scatter_init-NTuple{8, Any}"><code>MPI.API.MPI_Reduce_scatter_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Reduce_scatter_init_c-NTuple{8, Any}"><code>MPI.API.MPI_Reduce_scatter_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Register_datarep-NTuple{5, Any}"><code>MPI.API.MPI_Register_datarep</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Register_datarep_c-NTuple{5, Any}"><code>MPI.API.MPI_Register_datarep_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Request_free-Tuple{Any}"><code>MPI.API.MPI_Request_free</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Request_get_status-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Request_get_status</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Rget-NTuple{9, Any}"><code>MPI.API.MPI_Rget</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Rget_accumulate-NTuple{13, Any}"><code>MPI.API.MPI_Rget_accumulate</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Rget_accumulate_c-NTuple{13, Any}"><code>MPI.API.MPI_Rget_accumulate_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Rget_c-NTuple{9, Any}"><code>MPI.API.MPI_Rget_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Rput-NTuple{9, Any}"><code>MPI.API.MPI_Rput</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Rput_c-NTuple{9, Any}"><code>MPI.API.MPI_Rput_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Rsend-NTuple{6, Any}"><code>MPI.API.MPI_Rsend</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Rsend_c-NTuple{6, Any}"><code>MPI.API.MPI_Rsend_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Rsend_init-NTuple{7, Any}"><code>MPI.API.MPI_Rsend_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Rsend_init_c-NTuple{7, Any}"><code>MPI.API.MPI_Rsend_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Scan-NTuple{6, Any}"><code>MPI.API.MPI_Scan</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Scan_c-NTuple{6, Any}"><code>MPI.API.MPI_Scan_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Scan_init-NTuple{8, Any}"><code>MPI.API.MPI_Scan_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Scan_init_c-NTuple{8, Any}"><code>MPI.API.MPI_Scan_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Scatter-NTuple{8, Any}"><code>MPI.API.MPI_Scatter</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Scatter_c-NTuple{8, Any}"><code>MPI.API.MPI_Scatter_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Scatter_init-NTuple{10, Any}"><code>MPI.API.MPI_Scatter_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Scatter_init_c-NTuple{10, Any}"><code>MPI.API.MPI_Scatter_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Scatterv-NTuple{9, Any}"><code>MPI.API.MPI_Scatterv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Scatterv_c-NTuple{9, Any}"><code>MPI.API.MPI_Scatterv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Scatterv_init-NTuple{11, Any}"><code>MPI.API.MPI_Scatterv_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Scatterv_init_c-NTuple{11, Any}"><code>MPI.API.MPI_Scatterv_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Send-NTuple{6, Any}"><code>MPI.API.MPI_Send</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Send_c-NTuple{6, Any}"><code>MPI.API.MPI_Send_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Send_init-NTuple{7, Any}"><code>MPI.API.MPI_Send_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Send_init_c-NTuple{7, Any}"><code>MPI.API.MPI_Send_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Sendrecv-NTuple{12, Any}"><code>MPI.API.MPI_Sendrecv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Sendrecv_c-NTuple{12, Any}"><code>MPI.API.MPI_Sendrecv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Sendrecv_replace-NTuple{9, Any}"><code>MPI.API.MPI_Sendrecv_replace</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Sendrecv_replace_c-NTuple{9, Any}"><code>MPI.API.MPI_Sendrecv_replace_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ssend-NTuple{6, Any}"><code>MPI.API.MPI_Ssend</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ssend_c-NTuple{6, Any}"><code>MPI.API.MPI_Ssend_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ssend_init-NTuple{7, Any}"><code>MPI.API.MPI_Ssend_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ssend_init_c-NTuple{7, Any}"><code>MPI.API.MPI_Ssend_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Start-Tuple{Any}"><code>MPI.API.MPI_Start</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Startall-Tuple{Any, Any}"><code>MPI.API.MPI_Startall</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Status_c2f-Tuple{Any, Any}"><code>MPI.API.MPI_Status_c2f</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Status_f2c-Tuple{Any, Any}"><code>MPI.API.MPI_Status_f2c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Status_set_cancelled-Tuple{Any, Any}"><code>MPI.API.MPI_Status_set_cancelled</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Status_set_elements-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Status_set_elements</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Status_set_elements_x-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Status_set_elements_x</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Test-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Test</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Test_cancelled-Tuple{Any, Any}"><code>MPI.API.MPI_Test_cancelled</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Testall-NTuple{4, Any}"><code>MPI.API.MPI_Testall</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Testany-NTuple{5, Any}"><code>MPI.API.MPI_Testany</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Testsome-NTuple{5, Any}"><code>MPI.API.MPI_Testsome</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Topo_test-Tuple{Any, Any}"><code>MPI.API.MPI_Topo_test</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_commit-Tuple{Any}"><code>MPI.API.MPI_Type_commit</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_contiguous-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_contiguous</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_contiguous_c-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_contiguous_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_darray-NTuple{10, Any}"><code>MPI.API.MPI_Type_create_darray</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_darray_c-NTuple{10, Any}"><code>MPI.API.MPI_Type_create_darray_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_f90_complex-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_create_f90_complex</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_f90_integer-Tuple{Any, Any}"><code>MPI.API.MPI_Type_create_f90_integer</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_f90_real-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_create_f90_real</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_hindexed-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_hindexed</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_hindexed_block-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_hindexed_block</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_hindexed_block_c-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_hindexed_block_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_hindexed_c-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_hindexed_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_hvector-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_hvector</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_hvector_c-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_hvector_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_indexed_block-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_indexed_block</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_indexed_block_c-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_indexed_block_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_keyval-NTuple{4, Any}"><code>MPI.API.MPI_Type_create_keyval</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_resized-NTuple{4, Any}"><code>MPI.API.MPI_Type_create_resized</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_resized_c-NTuple{4, Any}"><code>MPI.API.MPI_Type_create_resized_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_struct-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_struct</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_struct_c-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_struct_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_subarray-NTuple{7, Any}"><code>MPI.API.MPI_Type_create_subarray</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_subarray_c-NTuple{7, Any}"><code>MPI.API.MPI_Type_create_subarray_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_delete_attr-Tuple{Any, Any}"><code>MPI.API.MPI_Type_delete_attr</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_dup-Tuple{Any, Any}"><code>MPI.API.MPI_Type_dup</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_extent-Tuple{Any, Any}"><code>MPI.API.MPI_Type_extent</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_free-Tuple{Any}"><code>MPI.API.MPI_Type_free</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_free_keyval-Tuple{Any}"><code>MPI.API.MPI_Type_free_keyval</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_get_attr-NTuple{4, Any}"><code>MPI.API.MPI_Type_get_attr</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_get_contents-NTuple{7, Any}"><code>MPI.API.MPI_Type_get_contents</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_get_contents_c-NTuple{9, Any}"><code>MPI.API.MPI_Type_get_contents_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_get_envelope-NTuple{5, Any}"><code>MPI.API.MPI_Type_get_envelope</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_get_envelope_c-NTuple{6, Any}"><code>MPI.API.MPI_Type_get_envelope_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_get_extent-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_get_extent</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_get_extent_c-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_get_extent_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_get_extent_x-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_get_extent_x</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_get_name-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_get_name</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_get_true_extent-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_get_true_extent</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_get_true_extent_c-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_get_true_extent_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_get_true_extent_x-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_get_true_extent_x</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_hindexed-NTuple{5, Any}"><code>MPI.API.MPI_Type_hindexed</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_hvector-NTuple{5, Any}"><code>MPI.API.MPI_Type_hvector</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_indexed-NTuple{5, Any}"><code>MPI.API.MPI_Type_indexed</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_indexed_c-NTuple{5, Any}"><code>MPI.API.MPI_Type_indexed_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_lb-Tuple{Any, Any}"><code>MPI.API.MPI_Type_lb</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_match_size-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_match_size</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_set_attr-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_set_attr</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_set_name-Tuple{Any, Any}"><code>MPI.API.MPI_Type_set_name</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_size-Tuple{Any, Any}"><code>MPI.API.MPI_Type_size</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_size_c-Tuple{Any, Any}"><code>MPI.API.MPI_Type_size_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_size_x-Tuple{Any, Any}"><code>MPI.API.MPI_Type_size_x</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_struct-NTuple{5, Any}"><code>MPI.API.MPI_Type_struct</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_ub-Tuple{Any, Any}"><code>MPI.API.MPI_Type_ub</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_vector-NTuple{5, Any}"><code>MPI.API.MPI_Type_vector</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_vector_c-NTuple{5, Any}"><code>MPI.API.MPI_Type_vector_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Unpack-NTuple{7, Any}"><code>MPI.API.MPI_Unpack</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Unpack_c-NTuple{7, Any}"><code>MPI.API.MPI_Unpack_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Unpack_external-NTuple{7, Any}"><code>MPI.API.MPI_Unpack_external</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Unpack_external_c-NTuple{7, Any}"><code>MPI.API.MPI_Unpack_external_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Unpublish_name-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Unpublish_name</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Wait-Tuple{Any, Any}"><code>MPI.API.MPI_Wait</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Waitall-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Waitall</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Waitany-NTuple{4, Any}"><code>MPI.API.MPI_Waitany</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Waitsome-NTuple{5, Any}"><code>MPI.API.MPI_Waitsome</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_allocate-NTuple{6, Any}"><code>MPI.API.MPI_Win_allocate</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_allocate_c-NTuple{6, Any}"><code>MPI.API.MPI_Win_allocate_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_allocate_shared-NTuple{6, Any}"><code>MPI.API.MPI_Win_allocate_shared</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_allocate_shared_c-NTuple{6, Any}"><code>MPI.API.MPI_Win_allocate_shared_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_attach-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Win_attach</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_call_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Win_call_errhandler</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_complete-Tuple{Any}"><code>MPI.API.MPI_Win_complete</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_create-NTuple{6, Any}"><code>MPI.API.MPI_Win_create</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_create_c-NTuple{6, Any}"><code>MPI.API.MPI_Win_create_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_create_dynamic-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Win_create_dynamic</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_create_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Win_create_errhandler</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_create_keyval-NTuple{4, Any}"><code>MPI.API.MPI_Win_create_keyval</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_delete_attr-Tuple{Any, Any}"><code>MPI.API.MPI_Win_delete_attr</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_detach-Tuple{Any, Any}"><code>MPI.API.MPI_Win_detach</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_fence-Tuple{Any, Any}"><code>MPI.API.MPI_Win_fence</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_flush-Tuple{Any, Any}"><code>MPI.API.MPI_Win_flush</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_flush_all-Tuple{Any}"><code>MPI.API.MPI_Win_flush_all</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_flush_local-Tuple{Any, Any}"><code>MPI.API.MPI_Win_flush_local</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_flush_local_all-Tuple{Any}"><code>MPI.API.MPI_Win_flush_local_all</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_free-Tuple{Any}"><code>MPI.API.MPI_Win_free</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_free_keyval-Tuple{Any}"><code>MPI.API.MPI_Win_free_keyval</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_get_attr-NTuple{4, Any}"><code>MPI.API.MPI_Win_get_attr</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_get_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Win_get_errhandler</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_get_group-Tuple{Any, Any}"><code>MPI.API.MPI_Win_get_group</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_get_info-Tuple{Any, Any}"><code>MPI.API.MPI_Win_get_info</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_get_name-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Win_get_name</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_lock-NTuple{4, Any}"><code>MPI.API.MPI_Win_lock</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_lock_all-Tuple{Any, Any}"><code>MPI.API.MPI_Win_lock_all</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_post-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Win_post</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_set_attr-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Win_set_attr</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_set_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Win_set_errhandler</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_set_info-Tuple{Any, Any}"><code>MPI.API.MPI_Win_set_info</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_set_name-Tuple{Any, Any}"><code>MPI.API.MPI_Win_set_name</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_shared_query-NTuple{5, Any}"><code>MPI.API.MPI_Win_shared_query</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_shared_query_c-NTuple{5, Any}"><code>MPI.API.MPI_Win_shared_query_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_start-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Win_start</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_sync-Tuple{Any}"><code>MPI.API.MPI_Win_sync</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_test-Tuple{Any, Any}"><code>MPI.API.MPI_Win_test</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_unlock-Tuple{Any, Any}"><code>MPI.API.MPI_Win_unlock</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_unlock_all-Tuple{Any}"><code>MPI.API.MPI_Win_unlock_all</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_wait-Tuple{Any}"><code>MPI.API.MPI_Win_wait</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Wtick-Tuple{}"><code>MPI.API.MPI_Wtick</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Wtime-Tuple{}"><code>MPI.API.MPI_Wtime</code></a></li><li><a href="../reference/environment/#MPI.Abort"><code>MPI.Abort</code></a></li><li><a href="../reference/onesided/#MPI.Accumulate!"><code>MPI.Accumulate!</code></a></li><li><a href="../reference/collective/#MPI.Allgather"><code>MPI.Allgather</code></a></li><li><a href="../reference/collective/#MPI.Allgather!"><code>MPI.Allgather!</code></a></li><li><a href="../reference/collective/#MPI.Allgatherv!"><code>MPI.Allgatherv!</code></a></li><li><a href="../reference/collective/#MPI.Allreduce"><code>MPI.Allreduce</code></a></li><li><a href="../reference/collective/#MPI.Allreduce!"><code>MPI.Allreduce!</code></a></li><li><a href="../reference/collective/#MPI.Alltoall"><code>MPI.Alltoall</code></a></li><li><a href="../reference/collective/#MPI.Alltoall!"><code>MPI.Alltoall!</code></a></li><li><a href="../reference/collective/#MPI.Alltoallv!"><code>MPI.Alltoallv!</code></a></li><li><a href="../reference/collective/#MPI.Barrier"><code>MPI.Barrier</code></a></li><li><a href="../reference/collective/#MPI.Bcast!"><code>MPI.Bcast!</code></a></li><li><a href="../reference/buffers/#MPI.Buffer_send"><code>MPI.Buffer_send</code></a></li><li><a href="../reference/pointtopoint/#MPI.Cancel!"><code>MPI.Cancel!</code></a></li><li><a href="../reference/topology/#MPI.Cart_coords"><code>MPI.Cart_coords</code></a></li><li><a href="../reference/topology/#MPI.Cart_create"><code>MPI.Cart_create</code></a></li><li><a href="../reference/topology/#MPI.Cart_get"><code>MPI.Cart_get</code></a></li><li><a href="../reference/topology/#MPI.Cart_rank"><code>MPI.Cart_rank</code></a></li><li><a href="../reference/topology/#MPI.Cart_shift"><code>MPI.Cart_shift</code></a></li><li><a href="../reference/topology/#MPI.Cart_sub"><code>MPI.Cart_sub</code></a></li><li><a href="../reference/topology/#MPI.Cartdim_get"><code>MPI.Cartdim_get</code></a></li><li><a href="../reference/comm/#MPI.Comm_compare"><code>MPI.Comm_compare</code></a></li><li><a href="../reference/comm/#MPI.Comm_create"><code>MPI.Comm_create</code></a></li><li><a href="../reference/comm/#MPI.Comm_create_group"><code>MPI.Comm_create_group</code></a></li><li><a href="../reference/comm/#MPI.Comm_dup"><code>MPI.Comm_dup</code></a></li><li><a href="../reference/comm/#MPI.Comm_get_parent"><code>MPI.Comm_get_parent</code></a></li><li><a href="../reference/comm/#MPI.Comm_group"><code>MPI.Comm_group</code></a></li><li><a href="../reference/comm/#MPI.Comm_rank"><code>MPI.Comm_rank</code></a></li><li><a href="../reference/comm/#MPI.Comm_remote_group"><code>MPI.Comm_remote_group</code></a></li><li><a href="../reference/comm/#MPI.Comm_size"><code>MPI.Comm_size</code></a></li><li><a href="../reference/comm/#MPI.Comm_spawn"><code>MPI.Comm_spawn</code></a></li><li><a href="../reference/comm/#MPI.Comm_split"><code>MPI.Comm_split</code></a></li><li><a href="../reference/comm/#MPI.Comm_split_type"><code>MPI.Comm_split_type</code></a></li><li><a href="../reference/topology/#MPI.Dims_create"><code>MPI.Dims_create</code></a></li><li><a href="../reference/topology/#MPI.Dist_graph_create"><code>MPI.Dist_graph_create</code></a></li><li><a href="../reference/topology/#MPI.Dist_graph_create_adjacent"><code>MPI.Dist_graph_create_adjacent</code></a></li><li><a href="../reference/topology/#MPI.Dist_graph_neighbors!"><code>MPI.Dist_graph_neighbors!</code></a></li><li><a href="../reference/topology/#MPI.Dist_graph_neighbors_count"><code>MPI.Dist_graph_neighbors_count</code></a></li><li><a href="../reference/collective/#MPI.Exscan"><code>MPI.Exscan</code></a></li><li><a href="../reference/collective/#MPI.Exscan!"><code>MPI.Exscan!</code></a></li><li><a href="../reference/io/#MPI.File.get_atomicity"><code>MPI.File.get_atomicity</code></a></li><li><a href="../reference/io/#MPI.File.get_byte_offset"><code>MPI.File.get_byte_offset</code></a></li><li><a href="../reference/io/#MPI.File.get_position_shared"><code>MPI.File.get_position_shared</code></a></li><li><a href="../reference/io/#MPI.File.open"><code>MPI.File.open</code></a></li><li><a href="../reference/io/#MPI.File.read!"><code>MPI.File.read!</code></a></li><li><a href="../reference/io/#MPI.File.read_all!"><code>MPI.File.read_all!</code></a></li><li><a href="../reference/io/#MPI.File.read_at!"><code>MPI.File.read_at!</code></a></li><li><a href="../reference/io/#MPI.File.read_at_all!"><code>MPI.File.read_at_all!</code></a></li><li><a href="../reference/io/#MPI.File.read_ordered!"><code>MPI.File.read_ordered!</code></a></li><li><a href="../reference/io/#MPI.File.read_shared!"><code>MPI.File.read_shared!</code></a></li><li><a href="../reference/io/#MPI.File.seek_shared"><code>MPI.File.seek_shared</code></a></li><li><a href="../reference/io/#MPI.File.set_atomicity"><code>MPI.File.set_atomicity</code></a></li><li><a href="../reference/io/#MPI.File.set_view!"><code>MPI.File.set_view!</code></a></li><li><a href="../reference/io/#MPI.File.sync"><code>MPI.File.sync</code></a></li><li><a href="../reference/io/#MPI.File.write"><code>MPI.File.write</code></a></li><li><a href="../reference/io/#MPI.File.write_all"><code>MPI.File.write_all</code></a></li><li><a href="../reference/io/#MPI.File.write_at"><code>MPI.File.write_at</code></a></li><li><a href="../reference/io/#MPI.File.write_at_all"><code>MPI.File.write_at_all</code></a></li><li><a href="../reference/io/#MPI.File.write_ordered"><code>MPI.File.write_ordered</code></a></li><li><a href="../reference/io/#MPI.File.write_shared"><code>MPI.File.write_shared</code></a></li><li><a href="../reference/environment/#MPI.Finalize"><code>MPI.Finalize</code></a></li><li><a href="../reference/environment/#MPI.Finalized"><code>MPI.Finalized</code></a></li><li><a href="../reference/collective/#MPI.Gather"><code>MPI.Gather</code></a></li><li><a href="../reference/collective/#MPI.Gather!"><code>MPI.Gather!</code></a></li><li><a href="../reference/collective/#MPI.Gatherv!"><code>MPI.Gatherv!</code></a></li><li><a href="../reference/onesided/#MPI.Get!"><code>MPI.Get!</code></a></li><li><a href="../reference/onesided/#MPI.Get_accumulate!"><code>MPI.Get_accumulate!</code></a></li><li><a href="../reference/pointtopoint/#MPI.Get_count"><code>MPI.Get_count</code></a></li><li><a href="../reference/misc/#MPI.Get_processor_name"><code>MPI.Get_processor_name</code></a></li><li><a href="../reference/group/#MPI.Group_rank"><code>MPI.Group_rank</code></a></li><li><a href="../reference/group/#MPI.Group_size"><code>MPI.Group_size</code></a></li><li><a href="../reference/collective/#MPI.Ibarrier"><code>MPI.Ibarrier</code></a></li><li><a href="../reference/environment/#MPI.Init"><code>MPI.Init</code></a></li><li><a href="../reference/environment/#MPI.Initialized"><code>MPI.Initialized</code></a></li><li><a href="../reference/comm/#MPI.Intercomm_merge"><code>MPI.Intercomm_merge</code></a></li><li><a href="../reference/pointtopoint/#MPI.Iprobe"><code>MPI.Iprobe</code></a></li><li><a href="../reference/pointtopoint/#MPI.Irecv!"><code>MPI.Irecv!</code></a></li><li><a href="../reference/environment/#MPI.Is_thread_main"><code>MPI.Is_thread_main</code></a></li><li><a href="../reference/pointtopoint/#MPI.Isend"><code>MPI.Isend</code></a></li><li><a href="../reference/collective/#MPI.Neighbor_allgather!"><code>MPI.Neighbor_allgather!</code></a></li><li><a href="../reference/collective/#MPI.Neighbor_allgatherv!"><code>MPI.Neighbor_allgatherv!</code></a></li><li><a href="../reference/collective/#MPI.Neighbor_alltoall!"><code>MPI.Neighbor_alltoall!</code></a></li><li><a href="../reference/collective/#MPI.Neighbor_alltoallv!"><code>MPI.Neighbor_alltoallv!</code></a></li><li><a href="../reference/pointtopoint/#MPI.Probe"><code>MPI.Probe</code></a></li><li><a href="../reference/onesided/#MPI.Put!"><code>MPI.Put!</code></a></li><li><a href="../reference/environment/#MPI.Query_thread"><code>MPI.Query_thread</code></a></li><li><a href="../reference/pointtopoint/#MPI.Recv"><code>MPI.Recv</code></a></li><li><a href="../reference/pointtopoint/#MPI.Recv!"><code>MPI.Recv!</code></a></li><li><a href="../reference/pointtopoint/#MPI.Recv_init"><code>MPI.Recv_init</code></a></li><li><a href="../reference/collective/#MPI.Reduce"><code>MPI.Reduce</code></a></li><li><a href="../reference/collective/#MPI.Reduce!"><code>MPI.Reduce!</code></a></li><li><a href="../reference/collective/#MPI.Scan"><code>MPI.Scan</code></a></li><li><a href="../reference/collective/#MPI.Scan!"><code>MPI.Scan!</code></a></li><li><a href="../reference/collective/#MPI.Scatter"><code>MPI.Scatter</code></a></li><li><a href="../reference/collective/#MPI.Scatter!"><code>MPI.Scatter!</code></a></li><li><a href="../reference/collective/#MPI.Scatterv!"><code>MPI.Scatterv!</code></a></li><li><a href="../reference/pointtopoint/#MPI.Send"><code>MPI.Send</code></a></li><li><a href="../reference/pointtopoint/#MPI.Send_init"><code>MPI.Send_init</code></a></li><li><a href="../reference/pointtopoint/#MPI.Sendrecv!"><code>MPI.Sendrecv!</code></a></li><li><a href="../reference/pointtopoint/#MPI.Start"><code>MPI.Start</code></a></li><li><a href="../reference/pointtopoint/#MPI.Startall"><code>MPI.Startall</code></a></li><li><a href="../reference/pointtopoint/#MPI.Test"><code>MPI.Test</code></a></li><li><a href="../reference/pointtopoint/#MPI.Testall"><code>MPI.Testall</code></a></li><li><a href="../reference/pointtopoint/#MPI.Testany"><code>MPI.Testany</code></a></li><li><a href="../reference/pointtopoint/#MPI.Testsome"><code>MPI.Testsome</code></a></li><li><a href="../reference/advanced/#MPI.Types.commit!"><code>MPI.Types.commit!</code></a></li><li><a href="../reference/advanced/#MPI.Types.create_contiguous"><code>MPI.Types.create_contiguous</code></a></li><li><a href="../reference/advanced/#MPI.Types.create_hvector"><code>MPI.Types.create_hvector</code></a></li><li><a href="../reference/advanced/#MPI.Types.create_resized"><code>MPI.Types.create_resized</code></a></li><li><a href="../reference/advanced/#MPI.Types.create_struct"><code>MPI.Types.create_struct</code></a></li><li><a href="../reference/advanced/#MPI.Types.create_subarray"><code>MPI.Types.create_subarray</code></a></li><li><a href="../reference/advanced/#MPI.Types.create_vector"><code>MPI.Types.create_vector</code></a></li><li><a href="../reference/advanced/#MPI.Types.duplicate"><code>MPI.Types.duplicate</code></a></li><li><a href="../reference/advanced/#MPI.Types.extent"><code>MPI.Types.extent</code></a></li><li><a href="../reference/pointtopoint/#MPI.Wait"><code>MPI.Wait</code></a></li><li><a href="../reference/pointtopoint/#MPI.Waitall"><code>MPI.Waitall</code></a></li><li><a href="../reference/pointtopoint/#MPI.Waitany"><code>MPI.Waitany</code></a></li><li><a href="../reference/pointtopoint/#MPI.Waitsome"><code>MPI.Waitsome</code></a></li><li><a href="../reference/onesided/#MPI.Win_allocate_shared"><code>MPI.Win_allocate_shared</code></a></li><li><a href="../reference/onesided/#MPI.Win_create"><code>MPI.Win_create</code></a></li><li><a href="../reference/onesided/#MPI.Win_create_dynamic"><code>MPI.Win_create_dynamic</code></a></li><li><a href="../reference/onesided/#MPI.Win_flush"><code>MPI.Win_flush</code></a></li><li><a href="../reference/onesided/#MPI.Win_lock"><code>MPI.Win_lock</code></a></li><li><a href="../reference/onesided/#MPI.Win_shared_query"><code>MPI.Win_shared_query</code></a></li><li><a href="../reference/onesided/#MPI.Win_unlock"><code>MPI.Win_unlock</code></a></li><li><a href="../reference/collective/#MPI.bcast"><code>MPI.bcast</code></a></li><li><a href="../reference/advanced/#MPI.free"><code>MPI.free</code></a></li><li><a href="../reference/advanced/#MPI.get_errorhandler"><code>MPI.get_errorhandler</code></a></li><li><a href="../reference/library/#MPI.has_cuda"><code>MPI.has_cuda</code></a></li><li><a href="../reference/library/#MPI.identify_implementation"><code>MPI.identify_implementation</code></a></li><li><a href="../reference/advanced/#MPI.infoval"><code>MPI.infoval</code></a></li><li><a href="../reference/environment/#MPI.install_mpiexecjl"><code>MPI.install_mpiexecjl</code></a></li><li><a href="../reference/pointtopoint/#MPI.isend"><code>MPI.isend</code></a></li><li><a href="../reference/pointtopoint/#MPI.recv"><code>MPI.recv</code></a></li><li><a href="../reference/pointtopoint/#MPI.send"><code>MPI.send</code></a></li><li><a href="../reference/advanced/#MPI.set_errorhandler!"><code>MPI.set_errorhandler!</code></a></li><li><a href="../reference/comm/#MPI.tag_ub"><code>MPI.tag_ub</code></a></li><li><a href="../reference/advanced/#MPI.to_type"><code>MPI.to_type</code></a></li><li><a href="../reference/comm/#MPI.universe_size"><code>MPI.universe_size</code></a></li><li><a href="../reference/environment/#MPICH_jll.mpiexec"><code>MPICH_jll.mpiexec</code></a></li><li><a href="../reference/mpipreferences/#MPIPreferences.check_unchanged"><code>MPIPreferences.check_unchanged</code></a></li><li><a href="../reference/mpipreferences/#MPIPreferences.identify_abi"><code>MPIPreferences.identify_abi</code></a></li><li><a href="../reference/mpipreferences/#MPIPreferences.use_jll_binary"><code>MPIPreferences.use_jll_binary</code></a></li><li><a href="../reference/mpipreferences/#MPIPreferences.use_system_binary"><code>MPIPreferences.use_system_binary</code></a></li><li><a href="../reference/advanced/#MPI.API.@const_ref"><code>MPI.API.@const_ref</code></a></li></ul></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../reference/api/">« Low-level API</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 6 November 2022 21:18">Sunday 6 November 2022</span>. Using Julia version 1.8.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR676/search/index.html b/previews/PR676/search/index.html
deleted file mode 100644
index 26811b4cd..000000000
--- a/previews/PR676/search/index.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Search · MPI.jl</title><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../"><img src="../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../">MPI.jl</a></span></div><form class="docs-search" action><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../">MPI.jl</a></li><li><a class="tocitem" href="../configuration/">Configuration</a></li><li><a class="tocitem" href="../usage/">Usage</a></li><li><a class="tocitem" href="../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../reference/library/">Library information</a></li><li><a class="tocitem" href="../reference/environment/">Environment</a></li><li><a class="tocitem" href="../reference/misc/">Miscellanea</a></li><li><a class="tocitem" href="../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../reference/topology/">Topology</a></li><li><a class="tocitem" href="../reference/io/">I/O</a></li><li><a class="tocitem" href="../reference/advanced/">Advanced</a></li><li><a class="tocitem" href="../reference/api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>Search</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Search</a></li></ul></nav><div class="docs-right"><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article><p id="documenter-search-info">Loading search...</p><ul id="documenter-search-results"></ul></article><nav class="docs-footer"><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 6 November 2022 21:18">Sunday 6 November 2022</span>. Using Julia version 1.8.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body><script src="../search_index.js"></script><script src="../assets/search.js"></script></html>
diff --git a/previews/PR676/search_index.js b/previews/PR676/search_index.js
deleted file mode 100644
index 74ece2d5e..000000000
--- a/previews/PR676/search_index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-var documenterSearchIndex = {"docs":
-[{"location":"examples/07-rma_active/","page":"Active RMA","title":"Active RMA","text":"EditURL = \"https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/07-rma_active.jl\"","category":"page"},{"location":"examples/07-rma_active/#Active-RMA","page":"Active RMA","title":"Active RMA","text":"","category":"section"},{"location":"examples/07-rma_active/","page":"Active RMA","title":"Active RMA","text":"# examples/07-rma_active.jl\n# This example demonstrates one-sided communication,\n# specifically activate Remote Memory Access (RMA)\n\nusing MPI\n\nMPI.Init()\nconst world_sz = MPI.Comm_size(MPI.COMM_WORLD)\nconst rank = MPI.Comm_rank(MPI.COMM_WORLD)\n\n# allocate memory\nall_ranks = fill(-1, world_sz)\n# create RMA window on all ranks\nwin = MPI.Win_create(all_ranks, MPI.COMM_WORLD)\n\n#### first, let's MPI.Put on all ranks\n\n# start the communication epoch\nMPI.Win_fence(0, win)\n# each rank writes to exposed windows of rank 0\n# Signature: obj, target_rank, target_displacement, window\nMPI.Put(rank, 0, rank, win)\n# finish the communication epoch\nMPI.Win_fence(0, win)\n# print window content on all ranks\nfor j in 0:world_sz-1\n    if rank == j\n        println(\"After Put, Rank $rank:\")\n        @show all_ranks\n    end\n    MPI.Barrier(MPI.COMM_WORLD)\nend\nrank == 0 && println()\n\n#### now, let's MPI.Get on all ranks\n\n# start the communication epoch\nMPI.Win_fence(0, win)\n# each rank reads from exposed windows of rank 0\nMPI.Get(all_ranks, 0, win)\n# finish the communication epoch\nMPI.Win_fence(0, win)\n# print window content on all ranks\nfor j in 0:world_sz-1\n    if rank == j\n        println(\"After Get, Rank $rank:\")\n        @show all_ranks\n    end\n    MPI.Barrier(MPI.COMM_WORLD)\nend\n\n# free window\nMPI.free(win)","category":"page"},{"location":"examples/07-rma_active/","page":"Active RMA","title":"Active RMA","text":"> mpiexecjl -n 4 julia examples/07-rma_active.jl\nAfter Put, Rank 0:\nall_ranks = [0, 1, 2, 3]\nAfter Put, Rank 1:\nall_ranks = [-1, -1, -1, -1]\nAfter Put, Rank 2:\nall_ranks = [-1, -1, -1, -1]\nAfter Put, Rank 3:\nall_ranks = [-1, -1, -1, -1]\n\nAfter Get, Rank 0:\nall_ranks = [0, 1, 2, 3]\nAfter Get, Rank 1:\nall_ranks = [0, 1, 2, 3]\nAfter Get, Rank 2:\nall_ranks = [0, 1, 2, 3]\nAfter Get, Rank 3:\nall_ranks = [0, 1, 2, 3]","category":"page"},{"location":"examples/08-rma_passive/","page":"Passive RMA","title":"Passive RMA","text":"EditURL = \"https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/08-rma_passive.jl\"","category":"page"},{"location":"examples/08-rma_passive/#Passive-RMA","page":"Passive RMA","title":"Passive RMA","text":"","category":"section"},{"location":"examples/08-rma_passive/","page":"Passive RMA","title":"Passive RMA","text":"# examples/08-rma_passive.jl\n# This example demonstrates one-sided communication,\n# specifically passive Remote Memory Access (RMA)\n\nusing MPI\n\nMPI.Init()\nconst world_sz = MPI.Comm_size(MPI.COMM_WORLD)\nconst rank = MPI.Comm_rank(MPI.COMM_WORLD)\n\n# allocate memory\nall_ranks = fill(-1, world_sz)\n# create RMA window on all ranks\nwin = MPI.Win_create(all_ranks, MPI.COMM_WORLD)\n\n# let each rank write its rank number into window\nif rank != 0\n    # lock window (MPI.LOCK_SHARED works as well)\n    MPI.Win_lock(MPI.LOCK_EXCLUSIVE, 0, 0, win)\n    # each rank writes to exposed windows of rank 0\n    # Signature: obj, target_rank, target_displacement, window\n    MPI.Put(rank, 0, rank, win)\n    # finish the communication epoch\n    MPI.Win_unlock(0, win)\nelse\n    all_ranks[1] = 0\nend\n\n# wait with printing\nMPI.Win_fence(0, win)\n\n# print window content on all ranks\nif rank == 0\n    println(\"After Put with lock / unlock, window content on rank 0:\")\n    @show all_ranks\nend\n\n# free window\nMPI.free(win)","category":"page"},{"location":"examples/08-rma_passive/","page":"Passive RMA","title":"Passive RMA","text":"> mpiexecjl -n 4 julia examples/08-rma_passive.jl\nAfter Put with lock / unlock, window content on rank 0:\nall_ranks = [0, 1, 2, 3]","category":"page"},{"location":"examples/04-sendrecv/","page":"Send/receive","title":"Send/receive","text":"EditURL = \"https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/04-sendrecv.jl\"","category":"page"},{"location":"examples/04-sendrecv/#Send/receive","page":"Send/receive","title":"Send/receive","text":"","category":"section"},{"location":"examples/04-sendrecv/","page":"Send/receive","title":"Send/receive","text":"# examples/04-sendrecv.jl\nusing MPI\nMPI.Init()\n\ncomm = MPI.COMM_WORLD\nrank = MPI.Comm_rank(comm)\nsize = MPI.Comm_size(comm)\n\ndst = mod(rank+1, size)\nsrc = mod(rank-1, size)\n\nN = 4\n\nsend_mesg = Array{Float64}(undef, N)\nrecv_mesg = Array{Float64}(undef, N)\n\nfill!(send_mesg, Float64(rank))\n\nrreq = MPI.Irecv!(recv_mesg, comm; source=src, tag=src+32)\n\nprint(\"$rank: Sending   $rank -> $dst = $send_mesg\\n\")\nsreq = MPI.Isend(send_mesg, comm; dest=dst, tag=rank+32)\n\nstats = MPI.Waitall([rreq, sreq])\n\nprint(\"$rank: Received $src -> $rank = $recv_mesg\\n\")\n\nMPI.Barrier(comm)","category":"page"},{"location":"examples/04-sendrecv/","page":"Send/receive","title":"Send/receive","text":"> mpiexecjl -n 4 julia examples/04-sendrecv.jl\n0: Sending   0 -> 1 = [0.0, 0.0, 0.0, 0.0]\n1: Sending   1 -> 2 = [1.0, 1.0, 1.0, 1.0]\n2: Sending   2 -> 3 = [2.0, 2.0, 2.0, 2.0]\n3: Sending   3 -> 0 = [3.0, 3.0, 3.0, 3.0]\n1: Received 0 -> 1 = [0.0, 0.0, 0.0, 0.0]\n0: Received 3 -> 0 = [3.0, 3.0, 3.0, 3.0]\n3: Received 2 -> 3 = [2.0, 2.0, 2.0, 2.0]\n2: Received 1 -> 2 = [1.0, 1.0, 1.0, 1.0]","category":"page"},{"location":"examples/09-graph_communication/","page":"Graph Communication","title":"Graph Communication","text":"EditURL = \"https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/09-graph_communication.jl\"","category":"page"},{"location":"examples/09-graph_communication/#Graph-Communication","page":"Graph Communication","title":"Graph Communication","text":"","category":"section"},{"location":"examples/09-graph_communication/","page":"Graph Communication","title":"Graph Communication","text":"# examples/09-graph_communication.jl\nusing Test\nusing MPI\n\nMPI.Init()\n\ncomm = MPI.COMM_WORLD\nsize = MPI.Comm_size(comm)\nrank = MPI.Comm_rank(comm)\n\n#\n# Setup the following communication graph\n#\n#   +-----+\n#   |     |\n#   v     v\n#   0<-+  3\n#   ^  |  ^\n#   |  |  |\n#   v  |  v\n#   1  +--2\n#   ^     |\n#   |     |\n#   +-----+\n#\n#\n\nif rank == 0\n    dest   = Cint[1,3]\n    degree = Cint[length(dest)]\nelseif rank == 1\n    dest   = Cint[0]\n    degree = Cint[length(dest)]\nelseif rank == 2\n    dest   = Cint[3,0,1]\n    degree = Cint[length(dest)]\nelseif rank == 3\n    dest   = Cint[0,2,1]\n    degree = Cint[length(dest)]\nend\n\nsource = Cint[rank]\ngraph_comm = MPI.Dist_graph_create(comm, source, degree, dest)\n\n#\n# Now send the rank across the edges.\n#\n# Version 1: use allgather primitive\n#\n\nsend = [rank]\nif rank == 0\n    recv = [-1, -1, -1]\nelseif rank == 1\n    recv = [-1, -1, -1]\nelseif rank == 2\n    recv = [-1]\nelseif rank == 3\n    recv = [-1, -1]\nend\n\nMPI.Neighbor_allgather!(send, recv, graph_comm);\n\nprintln(\"rank = $(rank): $(recv)\")\n\n#\n# Version 2: use alltoall primitive\n#\n\nif rank == 0\n    send   = [rank, rank]\n    recv   = [-1, -1, -1]\nelseif rank == 1\n    send = [rank]\n    recv   = [-1, -1, -1]\nelseif rank == 2\n    send = [rank, rank, rank]\n    recv   = [-1]\nelseif rank == 3\n    send = [rank, rank, rank]\n    recv   = [-1, -1]\nend\n\nMPI.Neighbor_alltoall!(UBuffer(send,1), UBuffer(recv,1), graph_comm);\n\nprintln(\"rank = $(rank): $(recv)\")\n\n#\n# Now send the rank exactly rank times across the edges.\n#\n# Rank i receives i+1 values from each adjacent process\nif rank == 0\n    send       = [rank, rank,\n                  rank, rank, rank, rank]\n    send_count = [2, 4]\n\n    recv   = [-1, -1, -1]\n    recv_count = [1, 1, 1]\nelseif rank == 1\n    send       = [rank]\n    send_count = [1]\n\n    recv       = [-1, -1, -1, -1, -1, -1]\n    recv_count = [2, 2, 2]\nelseif rank == 2\n    send       = [rank, rank, rank, rank,\n                  rank,\n                  rank,rank]\n    send_count = [4, 1, 2]\n\n    recv       = [-1, -1, -1]\n    recv_count = [3]\nelseif rank == 3\n    send       = [rank, \n                  rank, rank,rank,\n                  rank, rank]\n    send_count = [1, 3, 2]\n\n    recv       = [-1, -1, -1, -1, -1, -1, -1, -1]\n    recv_count = [4, 4]\nend\n\nMPI.Neighbor_alltoallv!(VBuffer(send,send_count), VBuffer(recv,recv_count), graph_comm);\nprintln(\"rank = $(rank): $(recv)\")\n\nMPI.Finalize()","category":"page"},{"location":"examples/09-graph_communication/","page":"Graph Communication","title":"Graph Communication","text":"> mpiexecjl -n 4 julia examples/09-graph_communication.jl\nrank = 2: [3]rank = 3: [2, 0]\n\nrank = 1: [3, 2, 0]rank = 0: [3, 2, 1]\n\nrank = 2: [3]\nrank = 0: [3, 2, 1]\nrank = 3: [2, 0]\nrank = 1: [3, 2, 0]\nrank = 3: [2, 2, 2, 2, 0, 0, 0, 0]\nrank = 1: [3, 3, 2, 2, 0, 0]\nrank = 0: [3, 2, 1]\nrank = 2: [3, 3, 3]","category":"page"},{"location":"knownissues/#Known-issues","page":"Known issues","title":"Known issues","text":"","category":"section"},{"location":"knownissues/#Julia-module-precompilation","page":"Known issues","title":"Julia module precompilation","text":"","category":"section"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"If multiple MPI ranks trigger Julia's module precompilation, then a race condition can result in an error such as:","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"ERROR: LoadError: IOError: mkdir: file already exists (EEXIST)\nStacktrace:\n [1] uv_error at ./libuv.jl:97 [inlined]\n [2] mkdir(::String; mode::UInt16) at ./file.jl:177\n [3] mkpath(::String; mode::UInt16) at ./file.jl:227\n [4] mkpath at ./file.jl:222 [inlined]\n [5] compilecache_path(::Base.PkgId) at ./loading.jl:1210\n [6] compilecache(::Base.PkgId, ::String) at ./loading.jl:1240\n [7] _require(::Base.PkgId) at ./loading.jl:1029\n [8] require(::Base.PkgId) at ./loading.jl:927\n [9] require(::Module, ::Symbol) at ./loading.jl:922\n [10] include(::Module, ::String) at ./Base.jl:377\n [11] exec_options(::Base.JLOptions) at ./client.jl:288\n [12] _start() at ./client.jl:484","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"See julia issue #30174 for more discussion of this problem. There are similar issues with Pkg operations, see Pkg issue #1219.","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"This can be worked around be either:","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"Triggering precompilation before launching MPI processes, for example:\njulia --project -e 'using Pkg; pkg\"instantiate\"'\njulia --project -e 'using Pkg; pkg\"precompile\"'\nmpiexec julia --project script.jl\nLaunching julia with the  --compiled-modules=no option. This can result in much longer package load times.","category":"page"},{"location":"knownissues/#Open-MPI","page":"Known issues","title":"Open MPI","text":"","category":"section"},{"location":"knownissues/#Segmentation-fault","page":"Known issues","title":"Segmentation fault","text":"","category":"section"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"When attempting to use a system-provided Open MPI implementation, you may encounter a segmentation fault. This can be fixed by setting the environment variable ZES_ENABLE_SYSMAN=1. See Open MPI issue #10142.","category":"page"},{"location":"knownissues/#UCX","page":"Known issues","title":"UCX","text":"","category":"section"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"UCX is a communication framework used by several MPI implementations.","category":"page"},{"location":"knownissues/#Memory-cache","page":"Known issues","title":"Memory cache","text":"","category":"section"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"When used with CUDA, UCX intercepts cudaMalloc so it can determine whether the pointer passed to MPI is on the host (main memory) or the device (GPU). Unfortunately, there are several known issues with how this works with Julia:","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"UCX issue #5061\nUCX issue #4001 (fixed in UCX v1.7.0)","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"By default, MPI.jl disables this by setting","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"ENV[\"UCX_MEMTYPE_CACHE\"] = \"no\"","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"at __init__ which may result in reduced performance, especially for smaller messages.","category":"page"},{"location":"knownissues/#Multi-threading-and-signal-handling","page":"Known issues","title":"Multi-threading and signal handling","text":"","category":"section"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"When using Julia multi-threading, the Julia garbage collector internally uses SIGSEGV to synchronize threads.","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"By default, UCX will error if this signal is raised (#337), resulting in a message such as:","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"Caught signal 11 (Segmentation fault: invalid permissions for mapped object at address 0xXXXXXXXX)","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"This signal interception can be controlled by setting the environment variable UCX_ERROR_SIGNALS: if not already defined, MPI.jl will set it as:","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"ENV[\"UCX_ERROR_SIGNALS\"] = \"SIGILL,SIGBUS,SIGFPE\"","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"at __init__. If set externally, it should be modified to exclude SIGSEGV from the list.","category":"page"},{"location":"knownissues/#CUDA-aware-MPI","page":"Known issues","title":"CUDA-aware MPI","text":"","category":"section"},{"location":"knownissues/#Memory-pool","page":"Known issues","title":"Memory pool","text":"","category":"section"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"Using CUDA-aware MPI on multi-GPU nodes with recent CUDA.jl may trigger (see here)","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"The call to cuIpcGetMemHandle failed. This means the GPU RDMA protocol\ncannot be used.\n  cuIpcGetMemHandle return value:   1","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"in the MPI layer, or fail on a segmentation fault (see here) with","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"[1642930332.032032] [gcn19:4087661:0] gdr_copy_md.c:122 UCX ERROR gdr_pin_buffer failed. length :65536 ret:22","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"This is due to the MPI implementation using legacy cuIpc* APIs, which are incompatible with stream-ordered allocator, now default in CUDA.jl, see UCX issue #7110.","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"To circumvent this, one has to ensure the CUDA memory pool to be set to none:","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"export JULIA_CUDA_MEMORY_POOL=none","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"More about CUDA.jl memory environment-variables.","category":"page"},{"location":"knownissues/#Hints-to-ensure-CUDA-aware-MPI-to-be-functional","page":"Known issues","title":"Hints to ensure CUDA-aware MPI to be functional","text":"","category":"section"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"Make sure to:","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"Have MPI and CUDA on path (or module loaded) that were used to build the CUDA-aware MPI\nSet the following environment variables:   export JULIA_CUDA_MEMORY_POOL=none   export JULIA_CUDA_USE_BINARYBUILDER=false\nAdd CUDA, MPIPreferences, and MPI packages in Julia. Switch to using the system binary\njulia --project -e 'using Pkg; Pkg.add([\"CUDA\", \"MPIPreferences\", \"MPI\"]); using MPIPreferences; MPIPreferences.use_system_binary()'\nThen in Julia, upon loading MPI and CUDA modules, you can check\nCUDA version: CUDA.versioninfo()\nIf MPI has CUDA: MPI.has_cuda()\nIf you are using correct MPI library: MPI.libmpi","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"After that, it may be preferred to run the Julia MPI script (as suggested here) launching it from a shell script (as suggested here).","category":"page"},{"location":"knownissues/#ROCm-aware-MPI","page":"Known issues","title":"ROCm-aware MPI","text":"","category":"section"},{"location":"knownissues/#Hints-to-ensure-ROCm-aware-MPI-to-be-functional","page":"Known issues","title":"Hints to ensure ROCm-aware MPI to be functional","text":"","category":"section"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"Make sure to:","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"Have MPI and ROCm on path (or module loaded) that were used to build the ROCm-aware MPI\nAdd AMDGPU, MPIPreferences, and MPI packages in Julia:\njulia --project -e 'using Pkg; Pkg.add([\"AMDGPU\", \"MPIPreferences\", \"MPI\"]); using MPIPreferences; MPIPreferences.use_system_binary()'\nThen in Julia, upon loading MPI and CUDA modules, you can check\nAMDGPU version: AMDGPU.versioninfo()\nIf you are using correct MPI implementation: MPI.identify_implementation()","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"After that, this script can be used to verify if ROCm-aware MPI is functional (modified after the CUDA-aware version from here). It may be preferred to run the Julia ROCm-aware MPI script launching it from a shell script (as suggested here).","category":"page"},{"location":"knownissues/#Microsoft-MPI","page":"Known issues","title":"Microsoft MPI","text":"","category":"section"},{"location":"knownissues/#Custom-operators-on-32-bit-Windows","page":"Known issues","title":"Custom operators on 32-bit Windows","text":"","category":"section"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"It is not possible to use custom operators with 32-bit Microsoft MPI, as it uses the stdcall calling convention, which is not supported by Julia's C-compatible function pointers.","category":"page"},{"location":"reference/onesided/#One-sided-communication","page":"One-sided communication","title":"One-sided communication","text":"","category":"section"},{"location":"reference/onesided/","page":"One-sided communication","title":"One-sided communication","text":"MPI.Win_create\nMPI.Win_create_dynamic\nMPI.Win_allocate_shared\nMPI.Win_shared_query\nMPI.Win_flush\nMPI.Win_lock\nMPI.Win_unlock\nMPI.Get!\nMPI.Put!\nMPI.Accumulate!\nMPI.Get_accumulate!","category":"page"},{"location":"reference/onesided/#MPI.Win_create","page":"One-sided communication","title":"MPI.Win_create","text":"MPI.Win_create(base[, size::Integer, disp_unit::Integer], comm::Comm; infokws...)\n\nCreate a window over the array base, returning a Win object used by these processes to perform RMA operations. This is a collective call over comm.\n\nsize is the size of the window in bytes (default = sizeof(base))\ndisp_unit is the size of address scaling in bytes (default = sizeof(eltype(base)))\ninfokws are info keys providing optimization hints to the runtime.\n\nMPI.free should be called on the Win object once operations have been completed.\n\n\n\n\n\n","category":"function"},{"location":"reference/onesided/#MPI.Win_create_dynamic","page":"One-sided communication","title":"MPI.Win_create_dynamic","text":"MPI.Win_create_dynamic(comm::Comm; infokws...)\n\nCreate a dynamic window returning a Win object used by these processes to perform RMA operations\n\nThis is a collective call over comm.\n\ninfokws are info keys providing optimization hints.\n\nMPI.free should be called on the Win object once operations have been completed.\n\n\n\n\n\n","category":"function"},{"location":"reference/onesided/#MPI.Win_allocate_shared","page":"One-sided communication","title":"MPI.Win_allocate_shared","text":"win, array = MPI.Win_allocate_shared(Array{T}, dims, comm::Comm; infokws...)\n\nCreate and allocate a shared memory window for objects of type T of dimension dims (either an integer or tuple of integers), returning a Win and the Array{T} attached to the local process.\n\nThis is a collective call over comm, but dims can differ for each call (and can be zero).\n\nUse MPI.Win_shared_query to obtain the Array attached to a different process in the same shared memory space.\n\ninfokws are info keys providing optimization hints.\n\nMPI.free should be called on the Win object once operations have been completed.\n\n\n\n\n\n","category":"function"},{"location":"reference/onesided/#MPI.Win_shared_query","page":"One-sided communication","title":"MPI.Win_shared_query","text":"array = Win_shared_query(Array{T}, [dims,] win; rank)\n\nObtain the shared memory allocated by Win_allocate_shared of the process rank in win. Returns an Array{T} of size dims (being a Vector{T} if no dims argument is provided).\n\n\n\n\n\n","category":"function"},{"location":"reference/onesided/#MPI.Win_flush","page":"One-sided communication","title":"MPI.Win_flush","text":"Win_flush(win::Win; rank)\n\nCompletes all outstanding RMA operations initiated by the calling process to the target rank on the specified window.\n\nExternal links\n\nMPI_Win_flush man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/onesided/#MPI.Win_lock","page":"One-sided communication","title":"MPI.Win_lock","text":"Win_lock(win::Win; rank::Integer, type=:exclusive/:shared, nocheck=false)\n\nStarts an RMA access epoch. The window at the process with rank rank can be accessed by RMA operations on win during that epoch.\n\nMultiple RMA access epochs (with calls to MPI.Win_lock) can occur simultaneously; however, each access epoch must target a different process.\n\nAccesses that are protected by an exclusive lock (type=:exclusive) will not be concurrent at the window site with other accesses to the same window that are lock protected. Accesses that are protected by a shared lock (type=:shared) will not be concurrent at the window site with accesses protected by an exclusive lock to the same window.\n\nIf nocheck=true, no other process holds, or will attempt to acquire, a conflicting lock, while the caller holds the window lock. This is useful when mutual exclusion is achieved by other means, but the coherence operations that may be attached to the lock and unlock calls are still required.\n\nExternal links\n\nMPI_Win_lock man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/onesided/#MPI.Win_unlock","page":"One-sided communication","title":"MPI.Win_unlock","text":"Win_unlock(win::Win; rank::Integer)\n\nCompletes an RMA access epoch started by a call to Win_lock.\n\nExternal links\n\nMPI_Win_unlock man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/onesided/#MPI.Get!","page":"One-sided communication","title":"MPI.Get!","text":"Get!(origin, win::Win; rank::Integer, disp::Integer=0)\n\nCopies data from the memory window win on the remote rank rank, with displacement disp, into origin using remote memory access. origin can be a Buffer, or any object for which Buffer(origin) is defined.\n\nExternal links\n\nMPI_Get man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/onesided/#MPI.Put!","page":"One-sided communication","title":"MPI.Put!","text":"Put!(origin, win::Win; rank::Integer, disp::Integer=0)\n\nCopies data from origin into memory window win on remote rank rank at displacement disp using remote memory access. origin can be a Buffer, or any object for which Buffer_send(origin) is defined.\n\nExternal links\n\nMPI_Put man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/onesided/#MPI.Accumulate!","page":"One-sided communication","title":"MPI.Accumulate!","text":"Accumulate!(origin, op, win::Win; rank::Integer, disp::Integer=0)\n\nCombine the content of the origin buffer into the target buffer (specified by win and displacement target_disp) with reduction operator op on the remote rank target_rank using remote memory access.\n\norigin can be a Buffer, or any object for which Buffer_send(origin) is defined. op can be any predefined Op (custom operators are not supported).\n\nExternal links\n\nMPI_Accumulate man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/onesided/#MPI.Get_accumulate!","page":"One-sided communication","title":"MPI.Get_accumulate!","text":"Get_accumulate!(origin, result, target_rank::Integer, target_disp::Integer, op::Op, win::Win)\n\nCombine the content of the origin buffer into the target buffer (specified by win and displacement target_disp) with reduction operator op on the remote rank target_rank using remote memory access. Get_accumulate also returns the content of the target buffer before accumulation into the result buffer.\n\norigin can be a Buffer, or any object for which Buffer_send(origin) is defined, result can be a Buffer, or any object for which Buffer(result) is defined. op can be any predefined Op (custom operators are not supported).\n\nExternal links\n\nMPI_Get_accumulate man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/buffers/#Buffers","page":"Buffers","title":"Buffers","text":"","category":"section"},{"location":"reference/buffers/","page":"Buffers","title":"Buffers","text":"Buffers are used for sending and receiving data. MPI.jl provides the following buffer types:","category":"page"},{"location":"reference/buffers/","page":"Buffers","title":"Buffers","text":"MPI.IN_PLACE\nMPI.Buffer\nMPI.Buffer_send\nMPI.UBuffer\nMPI.VBuffer\nMPI.RBuffer\nMPI.MPIPtr","category":"page"},{"location":"reference/buffers/#MPI.IN_PLACE","page":"Buffers","title":"MPI.IN_PLACE","text":"MPI.IN_PLACE\n\nA sentinel value that can be passed as a buffer argument for certain collective operations to use the same buffer for send and receive operations.\n\nScatter! and Scatterv!: can be used as the recvbuf argument on the root process.\nGather! and Gatherv!: can be used as the sendbuf argument on the root process.\nAllgather!, Allgatherv!, Alltoall! and Alltoallv!: can be used as the sendbuf argument on all processes.\nReduce! (root only), Allreduce!, Scan! and Exscan!: can be used as sendbuf argument.\n\n\n\n\n\n","category":"constant"},{"location":"reference/buffers/#MPI.Buffer","page":"Buffers","title":"MPI.Buffer","text":"MPI.Buffer\n\nAn MPI buffer for communication with a single rank. It is used for point-to-point and one-sided operations, as well as some collective operations. Operations will implicitly construct a Buffer when required via the generic constructor, but it can be advantageous to manually construct Buffers when doing so incurs additional overhead, for example when using a non-predefined MPI.Datatype.\n\nFields\n\ndata\n\n: a Julia object referencing a region of memory to be used for communication. It is     required that the object can be cconverted to an MPIPtr.\n\ncount\n\n: the number of elements of datatype in the buffer. Note that this may not     correspond to the number of elements in the array if derived types are used.\n\ndatatype\n\n: the MPI.Datatype stored in the buffer.\n\nUsage\n\nBuffer(data, count::Integer, datatype::Datatype)\n\nGeneric constructor.\n\nBuffer(data)\n\nConstruct a Buffer backed by data, automatically determining the appropriate count and datatype. Methods are provided for\n\nRef\nArray\nCUDA.CuArray if CUDA.jl is loaded.\nAMDGPU.ROCArray if AMDGPU.jl is loaded.\nSubArrays of an Array, CUDA.CuArray or AMDGPU.ROCArray where the layout is contiguous, sequential or blocked.\n\nSee also\n\nBuffer_send\n\n\n\n\n\n","category":"type"},{"location":"reference/buffers/#MPI.Buffer_send","page":"Buffers","title":"MPI.Buffer_send","text":"Buffer_send(data)\n\nConstruct a Buffer object for a send operation from data, allowing cases where isbits(data).\n\n\n\n\n\n","category":"function"},{"location":"reference/buffers/#MPI.UBuffer","page":"Buffers","title":"MPI.UBuffer","text":"MPI.UBuffer\n\nAn MPI buffer for chunked collective communication, where all chunks are of uniform size.\n\nFields\n\ndata\n\n: A Julia object referencing a region of memory to be used for communication. It is     required that the object can be cconverted to an MPIPtr.\n\ncount\n\n: The number of elements of datatype in each chunk.\n\nnchunks\n\n: The maximum number of chunks stored in the buffer. This is used only for     validation, and can be set to nothing to disable checks.\n\ndatatype\n\n: The MPI.Datatype stored in the buffer.\n\nUsage\n\nUBuffer(data, count::Integer, nchunks::Union{Nothing, Integer}, datatype::Datatype)\n\nGeneric constructor.\n\nUBuffer(data, count::Integer)\n\nConstruct a UBuffer backed by data, where count is the number of elements in each chunk.\n\nSee also\n\nVBuffer: similar, but supports chunks of non-uniform sizes.\n\n\n\n\n\n","category":"type"},{"location":"reference/buffers/#MPI.VBuffer","page":"Buffers","title":"MPI.VBuffer","text":"MPI.VBuffer\n\nAn MPI buffer for chunked collective communication, where chunks can be of different sizes and at different offsets.\n\nFields\n\ndata\n\n: A Julia object referencing a region of memory to be used for communication. It is     required that the object can be cconverted to an MPIPtr.\n\ncounts\n\n: An array containing the length of each chunk.\n\ndispls\n\n: An array containing the (0-based) displacements of each chunk.\n\ndatatype\n\n: The MPI.Datatype stored in the buffer.\n\nUsage\n\nVBuffer(data, counts[, displs[, datatype]])\n\nConstruct a VBuffer backed by data, where counts[j] is the number of elements in the jth chunk, and displs[j] is the 0-based displacement. In other words, the jth chunk occurs in indices displs[j]+1:displs[j]+counts[j].\n\nThe default value for displs[j] = sum(counts[1:j-1]).\n\nSee also\n\nUBuffer when chunks are all of the same size.\n\n\n\n\n\n","category":"type"},{"location":"reference/buffers/#MPI.RBuffer","page":"Buffers","title":"MPI.RBuffer","text":"MPI.RBuffer\n\nAn MPI buffer for reduction operations (MPI.Reduce!, MPI.Allreduce!, MPI.Scan!, MPI.Exscan!).\n\nFields\n\nsenddata\n\n: A Julia object referencing a region of memory to be used for the send buffer. It is     required that the object can be cconverted to an MPIPtr.\n\nrecvdata\n\n: A Julia object referencing a region of memory to be used for the receive buffer. It is     required that the object can be cconverted to an MPIPtr.\n\ncount\n\n: the number of elements of datatype in the buffer. Note that this may not     correspond to the number of elements in the array if derived types are used.\n\ndatatype\n\n: the MPI.Datatype stored in the buffer.\n\nUsage\n\nRBuffer(senddata, recvdata[, count, datatype])\n\nGeneric constructor.\n\nRBuffer(senddata, recvdata)\n\nConstruct a Buffer backed by senddata and recvdata, automatically determining the appropriate count and datatype.\n\nsenddata can be MPI.IN_PLACE\nrecvdata can be nothing on a non-root node with MPI.Reduce!\n\n\n\n\n\n","category":"type"},{"location":"reference/buffers/#MPI.API.MPIPtr","page":"Buffers","title":"MPI.API.MPIPtr","text":"MPI.MPIPtr\n\nA pointer to an MPI buffer. This type is used only as part of the implicit conversion in ccall: a Julia object can be passed to MPI by defining methods for Base.cconvert(::Type{MPIPtr}, ...)/Base.unsafe_convert(::Type{MPIPtr}, ...).\n\nCurrently supported are:\n\nPtr\nRef\nArray\nSubArray\nCUDA.CuArray if CUDA.jl is loaded.\nAMDGPU.ROCArray if AMDGPU.jl is loaded.\n\nAdditionally, certain sentinel values can be used, e.g. MPI_IN_PLACE or MPI_BOTTOM.\n\n\n\n\n\n","category":"type"},{"location":"reference/comm/#Communicators","page":"Communicators","title":"Communicators","text":"","category":"section"},{"location":"reference/comm/","page":"Communicators","title":"Communicators","text":"An MPI communicator specifies the communication context for a communication operation. In particular, it specifies the set of processes which share the context, and assigns each each process a unique rank (see MPI.Comm_rank) taking an integer value in 0:n-1, where n is the number of processes in the communicator (see MPI.Comm_size.","category":"page"},{"location":"reference/comm/#Types-and-enums","page":"Communicators","title":"Types and enums","text":"","category":"section"},{"location":"reference/comm/","page":"Communicators","title":"Communicators","text":"MPI.Comm","category":"page"},{"location":"reference/comm/#MPI.Comm","page":"Communicators","title":"MPI.Comm","text":"MPI.Comm\n\nAn MPI Communicator object.\n\n\n\n\n\n","category":"type"},{"location":"reference/comm/#Constants","page":"Communicators","title":"Constants","text":"","category":"section"},{"location":"reference/comm/","page":"Communicators","title":"Communicators","text":"MPI.COMM_WORLD\nMPI.COMM_SELF","category":"page"},{"location":"reference/comm/#MPI.COMM_WORLD","page":"Communicators","title":"MPI.COMM_WORLD","text":"MPI.COMM_WORLD\n\nA communicator containing all processes with which the local rank can communicate at initialization. In a typical \"static-process\" model, this will be all processes.\n\n\n\n\n\n","category":"constant"},{"location":"reference/comm/#MPI.COMM_SELF","page":"Communicators","title":"MPI.COMM_SELF","text":"MPI.COMM_SELF\n\nA communicator containing only the local process.\n\n\n\n\n\n","category":"constant"},{"location":"reference/comm/#Functions","page":"Communicators","title":"Functions","text":"","category":"section"},{"location":"reference/comm/#Operations","page":"Communicators","title":"Operations","text":"","category":"section"},{"location":"reference/comm/","page":"Communicators","title":"Communicators","text":"MPI.Comm_size\nMPI.Comm_rank\nMPI.Comm_compare\nMPI.Comm_group\nMPI.Comm_remote_group","category":"page"},{"location":"reference/comm/#MPI.Comm_size","page":"Communicators","title":"MPI.Comm_size","text":"Comm_size(comm::Comm)\n\nThe number of processes involved in communicator.\n\nSee also\n\nMPI.Comm_rank.\n\nExternal links\n\nMPI_Comm_size man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.Comm_rank","page":"Communicators","title":"MPI.Comm_rank","text":"Comm_rank(comm::Comm)\n\nThe rank of the process in the particular communicator's group.\n\nReturns an integer in the range 0:MPI.Comm_size()-1.\n\nSee also\n\nMPI.Comm_size.\n\nExternal links\n\nMPI_Comm_rank man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.Comm_compare","page":"Communicators","title":"MPI.Comm_compare","text":"Comm_compare(comm1::Comm, comm2::Comm)::MPI.Comparison\n\nCompare two communicators and their underlying groups, returning an element of the Comparison enum.\n\nExternal links\n\nMPI_Comm_compare man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.Comm_group","page":"Communicators","title":"MPI.Comm_group","text":"Comm_group(comm::Comm)\n\nAccesses the group associated with given communicator.\n\nExternal links\n\nMPI_Comm_group man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.Comm_remote_group","page":"Communicators","title":"MPI.Comm_remote_group","text":"Comm_remote_group(comm::Comm)\n\nAccesses the remote group associated with the given inter-communicator.\n\nExternal links\n\nMPI_Comm_remote_group man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#Constructors","page":"Communicators","title":"Constructors","text":"","category":"section"},{"location":"reference/comm/","page":"Communicators","title":"Communicators","text":"MPI.Comm_create\nMPI.Comm_create_group\nMPI.Comm_dup\nMPI.Comm_get_parent\nMPI.Comm_spawn\nMPI.Comm_split\nMPI.Comm_split_type\nMPI.Intercomm_merge","category":"page"},{"location":"reference/comm/#MPI.Comm_create","page":"Communicators","title":"MPI.Comm_create","text":"Comm_create(comm::Comm, group::Group)\n\nCollectively creates a new communicator.\n\nSee also\n\nMPI.Comm_create_group for the noncollective operation\n\nExternal links\n\nMPI_Comm_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.Comm_create_group","page":"Communicators","title":"MPI.Comm_create_group","text":"Comm_create_group(comm::Comm, group::Group, tag::Integer)\n\nNoncollectively creates a new communicator.\n\nSee also\n\nMPI.Comm_create for the noncollective operation\n\nExternal links\n\nMPI_Comm_create_group man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.Comm_dup","page":"Communicators","title":"MPI.Comm_dup","text":"Comm_dup(comm::Comm)\n\nExternal links\n\nMPI_Comm_dup man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.Comm_get_parent","page":"Communicators","title":"MPI.Comm_get_parent","text":"Comm_get_parent()\n\nExternal links\n\nMPI_Comm_get_parent man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.Comm_spawn","page":"Communicators","title":"MPI.Comm_spawn","text":"Comm_spawn(command, argv::Vector{String}, nprocs::Integer, comm::Comm[, errors::Vector{Cint}]; kwargs...)\n\nExternal links\n\nMPI_Comm_spawn man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.Comm_split","page":"Communicators","title":"MPI.Comm_split","text":"Comm_split(comm::Comm, color::Union{Integer,Nothing}, key::Integer)\n\nPartition the communicator comm, one for each value of color, returning a new communicator. Within each group, the processes are ranked in the order of key, with ties broken by the order of comm.\n\ncolor should be a non-negative integer, or nothing, in which case a null communicator is returned for that rank.\n\nExternal links\n\nMPI_Comm_split man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.Comm_split_type","page":"Communicators","title":"MPI.Comm_split_type","text":"Comm_split_type(comm::Comm, split_type, key::Integer; kwargs...)\n\nPartitions the communicator comm based on split_type, returning a new communicator. Within each group, the processes are ranked in the order of key, with ties broken by the order of comm.\n\nCurrently only one split_type is provided:\n\nMPI.COMM_TYPE_SHARED: splits the communicator into subcommunicators, each of which can create a shared memory region.\n\nExternal links\n\nMPI_Comm_split_type man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.Intercomm_merge","page":"Communicators","title":"MPI.Intercomm_merge","text":"Intercomm_merge(intercomm::Comm, flag::Bool)\n\nExternal links\n\nMPI_Intercomm_merge man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#Miscellaneous","page":"Communicators","title":"Miscellaneous","text":"","category":"section"},{"location":"reference/comm/","page":"Communicators","title":"Communicators","text":"MPI.universe_size\nMPI.tag_ub","category":"page"},{"location":"reference/comm/#MPI.universe_size","page":"Communicators","title":"MPI.universe_size","text":"universe_size()\n\nThe total number of available slots, or nothing if it is not defined. This is determined by the MPI_UNIVERSE_SIZE attribute of COMM_WORLD.\n\nThis is typically dependent on the MPI implementation: for MPICH-based implementations, this is specified by the -usize argument. OpenMPI defines a default value based on the number of processes available.\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.tag_ub","page":"Communicators","title":"MPI.tag_ub","text":"tag_ub()\n\nThe maximum value tag value for point-to-point operations.\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#Point-to-point-communication","page":"Point-to-point communication","title":"Point-to-point communication","text":"","category":"section"},{"location":"reference/pointtopoint/#Types","page":"Point-to-point communication","title":"Types","text":"","category":"section"},{"location":"reference/pointtopoint/","page":"Point-to-point communication","title":"Point-to-point communication","text":"MPI.Request\nMPI.RequestSet\nMPI.Status","category":"page"},{"location":"reference/pointtopoint/#MPI.Request","page":"Point-to-point communication","title":"MPI.Request","text":"MPI.Request\n\nAn MPI Request object, representing a non-blocking communication. This also contains a reference to the buffer used in the communication to ensure it isn't garbage-collected during communication.\n\nThe status of a Request can be checked by the Wait and Test functions or their multiple-request variants, which will deallocate the request once it is determined to be complete. Alternatively, it will be deallocated at finalization, meaning that it is safe to ignore the request objects if the status of the communication can be checked by other means.\n\nSee also Cancel!.\n\n\n\n\n\n","category":"type"},{"location":"reference/pointtopoint/#MPI.RequestSet","page":"Point-to-point communication","title":"MPI.RequestSet","text":"RequestSet(requests::Vector{Request})\nRequestSet() # create an empty RequestSet\n\nA wrapper for an array of Requests that can be used to reduce intermediate memory allocations in Waitall, Testall, Waitany, Testany, Waitsome or Testsome.\n\n\n\n\n\n","category":"type"},{"location":"reference/pointtopoint/#MPI.Status","page":"Point-to-point communication","title":"MPI.Status","text":"MPI.Status\n\nThe status of an MPI receive communication. It has 3 accessible fields\n\nsource: source of the received message\ntag: tag of the received message\nerror: error code. This is only set if a function returns multiple statuses.\n\nAdditionally, the accessor function MPI.Get_count can be used to determine the number of entries received.\n\n\n\n\n\n","category":"type"},{"location":"reference/pointtopoint/#Accessors","page":"Point-to-point communication","title":"Accessors","text":"","category":"section"},{"location":"reference/pointtopoint/","page":"Point-to-point communication","title":"Point-to-point communication","text":"MPI.Get_count","category":"page"},{"location":"reference/pointtopoint/#MPI.Get_count","page":"Point-to-point communication","title":"MPI.Get_count","text":"MPI.Get_count(status::Status, T)\n\nThe number of entries received. T should match the argument provided by the receive call that set the status variable.\n\nIf the number of entries received exceeds the limits of the count parameter, then it returns MPI_UNDEFINED.\n\nExternal links\n\nMPI_Get_count man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#Constants","page":"Point-to-point communication","title":"Constants","text":"","category":"section"},{"location":"reference/pointtopoint/","page":"Point-to-point communication","title":"Point-to-point communication","text":"MPI.PROC_NULL\nMPI.ANY_SOURCE\nMPI.ANY_TAG","category":"page"},{"location":"reference/pointtopoint/#MPI.PROC_NULL","page":"Point-to-point communication","title":"MPI.PROC_NULL","text":"MPI.PROC_NULL\n\nA dummy value that can be used instead of a rank wherever a source or a destination argument is required in a call. A send\n\n\n\n\n\n","category":"constant"},{"location":"reference/pointtopoint/#MPI.ANY_SOURCE","page":"Point-to-point communication","title":"MPI.ANY_SOURCE","text":"MPI.ANY_SOURCE\n\nA wild card value for receive or probe operations that matches any source rank.\n\n\n\n\n\n","category":"constant"},{"location":"reference/pointtopoint/#MPI.ANY_TAG","page":"Point-to-point communication","title":"MPI.ANY_TAG","text":"MPI.ANY_TAG\n\nA wild card value for receive or probe operations that matches any tag.\n\n\n\n\n\n","category":"constant"},{"location":"reference/pointtopoint/#Blocking-communication","page":"Point-to-point communication","title":"Blocking communication","text":"","category":"section"},{"location":"reference/pointtopoint/","page":"Point-to-point communication","title":"Point-to-point communication","text":"MPI.Send\nMPI.send\nMPI.Recv!\nMPI.Recv\nMPI.recv\nMPI.Sendrecv!","category":"page"},{"location":"reference/pointtopoint/#MPI.Send","page":"Point-to-point communication","title":"MPI.Send","text":"Send(buf, comm::Comm; dest::Integer, tag::Integer=0)\n\nPerform a blocking send from the buffer buf to MPI rank dest of communicator comm using the message tag tag.\n\nSend(obj, comm::Comm; dest::Integer, tag::Integer=0)\n\nComplete a blocking send of an isbits object obj to MPI rank dest of communicator comm using with the message tag tag.\n\nExternal links\n\nMPI_Send man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.send","page":"Point-to-point communication","title":"MPI.send","text":"send(obj, comm::Comm; dest::Integer, tag::Integer=0)\n\nComplete a blocking send using a serialized version of obj to MPI rank dest of communicator comm using with the message tag tag.\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Recv!","page":"Point-to-point communication","title":"MPI.Recv!","text":"data = Recv!(recvbuf, comm::Comm;\n        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)\ndata, status = Recv!(recvbuf, comm::Comm, MPI.Status;\n        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)\n\nCompletes a blocking receive into the buffer recvbuf from MPI rank source of communicator comm using with the message tag tag.\n\nrecvbuf can be a Buffer, or any object for which Buffer(recvbuf) is defined.\n\nOptionally returns the Status object of the receive.\n\nSee also\n\nRecv\nrecv\n\nExternal links\n\nMPI_Recv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Recv","page":"Point-to-point communication","title":"MPI.Recv","text":"data = Recv(::Type{T}, comm::Comm;\n        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)\ndata, status = Recv(::Type{T}, comm::Comm, MPI.Status;\n        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)\n\nCompletes a blocking receive of a single isbits object of type T from MPI rank source of communicator comm using with the message tag tag.\n\nReturns a tuple of the object of type T and optionally the Status of the receive.\n\nSee also\n\nRecv!\nrecv\n\nExternal links\n\nMPI_Recv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.recv","page":"Point-to-point communication","title":"MPI.recv","text":"obj = recv(comm::Comm;\n        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)\nobj, status = recv(comm::Comm, MPI.Status;\n        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)\n\nCompletes a blocking receive of a serialized object from MPI rank source of communicator comm using with the message tag tag.\n\nReturns the deserialized object and optionally the Status of the receive.\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Sendrecv!","page":"Point-to-point communication","title":"MPI.Sendrecv!","text":"data = Sendrecv!(sendbuf, recvbuf, comm;\n        dest::Integer, sendtag::Integer=0, source::Integer=MPI.ANY_SOURCE, recvtag::Integer=MPI.ANY_TAG)\ndata, status = Sendrecv!(sendbuf, recvbuf, comm, MPI.Status;\n        dest::Integer, sendtag::Integer=0, source::Integer=MPI.ANY_SOURCE, recvtag::Integer=MPI.ANY_TAG)\n\nComplete a blocking send-receive operation over the MPI communicator comm. Send sendbuf to the MPI rank dest using message tag sendtag, and receive from MPI rank source into the buffer recvbuf using message tag recvtag. Return a Status object.\n\nExternal links\n\nMPI_Sendrecv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#Non-blocking-communication","page":"Point-to-point communication","title":"Non-blocking communication","text":"","category":"section"},{"location":"reference/pointtopoint/#Initiation","page":"Point-to-point communication","title":"Initiation","text":"","category":"section"},{"location":"reference/pointtopoint/","page":"Point-to-point communication","title":"Point-to-point communication","text":"MPI.Isend\nMPI.isend\nMPI.Irecv!","category":"page"},{"location":"reference/pointtopoint/#MPI.Isend","page":"Point-to-point communication","title":"MPI.Isend","text":"Isend(data, comm::Comm; dest::Integer, tag::Integer=0)\n\nStarts a nonblocking send of data to MPI rank dest of communicator comm using with the message tag tag.\n\ndata can be a Buffer, or any object for which Buffer_send is defined.\n\nReturns the Request object for the nonblocking send.\n\nExternal links\n\nMPI_Isend man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.isend","page":"Point-to-point communication","title":"MPI.isend","text":"isend(obj, comm::Comm; dest::Integer, tag::Integer=0)\n\nStarts a nonblocking send of using a serialized version of obj to MPI rank dest of communicator comm using with the message tag tag.\n\nReturns the commication Request for the nonblocking send.\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Irecv!","page":"Point-to-point communication","title":"MPI.Irecv!","text":"req = Irecv!(recvbuf, comm::Comm;\n        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)\n\nStarts a nonblocking receive into the buffer data from MPI rank source of communicator comm using with the message tag tag.\n\ndata can be a Buffer, or any object for which Buffer(data) is defined.\n\nReturns the Request object for the nonblocking receive.\n\nExternal links\n\nMPI_Irecv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#Completion","page":"Point-to-point communication","title":"Completion","text":"","category":"section"},{"location":"reference/pointtopoint/","page":"Point-to-point communication","title":"Point-to-point communication","text":"MPI.Test\nMPI.Testall\nMPI.Testany\nMPI.Testsome\nMPI.Wait\nMPI.Waitall\nMPI.Waitany\nMPI.Waitsome","category":"page"},{"location":"reference/pointtopoint/#MPI.Test","page":"Point-to-point communication","title":"MPI.Test","text":"flag = Test(req::Request)\nflag, status = Test(req::Request, Status)\n\nCheck if the request req is complete. If so, the request is deallocated and flag = true is returned. Otherwise flag = false.\n\nThe Status argument additionally returns the Status of the completed request.\n\nExternal links\n\nMPI_Test man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Testall","page":"Point-to-point communication","title":"MPI.Testall","text":"flag = Testall(reqs::AbstractVector{Request}[, statuses::Vector{Status}])\nflag, statuses = Testall(reqs::AbstractVector{Request}, Status)\n\nCheck if all active requests in the array reqs are complete. If so, the requests are deallocated and true is returned. Otherwise no requests are modified, and false is returned.\n\nThe optional statuses or Status argument can be used to obtain the return Status of each request.\n\nSee also\n\nRequestSet can be used to minimize allocations\n\nExternal links\n\nMPI_Testall man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Testany","page":"Point-to-point communication","title":"MPI.Testany","text":"flag, idx = Testany(reqs::AbstractVector{Request}[, status::Ref{Status}])\nflag, idx, status = Testany(reqs::AbstractVector{Request}, Status)\n\nChecks if any one of the requests in the array reqs is complete.\n\nIf one or more requests are complete, then one is chosen arbitrarily, deallocated. flag = true and its (1-based) index idx is returned.\n\nIf there are no completed requests, then flag = false and idx = nothing is returned.\n\nIf there are no active requests, flag = true and idx = nothing.\n\nThe optional status argument can be used to obtain the return Status of the request.\n\nSee also\n\nRequestSet can be used to minimize allocations\n\nExternal links\n\nMPI_Testany man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Testsome","page":"Point-to-point communication","title":"MPI.Testsome","text":"inds = Testsome(reqs::AbstractVector{Request}[, statuses::Vector{Status}])\n\nSimilar to Waitsome except that if no operations have completed it will return an empty array.\n\nIf there are no active requests, then the function returns nothing.\n\nThe optional statuses argument can be used to obtain the return Status of each completed request.\n\nSee also\n\nRequestSet can be used to minimize allocations\n\nExternal links\n\nMPI_Testsome man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Wait","page":"Point-to-point communication","title":"MPI.Wait","text":"Wait(req::Request)\nstatus = Wait(req::Request, Status)\n\nBlock until the request req is complete and deallocated.\n\nThe Status argument returns the Status of the completed request.\n\nExternal links\n\nMPI_Wait man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Waitall","page":"Point-to-point communication","title":"MPI.Waitall","text":"Waitall(reqs::AbstractVector{Request}[, statuses::Vector{Status}])\nstatuses = Waitall(reqs::AbstractVector{Request}, Status)\n\nBlock until all active requests in the array reqs are complete.\n\nThe optional statuses or Status argument can be used to obtain the return Status of each request.\n\nSee also\n\nRequestSet can be used to minimize allocations\n\nExternal links\n\nMPI_Waitall man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Waitany","page":"Point-to-point communication","title":"MPI.Waitany","text":"i = Waitany(reqs::AbstractVector{Request}[, status::Ref{Status}])\ni, status = Waitany(reqs::AbstractVector{Request}, Status)\n\nBlocks until one of the requests in the array reqs is complete: if more than one is complete, one is chosen arbitrarily. The request is deallocated and the (1-based) index i of the completed request is returned.\n\nIf there are no active requests, then i = nothing.\n\nThe optional status argument can be used to obtain the return Status of the request.\n\nSee also\n\nRequestSet can be used to minimize allocations\n\nExternal links\n\nMPI_Waitany man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Waitsome","page":"Point-to-point communication","title":"MPI.Waitsome","text":"inds = Waitsome(reqs::AbstractVector{Request}[, statuses::Vector{Status}])\n\nBlock until at least one of the active requests in the array reqs is complete. The completed requests are deallocated, and an array inds of their indices in reqs is returned.\n\nIf there are no active requests, then inds = nothing.\n\nThe optional statuses argument can be used to obtain the return Status of each completed request.\n\nSee also\n\nRequestSet can be used to minimize allocations\n\nExternal links\n\nMPI_Waitsome man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#Probe/Cancel","page":"Point-to-point communication","title":"Probe/Cancel","text":"","category":"section"},{"location":"reference/pointtopoint/","page":"Point-to-point communication","title":"Point-to-point communication","text":"MPI.Cancel!\nMPI.Iprobe\nMPI.Probe","category":"page"},{"location":"reference/pointtopoint/#MPI.Cancel!","page":"Point-to-point communication","title":"MPI.Cancel!","text":"Cancel!(req::Request)\n\nMarks a pending Irecv! operation for cancellation (cancelling a Isend, while supported in some implementations, is deprecated as of MPI 3.1). Note that the request is not deallocated, and can still be queried using the test or wait functions.\n\nExternal links\n\nMPI_Cancel man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Iprobe","page":"Point-to-point communication","title":"MPI.Iprobe","text":"ismsg = Iprobe(comm::Comm;\n        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)\nismsg, status = Iprobe(comm::Comm, MPI.Status;\n        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)\n\nChecks if there is a message that can be received matching source, tag and comm. If so, returns ismsg = true. The Status argument additionally returns the Status of the completed request.\n\nExternal links\n\nMPI_Iprobe man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Probe","page":"Point-to-point communication","title":"MPI.Probe","text":"Probe(comm::Comm;\n        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)\nstatus = Probe(comm::Comm, MPI.Status;\n    source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)\n\nBlocks until there is a message that can be received matching source, tag and comm. Optionally returns the corresponding Status object.\n\nExternal links\n\nMPI_Probe man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#Persistent-requests","page":"Point-to-point communication","title":"Persistent requests","text":"","category":"section"},{"location":"reference/pointtopoint/","page":"Point-to-point communication","title":"Point-to-point communication","text":"MPI.Send_init\nMPI.Recv_init\nMPI.Start\nMPI.Startall","category":"page"},{"location":"reference/pointtopoint/#MPI.Send_init","page":"Point-to-point communication","title":"MPI.Send_init","text":"Send_init(buf, comm; dest, tag=0)::MPI.Request\n\nAllocate a persistent send request, returning a Request object. Use Start or Startall to start the communication operation, and free to deallocate the request.\n\nExternal links\n\nMPI_Send_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Recv_init","page":"Point-to-point communication","title":"MPI.Recv_init","text":"Recv_init(buf, comm; source=MPI.ANY_SOURCE, tag=MPI.ANY_TAG)::MPI.Request\n\nAllocate a persistent receive request, returning a Request object. Use Start or Startall to start the communication operation, and free to deallocate the request.\n\nExternal links\n\nMPI_Recv_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Start","page":"Point-to-point communication","title":"MPI.Start","text":"Start(request::Request)\n\nStart a persistent communication request created by Send_init or Recv_init. Call Wait to complete the request.\n\nExternal links\n\nMPI_Start man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Startall","page":"Point-to-point communication","title":"MPI.Startall","text":"Startall(reqs::AbstractVector{Request})\n\nStart a set of persistent communication requests created by Send_init or Recv_init. Call Waitall to complete the requests.\n\nExternal links\n\nMPI_Startall man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#I/O","page":"I/O","title":"I/O","text":"","category":"section"},{"location":"reference/io/#File-manipulation","page":"I/O","title":"File manipulation","text":"","category":"section"},{"location":"reference/io/","page":"I/O","title":"I/O","text":"MPI.File.open","category":"page"},{"location":"reference/io/#MPI.File.open","page":"I/O","title":"MPI.File.open","text":"MPI.File.open(comm::Comm, filename::AbstractString; keywords...)\n\nOpen the file identified by filename. This is a collective operation on comm.\n\nSupported keywords are as follows:\n\nread, write, create, append have the same behaviour and defaults as Base.open.\nsequential: file will only be accessed sequentially (default: false)\nuniqueopen: file will not be concurrently opened elsewhere (default: false)\ndeleteonclose: delete file on close (default: false)\n\nAny additional keywords are passed via an Info object, and are implementation dependent.\n\nExternal links\n\nMPI_File_open man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#Views","page":"I/O","title":"Views","text":"","category":"section"},{"location":"reference/io/","page":"I/O","title":"I/O","text":"MPI.File.set_view!\nMPI.File.get_byte_offset","category":"page"},{"location":"reference/io/#MPI.File.set_view!","page":"I/O","title":"MPI.File.set_view!","text":"MPI.File.set_view!(file::FileHandle, disp::Integer, etype::Datatype, filetype::Datatype, datarep::AbstractString; kwargs...)\n\nSet the current process's view of file.\n\nThe start of the view is set to disp; the type of data is set to etype; the distribution of data to processes is set to filetype; and the representation of data in the file is set to datarep: one of \"native\" (default), \"internal\", or \"external32\".\n\nExternal links\n\nMPI_File_set_view man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.get_byte_offset","page":"I/O","title":"MPI.File.get_byte_offset","text":"MPI.File.get_byte_offset(file::FileHandle, offset::Integer)\n\nConverts a view-relative offset into an absolute byte position. Returns the absolute byte position (from the beginning of the file) of offset relative to the current view of file.\n\nExternal links\n\nMPI_File_get_byte_offset man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#Consistency","page":"I/O","title":"Consistency","text":"","category":"section"},{"location":"reference/io/","page":"I/O","title":"I/O","text":"MPI.File.sync\nMPI.File.get_atomicity\nMPI.File.set_atomicity","category":"page"},{"location":"reference/io/#MPI.File.sync","page":"I/O","title":"MPI.File.sync","text":"MPI.File.sync(fh::FileHandle)\n\nA collective operation causing all previous writes to fh by the calling process to be transferred to the storage device. If other processes have made updates to the storage device, then all such updates become visible to subsequent reads of fh by the calling process.\n\nExternal links\n\nMPI_File_sync man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.get_atomicity","page":"I/O","title":"MPI.File.get_atomicity","text":"MPI.File.get_atomicity(file::FileHandle)\n\nGet the consistency option for the fh. If false it is non-atomic.\n\nExternal links\n\nMPI_File_get_atomicity man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.set_atomicity","page":"I/O","title":"MPI.File.set_atomicity","text":"MPI.File.set_atomicity(file::FileHandle, flag::Bool)\n\nSet the consitency option for the fh.\n\nExternal links\n\nMPI_File_get_atomicity man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#Data-access","page":"I/O","title":"Data access","text":"","category":"section"},{"location":"reference/io/#Individual-pointer","page":"I/O","title":"Individual pointer","text":"","category":"section"},{"location":"reference/io/","page":"I/O","title":"I/O","text":"MPI.File.read!\nMPI.File.read_all!\nMPI.File.write\nMPI.File.write_all","category":"page"},{"location":"reference/io/#MPI.File.read!","page":"I/O","title":"MPI.File.read!","text":"MPI.File.read!(file::FileHandle, data)\n\nReads current view of file into data. data can be a Buffer, or any object for which Buffer(data) is defined.\n\nSee also\n\nMPI.File.set_view! to set the current view of the file\nMPI.File.read_all! for the collective operation\n\nExternal links\n\nMPI_File_read man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.read_all!","page":"I/O","title":"MPI.File.read_all!","text":"MPI.File.read_all!(file::FileHandle, data)\n\nReads current view of file into data. data can be a Buffer, or any object for which Buffer(data) is defined. This is a collective operation, so must be called on all ranks in the communicator on which file was opened.\n\nSee also\n\nMPI.File.set_view! to set the current view of the file\nMPI.File.read! for the noncollective operation\n\nExternal links\n\nMPI_File_read_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.write","page":"I/O","title":"MPI.File.write","text":"MPI.File.write(file::FileHandle, data)\n\nWrites data to the current view of file. data can be a Buffer, or any object for which Buffer_send(data) is defined.\n\nSee also\n\nMPI.File.set_view! to set the current view of the file\nMPI.File.write_all for the collective operation\n\nExternal links\n\nMPI_File_write man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.write_all","page":"I/O","title":"MPI.File.write_all","text":"MPI.File.write_all(file::FileHandle, data)\n\nWrites data to the current view of file. data can be a Buffer, or any object for which Buffer_send(data) is defined. This is a collective operation, so must be called on all ranks in the communicator on which file was opened.\n\nSee also\n\nMPI.File.set_view! to set the current view of the file\nMPI.File.write for the noncollective operation\n\nExternal links\n\nMPI_File_write_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#Explicit-offsets","page":"I/O","title":"Explicit offsets","text":"","category":"section"},{"location":"reference/io/","page":"I/O","title":"I/O","text":"MPI.File.read_at!\nMPI.File.read_at_all!\nMPI.File.write_at\nMPI.File.write_at_all","category":"page"},{"location":"reference/io/#MPI.File.read_at!","page":"I/O","title":"MPI.File.read_at!","text":"MPI.File.read_at!(file::FileHandle, offset::Integer, data)\n\nReads from file at position offset into data. data can be a Buffer, or any object for which Buffer(data) is defined.\n\nSee also\n\nMPI.File.read_at_all! for the collective operation\n\nExternal links\n\nMPI_File_read_at man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.read_at_all!","page":"I/O","title":"MPI.File.read_at_all!","text":"MPI.File.read_at_all!(file::FileHandle, offset::Integer, data)\n\nReads from file at position offset into data. data can be a Buffer, or any object for which Buffer(data) is defined. This is a collective operation, so must be called on all ranks in the communicator on which file was opened.\n\nSee also\n\nMPI.File.read_at! for the noncollective operation\n\nExternal links\n\nMPI_File_read_at_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.write_at","page":"I/O","title":"MPI.File.write_at","text":"MPI.File.write_at(file::FileHandle, offset::Integer, data)\n\nWrites data to file at position offset. data can be a Buffer, or any object for which Buffer_send(data) is defined.\n\nSee also\n\nMPI.File.write_at_all for the collective operation\n\nExternal links\n\nMPI_File_write_at man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.write_at_all","page":"I/O","title":"MPI.File.write_at_all","text":"MPI.File.write_at_all(file::FileHandle, offset::Integer, data)\n\nWrites from data to file at position offset. data can be a Buffer, or any object for which Buffer_send(data) is defined. This is a collective operation, so must be called on all ranks in the communicator on which file was opened.\n\nSee also\n\nMPI.File.write_at for the noncollective operation\n\nExternal links\n\nMPI_File_write_at_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#Shared-pointer","page":"I/O","title":"Shared pointer","text":"","category":"section"},{"location":"reference/io/","page":"I/O","title":"I/O","text":"MPI.File.read_shared!\nMPI.File.write_shared\nMPI.File.read_ordered!\nMPI.File.write_ordered\nMPI.File.seek_shared\nMPI.File.get_position_shared","category":"page"},{"location":"reference/io/#MPI.File.read_shared!","page":"I/O","title":"MPI.File.read_shared!","text":"MPI.File.read_shared!(file::FileHandle, data)\n\nReads from file using the shared file pointer into data.  data can be a Buffer, or any object for which Buffer(data) is defined.\n\nSee also\n\nMPI.File.read_ordered! for the collective operation\n\nExternal links\n\nMPI_File_read_shared man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.write_shared","page":"I/O","title":"MPI.File.write_shared","text":"MPI.File.write_shared(file::FileHandle, data)\n\nWrites to file using the shared file pointer from data. data can be a Buffer, or any object for which Buffer(data) is defined.\n\nSee also\n\nMPI.File.write_ordered for the collective operation\n\nExternal links\n\nMPI_File_write_shared man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.read_ordered!","page":"I/O","title":"MPI.File.read_ordered!","text":"MPI.File.read_ordered!(file::FileHandle, data)\n\nCollectively reads in rank order from file using the shared file pointer into data. data can be a Buffer, or any object for which Buffer(data) is defined. This is a collective operation, so must be called on all ranks in the communicator on which file was opened.\n\nSee also\n\nMPI.File.read_shared! for the noncollective operation\n\nExternal links\n\nMPI_File_read_ordered man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.write_ordered","page":"I/O","title":"MPI.File.write_ordered","text":"MPI.File.write_ordered(file::FileHandle, data)\n\nCollectively writes in rank order to file using the shared file pointer from data. data can be a Buffer, or any object for which Buffer(data) is defined. This is a collective operation, so must be called on all ranks in the communicator on which file was opened.\n\nSee also\n\nMPI.File.write_shared for the noncollective operation\n\nExternal links\n\nMPI_File_write_ordered man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.seek_shared","page":"I/O","title":"MPI.File.seek_shared","text":"MPI.File.seek_shared(file::FileHandle, offset::Integer, whence::Seek=SEEK_SET)\n\nUpdates the shared file pointer according to whence, which has the following possible values:\n\nMPI.File.SEEK_SET (default): the pointer is set to offset\nMPI.File.SEEK_CUR: the pointer is set to the current pointer position plus offset\nMPI.File.SEEK_END: the pointer is set to the end of file plus offset\n\nThis is a collective operation, and must be called with the same value on all processes in the communicator.\n\nExternal links\n\nMPI_File_seek_shared man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.get_position_shared","page":"I/O","title":"MPI.File.get_position_shared","text":"MPI.File.get_position_shared(file::FileHandle)\n\nThe current position of the shared file pointer (in etype units) relative to the current view.\n\nExternal links\n\nMPI_File_get_position_shared man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/environment/#Environment","page":"Environment","title":"Environment","text":"","category":"section"},{"location":"reference/environment/#Launching-MPI-programs","page":"Environment","title":"Launching MPI programs","text":"","category":"section"},{"location":"reference/environment/","page":"Environment","title":"Environment","text":"mpiexec\nMPI.install_mpiexecjl","category":"page"},{"location":"reference/environment/#MPICH_jll.mpiexec","page":"Environment","title":"MPICH_jll.mpiexec","text":"mpiexec(fn)\n\nA wrapper function for the MPI launcher executable. Calls fn(cmd), where cmd is a Cmd object of the MPI launcher.\n\nUsage\n\njulia> mpiexec(cmd -> run(`$cmd -n 3 echo hello world`));\nhello world\nhello world\nhello world\n\n\n\n\n\n","category":"function"},{"location":"reference/environment/#MPI.install_mpiexecjl","page":"Environment","title":"MPI.install_mpiexecjl","text":"MPI.install_mpiexecjl(; command::String = \"mpiexecjl\",\n                      destdir::String = joinpath(DEPOT_PATH[1], \"bin\"),\n                      force::Bool = false, verbose::Bool = true)\n\nInstall the mpiexec wrapper to destdir directory, with filename command. Set force to true to overwrite an existing destination file with the same path.  If verbose is true, the installation prints information about the progress of the process.\n\n\n\n\n\n","category":"function"},{"location":"reference/environment/#Enums","page":"Environment","title":"Enums","text":"","category":"section"},{"location":"reference/environment/","page":"Environment","title":"Environment","text":"MPI.ThreadLevel","category":"page"},{"location":"reference/environment/#MPI.ThreadLevel","page":"Environment","title":"MPI.ThreadLevel","text":"ThreadLevel\n\nAn Enum denoting the level of threading support in the current process:\n\nMPI.THREAD_SINGLE: Only one thread will execute.\nMPI.THREAD_FUNNELED: The process may be multi-threaded, but the application must ensure that only the main thread makes MPI calls. See Is_thread_main.\nMPI.THREAD_SERIALIZED: The process may be multi-threaded, and multiple threads may make MPI calls, but only one at a time (i.e. all MPI calls are serialized).\nMPI.THREAD_MULTIPLE: Multiple threads may call MPI, with no restrictions.\n\nSee also\n\nInit\nQuery_thread\n\n\n\n\n\n","category":"type"},{"location":"reference/environment/#Functions","page":"Environment","title":"Functions","text":"","category":"section"},{"location":"reference/environment/","page":"Environment","title":"Environment","text":"MPI.Abort\nMPI.Init\nMPI.Query_thread\nMPI.Is_thread_main\nMPI.Initialized\nMPI.Finalize\nMPI.Finalized","category":"page"},{"location":"reference/environment/#MPI.Abort","page":"Environment","title":"MPI.Abort","text":"Abort(comm::Comm, errcode::Integer)\n\nMake a “best attempt” to abort all tasks in the group of comm. This function does not require that the invoking environment take any action with the error code. However, a Unix or POSIX environment should handle this as a return errorcode from the main program.\n\nExternal links\n\nMPI_Abort man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/environment/#MPI.Init","page":"Environment","title":"MPI.Init","text":"Init(;threadlevel=:serialized, finalize_atexit=true, errors_return=true)\n\nInitialize MPI in the current process. The keyword options:\n\nthreadlevel: either :single, :funneled, :serialized (default), :multiple, or an instance of ThreadLevel.\nfinalize_atexit: if true (default), adds an atexit hook to call MPI.Finalize if it hasn't already been called.\nerrors_return: if true (default), will set the default error handlers for MPI.COMM_SELF and MPI.COMM_WORLD to be MPI.ERRORS_RETURN. MPI errors will then appear as Julia exceptions.\n\nIt will return the ThreadLevel value which MPI is initialized at.\n\nAll MPI programs must call this function at least once before calling any other MPI operations: the only MPI functions that may be called before MPI.Init are MPI.Initialized and MPI.Finalized.\n\nIt is safe to call MPI.Init multiple times, however it is not valid to call it after calling MPI.Finalize.\n\nExternal links\n\nMPI_Init man page: OpenMPI, MPICH\nMPI_Init_thread man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/environment/#MPI.Query_thread","page":"Environment","title":"MPI.Query_thread","text":"Query_thread()\n\nQuery the level of threading support in the current process. Returns a ThreadLevel value denoting\n\nExternal links\n\nMPI_Query_thread man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/environment/#MPI.Is_thread_main","page":"Environment","title":"MPI.Is_thread_main","text":"Is_thread_main()\n\nQueries whether the current thread is the main thread according to MPI. This can be called by any thread, and is useful for the  THREAD_FUNNELED ThreadLevel.\n\nExternal links\n\nMPI_Is_thread_main man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/environment/#MPI.Initialized","page":"Environment","title":"MPI.Initialized","text":"Initialized()\n\nReturns true if MPI.Init has been called, false otherwise.\n\nIt is unaffected by MPI.Finalize, and is one of the few functions that may be called before MPI.Init.\n\nExternal links\n\nMPI_Intialized man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/environment/#MPI.Finalize","page":"Environment","title":"MPI.Finalize","text":"Finalize()\n\nMarks MPI state for cleanup. This should be called after MPI.Init, and can be called at most once. No further MPI calls (other than Initialized or Finalized) should be made after it is called.\n\nMPI.Init will automatically insert a hook to call this function when Julia exits, if it hasn't already been called.\n\nExternal links\n\nMPI_Finalize man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/environment/#MPI.Finalized","page":"Environment","title":"MPI.Finalized","text":"Finalized()\n\nReturns true if MPI.Finalize has completed, false otherwise.\n\nIt is safe to call before MPI.Init and after MPI.Finalize.\n\nExternal links\n\nMPI_Finalized man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/environment/#Errors","page":"Environment","title":"Errors","text":"","category":"section"},{"location":"reference/environment/","page":"Environment","title":"Environment","text":"MPI.MPIError\nMPI.FeatureLevelError","category":"page"},{"location":"reference/environment/#MPI.MPIError","page":"Environment","title":"MPI.MPIError","text":"MPIError\n\nError thrown when an MPI function returns an error code. The code field contains the MPI error code.\n\n\n\n\n\n","category":"type"},{"location":"reference/environment/#MPI.API.FeatureLevelError","page":"Environment","title":"MPI.API.FeatureLevelError","text":"FeatureLevelError\n\nError thrown if a feature is not implemented in the current MPI backend.\n\n\n\n\n\n","category":"type"},{"location":"reference/group/#Groups","page":"Groups","title":"Groups","text":"","category":"section"},{"location":"reference/group/","page":"Groups","title":"Groups","text":"An MPI group is a set of process identifiers identified by their rank (see  MPI.Comm_rank and MPI.Group_rank). They are used within a  communicator to describe the participants in a communication universe.","category":"page"},{"location":"reference/group/#Types-and-enums","page":"Groups","title":"Types and enums","text":"","category":"section"},{"location":"reference/group/","page":"Groups","title":"Groups","text":"MPI.Group\nMPI.Comparison","category":"page"},{"location":"reference/group/#MPI.Group","page":"Groups","title":"MPI.Group","text":"MPI.Group\n\nAn MPI Group object.\n\n\n\n\n\n","category":"type"},{"location":"reference/group/#MPI.Comparison","page":"Groups","title":"MPI.Comparison","text":"Comparison\n\nAn enum denoting the result of Comm_compare:\n\nMPI.IDENT: the objects are handles for the same object (identical groups and same contexts).\nMPI.CONGRUENT: the underlying groups are identical in constituents and rank order; these communicators differ only by context.\nMPI.SIMILAR: members of both objects are the same but the rank order differs.\nMPI.UNEQUAL: otherwise\n\n\n\n\n\n","category":"type"},{"location":"reference/group/#Functions","page":"Groups","title":"Functions","text":"","category":"section"},{"location":"reference/group/#Operations","page":"Groups","title":"Operations","text":"","category":"section"},{"location":"reference/group/","page":"Groups","title":"Groups","text":"MPI.Group_size\nMPI.Group_rank","category":"page"},{"location":"reference/group/#MPI.Group_size","page":"Groups","title":"MPI.Group_size","text":"Group_size(group::Group)\n\nThe number of processes involved in group.\n\nExternal links\n\nMPI_Group_size man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/group/#MPI.Group_rank","page":"Groups","title":"MPI.Group_rank","text":"Group_rank(group::Group)\n\nThe rank of the process in the particular group.\n\nReturns an integer in the range 0:MPI.Group_size()-1.\n\nExternal links\n\nMPI_Group_rank man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#Topology","page":"Topology","title":"Topology","text":"","category":"section"},{"location":"reference/topology/","page":"Topology","title":"Topology","text":"MPI.Dims_create\nMPI.Cart_create\nMPI.Cart_get\nMPI.Cart_coords\nMPI.Cart_rank\nMPI.Cart_shift\nMPI.Cart_sub\nMPI.Cartdim_get\nMPI.Dist_graph_create\nMPI.Dist_graph_create_adjacent\nMPI.Dist_graph_neighbors_count\nMPI.Dist_graph_neighbors!","category":"page"},{"location":"reference/topology/#MPI.Dims_create","page":"Topology","title":"MPI.Dims_create","text":"newdims = Dims_create(nnodes::Integer, dims)\n\nA convenience function for selecting a balanced Cartesian grid of a total of nnodes nodes, for example to use with MPI.Cart_create.\n\ndims is an array or tuple of integers specifying the number of nodes in each dimension. The function returns an array newdims of the same length, such that if newdims[i] = dims[i] if dims[i] is non-zero, and prod(newdims) == nnodes, and values newdims are as close to each other as possible.\n\nnnodes should be divisible by the product of the non-zero entries of dims.\n\nExternal links\n\nMPI_Dims_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#MPI.Cart_create","page":"Topology","title":"MPI.Cart_create","text":"comm_cart = Cart_create(comm::Comm, dims; periodic=map(_->false, dims), reorder=false)\n\nCreate new MPI communicator with Cartesian topology information attached.\n\ndims is an array or tuple of integers specifying the number of MPI processes in each coordinate direction, and periodic is an array or tuple of Bools indicating the periodicity of each coordinate. prod(dims) must be less than or equal to the size of comm; if it is smaller than some processes are returned a null communicator.\n\nIf reorder == false then the rank of each process in the new group is identical to its rank in the old group, otherwise the function may reorder the processes.\n\nSee also MPI.Dims_create.\n\nExternal links\n\nMPI_Cart_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#MPI.Cart_get","page":"Topology","title":"MPI.Cart_get","text":"dims, periods, coords = Cart_get(comm::Comm)\n\nObtain information on the Cartesian topology of dimension N underlying the communicator comm. This is specified by two Cint arrays of N elements for the number of processes and periodicity properties along each Cartesian dimension. A third Cint array is returned, containing the Cartesian coordinates of the calling process.\n\nExternal links\n\nMPI_Cart_get man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#MPI.Cart_coords","page":"Topology","title":"MPI.Cart_coords","text":"coords = Cart_coords(comm::Comm, rank::Integer=Comm_rank(comm))\n\nDetermine coordinates of a process with rank rank in the Cartesian communicator comm. If no rank is provided, it returns the coordinates of the current process.\n\nReturns an integer array of the 0-based coordinates. The inverse of Cart_rank.\n\nExternal links\n\nMPI_Cart_coords man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#MPI.Cart_rank","page":"Topology","title":"MPI.Cart_rank","text":"rank = Cart_rank(comm::Comm, coords)\n\nDetermine process rank in communicator comm with Cartesian structure.  The coords array specifies the 0-based Cartesian coordinates of the process. This is the inverse of MPI.Cart_coords\n\nExternal links\n\nMPI_Cart_rank man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#MPI.Cart_shift","page":"Topology","title":"MPI.Cart_shift","text":"rank_source, rank_dest = Cart_shift(comm::Comm, direction::Integer, disp::Integer)\n\nReturn the source and destination ranks associated to a shift along a given direction.\n\nExternal links\n\nMPI_Cart_shift man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#MPI.Cart_sub","page":"Topology","title":"MPI.Cart_sub","text":"comm_sub = Cart_sub(comm::Comm, remain_dims)\n\nCreate lower-dimensional Cartesian communicator from existent Cartesian topology.\n\nremain_dims should be a boolean vector specifying the dimensions that should be kept in the generated subgrid.\n\nExternal links\n\nMPI_Cart_sub man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#MPI.Cartdim_get","page":"Topology","title":"MPI.Cartdim_get","text":"ndims = Cartdim_get(comm::Comm)\n\nReturn number of dimensions of the Cartesian topology associated with the communicator comm.\n\nExternal links\n\nMPI_Cartdim_get man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#MPI.Dist_graph_create","page":"Topology","title":"MPI.Dist_graph_create","text":"graph_comm = Dist_graph_create(comm::Comm, sources::Vector{Cint}, degrees::Vector{Cint}, destinations::Vector{Cint}; weights::Union{Vector{Cint}, Unweighted, WeightsEmpty}=UNWEIGHTED, reorder=false, infokws...)\n\nCreate a new communicator from a given directed graph topology, described by incoming and outgoing edges on an existing communicator.\n\nArguments\n\ncomm::Comm: The communicator on which the distributed graph topology should be induced.\nsources::Vector{Cint}: An array with the ranks for which this call will specify outgoing edges.\ndegrees::Vector{Cint}: An array with the number of outgoing edges for each entry in the sources array.\ndestinations::Vector{Cint}: An array containing with lenght of the sum of the entries in the degrees array                               describing the ranks towards the edges point.\nweights::Union{Vector{Cint}, Unweighted, WeightsEmpty}=MPI.UNWEIGHTED: The edge weights of the specified edges.\nreorder::Bool=false: If set true, then the MPI implementation can reorder the source and destination indices.\n\nExample\n\nWe can generate a ring graph 1 --> 2 --> ... --> N --> 1, where N is the number of ranks in the communicator, as follows\n\njulia> rank = MPI.Comm_rank(comm);\njulia> N = MPI.Comm_size(comm);\njulia> sources = Cint[rank];\njulia> degrees = Cint[1];\njulia> destinations = Cint[mod(rank-1, N)];\njulia> graph_comm = Dist_graph_create(comm, sources, degrees, destinations)\n\nExternal links\n\nMPI_Dist_graph_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#MPI.Dist_graph_create_adjacent","page":"Topology","title":"MPI.Dist_graph_create_adjacent","text":"graph_comm = Dist_graph_create_adjacent(comm::Comm, sources::Vector{Cint}, destinations::Vector{Cint}; source_weights::Union{Vector{Cint}, Unweighted, WeightsEmpty}=UNWEIGHTED, destination_weights::Union{Vector{Cint}, Unweighted, WeightsEmpty}=UNWEIGHTED, reorder=false, infokws...)\n\nCreate a new communicator from a given directed graph topology, described by local incoming and outgoing edges on an existing communicator.\n\nArguments\n\ncomm::Comm: The communicator on which the distributed graph topology should be induced.\nsources::Vector{Cint}: The local, incoming edges on the rank of the calling process.\ndestinations::Vector{Cint}: The local, outgoing edges on the rank of the calling process.\nsource_weights::Union{Vector{Cint}, Unweighted, WeightsEmpty}=MPI.UNWEIGHTED: The edge weights of the local, incoming edges.\ndestinations_weights::Union{Vector{Cint}, Unweighted, WeightsEmpty}=MPI.UNWEIGHTED: The edge weights of the local, outgoing edges.\nreorder::Bool=false: If set true, then the MPI implementation can reorder the source and destination indices.\n\nExample\n\nWe can generate a ring graph 1 --> 2 --> ... --> N --> 1, where N is the number of ranks in the communicator, as follows\n\njulia> rank = MPI.Comm_rank(comm);\njulia> N = MPI.Comm_size(comm);\njulia> sources = Cint[mod(rank-1, N)];\njulia> destinations = Cint[mod(rank+1, N)];\njulia> graph_comm = Dist_graph_create_adjacent(comm, sources, destinations);\n\nExternal links\n\nMPI_Dist_graph_create_adjacent man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#MPI.Dist_graph_neighbors_count","page":"Topology","title":"MPI.Dist_graph_neighbors_count","text":"indegree, outdegree, weighted = Dist_graph_neighbors_count(graph_comm::Comm)\n\nReturn the number of in and out edges for the calling processes in a distributed graph topology and a flag indicating whether the distributed graph is weighted.\n\nArguments\n\ngraph_comm::Comm: The communicator of the distributed graph topology.\n\nExample\n\nLet us assume the following graph 0 <--> 1 --> 2, which has no weights on its edges, then the process with rank 1 will obtain the following result from calling the function\n\njulia> Dist_graph_neighbors_count(graph_comm)\n(1,2,false)\n\nExternal links\n\nMPI_Dist_graph_neighbors_count man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#MPI.Dist_graph_neighbors!","page":"Topology","title":"MPI.Dist_graph_neighbors!","text":"Dist_graph_neighbors!(graph_comm::Comm, sources::Vector{Cint}, source_weights::Vector{Cint}, destinations::Vector{Cint}, destination_weights::Vector{Cint})\n\nReturn the neighbors and edge weights of the calling process in a distributed graph topology.\n\nArguments\n\ngraph_comm::Comm: The communicator of the distributed graph topology.\nsources::Vector{Cint}: A preallocated vector, which will be filled with the ranks                       of the processes whose edges pointing towards the calling process. The                       length is exactly the indegree returned by MPI.Dist_graph_neighbors_count.\nsource_weights::Vector{Cint}: A preallocated vector, which will be filled with the weights                       associated to the edges pointing towards the calling process. The                       length is exactly the indegree returned by MPI.Dist_graph_neighbors_count.\ndestinations::Vector{Cint}: A preallocated vector, which will be filled with the ranks                       of the processes towards which the edges of the calling process point. The                       length is exactly the outdegree returned by MPI.Dist_graph_neighbors_count.\ndestination_weights::Vector{Cint}: A preallocated vector, which will be filled with the weights                       associated to the edges of the outgoing edges of the calling process point. The                       length is exactly the outdegree returned by MPI.Dist_graph_neighbors_count.\n\nExample\n\nLet us assume the following graph 0 <-3-> 1 -4-> 2, then the process with rank 1 will require to preallocate a sources vector of length 1 and a destination vector of length 2. The call will fill the vectors as follows:\n\njulia> Dist_graph_neighbors!(graph_comm, sources, source_weights, destinations, destination_weights);\njulia> sources\n[0]\njulia> source_weights\n[3]\njulia> destinations\n[0,2]\njulia> destination_weights\n[3,4]\n\nNote that the edge between ranks 0 and 1 can have a different weight depending on wether it is the incoming edge \"(0,1)\" or the outgoing one \"(1,0)\".\n\nExternal links\n\nMPI_Dist_graph_neighbors man page: OpenMPI, MPICH\n\n\n\n\n\nDist_graph_neighbors!(graph_comm::Comm, sources::Vector{Cint}, destinations::Vector{Cint})\n\nReturn the neighbors of the calling process in a distributed graph topology without edge weights.\n\nArguments\n\ngraph_comm::Comm: The communicator of the distributed graph topology.\nsources::Vector{Cint}: A preallocated vector, which will be filled with the ranks of the                       processes whose edges pointing towards the calling process. The                       length is exactly the indegree returned by MPI.Dist_graph_neighbors_count.\ndestinations::Vector{Cint}: A preallocated vector, which will be filled with the ranks                       of the processes towards which the edges of the calling process point. The                       length is exactly the outdegree returned by MPI.Dist_graph_neighbors_count.\n\nExample\n\nLet us assume the following graph 0 <--> 1 --> 2, then the process with rank 1 will require to preallocate a sources vector of length 1 and a destination vector of length 2. The call will fill the vectors as follows:\n\njulia> Dist_graph_neighbors!(graph_comm, sources, destinations);\njulia> sources\n[0]\njulia> destinations\n[0,2]\n\nExternal links\n\nMPI_Dist_graph_neighbors man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"examples/05-job_schedule/","page":"Job Scheduling","title":"Job Scheduling","text":"EditURL = \"https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/05-job_schedule.jl\"","category":"page"},{"location":"examples/05-job_schedule/#Job-Scheduling","page":"Job Scheduling","title":"Job Scheduling","text":"","category":"section"},{"location":"examples/05-job_schedule/","page":"Job Scheduling","title":"Job Scheduling","text":"# examples/05-job_schedule.jl\n# This example demonstrates a job scheduling through adding the\n# number 100 to every component of the vector data. The root\n# assigns one element to each worker to compute the operation.\n# When the worker is finished, the root sends another element\n# until each element is added 100\n# Inspired on\n# https://www.hpc.ntnu.no/ntnu-hpc-group/vilje/user-guide/software/mpi-and-mpi-io-training-tutorial/basic-mpi/job-queue\n\nusing MPI\n\nfunction job_queue(data,f)\n    MPI.Init()\n\n    comm = MPI.COMM_WORLD\n    rank = MPI.Comm_rank(comm)\n    world_size = MPI.Comm_size(comm)\n    nworkers = world_size - 1\n\n    root = 0\n\n    MPI.Barrier(comm)\n    T = eltype(data)\n    N = size(data)[1]\n    send_mesg = Array{T}(undef, 1)\n    recv_mesg = Array{T}(undef, 1)\n\n    if rank == root # I am root\n\n        idx_recv = 0\n        idx_sent = 1\n\n        new_data = Array{T}(undef, N)\n        # Array of workers requests\n        sreqs_workers = Array{MPI.Request}(undef,nworkers)\n        # -1 = start, 0 = channel not available, 1 = channel available\n        status_workers = ones(nworkers).*-1\n\n        # Send message to workers\n        for dst in 1:nworkers\n            if idx_sent > N\n                break\n            end\n            send_mesg[1] = data[idx_sent]\n            sreq = MPI.Isend(send_mesg, comm; dest=dst, tag=dst+32)\n            idx_sent += 1\n            sreqs_workers[dst] = sreq\n            status_workers[dst] = 0\n            print(\"Root: Sent number $(send_mesg[1]) to Worker $dst\\n\")\n        end\n\n        # Send and receive messages until all elements are added\n        while idx_recv != N\n            # Check to see if there is an available message to receive\n            for dst in 1:nworkers\n                if status_workers[dst] == 0\n                    flag = MPI.Test(sreqs_workers[dst])\n                    if flag\n                        status_workers[dst] = 1\n                    end\n                end\n            end\n            for dst in 1:nworkers\n                if status_workers[dst] == 1\n                    ismessage = MPI.Iprobe(comm; source=dst, tag=dst+32)\n                    if ismessage\n                        # Receives message\n                        MPI.Recv!(recv_mesg, comm; source=dst, tag=dst+32)\n                        idx_recv += 1\n                        new_data[idx_recv] = recv_mesg[1]\n                        print(\"Root: Received number $(recv_mesg[1]) from Worker $dst\\n\")\n                        if idx_sent <= N\n                            send_mesg[1] = data[idx_sent]\n                            # Sends new message\n                            sreq = MPI.Isend(send_mesg, comm; dest=dst, tag=dst+32)\n                            idx_sent += 1\n                            sreqs_workers[dst] = sreq\n                            status_workers[dst] = 1\n                            print(\"Root: Sent number $(send_mesg[1]) to Worker $dst\\n\")\n                        end\n                    end\n                end\n            end\n        end\n\n        for dst in 1:nworkers\n            # Termination message to worker\n            send_mesg[1] = -1\n            sreq = MPI.Isend(send_mesg, comm; dest=dst, tag=dst+32)\n            sreqs_workers[dst] = sreq\n            status_workers[dst] = 0\n            print(\"Root: Finish Worker $dst\\n\")\n        end\n\n        MPI.Waitall(sreqs_workers)\n        print(\"Root: New data = $new_data\\n\")\n    else # If rank == worker\n        # -1 = start, 0 = channel not available, 1 = channel available\n        status_worker = -1\n        while true\n            sreqs_workers = Array{MPI.Request}(undef,1)\n            ismessage = MPI.Iprobe(comm; source=root, tag=rank+32)\n\n            if ismessage\n                # Receives message\n                MPI.Recv!(recv_mesg, comm; source=root, tag=rank+32)\n                # Termination message from root\n                if recv_mesg[1] == -1\n                    print(\"Worker $rank: Finish\\n\")\n                    break\n                end\n                print(\"Worker $rank: Received number $(recv_mesg[1]) from root\\n\")\n                # Apply function (add number 100) to array\n                send_mesg = f(recv_mesg)\n                sreq = MPI.Isend(send_mesg, comm; dest=root, tag=rank+32)\n                sreqs_workers[1] = sreq\n                status_worker = 0\n            end\n            # Check to see if there is an available message to receive\n            if status_worker == 0\n                flag = MPI.Test(sreqs_workers[1])\n                if flag\n                    status_worker = 1\n                end\n            end\n        end\n    end\n    MPI.Barrier(comm)\n    MPI.Finalize()\nend\n\nf = x -> x.+100\ndata = collect(1:10)\njob_queue(data,f)","category":"page"},{"location":"examples/05-job_schedule/","page":"Job Scheduling","title":"Job Scheduling","text":"> mpiexecjl -n 4 julia examples/05-job_schedule.jl\nWorker 1: Received number 1 from root\nRoot: Sent number 1 to Worker 1\nRoot: Sent number 2 to Worker 2\nRoot: Sent number 3 to Worker 3\nWorker 3: Received number 3 from root\nRoot: Received number 103 from Worker 3\nRoot: Sent number 4 to Worker 3\nRoot: Received number 101 from Worker 1\nRoot: Sent number 5 to Worker 1\nWorker 3: Received number 4 from root\nWorker 2: Received number 2 from root\nWorker 1: Received number 5 from root\nRoot: Received number 105 from Worker 1\nRoot: Sent number 6 to Worker 1\nRoot: Received number 102 from Worker 2\nRoot: Sent number 7 to Worker 2\nRoot: Received number 104 from Worker 3\nRoot: Sent number 8 to Worker 3\nWorker 3: Received number 8 from root\nRoot: Received number 108 from Worker 3\nRoot: Sent number 9 to Worker 3\nWorker 3: Received number 9 from root\nRoot: Received number 109 from Worker 3\nRoot: Sent number 10 to Worker 3\nWorker 3: Received number 10 from root\nRoot: Received number 110 from Worker 3\nWorker 1: Received number 6 from root\nWorker 2: Received number 7 from root\nRoot: Received number 106 from Worker 1\nRoot: Received number 107 from Worker 2\nRoot: Finish Worker 1\nRoot: Finish Worker 2\nRoot: Finish Worker 3\nWorker 3: Finish\nRoot: New data = [103, 101, 105, 102, 104, 108, 109, 110, 106, 107]\nWorker 2: Finish\nWorker 1: Finish","category":"page"},{"location":"reference/advanced/#Advanced","page":"Advanced","title":"Advanced","text":"","category":"section"},{"location":"reference/advanced/#Object-handling","page":"Advanced","title":"Object handling","text":"","category":"section"},{"location":"reference/advanced/","page":"Advanced","title":"Advanced","text":"MPI.free","category":"page"},{"location":"reference/advanced/#MPI.free","page":"Advanced","title":"MPI.free","text":"MPI.free(obj)\n\nFree the MPI object handle obj. This is typically used as the finalizer, and so need not be called directly unless otherwise noted.\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#Datatype-objects","page":"Advanced","title":"Datatype objects","text":"","category":"section"},{"location":"reference/advanced/","page":"Advanced","title":"Advanced","text":"MPI.Datatype\nMPI.to_type\nMPI.Types.extent\nMPI.Types.create_contiguous\nMPI.Types.create_vector\nMPI.Types.create_hvector\nMPI.Types.create_subarray\nMPI.Types.create_struct\nMPI.Types.create_resized\nMPI.Types.commit!\nMPI.Types.duplicate","category":"page"},{"location":"reference/advanced/#MPI.Datatype","page":"Advanced","title":"MPI.Datatype","text":"Datatype\n\nA Datatype represents the layout of the data in memory.\n\nUsage\n\nDatatype(T)\n\nEither return the predefined Datatype corresponding to T, or create a new Datatype for the Julia type T, calling Types.commit! so that it can be used for communication operations.\n\nNote that this can only be called on types for which isbitstype(T) is true.\n\n\n\n\n\n","category":"type"},{"location":"reference/advanced/#MPI.to_type","page":"Advanced","title":"MPI.to_type","text":"to_type(datatype::Datatype)\n\nReturn the Julia type corresponding to the MPI Datatype datatype, or nothing if it doesn't correspond directly.\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#MPI.Types.extent","page":"Advanced","title":"MPI.Types.extent","text":"lb, extent = MPI.Types.extent(dt::MPI.Datatype)\n\nGets the lowerbound lb and the extent extent in bytes.\n\nExternal links\n\nMPI_Type_get_extent man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#MPI.Types.create_contiguous","page":"Advanced","title":"MPI.Types.create_contiguous","text":"MPI.Types.create_contiguous(count::Integer, oldtype::MPI.Datatype)\n\nCreate a derived Datatype that replicates oldtype into count contiguous locations.\n\nNote that MPI.Types.commit! must be used before the datatype can be used for communication.\n\nExternal links\n\nMPI_Type_contiguous man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#MPI.Types.create_vector","page":"Advanced","title":"MPI.Types.create_vector","text":"MPI.Types.create_vector(count::Integer, blocklength::Integer, stride::Integer, oldtype::MPI.Datatype)\n\nCreate a derived Datatype that replicates oldtype into locations that consist of equally spaced blocks.\n\nNote that MPI.Types.commit! must be used before the datatype can be used for communication.\n\nExample\n\ndatatype = MPI.Types.create_vector(3, 2, 5, MPI.Datatype(Int64))\nMPI.Types.commit!(datatype)\n\nwill create a datatype with the following layout\n\n|<----->|  block length\n\n+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+\n| X | X |   |   |   | X | X |   |   |   | X | X |   |   |   |\n+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+\n\n|<---- stride ----->|\n\nwhere each segment represents an Int64.\n\n(image by Jonathan Dursi, https://stackoverflow.com/a/10788351/392585)\n\nExternal links\n\nMPI_Type_vector man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#MPI.Types.create_hvector","page":"Advanced","title":"MPI.Types.create_hvector","text":"MPI.Types.create_hvector(count::Integer, blocklength::Integer, stride::Integer, oldtype::MPI.Datatype)\n\nCreate a derived Datatype that replicates oldtype into locations that consist of equally spaced (bytes) blocks.\n\nNote that MPI.Types.commit! must be used before the datatype can be used for communication.\n\nExample\n\ndatatype = MPI.Types.create_hvector(3, 2, 5, MPI.Datatype(Int64))\nMPI.Types.commit!(datatype)\n\nExternal links\n\nMPI_Type_create_hvector man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#MPI.Types.create_subarray","page":"Advanced","title":"MPI.Types.create_subarray","text":"MPI.Types.create_subarray(sizes, subsizes, offset, oldtype::Datatype;\n                          rowmajor=false)\n\nCreates a derived Datatype describing an N-dimensional subarray of size subsizes of an N-dimensional array of size sizes and element type oldtype, with the first element offset by offset (i.e. the 0-based index of the first element).\n\nColumn-major indexing (used by Julia and Fortran) is assumed; use the keyword rowmajor=true to specify row-major layout (used by C and numpy).\n\nNote that MPI.Types.commit! must be used before the datatype can be used for communication.\n\nExternal links\n\nMPI_Type_create_subarray man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#MPI.Types.create_struct","page":"Advanced","title":"MPI.Types.create_struct","text":"MPI.Types.create_struct(blocklengths, displacements, types)\n\nCreates a derived Datatype describing a struct layout.\n\nNote that MPI.Types.commit! must be used before the datatype can be used for communication.\n\nExternal links\n\nMPI_Type_create_struct man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#MPI.Types.create_resized","page":"Advanced","title":"MPI.Types.create_resized","text":"MPI.Types.create_resized(oldtype::Datatype, lb::Integer, extent::Integer)\n\nCreates a new Datatype that is identical to oldtype, except that the lower bound of this new datatype is set to be lb, and its upper bound is set to be lb + extent.\n\nNote that MPI.Types.commit! must be used before the datatype can be used for communication.\n\nSee also\n\nMPI.Types.extent\n\nExternal links\n\nMPI_Type_create_resized man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#MPI.Types.commit!","page":"Advanced","title":"MPI.Types.commit!","text":"MPI.Types.commit!(newtype::Datatype)\n\nCommits the Datatype newtype so that it can be used for communication. Returns newtype.\n\nExternal links\n\nMPI_Type_commit man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#MPI.Types.duplicate","page":"Advanced","title":"MPI.Types.duplicate","text":"MPI.Types.duplicate(oldtype::Datatype)\n\nDuplicates the datatype oldtype.\n\nExternal links\n\nMPI_Type_dup man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#Operator-objects","page":"Advanced","title":"Operator objects","text":"","category":"section"},{"location":"reference/advanced/","page":"Advanced","title":"Advanced","text":"MPI.Op","category":"page"},{"location":"reference/advanced/#MPI.Op","page":"Advanced","title":"MPI.Op","text":"Op\n\nAn MPI reduction operator, for use with Reduce/Scan collective operations to wrap binary operators. MPI.jl will perform this conversion automatically.\n\nUsage\n\nOp(op, T=Any; iscommutative=false)\n\nWrap the Julia reduction function op for arguments of type T. op is assumed to be associative, and if iscommutative is true, assumed to be commutative as well.\n\nSee also\n\nReduce!/Reduce\nAllreduce!/Allreduce\nScan!/Scan\nExscan!/Exscan\n\n\n\n\n\n","category":"type"},{"location":"reference/advanced/#Info-objects","page":"Advanced","title":"Info objects","text":"","category":"section"},{"location":"reference/advanced/","page":"Advanced","title":"Advanced","text":"MPI.Info\nMPI.infoval","category":"page"},{"location":"reference/advanced/#MPI.Info","page":"Advanced","title":"MPI.Info","text":"Info <: AbstractDict{Symbol,String}\n\nMPI.Info objects store key-value pairs, and are typically used for passing optional arguments to MPI functions.\n\nUsage\n\nThese will typically be hidden from user-facing APIs by splatting keywords, e.g.\n\nfunction f(args...; kwargs...)\n    info = Info(kwargs...)\n    # pass `info` object to `ccall`\nend\n\nFor manual usage, Info objects act like Julia Dict objects:\n\ninfo = Info(init=true) # keyword argument is required\ninfo[key] = value\nx = info[key]\ndelete!(info, key)\n\nIf init=false is used in the costructor (the default), a \"null\" Info object will be returned: no keys can be added to such an object.\n\n\n\n\n\n","category":"type"},{"location":"reference/advanced/#MPI.infoval","page":"Advanced","title":"MPI.infoval","text":"infoval(x)\n\nConvert Julia object x to a string representation for storing in an Info object.\n\nThe MPI specification allows passing strings, Boolean values, integers, and lists.\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#Error-handler-objects","page":"Advanced","title":"Error handler objects","text":"","category":"section"},{"location":"reference/advanced/","page":"Advanced","title":"Advanced","text":"MPI.Errhandler\nMPI.get_errorhandler\nMPI.set_errorhandler!","category":"page"},{"location":"reference/advanced/#MPI.Errhandler","page":"Advanced","title":"MPI.Errhandler","text":"MPI.Errhandler\n\nAn MPI error handler object. Currently only two are supported:\n\nERRORS_ARE_FATAL (default): program will immediately abort\nERRORS_RETURN: program will throw an MPIError.\n\n\n\n\n\n","category":"type"},{"location":"reference/advanced/#MPI.get_errorhandler","page":"Advanced","title":"MPI.get_errorhandler","text":"MPI.get_errorhandler(comm::MPI.Comm)\nMPI.get_errorhandler(win::MPI.Win)\nMPI.get_errorhandler(file::MPI.File.FileHandle)\n\nGet the current Errhandler for the relevant MPI object.\n\nSee also\n\nset_errorhandler!\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#MPI.set_errorhandler!","page":"Advanced","title":"MPI.set_errorhandler!","text":"MPI.set_errorhandler!(comm::MPI.Comm, errh::Errhandler)\nMPI.set_errorhandler!(win::MPI.Win, errh::Errhandler)\nMPI.set_errorhandler!(file::MPI.File.FileHandle, errh::Errhandler)\n\nSet the Errhandler for the relevant MPI object.\n\nSee also\n\nget_errorhandler\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#Miscellaneous","page":"Advanced","title":"Miscellaneous","text":"","category":"section"},{"location":"reference/advanced/","page":"Advanced","title":"Advanced","text":"MPI.API.@const_ref","category":"page"},{"location":"reference/advanced/#MPI.API.@const_ref","page":"Advanced","title":"MPI.API.@const_ref","text":"@const_ref name T expr\n\nDefines an constant binding\n\nconst name = Ref{T}()\n\nand adds a hook to execute\n\nname[] = expr\n\nat module initialization time.\n\n\n\n\n\n","category":"macro"},{"location":"examples/06-scatterv/","page":"Scatterv and Gatherv","title":"Scatterv and Gatherv","text":"EditURL = \"https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/06-scatterv.jl\"","category":"page"},{"location":"examples/06-scatterv/#Scatterv-and-Gatherv","page":"Scatterv and Gatherv","title":"Scatterv and Gatherv","text":"","category":"section"},{"location":"examples/06-scatterv/","page":"Scatterv and Gatherv","title":"Scatterv and Gatherv","text":"# examples/06-scatterv.jl\n# This example shows how to use MPI.Scatterv! and MPI.Gatherv!\n# roughly based on the example from\n# https://stackoverflow.com/a/36082684/392585\n\nusing MPI\n\n\"\"\"\n    split_count(N::Integer, n::Integer)\n\nReturn a vector of `n` integers which are approximately equally sized and sum to `N`.\n\"\"\"\nfunction split_count(N::Integer, n::Integer)\n    q,r = divrem(N, n)\n    return [i <= r ? q+1 : q for i = 1:n]\nend\n\n\nMPI.Init()\n\ncomm = MPI.COMM_WORLD\nrank = MPI.Comm_rank(comm)\ncomm_size = MPI.Comm_size(comm)\n\nroot = 0\n\nif rank == root\n    M, N = 4, 7\n\n    test = Float64[i for i = 1:M, j = 1:N]\n    output = similar(test)\n    \n    # Julia arrays are stored in column-major order, so we need to split along the last dimension\n    # dimension\n    M_counts = [M for i = 1:comm_size]\n    N_counts = split_count(N, comm_size)\n\n    # store sizes in 2 * comm_size Array\n    sizes = vcat(M_counts', N_counts')\n    size_ubuf = UBuffer(sizes, 2)\n\n    # store number of values to send to each rank in comm_size length Vector\n    counts = vec(prod(sizes, dims=1))\n\n    test_vbuf = VBuffer(test, counts) # VBuffer for scatter\n    output_vbuf = VBuffer(output, counts) # VBuffer for gather\nelse\n    # these variables can be set to `nothing` on non-root processes\n    size_ubuf = UBuffer(nothing)\n    output_vbuf = test_vbuf = VBuffer(nothing)\nend\n\nif rank == root\n    println(\"Original matrix\")\n    println(\"================\")\n    @show test sizes counts\n    println()\n    println(\"Each rank\")\n    println(\"================\")\nend \nMPI.Barrier(comm)\n\nlocal_size = MPI.Scatter(size_ubuf, NTuple{2,Int}, root, comm)\nlocal_test = MPI.Scatterv!(test_vbuf, zeros(Float64, local_size), root, comm)\n\nfor i = 0:comm_size-1\n    if rank == i\n        @show rank local_test\n    end\n    MPI.Barrier(comm)\nend\n\nMPI.Gatherv!(local_test, output_vbuf, root, comm)\n\nif rank == root\n    println()\n    println(\"Final matrix\")\n    println(\"================\")\n    @show output\nend ","category":"page"},{"location":"examples/06-scatterv/","page":"Scatterv and Gatherv","title":"Scatterv and Gatherv","text":"> mpiexecjl -n 4 julia examples/06-scatterv.jl\nOriginal matrix\n================\ntest = [1.0 1.0 1.0 1.0 1.0 1.0 1.0; 2.0 2.0 2.0 2.0 2.0 2.0 2.0; 3.0 3.0 3.0 3.0 3.0 3.0 3.0; 4.0 4.0 4.0 4.0 4.0 4.0 4.0]\nsizes = [4 4 4 4; 2 2 2 1]\ncounts = [8, 8, 8, 4]\n\nEach rank\n================\nrank = 0\nlocal_test = [1.0 1.0; 2.0 2.0; 3.0 3.0; 4.0 4.0]\nrank = 1\nlocal_test = [1.0 1.0; 2.0 2.0; 3.0 3.0; 4.0 4.0]\nrank = 2\nlocal_test = [1.0 1.0; 2.0 2.0; 3.0 3.0; 4.0 4.0]\nrank = 3\nlocal_test = [1.0; 2.0; 3.0; 4.0;;]\n\nFinal matrix\n================\noutput = [1.0 1.0 1.0 1.0 1.0 1.0 1.0; 2.0 2.0 2.0 2.0 2.0 2.0 2.0; 3.0 3.0 3.0 3.0 3.0 3.0 3.0; 4.0 4.0 4.0 4.0 4.0 4.0 4.0]","category":"page"},{"location":"reference/mpipreferences/#MPIPreferences.jl","page":"MPIPreferences.jl","title":"MPIPreferences.jl","text":"","category":"section"},{"location":"reference/mpipreferences/","page":"MPIPreferences.jl","title":"MPIPreferences.jl","text":"MPIPreferences.jl is a small package based on Preferences.jl for selecting MPI implementations. These choices are compile-time constants, and so any changes will require a Julia restart.","category":"page"},{"location":"reference/mpipreferences/#Consts","page":"MPIPreferences.jl","title":"Consts","text":"","category":"section"},{"location":"reference/mpipreferences/","page":"MPIPreferences.jl","title":"MPIPreferences.jl","text":"MPIPreferences.binary\nMPIPreferences.abi","category":"page"},{"location":"reference/mpipreferences/#MPIPreferences.binary","page":"MPIPreferences.jl","title":"MPIPreferences.binary","text":"MPIPreferences.binary :: String\n\nThe currently selected binary. The possible values are\n\n\"MPICH_jll\": use the binary provided by MPICH_jll\n\"OpenMPI_jll\": use the binary provided by OpenMPI_jll\n\"MicrosoftMPI_jll\": use binary provided by MicrosoftMPI_jll\n\"MPItrampoline_jll\": use the binary provided by MPItrampoline_jll\n\"system\": use a system-provided binary.\n\n\n\n\n\n","category":"constant"},{"location":"reference/mpipreferences/#MPIPreferences.abi","page":"MPIPreferences.jl","title":"MPIPreferences.abi","text":"MPIPreferences.abi :: String\n\nThe ABI (application binary interface) of the currently selected binary. Supported values are:\n\n\"MPICH\": MPICH-compatible ABI (https://www.mpich.org/abi/)\n\"OpenMPI\": Open MPI compatible ABI (Open MPI, IBM Spectrum MPI, Fujitsu MPI)\n\"MicrosoftMPI\": Microsoft MPI\n\"MPItrampoline\": MPItrampoline\n\"HPE MPT\": HPE MPT\n\n\n\n\n\n","category":"constant"},{"location":"reference/mpipreferences/#Changing-implementations","page":"MPIPreferences.jl","title":"Changing implementations","text":"","category":"section"},{"location":"reference/mpipreferences/","page":"MPIPreferences.jl","title":"MPIPreferences.jl","text":"MPIPreferences.use_system_binary\nMPIPreferences.use_jll_binary","category":"page"},{"location":"reference/mpipreferences/#MPIPreferences.use_system_binary","page":"MPIPreferences.jl","title":"MPIPreferences.use_system_binary","text":"use_system_binary(;\n    library_names = [\"libmpi\", \"libmpi_ibm\", \"msmpi\", \"libmpich\", \"libmpi_cray\", \"libmpitrampoline\"],\n    mpiexec = \"mpiexec\",\n    abi = nothing,\n    export_prefs = false,\n    force = true)\n\nSwitches the underlying MPI implementation to a system provided one. A restart of Julia is required for the changes to take effect.\n\nOptions:\n\nlibrary_names: a name or collection of names of the MPI library, passed to Libdl.find_library. If the library isn't in the library search path, you can specify the full path to the library.\nmpiexec: the MPI launcher executable. The default is mpiexec, but some clusters require using the scheduler launcher interface (e.g. srun on Slurm, aprun on PBS). It is also possible to pass a Cmd object to include specific command line options.\nabi: the ABI of the MPI library. By default this is determined automatically using identify_abi. See abi for currently supported values.\nexport_prefs: if true, the preferences into the Project.toml instead of LocalPreferences.toml.\nforce: if true, the preferences are set even if they are already set.\n\n\n\n\n\n","category":"function"},{"location":"reference/mpipreferences/#MPIPreferences.use_jll_binary","page":"MPIPreferences.jl","title":"MPIPreferences.use_jll_binary","text":"use_jll_binary([binary]; export_prefs=false, force=true)\n\nSwitches the underlying MPI implementation to one provided by JLL packages. A restart of Julia is required for the changes to take effect.\n\nAvailable options are:\n\n\"MicrosoftMPI_jll\" (Only option and default on Winddows)\n\"MPICH_jll\" (Default on all other platform)\n\"OpenMPI_jll\"\n\"MPItrampoline_jll\"\n\nThe export_prefs option determines whether the preferences being set should be stored within LocalPreferences.toml or Project.toml.\n\n\n\n\n\n","category":"function"},{"location":"reference/mpipreferences/#Utils","page":"MPIPreferences.jl","title":"Utils","text":"","category":"section"},{"location":"reference/mpipreferences/","page":"MPIPreferences.jl","title":"MPIPreferences.jl","text":"MPIPreferences.check_unchanged\nMPIPreferences.identify_abi","category":"page"},{"location":"reference/mpipreferences/#MPIPreferences.check_unchanged","page":"MPIPreferences.jl","title":"MPIPreferences.check_unchanged","text":"MPIPreferences.check_unchanged()\n\nThrows an error if the preferences have been modified in the current Julia session, or if they are modified after this function is called.\n\nThis is should be called from the __init__() function of any package which relies on the values of MPIPreferences.\n\n\n\n\n\n","category":"function"},{"location":"reference/mpipreferences/#MPIPreferences.identify_abi","page":"MPIPreferences.jl","title":"MPIPreferences.identify_abi","text":"identify_abi(libmpi)\n\nIdentify the MPI implementation from the library version string\n\n\n\n\n\n","category":"function"},{"location":"reference/mpipreferences/#Preferences-schema","page":"MPIPreferences.jl","title":"Preferences schema","text":"","category":"section"},{"location":"reference/mpipreferences/","page":"MPIPreferences.jl","title":"MPIPreferences.jl","text":"MPIPreferences utilizes the following keys to store information in the Preferences key-value store.","category":"page"},{"location":"reference/mpipreferences/","page":"MPIPreferences.jl","title":"MPIPreferences.jl","text":"_format: the version number of the schema. Currently only \"1.0\" is supported.\nbinary: the choice of binary. This should be one of the strings listed in MPIPreferences.binary.","category":"page"},{"location":"reference/mpipreferences/","page":"MPIPreferences.jl","title":"MPIPreferences.jl","text":"If binary == \"system\", then the following keys are also required (otherwise they have no effect):","category":"page"},{"location":"reference/mpipreferences/","page":"MPIPreferences.jl","title":"MPIPreferences.jl","text":"libmpi: the filename or path of the MPI dynamic library.\nabi: The ABI of the MPI implementation. This should be one of the strings listed in MPIPreferences.abi.\nmpiexec: either\na string corresponding to the MPI launcher executable\nan array of strings, with the first entry being the executable and remaining entried being additional flags that should be used with the executable.","category":"page"},{"location":"configuration/#Configuration","page":"Configuration","title":"Configuration","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"By default, MPI.jl will download and link against the following MPI implementations:","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Microsoft MPI on Windows\nMPICH on all other platforms","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"This is suitable for most single-node use cases, but for larger systems, such as HPC clusters or multi-GPU machines, you will probably want to configure against a system-provided MPI implementation in order to exploit features such as fast network interfaces and CUDA-aware or ROCm-aware MPI interfaces.","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"The MPIPreferences.jl package allows the user to choose which MPI implementation to use in MPI.jl. It uses Preferences.jl to configure the MPI backend for each project separately. This provides a single source of truth that can be used for JLL packages (Julia packages providing C libraries) that link against MPI. It can be installed by","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"julia --project -e 'using Pkg; Pkg.add(\"MPIPreferences\")'","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"note: Note\nThe way how MPI.jl is configured has changed with MPI.jl v0.20. See Migration from MPI.jl v0.19 or earlier for more information on how to migrate your configuration from earlier MPI.jl versions.","category":"page"},{"location":"configuration/#Using-a-system-provided-MPI-backend","page":"Configuration","title":"Using a system-provided MPI backend","text":"","category":"section"},{"location":"configuration/#Requirements","page":"Configuration","title":"Requirements","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"MPI.jl requires a shared library installation of a C MPI library, supporting the MPI 3.0 standard or later. The following MPI implementations should work out-of-the-box with MPI.jl:","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Open MPI\nMPICH (v3.1 or later)\nIntel MPI\nMicrosoft MPI\nIBM Spectrum MPI\nMVAPICH\nCray MPICH\nFujitsu MPI\nHPE MPT/HMPT","category":"page"},{"location":"configuration/#configure_system_binary","page":"Configuration","title":"Configuration","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Run MPIPreferences.use_system_binary(). This will attempt to locate and to identify any available MPI implementation, and create a file called LocalPreferences.toml adjacent to the current Project.toml.","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"julia --project -e 'using MPIPreferences; MPIPreferences.use_system_binary()'","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"If the implementation is changed, you will need to call this function again. See the MPIPreferences.use_system_binary documentation for specific options.","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"note: Note\nYou can copy LocalPreferences.toml to a different project folder, but you must list MPIPreferences in the [extras] or [deps] section of the Project.toml for the settings to take effect.","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"note: Note\nDue to a bug in Julia (until v1.6.5 and v1.7.1), getting preferences from transitive dependencies is broken (Preferences.jl#24). To fix this update your version of Julia, or add MPIPreferences as a direct dependency to your project.","category":"page"},{"location":"configuration/#Notes-to-HPC-cluster-administrators","page":"Configuration","title":"Notes to HPC cluster administrators","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Preferences are merged across the Julia load path, such that it is feasible to provide a module file that appends a path to JULIA_LOAD_PATH variable that contains system-wide preferences. The steps are as follows:","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Run MPIPreferences.use_system_binary(), which will generate a file LocalPreferences.toml containing something like the following:\n[MPIPreferences]\n_format = \"1.0\"\nabi = \"OpenMPI\"\nbinary = \"system\"\nlibmpi = \"/software/mpi/lib/libmpi.so\"\nmpiexec = \"/software/mpi/bin/mpiexec\"\nCreate a file called Project.toml or JuliaProject.toml in a central location, for example /software/mpi/julia or in the same directory as the MPI library module, and add the following contents:\n[extras]\nMPIPreferences = \"3da0fdf6-3ccc-4f1b-acd9-58baa6c99267\"\n\n[preferences.MPIPreferences]\n_format = \"1.0\"\nabi = \"OpenMPI\"\nbinary = \"system\"\nlibmpi = \"/software/mpi/lib/libmpi.so\"\nmpiexec = \"/software/mpi/bin/mpiexec\"\nupdating the contents of the [preferences.MPIPreferences] section match those of the [MPIPreferences] in LocalPreferences.toml.\nAppend the directory containing the file to the JULIA_LOAD_PATH environment variable, with a colon (:) separator.\nIf this variable is not already set, it should be prefixed with a colon to ensure correct behavior of the Julia load path, e.g. JULIA_LOAD_PATH=\":/software/mpi/julia\". If using environment modules, this can be achieved with\nappend-path -d {} JULIA_LOAD_PATH :/software/mpi/julia\nin the corresponding module file (preferably the module file for the MPI installation or for Julia).\nThe user can still provide differing MPI configurations for each Julia project that will take precedent by modifying the local Project.toml or by providing a LocalPreferences.toml file.","category":"page"},{"location":"configuration/#configure_jll_binary","page":"Configuration","title":"Using an alternative JLL-provided MPI library","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"The following MPI implementations are provided as JLL packages and automatically obtained when installing MPI.jl:","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"MicrosoftMPI_jll: Microsoft MPI Default for Windows\nMPICH_jll: MPICH. Default for all other systems\nOpenMPI_jll: Open MPI\nMPItrampoline_jll: MPItrampoline: an MPI forwarding layer.","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Call MPIPreferences.use_jll_binary, for example","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"julia --project -e 'using MPIPreferences; MPIPreferences.use_jll_binary(\"MPItrampoline_jll\")'","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"If you omit the JLL binary name, the default is selected for the respective operating system.","category":"page"},{"location":"configuration/#Configuration-of-the-MPI.jl-testsuite","page":"Configuration","title":"Configuration of the MPI.jl testsuite","text":"","category":"section"},{"location":"configuration/#Testing-against-a-different-MPI-implementation","page":"Configuration","title":"Testing against a different MPI implementation","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"The LocalPreferences.toml must be located within the test folder, you can either create it in place or copy it into place.","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"~/MPI> julia --project=test\njulia> using MPIPreferences\njulia> MPIPreferences.use_system_binary()\n~/MPI> rm test/Manifest.toml\n~/MPI> julia --project\n(MPI) pkg> test","category":"page"},{"location":"configuration/#Environment-variables","page":"Configuration","title":"Environment variables","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"The test suite can also be modified by the following variables:","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"JULIA_MPI_TEST_NPROCS: How many ranks to use within the tests\nJULIA_MPI_TEST_ARRAYTYPE: Set to CuArray or ROCArray to test the CUDA-aware interface with CUDA.CuArray or the ROCm-aware interface with AMDGPU.ROCArray or buffers.\nJULIA_MPI_TEST_BINARY: Check that the specified MPI binary is used for the tests\nJULIA_MPI_TEST_ABI: Check that the specified MPI ABI is used for the tests","category":"page"},{"location":"configuration/#Migration-from-MPI.jl-v0.19-or-earlier","page":"Configuration","title":"Migration from MPI.jl v0.19 or earlier","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"For MPI.jl v0.20, environment variables were used to configure which MPI library to use. These have been removed and no longer have any effect. The following subsections explain how to the same effects can be achieved with v0.20 or later.","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"note: Note\nPlease refer to Notes to HPC cluster administrators if you want to migrate your MPI.jl preferences on a cluster with a centrally managed MPI.jl configuration.","category":"page"},{"location":"configuration/#JULIA_MPI_BINARY","page":"Configuration","title":"JULIA_MPI_BINARY","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Use MPIPreferences.use_system_binary to use a system-provided MPI binary as described here. To switch back or select a different JLL-provided MPI binary, use MPIPreferences.use_jll_binary as described here.","category":"page"},{"location":"configuration/#JULIA_MPI_PATH","page":"Configuration","title":"JULIA_MPI_PATH","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Removed without replacement.","category":"page"},{"location":"configuration/#JULIA_MPI_LIBRARY","page":"Configuration","title":"JULIA_MPI_LIBRARY","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Use MPIPreferences.use_system_binary with keyword argument library_names to specify possible, non-standard library names. Alternatively, you can also specify the full path to the library.","category":"page"},{"location":"configuration/#JULIA_MPI_ABI","page":"Configuration","title":"JULIA_MPI_ABI","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Use MPIPreferences.use_system_binary with keyword argument abi to specify which ABI to use. See MPIPreferences.abi for possible values.","category":"page"},{"location":"configuration/#JULIA_MPIEXEC","page":"Configuration","title":"JULIA_MPIEXEC","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Use MPIPreferences.use_system_binary with keyword argument mpiexec to specify the MPI launcher executable.","category":"page"},{"location":"configuration/#JULIA_MPIEXEC_ARGS","page":"Configuration","title":"JULIA_MPIEXEC_ARGS","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Use MPIPreferences.use_system_binary with keyword argument mpiexec, and pass a Cmd object to set the MPI launcher executable and to include specific command line options.","category":"page"},{"location":"configuration/#JULIA_MPI_INCLUDE_PATH","page":"Configuration","title":"JULIA_MPI_INCLUDE_PATH","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Removed without replacement. Automatic generation of a constants file for unknown MPI ABIs is not supported anymore. See also #574.","category":"page"},{"location":"configuration/#JULIA_MPI_CFLAGS","page":"Configuration","title":"JULIA_MPI_CFLAGS","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Removed without replacement. Automatic generation of a constants file for unknown MPI ABIs is not supported anymore. See also #574.","category":"page"},{"location":"configuration/#JULIA_MPICC","page":"Configuration","title":"JULIA_MPICC","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Removed without replacement. Automatic generation of a constants file for unknown MPI ABIs is not supported anymore. See also #574.","category":"page"},{"location":"refindex/#Index","page":"Index","title":"Index","text":"","category":"section"},{"location":"refindex/","page":"Index","title":"Index","text":"","category":"page"},{"location":"examples/02-broadcast/","page":"Broadcast","title":"Broadcast","text":"EditURL = \"https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/02-broadcast.jl\"","category":"page"},{"location":"examples/02-broadcast/#Broadcast","page":"Broadcast","title":"Broadcast","text":"","category":"section"},{"location":"examples/02-broadcast/","page":"Broadcast","title":"Broadcast","text":"# examples/02-broadcast.jl\nimport MPI\nMPI.Init()\n\ncomm = MPI.COMM_WORLD\nN = 5\nroot = 0\n\nif MPI.Comm_rank(comm) == root\n    print(\" Running on $(MPI.Comm_size(comm)) processes\\n\")\nend\nMPI.Barrier(comm)\n\nif MPI.Comm_rank(comm) == root\n    A = [i*(1.0 + im*2.0) for i = 1:N]\nelse\n    A = Array{ComplexF64}(undef, N)\nend\n\nMPI.Bcast!(A, root, comm)\n\nprint(\"rank = $(MPI.Comm_rank(comm)), A = $A\\n\")\n\nif MPI.Comm_rank(comm) == root\n    B = Dict(\"foo\" => \"bar\")\nelse\n    B = nothing\nend\n\nB = MPI.bcast(B, root, comm)\nprint(\"rank = $(MPI.Comm_rank(comm)), B = $B\\n\")\n\nif MPI.Comm_rank(comm) == root\n    f = x -> x^2 + 2x - 1\nelse\n    f = nothing\nend\n\nf = MPI.bcast(f, root, comm)\nprint(\"rank = $(MPI.Comm_rank(comm)), f(3) = $(f(3))\\n\")","category":"page"},{"location":"examples/02-broadcast/","page":"Broadcast","title":"Broadcast","text":"> mpiexecjl -n 4 julia examples/02-broadcast.jl\n Running on 4 processes\nrank = 0, A = ComplexF64[1.0 + 2.0im, 2.0 + 4.0im, 3.0 + 6.0im, 4.0 + 8.0im, 5.0 + 10.0im]\nrank = 3, A = ComplexF64[1.0 + 2.0im, 2.0 + 4.0im, 3.0 + 6.0im, 4.0 + 8.0im, 5.0 + 10.0im]\nrank = 1, A = ComplexF64[1.0 + 2.0im, 2.0 + 4.0im, 3.0 + 6.0im, 4.0 + 8.0im, 5.0 + 10.0im]\nrank = 2, A = ComplexF64[1.0 + 2.0im, 2.0 + 4.0im, 3.0 + 6.0im, 4.0 + 8.0im, 5.0 + 10.0im]\nrank = 0, B = Dict(\"foo\" => \"bar\")\nrank = 3, B = Dict(\"foo\" => \"bar\")\nrank = 1, B = Dict(\"foo\" => \"bar\")\nrank = 2, B = Dict(\"foo\" => \"bar\")\nrank = 0, f(3) = 14\nrank = 1, f(3) = 14\nrank = 3, f(3) = 14\nrank = 2, f(3) = 14","category":"page"},{"location":"examples/03-reduce/","page":"Reduce","title":"Reduce","text":"EditURL = \"https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/03-reduce.jl\"","category":"page"},{"location":"examples/03-reduce/#Reduce","page":"Reduce","title":"Reduce","text":"","category":"section"},{"location":"examples/03-reduce/","page":"Reduce","title":"Reduce","text":"# examples/03-reduce.jl\n# This example shows how to use custom datatypes and reduction operators\n# It computes the variance in parallel in a numerically stable way\n\nusing MPI, Statistics\n\nMPI.Init()\nconst comm = MPI.COMM_WORLD\nconst root = 0\n\n# Define a custom struct\n# This contains the summary statistics (mean, variance, length) of a vector\nstruct SummaryStat\n    mean::Float64\n    var::Float64\n    n::Float64\nend\nfunction SummaryStat(X::AbstractArray)\n    m = mean(X)\n    v = varm(X,m, corrected=false)\n    n = length(X)\n    SummaryStat(m,v,n)\nend\n\n# Define a custom reduction operator\n# this computes the pooled mean, pooled variance and total length\nfunction pool(S1::SummaryStat, S2::SummaryStat)\n    n = S1.n + S2.n\n    m = (S1.mean*S1.n + S2.mean*S2.n) / n\n    v = (S1.n * (S1.var + S1.mean * (S1.mean-m)) +\n         S2.n * (S2.var + S2.mean * (S2.mean-m)))/n\n    SummaryStat(m,v,n)\nend\n\nX = randn(10,3) .* [1,3,7]'\n\n# Perform a scalar reduction\nsumm = MPI.Reduce(SummaryStat(X), pool, root, comm)\n\nif MPI.Comm_rank(comm) == root\n    @show summ.var\nend\n\n# Perform a vector reduction:\n# the reduction operator is applied elementwise\ncol_summ = MPI.Reduce(mapslices(SummaryStat,X,dims=1), pool, root, comm)\n\nif MPI.Comm_rank(comm) == root\n    col_var = map(summ -> summ.var, col_summ)\n    @show col_var\nend","category":"page"},{"location":"examples/03-reduce/","page":"Reduce","title":"Reduce","text":"> mpiexecjl -n 4 julia examples/03-reduce.jl\nsumm.var = 14.93603327968865\ncol_var = [0.9409436034175591 7.445086796768317 36.200059808065156]","category":"page"},{"location":"usage/#Usage","page":"Usage","title":"Usage","text":"","category":"section"},{"location":"usage/","page":"Usage","title":"Usage","text":"MPI is based on a single program, multiple data (SPMD) model, where multiple processes are launched running independent programs, which then communicate as necessary via messages.","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"As the main entry point for users, MPI.jl provides a high-level interface which loosely follows the MPI C API and is described in details in the following sections. The syntax should look familiar if you know MPI already, but some arguments may not be needed (e.g. the type or the number of elements of arrays, which are inferred automatically), others may be placed slightly differently, and others may be optional keyword arguments (e.g. for the index of the root process, or the source and destination of point-to-point communication functions).","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"In addition to the high-level interface, MPI.jl provides a low-level API which closely matches the MPI C API and from which it has been automatically generated. This is not intended for general usage, but it can be employed if a high-level wrapper is not yet available.","category":"page"},{"location":"usage/#Basic-example","page":"Usage","title":"Basic example","text":"","category":"section"},{"location":"usage/","page":"Usage","title":"Usage","text":"A script should include using MPI and MPI.Init() statements before calling any MPI operations, for example","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"# examples/01-hello.jl\nusing MPI\nMPI.Init()\n\ncomm = MPI.COMM_WORLD\nprintln(\"Hello world, I am $(MPI.Comm_rank(comm)) of $(MPI.Comm_size(comm))\")\nMPI.Barrier(comm)","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"Calling MPI.Finalize() at the end of the program is optional, as it will be called automatically when Julia exits.","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"The program can then be launched via an MPI launch command (typically mpiexec, mpirun or srun), e.g.","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"$ mpiexec -n 3 julia --project examples/01-hello.jl\nHello world, I am rank 0 of 3\nHello world, I am rank 2 of 3\nHello world, I am rank 1 of 3","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"The mpiexec function is provided for launching MPI programs from Julia itself.","category":"page"},{"location":"usage/#Julia-wrapper-for-mpiexec","page":"Usage","title":"Julia wrapper for mpiexec","text":"","category":"section"},{"location":"usage/","page":"Usage","title":"Usage","text":"Since you can configure MPI.jl to use one of several MPI implementations, you may have different Julia projects using different implementation.  Thus, it may be cumbersome to find out which mpiexec executable is associated to a specific project.  To make this easy, on Unix-based systems MPI.jl comes with a thin project-aware wrapper around mpiexec, called mpiexecjl.","category":"page"},{"location":"usage/#Installation","page":"Usage","title":"Installation","text":"","category":"section"},{"location":"usage/","page":"Usage","title":"Usage","text":"You can install mpiexecjl with MPI.install_mpiexecjl().  The default destination directory is joinpath(DEPOT_PATH[1], \"bin\"), which usually translates to ~/.julia/bin, but check the value on your system.  You can also tell MPI.install_mpiexecjl to install to a different directory.","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"$ julia\njulia> using MPI\njulia> MPI.install_mpiexecjl()","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"To quickly call this wrapper we recommend you to add the destination directory to your PATH environment variable.","category":"page"},{"location":"usage/#Usage-2","page":"Usage","title":"Usage","text":"","category":"section"},{"location":"usage/","page":"Usage","title":"Usage","text":"mpiexecjl has the same syntax as the mpiexec binary that will be called, but it takes in addition a --project option to call the specific binary associated to the MPI.jl version in the given project.  If no --project flag is used, the MPI.jl in the global Julia environment will be used instead.","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"After installing mpiexecjl and adding its directory to PATH, you can run it with:","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"$ mpiexecjl --project=/path/to/project -n 20 julia script.jl","category":"page"},{"location":"usage/#CUDA-aware-MPI-support","page":"Usage","title":"CUDA-aware MPI support","text":"","category":"section"},{"location":"usage/","page":"Usage","title":"Usage","text":"If your MPI implementation has been compiled with CUDA support, then CUDA.CuArrays (from the CUDA.jl package) can be passed directly as send and receive buffers for point-to-point and collective operations (they may also work with one-sided operations, but these are not often supported).","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"Successfully running the alltoall_test_cuda.jl  should confirm your MPI implementation to have the CUDA support enabled. Moreover, successfully running the  alltoall_test_cuda_multigpu.jl should confirm  your CUDA-aware MPI implementation to use multiple Nvidia GPUs (one GPU per rank).","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"If using OpenMPI, the status of CUDA support can be checked via the MPI.has_cuda() function.","category":"page"},{"location":"usage/#ROCm-aware-MPI-support","page":"Usage","title":"ROCm-aware MPI support","text":"","category":"section"},{"location":"usage/","page":"Usage","title":"Usage","text":"If your MPI implementation has been compiled with ROCm support (AMDGPU), then AMDGPU.ROCArrays (from the AMDGPU.jl package) can be passed directly as send and receive buffers for point-to-point and collective operations (they may also work with one-sided operations, but these are not often supported).","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"Successfully running the alltoall_test_rocm.jl  should confirm your MPI implementation to have the ROCm support (AMDGPU) enabled. Moreover, successfully running the  alltoall_test_rocm_multigpu.jl should confirm  your ROCm-aware MPI implementation to use multiple AMD GPUs (one GPU per rank).","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"The status of ROCm (AMDGPU) support cannot currently be queried.","category":"page"},{"location":"usage/#Writing-MPI-tests","page":"Usage","title":"Writing MPI tests","text":"","category":"section"},{"location":"usage/","page":"Usage","title":"Usage","text":"It is recommended to use the mpiexec() wrapper when writing your package tests in runtests.jl:","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"# test/runtests.jl\nusing MPI\nusing Test\n\n@testset \"hello\" begin\n    n = 2  # number of processes\n    mpiexec() do exe  # MPI wrapper\n        run(`$exe -n $n $(Base.julia_cmd()) [...]/01-hello.jl`)\n        # alternatively:\n        # p = run(ignorestatus(`...`))\n        # @test success(p)\n    end\nend","category":"page"},{"location":"reference/library/#Library-information","page":"Library information","title":"Library information","text":"","category":"section"},{"location":"reference/library/#Constants","page":"Library information","title":"Constants","text":"","category":"section"},{"location":"reference/library/","page":"Library information","title":"Library information","text":"MPI.MPI_VERSION\nMPI.MPI_LIBRARY\nMPI.MPI_LIBRARY_VERSION\nMPI.MPI_LIBRARY_VERSION_STRING","category":"page"},{"location":"reference/library/#MPI.MPI_VERSION","page":"Library information","title":"MPI.MPI_VERSION","text":"MPI_VERSION :: VersionNumber\n\nThe supported version of the MPI standard.\n\nExternal links\n\nMPI_Get_version man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"constant"},{"location":"reference/library/#MPI.MPI_LIBRARY","page":"Library information","title":"MPI.MPI_LIBRARY","text":"MPI_LIBRARY :: String\n\nThe current MPI implementation: this is determined by\n\n\n\n\n\n","category":"constant"},{"location":"reference/library/#MPI.MPI_LIBRARY_VERSION","page":"Library information","title":"MPI.MPI_LIBRARY_VERSION","text":"MPI_LIBRARY_VERSION :: VersionNumber\n\nThe version of the MPI library\n\n\n\n\n\n","category":"constant"},{"location":"reference/library/#MPI.MPI_LIBRARY_VERSION_STRING","page":"Library information","title":"MPI.MPI_LIBRARY_VERSION_STRING","text":"MPI_LIBRARY_VERSION_STRING :: String\n\nThe full version string provided by the library\n\nExternal links\n\nMPI_Get_library_version man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"constant"},{"location":"reference/library/#Functions","page":"Library information","title":"Functions","text":"","category":"section"},{"location":"reference/library/","page":"Library information","title":"Library information","text":"MPI.has_cuda\nMPI.identify_implementation","category":"page"},{"location":"reference/library/#MPI.has_cuda","page":"Library information","title":"MPI.has_cuda","text":"MPI.has_cuda()\n\nCheck if the MPI implementation is known to have CUDA support. Currently only Open MPI provides a mechanism to check, so it will return false with other implementations (unless overriden).\n\nThis can be overriden by setting the JULIA_MPI_HAS_CUDA environment variable to true or false.\n\n\n\n\n\n","category":"function"},{"location":"reference/library/#MPI.identify_implementation","page":"Library information","title":"MPI.identify_implementation","text":"impl, version = identify_implementation()\n\nAttempt to identify the MPI implementation based on MPI_LIBRARY_VERSION_STRING. Returns a triple of values:\n\nimpl: a String with the name of the MPI implementation, or \"unknown\" if it cannot be determined,\nversion: a VersionNumber of the library, or nothing if it cannot be determined.\n\nThis function is only intended for internal use. Users should use MPI_LIBRARY, MPI_LIBRARY_VERSION.\n\n\n\n\n\n","category":"function"},{"location":"examples/01-hello/","page":"Hello world","title":"Hello world","text":"EditURL = \"https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/01-hello.jl\"","category":"page"},{"location":"examples/01-hello/#Hello-world","page":"Hello world","title":"Hello world","text":"","category":"section"},{"location":"examples/01-hello/","page":"Hello world","title":"Hello world","text":"# examples/01-hello.jl\nusing MPI\nMPI.Init()\n\ncomm = MPI.COMM_WORLD\nprint(\"Hello world, I am rank $(MPI.Comm_rank(comm)) of $(MPI.Comm_size(comm))\\n\")\nMPI.Barrier(comm)","category":"page"},{"location":"examples/01-hello/","page":"Hello world","title":"Hello world","text":"> mpiexecjl -n 4 julia examples/01-hello.jl\nHello world, I am rank 3 of 4\nHello world, I am rank 0 of 4\nHello world, I am rank 2 of 4\nHello world, I am rank 1 of 4","category":"page"},{"location":"reference/misc/#Miscellanea","page":"Miscellanea","title":"Miscellanea","text":"","category":"section"},{"location":"reference/misc/#Functions","page":"Miscellanea","title":"Functions","text":"","category":"section"},{"location":"reference/misc/","page":"Miscellanea","title":"Miscellanea","text":"MPI.Get_processor_name","category":"page"},{"location":"reference/misc/#MPI.Get_processor_name","page":"Miscellanea","title":"MPI.Get_processor_name","text":"Get_processor_name()\n\nReturn the name of the processor, as a String.\n\nExternal links\n\nMPI_Get_processor_name man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/api/#Low-level-API","page":"Low-level API","title":"Low-level API","text":"","category":"section"},{"location":"reference/api/","page":"Low-level API","title":"Low-level API","text":"The MPI.API submodule provides a low-level interface which closely matches the MPI C API. While these functions are not intended for general usage, they are useful for calling MPI routines not yet available in MPI.jl main interface, and is the basis for the high-level wrappers. The methods suffixed with _c allow MPI_count typed arguments (vs int for the standard ones). The size of MPI_count depends on the implementation, but usually allows 64bit integer offsets.","category":"page"},{"location":"reference/api/","page":"Low-level API","title":"Low-level API","text":"Modules = [MPI.API]\nOrder = [:function]","category":"page"},{"location":"reference/api/#MPI.API.MPI_Abort-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Abort","text":"MPI_Abort(comm, errorcode)\n\nMPI_Abort man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Accumulate-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Accumulate","text":"MPI_Accumulate(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win)\n\nMPI_Accumulate man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Accumulate_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Accumulate_c","text":"MPI_Accumulate_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win)\n\nMPI_Accumulate_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Add_error_class-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Add_error_class","text":"MPI_Add_error_class(errorclass)\n\nMPI_Add_error_class man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Add_error_code-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Add_error_code","text":"MPI_Add_error_code(errorclass, errorcode)\n\nMPI_Add_error_code man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Add_error_string-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Add_error_string","text":"MPI_Add_error_string(errorcode, string)\n\nMPI_Add_error_string man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Address-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Address","text":"MPI_Address(location, address)\n\nMPI_Address man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Aint_add-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Aint_add","text":"MPI_Aint_add(base, disp)\n\nMPI_Aint_add man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Aint_diff-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Aint_diff","text":"MPI_Aint_diff(addr1, addr2)\n\nMPI_Aint_diff man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Allgather-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Allgather","text":"MPI_Allgather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)\n\nMPI_Allgather man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Allgather_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Allgather_c","text":"MPI_Allgather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)\n\nMPI_Allgather_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Allgather_init-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Allgather_init","text":"MPI_Allgather_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)\n\nMPI_Allgather_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Allgather_init_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Allgather_init_c","text":"MPI_Allgather_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)\n\nMPI_Allgather_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Allgatherv-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Allgatherv","text":"MPI_Allgatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm)\n\nMPI_Allgatherv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Allgatherv_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Allgatherv_c","text":"MPI_Allgatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm)\n\nMPI_Allgatherv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Allgatherv_init-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Allgatherv_init","text":"MPI_Allgatherv_init(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request)\n\nMPI_Allgatherv_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Allgatherv_init_c-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Allgatherv_init_c","text":"MPI_Allgatherv_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request)\n\nMPI_Allgatherv_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Alloc_mem-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Alloc_mem","text":"MPI_Alloc_mem(size, info, baseptr)\n\nMPI_Alloc_mem man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Allreduce-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Allreduce","text":"MPI_Allreduce(sendbuf, recvbuf, count, datatype, op, comm)\n\nMPI_Allreduce man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Allreduce_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Allreduce_c","text":"MPI_Allreduce_c(sendbuf, recvbuf, count, datatype, op, comm)\n\nMPI_Allreduce_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Allreduce_init-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Allreduce_init","text":"MPI_Allreduce_init(sendbuf, recvbuf, count, datatype, op, comm, info, request)\n\nMPI_Allreduce_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Allreduce_init_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Allreduce_init_c","text":"MPI_Allreduce_init_c(sendbuf, recvbuf, count, datatype, op, comm, info, request)\n\nMPI_Allreduce_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Alltoall-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Alltoall","text":"MPI_Alltoall(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)\n\nMPI_Alltoall man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Alltoall_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Alltoall_c","text":"MPI_Alltoall_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)\n\nMPI_Alltoall_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Alltoall_init-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Alltoall_init","text":"MPI_Alltoall_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)\n\nMPI_Alltoall_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Alltoall_init_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Alltoall_init_c","text":"MPI_Alltoall_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)\n\nMPI_Alltoall_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Alltoallv-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Alltoallv","text":"MPI_Alltoallv(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm)\n\nMPI_Alltoallv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Alltoallv_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Alltoallv_c","text":"MPI_Alltoallv_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm)\n\nMPI_Alltoallv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Alltoallv_init-NTuple{11, Any}","page":"Low-level API","title":"MPI.API.MPI_Alltoallv_init","text":"MPI_Alltoallv_init(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request)\n\nMPI_Alltoallv_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Alltoallv_init_c-NTuple{11, Any}","page":"Low-level API","title":"MPI.API.MPI_Alltoallv_init_c","text":"MPI_Alltoallv_init_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request)\n\nMPI_Alltoallv_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Alltoallw-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Alltoallw","text":"MPI_Alltoallw(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm)\n\nMPI_Alltoallw man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Alltoallw_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Alltoallw_c","text":"MPI_Alltoallw_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm)\n\nMPI_Alltoallw_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Alltoallw_init-NTuple{11, Any}","page":"Low-level API","title":"MPI.API.MPI_Alltoallw_init","text":"MPI_Alltoallw_init(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request)\n\nMPI_Alltoallw_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Alltoallw_init_c-NTuple{11, Any}","page":"Low-level API","title":"MPI.API.MPI_Alltoallw_init_c","text":"MPI_Alltoallw_init_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request)\n\nMPI_Alltoallw_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Attr_delete-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Attr_delete","text":"MPI_Attr_delete(comm, keyval)\n\nMPI_Attr_delete man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Attr_get-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Attr_get","text":"MPI_Attr_get(comm, keyval, attribute_val, flag)\n\nMPI_Attr_get man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Attr_put-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Attr_put","text":"MPI_Attr_put(comm, keyval, attribute_val)\n\nMPI_Attr_put man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Barrier-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Barrier","text":"MPI_Barrier(comm)\n\nMPI_Barrier man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Barrier_init-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Barrier_init","text":"MPI_Barrier_init(comm, info, request)\n\nMPI_Barrier_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Bcast-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Bcast","text":"MPI_Bcast(buffer, count, datatype, root, comm)\n\nMPI_Bcast man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Bcast_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Bcast_c","text":"MPI_Bcast_c(buffer, count, datatype, root, comm)\n\nMPI_Bcast_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Bcast_init-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Bcast_init","text":"MPI_Bcast_init(buffer, count, datatype, root, comm, info, request)\n\nMPI_Bcast_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Bcast_init_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Bcast_init_c","text":"MPI_Bcast_init_c(buffer, count, datatype, root, comm, info, request)\n\nMPI_Bcast_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Bsend-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Bsend","text":"MPI_Bsend(buf, count, datatype, dest, tag, comm)\n\nMPI_Bsend man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Bsend_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Bsend_c","text":"MPI_Bsend_c(buf, count, datatype, dest, tag, comm)\n\nMPI_Bsend_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Bsend_init-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Bsend_init","text":"MPI_Bsend_init(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Bsend_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Bsend_init_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Bsend_init_c","text":"MPI_Bsend_init_c(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Bsend_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Buffer_attach-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Buffer_attach","text":"MPI_Buffer_attach(buffer, size)\n\nMPI_Buffer_attach man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Buffer_attach_c-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Buffer_attach_c","text":"MPI_Buffer_attach_c(buffer, size)\n\nMPI_Buffer_attach_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Buffer_detach-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Buffer_detach","text":"MPI_Buffer_detach(buffer_addr, size)\n\nMPI_Buffer_detach man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Buffer_detach_c-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Buffer_detach_c","text":"MPI_Buffer_detach_c(buffer_addr, size)\n\nMPI_Buffer_detach_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Cancel-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Cancel","text":"MPI_Cancel(request)\n\nMPI_Cancel man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Cart_coords-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Cart_coords","text":"MPI_Cart_coords(comm, rank, maxdims, coords)\n\nMPI_Cart_coords man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Cart_create-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Cart_create","text":"MPI_Cart_create(comm_old, ndims, dims, periods, reorder, comm_cart)\n\nMPI_Cart_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Cart_get-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Cart_get","text":"MPI_Cart_get(comm, maxdims, dims, periods, coords)\n\nMPI_Cart_get man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Cart_map-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Cart_map","text":"MPI_Cart_map(comm, ndims, dims, periods, newrank)\n\nMPI_Cart_map man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Cart_rank-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Cart_rank","text":"MPI_Cart_rank(comm, coords, rank)\n\nMPI_Cart_rank man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Cart_shift-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Cart_shift","text":"MPI_Cart_shift(comm, direction, disp, rank_source, rank_dest)\n\nMPI_Cart_shift man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Cart_sub-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Cart_sub","text":"MPI_Cart_sub(comm, remain_dims, newcomm)\n\nMPI_Cart_sub man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Cartdim_get-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Cartdim_get","text":"MPI_Cartdim_get(comm, ndims)\n\nMPI_Cartdim_get man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Close_port-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Close_port","text":"MPI_Close_port(port_name)\n\nMPI_Close_port man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_accept-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_accept","text":"MPI_Comm_accept(port_name, info, root, comm, newcomm)\n\nMPI_Comm_accept man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_call_errhandler-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_call_errhandler","text":"MPI_Comm_call_errhandler(comm, errorcode)\n\nMPI_Comm_call_errhandler man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_compare-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_compare","text":"MPI_Comm_compare(comm1, comm2, result)\n\nMPI_Comm_compare man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_connect-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_connect","text":"MPI_Comm_connect(port_name, info, root, comm, newcomm)\n\nMPI_Comm_connect man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_create-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_create","text":"MPI_Comm_create(comm, group, newcomm)\n\nMPI_Comm_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_create_errhandler-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_create_errhandler","text":"MPI_Comm_create_errhandler(comm_errhandler_fn, errhandler)\n\nMPI_Comm_create_errhandler man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_create_from_group-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_create_from_group","text":"MPI_Comm_create_from_group(group, stringtag, info, errhandler, newcomm)\n\nMPI_Comm_create_from_group man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_create_group-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_create_group","text":"MPI_Comm_create_group(comm, group, tag, newcomm)\n\nMPI_Comm_create_group man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_create_keyval-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_create_keyval","text":"MPI_Comm_create_keyval(comm_copy_attr_fn, comm_delete_attr_fn, comm_keyval, extra_state)\n\nMPI_Comm_create_keyval man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_delete_attr-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_delete_attr","text":"MPI_Comm_delete_attr(comm, comm_keyval)\n\nMPI_Comm_delete_attr man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_disconnect-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_disconnect","text":"MPI_Comm_disconnect(comm)\n\nMPI_Comm_disconnect man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_dup-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_dup","text":"MPI_Comm_dup(comm, newcomm)\n\nMPI_Comm_dup man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_dup_with_info-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_dup_with_info","text":"MPI_Comm_dup_with_info(comm, info, newcomm)\n\nMPI_Comm_dup_with_info man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_free-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_free","text":"MPI_Comm_free(comm)\n\nMPI_Comm_free man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_free_keyval-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_free_keyval","text":"MPI_Comm_free_keyval(comm_keyval)\n\nMPI_Comm_free_keyval man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_get_attr-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_get_attr","text":"MPI_Comm_get_attr(comm, comm_keyval, attribute_val, flag)\n\nMPI_Comm_get_attr man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_get_errhandler-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_get_errhandler","text":"MPI_Comm_get_errhandler(comm, errhandler)\n\nMPI_Comm_get_errhandler man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_get_info-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_get_info","text":"MPI_Comm_get_info(comm, info_used)\n\nMPI_Comm_get_info man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_get_name-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_get_name","text":"MPI_Comm_get_name(comm, comm_name, resultlen)\n\nMPI_Comm_get_name man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_get_parent-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_get_parent","text":"MPI_Comm_get_parent(parent)\n\nMPI_Comm_get_parent man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_group-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_group","text":"MPI_Comm_group(comm, group)\n\nMPI_Comm_group man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_idup-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_idup","text":"MPI_Comm_idup(comm, newcomm, request)\n\nMPI_Comm_idup man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_idup_with_info-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_idup_with_info","text":"MPI_Comm_idup_with_info(comm, info, newcomm, request)\n\nMPI_Comm_idup_with_info man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_join-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_join","text":"MPI_Comm_join(fd, intercomm)\n\nMPI_Comm_join man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_rank-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_rank","text":"MPI_Comm_rank(comm, rank)\n\nMPI_Comm_rank man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_remote_group-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_remote_group","text":"MPI_Comm_remote_group(comm, group)\n\nMPI_Comm_remote_group man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_remote_size-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_remote_size","text":"MPI_Comm_remote_size(comm, size)\n\nMPI_Comm_remote_size man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_set_attr-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_set_attr","text":"MPI_Comm_set_attr(comm, comm_keyval, attribute_val)\n\nMPI_Comm_set_attr man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_set_errhandler-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_set_errhandler","text":"MPI_Comm_set_errhandler(comm, errhandler)\n\nMPI_Comm_set_errhandler man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_set_info-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_set_info","text":"MPI_Comm_set_info(comm, info)\n\nMPI_Comm_set_info man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_set_name-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_set_name","text":"MPI_Comm_set_name(comm, comm_name)\n\nMPI_Comm_set_name man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_size-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_size","text":"MPI_Comm_size(comm, size)\n\nMPI_Comm_size man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_spawn-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_spawn","text":"MPI_Comm_spawn(command, argv, maxprocs, info, root, comm, intercomm, array_of_errcodes)\n\nMPI_Comm_spawn man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_spawn_multiple-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_spawn_multiple","text":"MPI_Comm_spawn_multiple(count, array_of_commands, array_of_argv, array_of_maxprocs, array_of_info, root, comm, intercomm, array_of_errcodes)\n\nMPI_Comm_spawn_multiple man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_split-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_split","text":"MPI_Comm_split(comm, color, key, newcomm)\n\nMPI_Comm_split man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_split_type-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_split_type","text":"MPI_Comm_split_type(comm, split_type, key, info, newcomm)\n\nMPI_Comm_split_type man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_test_inter-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_test_inter","text":"MPI_Comm_test_inter(comm, flag)\n\nMPI_Comm_test_inter man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Compare_and_swap-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Compare_and_swap","text":"MPI_Compare_and_swap(origin_addr, compare_addr, result_addr, datatype, target_rank, target_disp, win)\n\nMPI_Compare_and_swap man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Dims_create-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Dims_create","text":"MPI_Dims_create(nnodes, ndims, dims)\n\nMPI_Dims_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Dist_graph_create-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Dist_graph_create","text":"MPI_Dist_graph_create(comm_old, n, sources, degrees, destinations, weights, info, reorder, comm_dist_graph)\n\nMPI_Dist_graph_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Dist_graph_create_adjacent-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Dist_graph_create_adjacent","text":"MPI_Dist_graph_create_adjacent(comm_old, indegree, sources, sourceweights, outdegree, destinations, destweights, info, reorder, comm_dist_graph)\n\nMPI_Dist_graph_create_adjacent man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Dist_graph_neighbors-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Dist_graph_neighbors","text":"MPI_Dist_graph_neighbors(comm, maxindegree, sources, sourceweights, maxoutdegree, destinations, destweights)\n\nMPI_Dist_graph_neighbors man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Dist_graph_neighbors_count-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Dist_graph_neighbors_count","text":"MPI_Dist_graph_neighbors_count(comm, indegree, outdegree, weighted)\n\nMPI_Dist_graph_neighbors_count man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Errhandler_create-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Errhandler_create","text":"MPI_Errhandler_create(comm_errhandler_fn, errhandler)\n\nMPI_Errhandler_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Errhandler_free-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Errhandler_free","text":"MPI_Errhandler_free(errhandler)\n\nMPI_Errhandler_free man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Errhandler_get-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Errhandler_get","text":"MPI_Errhandler_get(comm, errhandler)\n\nMPI_Errhandler_get man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Errhandler_set-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Errhandler_set","text":"MPI_Errhandler_set(comm, errhandler)\n\nMPI_Errhandler_set man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Error_class-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Error_class","text":"MPI_Error_class(errorcode, errorclass)\n\nMPI_Error_class man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Error_string-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Error_string","text":"MPI_Error_string(errorcode, string, resultlen)\n\nMPI_Error_string man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Exscan-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Exscan","text":"MPI_Exscan(sendbuf, recvbuf, count, datatype, op, comm)\n\nMPI_Exscan man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Exscan_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Exscan_c","text":"MPI_Exscan_c(sendbuf, recvbuf, count, datatype, op, comm)\n\nMPI_Exscan_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Exscan_init-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Exscan_init","text":"MPI_Exscan_init(sendbuf, recvbuf, count, datatype, op, comm, info, request)\n\nMPI_Exscan_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Exscan_init_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Exscan_init_c","text":"MPI_Exscan_init_c(sendbuf, recvbuf, count, datatype, op, comm, info, request)\n\nMPI_Exscan_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Fetch_and_op-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Fetch_and_op","text":"MPI_Fetch_and_op(origin_addr, result_addr, datatype, target_rank, target_disp, op, win)\n\nMPI_Fetch_and_op man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_c2f-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_File_c2f","text":"MPI_File_c2f(file)\n\nMPI_File_c2f man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_call_errhandler-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_call_errhandler","text":"MPI_File_call_errhandler(fh, errorcode)\n\nMPI_File_call_errhandler man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_close-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_File_close","text":"MPI_File_close(fh)\n\nMPI_File_close man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_create_errhandler-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_create_errhandler","text":"MPI_File_create_errhandler(file_errhandler_fn, errhandler)\n\nMPI_File_create_errhandler man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_delete-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_delete","text":"MPI_File_delete(filename, info)\n\nMPI_File_delete man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_f2c-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_File_f2c","text":"MPI_File_f2c(file)\n\nMPI_File_f2c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_get_amode-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_get_amode","text":"MPI_File_get_amode(fh, amode)\n\nMPI_File_get_amode man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_get_atomicity-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_get_atomicity","text":"MPI_File_get_atomicity(fh, flag)\n\nMPI_File_get_atomicity man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_get_byte_offset-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_get_byte_offset","text":"MPI_File_get_byte_offset(fh, offset, disp)\n\nMPI_File_get_byte_offset man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_get_errhandler-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_get_errhandler","text":"MPI_File_get_errhandler(file, errhandler)\n\nMPI_File_get_errhandler man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_get_group-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_get_group","text":"MPI_File_get_group(fh, group)\n\nMPI_File_get_group man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_get_info-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_get_info","text":"MPI_File_get_info(fh, info_used)\n\nMPI_File_get_info man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_get_position-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_get_position","text":"MPI_File_get_position(fh, offset)\n\nMPI_File_get_position man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_get_position_shared-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_get_position_shared","text":"MPI_File_get_position_shared(fh, offset)\n\nMPI_File_get_position_shared man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_get_size-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_get_size","text":"MPI_File_get_size(fh, size)\n\nMPI_File_get_size man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_get_type_extent-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_get_type_extent","text":"MPI_File_get_type_extent(fh, datatype, extent)\n\nMPI_File_get_type_extent man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_get_type_extent_c-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_get_type_extent_c","text":"MPI_File_get_type_extent_c(fh, datatype, extent)\n\nMPI_File_get_type_extent_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_get_view-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_get_view","text":"MPI_File_get_view(fh, disp, etype, filetype, datarep)\n\nMPI_File_get_view man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iread-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iread","text":"MPI_File_iread(fh, buf, count, datatype, request)\n\nMPI_File_iread man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iread_all-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iread_all","text":"MPI_File_iread_all(fh, buf, count, datatype, request)\n\nMPI_File_iread_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iread_all_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iread_all_c","text":"MPI_File_iread_all_c(fh, buf, count, datatype, request)\n\nMPI_File_iread_all_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iread_at-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iread_at","text":"MPI_File_iread_at(fh, offset, buf, count, datatype, request)\n\nMPI_File_iread_at man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iread_at_all-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iread_at_all","text":"MPI_File_iread_at_all(fh, offset, buf, count, datatype, request)\n\nMPI_File_iread_at_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iread_at_all_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iread_at_all_c","text":"MPI_File_iread_at_all_c(fh, offset, buf, count, datatype, request)\n\nMPI_File_iread_at_all_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iread_at_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iread_at_c","text":"MPI_File_iread_at_c(fh, offset, buf, count, datatype, request)\n\nMPI_File_iread_at_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iread_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iread_c","text":"MPI_File_iread_c(fh, buf, count, datatype, request)\n\nMPI_File_iread_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iread_shared-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iread_shared","text":"MPI_File_iread_shared(fh, buf, count, datatype, request)\n\nMPI_File_iread_shared man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iread_shared_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iread_shared_c","text":"MPI_File_iread_shared_c(fh, buf, count, datatype, request)\n\nMPI_File_iread_shared_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iwrite-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iwrite","text":"MPI_File_iwrite(fh, buf, count, datatype, request)\n\nMPI_File_iwrite man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iwrite_all-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iwrite_all","text":"MPI_File_iwrite_all(fh, buf, count, datatype, request)\n\nMPI_File_iwrite_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iwrite_all_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iwrite_all_c","text":"MPI_File_iwrite_all_c(fh, buf, count, datatype, request)\n\nMPI_File_iwrite_all_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iwrite_at-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iwrite_at","text":"MPI_File_iwrite_at(fh, offset, buf, count, datatype, request)\n\nMPI_File_iwrite_at man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iwrite_at_all-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iwrite_at_all","text":"MPI_File_iwrite_at_all(fh, offset, buf, count, datatype, request)\n\nMPI_File_iwrite_at_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iwrite_at_all_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iwrite_at_all_c","text":"MPI_File_iwrite_at_all_c(fh, offset, buf, count, datatype, request)\n\nMPI_File_iwrite_at_all_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iwrite_at_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iwrite_at_c","text":"MPI_File_iwrite_at_c(fh, offset, buf, count, datatype, request)\n\nMPI_File_iwrite_at_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iwrite_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iwrite_c","text":"MPI_File_iwrite_c(fh, buf, count, datatype, request)\n\nMPI_File_iwrite_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iwrite_shared-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iwrite_shared","text":"MPI_File_iwrite_shared(fh, buf, count, datatype, request)\n\nMPI_File_iwrite_shared man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iwrite_shared_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iwrite_shared_c","text":"MPI_File_iwrite_shared_c(fh, buf, count, datatype, request)\n\nMPI_File_iwrite_shared_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_open-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_open","text":"MPI_File_open(comm, filename, amode, info, fh)\n\nMPI_File_open man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_preallocate-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_preallocate","text":"MPI_File_preallocate(fh, size)\n\nMPI_File_preallocate man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read","text":"MPI_File_read(fh, buf, count, datatype, status)\n\nMPI_File_read man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_all-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_all","text":"MPI_File_read_all(fh, buf, count, datatype, status)\n\nMPI_File_read_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_all_begin-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_all_begin","text":"MPI_File_read_all_begin(fh, buf, count, datatype)\n\nMPI_File_read_all_begin man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_all_begin_c-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_all_begin_c","text":"MPI_File_read_all_begin_c(fh, buf, count, datatype)\n\nMPI_File_read_all_begin_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_all_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_all_c","text":"MPI_File_read_all_c(fh, buf, count, datatype, status)\n\nMPI_File_read_all_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_all_end-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_all_end","text":"MPI_File_read_all_end(fh, buf, status)\n\nMPI_File_read_all_end man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_at-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_at","text":"MPI_File_read_at(fh, offset, buf, count, datatype, status)\n\nMPI_File_read_at man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_at_all-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_at_all","text":"MPI_File_read_at_all(fh, offset, buf, count, datatype, status)\n\nMPI_File_read_at_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_at_all_begin-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_at_all_begin","text":"MPI_File_read_at_all_begin(fh, offset, buf, count, datatype)\n\nMPI_File_read_at_all_begin man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_at_all_begin_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_at_all_begin_c","text":"MPI_File_read_at_all_begin_c(fh, offset, buf, count, datatype)\n\nMPI_File_read_at_all_begin_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_at_all_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_at_all_c","text":"MPI_File_read_at_all_c(fh, offset, buf, count, datatype, status)\n\nMPI_File_read_at_all_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_at_all_end-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_at_all_end","text":"MPI_File_read_at_all_end(fh, buf, status)\n\nMPI_File_read_at_all_end man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_at_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_at_c","text":"MPI_File_read_at_c(fh, offset, buf, count, datatype, status)\n\nMPI_File_read_at_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_c","text":"MPI_File_read_c(fh, buf, count, datatype, status)\n\nMPI_File_read_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_ordered-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_ordered","text":"MPI_File_read_ordered(fh, buf, count, datatype, status)\n\nMPI_File_read_ordered man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_ordered_begin-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_ordered_begin","text":"MPI_File_read_ordered_begin(fh, buf, count, datatype)\n\nMPI_File_read_ordered_begin man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_ordered_begin_c-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_ordered_begin_c","text":"MPI_File_read_ordered_begin_c(fh, buf, count, datatype)\n\nMPI_File_read_ordered_begin_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_ordered_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_ordered_c","text":"MPI_File_read_ordered_c(fh, buf, count, datatype, status)\n\nMPI_File_read_ordered_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_ordered_end-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_ordered_end","text":"MPI_File_read_ordered_end(fh, buf, status)\n\nMPI_File_read_ordered_end man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_shared-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_shared","text":"MPI_File_read_shared(fh, buf, count, datatype, status)\n\nMPI_File_read_shared man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_shared_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_shared_c","text":"MPI_File_read_shared_c(fh, buf, count, datatype, status)\n\nMPI_File_read_shared_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_seek-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_seek","text":"MPI_File_seek(fh, offset, whence)\n\nMPI_File_seek man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_seek_shared-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_seek_shared","text":"MPI_File_seek_shared(fh, offset, whence)\n\nMPI_File_seek_shared man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_set_atomicity-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_set_atomicity","text":"MPI_File_set_atomicity(fh, flag)\n\nMPI_File_set_atomicity man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_set_errhandler-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_set_errhandler","text":"MPI_File_set_errhandler(file, errhandler)\n\nMPI_File_set_errhandler man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_set_info-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_set_info","text":"MPI_File_set_info(fh, info)\n\nMPI_File_set_info man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_set_size-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_set_size","text":"MPI_File_set_size(fh, size)\n\nMPI_File_set_size man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_set_view-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_set_view","text":"MPI_File_set_view(fh, disp, etype, filetype, datarep, info)\n\nMPI_File_set_view man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_sync-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_File_sync","text":"MPI_File_sync(fh)\n\nMPI_File_sync man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write","text":"MPI_File_write(fh, buf, count, datatype, status)\n\nMPI_File_write man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_all-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_all","text":"MPI_File_write_all(fh, buf, count, datatype, status)\n\nMPI_File_write_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_all_begin-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_all_begin","text":"MPI_File_write_all_begin(fh, buf, count, datatype)\n\nMPI_File_write_all_begin man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_all_begin_c-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_all_begin_c","text":"MPI_File_write_all_begin_c(fh, buf, count, datatype)\n\nMPI_File_write_all_begin_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_all_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_all_c","text":"MPI_File_write_all_c(fh, buf, count, datatype, status)\n\nMPI_File_write_all_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_all_end-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_all_end","text":"MPI_File_write_all_end(fh, buf, status)\n\nMPI_File_write_all_end man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_at-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_at","text":"MPI_File_write_at(fh, offset, buf, count, datatype, status)\n\nMPI_File_write_at man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_at_all-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_at_all","text":"MPI_File_write_at_all(fh, offset, buf, count, datatype, status)\n\nMPI_File_write_at_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_at_all_begin-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_at_all_begin","text":"MPI_File_write_at_all_begin(fh, offset, buf, count, datatype)\n\nMPI_File_write_at_all_begin man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_at_all_begin_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_at_all_begin_c","text":"MPI_File_write_at_all_begin_c(fh, offset, buf, count, datatype)\n\nMPI_File_write_at_all_begin_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_at_all_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_at_all_c","text":"MPI_File_write_at_all_c(fh, offset, buf, count, datatype, status)\n\nMPI_File_write_at_all_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_at_all_end-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_at_all_end","text":"MPI_File_write_at_all_end(fh, buf, status)\n\nMPI_File_write_at_all_end man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_at_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_at_c","text":"MPI_File_write_at_c(fh, offset, buf, count, datatype, status)\n\nMPI_File_write_at_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_c","text":"MPI_File_write_c(fh, buf, count, datatype, status)\n\nMPI_File_write_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_ordered-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_ordered","text":"MPI_File_write_ordered(fh, buf, count, datatype, status)\n\nMPI_File_write_ordered man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_ordered_begin-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_ordered_begin","text":"MPI_File_write_ordered_begin(fh, buf, count, datatype)\n\nMPI_File_write_ordered_begin man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_ordered_begin_c-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_ordered_begin_c","text":"MPI_File_write_ordered_begin_c(fh, buf, count, datatype)\n\nMPI_File_write_ordered_begin_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_ordered_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_ordered_c","text":"MPI_File_write_ordered_c(fh, buf, count, datatype, status)\n\nMPI_File_write_ordered_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_ordered_end-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_ordered_end","text":"MPI_File_write_ordered_end(fh, buf, status)\n\nMPI_File_write_ordered_end man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_shared-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_shared","text":"MPI_File_write_shared(fh, buf, count, datatype, status)\n\nMPI_File_write_shared man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_shared_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_shared_c","text":"MPI_File_write_shared_c(fh, buf, count, datatype, status)\n\nMPI_File_write_shared_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Finalize-Tuple{}","page":"Low-level API","title":"MPI.API.MPI_Finalize","text":"MPI_Finalize()\n\nMPI_Finalize man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Finalized-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Finalized","text":"MPI_Finalized(flag)\n\nMPI_Finalized man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Free_mem-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Free_mem","text":"MPI_Free_mem(base)\n\nMPI_Free_mem man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Gather-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Gather","text":"MPI_Gather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm)\n\nMPI_Gather man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Gather_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Gather_c","text":"MPI_Gather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm)\n\nMPI_Gather_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Gather_init-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Gather_init","text":"MPI_Gather_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request)\n\nMPI_Gather_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Gather_init_c-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Gather_init_c","text":"MPI_Gather_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request)\n\nMPI_Gather_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Gatherv-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Gatherv","text":"MPI_Gatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm)\n\nMPI_Gatherv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Gatherv_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Gatherv_c","text":"MPI_Gatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm)\n\nMPI_Gatherv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Gatherv_init-NTuple{11, Any}","page":"Low-level API","title":"MPI.API.MPI_Gatherv_init","text":"MPI_Gatherv_init(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, info, request)\n\nMPI_Gatherv_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Gatherv_init_c-NTuple{11, Any}","page":"Low-level API","title":"MPI.API.MPI_Gatherv_init_c","text":"MPI_Gatherv_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, info, request)\n\nMPI_Gatherv_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Get-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Get","text":"MPI_Get(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win)\n\nMPI_Get man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Get_accumulate-NTuple{12, Any}","page":"Low-level API","title":"MPI.API.MPI_Get_accumulate","text":"MPI_Get_accumulate(origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win)\n\nMPI_Get_accumulate man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Get_accumulate_c-NTuple{12, Any}","page":"Low-level API","title":"MPI.API.MPI_Get_accumulate_c","text":"MPI_Get_accumulate_c(origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win)\n\nMPI_Get_accumulate_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Get_address-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Get_address","text":"MPI_Get_address(location, address)\n\nMPI_Get_address man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Get_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Get_c","text":"MPI_Get_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win)\n\nMPI_Get_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Get_count-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Get_count","text":"MPI_Get_count(status, datatype, count)\n\nMPI_Get_count man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Get_count_c-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Get_count_c","text":"MPI_Get_count_c(status, datatype, count)\n\nMPI_Get_count_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Get_elements-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Get_elements","text":"MPI_Get_elements(status, datatype, count)\n\nMPI_Get_elements man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Get_elements_c-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Get_elements_c","text":"MPI_Get_elements_c(status, datatype, count)\n\nMPI_Get_elements_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Get_elements_x-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Get_elements_x","text":"MPI_Get_elements_x(status, datatype, count)\n\nMPI_Get_elements_x man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Get_library_version-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Get_library_version","text":"MPI_Get_library_version(version, resultlen)\n\nMPI_Get_library_version man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Get_processor_name-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Get_processor_name","text":"MPI_Get_processor_name(name, resultlen)\n\nMPI_Get_processor_name man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Get_version-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Get_version","text":"MPI_Get_version(version, subversion)\n\nMPI_Get_version man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Graph_create-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Graph_create","text":"MPI_Graph_create(comm_old, nnodes, indx, edges, reorder, comm_graph)\n\nMPI_Graph_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Graph_get-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Graph_get","text":"MPI_Graph_get(comm, maxindex, maxedges, indx, edges)\n\nMPI_Graph_get man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Graph_map-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Graph_map","text":"MPI_Graph_map(comm, nnodes, indx, edges, newrank)\n\nMPI_Graph_map man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Graph_neighbors-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Graph_neighbors","text":"MPI_Graph_neighbors(comm, rank, maxneighbors, neighbors)\n\nMPI_Graph_neighbors man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Graph_neighbors_count-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Graph_neighbors_count","text":"MPI_Graph_neighbors_count(comm, rank, nneighbors)\n\nMPI_Graph_neighbors_count man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Graphdims_get-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Graphdims_get","text":"MPI_Graphdims_get(comm, nnodes, nedges)\n\nMPI_Graphdims_get man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Grequest_complete-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Grequest_complete","text":"MPI_Grequest_complete(request)\n\nMPI_Grequest_complete man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Grequest_start-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Grequest_start","text":"MPI_Grequest_start(query_fn, free_fn, cancel_fn, extra_state, request)\n\nMPI_Grequest_start man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Group_compare-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Group_compare","text":"MPI_Group_compare(group1, group2, result)\n\nMPI_Group_compare man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Group_difference-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Group_difference","text":"MPI_Group_difference(group1, group2, newgroup)\n\nMPI_Group_difference man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Group_excl-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Group_excl","text":"MPI_Group_excl(group, n, ranks, newgroup)\n\nMPI_Group_excl man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Group_free-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Group_free","text":"MPI_Group_free(group)\n\nMPI_Group_free man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Group_incl-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Group_incl","text":"MPI_Group_incl(group, n, ranks, newgroup)\n\nMPI_Group_incl man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Group_intersection-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Group_intersection","text":"MPI_Group_intersection(group1, group2, newgroup)\n\nMPI_Group_intersection man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Group_range_excl-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Group_range_excl","text":"MPI_Group_range_excl(group, n, ranges, newgroup)\n\nMPI_Group_range_excl man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Group_range_incl-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Group_range_incl","text":"MPI_Group_range_incl(group, n, ranges, newgroup)\n\nMPI_Group_range_incl man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Group_rank-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Group_rank","text":"MPI_Group_rank(group, rank)\n\nMPI_Group_rank man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Group_size-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Group_size","text":"MPI_Group_size(group, size)\n\nMPI_Group_size man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Group_translate_ranks-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Group_translate_ranks","text":"MPI_Group_translate_ranks(group1, n, ranks1, group2, ranks2)\n\nMPI_Group_translate_ranks man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Group_union-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Group_union","text":"MPI_Group_union(group1, group2, newgroup)\n\nMPI_Group_union man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Iallgather-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Iallgather","text":"MPI_Iallgather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)\n\nMPI_Iallgather man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Iallgather_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Iallgather_c","text":"MPI_Iallgather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)\n\nMPI_Iallgather_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Iallgatherv-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Iallgatherv","text":"MPI_Iallgatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request)\n\nMPI_Iallgatherv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Iallgatherv_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Iallgatherv_c","text":"MPI_Iallgatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request)\n\nMPI_Iallgatherv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Iallreduce-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Iallreduce","text":"MPI_Iallreduce(sendbuf, recvbuf, count, datatype, op, comm, request)\n\nMPI_Iallreduce man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Iallreduce_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Iallreduce_c","text":"MPI_Iallreduce_c(sendbuf, recvbuf, count, datatype, op, comm, request)\n\nMPI_Iallreduce_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ialltoall-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Ialltoall","text":"MPI_Ialltoall(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)\n\nMPI_Ialltoall man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ialltoall_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Ialltoall_c","text":"MPI_Ialltoall_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)\n\nMPI_Ialltoall_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ialltoallv-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Ialltoallv","text":"MPI_Ialltoallv(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request)\n\nMPI_Ialltoallv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ialltoallv_c-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Ialltoallv_c","text":"MPI_Ialltoallv_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request)\n\nMPI_Ialltoallv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ialltoallw-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Ialltoallw","text":"MPI_Ialltoallw(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request)\n\nMPI_Ialltoallw man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ialltoallw_c-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Ialltoallw_c","text":"MPI_Ialltoallw_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request)\n\nMPI_Ialltoallw_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ibarrier-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Ibarrier","text":"MPI_Ibarrier(comm, request)\n\nMPI_Ibarrier man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ibcast-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Ibcast","text":"MPI_Ibcast(buffer, count, datatype, root, comm, request)\n\nMPI_Ibcast man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ibcast_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Ibcast_c","text":"MPI_Ibcast_c(buffer, count, datatype, root, comm, request)\n\nMPI_Ibcast_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ibsend-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Ibsend","text":"MPI_Ibsend(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Ibsend man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ibsend_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Ibsend_c","text":"MPI_Ibsend_c(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Ibsend_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Iexscan-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Iexscan","text":"MPI_Iexscan(sendbuf, recvbuf, count, datatype, op, comm, request)\n\nMPI_Iexscan man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Iexscan_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Iexscan_c","text":"MPI_Iexscan_c(sendbuf, recvbuf, count, datatype, op, comm, request)\n\nMPI_Iexscan_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Igather-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Igather","text":"MPI_Igather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request)\n\nMPI_Igather man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Igather_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Igather_c","text":"MPI_Igather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request)\n\nMPI_Igather_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Igatherv-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Igatherv","text":"MPI_Igatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, request)\n\nMPI_Igatherv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Igatherv_c-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Igatherv_c","text":"MPI_Igatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, request)\n\nMPI_Igatherv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Improbe-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Improbe","text":"MPI_Improbe(source, tag, comm, flag, message, status)\n\nMPI_Improbe man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Imrecv-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Imrecv","text":"MPI_Imrecv(buf, count, datatype, message, request)\n\nMPI_Imrecv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Imrecv_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Imrecv_c","text":"MPI_Imrecv_c(buf, count, datatype, message, request)\n\nMPI_Imrecv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ineighbor_allgather-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Ineighbor_allgather","text":"MPI_Ineighbor_allgather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)\n\nMPI_Ineighbor_allgather man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ineighbor_allgather_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Ineighbor_allgather_c","text":"MPI_Ineighbor_allgather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)\n\nMPI_Ineighbor_allgather_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ineighbor_allgatherv-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Ineighbor_allgatherv","text":"MPI_Ineighbor_allgatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request)\n\nMPI_Ineighbor_allgatherv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ineighbor_allgatherv_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Ineighbor_allgatherv_c","text":"MPI_Ineighbor_allgatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request)\n\nMPI_Ineighbor_allgatherv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ineighbor_alltoall-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Ineighbor_alltoall","text":"MPI_Ineighbor_alltoall(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)\n\nMPI_Ineighbor_alltoall man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ineighbor_alltoall_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Ineighbor_alltoall_c","text":"MPI_Ineighbor_alltoall_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)\n\nMPI_Ineighbor_alltoall_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ineighbor_alltoallv-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Ineighbor_alltoallv","text":"MPI_Ineighbor_alltoallv(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request)\n\nMPI_Ineighbor_alltoallv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ineighbor_alltoallv_c-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Ineighbor_alltoallv_c","text":"MPI_Ineighbor_alltoallv_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request)\n\nMPI_Ineighbor_alltoallv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ineighbor_alltoallw-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Ineighbor_alltoallw","text":"MPI_Ineighbor_alltoallw(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request)\n\nMPI_Ineighbor_alltoallw man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ineighbor_alltoallw_c-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Ineighbor_alltoallw_c","text":"MPI_Ineighbor_alltoallw_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request)\n\nMPI_Ineighbor_alltoallw_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Info_create-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Info_create","text":"MPI_Info_create(info)\n\nMPI_Info_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Info_create_env-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Info_create_env","text":"MPI_Info_create_env(argc, argv, info)\n\nMPI_Info_create_env man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Info_delete-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Info_delete","text":"MPI_Info_delete(info, key)\n\nMPI_Info_delete man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Info_dup-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Info_dup","text":"MPI_Info_dup(info, newinfo)\n\nMPI_Info_dup man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Info_free-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Info_free","text":"MPI_Info_free(info)\n\nMPI_Info_free man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Info_get-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Info_get","text":"MPI_Info_get(info, key, valuelen, value, flag)\n\nMPI_Info_get man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Info_get_nkeys-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Info_get_nkeys","text":"MPI_Info_get_nkeys(info, nkeys)\n\nMPI_Info_get_nkeys man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Info_get_nthkey-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Info_get_nthkey","text":"MPI_Info_get_nthkey(info, n, key)\n\nMPI_Info_get_nthkey man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Info_get_string-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Info_get_string","text":"MPI_Info_get_string(info, key, buflen, value, flag)\n\nMPI_Info_get_string man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Info_get_valuelen-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Info_get_valuelen","text":"MPI_Info_get_valuelen(info, key, valuelen, flag)\n\nMPI_Info_get_valuelen man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Info_set-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Info_set","text":"MPI_Info_set(info, key, value)\n\nMPI_Info_set man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Init-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Init","text":"MPI_Init(argc, argv)\n\nMPI_Init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Init_thread-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Init_thread","text":"MPI_Init_thread(argc, argv, required, provided)\n\nMPI_Init_thread man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Initialized-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Initialized","text":"MPI_Initialized(flag)\n\nMPI_Initialized man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Intercomm_create-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Intercomm_create","text":"MPI_Intercomm_create(local_comm, local_leader, peer_comm, remote_leader, tag, newintercomm)\n\nMPI_Intercomm_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Intercomm_create_from_groups-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Intercomm_create_from_groups","text":"MPI_Intercomm_create_from_groups(local_group, local_leader, remote_group, remote_leader, stringtag, info, errhandler, newintercomm)\n\nMPI_Intercomm_create_from_groups man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Intercomm_merge-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Intercomm_merge","text":"MPI_Intercomm_merge(intercomm, high, newintracomm)\n\nMPI_Intercomm_merge man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Iprobe-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Iprobe","text":"MPI_Iprobe(source, tag, comm, flag, status)\n\nMPI_Iprobe man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Irecv-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Irecv","text":"MPI_Irecv(buf, count, datatype, source, tag, comm, request)\n\nMPI_Irecv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Irecv_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Irecv_c","text":"MPI_Irecv_c(buf, count, datatype, source, tag, comm, request)\n\nMPI_Irecv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ireduce-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Ireduce","text":"MPI_Ireduce(sendbuf, recvbuf, count, datatype, op, root, comm, request)\n\nMPI_Ireduce man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ireduce_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Ireduce_c","text":"MPI_Ireduce_c(sendbuf, recvbuf, count, datatype, op, root, comm, request)\n\nMPI_Ireduce_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ireduce_scatter-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Ireduce_scatter","text":"MPI_Ireduce_scatter(sendbuf, recvbuf, recvcounts, datatype, op, comm, request)\n\nMPI_Ireduce_scatter man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ireduce_scatter_block-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Ireduce_scatter_block","text":"MPI_Ireduce_scatter_block(sendbuf, recvbuf, recvcount, datatype, op, comm, request)\n\nMPI_Ireduce_scatter_block man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ireduce_scatter_block_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Ireduce_scatter_block_c","text":"MPI_Ireduce_scatter_block_c(sendbuf, recvbuf, recvcount, datatype, op, comm, request)\n\nMPI_Ireduce_scatter_block_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ireduce_scatter_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Ireduce_scatter_c","text":"MPI_Ireduce_scatter_c(sendbuf, recvbuf, recvcounts, datatype, op, comm, request)\n\nMPI_Ireduce_scatter_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Irsend-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Irsend","text":"MPI_Irsend(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Irsend man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Irsend_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Irsend_c","text":"MPI_Irsend_c(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Irsend_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Is_thread_main-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Is_thread_main","text":"MPI_Is_thread_main(flag)\n\nMPI_Is_thread_main man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Iscan-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Iscan","text":"MPI_Iscan(sendbuf, recvbuf, count, datatype, op, comm, request)\n\nMPI_Iscan man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Iscan_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Iscan_c","text":"MPI_Iscan_c(sendbuf, recvbuf, count, datatype, op, comm, request)\n\nMPI_Iscan_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Iscatter-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Iscatter","text":"MPI_Iscatter(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request)\n\nMPI_Iscatter man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Iscatter_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Iscatter_c","text":"MPI_Iscatter_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request)\n\nMPI_Iscatter_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Iscatterv-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Iscatterv","text":"MPI_Iscatterv(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, request)\n\nMPI_Iscatterv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Iscatterv_c-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Iscatterv_c","text":"MPI_Iscatterv_c(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, request)\n\nMPI_Iscatterv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Isend-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Isend","text":"MPI_Isend(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Isend man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Isend_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Isend_c","text":"MPI_Isend_c(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Isend_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Isendrecv-NTuple{12, Any}","page":"Low-level API","title":"MPI.API.MPI_Isendrecv","text":"MPI_Isendrecv(sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, request)\n\nMPI_Isendrecv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Isendrecv_c-NTuple{12, Any}","page":"Low-level API","title":"MPI.API.MPI_Isendrecv_c","text":"MPI_Isendrecv_c(sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, request)\n\nMPI_Isendrecv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Isendrecv_replace-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Isendrecv_replace","text":"MPI_Isendrecv_replace(buf, count, datatype, dest, sendtag, source, recvtag, comm, request)\n\nMPI_Isendrecv_replace man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Isendrecv_replace_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Isendrecv_replace_c","text":"MPI_Isendrecv_replace_c(buf, count, datatype, dest, sendtag, source, recvtag, comm, request)\n\nMPI_Isendrecv_replace_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Issend-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Issend","text":"MPI_Issend(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Issend man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Issend_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Issend_c","text":"MPI_Issend_c(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Issend_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Keyval_create-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Keyval_create","text":"MPI_Keyval_create(copy_fn, delete_fn, keyval, extra_state)\n\nMPI_Keyval_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Keyval_free-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Keyval_free","text":"MPI_Keyval_free(keyval)\n\nMPI_Keyval_free man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Lookup_name-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Lookup_name","text":"MPI_Lookup_name(service_name, info, port_name)\n\nMPI_Lookup_name man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Mprobe-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Mprobe","text":"MPI_Mprobe(source, tag, comm, message, status)\n\nMPI_Mprobe man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Mrecv-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Mrecv","text":"MPI_Mrecv(buf, count, datatype, message, status)\n\nMPI_Mrecv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Mrecv_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Mrecv_c","text":"MPI_Mrecv_c(buf, count, datatype, message, status)\n\nMPI_Mrecv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_allgather-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_allgather","text":"MPI_Neighbor_allgather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)\n\nMPI_Neighbor_allgather man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_allgather_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_allgather_c","text":"MPI_Neighbor_allgather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)\n\nMPI_Neighbor_allgather_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_allgather_init-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_allgather_init","text":"MPI_Neighbor_allgather_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)\n\nMPI_Neighbor_allgather_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_allgather_init_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_allgather_init_c","text":"MPI_Neighbor_allgather_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)\n\nMPI_Neighbor_allgather_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_allgatherv-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_allgatherv","text":"MPI_Neighbor_allgatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm)\n\nMPI_Neighbor_allgatherv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_allgatherv_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_allgatherv_c","text":"MPI_Neighbor_allgatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm)\n\nMPI_Neighbor_allgatherv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_allgatherv_init-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_allgatherv_init","text":"MPI_Neighbor_allgatherv_init(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request)\n\nMPI_Neighbor_allgatherv_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_allgatherv_init_c-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_allgatherv_init_c","text":"MPI_Neighbor_allgatherv_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request)\n\nMPI_Neighbor_allgatherv_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_alltoall-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_alltoall","text":"MPI_Neighbor_alltoall(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)\n\nMPI_Neighbor_alltoall man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_alltoall_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_alltoall_c","text":"MPI_Neighbor_alltoall_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)\n\nMPI_Neighbor_alltoall_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_alltoall_init-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_alltoall_init","text":"MPI_Neighbor_alltoall_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)\n\nMPI_Neighbor_alltoall_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_alltoall_init_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_alltoall_init_c","text":"MPI_Neighbor_alltoall_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)\n\nMPI_Neighbor_alltoall_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_alltoallv-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_alltoallv","text":"MPI_Neighbor_alltoallv(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm)\n\nMPI_Neighbor_alltoallv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_alltoallv_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_alltoallv_c","text":"MPI_Neighbor_alltoallv_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm)\n\nMPI_Neighbor_alltoallv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_alltoallv_init-NTuple{11, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_alltoallv_init","text":"MPI_Neighbor_alltoallv_init(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request)\n\nMPI_Neighbor_alltoallv_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_alltoallv_init_c-NTuple{11, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_alltoallv_init_c","text":"MPI_Neighbor_alltoallv_init_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request)\n\nMPI_Neighbor_alltoallv_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_alltoallw-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_alltoallw","text":"MPI_Neighbor_alltoallw(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm)\n\nMPI_Neighbor_alltoallw man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_alltoallw_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_alltoallw_c","text":"MPI_Neighbor_alltoallw_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm)\n\nMPI_Neighbor_alltoallw_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_alltoallw_init-NTuple{11, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_alltoallw_init","text":"MPI_Neighbor_alltoallw_init(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request)\n\nMPI_Neighbor_alltoallw_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_alltoallw_init_c-NTuple{11, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_alltoallw_init_c","text":"MPI_Neighbor_alltoallw_init_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request)\n\nMPI_Neighbor_alltoallw_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Op_commutative-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Op_commutative","text":"MPI_Op_commutative(op, commute)\n\nMPI_Op_commutative man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Op_create-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Op_create","text":"MPI_Op_create(user_fn, commute, op)\n\nMPI_Op_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Op_create_c-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Op_create_c","text":"MPI_Op_create_c(user_fn, commute, op)\n\nMPI_Op_create_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Op_free-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Op_free","text":"MPI_Op_free(op)\n\nMPI_Op_free man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Open_port-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Open_port","text":"MPI_Open_port(info, port_name)\n\nMPI_Open_port man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Pack-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Pack","text":"MPI_Pack(inbuf, incount, datatype, outbuf, outsize, position, comm)\n\nMPI_Pack man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Pack_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Pack_c","text":"MPI_Pack_c(inbuf, incount, datatype, outbuf, outsize, position, comm)\n\nMPI_Pack_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Pack_external-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Pack_external","text":"MPI_Pack_external(datarep, inbuf, incount, datatype, outbuf, outsize, position)\n\nMPI_Pack_external man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Pack_external_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Pack_external_c","text":"MPI_Pack_external_c(datarep, inbuf, incount, datatype, outbuf, outsize, position)\n\nMPI_Pack_external_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Pack_external_size-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Pack_external_size","text":"MPI_Pack_external_size(datarep, incount, datatype, size)\n\nMPI_Pack_external_size man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Pack_external_size_c-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Pack_external_size_c","text":"MPI_Pack_external_size_c(datarep, incount, datatype, size)\n\nMPI_Pack_external_size_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Pack_size-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Pack_size","text":"MPI_Pack_size(incount, datatype, comm, size)\n\nMPI_Pack_size man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Pack_size_c-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Pack_size_c","text":"MPI_Pack_size_c(incount, datatype, comm, size)\n\nMPI_Pack_size_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Parrived-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Parrived","text":"MPI_Parrived(request, partition, flag)\n\nMPI_Parrived man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Pready-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Pready","text":"MPI_Pready(partition, request)\n\nMPI_Pready man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Pready_list-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Pready_list","text":"MPI_Pready_list(length, array_of_partitions, request)\n\nMPI_Pready_list man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Pready_range-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Pready_range","text":"MPI_Pready_range(partition_low, partition_high, request)\n\nMPI_Pready_range man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Precv_init-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Precv_init","text":"MPI_Precv_init(buf, partitions, count, datatype, dest, tag, comm, info, request)\n\nMPI_Precv_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Probe-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Probe","text":"MPI_Probe(source, tag, comm, status)\n\nMPI_Probe man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Psend_init-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Psend_init","text":"MPI_Psend_init(buf, partitions, count, datatype, dest, tag, comm, info, request)\n\nMPI_Psend_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Publish_name-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Publish_name","text":"MPI_Publish_name(service_name, info, port_name)\n\nMPI_Publish_name man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Put-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Put","text":"MPI_Put(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win)\n\nMPI_Put man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Put_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Put_c","text":"MPI_Put_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win)\n\nMPI_Put_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Query_thread-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Query_thread","text":"MPI_Query_thread(provided)\n\nMPI_Query_thread man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Raccumulate-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Raccumulate","text":"MPI_Raccumulate(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request)\n\nMPI_Raccumulate man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Raccumulate_c-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Raccumulate_c","text":"MPI_Raccumulate_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request)\n\nMPI_Raccumulate_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Recv-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Recv","text":"MPI_Recv(buf, count, datatype, source, tag, comm, status)\n\nMPI_Recv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Recv_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Recv_c","text":"MPI_Recv_c(buf, count, datatype, source, tag, comm, status)\n\nMPI_Recv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Recv_init-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Recv_init","text":"MPI_Recv_init(buf, count, datatype, source, tag, comm, request)\n\nMPI_Recv_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Recv_init_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Recv_init_c","text":"MPI_Recv_init_c(buf, count, datatype, source, tag, comm, request)\n\nMPI_Recv_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Reduce-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Reduce","text":"MPI_Reduce(sendbuf, recvbuf, count, datatype, op, root, comm)\n\nMPI_Reduce man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Reduce_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Reduce_c","text":"MPI_Reduce_c(sendbuf, recvbuf, count, datatype, op, root, comm)\n\nMPI_Reduce_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Reduce_init-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Reduce_init","text":"MPI_Reduce_init(sendbuf, recvbuf, count, datatype, op, root, comm, info, request)\n\nMPI_Reduce_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Reduce_init_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Reduce_init_c","text":"MPI_Reduce_init_c(sendbuf, recvbuf, count, datatype, op, root, comm, info, request)\n\nMPI_Reduce_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Reduce_local-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Reduce_local","text":"MPI_Reduce_local(inbuf, inoutbuf, count, datatype, op)\n\nMPI_Reduce_local man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Reduce_local_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Reduce_local_c","text":"MPI_Reduce_local_c(inbuf, inoutbuf, count, datatype, op)\n\nMPI_Reduce_local_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Reduce_scatter-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Reduce_scatter","text":"MPI_Reduce_scatter(sendbuf, recvbuf, recvcounts, datatype, op, comm)\n\nMPI_Reduce_scatter man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Reduce_scatter_block-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Reduce_scatter_block","text":"MPI_Reduce_scatter_block(sendbuf, recvbuf, recvcount, datatype, op, comm)\n\nMPI_Reduce_scatter_block man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Reduce_scatter_block_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Reduce_scatter_block_c","text":"MPI_Reduce_scatter_block_c(sendbuf, recvbuf, recvcount, datatype, op, comm)\n\nMPI_Reduce_scatter_block_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Reduce_scatter_block_init-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Reduce_scatter_block_init","text":"MPI_Reduce_scatter_block_init(sendbuf, recvbuf, recvcount, datatype, op, comm, info, request)\n\nMPI_Reduce_scatter_block_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Reduce_scatter_block_init_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Reduce_scatter_block_init_c","text":"MPI_Reduce_scatter_block_init_c(sendbuf, recvbuf, recvcount, datatype, op, comm, info, request)\n\nMPI_Reduce_scatter_block_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Reduce_scatter_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Reduce_scatter_c","text":"MPI_Reduce_scatter_c(sendbuf, recvbuf, recvcounts, datatype, op, comm)\n\nMPI_Reduce_scatter_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Reduce_scatter_init-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Reduce_scatter_init","text":"MPI_Reduce_scatter_init(sendbuf, recvbuf, recvcounts, datatype, op, comm, info, request)\n\nMPI_Reduce_scatter_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Reduce_scatter_init_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Reduce_scatter_init_c","text":"MPI_Reduce_scatter_init_c(sendbuf, recvbuf, recvcounts, datatype, op, comm, info, request)\n\nMPI_Reduce_scatter_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Register_datarep-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Register_datarep","text":"MPI_Register_datarep(datarep, read_conversion_fn, write_conversion_fn, dtype_file_extent_fn, extra_state)\n\nMPI_Register_datarep man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Register_datarep_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Register_datarep_c","text":"MPI_Register_datarep_c(datarep, read_conversion_fn, write_conversion_fn, dtype_file_extent_fn, extra_state)\n\nMPI_Register_datarep_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Request_free-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Request_free","text":"MPI_Request_free(request)\n\nMPI_Request_free man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Request_get_status-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Request_get_status","text":"MPI_Request_get_status(request, flag, status)\n\nMPI_Request_get_status man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Rget-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Rget","text":"MPI_Rget(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request)\n\nMPI_Rget man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Rget_accumulate-NTuple{13, Any}","page":"Low-level API","title":"MPI.API.MPI_Rget_accumulate","text":"MPI_Rget_accumulate(origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request)\n\nMPI_Rget_accumulate man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Rget_accumulate_c-NTuple{13, Any}","page":"Low-level API","title":"MPI.API.MPI_Rget_accumulate_c","text":"MPI_Rget_accumulate_c(origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request)\n\nMPI_Rget_accumulate_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Rget_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Rget_c","text":"MPI_Rget_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request)\n\nMPI_Rget_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Rput-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Rput","text":"MPI_Rput(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request)\n\nMPI_Rput man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Rput_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Rput_c","text":"MPI_Rput_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request)\n\nMPI_Rput_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Rsend-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Rsend","text":"MPI_Rsend(buf, count, datatype, dest, tag, comm)\n\nMPI_Rsend man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Rsend_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Rsend_c","text":"MPI_Rsend_c(buf, count, datatype, dest, tag, comm)\n\nMPI_Rsend_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Rsend_init-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Rsend_init","text":"MPI_Rsend_init(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Rsend_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Rsend_init_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Rsend_init_c","text":"MPI_Rsend_init_c(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Rsend_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Scan-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Scan","text":"MPI_Scan(sendbuf, recvbuf, count, datatype, op, comm)\n\nMPI_Scan man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Scan_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Scan_c","text":"MPI_Scan_c(sendbuf, recvbuf, count, datatype, op, comm)\n\nMPI_Scan_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Scan_init-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Scan_init","text":"MPI_Scan_init(sendbuf, recvbuf, count, datatype, op, comm, info, request)\n\nMPI_Scan_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Scan_init_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Scan_init_c","text":"MPI_Scan_init_c(sendbuf, recvbuf, count, datatype, op, comm, info, request)\n\nMPI_Scan_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Scatter-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Scatter","text":"MPI_Scatter(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm)\n\nMPI_Scatter man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Scatter_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Scatter_c","text":"MPI_Scatter_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm)\n\nMPI_Scatter_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Scatter_init-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Scatter_init","text":"MPI_Scatter_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request)\n\nMPI_Scatter_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Scatter_init_c-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Scatter_init_c","text":"MPI_Scatter_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request)\n\nMPI_Scatter_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Scatterv-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Scatterv","text":"MPI_Scatterv(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm)\n\nMPI_Scatterv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Scatterv_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Scatterv_c","text":"MPI_Scatterv_c(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm)\n\nMPI_Scatterv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Scatterv_init-NTuple{11, Any}","page":"Low-level API","title":"MPI.API.MPI_Scatterv_init","text":"MPI_Scatterv_init(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request)\n\nMPI_Scatterv_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Scatterv_init_c-NTuple{11, Any}","page":"Low-level API","title":"MPI.API.MPI_Scatterv_init_c","text":"MPI_Scatterv_init_c(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request)\n\nMPI_Scatterv_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Send-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Send","text":"MPI_Send(buf, count, datatype, dest, tag, comm)\n\nMPI_Send man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Send_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Send_c","text":"MPI_Send_c(buf, count, datatype, dest, tag, comm)\n\nMPI_Send_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Send_init-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Send_init","text":"MPI_Send_init(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Send_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Send_init_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Send_init_c","text":"MPI_Send_init_c(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Send_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Sendrecv-NTuple{12, Any}","page":"Low-level API","title":"MPI.API.MPI_Sendrecv","text":"MPI_Sendrecv(sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, status)\n\nMPI_Sendrecv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Sendrecv_c-NTuple{12, Any}","page":"Low-level API","title":"MPI.API.MPI_Sendrecv_c","text":"MPI_Sendrecv_c(sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, status)\n\nMPI_Sendrecv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Sendrecv_replace-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Sendrecv_replace","text":"MPI_Sendrecv_replace(buf, count, datatype, dest, sendtag, source, recvtag, comm, status)\n\nMPI_Sendrecv_replace man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Sendrecv_replace_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Sendrecv_replace_c","text":"MPI_Sendrecv_replace_c(buf, count, datatype, dest, sendtag, source, recvtag, comm, status)\n\nMPI_Sendrecv_replace_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ssend-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Ssend","text":"MPI_Ssend(buf, count, datatype, dest, tag, comm)\n\nMPI_Ssend man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ssend_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Ssend_c","text":"MPI_Ssend_c(buf, count, datatype, dest, tag, comm)\n\nMPI_Ssend_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ssend_init-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Ssend_init","text":"MPI_Ssend_init(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Ssend_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ssend_init_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Ssend_init_c","text":"MPI_Ssend_init_c(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Ssend_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Start-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Start","text":"MPI_Start(request)\n\nMPI_Start man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Startall-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Startall","text":"MPI_Startall(count, array_of_requests)\n\nMPI_Startall man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Status_c2f-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Status_c2f","text":"MPI_Status_c2f(c_status, f_status)\n\nMPI_Status_c2f man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Status_f2c-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Status_f2c","text":"MPI_Status_f2c(f_status, c_status)\n\nMPI_Status_f2c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Status_set_cancelled-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Status_set_cancelled","text":"MPI_Status_set_cancelled(status, flag)\n\nMPI_Status_set_cancelled man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Status_set_elements-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Status_set_elements","text":"MPI_Status_set_elements(status, datatype, count)\n\nMPI_Status_set_elements man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Status_set_elements_x-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Status_set_elements_x","text":"MPI_Status_set_elements_x(status, datatype, count)\n\nMPI_Status_set_elements_x man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Test-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Test","text":"MPI_Test(request, flag, status)\n\nMPI_Test man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Test_cancelled-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Test_cancelled","text":"MPI_Test_cancelled(status, flag)\n\nMPI_Test_cancelled man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Testall-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Testall","text":"MPI_Testall(count, array_of_requests, flag, array_of_statuses)\n\nMPI_Testall man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Testany-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Testany","text":"MPI_Testany(count, array_of_requests, indx, flag, status)\n\nMPI_Testany man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Testsome-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Testsome","text":"MPI_Testsome(incount, array_of_requests, outcount, array_of_indices, array_of_statuses)\n\nMPI_Testsome man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Topo_test-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Topo_test","text":"MPI_Topo_test(comm, status)\n\nMPI_Topo_test man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_commit-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Type_commit","text":"MPI_Type_commit(datatype)\n\nMPI_Type_commit man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_contiguous-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_contiguous","text":"MPI_Type_contiguous(count, oldtype, newtype)\n\nMPI_Type_contiguous man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_contiguous_c-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_contiguous_c","text":"MPI_Type_contiguous_c(count, oldtype, newtype)\n\nMPI_Type_contiguous_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_darray-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_darray","text":"MPI_Type_create_darray(size, rank, ndims, array_of_gsizes, array_of_distribs, array_of_dargs, array_of_psizes, order, oldtype, newtype)\n\nMPI_Type_create_darray man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_darray_c-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_darray_c","text":"MPI_Type_create_darray_c(size, rank, ndims, array_of_gsizes, array_of_distribs, array_of_dargs, array_of_psizes, order, oldtype, newtype)\n\nMPI_Type_create_darray_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_f90_complex-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_f90_complex","text":"MPI_Type_create_f90_complex(p, r, newtype)\n\nMPI_Type_create_f90_complex man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_f90_integer-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_f90_integer","text":"MPI_Type_create_f90_integer(r, newtype)\n\nMPI_Type_create_f90_integer man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_f90_real-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_f90_real","text":"MPI_Type_create_f90_real(p, r, newtype)\n\nMPI_Type_create_f90_real man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_hindexed-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_hindexed","text":"MPI_Type_create_hindexed(count, array_of_blocklengths, array_of_displacements, oldtype, newtype)\n\nMPI_Type_create_hindexed man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_hindexed_block-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_hindexed_block","text":"MPI_Type_create_hindexed_block(count, blocklength, array_of_displacements, oldtype, newtype)\n\nMPI_Type_create_hindexed_block man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_hindexed_block_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_hindexed_block_c","text":"MPI_Type_create_hindexed_block_c(count, blocklength, array_of_displacements, oldtype, newtype)\n\nMPI_Type_create_hindexed_block_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_hindexed_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_hindexed_c","text":"MPI_Type_create_hindexed_c(count, array_of_blocklengths, array_of_displacements, oldtype, newtype)\n\nMPI_Type_create_hindexed_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_hvector-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_hvector","text":"MPI_Type_create_hvector(count, blocklength, stride, oldtype, newtype)\n\nMPI_Type_create_hvector man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_hvector_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_hvector_c","text":"MPI_Type_create_hvector_c(count, blocklength, stride, oldtype, newtype)\n\nMPI_Type_create_hvector_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_indexed_block-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_indexed_block","text":"MPI_Type_create_indexed_block(count, blocklength, array_of_displacements, oldtype, newtype)\n\nMPI_Type_create_indexed_block man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_indexed_block_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_indexed_block_c","text":"MPI_Type_create_indexed_block_c(count, blocklength, array_of_displacements, oldtype, newtype)\n\nMPI_Type_create_indexed_block_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_keyval-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_keyval","text":"MPI_Type_create_keyval(type_copy_attr_fn, type_delete_attr_fn, type_keyval, extra_state)\n\nMPI_Type_create_keyval man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_resized-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_resized","text":"MPI_Type_create_resized(oldtype, lb, extent, newtype)\n\nMPI_Type_create_resized man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_resized_c-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_resized_c","text":"MPI_Type_create_resized_c(oldtype, lb, extent, newtype)\n\nMPI_Type_create_resized_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_struct-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_struct","text":"MPI_Type_create_struct(count, array_of_blocklengths, array_of_displacements, array_of_types, newtype)\n\nMPI_Type_create_struct man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_struct_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_struct_c","text":"MPI_Type_create_struct_c(count, array_of_blocklengths, array_of_displacements, array_of_types, newtype)\n\nMPI_Type_create_struct_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_subarray-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_subarray","text":"MPI_Type_create_subarray(ndims, array_of_sizes, array_of_subsizes, array_of_starts, order, oldtype, newtype)\n\nMPI_Type_create_subarray man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_subarray_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_subarray_c","text":"MPI_Type_create_subarray_c(ndims, array_of_sizes, array_of_subsizes, array_of_starts, order, oldtype, newtype)\n\nMPI_Type_create_subarray_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_delete_attr-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_delete_attr","text":"MPI_Type_delete_attr(datatype, type_keyval)\n\nMPI_Type_delete_attr man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_dup-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_dup","text":"MPI_Type_dup(oldtype, newtype)\n\nMPI_Type_dup man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_extent-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_extent","text":"MPI_Type_extent(datatype, extent)\n\nMPI_Type_extent man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_free-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Type_free","text":"MPI_Type_free(datatype)\n\nMPI_Type_free man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_free_keyval-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Type_free_keyval","text":"MPI_Type_free_keyval(type_keyval)\n\nMPI_Type_free_keyval man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_get_attr-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_get_attr","text":"MPI_Type_get_attr(datatype, type_keyval, attribute_val, flag)\n\nMPI_Type_get_attr man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_get_contents-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_get_contents","text":"MPI_Type_get_contents(datatype, max_integers, max_addresses, max_datatypes, array_of_integers, array_of_addresses, array_of_datatypes)\n\nMPI_Type_get_contents man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_get_contents_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_get_contents_c","text":"MPI_Type_get_contents_c(datatype, max_integers, max_addresses, max_large_counts, max_datatypes, array_of_integers, array_of_addresses, array_of_large_counts, array_of_datatypes)\n\nMPI_Type_get_contents_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_get_envelope-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_get_envelope","text":"MPI_Type_get_envelope(datatype, num_integers, num_addresses, num_datatypes, combiner)\n\nMPI_Type_get_envelope man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_get_envelope_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_get_envelope_c","text":"MPI_Type_get_envelope_c(datatype, num_integers, num_addresses, num_large_counts, num_datatypes, combiner)\n\nMPI_Type_get_envelope_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_get_extent-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_get_extent","text":"MPI_Type_get_extent(datatype, lb, extent)\n\nMPI_Type_get_extent man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_get_extent_c-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_get_extent_c","text":"MPI_Type_get_extent_c(datatype, lb, extent)\n\nMPI_Type_get_extent_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_get_extent_x-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_get_extent_x","text":"MPI_Type_get_extent_x(datatype, lb, extent)\n\nMPI_Type_get_extent_x man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_get_name-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_get_name","text":"MPI_Type_get_name(datatype, type_name, resultlen)\n\nMPI_Type_get_name man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_get_true_extent-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_get_true_extent","text":"MPI_Type_get_true_extent(datatype, true_lb, true_extent)\n\nMPI_Type_get_true_extent man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_get_true_extent_c-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_get_true_extent_c","text":"MPI_Type_get_true_extent_c(datatype, true_lb, true_extent)\n\nMPI_Type_get_true_extent_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_get_true_extent_x-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_get_true_extent_x","text":"MPI_Type_get_true_extent_x(datatype, true_lb, true_extent)\n\nMPI_Type_get_true_extent_x man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_hindexed-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_hindexed","text":"MPI_Type_hindexed(count, array_of_blocklengths, array_of_displacements, oldtype, newtype)\n\nMPI_Type_hindexed man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_hvector-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_hvector","text":"MPI_Type_hvector(count, blocklength, stride, oldtype, newtype)\n\nMPI_Type_hvector man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_indexed-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_indexed","text":"MPI_Type_indexed(count, array_of_blocklengths, array_of_displacements, oldtype, newtype)\n\nMPI_Type_indexed man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_indexed_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_indexed_c","text":"MPI_Type_indexed_c(count, array_of_blocklengths, array_of_displacements, oldtype, newtype)\n\nMPI_Type_indexed_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_lb-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_lb","text":"MPI_Type_lb(datatype, displacement)\n\nMPI_Type_lb man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_match_size-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_match_size","text":"MPI_Type_match_size(typeclass, size, datatype)\n\nMPI_Type_match_size man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_set_attr-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_set_attr","text":"MPI_Type_set_attr(datatype, type_keyval, attribute_val)\n\nMPI_Type_set_attr man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_set_name-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_set_name","text":"MPI_Type_set_name(datatype, type_name)\n\nMPI_Type_set_name man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_size-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_size","text":"MPI_Type_size(datatype, size)\n\nMPI_Type_size man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_size_c-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_size_c","text":"MPI_Type_size_c(datatype, size)\n\nMPI_Type_size_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_size_x-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_size_x","text":"MPI_Type_size_x(datatype, size)\n\nMPI_Type_size_x man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_struct-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_struct","text":"MPI_Type_struct(count, array_of_blocklengths, array_of_displacements, array_of_types, newtype)\n\nMPI_Type_struct man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_ub-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_ub","text":"MPI_Type_ub(datatype, displacement)\n\nMPI_Type_ub man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_vector-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_vector","text":"MPI_Type_vector(count, blocklength, stride, oldtype, newtype)\n\nMPI_Type_vector man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_vector_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_vector_c","text":"MPI_Type_vector_c(count, blocklength, stride, oldtype, newtype)\n\nMPI_Type_vector_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Unpack-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Unpack","text":"MPI_Unpack(inbuf, insize, position, outbuf, outcount, datatype, comm)\n\nMPI_Unpack man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Unpack_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Unpack_c","text":"MPI_Unpack_c(inbuf, insize, position, outbuf, outcount, datatype, comm)\n\nMPI_Unpack_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Unpack_external-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Unpack_external","text":"MPI_Unpack_external(datarep, inbuf, insize, position, outbuf, outcount, datatype)\n\nMPI_Unpack_external man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Unpack_external_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Unpack_external_c","text":"MPI_Unpack_external_c(datarep, inbuf, insize, position, outbuf, outcount, datatype)\n\nMPI_Unpack_external_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Unpublish_name-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Unpublish_name","text":"MPI_Unpublish_name(service_name, info, port_name)\n\nMPI_Unpublish_name man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Wait-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Wait","text":"MPI_Wait(request, status)\n\nMPI_Wait man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Waitall-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Waitall","text":"MPI_Waitall(count, array_of_requests, array_of_statuses)\n\nMPI_Waitall man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Waitany-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Waitany","text":"MPI_Waitany(count, array_of_requests, indx, status)\n\nMPI_Waitany man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Waitsome-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Waitsome","text":"MPI_Waitsome(incount, array_of_requests, outcount, array_of_indices, array_of_statuses)\n\nMPI_Waitsome man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_allocate-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_allocate","text":"MPI_Win_allocate(size, disp_unit, info, comm, baseptr, win)\n\nMPI_Win_allocate man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_allocate_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_allocate_c","text":"MPI_Win_allocate_c(size, disp_unit, info, comm, baseptr, win)\n\nMPI_Win_allocate_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_allocate_shared-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_allocate_shared","text":"MPI_Win_allocate_shared(size, disp_unit, info, comm, baseptr, win)\n\nMPI_Win_allocate_shared man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_allocate_shared_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_allocate_shared_c","text":"MPI_Win_allocate_shared_c(size, disp_unit, info, comm, baseptr, win)\n\nMPI_Win_allocate_shared_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_attach-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_attach","text":"MPI_Win_attach(win, base, size)\n\nMPI_Win_attach man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_call_errhandler-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_call_errhandler","text":"MPI_Win_call_errhandler(win, errorcode)\n\nMPI_Win_call_errhandler man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_complete-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Win_complete","text":"MPI_Win_complete(win)\n\nMPI_Win_complete man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_create-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_create","text":"MPI_Win_create(base, size, disp_unit, info, comm, win)\n\nMPI_Win_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_create_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_create_c","text":"MPI_Win_create_c(base, size, disp_unit, info, comm, win)\n\nMPI_Win_create_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_create_dynamic-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_create_dynamic","text":"MPI_Win_create_dynamic(info, comm, win)\n\nMPI_Win_create_dynamic man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_create_errhandler-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_create_errhandler","text":"MPI_Win_create_errhandler(win_errhandler_fn, errhandler)\n\nMPI_Win_create_errhandler man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_create_keyval-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_create_keyval","text":"MPI_Win_create_keyval(win_copy_attr_fn, win_delete_attr_fn, win_keyval, extra_state)\n\nMPI_Win_create_keyval man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_delete_attr-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_delete_attr","text":"MPI_Win_delete_attr(win, win_keyval)\n\nMPI_Win_delete_attr man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_detach-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_detach","text":"MPI_Win_detach(win, base)\n\nMPI_Win_detach man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_fence-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_fence","text":"MPI_Win_fence(assert, win)\n\nMPI_Win_fence man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_flush-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_flush","text":"MPI_Win_flush(rank, win)\n\nMPI_Win_flush man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_flush_all-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Win_flush_all","text":"MPI_Win_flush_all(win)\n\nMPI_Win_flush_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_flush_local-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_flush_local","text":"MPI_Win_flush_local(rank, win)\n\nMPI_Win_flush_local man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_flush_local_all-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Win_flush_local_all","text":"MPI_Win_flush_local_all(win)\n\nMPI_Win_flush_local_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_free-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Win_free","text":"MPI_Win_free(win)\n\nMPI_Win_free man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_free_keyval-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Win_free_keyval","text":"MPI_Win_free_keyval(win_keyval)\n\nMPI_Win_free_keyval man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_get_attr-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_get_attr","text":"MPI_Win_get_attr(win, win_keyval, attribute_val, flag)\n\nMPI_Win_get_attr man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_get_errhandler-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_get_errhandler","text":"MPI_Win_get_errhandler(win, errhandler)\n\nMPI_Win_get_errhandler man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_get_group-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_get_group","text":"MPI_Win_get_group(win, group)\n\nMPI_Win_get_group man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_get_info-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_get_info","text":"MPI_Win_get_info(win, info_used)\n\nMPI_Win_get_info man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_get_name-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_get_name","text":"MPI_Win_get_name(win, win_name, resultlen)\n\nMPI_Win_get_name man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_lock-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_lock","text":"MPI_Win_lock(lock_type, rank, assert, win)\n\nMPI_Win_lock man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_lock_all-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_lock_all","text":"MPI_Win_lock_all(assert, win)\n\nMPI_Win_lock_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_post-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_post","text":"MPI_Win_post(group, assert, win)\n\nMPI_Win_post man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_set_attr-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_set_attr","text":"MPI_Win_set_attr(win, win_keyval, attribute_val)\n\nMPI_Win_set_attr man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_set_errhandler-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_set_errhandler","text":"MPI_Win_set_errhandler(win, errhandler)\n\nMPI_Win_set_errhandler man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_set_info-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_set_info","text":"MPI_Win_set_info(win, info)\n\nMPI_Win_set_info man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_set_name-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_set_name","text":"MPI_Win_set_name(win, win_name)\n\nMPI_Win_set_name man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_shared_query-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_shared_query","text":"MPI_Win_shared_query(win, rank, size, disp_unit, baseptr)\n\nMPI_Win_shared_query man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_shared_query_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_shared_query_c","text":"MPI_Win_shared_query_c(win, rank, size, disp_unit, baseptr)\n\nMPI_Win_shared_query_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_start-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_start","text":"MPI_Win_start(group, assert, win)\n\nMPI_Win_start man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_sync-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Win_sync","text":"MPI_Win_sync(win)\n\nMPI_Win_sync man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_test-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_test","text":"MPI_Win_test(win, flag)\n\nMPI_Win_test man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_unlock-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_unlock","text":"MPI_Win_unlock(rank, win)\n\nMPI_Win_unlock man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_unlock_all-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Win_unlock_all","text":"MPI_Win_unlock_all(win)\n\nMPI_Win_unlock_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_wait-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Win_wait","text":"MPI_Win_wait(win)\n\nMPI_Win_wait man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Wtick-Tuple{}","page":"Low-level API","title":"MPI.API.MPI_Wtick","text":"MPI_Wtick()\n\nMPI_Wtick man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Wtime-Tuple{}","page":"Low-level API","title":"MPI.API.MPI_Wtime","text":"MPI_Wtime()\n\nMPI_Wtime man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/collective/#Collective-communication","page":"Collective communication","title":"Collective communication","text":"","category":"section"},{"location":"reference/collective/#Synchronization","page":"Collective communication","title":"Synchronization","text":"","category":"section"},{"location":"reference/collective/","page":"Collective communication","title":"Collective communication","text":"MPI.Barrier\nMPI.Ibarrier","category":"page"},{"location":"reference/collective/#MPI.Barrier","page":"Collective communication","title":"MPI.Barrier","text":"Barrier(comm::Comm)\n\nBlocks until comm is synchronized.\n\nIf comm is an intracommunicator, then it blocks until all members of the group have called it.\n\nIf comm is an intercommunicator, then it blocks until all members of the other group have called it.\n\nExternal links\n\nMPI_Barrier man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Ibarrier","page":"Collective communication","title":"MPI.Ibarrier","text":"Ibarrier(comm::Comm)\n\nBlocks until comm is synchronized.\n\nIf comm is an intracommunicator, then it blocks until all members of the group have called it.\n\nIf comm is an intercommunicator, then it blocks until all members of the other group have called it.\n\nExternal links\n\nMPI_Ibarrier man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#Broadcast","page":"Collective communication","title":"Broadcast","text":"","category":"section"},{"location":"reference/collective/","page":"Collective communication","title":"Collective communication","text":"MPI.Bcast!\nMPI.bcast","category":"page"},{"location":"reference/collective/#MPI.Bcast!","page":"Collective communication","title":"MPI.Bcast!","text":"Bcast!(buf, comm::Comm; root::Integer=0)\n\nBroadcast the buffer buf from root to all processes in comm.\n\nSee also\n\nbcast\n\nExternal links\n\nMPI_Bcast man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.bcast","page":"Collective communication","title":"MPI.bcast","text":"bcast(obj, comm::Comm; root::Integer=0)\n\nBroadcast the object obj from rank root to all processes on comm. This is able to handle arbitrary data.\n\nSee also\n\nBcast!\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#Gather/Scatter","page":"Collective communication","title":"Gather/Scatter","text":"","category":"section"},{"location":"reference/collective/#Gather","page":"Collective communication","title":"Gather","text":"","category":"section"},{"location":"reference/collective/","page":"Collective communication","title":"Collective communication","text":"MPI.Gather!\nMPI.Gather\nMPI.Gatherv!\nMPI.Allgather!\nMPI.Allgather\nMPI.Allgatherv!\nMPI.Neighbor_allgather!\nMPI.Neighbor_allgatherv!","category":"page"},{"location":"reference/collective/#MPI.Gather!","page":"Collective communication","title":"MPI.Gather!","text":"Gather!(sendbuf, recvbuf, comm::Comm; root::Integer=0)\n\nEach process sends the contents of the buffer sendbuf to the root process. The root process stores elements in rank order in the buffer buffer recvbuf.\n\nsendbuf should be a Buffer object, or any object for which Buffer_send is defined, with the same length on all processes, and should be the same length on all processes.\n\nOn the root process, sendbuf can be MPI.IN_PLACE on the root process, in which case the corresponding entries in recvbuf are assumed to be already in place (this corresponds the behaviour of MPI_IN_PLACE in MPI_Gather). For example:\n\nif root == MPI.Comm_rank(comm)\n    MPI.Gather!(MPI.IN_PLACE, UBuffer(buf, count), comm; root=root)\nelse\n    MPI.Gather!(buf, nothing, comm; root=root)\nend\n\nrecvbuf on the root process should be a UBuffer, or can be an AbstractArray if the length can be determined from sendbuf. On non-root processes it is ignored and can be nothing.\n\nSee also\n\nGather for the allocating operation.\nGatherv! if the number of elements varies between processes.\nAllgather! to send the result to all processes.\n\nExternal links\n\nMPI_Gather man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Gather","page":"Collective communication","title":"MPI.Gather","text":"Gather(sendbuf, comm::Comm; root=0)\n\nEach process sends the contents of the buffer sendbuf to the root process. The root allocates the output buffer and stores elements in rank order.\n\nsendbuf can be an AbstractArray or a scalar, and should be the same length on all processes.\n\nSee also\n\nGather! for the mutating operation.\nGatherv! if the number of elements varies between processes.\nAllgather!/Allgather to send the result to all processes.\n\nExternal links\n\nMPI_Gather man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Gatherv!","page":"Collective communication","title":"MPI.Gatherv!","text":"Gatherv!(sendbuf, recvbuf, comm::Comm; root::Integer=0)\n\nEach process sends the contents of the buffer sendbuf to the root process. The root stores elements in rank order in the buffer recvbuf.\n\nsendbuf should be a Buffer object, or any object for which Buffer_send is defined, with the same length on all processes.\n\nOn the root process, sendbuf can be MPI.IN_PLACE, in which case the corresponding entries in recvbuf are assumed to be already in place. For example\n\nif root == MPI.Comm_rank(comm)\n    Gatherv!(MPI.IN_PLACE, VBuffer(buf, counts), comm; root=root)\nelse\n    Gatherv!(buf, nothing, comm; root=root)\nend\n\nrecvbuf on the root process should be a VBuffer, or can be an AbstractArray if the length can be determined from sendbuf. On non-root processes it is ignored and can be nothing.\n\nSee also\n\nGatherv! for the allocating operation\nGather!\nAllgatherv! to send the result to all processes\n\nExternal links\n\nMPI_Gatherv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Allgather!","page":"Collective communication","title":"MPI.Allgather!","text":"Allgather!(sendbuf, recvbuf::UBuffer, comm::Comm)\nAllgather!(sendrecvbuf::UBuffer, comm::Comm)\n\nEach process sends the contents of sendbuf to the other processes, the result of which is stored in rank order into recvbuf.\n\nsendbuf can be a Buffer object, or any object for which Buffer_send is defined, and should be the same length on all processes.\n\nrecvbuf can be a UBuffer, or can be an AbstractArray if the length can be determined from sendbuf.\n\nIf only one buffer sendrecvbuf is provided, then on each process the data to send is assumed to be in the area where it would receive its own contribution.\n\nSee also\n\nAllgather for the allocating operation\nAllgatherv! if the number of elements varies between processes.\nGather! to send only to a single root process\n\nExternal links\n\nMPI_Allgather man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Allgather","page":"Collective communication","title":"MPI.Allgather","text":"Allgather(sendbuf, comm)\n\nEach process sends the contents of sendbuf to the other processes, who store the results in rank order allocating the output buffer.\n\nsendbuf can be an AbstractArray or a scalar, and should be the same size on all processes.\n\nSee also\n\nAllgather! for the mutating operation\nAllgatherv! if the number of elements varies between processes.\nGather! to send only to a single root process\n\nExternal links\n\nMPI_Allgather man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Allgatherv!","page":"Collective communication","title":"MPI.Allgatherv!","text":"Allgatherv!(sendbuf, recvbuf::VBuffer, comm::Comm)\nAllgatherv!(sendrecvbuf::VBuffer, comm::Comm)\n\nEach process sends the contents of sendbuf to all other process. Each process stores the received in the VBuffer recvbuf.\n\nsendbuf can be a Buffer object, or any object for which Buffer_send is defined.\n\nIf only one buffer sendrecvbuf is provided, then for each process, the data to be sent is taken from the interval of recvbuf where it would store its own data.\n\nSee also\n\nGatherv! to send the result to a single process\n\nExternal links\n\nMPI_Allgatherv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Neighbor_allgather!","page":"Collective communication","title":"MPI.Neighbor_allgather!","text":"Neighbor_allgather!(sendbuf::Buffer, recvbuf::UBuffer, comm::Comm)\n\nPerform an all-gather communication along the directed edges of the graph.\n\nSee also MPI.Allgather!.\n\nExternal links\n\nMPI_Neighbor_allgather man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Neighbor_allgatherv!","page":"Collective communication","title":"MPI.Neighbor_allgatherv!","text":"Neighbor_allgatherv!(sendbuf::Buffer, recvbuf::VBuffer, comm::Comm)\n\nPerform an all-gather communication along the directed edges of the graph with variable sized data.\n\nSee also MPI.Allgatherv!.\n\nExternal links\n\nMPI_Neighbor_allgatherv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#Scatter","page":"Collective communication","title":"Scatter","text":"","category":"section"},{"location":"reference/collective/","page":"Collective communication","title":"Collective communication","text":"MPI.Scatter!\nMPI.Scatter\nMPI.Scatterv!","category":"page"},{"location":"reference/collective/#MPI.Scatter!","page":"Collective communication","title":"MPI.Scatter!","text":"Scatter!(sendbuf::Union{UBuffer,Nothing}, recvbuf, comm::Comm;\n    root::Integer=0)\n\nSplits the buffer sendbuf in the root process into Comm_size(comm) chunks, sending the j-th chunk to the process of rank j-1 into the recvbuf buffer.\n\nsendbuf on the root process should be a UBuffer (an Array can also be passed directly if the sizes can be determined from recvbuf). On non-root processes it is ignored, and nothing can be passed instead.\n\nrecvbuf is a Buffer object, or any object for which Buffer(recvbuf) is defined. On the root process, it can also be MPI.IN_PLACE, in which case it is unmodified. For example:\n\nif root == MPI.Comm_rank(comm)\n    MPI.Scatter!(UBuffer(buf, count), MPI.IN_PLACE, comm; root=root)\nelse\n    MPI.Scatter!(nothing, buf, comm; root=root)\nend\n\nSee also\n\nScatterv! if the number of elements varies between processes.\n\nExternal links\n\nMPI_Scatter man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Scatter","page":"Collective communication","title":"MPI.Scatter","text":"Scatter(sendbuf, T, comm::Comm; root::Integer=0)\n\nSplits the buffer sendbuf in the root process into Comm_size(comm) chunks, sending the j-th chunk to the process of rank j-1 as an object of type T.\n\nSee also\n\nScatter!\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Scatterv!","page":"Collective communication","title":"MPI.Scatterv!","text":"Scatterv!(sendbuf, recvbuf, comm::Comm; root::Integer=0)\n\nSplits the buffer sendbuf in the root process into Comm_size(comm) chunks and sends the jth chunk to the process of rank j-1 into the recvbuf buffer.\n\nsendbuf on the root process should be a VBuffer. On non-root processes it is ignored, and nothing can be passed instead.\n\nrecvbuf is a Buffer object, or any object for which Buffer(recvbuf) is defined. On the root process, it can also be MPI.IN_PLACE, in which case it is unmodified. For example:\n\nif root == MPI.Comm_rank(comm)\n    MPI.Scatterv!(VBuffer(buf, counts), MPI.IN_PLACE, comm; root=root)\nelse\n    MPI.Scatterv!(nothing, buf, comm; root=root)\nend\n\nSee also\n\nScatter! if the number of elements are the same for all processes\n\nExternal links\n\nMPI_Scatterv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#All-to-all","page":"Collective communication","title":"All-to-all","text":"","category":"section"},{"location":"reference/collective/","page":"Collective communication","title":"Collective communication","text":"MPI.Alltoall!\nMPI.Alltoall\nMPI.Alltoallv!\nMPI.Neighbor_alltoall!\nMPI.Neighbor_alltoallv!","category":"page"},{"location":"reference/collective/#MPI.Alltoall!","page":"Collective communication","title":"MPI.Alltoall!","text":"Alltoall!(sendbuf::UBuffer, recvbuf::UBuffer, comm::Comm)\nAlltoall!(sendrecvbuf::UBuffer, comm::Comm)\n\nEvery process divides the UBuffer sendbuf into Comm_size(comm) chunks of equal size, sending the j-th chunk to the process of rank j-1.  Every process stores the data received from rank j-1 process in the j-th chunk of the buffer recvbuf.\n\nrank    send buf                        recv buf\n----    --------                        --------\n 0      a,b,c,d,e,f       Alltoall      a,b,A,B,α,β\n 1      A,B,C,D,E,F  ---------------->  c,d,C,D,γ,ψ\n 2      α,β,γ,ψ,η,ν                     e,f,E,F,η,ν\n\nIf only one buffer sendrecvbuf is used, then data is overwritten.\n\nSee also\n\nAlltoall for the allocating operation\n\nExternal links\n\nMPI_Alltoall man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Alltoall","page":"Collective communication","title":"MPI.Alltoall","text":"Alltoall(sendbuf::UBuffer, comm::Comm)\n\nEvery process divides the UBuffer sendbuf into Comm_size(comm) chunks of equal size, sending the j-th chunk to the process of rank j-1. Every process allocates the output buffer and stores the data received from the process on rank j-1 in the j-th chunk.\n\nrank    send buf                        recv buf\n----    --------                        --------\n 0      a,b,c,d,e,f       Alltoall      a,b,A,B,α,β\n 1      A,B,C,D,E,F  ---------------->  c,d,C,D,γ,ψ\n 2      α,β,γ,ψ,η,ν                     e,f,E,F,η,ν\n\nSee also\n\nAlltoall! for the mutating operation\n\nExternal links\n\nMPI_Alltoall man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Alltoallv!","page":"Collective communication","title":"MPI.Alltoallv!","text":"Alltoallv!(sendbuf::VBuffer, recvbuf::VBuffer, comm::Comm)\n\nSimilar to Alltoall!, except with different size chunks per process.\n\nSee also\n\nVBuffer\n\nExternal links\n\nMPI_Alltoallv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Neighbor_alltoall!","page":"Collective communication","title":"MPI.Neighbor_alltoall!","text":"Neighbor_alltoall!(sendbuf::UBuffer, recvbuf::UBuffer, comm::Comm)\n\nPerform an all-to-all communication along the directed edges of the graph with fixed size messages.\n\nSee also MPI.Alltoall!.\n\nExternal links\n\nMPI_Neighbor_alltoall man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Neighbor_alltoallv!","page":"Collective communication","title":"MPI.Neighbor_alltoallv!","text":"Neighbor_alltoallv!(sendbuf::VBuffer, recvbuf::VBuffer, graph_comm::Comm)\n\nPerform an all-to-all communication along the directed edges of the graph with variable size messages.\n\nSee also MPI.Alltoallv!.\n\nExternal links\n\nMPI_Neighbor_alltoallv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#Reduce/Scan","page":"Collective communication","title":"Reduce/Scan","text":"","category":"section"},{"location":"reference/collective/","page":"Collective communication","title":"Collective communication","text":"MPI.Reduce!\nMPI.Reduce\nMPI.Allreduce!\nMPI.Allreduce\nMPI.Scan!\nMPI.Scan\nMPI.Exscan!\nMPI.Exscan","category":"page"},{"location":"reference/collective/#MPI.Reduce!","page":"Collective communication","title":"MPI.Reduce!","text":"Reduce!(sendbuf, recvbuf, op, comm::Comm; root::Integer=0)\nReduce!(sendrecvbuf, op, comm::Comm; root::Integer=0)\n\nPerforms elementwise reduction using the operator op on the buffer sendbuf and stores the result in recvbuf on the process of rank root.\n\nOn non-root processes recvbuf is ignored, and can be nothing.\n\nTo perform the reduction in place, provide a single buffer sendrecvbuf.\n\nSee also\n\nReduce to handle allocation of the output buffer.\nAllreduce!/Allreduce to send reduction to all ranks.\nOp for details on reduction operators.\n\nExternal links\n\nMPI_Reduce man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Reduce","page":"Collective communication","title":"MPI.Reduce","text":"recvbuf = Reduce(sendbuf, op, comm::Comm; root::Integer=0)\n\nPerforms elementwise reduction using the operator op on the buffer sendbuf, returning the result recvbuf on the process of rank root, and nothing on non-root processes.\n\nsendbuf can also be a scalar, in which case recvbuf will be a value of the same type.\n\nSee also\n\nReduce! for mutating and in-place operations\nAllreduce!/Allreduce to send reduction to all ranks.\nOp for details on reduction operators.\n\nExternal links\n\nMPI_Reduce man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Allreduce!","page":"Collective communication","title":"MPI.Allreduce!","text":"Allreduce!(sendbuf, recvbuf, op, comm::Comm)\nAllreduce!(sendrecvbuf, op, comm::Comm)\n\nPerforms elementwise reduction using the operator op on the buffer sendbuf, storing the result in the recvbuf of all processes in the group.\n\nAllreduce! is equivalent to a Reduce! operation followed by a Bcast!, but can lead to better performance.\n\nIf only one sendrecvbuf buffer is provided, then the operation is performed in-place.\n\nSee also\n\nAllreduce, to handle allocation of the output buffer.\nReduce!/Reduce to send reduction to a single rank.\nOp for details on reduction operators.\n\nExternal links\n\nMPI_Allreduce man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Allreduce","page":"Collective communication","title":"MPI.Allreduce","text":"recvbuf = Allreduce(sendbuf, op, comm)\n\nPerforms elementwise reduction using the operator op on the buffer sendbuf, returning the result in the recvbuf of all processes in the group.\n\nsendbuf can also be a scalar, in which case recvbuf will be a value of the same type.\n\nSee also\n\nAllreduce! for mutating or in-place operations.\nReduce!/Reduce to send reduction to a single rank.\nOp for details on reduction operators.\n\nExternal links\n\nMPI_Allreduce man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Scan!","page":"Collective communication","title":"MPI.Scan!","text":"Scan!(sendbuf, recvbuf, op, comm::Comm)\nScan!(sendrecvbuf, op, comm::Comm)\n\nInclusive prefix reduction (analagous to accumulate in Julia): recvbuf on rank i will contain the the result of reducing sendbuf by op from ranks 0:i.\n\nIf only a single buffer sendrecvbuf is provided, then operations will be performed in-place.\n\nSee also\n\nScan to handle allocation of the output buffer\nExscan!/Exscan for exclusive scan\nOp for details on reduction operators.\n\nExternal links\n\nMPI_Scan man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Scan","page":"Collective communication","title":"MPI.Scan","text":"recvbuf = Scan(sendbuf, op, comm::Comm)\n\nInclusive prefix reduction (analagous to accumulate in Julia): recvbuf on rank i will contain the the result of reducing sendbuf by op from ranks 0:i.\n\nsendbuf can also be a scalar, in which case recvbuf will also be a scalar of the same type.\n\nSee also\n\nScan! for mutating or in-place operations\nExscan!/Exscan for exclusive scan\nOp for details on reduction operators.\n\nExternal links\n\nMPI_Scan man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Exscan!","page":"Collective communication","title":"MPI.Exscan!","text":"Exscan!(sendbuf, recvbuf, op, comm::Comm)\nExscan!(sendrecvbuf, op, comm::Comm)\n\nExclusive prefix reduction (analagous to accumulate in Julia): recvbuf on rank i will contain the the result of reducing sendbuf by op from ranks 0:i-1. The recvbuf on rank 0 is ignored, and the recvbuf on rank 1 will contain the contents of sendbuf on rank 0.\n\nIf only a single sendrecvbuf is provided, then operations are performed in-place, and buf on rank 0 will remain unchanged.\n\nSee also\n\nExscan to handle allocation of the output buffer\nScan!/Scan for inclusive scan\nOp for details on reduction operators.\n\nExternal links\n\nMPI_Exscan man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Exscan","page":"Collective communication","title":"MPI.Exscan","text":"recvbuf = Exscan(sendbuf, op, comm::Comm)\n\nExclusive prefix reduction (analagous to accumulate in Julia): recvbuf on rank i will contain the the result of reducing sendbuf by op from ranks 0:i-1. The recvbuf on rank 0 is undefined, and the recvbuf on rank 1 will contain the contents of sendbuf on rank 0.\n\nSee also\n\nExscan! for mutating and in-place operations\nScan!/Scan for inclusive scan\nOp for details on reduction operators.\n\nExternal links\n\nMPI_Scan man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"#MPI.jl","page":"MPI.jl","title":"MPI.jl","text":"","category":"section"},{"location":"","page":"MPI.jl","title":"MPI.jl","text":"This is a basic Julia wrapper for the portable message passing system Message Passing Interface (MPI). Inspiration is taken from mpi4py, although we generally follow the C and not the C++ MPI API. (The C++ MPI API is deprecated.)","category":"page"},{"location":"","page":"MPI.jl","title":"MPI.jl","text":"If you use MPI.jl in your work, please cite the following paper:","category":"page"},{"location":"","page":"MPI.jl","title":"MPI.jl","text":"Simon Byrne, Lucas C. Wilcox, and Valentin Churavy (2021) \"MPI.jl: Julia bindings for the Message Passing Interface\". JuliaCon Proceedings, 1(1), 68, doi: 10.21105/jcon.00068","category":"page"}]
-}
diff --git a/previews/PR676/siteinfo.js b/previews/PR676/siteinfo.js
deleted file mode 100644
index 148045672..000000000
--- a/previews/PR676/siteinfo.js
+++ /dev/null
@@ -1 +0,0 @@
-var DOCUMENTER_CURRENT_VERSION = "previews/PR676";
diff --git a/previews/PR676/usage/index.html b/previews/PR676/usage/index.html
deleted file mode 100644
index c74b45bf9..000000000
--- a/previews/PR676/usage/index.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Usage · MPI.jl</title><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../"><img src="../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../">MPI.jl</a></span></div><form class="docs-search" action="../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../">MPI.jl</a></li><li><a class="tocitem" href="../configuration/">Configuration</a></li><li class="is-active"><a class="tocitem" href>Usage</a><ul class="internal"><li><a class="tocitem" href="#Basic-example"><span>Basic example</span></a></li><li><a class="tocitem" href="#Julia-wrapper-for-mpiexec"><span>Julia wrapper for <code>mpiexec</code></span></a></li><li><a class="tocitem" href="#CUDA-aware-MPI-support"><span>CUDA-aware MPI support</span></a></li><li><a class="tocitem" href="#ROCm-aware-MPI-support"><span>ROCm-aware MPI support</span></a></li><li><a class="tocitem" href="#Writing-MPI-tests"><span>Writing MPI tests</span></a></li></ul></li><li><a class="tocitem" href="../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../reference/library/">Library information</a></li><li><a class="tocitem" href="../reference/environment/">Environment</a></li><li><a class="tocitem" href="../reference/misc/">Miscellanea</a></li><li><a class="tocitem" href="../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../reference/topology/">Topology</a></li><li><a class="tocitem" href="../reference/io/">I/O</a></li><li><a class="tocitem" href="../reference/advanced/">Advanced</a></li><li><a class="tocitem" href="../reference/api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>Usage</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Usage</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/usage.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Usage"><a class="docs-heading-anchor" href="#Usage">Usage</a><a id="Usage-1"></a><a class="docs-heading-anchor-permalink" href="#Usage" title="Permalink"></a></h1><p>MPI is based on a <a href="https://en.wikipedia.org/wiki/SPMD">single program, multiple data (SPMD)</a> model, where multiple processes are launched running independent programs, which then communicate as necessary via messages.</p><p>As the main entry point for users, <code>MPI.jl</code> provides a high-level interface which loosely follows the MPI C API and is described in details in the following sections. The syntax should look familiar if you know MPI already, but some arguments may not be needed (e.g. the type or the number of elements of arrays, which are inferred automatically), others may be placed slightly differently, and others may be optional keyword arguments (e.g. for the index of the root process, or the source and destination of point-to-point communication functions).</p><p>In addition to the high-level interface, <code>MPI.jl</code> provides a <a href="../reference/api/#Low-level-API">low-level API</a> which closely matches the MPI C API and from which it has been automatically generated. This is not intended for general usage, but it can be employed if a high-level wrapper is not yet available.</p><h2 id="Basic-example"><a class="docs-heading-anchor" href="#Basic-example">Basic example</a><a id="Basic-example-1"></a><a class="docs-heading-anchor-permalink" href="#Basic-example" title="Permalink"></a></h2><p>A script should include <code>using MPI</code> and <a href="../reference/environment/#MPI.Init"><code>MPI.Init()</code></a> statements before calling any MPI operations, for example</p><pre><code class="language-julia hljs"># examples/01-hello.jl
-using MPI
-MPI.Init()
-
-comm = MPI.COMM_WORLD
-println(&quot;Hello world, I am $(MPI.Comm_rank(comm)) of $(MPI.Comm_size(comm))&quot;)
-MPI.Barrier(comm)</code></pre><p>Calling <a href="../reference/environment/#MPI.Finalize"><code>MPI.Finalize()</code></a> at the end of the program is optional, as it will be called automatically when Julia exits.</p><p>The program can then be launched via an MPI launch command (typically <code>mpiexec</code>, <code>mpirun</code> or <code>srun</code>), e.g.</p><pre><code class="nohighlight hljs">$ mpiexec -n 3 julia --project examples/01-hello.jl
-Hello world, I am rank 0 of 3
-Hello world, I am rank 2 of 3
-Hello world, I am rank 1 of 3</code></pre><p>The <a href="../reference/environment/#MPICH_jll.mpiexec"><code>mpiexec</code></a> function is provided for launching MPI programs from Julia itself.</p><h2 id="Julia-wrapper-for-mpiexec"><a class="docs-heading-anchor" href="#Julia-wrapper-for-mpiexec">Julia wrapper for <code>mpiexec</code></a><a id="Julia-wrapper-for-mpiexec-1"></a><a class="docs-heading-anchor-permalink" href="#Julia-wrapper-for-mpiexec" title="Permalink"></a></h2><p>Since you can configure <code>MPI.jl</code> to use one of several MPI implementations, you may have different Julia projects using different implementation.  Thus, it may be cumbersome to find out which <code>mpiexec</code> executable is associated to a specific project.  To make this easy, on Unix-based systems <code>MPI.jl</code> comes with a thin project-aware wrapper around <code>mpiexec</code>, called <code>mpiexecjl</code>.</p><h3 id="Installation"><a class="docs-heading-anchor" href="#Installation">Installation</a><a id="Installation-1"></a><a class="docs-heading-anchor-permalink" href="#Installation" title="Permalink"></a></h3><p>You can install <code>mpiexecjl</code> with <a href="../reference/environment/#MPI.install_mpiexecjl"><code>MPI.install_mpiexecjl()</code></a>.  The default destination directory is <code>joinpath(DEPOT_PATH[1], &quot;bin&quot;)</code>, which usually translates to <code>~/.julia/bin</code>, but check the value on your system.  You can also tell <code>MPI.install_mpiexecjl</code> to install to a different directory.</p><pre><code class="language-sh hljs">$ julia
-julia&gt; using MPI
-julia&gt; MPI.install_mpiexecjl()</code></pre><p>To quickly call this wrapper we recommend you to add the destination directory to your <a href="https://en.wikipedia.org/wiki/PATH_(variable)"><code>PATH</code></a> environment variable.</p><h3 id="Usage-2"><a class="docs-heading-anchor" href="#Usage-2">Usage</a><a class="docs-heading-anchor-permalink" href="#Usage-2" title="Permalink"></a></h3><p><code>mpiexecjl</code> has the same syntax as the <code>mpiexec</code> binary that will be called, but it takes in addition a <code>--project</code> option to call the specific binary associated to the <code>MPI.jl</code> version in the given project.  If no <code>--project</code> flag is used, the <code>MPI.jl</code> in the global Julia environment will be used instead.</p><p>After installing <code>mpiexecjl</code> and adding its directory to <code>PATH</code>, you can run it with:</p><pre><code class="language-sh hljs">$ mpiexecjl --project=/path/to/project -n 20 julia script.jl</code></pre><h2 id="CUDA-aware-MPI-support"><a class="docs-heading-anchor" href="#CUDA-aware-MPI-support">CUDA-aware MPI support</a><a id="CUDA-aware-MPI-support-1"></a><a class="docs-heading-anchor-permalink" href="#CUDA-aware-MPI-support" title="Permalink"></a></h2><p>If your MPI implementation has been compiled with CUDA support, then <code>CUDA.CuArray</code>s (from the <a href="https://github.com/JuliaGPU/CUDA.jl">CUDA.jl</a> package) can be passed directly as send and receive buffers for point-to-point and collective operations (they may also work with one-sided operations, but these are not often supported).</p><p>Successfully running the <a href="https://gist.github.com/luraess/0063e90cb08eb2208b7fe204bbd90ed2">alltoall_test_cuda.jl</a>  should confirm your MPI implementation to have the CUDA support enabled. Moreover, successfully running the  <a href="https://gist.github.com/luraess/ed93cc09ba04fe16f63b4219c1811566">alltoall_test_cuda_multigpu.jl</a> should confirm  your CUDA-aware MPI implementation to use multiple Nvidia GPUs (one GPU per rank).</p><p>If using OpenMPI, the status of CUDA support can be checked via the <a href="../reference/library/#MPI.has_cuda"><code>MPI.has_cuda()</code></a> function.</p><h2 id="ROCm-aware-MPI-support"><a class="docs-heading-anchor" href="#ROCm-aware-MPI-support">ROCm-aware MPI support</a><a id="ROCm-aware-MPI-support-1"></a><a class="docs-heading-anchor-permalink" href="#ROCm-aware-MPI-support" title="Permalink"></a></h2><p>If your MPI implementation has been compiled with ROCm support (AMDGPU), then <code>AMDGPU.ROCArray</code>s (from the <a href="https://github.com/JuliaGPU/AMDGPU.jl">AMDGPU.jl</a> package) can be passed directly as send and receive buffers for point-to-point and collective operations (they may also work with one-sided operations, but these are not often supported).</p><p>Successfully running the <a href="https://gist.github.com/luraess/c228ec08629737888a18c6a1e397643c">alltoall_test_rocm.jl</a>  should confirm your MPI implementation to have the ROCm support (AMDGPU) enabled. Moreover, successfully running the  <a href="https://gist.github.com/luraess/a47931d7fb668bd4348a2c730d5489f4">alltoall_test_rocm_multigpu.jl</a> should confirm  your ROCm-aware MPI implementation to use multiple AMD GPUs (one GPU per rank).</p><p>The status of ROCm (AMDGPU) support cannot currently be queried.</p><h2 id="Writing-MPI-tests"><a class="docs-heading-anchor" href="#Writing-MPI-tests">Writing MPI tests</a><a id="Writing-MPI-tests-1"></a><a class="docs-heading-anchor-permalink" href="#Writing-MPI-tests" title="Permalink"></a></h2><p>It is recommended to use the <code>mpiexec()</code> wrapper when writing your package tests in <code>runtests.jl</code>:</p><pre><code class="language-julia hljs"># test/runtests.jl
-using MPI
-using Test
-
-@testset &quot;hello&quot; begin
-    n = 2  # number of processes
-    mpiexec() do exe  # MPI wrapper
-        run(`$exe -n $n $(Base.julia_cmd()) [...]/01-hello.jl`)
-        # alternatively:
-        # p = run(ignorestatus(`...`))
-        # @test success(p)
-    end
-end</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../configuration/">« Configuration</a><a class="docs-footer-nextpage" href="../knownissues/">Known issues »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Sunday 6 November 2022 21:18">Sunday 6 November 2022</span>. Using Julia version 1.8.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR747/assets/documenter.js b/previews/PR747/assets/documenter.js
deleted file mode 100644
index 6adfbbbf4..000000000
--- a/previews/PR747/assets/documenter.js
+++ /dev/null
@@ -1,331 +0,0 @@
-// Generated by Documenter.jl
-requirejs.config({
-  paths: {
-    'highlight-julia': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.5.1/languages/julia.min',
-    'headroom': 'https://cdnjs.cloudflare.com/ajax/libs/headroom/0.12.0/headroom.min',
-    'jqueryui': 'https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min',
-    'katex-auto-render': 'https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/contrib/auto-render.min',
-    'jquery': 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min',
-    'headroom-jquery': 'https://cdnjs.cloudflare.com/ajax/libs/headroom/0.12.0/jQuery.headroom.min',
-    'katex': 'https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min',
-    'highlight': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.5.1/highlight.min',
-    'highlight-julia-repl': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.5.1/languages/julia-repl.min',
-  },
-  shim: {
-  "highlight-julia": {
-    "deps": [
-      "highlight"
-    ]
-  },
-  "katex-auto-render": {
-    "deps": [
-      "katex"
-    ]
-  },
-  "headroom-jquery": {
-    "deps": [
-      "jquery",
-      "headroom"
-    ]
-  },
-  "highlight-julia-repl": {
-    "deps": [
-      "highlight"
-    ]
-  }
-}
-});
-////////////////////////////////////////////////////////////////////////////////
-require(['jquery', 'katex', 'katex-auto-render'], function($, katex, renderMathInElement) {
-$(document).ready(function() {
-  renderMathInElement(
-    document.body,
-    {
-  "delimiters": [
-    {
-      "left": "$",
-      "right": "$",
-      "display": false
-    },
-    {
-      "left": "$$",
-      "right": "$$",
-      "display": true
-    },
-    {
-      "left": "\\[",
-      "right": "\\]",
-      "display": true
-    }
-  ]
-}
-
-  );
-})
-
-})
-////////////////////////////////////////////////////////////////////////////////
-require(['jquery', 'highlight', 'highlight-julia', 'highlight-julia-repl'], function($) {
-$(document).ready(function() {
-    hljs.highlightAll();
-})
-
-})
-////////////////////////////////////////////////////////////////////////////////
-require([], function() {
-function addCopyButtonCallbacks() {
-  for (const el of document.getElementsByTagName("pre")) {
-    const button = document.createElement("button");
-    button.classList.add("copy-button", "fas", "fa-copy");
-    el.appendChild(button);
-
-    const success = function () {
-      button.classList.add("success", "fa-check");
-      button.classList.remove("fa-copy");
-    };
-
-    const failure = function () {
-      button.classList.add("error", "fa-times");
-      button.classList.remove("fa-copy");
-    };
-
-    button.addEventListener("click", function () {
-      copyToClipboard(el.innerText).then(success, failure);
-
-      setTimeout(function () {
-        button.classList.add("fa-copy");
-        button.classList.remove("success", "fa-check", "fa-times");
-      }, 5000);
-    });
-  }
-}
-
-function copyToClipboard(text) {
-  // clipboard API is only available in secure contexts
-  if (window.navigator && window.navigator.clipboard) {
-    return window.navigator.clipboard.writeText(text);
-  } else {
-    return new Promise(function (resolve, reject) {
-      try {
-        const el = document.createElement("textarea");
-        el.textContent = text;
-        el.style.position = "fixed";
-        el.style.opacity = 0;
-        document.body.appendChild(el);
-        el.select();
-        document.execCommand("copy");
-
-        resolve();
-      } catch (err) {
-        reject(err);
-      } finally {
-        document.body.removeChild(el);
-      }
-    });
-  }
-}
-
-if (document.readyState === "loading") {
-  document.addEventListener("DOMContentLoaded", addCopyButtonCallbacks);
-} else {
-  addCopyButtonCallbacks();
-}
-
-})
-////////////////////////////////////////////////////////////////////////////////
-require(['jquery', 'headroom', 'headroom-jquery'], function($, Headroom) {
-
-// Manages the top navigation bar (hides it when the user starts scrolling down on the
-// mobile).
-window.Headroom = Headroom; // work around buggy module loading?
-$(document).ready(function() {
-  $('#documenter .docs-navbar').headroom({
-    "tolerance": {"up": 10, "down": 10},
-  });
-})
-
-})
-////////////////////////////////////////////////////////////////////////////////
-require(['jquery'], function($) {
-
-// Modal settings dialog
-$(document).ready(function() {
-  var settings = $('#documenter-settings');
-  $('#documenter-settings-button').click(function(){
-    settings.toggleClass('is-active');
-  });
-  // Close the dialog if X is clicked
-  $('#documenter-settings button.delete').click(function(){
-    settings.removeClass('is-active');
-  });
-  // Close dialog if ESC is pressed
-  $(document).keyup(function(e) {
-    if (e.keyCode == 27) settings.removeClass('is-active');
-  });
-});
-
-})
-////////////////////////////////////////////////////////////////////////////////
-require(['jquery'], function($) {
-
-// Manages the showing and hiding of the sidebar.
-$(document).ready(function() {
-  var sidebar = $("#documenter > .docs-sidebar");
-  var sidebar_button = $("#documenter-sidebar-button")
-  sidebar_button.click(function(ev) {
-    ev.preventDefault();
-    sidebar.toggleClass('visible');
-    if (sidebar.hasClass('visible')) {
-      // Makes sure that the current menu item is visible in the sidebar.
-      $("#documenter .docs-menu a.is-active").focus();
-    }
-  });
-  $("#documenter > .docs-main").bind('click', function(ev) {
-    if ($(ev.target).is(sidebar_button)) {
-      return;
-    }
-    if (sidebar.hasClass('visible')) {
-      sidebar.removeClass('visible');
-    }
-  });
-})
-
-// Resizes the package name / sitename in the sidebar if it is too wide.
-// Inspired by: https://github.com/davatron5000/FitText.js
-$(document).ready(function() {
-  e = $("#documenter .docs-autofit");
-  function resize() {
-    var L = parseInt(e.css('max-width'), 10);
-    var L0 = e.width();
-    if(L0 > L) {
-      var h0 = parseInt(e.css('font-size'), 10);
-      e.css('font-size', L * h0 / L0);
-      // TODO: make sure it survives resizes?
-    }
-  }
-  // call once and then register events
-  resize();
-  $(window).resize(resize);
-  $(window).on('orientationchange', resize);
-});
-
-// Scroll the navigation bar to the currently selected menu item
-$(document).ready(function() {
-  var sidebar = $("#documenter .docs-menu").get(0);
-  var active = $("#documenter .docs-menu .is-active").get(0);
-  if(typeof active !== 'undefined') {
-    sidebar.scrollTop = active.offsetTop - sidebar.offsetTop - 15;
-  }
-})
-
-})
-////////////////////////////////////////////////////////////////////////////////
-require(['jquery'], function($) {
-
-function set_theme(theme) {
-  var active = null;
-  var disabled = [];
-  for (var i = 0; i < document.styleSheets.length; i++) {
-    var ss = document.styleSheets[i];
-    var themename = ss.ownerNode.getAttribute("data-theme-name");
-    if(themename === null) continue; // ignore non-theme stylesheets
-    // Find the active theme
-    if(themename === theme) active = ss;
-    else disabled.push(ss);
-  }
-  if(active !== null) {
-    active.disabled = false;
-    if(active.ownerNode.getAttribute("data-theme-primary") === null) {
-      document.getElementsByTagName('html')[0].className = "theme--" + theme;
-    } else {
-      document.getElementsByTagName('html')[0].className = "";
-    }
-    disabled.forEach(function(ss){
-      ss.disabled = true;
-    });
-  }
-
-  // Store the theme in localStorage
-  if(typeof(window.localStorage) !== "undefined") {
-    window.localStorage.setItem("documenter-theme", theme);
-  } else {
-    console.error("Browser does not support window.localStorage");
-  }
-}
-
-// Theme picker setup
-$(document).ready(function() {
-  // onchange callback
-  $('#documenter-themepicker').change(function themepick_callback(ev){
-    var themename = $('#documenter-themepicker option:selected').attr('value');
-    set_theme(themename);
-  });
-
-  // Make sure that the themepicker displays the correct theme when the theme is retrieved
-  // from localStorage
-  if(typeof(window.localStorage) !== "undefined") {
-    var theme =  window.localStorage.getItem("documenter-theme");
-    if(theme !== null) {
-      $('#documenter-themepicker option').each(function(i,e) {
-        e.selected = (e.value === theme);
-      })
-    } else {
-      $('#documenter-themepicker option').each(function(i,e) {
-        e.selected = $("html").hasClass(`theme--${e.value}`);
-      })
-    }
-  }
-})
-
-})
-////////////////////////////////////////////////////////////////////////////////
-require(['jquery'], function($) {
-
-// update the version selector with info from the siteinfo.js and ../versions.js files
-$(document).ready(function() {
-  // If the version selector is disabled with DOCUMENTER_VERSION_SELECTOR_DISABLED in the
-  // siteinfo.js file, we just return immediately and not display the version selector.
-  if (typeof DOCUMENTER_VERSION_SELECTOR_DISABLED === 'boolean' && DOCUMENTER_VERSION_SELECTOR_DISABLED) {
-    return;
-  }
-
-  var version_selector = $("#documenter .docs-version-selector");
-  var version_selector_select = $("#documenter .docs-version-selector select");
-
-  version_selector_select.change(function(x) {
-    target_href = version_selector_select.children("option:selected").get(0).value;
-    window.location.href = target_href;
-  });
-
-  // add the current version to the selector based on siteinfo.js, but only if the selector is empty
-  if (typeof DOCUMENTER_CURRENT_VERSION !== 'undefined' && $('#version-selector > option').length == 0) {
-    var option = $("<option value='#' selected='selected'>" + DOCUMENTER_CURRENT_VERSION + "</option>");
-    version_selector_select.append(option);
-  }
-
-  if (typeof DOC_VERSIONS !== 'undefined') {
-    var existing_versions = version_selector_select.children("option");
-    var existing_versions_texts = existing_versions.map(function(i,x){return x.text});
-    DOC_VERSIONS.forEach(function(each) {
-      var version_url = documenterBaseURL + "/../" + each;
-      var existing_id = $.inArray(each, existing_versions_texts);
-      // if not already in the version selector, add it as a new option,
-      // otherwise update the old option with the URL and enable it
-      if (existing_id == -1) {
-        var option = $("<option value='" + version_url + "'>" + each + "</option>");
-        version_selector_select.append(option);
-      } else {
-        var option = existing_versions[existing_id];
-        option.value = version_url;
-        option.disabled = false;
-      }
-    });
-  }
-
-  // only show the version selector if the selector has been populated
-  if (version_selector_select.children("option").length > 0) {
-    version_selector.toggleClass("visible");
-  }
-})
-
-})
diff --git a/previews/PR747/assets/logo.svg b/previews/PR747/assets/logo.svg
deleted file mode 100644
index 0b01097a2..000000000
--- a/previews/PR747/assets/logo.svg
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   inkscape:version="1.0rc1 (09960d6, 2020-04-09)"
-   sodipodi:docname="mpi_jl.svg"
-   viewBox="0 0 275.6608 198.06421"
-   height="198.06421"
-   width="275.6608"
-   id="svg80"
-   version="1.1">
-  <metadata
-     id="metadata86">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title></dc:title>
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <defs
-     id="defs84" />
-  <sodipodi:namedview
-     inkscape:current-layer="g88"
-     inkscape:window-maximized="0"
-     inkscape:window-y="44"
-     inkscape:window-x="1763"
-     inkscape:cy="145.35694"
-     inkscape:cx="280.32616"
-     inkscape:zoom="1.1"
-     showgrid="false"
-     id="namedview82"
-     inkscape:window-height="853"
-     inkscape:window-width="1418"
-     inkscape:pageshadow="2"
-     inkscape:pageopacity="0"
-     guidetolerance="10"
-     gridtolerance="10"
-     objecttolerance="10"
-     borderopacity="1"
-     bordercolor="#666666"
-     pagecolor="#ffffff" />
-  <g
-     id="g88"
-     inkscape:label="Image"
-     inkscape:groupmode="layer">
-    <rect
-       transform="matrix(0.99981558,0.01920454,-0.32803664,0.944665,0,0)"
-       y="-2.7273855"
-       x="134.15919"
-       height="141.78041"
-       width="140.65759"
-       id="rect94-6-7"
-       style="fill:#9558b2;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.13111" />
-    <rect
-       style="fill:#389826;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.13111;stroke-opacity:1"
-       id="rect94-6"
-       width="140.65759"
-       height="141.78041"
-       x="100.75105"
-       y="30.745317"
-       transform="matrix(0.99981558,0.01920454,-0.32803664,0.944665,0,0)" />
-    <rect
-       transform="matrix(0.99981558,0.01920454,-0.32803664,0.944665,0,0)"
-       y="63.65591"
-       x="67.403069"
-       height="141.78041"
-       width="140.65759"
-       id="rect94"
-       style="fill:#cb3c33;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.13111" />
-  </g>
-</svg>
diff --git a/previews/PR747/assets/search.js b/previews/PR747/assets/search.js
deleted file mode 100644
index c133f7410..000000000
--- a/previews/PR747/assets/search.js
+++ /dev/null
@@ -1,267 +0,0 @@
-// Generated by Documenter.jl
-requirejs.config({
-  paths: {
-    'lunr': 'https://cdnjs.cloudflare.com/ajax/libs/lunr.js/2.3.9/lunr.min',
-    'lodash': 'https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min',
-    'jquery': 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min',
-  }
-});
-////////////////////////////////////////////////////////////////////////////////
-require(['jquery', 'lunr', 'lodash'], function($, lunr, _) {
-
-$(document).ready(function() {
-  // parseUri 1.2.2
-  // (c) Steven Levithan <stevenlevithan.com>
-  // MIT License
-  function parseUri (str) {
-    var  o   = parseUri.options,
-      m   = o.parser[o.strictMode ? "strict" : "loose"].exec(str),
-      uri = {},
-      i   = 14;
-
-    while (i--) uri[o.key[i]] = m[i] || "";
-
-    uri[o.q.name] = {};
-    uri[o.key[12]].replace(o.q.parser, function ($0, $1, $2) {
-      if ($1) uri[o.q.name][$1] = $2;
-    });
-
-    return uri;
-  };
-  parseUri.options = {
-    strictMode: false,
-    key: ["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],
-    q:   {
-      name:   "queryKey",
-      parser: /(?:^|&)([^&=]*)=?([^&]*)/g
-    },
-    parser: {
-      strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,
-      loose:  /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/
-    }
-  };
-
-  $("#search-form").submit(function(e) {
-    e.preventDefault()
-  })
-
-  // list below is the lunr 2.1.3 list minus the intersect with names(Base)
-  // (all, any, get, in, is, only, which) and (do, else, for, let, where, while, with)
-  // ideally we'd just filter the original list but it's not available as a variable
-  lunr.stopWordFilter = lunr.generateStopWordFilter([
-    'a',
-    'able',
-    'about',
-    'across',
-    'after',
-    'almost',
-    'also',
-    'am',
-    'among',
-    'an',
-    'and',
-    'are',
-    'as',
-    'at',
-    'be',
-    'because',
-    'been',
-    'but',
-    'by',
-    'can',
-    'cannot',
-    'could',
-    'dear',
-    'did',
-    'does',
-    'either',
-    'ever',
-    'every',
-    'from',
-    'got',
-    'had',
-    'has',
-    'have',
-    'he',
-    'her',
-    'hers',
-    'him',
-    'his',
-    'how',
-    'however',
-    'i',
-    'if',
-    'into',
-    'it',
-    'its',
-    'just',
-    'least',
-    'like',
-    'likely',
-    'may',
-    'me',
-    'might',
-    'most',
-    'must',
-    'my',
-    'neither',
-    'no',
-    'nor',
-    'not',
-    'of',
-    'off',
-    'often',
-    'on',
-    'or',
-    'other',
-    'our',
-    'own',
-    'rather',
-    'said',
-    'say',
-    'says',
-    'she',
-    'should',
-    'since',
-    'so',
-    'some',
-    'than',
-    'that',
-    'the',
-    'their',
-    'them',
-    'then',
-    'there',
-    'these',
-    'they',
-    'this',
-    'tis',
-    'to',
-    'too',
-    'twas',
-    'us',
-    'wants',
-    'was',
-    'we',
-    'were',
-    'what',
-    'when',
-    'who',
-    'whom',
-    'why',
-    'will',
-    'would',
-    'yet',
-    'you',
-    'your'
-  ])
-
-  // add . as a separator, because otherwise "title": "Documenter.Anchors.add!"
-  // would not find anything if searching for "add!", only for the entire qualification
-  lunr.tokenizer.separator = /[\s\-\.]+/
-
-  // custom trimmer that doesn't strip @ and !, which are used in julia macro and function names
-  lunr.trimmer = function (token) {
-    return token.update(function (s) {
-      return s.replace(/^[^a-zA-Z0-9@!]+/, '').replace(/[^a-zA-Z0-9@!]+$/, '')
-    })
-  }
-
-  lunr.Pipeline.registerFunction(lunr.stopWordFilter, 'juliaStopWordFilter')
-  lunr.Pipeline.registerFunction(lunr.trimmer, 'juliaTrimmer')
-
-  var index = lunr(function () {
-    this.ref('location')
-    this.field('title',{boost: 100})
-    this.field('text')
-    documenterSearchIndex['docs'].forEach(function(e) {
-        this.add(e)
-    }, this)
-  })
-  var store = {}
-
-  documenterSearchIndex['docs'].forEach(function(e) {
-      store[e.location] = {title: e.title, category: e.category, page: e.page}
-  })
-
-  $(function(){
-    searchresults = $('#documenter-search-results');
-    searchinfo = $('#documenter-search-info');
-    searchbox = $('#documenter-search-query');
-    searchform = $('.docs-search');
-    sidebar = $('.docs-sidebar');
-    function update_search(querystring) {
-      tokens = lunr.tokenizer(querystring)
-      results = index.query(function (q) {
-        tokens.forEach(function (t) {
-          q.term(t.toString(), {
-            fields: ["title"],
-            boost: 100,
-            usePipeline: true,
-            editDistance: 0,
-            wildcard: lunr.Query.wildcard.NONE
-          })
-          q.term(t.toString(), {
-            fields: ["title"],
-            boost: 10,
-            usePipeline: true,
-            editDistance: 2,
-            wildcard: lunr.Query.wildcard.NONE
-          })
-          q.term(t.toString(), {
-            fields: ["text"],
-            boost: 1,
-            usePipeline: true,
-            editDistance: 0,
-            wildcard: lunr.Query.wildcard.NONE
-          })
-        })
-      })
-      searchinfo.text("Number of results: " + results.length)
-      searchresults.empty()
-      results.forEach(function(result) {
-        data = store[result.ref]
-        link = $('<a class="docs-label">'+data.title+'</a>')
-        link.attr('href', documenterBaseURL+'/'+result.ref)
-        if (data.category != "page"){
-          cat = $('<span class="docs-category">('+data.category+', '+data.page+')</span>')
-        } else {
-          cat = $('<span class="docs-category">('+data.category+')</span>')
-        }
-        li = $('<li>').append(link).append(" ").append(cat)
-        searchresults.append(li)
-      })
-    }
-
-    function update_search_box() {
-      querystring = searchbox.val()
-      update_search(querystring)
-    }
-
-    searchbox.keyup(_.debounce(update_search_box, 250))
-    searchbox.change(update_search_box)
-
-    // Disable enter-key form submission for the searchbox on the search page
-    // and just re-run search rather than refresh the whole page.
-    searchform.keypress(
-      function(event){
-        if (event.which == '13') {
-          if (sidebar.hasClass('visible')) {
-            sidebar.removeClass('visible');
-          }
-          update_search_box();
-          event.preventDefault();
-        }
-      }
-    );
-
-    search_query_uri = parseUri(window.location).queryKey["q"]
-    if(search_query_uri !== undefined) {
-      search_query = decodeURIComponent(search_query_uri.replace(/\+/g, '%20'))
-      searchbox.val(search_query)
-    }
-    update_search_box();
-  })
-})
-
-})
diff --git a/previews/PR747/assets/themes/documenter-dark.css b/previews/PR747/assets/themes/documenter-dark.css
deleted file mode 100644
index c94a294dc..000000000
--- a/previews/PR747/assets/themes/documenter-dark.css
+++ /dev/null
@@ -1,7 +0,0 @@
-@keyframes spinAround{from{transform:rotate(0deg)}to{transform:rotate(359deg)}}html.theme--documenter-dark .tabs,html.theme--documenter-dark .pagination-previous,html.theme--documenter-dark .pagination-next,html.theme--documenter-dark .pagination-link,html.theme--documenter-dark .pagination-ellipsis,html.theme--documenter-dark .breadcrumb,html.theme--documenter-dark .file,html.theme--documenter-dark .button,.is-unselectable,html.theme--documenter-dark .modal-close,html.theme--documenter-dark .delete{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}html.theme--documenter-dark .navbar-link:not(.is-arrowless)::after,html.theme--documenter-dark .select:not(.is-multiple):not(.is-loading)::after{border:3px solid rgba(0,0,0,0);border-radius:2px;border-right:0;border-top:0;content:" ";display:block;height:0.625em;margin-top:-0.4375em;pointer-events:none;position:absolute;top:50%;transform:rotate(-45deg);transform-origin:center;width:0.625em}html.theme--documenter-dark .admonition:not(:last-child),html.theme--documenter-dark .tabs:not(:last-child),html.theme--documenter-dark .message:not(:last-child),html.theme--documenter-dark .list:not(:last-child),html.theme--documenter-dark .level:not(:last-child),html.theme--documenter-dark .breadcrumb:not(:last-child),html.theme--documenter-dark .highlight:not(:last-child),html.theme--documenter-dark .block:not(:last-child),html.theme--documenter-dark .title:not(:last-child),html.theme--documenter-dark .subtitle:not(:last-child),html.theme--documenter-dark .table-container:not(:last-child),html.theme--documenter-dark .table:not(:last-child),html.theme--documenter-dark .progress:not(:last-child),html.theme--documenter-dark .notification:not(:last-child),html.theme--documenter-dark .content:not(:last-child),html.theme--documenter-dark .box:not(:last-child){margin-bottom:1.5rem}html.theme--documenter-dark .modal-close,html.theme--documenter-dark .delete{-moz-appearance:none;-webkit-appearance:none;background-color:rgba(10,10,10,0.2);border:none;border-radius:290486px;cursor:pointer;pointer-events:auto;display:inline-block;flex-grow:0;flex-shrink:0;font-size:0;height:20px;max-height:20px;max-width:20px;min-height:20px;min-width:20px;outline:none;position:relative;vertical-align:top;width:20px}html.theme--documenter-dark .modal-close::before,html.theme--documenter-dark .delete::before,html.theme--documenter-dark .modal-close::after,html.theme--documenter-dark .delete::after{background-color:#fff;content:"";display:block;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%) rotate(45deg);transform-origin:center center}html.theme--documenter-dark .modal-close::before,html.theme--documenter-dark .delete::before{height:2px;width:50%}html.theme--documenter-dark .modal-close::after,html.theme--documenter-dark .delete::after{height:50%;width:2px}html.theme--documenter-dark .modal-close:hover,html.theme--documenter-dark .delete:hover,html.theme--documenter-dark .modal-close:focus,html.theme--documenter-dark .delete:focus{background-color:rgba(10,10,10,0.3)}html.theme--documenter-dark .modal-close:active,html.theme--documenter-dark .delete:active{background-color:rgba(10,10,10,0.4)}html.theme--documenter-dark .is-small.modal-close,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.modal-close,html.theme--documenter-dark .is-small.delete,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.delete{height:16px;max-height:16px;max-width:16px;min-height:16px;min-width:16px;width:16px}html.theme--documenter-dark .is-medium.modal-close,html.theme--documenter-dark .is-medium.delete{height:24px;max-height:24px;max-width:24px;min-height:24px;min-width:24px;width:24px}html.theme--documenter-dark .is-large.modal-close,html.theme--documenter-dark .is-large.delete{height:32px;max-height:32px;max-width:32px;min-height:32px;min-width:32px;width:32px}html.theme--documenter-dark .control.is-loading::after,html.theme--documenter-dark .select.is-loading::after,html.theme--documenter-dark .loader,html.theme--documenter-dark .button.is-loading::after{animation:spinAround 500ms infinite linear;border:2px solid #dbdee0;border-radius:290486px;border-right-color:transparent;border-top-color:transparent;content:"";display:block;height:1em;position:relative;width:1em}html.theme--documenter-dark .hero-video,html.theme--documenter-dark .modal-background,html.theme--documenter-dark .modal,html.theme--documenter-dark .image.is-square img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-square img,html.theme--documenter-dark .image.is-square .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-square .has-ratio,html.theme--documenter-dark .image.is-1by1 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-1by1 img,html.theme--documenter-dark .image.is-1by1 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-1by1 .has-ratio,html.theme--documenter-dark .image.is-5by4 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-5by4 img,html.theme--documenter-dark .image.is-5by4 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-5by4 .has-ratio,html.theme--documenter-dark .image.is-4by3 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-4by3 img,html.theme--documenter-dark .image.is-4by3 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-4by3 .has-ratio,html.theme--documenter-dark .image.is-3by2 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by2 img,html.theme--documenter-dark .image.is-3by2 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by2 .has-ratio,html.theme--documenter-dark .image.is-5by3 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-5by3 img,html.theme--documenter-dark .image.is-5by3 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-5by3 .has-ratio,html.theme--documenter-dark .image.is-16by9 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-16by9 img,html.theme--documenter-dark .image.is-16by9 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-16by9 .has-ratio,html.theme--documenter-dark .image.is-2by1 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-2by1 img,html.theme--documenter-dark .image.is-2by1 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-2by1 .has-ratio,html.theme--documenter-dark .image.is-3by1 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by1 img,html.theme--documenter-dark .image.is-3by1 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by1 .has-ratio,html.theme--documenter-dark .image.is-4by5 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-4by5 img,html.theme--documenter-dark .image.is-4by5 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-4by5 .has-ratio,html.theme--documenter-dark .image.is-3by4 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by4 img,html.theme--documenter-dark .image.is-3by4 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by4 .has-ratio,html.theme--documenter-dark .image.is-2by3 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-2by3 img,html.theme--documenter-dark .image.is-2by3 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-2by3 .has-ratio,html.theme--documenter-dark .image.is-3by5 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by5 img,html.theme--documenter-dark .image.is-3by5 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by5 .has-ratio,html.theme--documenter-dark .image.is-9by16 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-9by16 img,html.theme--documenter-dark .image.is-9by16 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-9by16 .has-ratio,html.theme--documenter-dark .image.is-1by2 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-1by2 img,html.theme--documenter-dark .image.is-1by2 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-1by2 .has-ratio,html.theme--documenter-dark .image.is-1by3 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-1by3 img,html.theme--documenter-dark .image.is-1by3 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-1by3 .has-ratio,.is-overlay{bottom:0;left:0;position:absolute;right:0;top:0}html.theme--documenter-dark .pagination-previous,html.theme--documenter-dark .pagination-next,html.theme--documenter-dark .pagination-link,html.theme--documenter-dark .pagination-ellipsis,html.theme--documenter-dark .file-cta,html.theme--documenter-dark .file-name,html.theme--documenter-dark .select select,html.theme--documenter-dark .textarea,html.theme--documenter-dark .input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input,html.theme--documenter-dark .button{-moz-appearance:none;-webkit-appearance:none;align-items:center;border:1px solid transparent;border-radius:.4em;box-shadow:none;display:inline-flex;font-size:15px;height:2.25em;justify-content:flex-start;line-height:1.5;padding-bottom:calc(0.375em - 1px);padding-left:calc(0.625em - 1px);padding-right:calc(0.625em - 1px);padding-top:calc(0.375em - 1px);position:relative;vertical-align:top}html.theme--documenter-dark .pagination-previous:focus,html.theme--documenter-dark .pagination-next:focus,html.theme--documenter-dark .pagination-link:focus,html.theme--documenter-dark .pagination-ellipsis:focus,html.theme--documenter-dark .file-cta:focus,html.theme--documenter-dark .file-name:focus,html.theme--documenter-dark .select select:focus,html.theme--documenter-dark .textarea:focus,html.theme--documenter-dark .input:focus,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input:focus,html.theme--documenter-dark .button:focus,html.theme--documenter-dark .is-focused.pagination-previous,html.theme--documenter-dark .is-focused.pagination-next,html.theme--documenter-dark .is-focused.pagination-link,html.theme--documenter-dark .is-focused.pagination-ellipsis,html.theme--documenter-dark .is-focused.file-cta,html.theme--documenter-dark .is-focused.file-name,html.theme--documenter-dark .select select.is-focused,html.theme--documenter-dark .is-focused.textarea,html.theme--documenter-dark .is-focused.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-focused,html.theme--documenter-dark .is-focused.button,html.theme--documenter-dark .pagination-previous:active,html.theme--documenter-dark .pagination-next:active,html.theme--documenter-dark .pagination-link:active,html.theme--documenter-dark .pagination-ellipsis:active,html.theme--documenter-dark .file-cta:active,html.theme--documenter-dark .file-name:active,html.theme--documenter-dark .select select:active,html.theme--documenter-dark .textarea:active,html.theme--documenter-dark .input:active,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input:active,html.theme--documenter-dark .button:active,html.theme--documenter-dark .is-active.pagination-previous,html.theme--documenter-dark .is-active.pagination-next,html.theme--documenter-dark .is-active.pagination-link,html.theme--documenter-dark .is-active.pagination-ellipsis,html.theme--documenter-dark .is-active.file-cta,html.theme--documenter-dark .is-active.file-name,html.theme--documenter-dark .select select.is-active,html.theme--documenter-dark .is-active.textarea,html.theme--documenter-dark .is-active.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-active,html.theme--documenter-dark .is-active.button{outline:none}html.theme--documenter-dark .pagination-previous[disabled],html.theme--documenter-dark .pagination-next[disabled],html.theme--documenter-dark .pagination-link[disabled],html.theme--documenter-dark .pagination-ellipsis[disabled],html.theme--documenter-dark .file-cta[disabled],html.theme--documenter-dark .file-name[disabled],html.theme--documenter-dark .select select[disabled],html.theme--documenter-dark .textarea[disabled],html.theme--documenter-dark .input[disabled],html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input[disabled],html.theme--documenter-dark .button[disabled],fieldset[disabled] html.theme--documenter-dark .pagination-previous,html.theme--documenter-dark fieldset[disabled] .pagination-previous,fieldset[disabled] html.theme--documenter-dark .pagination-next,html.theme--documenter-dark fieldset[disabled] .pagination-next,fieldset[disabled] html.theme--documenter-dark .pagination-link,html.theme--documenter-dark fieldset[disabled] .pagination-link,fieldset[disabled] html.theme--documenter-dark .pagination-ellipsis,html.theme--documenter-dark fieldset[disabled] .pagination-ellipsis,fieldset[disabled] html.theme--documenter-dark .file-cta,html.theme--documenter-dark fieldset[disabled] .file-cta,fieldset[disabled] html.theme--documenter-dark .file-name,html.theme--documenter-dark fieldset[disabled] .file-name,fieldset[disabled] html.theme--documenter-dark .select select,fieldset[disabled] html.theme--documenter-dark .textarea,fieldset[disabled] html.theme--documenter-dark .input,fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input,html.theme--documenter-dark fieldset[disabled] .select select,html.theme--documenter-dark .select fieldset[disabled] select,html.theme--documenter-dark fieldset[disabled] .textarea,html.theme--documenter-dark fieldset[disabled] .input,html.theme--documenter-dark fieldset[disabled] #documenter .docs-sidebar form.docs-search>input,html.theme--documenter-dark #documenter .docs-sidebar fieldset[disabled] form.docs-search>input,fieldset[disabled] html.theme--documenter-dark .button,html.theme--documenter-dark fieldset[disabled] .button{cursor:not-allowed}/*! minireset.css v0.0.4 | MIT License | github.com/jgthms/minireset.css */html,body,p,ol,ul,li,dl,dt,dd,blockquote,figure,fieldset,legend,textarea,pre,iframe,hr,h1,h2,h3,h4,h5,h6{margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}ul{list-style:none}button,input,select,textarea{margin:0}html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}img,embed,iframe,object,video{height:auto;max-width:100%}audio{max-width:100%}iframe{border:0}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}td:not([align]),th:not([align]){text-align:left}.is-clearfix::after{clear:both;content:" ";display:table}.is-pulled-left{float:left !important}.is-pulled-right{float:right !important}.is-clipped{overflow:hidden !important}.is-size-1{font-size:3rem !important}.is-size-2{font-size:2.5rem !important}.is-size-3{font-size:2rem !important}.is-size-4{font-size:1.5rem !important}.is-size-5{font-size:1.25rem !important}.is-size-6{font-size:15px !important}.is-size-7,html.theme--documenter-dark .docstring>section>a.docs-sourcelink{font-size:.85em !important}@media screen and (max-width: 768px){.is-size-1-mobile{font-size:3rem !important}.is-size-2-mobile{font-size:2.5rem !important}.is-size-3-mobile{font-size:2rem !important}.is-size-4-mobile{font-size:1.5rem !important}.is-size-5-mobile{font-size:1.25rem !important}.is-size-6-mobile{font-size:15px !important}.is-size-7-mobile{font-size:.85em !important}}@media screen and (min-width: 769px),print{.is-size-1-tablet{font-size:3rem !important}.is-size-2-tablet{font-size:2.5rem !important}.is-size-3-tablet{font-size:2rem !important}.is-size-4-tablet{font-size:1.5rem !important}.is-size-5-tablet{font-size:1.25rem !important}.is-size-6-tablet{font-size:15px !important}.is-size-7-tablet{font-size:.85em !important}}@media screen and (max-width: 1055px){.is-size-1-touch{font-size:3rem !important}.is-size-2-touch{font-size:2.5rem !important}.is-size-3-touch{font-size:2rem !important}.is-size-4-touch{font-size:1.5rem !important}.is-size-5-touch{font-size:1.25rem !important}.is-size-6-touch{font-size:15px !important}.is-size-7-touch{font-size:.85em !important}}@media screen and (min-width: 1056px){.is-size-1-desktop{font-size:3rem !important}.is-size-2-desktop{font-size:2.5rem !important}.is-size-3-desktop{font-size:2rem !important}.is-size-4-desktop{font-size:1.5rem !important}.is-size-5-desktop{font-size:1.25rem !important}.is-size-6-desktop{font-size:15px !important}.is-size-7-desktop{font-size:.85em !important}}@media screen and (min-width: 1216px){.is-size-1-widescreen{font-size:3rem !important}.is-size-2-widescreen{font-size:2.5rem !important}.is-size-3-widescreen{font-size:2rem !important}.is-size-4-widescreen{font-size:1.5rem !important}.is-size-5-widescreen{font-size:1.25rem !important}.is-size-6-widescreen{font-size:15px !important}.is-size-7-widescreen{font-size:.85em !important}}@media screen and (min-width: 1408px){.is-size-1-fullhd{font-size:3rem !important}.is-size-2-fullhd{font-size:2.5rem !important}.is-size-3-fullhd{font-size:2rem !important}.is-size-4-fullhd{font-size:1.5rem !important}.is-size-5-fullhd{font-size:1.25rem !important}.is-size-6-fullhd{font-size:15px !important}.is-size-7-fullhd{font-size:.85em !important}}.has-text-centered{text-align:center !important}.has-text-justified{text-align:justify !important}.has-text-left{text-align:left !important}.has-text-right{text-align:right !important}@media screen and (max-width: 768px){.has-text-centered-mobile{text-align:center !important}}@media screen and (min-width: 769px),print{.has-text-centered-tablet{text-align:center !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.has-text-centered-tablet-only{text-align:center !important}}@media screen and (max-width: 1055px){.has-text-centered-touch{text-align:center !important}}@media screen and (min-width: 1056px){.has-text-centered-desktop{text-align:center !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.has-text-centered-desktop-only{text-align:center !important}}@media screen and (min-width: 1216px){.has-text-centered-widescreen{text-align:center !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.has-text-centered-widescreen-only{text-align:center !important}}@media screen and (min-width: 1408px){.has-text-centered-fullhd{text-align:center !important}}@media screen and (max-width: 768px){.has-text-justified-mobile{text-align:justify !important}}@media screen and (min-width: 769px),print{.has-text-justified-tablet{text-align:justify !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.has-text-justified-tablet-only{text-align:justify !important}}@media screen and (max-width: 1055px){.has-text-justified-touch{text-align:justify !important}}@media screen and (min-width: 1056px){.has-text-justified-desktop{text-align:justify !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.has-text-justified-desktop-only{text-align:justify !important}}@media screen and (min-width: 1216px){.has-text-justified-widescreen{text-align:justify !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.has-text-justified-widescreen-only{text-align:justify !important}}@media screen and (min-width: 1408px){.has-text-justified-fullhd{text-align:justify !important}}@media screen and (max-width: 768px){.has-text-left-mobile{text-align:left !important}}@media screen and (min-width: 769px),print{.has-text-left-tablet{text-align:left !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.has-text-left-tablet-only{text-align:left !important}}@media screen and (max-width: 1055px){.has-text-left-touch{text-align:left !important}}@media screen and (min-width: 1056px){.has-text-left-desktop{text-align:left !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.has-text-left-desktop-only{text-align:left !important}}@media screen and (min-width: 1216px){.has-text-left-widescreen{text-align:left !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.has-text-left-widescreen-only{text-align:left !important}}@media screen and (min-width: 1408px){.has-text-left-fullhd{text-align:left !important}}@media screen and (max-width: 768px){.has-text-right-mobile{text-align:right !important}}@media screen and (min-width: 769px),print{.has-text-right-tablet{text-align:right !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.has-text-right-tablet-only{text-align:right !important}}@media screen and (max-width: 1055px){.has-text-right-touch{text-align:right !important}}@media screen and (min-width: 1056px){.has-text-right-desktop{text-align:right !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.has-text-right-desktop-only{text-align:right !important}}@media screen and (min-width: 1216px){.has-text-right-widescreen{text-align:right !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.has-text-right-widescreen-only{text-align:right !important}}@media screen and (min-width: 1408px){.has-text-right-fullhd{text-align:right !important}}.is-capitalized{text-transform:capitalize !important}.is-lowercase{text-transform:lowercase !important}.is-uppercase{text-transform:uppercase !important}.is-italic{font-style:italic !important}.has-text-white{color:#fff !important}a.has-text-white:hover,a.has-text-white:focus{color:#e6e6e6 !important}.has-background-white{background-color:#fff !important}.has-text-black{color:#0a0a0a !important}a.has-text-black:hover,a.has-text-black:focus{color:#000 !important}.has-background-black{background-color:#0a0a0a !important}.has-text-light{color:#ecf0f1 !important}a.has-text-light:hover,a.has-text-light:focus{color:#cfd9db !important}.has-background-light{background-color:#ecf0f1 !important}.has-text-dark{color:#282f2f !important}a.has-text-dark:hover,a.has-text-dark:focus{color:#111414 !important}.has-background-dark{background-color:#282f2f !important}.has-text-primary{color:#375a7f !important}a.has-text-primary:hover,a.has-text-primary:focus{color:#28415b !important}.has-background-primary{background-color:#375a7f !important}.has-text-link{color:#1abc9c !important}a.has-text-link:hover,a.has-text-link:focus{color:#148f77 !important}.has-background-link{background-color:#1abc9c !important}.has-text-info{color:#024c7d !important}a.has-text-info:hover,a.has-text-info:focus{color:#012d4b !important}.has-background-info{background-color:#024c7d !important}.has-text-success{color:#008438 !important}a.has-text-success:hover,a.has-text-success:focus{color:#005122 !important}.has-background-success{background-color:#008438 !important}.has-text-warning{color:#ad8100 !important}a.has-text-warning:hover,a.has-text-warning:focus{color:#7a5b00 !important}.has-background-warning{background-color:#ad8100 !important}.has-text-danger{color:#9e1b0d !important}a.has-text-danger:hover,a.has-text-danger:focus{color:#6f1309 !important}.has-background-danger{background-color:#9e1b0d !important}.has-text-black-bis{color:#121212 !important}.has-background-black-bis{background-color:#121212 !important}.has-text-black-ter{color:#242424 !important}.has-background-black-ter{background-color:#242424 !important}.has-text-grey-darker{color:#282f2f !important}.has-background-grey-darker{background-color:#282f2f !important}.has-text-grey-dark{color:#343c3d !important}.has-background-grey-dark{background-color:#343c3d !important}.has-text-grey{color:#5e6d6f !important}.has-background-grey{background-color:#5e6d6f !important}.has-text-grey-light{color:#8c9b9d !important}.has-background-grey-light{background-color:#8c9b9d !important}.has-text-grey-lighter{color:#dbdee0 !important}.has-background-grey-lighter{background-color:#dbdee0 !important}.has-text-white-ter{color:#ecf0f1 !important}.has-background-white-ter{background-color:#ecf0f1 !important}.has-text-white-bis{color:#fafafa !important}.has-background-white-bis{background-color:#fafafa !important}.has-text-weight-light{font-weight:300 !important}.has-text-weight-normal{font-weight:400 !important}.has-text-weight-medium{font-weight:500 !important}.has-text-weight-semibold{font-weight:600 !important}.has-text-weight-bold{font-weight:700 !important}.is-family-primary{font-family:"Lato Medium",-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue","Helvetica","Arial",sans-serif !important}.is-family-secondary{font-family:"Lato Medium",-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue","Helvetica","Arial",sans-serif !important}.is-family-sans-serif{font-family:"Lato Medium",-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue","Helvetica","Arial",sans-serif !important}.is-family-monospace{font-family:"JuliaMono","SFMono-Regular","Menlo","Consolas","Liberation Mono","DejaVu Sans Mono",monospace !important}.is-family-code{font-family:"JuliaMono","SFMono-Regular","Menlo","Consolas","Liberation Mono","DejaVu Sans Mono",monospace !important}.is-block{display:block !important}@media screen and (max-width: 768px){.is-block-mobile{display:block !important}}@media screen and (min-width: 769px),print{.is-block-tablet{display:block !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.is-block-tablet-only{display:block !important}}@media screen and (max-width: 1055px){.is-block-touch{display:block !important}}@media screen and (min-width: 1056px){.is-block-desktop{display:block !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.is-block-desktop-only{display:block !important}}@media screen and (min-width: 1216px){.is-block-widescreen{display:block !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-block-widescreen-only{display:block !important}}@media screen and (min-width: 1408px){.is-block-fullhd{display:block !important}}.is-flex{display:flex !important}@media screen and (max-width: 768px){.is-flex-mobile{display:flex !important}}@media screen and (min-width: 769px),print{.is-flex-tablet{display:flex !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.is-flex-tablet-only{display:flex !important}}@media screen and (max-width: 1055px){.is-flex-touch{display:flex !important}}@media screen and (min-width: 1056px){.is-flex-desktop{display:flex !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.is-flex-desktop-only{display:flex !important}}@media screen and (min-width: 1216px){.is-flex-widescreen{display:flex !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-flex-widescreen-only{display:flex !important}}@media screen and (min-width: 1408px){.is-flex-fullhd{display:flex !important}}.is-inline{display:inline !important}@media screen and (max-width: 768px){.is-inline-mobile{display:inline !important}}@media screen and (min-width: 769px),print{.is-inline-tablet{display:inline !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.is-inline-tablet-only{display:inline !important}}@media screen and (max-width: 1055px){.is-inline-touch{display:inline !important}}@media screen and (min-width: 1056px){.is-inline-desktop{display:inline !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.is-inline-desktop-only{display:inline !important}}@media screen and (min-width: 1216px){.is-inline-widescreen{display:inline !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-inline-widescreen-only{display:inline !important}}@media screen and (min-width: 1408px){.is-inline-fullhd{display:inline !important}}.is-inline-block{display:inline-block !important}@media screen and (max-width: 768px){.is-inline-block-mobile{display:inline-block !important}}@media screen and (min-width: 769px),print{.is-inline-block-tablet{display:inline-block !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.is-inline-block-tablet-only{display:inline-block !important}}@media screen and (max-width: 1055px){.is-inline-block-touch{display:inline-block !important}}@media screen and (min-width: 1056px){.is-inline-block-desktop{display:inline-block !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.is-inline-block-desktop-only{display:inline-block !important}}@media screen and (min-width: 1216px){.is-inline-block-widescreen{display:inline-block !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-inline-block-widescreen-only{display:inline-block !important}}@media screen and (min-width: 1408px){.is-inline-block-fullhd{display:inline-block !important}}.is-inline-flex{display:inline-flex !important}@media screen and (max-width: 768px){.is-inline-flex-mobile{display:inline-flex !important}}@media screen and (min-width: 769px),print{.is-inline-flex-tablet{display:inline-flex !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.is-inline-flex-tablet-only{display:inline-flex !important}}@media screen and (max-width: 1055px){.is-inline-flex-touch{display:inline-flex !important}}@media screen and (min-width: 1056px){.is-inline-flex-desktop{display:inline-flex !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.is-inline-flex-desktop-only{display:inline-flex !important}}@media screen and (min-width: 1216px){.is-inline-flex-widescreen{display:inline-flex !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-inline-flex-widescreen-only{display:inline-flex !important}}@media screen and (min-width: 1408px){.is-inline-flex-fullhd{display:inline-flex !important}}.is-hidden{display:none !important}.is-sr-only{border:none !important;clip:rect(0, 0, 0, 0) !important;height:0.01em !important;overflow:hidden !important;padding:0 !important;position:absolute !important;white-space:nowrap !important;width:0.01em !important}@media screen and (max-width: 768px){.is-hidden-mobile{display:none !important}}@media screen and (min-width: 769px),print{.is-hidden-tablet{display:none !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.is-hidden-tablet-only{display:none !important}}@media screen and (max-width: 1055px){.is-hidden-touch{display:none !important}}@media screen and (min-width: 1056px){.is-hidden-desktop{display:none !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.is-hidden-desktop-only{display:none !important}}@media screen and (min-width: 1216px){.is-hidden-widescreen{display:none !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-hidden-widescreen-only{display:none !important}}@media screen and (min-width: 1408px){.is-hidden-fullhd{display:none !important}}.is-invisible{visibility:hidden !important}@media screen and (max-width: 768px){.is-invisible-mobile{visibility:hidden !important}}@media screen and (min-width: 769px),print{.is-invisible-tablet{visibility:hidden !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.is-invisible-tablet-only{visibility:hidden !important}}@media screen and (max-width: 1055px){.is-invisible-touch{visibility:hidden !important}}@media screen and (min-width: 1056px){.is-invisible-desktop{visibility:hidden !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.is-invisible-desktop-only{visibility:hidden !important}}@media screen and (min-width: 1216px){.is-invisible-widescreen{visibility:hidden !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-invisible-widescreen-only{visibility:hidden !important}}@media screen and (min-width: 1408px){.is-invisible-fullhd{visibility:hidden !important}}.is-marginless{margin:0 !important}.is-paddingless{padding:0 !important}.is-radiusless{border-radius:0 !important}.is-shadowless{box-shadow:none !important}.is-relative{position:relative !important}html.theme--documenter-dark{/*!
-  Theme: a11y-dark
-  Author: @ericwbailey
-  Maintainer: @ericwbailey
-
-  Based on the Tomorrow Night Eighties theme: https://github.com/isagalaev/highlight.js/blob/master/src/styles/tomorrow-night-eighties.css
-*/}html.theme--documenter-dark html{background-color:#1f2424;font-size:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;min-width:300px;overflow-x:auto;overflow-y:scroll;text-rendering:optimizeLegibility;text-size-adjust:100%}html.theme--documenter-dark article,html.theme--documenter-dark aside,html.theme--documenter-dark figure,html.theme--documenter-dark footer,html.theme--documenter-dark header,html.theme--documenter-dark hgroup,html.theme--documenter-dark section{display:block}html.theme--documenter-dark body,html.theme--documenter-dark button,html.theme--documenter-dark input,html.theme--documenter-dark select,html.theme--documenter-dark textarea{font-family:"Lato Medium",-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue","Helvetica","Arial",sans-serif}html.theme--documenter-dark code,html.theme--documenter-dark pre{-moz-osx-font-smoothing:auto;-webkit-font-smoothing:auto;font-family:"JuliaMono","SFMono-Regular","Menlo","Consolas","Liberation Mono","DejaVu Sans Mono",monospace}html.theme--documenter-dark body{color:#fff;font-size:1em;font-weight:400;line-height:1.5}html.theme--documenter-dark a{color:#1abc9c;cursor:pointer;text-decoration:none}html.theme--documenter-dark a strong{color:currentColor}html.theme--documenter-dark a:hover{color:#1dd2af}html.theme--documenter-dark code{background-color:rgba(255,255,255,0.05);color:#ececec;font-size:.875em;font-weight:normal;padding:.1em}html.theme--documenter-dark hr{background-color:#282f2f;border:none;display:block;height:2px;margin:1.5rem 0}html.theme--documenter-dark img{height:auto;max-width:100%}html.theme--documenter-dark input[type="checkbox"],html.theme--documenter-dark input[type="radio"]{vertical-align:baseline}html.theme--documenter-dark small{font-size:.875em}html.theme--documenter-dark span{font-style:inherit;font-weight:inherit}html.theme--documenter-dark strong{color:#f2f2f2;font-weight:700}html.theme--documenter-dark fieldset{border:none}html.theme--documenter-dark pre{-webkit-overflow-scrolling:touch;background-color:#282f2f;color:#fff;font-size:.875em;overflow-x:auto;padding:1.25rem 1.5rem;white-space:pre;word-wrap:normal}html.theme--documenter-dark pre code{background-color:transparent;color:currentColor;font-size:1em;padding:0}html.theme--documenter-dark table td,html.theme--documenter-dark table th{vertical-align:top}html.theme--documenter-dark table td:not([align]),html.theme--documenter-dark table th:not([align]){text-align:left}html.theme--documenter-dark table th{color:#f2f2f2}html.theme--documenter-dark .box{background-color:#343c3d;border-radius:8px;box-shadow:none;color:#fff;display:block;padding:1.25rem}html.theme--documenter-dark a.box:hover,html.theme--documenter-dark a.box:focus{box-shadow:0 2px 3px rgba(10,10,10,0.1),0 0 0 1px #1abc9c}html.theme--documenter-dark a.box:active{box-shadow:inset 0 1px 2px rgba(10,10,10,0.2),0 0 0 1px #1abc9c}html.theme--documenter-dark .button{background-color:#282f2f;border-color:#4c5759;border-width:1px;color:#375a7f;cursor:pointer;justify-content:center;padding-bottom:calc(0.375em - 1px);padding-left:.75em;padding-right:.75em;padding-top:calc(0.375em - 1px);text-align:center;white-space:nowrap}html.theme--documenter-dark .button strong{color:inherit}html.theme--documenter-dark .button .icon,html.theme--documenter-dark .button .icon.is-small,html.theme--documenter-dark .button #documenter .docs-sidebar form.docs-search>input.icon,html.theme--documenter-dark #documenter .docs-sidebar .button form.docs-search>input.icon,html.theme--documenter-dark .button .icon.is-medium,html.theme--documenter-dark .button .icon.is-large{height:1.5em;width:1.5em}html.theme--documenter-dark .button .icon:first-child:not(:last-child){margin-left:calc(-0.375em - 1px);margin-right:0.1875em}html.theme--documenter-dark .button .icon:last-child:not(:first-child){margin-left:0.1875em;margin-right:calc(-0.375em - 1px)}html.theme--documenter-dark .button .icon:first-child:last-child{margin-left:calc(-0.375em - 1px);margin-right:calc(-0.375em - 1px)}html.theme--documenter-dark .button:hover,html.theme--documenter-dark .button.is-hovered{border-color:#8c9b9d;color:#f2f2f2}html.theme--documenter-dark .button:focus,html.theme--documenter-dark .button.is-focused{border-color:#8c9b9d;color:#17a689}html.theme--documenter-dark .button:focus:not(:active),html.theme--documenter-dark .button.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(26,188,156,0.25)}html.theme--documenter-dark .button:active,html.theme--documenter-dark .button.is-active{border-color:#343c3d;color:#f2f2f2}html.theme--documenter-dark .button.is-text{background-color:transparent;border-color:transparent;color:#fff;text-decoration:underline}html.theme--documenter-dark .button.is-text:hover,html.theme--documenter-dark .button.is-text.is-hovered,html.theme--documenter-dark .button.is-text:focus,html.theme--documenter-dark .button.is-text.is-focused{background-color:#282f2f;color:#f2f2f2}html.theme--documenter-dark .button.is-text:active,html.theme--documenter-dark .button.is-text.is-active{background-color:#1d2122;color:#f2f2f2}html.theme--documenter-dark .button.is-text[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-text{background-color:transparent;border-color:transparent;box-shadow:none}html.theme--documenter-dark .button.is-white{background-color:#fff;border-color:transparent;color:#0a0a0a}html.theme--documenter-dark .button.is-white:hover,html.theme--documenter-dark .button.is-white.is-hovered{background-color:#f9f9f9;border-color:transparent;color:#0a0a0a}html.theme--documenter-dark .button.is-white:focus,html.theme--documenter-dark .button.is-white.is-focused{border-color:transparent;color:#0a0a0a}html.theme--documenter-dark .button.is-white:focus:not(:active),html.theme--documenter-dark .button.is-white.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(255,255,255,0.25)}html.theme--documenter-dark .button.is-white:active,html.theme--documenter-dark .button.is-white.is-active{background-color:#f2f2f2;border-color:transparent;color:#0a0a0a}html.theme--documenter-dark .button.is-white[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-white{background-color:#fff;border-color:transparent;box-shadow:none}html.theme--documenter-dark .button.is-white.is-inverted{background-color:#0a0a0a;color:#fff}html.theme--documenter-dark .button.is-white.is-inverted:hover,html.theme--documenter-dark .button.is-white.is-inverted.is-hovered{background-color:#000}html.theme--documenter-dark .button.is-white.is-inverted[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-white.is-inverted{background-color:#0a0a0a;border-color:transparent;box-shadow:none;color:#fff}html.theme--documenter-dark .button.is-white.is-loading::after{border-color:transparent transparent #0a0a0a #0a0a0a !important}html.theme--documenter-dark .button.is-white.is-outlined{background-color:transparent;border-color:#fff;color:#fff}html.theme--documenter-dark .button.is-white.is-outlined:hover,html.theme--documenter-dark .button.is-white.is-outlined.is-hovered,html.theme--documenter-dark .button.is-white.is-outlined:focus,html.theme--documenter-dark .button.is-white.is-outlined.is-focused{background-color:#fff;border-color:#fff;color:#0a0a0a}html.theme--documenter-dark .button.is-white.is-outlined.is-loading::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-white.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-white.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-white.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-white.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #0a0a0a #0a0a0a !important}html.theme--documenter-dark .button.is-white.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-white.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}html.theme--documenter-dark .button.is-white.is-inverted.is-outlined{background-color:transparent;border-color:#0a0a0a;color:#0a0a0a}html.theme--documenter-dark .button.is-white.is-inverted.is-outlined:hover,html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-hovered,html.theme--documenter-dark .button.is-white.is-inverted.is-outlined:focus,html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-focused{background-color:#0a0a0a;color:#fff}html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-white.is-inverted.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-white.is-inverted.is-outlined{background-color:transparent;border-color:#0a0a0a;box-shadow:none;color:#0a0a0a}html.theme--documenter-dark .button.is-black{background-color:#0a0a0a;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-black:hover,html.theme--documenter-dark .button.is-black.is-hovered{background-color:#040404;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-black:focus,html.theme--documenter-dark .button.is-black.is-focused{border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-black:focus:not(:active),html.theme--documenter-dark .button.is-black.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(10,10,10,0.25)}html.theme--documenter-dark .button.is-black:active,html.theme--documenter-dark .button.is-black.is-active{background-color:#000;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-black[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-black{background-color:#0a0a0a;border-color:transparent;box-shadow:none}html.theme--documenter-dark .button.is-black.is-inverted{background-color:#fff;color:#0a0a0a}html.theme--documenter-dark .button.is-black.is-inverted:hover,html.theme--documenter-dark .button.is-black.is-inverted.is-hovered{background-color:#f2f2f2}html.theme--documenter-dark .button.is-black.is-inverted[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-black.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#0a0a0a}html.theme--documenter-dark .button.is-black.is-loading::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-black.is-outlined{background-color:transparent;border-color:#0a0a0a;color:#0a0a0a}html.theme--documenter-dark .button.is-black.is-outlined:hover,html.theme--documenter-dark .button.is-black.is-outlined.is-hovered,html.theme--documenter-dark .button.is-black.is-outlined:focus,html.theme--documenter-dark .button.is-black.is-outlined.is-focused{background-color:#0a0a0a;border-color:#0a0a0a;color:#fff}html.theme--documenter-dark .button.is-black.is-outlined.is-loading::after{border-color:transparent transparent #0a0a0a #0a0a0a !important}html.theme--documenter-dark .button.is-black.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-black.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-black.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-black.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-black.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-black.is-outlined{background-color:transparent;border-color:#0a0a0a;box-shadow:none;color:#0a0a0a}html.theme--documenter-dark .button.is-black.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}html.theme--documenter-dark .button.is-black.is-inverted.is-outlined:hover,html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-hovered,html.theme--documenter-dark .button.is-black.is-inverted.is-outlined:focus,html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-focused{background-color:#fff;color:#0a0a0a}html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #0a0a0a #0a0a0a !important}html.theme--documenter-dark .button.is-black.is-inverted.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-black.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}html.theme--documenter-dark .button.is-light{background-color:#ecf0f1;border-color:transparent;color:#282f2f}html.theme--documenter-dark .button.is-light:hover,html.theme--documenter-dark .button.is-light.is-hovered{background-color:#e5eaec;border-color:transparent;color:#282f2f}html.theme--documenter-dark .button.is-light:focus,html.theme--documenter-dark .button.is-light.is-focused{border-color:transparent;color:#282f2f}html.theme--documenter-dark .button.is-light:focus:not(:active),html.theme--documenter-dark .button.is-light.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(236,240,241,0.25)}html.theme--documenter-dark .button.is-light:active,html.theme--documenter-dark .button.is-light.is-active{background-color:#dde4e6;border-color:transparent;color:#282f2f}html.theme--documenter-dark .button.is-light[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-light{background-color:#ecf0f1;border-color:transparent;box-shadow:none}html.theme--documenter-dark .button.is-light.is-inverted{background-color:#282f2f;color:#ecf0f1}html.theme--documenter-dark .button.is-light.is-inverted:hover,html.theme--documenter-dark .button.is-light.is-inverted.is-hovered{background-color:#1d2122}html.theme--documenter-dark .button.is-light.is-inverted[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-light.is-inverted{background-color:#282f2f;border-color:transparent;box-shadow:none;color:#ecf0f1}html.theme--documenter-dark .button.is-light.is-loading::after{border-color:transparent transparent #282f2f #282f2f !important}html.theme--documenter-dark .button.is-light.is-outlined{background-color:transparent;border-color:#ecf0f1;color:#ecf0f1}html.theme--documenter-dark .button.is-light.is-outlined:hover,html.theme--documenter-dark .button.is-light.is-outlined.is-hovered,html.theme--documenter-dark .button.is-light.is-outlined:focus,html.theme--documenter-dark .button.is-light.is-outlined.is-focused{background-color:#ecf0f1;border-color:#ecf0f1;color:#282f2f}html.theme--documenter-dark .button.is-light.is-outlined.is-loading::after{border-color:transparent transparent #ecf0f1 #ecf0f1 !important}html.theme--documenter-dark .button.is-light.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-light.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-light.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-light.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #282f2f #282f2f !important}html.theme--documenter-dark .button.is-light.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-light.is-outlined{background-color:transparent;border-color:#ecf0f1;box-shadow:none;color:#ecf0f1}html.theme--documenter-dark .button.is-light.is-inverted.is-outlined{background-color:transparent;border-color:#282f2f;color:#282f2f}html.theme--documenter-dark .button.is-light.is-inverted.is-outlined:hover,html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-hovered,html.theme--documenter-dark .button.is-light.is-inverted.is-outlined:focus,html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-focused{background-color:#282f2f;color:#ecf0f1}html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #ecf0f1 #ecf0f1 !important}html.theme--documenter-dark .button.is-light.is-inverted.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-light.is-inverted.is-outlined{background-color:transparent;border-color:#282f2f;box-shadow:none;color:#282f2f}html.theme--documenter-dark .button.is-dark,html.theme--documenter-dark .content kbd.button{background-color:#282f2f;border-color:transparent;color:#ecf0f1}html.theme--documenter-dark .button.is-dark:hover,html.theme--documenter-dark .content kbd.button:hover,html.theme--documenter-dark .button.is-dark.is-hovered,html.theme--documenter-dark .content kbd.button.is-hovered{background-color:#232829;border-color:transparent;color:#ecf0f1}html.theme--documenter-dark .button.is-dark:focus,html.theme--documenter-dark .content kbd.button:focus,html.theme--documenter-dark .button.is-dark.is-focused,html.theme--documenter-dark .content kbd.button.is-focused{border-color:transparent;color:#ecf0f1}html.theme--documenter-dark .button.is-dark:focus:not(:active),html.theme--documenter-dark .content kbd.button:focus:not(:active),html.theme--documenter-dark .button.is-dark.is-focused:not(:active),html.theme--documenter-dark .content kbd.button.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(40,47,47,0.25)}html.theme--documenter-dark .button.is-dark:active,html.theme--documenter-dark .content kbd.button:active,html.theme--documenter-dark .button.is-dark.is-active,html.theme--documenter-dark .content kbd.button.is-active{background-color:#1d2122;border-color:transparent;color:#ecf0f1}html.theme--documenter-dark .button.is-dark[disabled],html.theme--documenter-dark .content kbd.button[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-dark,fieldset[disabled] html.theme--documenter-dark .content kbd.button{background-color:#282f2f;border-color:transparent;box-shadow:none}html.theme--documenter-dark .button.is-dark.is-inverted,html.theme--documenter-dark .content kbd.button.is-inverted{background-color:#ecf0f1;color:#282f2f}html.theme--documenter-dark .button.is-dark.is-inverted:hover,html.theme--documenter-dark .content kbd.button.is-inverted:hover,html.theme--documenter-dark .button.is-dark.is-inverted.is-hovered,html.theme--documenter-dark .content kbd.button.is-inverted.is-hovered{background-color:#dde4e6}html.theme--documenter-dark .button.is-dark.is-inverted[disabled],html.theme--documenter-dark .content kbd.button.is-inverted[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-dark.is-inverted,fieldset[disabled] html.theme--documenter-dark .content kbd.button.is-inverted{background-color:#ecf0f1;border-color:transparent;box-shadow:none;color:#282f2f}html.theme--documenter-dark .button.is-dark.is-loading::after,html.theme--documenter-dark .content kbd.button.is-loading::after{border-color:transparent transparent #ecf0f1 #ecf0f1 !important}html.theme--documenter-dark .button.is-dark.is-outlined,html.theme--documenter-dark .content kbd.button.is-outlined{background-color:transparent;border-color:#282f2f;color:#282f2f}html.theme--documenter-dark .button.is-dark.is-outlined:hover,html.theme--documenter-dark .content kbd.button.is-outlined:hover,html.theme--documenter-dark .button.is-dark.is-outlined.is-hovered,html.theme--documenter-dark .content kbd.button.is-outlined.is-hovered,html.theme--documenter-dark .button.is-dark.is-outlined:focus,html.theme--documenter-dark .content kbd.button.is-outlined:focus,html.theme--documenter-dark .button.is-dark.is-outlined.is-focused,html.theme--documenter-dark .content kbd.button.is-outlined.is-focused{background-color:#282f2f;border-color:#282f2f;color:#ecf0f1}html.theme--documenter-dark .button.is-dark.is-outlined.is-loading::after,html.theme--documenter-dark .content kbd.button.is-outlined.is-loading::after{border-color:transparent transparent #282f2f #282f2f !important}html.theme--documenter-dark .button.is-dark.is-outlined.is-loading:hover::after,html.theme--documenter-dark .content kbd.button.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-dark.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .content kbd.button.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-dark.is-outlined.is-loading:focus::after,html.theme--documenter-dark .content kbd.button.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-dark.is-outlined.is-loading.is-focused::after,html.theme--documenter-dark .content kbd.button.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #ecf0f1 #ecf0f1 !important}html.theme--documenter-dark .button.is-dark.is-outlined[disabled],html.theme--documenter-dark .content kbd.button.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-dark.is-outlined,fieldset[disabled] html.theme--documenter-dark .content kbd.button.is-outlined{background-color:transparent;border-color:#282f2f;box-shadow:none;color:#282f2f}html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined,html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined{background-color:transparent;border-color:#ecf0f1;color:#ecf0f1}html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined:hover,html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined:hover,html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-hovered,html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-hovered,html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined:focus,html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined:focus,html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-focused,html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-focused{background-color:#ecf0f1;color:#282f2f}html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-loading:hover::after,html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-loading:focus::after,html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-loading.is-focused::after,html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #282f2f #282f2f !important}html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined[disabled],html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined,fieldset[disabled] html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined{background-color:transparent;border-color:#ecf0f1;box-shadow:none;color:#ecf0f1}html.theme--documenter-dark .button.is-primary,html.theme--documenter-dark .docstring>section>a.button.docs-sourcelink{background-color:#375a7f;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-primary:hover,html.theme--documenter-dark .docstring>section>a.button.docs-sourcelink:hover,html.theme--documenter-dark .button.is-primary.is-hovered,html.theme--documenter-dark .docstring>section>a.button.is-hovered.docs-sourcelink{background-color:#335476;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-primary:focus,html.theme--documenter-dark .docstring>section>a.button.docs-sourcelink:focus,html.theme--documenter-dark .button.is-primary.is-focused,html.theme--documenter-dark .docstring>section>a.button.is-focused.docs-sourcelink{border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-primary:focus:not(:active),html.theme--documenter-dark .docstring>section>a.button.docs-sourcelink:focus:not(:active),html.theme--documenter-dark .button.is-primary.is-focused:not(:active),html.theme--documenter-dark .docstring>section>a.button.is-focused.docs-sourcelink:not(:active){box-shadow:0 0 0 0.125em rgba(55,90,127,0.25)}html.theme--documenter-dark .button.is-primary:active,html.theme--documenter-dark .docstring>section>a.button.docs-sourcelink:active,html.theme--documenter-dark .button.is-primary.is-active,html.theme--documenter-dark .docstring>section>a.button.is-active.docs-sourcelink{background-color:#2f4d6d;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-primary[disabled],html.theme--documenter-dark .docstring>section>a.button.docs-sourcelink[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-primary,fieldset[disabled] html.theme--documenter-dark .docstring>section>a.button.docs-sourcelink{background-color:#375a7f;border-color:transparent;box-shadow:none}html.theme--documenter-dark .button.is-primary.is-inverted,html.theme--documenter-dark .docstring>section>a.button.is-inverted.docs-sourcelink{background-color:#fff;color:#375a7f}html.theme--documenter-dark .button.is-primary.is-inverted:hover,html.theme--documenter-dark .docstring>section>a.button.is-inverted.docs-sourcelink:hover,html.theme--documenter-dark .button.is-primary.is-inverted.is-hovered,html.theme--documenter-dark .docstring>section>a.button.is-inverted.is-hovered.docs-sourcelink{background-color:#f2f2f2}html.theme--documenter-dark .button.is-primary.is-inverted[disabled],html.theme--documenter-dark .docstring>section>a.button.is-inverted.docs-sourcelink[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-primary.is-inverted,fieldset[disabled] html.theme--documenter-dark .docstring>section>a.button.is-inverted.docs-sourcelink{background-color:#fff;border-color:transparent;box-shadow:none;color:#375a7f}html.theme--documenter-dark .button.is-primary.is-loading::after,html.theme--documenter-dark .docstring>section>a.button.is-loading.docs-sourcelink::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-primary.is-outlined,html.theme--documenter-dark .docstring>section>a.button.is-outlined.docs-sourcelink{background-color:transparent;border-color:#375a7f;color:#375a7f}html.theme--documenter-dark .button.is-primary.is-outlined:hover,html.theme--documenter-dark .docstring>section>a.button.is-outlined.docs-sourcelink:hover,html.theme--documenter-dark .button.is-primary.is-outlined.is-hovered,html.theme--documenter-dark .docstring>section>a.button.is-outlined.is-hovered.docs-sourcelink,html.theme--documenter-dark .button.is-primary.is-outlined:focus,html.theme--documenter-dark .docstring>section>a.button.is-outlined.docs-sourcelink:focus,html.theme--documenter-dark .button.is-primary.is-outlined.is-focused,html.theme--documenter-dark .docstring>section>a.button.is-outlined.is-focused.docs-sourcelink{background-color:#375a7f;border-color:#375a7f;color:#fff}html.theme--documenter-dark .button.is-primary.is-outlined.is-loading::after,html.theme--documenter-dark .docstring>section>a.button.is-outlined.is-loading.docs-sourcelink::after{border-color:transparent transparent #375a7f #375a7f !important}html.theme--documenter-dark .button.is-primary.is-outlined.is-loading:hover::after,html.theme--documenter-dark .docstring>section>a.button.is-outlined.is-loading.docs-sourcelink:hover::after,html.theme--documenter-dark .button.is-primary.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .docstring>section>a.button.is-outlined.is-loading.is-hovered.docs-sourcelink::after,html.theme--documenter-dark .button.is-primary.is-outlined.is-loading:focus::after,html.theme--documenter-dark .docstring>section>a.button.is-outlined.is-loading.docs-sourcelink:focus::after,html.theme--documenter-dark .button.is-primary.is-outlined.is-loading.is-focused::after,html.theme--documenter-dark .docstring>section>a.button.is-outlined.is-loading.is-focused.docs-sourcelink::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-primary.is-outlined[disabled],html.theme--documenter-dark .docstring>section>a.button.is-outlined.docs-sourcelink[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-primary.is-outlined,fieldset[disabled] html.theme--documenter-dark .docstring>section>a.button.is-outlined.docs-sourcelink{background-color:transparent;border-color:#375a7f;box-shadow:none;color:#375a7f}html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined,html.theme--documenter-dark .docstring>section>a.button.is-inverted.is-outlined.docs-sourcelink{background-color:transparent;border-color:#fff;color:#fff}html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined:hover,html.theme--documenter-dark .docstring>section>a.button.is-inverted.is-outlined.docs-sourcelink:hover,html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-hovered,html.theme--documenter-dark .docstring>section>a.button.is-inverted.is-outlined.is-hovered.docs-sourcelink,html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined:focus,html.theme--documenter-dark .docstring>section>a.button.is-inverted.is-outlined.docs-sourcelink:focus,html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-focused,html.theme--documenter-dark .docstring>section>a.button.is-inverted.is-outlined.is-focused.docs-sourcelink{background-color:#fff;color:#375a7f}html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-loading:hover::after,html.theme--documenter-dark .docstring>section>a.button.is-inverted.is-outlined.is-loading.docs-sourcelink:hover::after,html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .docstring>section>a.button.is-inverted.is-outlined.is-loading.is-hovered.docs-sourcelink::after,html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-loading:focus::after,html.theme--documenter-dark .docstring>section>a.button.is-inverted.is-outlined.is-loading.docs-sourcelink:focus::after,html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-loading.is-focused::after,html.theme--documenter-dark .docstring>section>a.button.is-inverted.is-outlined.is-loading.is-focused.docs-sourcelink::after{border-color:transparent transparent #375a7f #375a7f !important}html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined[disabled],html.theme--documenter-dark .docstring>section>a.button.is-inverted.is-outlined.docs-sourcelink[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined,fieldset[disabled] html.theme--documenter-dark .docstring>section>a.button.is-inverted.is-outlined.docs-sourcelink{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}html.theme--documenter-dark .button.is-link{background-color:#1abc9c;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-link:hover,html.theme--documenter-dark .button.is-link.is-hovered{background-color:#18b193;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-link:focus,html.theme--documenter-dark .button.is-link.is-focused{border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-link:focus:not(:active),html.theme--documenter-dark .button.is-link.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(26,188,156,0.25)}html.theme--documenter-dark .button.is-link:active,html.theme--documenter-dark .button.is-link.is-active{background-color:#17a689;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-link[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-link{background-color:#1abc9c;border-color:transparent;box-shadow:none}html.theme--documenter-dark .button.is-link.is-inverted{background-color:#fff;color:#1abc9c}html.theme--documenter-dark .button.is-link.is-inverted:hover,html.theme--documenter-dark .button.is-link.is-inverted.is-hovered{background-color:#f2f2f2}html.theme--documenter-dark .button.is-link.is-inverted[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-link.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#1abc9c}html.theme--documenter-dark .button.is-link.is-loading::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-link.is-outlined{background-color:transparent;border-color:#1abc9c;color:#1abc9c}html.theme--documenter-dark .button.is-link.is-outlined:hover,html.theme--documenter-dark .button.is-link.is-outlined.is-hovered,html.theme--documenter-dark .button.is-link.is-outlined:focus,html.theme--documenter-dark .button.is-link.is-outlined.is-focused{background-color:#1abc9c;border-color:#1abc9c;color:#fff}html.theme--documenter-dark .button.is-link.is-outlined.is-loading::after{border-color:transparent transparent #1abc9c #1abc9c !important}html.theme--documenter-dark .button.is-link.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-link.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-link.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-link.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-link.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-link.is-outlined{background-color:transparent;border-color:#1abc9c;box-shadow:none;color:#1abc9c}html.theme--documenter-dark .button.is-link.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}html.theme--documenter-dark .button.is-link.is-inverted.is-outlined:hover,html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-hovered,html.theme--documenter-dark .button.is-link.is-inverted.is-outlined:focus,html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-focused{background-color:#fff;color:#1abc9c}html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #1abc9c #1abc9c !important}html.theme--documenter-dark .button.is-link.is-inverted.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-link.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}html.theme--documenter-dark .button.is-info{background-color:#024c7d;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-info:hover,html.theme--documenter-dark .button.is-info.is-hovered{background-color:#024470;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-info:focus,html.theme--documenter-dark .button.is-info.is-focused{border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-info:focus:not(:active),html.theme--documenter-dark .button.is-info.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(2,76,125,0.25)}html.theme--documenter-dark .button.is-info:active,html.theme--documenter-dark .button.is-info.is-active{background-color:#023d64;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-info[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-info{background-color:#024c7d;border-color:transparent;box-shadow:none}html.theme--documenter-dark .button.is-info.is-inverted{background-color:#fff;color:#024c7d}html.theme--documenter-dark .button.is-info.is-inverted:hover,html.theme--documenter-dark .button.is-info.is-inverted.is-hovered{background-color:#f2f2f2}html.theme--documenter-dark .button.is-info.is-inverted[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-info.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#024c7d}html.theme--documenter-dark .button.is-info.is-loading::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-info.is-outlined{background-color:transparent;border-color:#024c7d;color:#024c7d}html.theme--documenter-dark .button.is-info.is-outlined:hover,html.theme--documenter-dark .button.is-info.is-outlined.is-hovered,html.theme--documenter-dark .button.is-info.is-outlined:focus,html.theme--documenter-dark .button.is-info.is-outlined.is-focused{background-color:#024c7d;border-color:#024c7d;color:#fff}html.theme--documenter-dark .button.is-info.is-outlined.is-loading::after{border-color:transparent transparent #024c7d #024c7d !important}html.theme--documenter-dark .button.is-info.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-info.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-info.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-info.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-info.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-info.is-outlined{background-color:transparent;border-color:#024c7d;box-shadow:none;color:#024c7d}html.theme--documenter-dark .button.is-info.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}html.theme--documenter-dark .button.is-info.is-inverted.is-outlined:hover,html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-hovered,html.theme--documenter-dark .button.is-info.is-inverted.is-outlined:focus,html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-focused{background-color:#fff;color:#024c7d}html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #024c7d #024c7d !important}html.theme--documenter-dark .button.is-info.is-inverted.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-info.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}html.theme--documenter-dark .button.is-success{background-color:#008438;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-success:hover,html.theme--documenter-dark .button.is-success.is-hovered{background-color:#073;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-success:focus,html.theme--documenter-dark .button.is-success.is-focused{border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-success:focus:not(:active),html.theme--documenter-dark .button.is-success.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(0,132,56,0.25)}html.theme--documenter-dark .button.is-success:active,html.theme--documenter-dark .button.is-success.is-active{background-color:#006b2d;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-success[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-success{background-color:#008438;border-color:transparent;box-shadow:none}html.theme--documenter-dark .button.is-success.is-inverted{background-color:#fff;color:#008438}html.theme--documenter-dark .button.is-success.is-inverted:hover,html.theme--documenter-dark .button.is-success.is-inverted.is-hovered{background-color:#f2f2f2}html.theme--documenter-dark .button.is-success.is-inverted[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-success.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#008438}html.theme--documenter-dark .button.is-success.is-loading::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-success.is-outlined{background-color:transparent;border-color:#008438;color:#008438}html.theme--documenter-dark .button.is-success.is-outlined:hover,html.theme--documenter-dark .button.is-success.is-outlined.is-hovered,html.theme--documenter-dark .button.is-success.is-outlined:focus,html.theme--documenter-dark .button.is-success.is-outlined.is-focused{background-color:#008438;border-color:#008438;color:#fff}html.theme--documenter-dark .button.is-success.is-outlined.is-loading::after{border-color:transparent transparent #008438 #008438 !important}html.theme--documenter-dark .button.is-success.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-success.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-success.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-success.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-success.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-success.is-outlined{background-color:transparent;border-color:#008438;box-shadow:none;color:#008438}html.theme--documenter-dark .button.is-success.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}html.theme--documenter-dark .button.is-success.is-inverted.is-outlined:hover,html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-hovered,html.theme--documenter-dark .button.is-success.is-inverted.is-outlined:focus,html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-focused{background-color:#fff;color:#008438}html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #008438 #008438 !important}html.theme--documenter-dark .button.is-success.is-inverted.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-success.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}html.theme--documenter-dark .button.is-warning{background-color:#ad8100;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-warning:hover,html.theme--documenter-dark .button.is-warning.is-hovered{background-color:#a07700;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-warning:focus,html.theme--documenter-dark .button.is-warning.is-focused{border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-warning:focus:not(:active),html.theme--documenter-dark .button.is-warning.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(173,129,0,0.25)}html.theme--documenter-dark .button.is-warning:active,html.theme--documenter-dark .button.is-warning.is-active{background-color:#946e00;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-warning[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-warning{background-color:#ad8100;border-color:transparent;box-shadow:none}html.theme--documenter-dark .button.is-warning.is-inverted{background-color:#fff;color:#ad8100}html.theme--documenter-dark .button.is-warning.is-inverted:hover,html.theme--documenter-dark .button.is-warning.is-inverted.is-hovered{background-color:#f2f2f2}html.theme--documenter-dark .button.is-warning.is-inverted[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-warning.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#ad8100}html.theme--documenter-dark .button.is-warning.is-loading::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-warning.is-outlined{background-color:transparent;border-color:#ad8100;color:#ad8100}html.theme--documenter-dark .button.is-warning.is-outlined:hover,html.theme--documenter-dark .button.is-warning.is-outlined.is-hovered,html.theme--documenter-dark .button.is-warning.is-outlined:focus,html.theme--documenter-dark .button.is-warning.is-outlined.is-focused{background-color:#ad8100;border-color:#ad8100;color:#fff}html.theme--documenter-dark .button.is-warning.is-outlined.is-loading::after{border-color:transparent transparent #ad8100 #ad8100 !important}html.theme--documenter-dark .button.is-warning.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-warning.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-warning.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-warning.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-warning.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-warning.is-outlined{background-color:transparent;border-color:#ad8100;box-shadow:none;color:#ad8100}html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined:hover,html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-hovered,html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined:focus,html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-focused{background-color:#fff;color:#ad8100}html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #ad8100 #ad8100 !important}html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}html.theme--documenter-dark .button.is-danger{background-color:#9e1b0d;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-danger:hover,html.theme--documenter-dark .button.is-danger.is-hovered{background-color:#92190c;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-danger:focus,html.theme--documenter-dark .button.is-danger.is-focused{border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-danger:focus:not(:active),html.theme--documenter-dark .button.is-danger.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(158,27,13,0.25)}html.theme--documenter-dark .button.is-danger:active,html.theme--documenter-dark .button.is-danger.is-active{background-color:#86170b;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-danger[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-danger{background-color:#9e1b0d;border-color:transparent;box-shadow:none}html.theme--documenter-dark .button.is-danger.is-inverted{background-color:#fff;color:#9e1b0d}html.theme--documenter-dark .button.is-danger.is-inverted:hover,html.theme--documenter-dark .button.is-danger.is-inverted.is-hovered{background-color:#f2f2f2}html.theme--documenter-dark .button.is-danger.is-inverted[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-danger.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#9e1b0d}html.theme--documenter-dark .button.is-danger.is-loading::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-danger.is-outlined{background-color:transparent;border-color:#9e1b0d;color:#9e1b0d}html.theme--documenter-dark .button.is-danger.is-outlined:hover,html.theme--documenter-dark .button.is-danger.is-outlined.is-hovered,html.theme--documenter-dark .button.is-danger.is-outlined:focus,html.theme--documenter-dark .button.is-danger.is-outlined.is-focused{background-color:#9e1b0d;border-color:#9e1b0d;color:#fff}html.theme--documenter-dark .button.is-danger.is-outlined.is-loading::after{border-color:transparent transparent #9e1b0d #9e1b0d !important}html.theme--documenter-dark .button.is-danger.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-danger.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-danger.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-danger.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-danger.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-danger.is-outlined{background-color:transparent;border-color:#9e1b0d;box-shadow:none;color:#9e1b0d}html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined:hover,html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-hovered,html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined:focus,html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-focused{background-color:#fff;color:#9e1b0d}html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #9e1b0d #9e1b0d !important}html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}html.theme--documenter-dark .button.is-small,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.button{border-radius:3px;font-size:.85em}html.theme--documenter-dark .button.is-normal{font-size:15px}html.theme--documenter-dark .button.is-medium{font-size:1.25rem}html.theme--documenter-dark .button.is-large{font-size:1.5rem}html.theme--documenter-dark .button[disabled],fieldset[disabled] html.theme--documenter-dark .button{background-color:#8c9b9d;border-color:#dbdee0;box-shadow:none;opacity:.5}html.theme--documenter-dark .button.is-fullwidth{display:flex;width:100%}html.theme--documenter-dark .button.is-loading{color:transparent !important;pointer-events:none}html.theme--documenter-dark .button.is-loading::after{position:absolute;left:calc(50% - (1em / 2));top:calc(50% - (1em / 2));position:absolute !important}html.theme--documenter-dark .button.is-static{background-color:#282f2f;border-color:#5e6d6f;color:#dbdee0;box-shadow:none;pointer-events:none}html.theme--documenter-dark .button.is-rounded,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.button{border-radius:290486px;padding-left:1em;padding-right:1em}html.theme--documenter-dark .buttons{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-start}html.theme--documenter-dark .buttons .button{margin-bottom:0.5rem}html.theme--documenter-dark .buttons .button:not(:last-child):not(.is-fullwidth){margin-right:0.5rem}html.theme--documenter-dark .buttons:last-child{margin-bottom:-0.5rem}html.theme--documenter-dark .buttons:not(:last-child){margin-bottom:1rem}html.theme--documenter-dark .buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large){border-radius:3px;font-size:.85em}html.theme--documenter-dark .buttons.are-medium .button:not(.is-small):not(.is-normal):not(.is-large){font-size:1.25rem}html.theme--documenter-dark .buttons.are-large .button:not(.is-small):not(.is-normal):not(.is-medium){font-size:1.5rem}html.theme--documenter-dark .buttons.has-addons .button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}html.theme--documenter-dark .buttons.has-addons .button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0;margin-right:-1px}html.theme--documenter-dark .buttons.has-addons .button:last-child{margin-right:0}html.theme--documenter-dark .buttons.has-addons .button:hover,html.theme--documenter-dark .buttons.has-addons .button.is-hovered{z-index:2}html.theme--documenter-dark .buttons.has-addons .button:focus,html.theme--documenter-dark .buttons.has-addons .button.is-focused,html.theme--documenter-dark .buttons.has-addons .button:active,html.theme--documenter-dark .buttons.has-addons .button.is-active,html.theme--documenter-dark .buttons.has-addons .button.is-selected{z-index:3}html.theme--documenter-dark .buttons.has-addons .button:focus:hover,html.theme--documenter-dark .buttons.has-addons .button.is-focused:hover,html.theme--documenter-dark .buttons.has-addons .button:active:hover,html.theme--documenter-dark .buttons.has-addons .button.is-active:hover,html.theme--documenter-dark .buttons.has-addons .button.is-selected:hover{z-index:4}html.theme--documenter-dark .buttons.has-addons .button.is-expanded{flex-grow:1;flex-shrink:1}html.theme--documenter-dark .buttons.is-centered{justify-content:center}html.theme--documenter-dark .buttons.is-centered:not(.has-addons) .button:not(.is-fullwidth){margin-left:0.25rem;margin-right:0.25rem}html.theme--documenter-dark .buttons.is-right{justify-content:flex-end}html.theme--documenter-dark .buttons.is-right:not(.has-addons) .button:not(.is-fullwidth){margin-left:0.25rem;margin-right:0.25rem}html.theme--documenter-dark .container{flex-grow:1;margin:0 auto;position:relative;width:auto}@media screen and (min-width: 1056px){html.theme--documenter-dark .container{max-width:992px}html.theme--documenter-dark .container.is-fluid{margin-left:32px;margin-right:32px;max-width:none}}@media screen and (max-width: 1215px){html.theme--documenter-dark .container.is-widescreen{max-width:1152px}}@media screen and (max-width: 1407px){html.theme--documenter-dark .container.is-fullhd{max-width:1344px}}@media screen and (min-width: 1216px){html.theme--documenter-dark .container{max-width:1152px}}@media screen and (min-width: 1408px){html.theme--documenter-dark .container{max-width:1344px}}html.theme--documenter-dark .content li+li{margin-top:0.25em}html.theme--documenter-dark .content p:not(:last-child),html.theme--documenter-dark .content dl:not(:last-child),html.theme--documenter-dark .content ol:not(:last-child),html.theme--documenter-dark .content ul:not(:last-child),html.theme--documenter-dark .content blockquote:not(:last-child),html.theme--documenter-dark .content pre:not(:last-child),html.theme--documenter-dark .content table:not(:last-child){margin-bottom:1em}html.theme--documenter-dark .content h1,html.theme--documenter-dark .content h2,html.theme--documenter-dark .content h3,html.theme--documenter-dark .content h4,html.theme--documenter-dark .content h5,html.theme--documenter-dark .content h6{color:#f2f2f2;font-weight:600;line-height:1.125}html.theme--documenter-dark .content h1{font-size:2em;margin-bottom:0.5em}html.theme--documenter-dark .content h1:not(:first-child){margin-top:1em}html.theme--documenter-dark .content h2{font-size:1.75em;margin-bottom:0.5714em}html.theme--documenter-dark .content h2:not(:first-child){margin-top:1.1428em}html.theme--documenter-dark .content h3{font-size:1.5em;margin-bottom:0.6666em}html.theme--documenter-dark .content h3:not(:first-child){margin-top:1.3333em}html.theme--documenter-dark .content h4{font-size:1.25em;margin-bottom:0.8em}html.theme--documenter-dark .content h5{font-size:1.125em;margin-bottom:0.8888em}html.theme--documenter-dark .content h6{font-size:1em;margin-bottom:1em}html.theme--documenter-dark .content blockquote{background-color:#282f2f;border-left:5px solid #5e6d6f;padding:1.25em 1.5em}html.theme--documenter-dark .content ol{list-style-position:outside;margin-left:2em;margin-top:1em}html.theme--documenter-dark .content ol:not([type]){list-style-type:decimal}html.theme--documenter-dark .content ol.is-lower-alpha:not([type]){list-style-type:lower-alpha}html.theme--documenter-dark .content ol.is-lower-roman:not([type]){list-style-type:lower-roman}html.theme--documenter-dark .content ol.is-upper-alpha:not([type]){list-style-type:upper-alpha}html.theme--documenter-dark .content ol.is-upper-roman:not([type]){list-style-type:upper-roman}html.theme--documenter-dark .content ul{list-style:disc outside;margin-left:2em;margin-top:1em}html.theme--documenter-dark .content ul ul{list-style-type:circle;margin-top:0.5em}html.theme--documenter-dark .content ul ul ul{list-style-type:square}html.theme--documenter-dark .content dd{margin-left:2em}html.theme--documenter-dark .content figure{margin-left:2em;margin-right:2em;text-align:center}html.theme--documenter-dark .content figure:not(:first-child){margin-top:2em}html.theme--documenter-dark .content figure:not(:last-child){margin-bottom:2em}html.theme--documenter-dark .content figure img{display:inline-block}html.theme--documenter-dark .content figure figcaption{font-style:italic}html.theme--documenter-dark .content pre{-webkit-overflow-scrolling:touch;overflow-x:auto;padding:0;white-space:pre;word-wrap:normal}html.theme--documenter-dark .content sup,html.theme--documenter-dark .content sub{font-size:75%}html.theme--documenter-dark .content table{width:100%}html.theme--documenter-dark .content table td,html.theme--documenter-dark .content table th{border:1px solid #5e6d6f;border-width:0 0 1px;padding:0.5em 0.75em;vertical-align:top}html.theme--documenter-dark .content table th{color:#f2f2f2}html.theme--documenter-dark .content table th:not([align]){text-align:left}html.theme--documenter-dark .content table thead td,html.theme--documenter-dark .content table thead th{border-width:0 0 2px;color:#f2f2f2}html.theme--documenter-dark .content table tfoot td,html.theme--documenter-dark .content table tfoot th{border-width:2px 0 0;color:#f2f2f2}html.theme--documenter-dark .content table tbody tr:last-child td,html.theme--documenter-dark .content table tbody tr:last-child th{border-bottom-width:0}html.theme--documenter-dark .content .tabs li+li{margin-top:0}html.theme--documenter-dark .content.is-small,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.content{font-size:.85em}html.theme--documenter-dark .content.is-medium{font-size:1.25rem}html.theme--documenter-dark .content.is-large{font-size:1.5rem}html.theme--documenter-dark .icon{align-items:center;display:inline-flex;justify-content:center;height:1.5rem;width:1.5rem}html.theme--documenter-dark .icon.is-small,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.icon{height:1rem;width:1rem}html.theme--documenter-dark .icon.is-medium{height:2rem;width:2rem}html.theme--documenter-dark .icon.is-large{height:3rem;width:3rem}html.theme--documenter-dark .image,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img{display:block;position:relative}html.theme--documenter-dark .image img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img img{display:block;height:auto;width:100%}html.theme--documenter-dark .image img.is-rounded,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img img.is-rounded{border-radius:290486px}html.theme--documenter-dark .image.is-square img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-square img,html.theme--documenter-dark .image.is-square .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-square .has-ratio,html.theme--documenter-dark .image.is-1by1 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-1by1 img,html.theme--documenter-dark .image.is-1by1 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-1by1 .has-ratio,html.theme--documenter-dark .image.is-5by4 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-5by4 img,html.theme--documenter-dark .image.is-5by4 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-5by4 .has-ratio,html.theme--documenter-dark .image.is-4by3 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-4by3 img,html.theme--documenter-dark .image.is-4by3 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-4by3 .has-ratio,html.theme--documenter-dark .image.is-3by2 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by2 img,html.theme--documenter-dark .image.is-3by2 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by2 .has-ratio,html.theme--documenter-dark .image.is-5by3 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-5by3 img,html.theme--documenter-dark .image.is-5by3 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-5by3 .has-ratio,html.theme--documenter-dark .image.is-16by9 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-16by9 img,html.theme--documenter-dark .image.is-16by9 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-16by9 .has-ratio,html.theme--documenter-dark .image.is-2by1 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-2by1 img,html.theme--documenter-dark .image.is-2by1 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-2by1 .has-ratio,html.theme--documenter-dark .image.is-3by1 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by1 img,html.theme--documenter-dark .image.is-3by1 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by1 .has-ratio,html.theme--documenter-dark .image.is-4by5 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-4by5 img,html.theme--documenter-dark .image.is-4by5 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-4by5 .has-ratio,html.theme--documenter-dark .image.is-3by4 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by4 img,html.theme--documenter-dark .image.is-3by4 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by4 .has-ratio,html.theme--documenter-dark .image.is-2by3 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-2by3 img,html.theme--documenter-dark .image.is-2by3 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-2by3 .has-ratio,html.theme--documenter-dark .image.is-3by5 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by5 img,html.theme--documenter-dark .image.is-3by5 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by5 .has-ratio,html.theme--documenter-dark .image.is-9by16 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-9by16 img,html.theme--documenter-dark .image.is-9by16 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-9by16 .has-ratio,html.theme--documenter-dark .image.is-1by2 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-1by2 img,html.theme--documenter-dark .image.is-1by2 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-1by2 .has-ratio,html.theme--documenter-dark .image.is-1by3 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-1by3 img,html.theme--documenter-dark .image.is-1by3 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-1by3 .has-ratio{height:100%;width:100%}html.theme--documenter-dark .image.is-square,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-square,html.theme--documenter-dark .image.is-1by1,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-1by1{padding-top:100%}html.theme--documenter-dark .image.is-5by4,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-5by4{padding-top:80%}html.theme--documenter-dark .image.is-4by3,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-4by3{padding-top:75%}html.theme--documenter-dark .image.is-3by2,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by2{padding-top:66.6666%}html.theme--documenter-dark .image.is-5by3,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-5by3{padding-top:60%}html.theme--documenter-dark .image.is-16by9,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-16by9{padding-top:56.25%}html.theme--documenter-dark .image.is-2by1,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-2by1{padding-top:50%}html.theme--documenter-dark .image.is-3by1,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by1{padding-top:33.3333%}html.theme--documenter-dark .image.is-4by5,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-4by5{padding-top:125%}html.theme--documenter-dark .image.is-3by4,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by4{padding-top:133.3333%}html.theme--documenter-dark .image.is-2by3,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-2by3{padding-top:150%}html.theme--documenter-dark .image.is-3by5,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by5{padding-top:166.6666%}html.theme--documenter-dark .image.is-9by16,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-9by16{padding-top:177.7777%}html.theme--documenter-dark .image.is-1by2,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-1by2{padding-top:200%}html.theme--documenter-dark .image.is-1by3,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-1by3{padding-top:300%}html.theme--documenter-dark .image.is-16x16,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-16x16{height:16px;width:16px}html.theme--documenter-dark .image.is-24x24,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-24x24{height:24px;width:24px}html.theme--documenter-dark .image.is-32x32,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-32x32{height:32px;width:32px}html.theme--documenter-dark .image.is-48x48,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-48x48{height:48px;width:48px}html.theme--documenter-dark .image.is-64x64,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-64x64{height:64px;width:64px}html.theme--documenter-dark .image.is-96x96,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-96x96{height:96px;width:96px}html.theme--documenter-dark .image.is-128x128,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-128x128{height:128px;width:128px}html.theme--documenter-dark .notification{background-color:#282f2f;border-radius:.4em;padding:1.25rem 2.5rem 1.25rem 1.5rem;position:relative}html.theme--documenter-dark .notification a:not(.button):not(.dropdown-item){color:currentColor;text-decoration:underline}html.theme--documenter-dark .notification strong{color:currentColor}html.theme--documenter-dark .notification code,html.theme--documenter-dark .notification pre{background:#fff}html.theme--documenter-dark .notification pre code{background:transparent}html.theme--documenter-dark .notification>.delete{position:absolute;right:0.5rem;top:0.5rem}html.theme--documenter-dark .notification .title,html.theme--documenter-dark .notification .subtitle,html.theme--documenter-dark .notification .content{color:currentColor}html.theme--documenter-dark .notification.is-white{background-color:#fff;color:#0a0a0a}html.theme--documenter-dark .notification.is-black{background-color:#0a0a0a;color:#fff}html.theme--documenter-dark .notification.is-light{background-color:#ecf0f1;color:#282f2f}html.theme--documenter-dark .notification.is-dark,html.theme--documenter-dark .content kbd.notification{background-color:#282f2f;color:#ecf0f1}html.theme--documenter-dark .notification.is-primary,html.theme--documenter-dark .docstring>section>a.notification.docs-sourcelink{background-color:#375a7f;color:#fff}html.theme--documenter-dark .notification.is-link{background-color:#1abc9c;color:#fff}html.theme--documenter-dark .notification.is-info{background-color:#024c7d;color:#fff}html.theme--documenter-dark .notification.is-success{background-color:#008438;color:#fff}html.theme--documenter-dark .notification.is-warning{background-color:#ad8100;color:#fff}html.theme--documenter-dark .notification.is-danger{background-color:#9e1b0d;color:#fff}html.theme--documenter-dark .progress{-moz-appearance:none;-webkit-appearance:none;border:none;border-radius:290486px;display:block;height:15px;overflow:hidden;padding:0;width:100%}html.theme--documenter-dark .progress::-webkit-progress-bar{background-color:#5e6d6f}html.theme--documenter-dark .progress::-webkit-progress-value{background-color:#dbdee0}html.theme--documenter-dark .progress::-moz-progress-bar{background-color:#dbdee0}html.theme--documenter-dark .progress::-ms-fill{background-color:#dbdee0;border:none}html.theme--documenter-dark .progress.is-white::-webkit-progress-value{background-color:#fff}html.theme--documenter-dark .progress.is-white::-moz-progress-bar{background-color:#fff}html.theme--documenter-dark .progress.is-white::-ms-fill{background-color:#fff}html.theme--documenter-dark .progress.is-white:indeterminate{background-image:linear-gradient(to right, #fff 30%, #5e6d6f 30%)}html.theme--documenter-dark .progress.is-black::-webkit-progress-value{background-color:#0a0a0a}html.theme--documenter-dark .progress.is-black::-moz-progress-bar{background-color:#0a0a0a}html.theme--documenter-dark .progress.is-black::-ms-fill{background-color:#0a0a0a}html.theme--documenter-dark .progress.is-black:indeterminate{background-image:linear-gradient(to right, #0a0a0a 30%, #5e6d6f 30%)}html.theme--documenter-dark .progress.is-light::-webkit-progress-value{background-color:#ecf0f1}html.theme--documenter-dark .progress.is-light::-moz-progress-bar{background-color:#ecf0f1}html.theme--documenter-dark .progress.is-light::-ms-fill{background-color:#ecf0f1}html.theme--documenter-dark .progress.is-light:indeterminate{background-image:linear-gradient(to right, #ecf0f1 30%, #5e6d6f 30%)}html.theme--documenter-dark .progress.is-dark::-webkit-progress-value,html.theme--documenter-dark .content kbd.progress::-webkit-progress-value{background-color:#282f2f}html.theme--documenter-dark .progress.is-dark::-moz-progress-bar,html.theme--documenter-dark .content kbd.progress::-moz-progress-bar{background-color:#282f2f}html.theme--documenter-dark .progress.is-dark::-ms-fill,html.theme--documenter-dark .content kbd.progress::-ms-fill{background-color:#282f2f}html.theme--documenter-dark .progress.is-dark:indeterminate,html.theme--documenter-dark .content kbd.progress:indeterminate{background-image:linear-gradient(to right, #282f2f 30%, #5e6d6f 30%)}html.theme--documenter-dark .progress.is-primary::-webkit-progress-value,html.theme--documenter-dark .docstring>section>a.progress.docs-sourcelink::-webkit-progress-value{background-color:#375a7f}html.theme--documenter-dark .progress.is-primary::-moz-progress-bar,html.theme--documenter-dark .docstring>section>a.progress.docs-sourcelink::-moz-progress-bar{background-color:#375a7f}html.theme--documenter-dark .progress.is-primary::-ms-fill,html.theme--documenter-dark .docstring>section>a.progress.docs-sourcelink::-ms-fill{background-color:#375a7f}html.theme--documenter-dark .progress.is-primary:indeterminate,html.theme--documenter-dark .docstring>section>a.progress.docs-sourcelink:indeterminate{background-image:linear-gradient(to right, #375a7f 30%, #5e6d6f 30%)}html.theme--documenter-dark .progress.is-link::-webkit-progress-value{background-color:#1abc9c}html.theme--documenter-dark .progress.is-link::-moz-progress-bar{background-color:#1abc9c}html.theme--documenter-dark .progress.is-link::-ms-fill{background-color:#1abc9c}html.theme--documenter-dark .progress.is-link:indeterminate{background-image:linear-gradient(to right, #1abc9c 30%, #5e6d6f 30%)}html.theme--documenter-dark .progress.is-info::-webkit-progress-value{background-color:#024c7d}html.theme--documenter-dark .progress.is-info::-moz-progress-bar{background-color:#024c7d}html.theme--documenter-dark .progress.is-info::-ms-fill{background-color:#024c7d}html.theme--documenter-dark .progress.is-info:indeterminate{background-image:linear-gradient(to right, #024c7d 30%, #5e6d6f 30%)}html.theme--documenter-dark .progress.is-success::-webkit-progress-value{background-color:#008438}html.theme--documenter-dark .progress.is-success::-moz-progress-bar{background-color:#008438}html.theme--documenter-dark .progress.is-success::-ms-fill{background-color:#008438}html.theme--documenter-dark .progress.is-success:indeterminate{background-image:linear-gradient(to right, #008438 30%, #5e6d6f 30%)}html.theme--documenter-dark .progress.is-warning::-webkit-progress-value{background-color:#ad8100}html.theme--documenter-dark .progress.is-warning::-moz-progress-bar{background-color:#ad8100}html.theme--documenter-dark .progress.is-warning::-ms-fill{background-color:#ad8100}html.theme--documenter-dark .progress.is-warning:indeterminate{background-image:linear-gradient(to right, #ad8100 30%, #5e6d6f 30%)}html.theme--documenter-dark .progress.is-danger::-webkit-progress-value{background-color:#9e1b0d}html.theme--documenter-dark .progress.is-danger::-moz-progress-bar{background-color:#9e1b0d}html.theme--documenter-dark .progress.is-danger::-ms-fill{background-color:#9e1b0d}html.theme--documenter-dark .progress.is-danger:indeterminate{background-image:linear-gradient(to right, #9e1b0d 30%, #5e6d6f 30%)}html.theme--documenter-dark .progress:indeterminate{animation-duration:1.5s;animation-iteration-count:infinite;animation-name:moveIndeterminate;animation-timing-function:linear;background-color:#5e6d6f;background-image:linear-gradient(to right, #fff 30%, #5e6d6f 30%);background-position:top left;background-repeat:no-repeat;background-size:150% 150%}html.theme--documenter-dark .progress:indeterminate::-webkit-progress-bar{background-color:transparent}html.theme--documenter-dark .progress:indeterminate::-moz-progress-bar{background-color:transparent}html.theme--documenter-dark .progress.is-small,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.progress{height:.85em}html.theme--documenter-dark .progress.is-medium{height:1.25rem}html.theme--documenter-dark .progress.is-large{height:1.5rem}@keyframes moveIndeterminate{from{background-position:200% 0}to{background-position:-200% 0}}html.theme--documenter-dark .table{background-color:#343c3d;color:#fff}html.theme--documenter-dark .table td,html.theme--documenter-dark .table th{border:1px solid #5e6d6f;border-width:0 0 1px;padding:0.5em 0.75em;vertical-align:top}html.theme--documenter-dark .table td.is-white,html.theme--documenter-dark .table th.is-white{background-color:#fff;border-color:#fff;color:#0a0a0a}html.theme--documenter-dark .table td.is-black,html.theme--documenter-dark .table th.is-black{background-color:#0a0a0a;border-color:#0a0a0a;color:#fff}html.theme--documenter-dark .table td.is-light,html.theme--documenter-dark .table th.is-light{background-color:#ecf0f1;border-color:#ecf0f1;color:#282f2f}html.theme--documenter-dark .table td.is-dark,html.theme--documenter-dark .table th.is-dark{background-color:#282f2f;border-color:#282f2f;color:#ecf0f1}html.theme--documenter-dark .table td.is-primary,html.theme--documenter-dark .table th.is-primary{background-color:#375a7f;border-color:#375a7f;color:#fff}html.theme--documenter-dark .table td.is-link,html.theme--documenter-dark .table th.is-link{background-color:#1abc9c;border-color:#1abc9c;color:#fff}html.theme--documenter-dark .table td.is-info,html.theme--documenter-dark .table th.is-info{background-color:#024c7d;border-color:#024c7d;color:#fff}html.theme--documenter-dark .table td.is-success,html.theme--documenter-dark .table th.is-success{background-color:#008438;border-color:#008438;color:#fff}html.theme--documenter-dark .table td.is-warning,html.theme--documenter-dark .table th.is-warning{background-color:#ad8100;border-color:#ad8100;color:#fff}html.theme--documenter-dark .table td.is-danger,html.theme--documenter-dark .table th.is-danger{background-color:#9e1b0d;border-color:#9e1b0d;color:#fff}html.theme--documenter-dark .table td.is-narrow,html.theme--documenter-dark .table th.is-narrow{white-space:nowrap;width:1%}html.theme--documenter-dark .table td.is-selected,html.theme--documenter-dark .table th.is-selected{background-color:#375a7f;color:#fff}html.theme--documenter-dark .table td.is-selected a,html.theme--documenter-dark .table td.is-selected strong,html.theme--documenter-dark .table th.is-selected a,html.theme--documenter-dark .table th.is-selected strong{color:currentColor}html.theme--documenter-dark .table th{color:#f2f2f2}html.theme--documenter-dark .table th:not([align]){text-align:left}html.theme--documenter-dark .table tr.is-selected{background-color:#375a7f;color:#fff}html.theme--documenter-dark .table tr.is-selected a,html.theme--documenter-dark .table tr.is-selected strong{color:currentColor}html.theme--documenter-dark .table tr.is-selected td,html.theme--documenter-dark .table tr.is-selected th{border-color:#fff;color:currentColor}html.theme--documenter-dark .table thead{background-color:rgba(0,0,0,0)}html.theme--documenter-dark .table thead td,html.theme--documenter-dark .table thead th{border-width:0 0 2px;color:#f2f2f2}html.theme--documenter-dark .table tfoot{background-color:rgba(0,0,0,0)}html.theme--documenter-dark .table tfoot td,html.theme--documenter-dark .table tfoot th{border-width:2px 0 0;color:#f2f2f2}html.theme--documenter-dark .table tbody{background-color:rgba(0,0,0,0)}html.theme--documenter-dark .table tbody tr:last-child td,html.theme--documenter-dark .table tbody tr:last-child th{border-bottom-width:0}html.theme--documenter-dark .table.is-bordered td,html.theme--documenter-dark .table.is-bordered th{border-width:1px}html.theme--documenter-dark .table.is-bordered tr:last-child td,html.theme--documenter-dark .table.is-bordered tr:last-child th{border-bottom-width:1px}html.theme--documenter-dark .table.is-fullwidth{width:100%}html.theme--documenter-dark .table.is-hoverable tbody tr:not(.is-selected):hover{background-color:#282f2f}html.theme--documenter-dark .table.is-hoverable.is-striped tbody tr:not(.is-selected):hover{background-color:#282f2f}html.theme--documenter-dark .table.is-hoverable.is-striped tbody tr:not(.is-selected):hover:nth-child(even){background-color:#2d3435}html.theme--documenter-dark .table.is-narrow td,html.theme--documenter-dark .table.is-narrow th{padding:0.25em 0.5em}html.theme--documenter-dark .table.is-striped tbody tr:not(.is-selected):nth-child(even){background-color:#282f2f}html.theme--documenter-dark .table-container{-webkit-overflow-scrolling:touch;overflow:auto;overflow-y:hidden;max-width:100%}html.theme--documenter-dark .tags{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-start}html.theme--documenter-dark .tags .tag,html.theme--documenter-dark .tags .content kbd,html.theme--documenter-dark .content .tags kbd,html.theme--documenter-dark .tags .docstring>section>a.docs-sourcelink{margin-bottom:0.5rem}html.theme--documenter-dark .tags .tag:not(:last-child),html.theme--documenter-dark .tags .content kbd:not(:last-child),html.theme--documenter-dark .content .tags kbd:not(:last-child),html.theme--documenter-dark .tags .docstring>section>a.docs-sourcelink:not(:last-child){margin-right:0.5rem}html.theme--documenter-dark .tags:last-child{margin-bottom:-0.5rem}html.theme--documenter-dark .tags:not(:last-child){margin-bottom:1rem}html.theme--documenter-dark .tags.are-medium .tag:not(.is-normal):not(.is-large),html.theme--documenter-dark .tags.are-medium .content kbd:not(.is-normal):not(.is-large),html.theme--documenter-dark .content .tags.are-medium kbd:not(.is-normal):not(.is-large),html.theme--documenter-dark .tags.are-medium .docstring>section>a.docs-sourcelink:not(.is-normal):not(.is-large){font-size:15px}html.theme--documenter-dark .tags.are-large .tag:not(.is-normal):not(.is-medium),html.theme--documenter-dark .tags.are-large .content kbd:not(.is-normal):not(.is-medium),html.theme--documenter-dark .content .tags.are-large kbd:not(.is-normal):not(.is-medium),html.theme--documenter-dark .tags.are-large .docstring>section>a.docs-sourcelink:not(.is-normal):not(.is-medium){font-size:1.25rem}html.theme--documenter-dark .tags.is-centered{justify-content:center}html.theme--documenter-dark .tags.is-centered .tag,html.theme--documenter-dark .tags.is-centered .content kbd,html.theme--documenter-dark .content .tags.is-centered kbd,html.theme--documenter-dark .tags.is-centered .docstring>section>a.docs-sourcelink{margin-right:0.25rem;margin-left:0.25rem}html.theme--documenter-dark .tags.is-right{justify-content:flex-end}html.theme--documenter-dark .tags.is-right .tag:not(:first-child),html.theme--documenter-dark .tags.is-right .content kbd:not(:first-child),html.theme--documenter-dark .content .tags.is-right kbd:not(:first-child),html.theme--documenter-dark .tags.is-right .docstring>section>a.docs-sourcelink:not(:first-child){margin-left:0.5rem}html.theme--documenter-dark .tags.is-right .tag:not(:last-child),html.theme--documenter-dark .tags.is-right .content kbd:not(:last-child),html.theme--documenter-dark .content .tags.is-right kbd:not(:last-child),html.theme--documenter-dark .tags.is-right .docstring>section>a.docs-sourcelink:not(:last-child){margin-right:0}html.theme--documenter-dark .tags.has-addons .tag,html.theme--documenter-dark .tags.has-addons .content kbd,html.theme--documenter-dark .content .tags.has-addons kbd,html.theme--documenter-dark .tags.has-addons .docstring>section>a.docs-sourcelink{margin-right:0}html.theme--documenter-dark .tags.has-addons .tag:not(:first-child),html.theme--documenter-dark .tags.has-addons .content kbd:not(:first-child),html.theme--documenter-dark .content .tags.has-addons kbd:not(:first-child),html.theme--documenter-dark .tags.has-addons .docstring>section>a.docs-sourcelink:not(:first-child){margin-left:0;border-bottom-left-radius:0;border-top-left-radius:0}html.theme--documenter-dark .tags.has-addons .tag:not(:last-child),html.theme--documenter-dark .tags.has-addons .content kbd:not(:last-child),html.theme--documenter-dark .content .tags.has-addons kbd:not(:last-child),html.theme--documenter-dark .tags.has-addons .docstring>section>a.docs-sourcelink:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}html.theme--documenter-dark .tag:not(body),html.theme--documenter-dark .content kbd:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink:not(body){align-items:center;background-color:#282f2f;border-radius:.4em;color:#fff;display:inline-flex;font-size:.85em;height:2em;justify-content:center;line-height:1.5;padding-left:0.75em;padding-right:0.75em;white-space:nowrap}html.theme--documenter-dark .tag:not(body) .delete,html.theme--documenter-dark .content kbd:not(body) .delete,html.theme--documenter-dark .docstring>section>a.docs-sourcelink:not(body) .delete{margin-left:0.25rem;margin-right:-0.375rem}html.theme--documenter-dark .tag.is-white:not(body),html.theme--documenter-dark .content kbd.is-white:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-white:not(body){background-color:#fff;color:#0a0a0a}html.theme--documenter-dark .tag.is-black:not(body),html.theme--documenter-dark .content kbd.is-black:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-black:not(body){background-color:#0a0a0a;color:#fff}html.theme--documenter-dark .tag.is-light:not(body),html.theme--documenter-dark .content kbd.is-light:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-light:not(body){background-color:#ecf0f1;color:#282f2f}html.theme--documenter-dark .tag.is-dark:not(body),html.theme--documenter-dark .content kbd:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-dark:not(body),html.theme--documenter-dark .content .docstring>section>kbd:not(body){background-color:#282f2f;color:#ecf0f1}html.theme--documenter-dark .tag.is-primary:not(body),html.theme--documenter-dark .content kbd.is-primary:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink:not(body){background-color:#375a7f;color:#fff}html.theme--documenter-dark .tag.is-link:not(body),html.theme--documenter-dark .content kbd.is-link:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-link:not(body){background-color:#1abc9c;color:#fff}html.theme--documenter-dark .tag.is-info:not(body),html.theme--documenter-dark .content kbd.is-info:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-info:not(body){background-color:#024c7d;color:#fff}html.theme--documenter-dark .tag.is-success:not(body),html.theme--documenter-dark .content kbd.is-success:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-success:not(body){background-color:#008438;color:#fff}html.theme--documenter-dark .tag.is-warning:not(body),html.theme--documenter-dark .content kbd.is-warning:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-warning:not(body){background-color:#ad8100;color:#fff}html.theme--documenter-dark .tag.is-danger:not(body),html.theme--documenter-dark .content kbd.is-danger:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-danger:not(body){background-color:#9e1b0d;color:#fff}html.theme--documenter-dark .tag.is-normal:not(body),html.theme--documenter-dark .content kbd.is-normal:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-normal:not(body){font-size:.85em}html.theme--documenter-dark .tag.is-medium:not(body),html.theme--documenter-dark .content kbd.is-medium:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-medium:not(body){font-size:15px}html.theme--documenter-dark .tag.is-large:not(body),html.theme--documenter-dark .content kbd.is-large:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-large:not(body){font-size:1.25rem}html.theme--documenter-dark .tag:not(body) .icon:first-child:not(:last-child),html.theme--documenter-dark .content kbd:not(body) .icon:first-child:not(:last-child),html.theme--documenter-dark .docstring>section>a.docs-sourcelink:not(body) .icon:first-child:not(:last-child){margin-left:-0.375em;margin-right:0.1875em}html.theme--documenter-dark .tag:not(body) .icon:last-child:not(:first-child),html.theme--documenter-dark .content kbd:not(body) .icon:last-child:not(:first-child),html.theme--documenter-dark .docstring>section>a.docs-sourcelink:not(body) .icon:last-child:not(:first-child){margin-left:0.1875em;margin-right:-0.375em}html.theme--documenter-dark .tag:not(body) .icon:first-child:last-child,html.theme--documenter-dark .content kbd:not(body) .icon:first-child:last-child,html.theme--documenter-dark .docstring>section>a.docs-sourcelink:not(body) .icon:first-child:last-child{margin-left:-0.375em;margin-right:-0.375em}html.theme--documenter-dark .tag.is-delete:not(body),html.theme--documenter-dark .content kbd.is-delete:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-delete:not(body){margin-left:1px;padding:0;position:relative;width:2em}html.theme--documenter-dark .tag.is-delete:not(body)::before,html.theme--documenter-dark .content kbd.is-delete:not(body)::before,html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-delete:not(body)::before,html.theme--documenter-dark .tag.is-delete:not(body)::after,html.theme--documenter-dark .content kbd.is-delete:not(body)::after,html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-delete:not(body)::after{background-color:currentColor;content:"";display:block;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%) rotate(45deg);transform-origin:center center}html.theme--documenter-dark .tag.is-delete:not(body)::before,html.theme--documenter-dark .content kbd.is-delete:not(body)::before,html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-delete:not(body)::before{height:1px;width:50%}html.theme--documenter-dark .tag.is-delete:not(body)::after,html.theme--documenter-dark .content kbd.is-delete:not(body)::after,html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-delete:not(body)::after{height:50%;width:1px}html.theme--documenter-dark .tag.is-delete:not(body):hover,html.theme--documenter-dark .content kbd.is-delete:not(body):hover,html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-delete:not(body):hover,html.theme--documenter-dark .tag.is-delete:not(body):focus,html.theme--documenter-dark .content kbd.is-delete:not(body):focus,html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-delete:not(body):focus{background-color:#1d2122}html.theme--documenter-dark .tag.is-delete:not(body):active,html.theme--documenter-dark .content kbd.is-delete:not(body):active,html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-delete:not(body):active{background-color:#111414}html.theme--documenter-dark .tag.is-rounded:not(body),html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input:not(body),html.theme--documenter-dark .content kbd.is-rounded:not(body),html.theme--documenter-dark #documenter .docs-sidebar .content form.docs-search>input:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-rounded:not(body){border-radius:290486px}html.theme--documenter-dark a.tag:hover,html.theme--documenter-dark .docstring>section>a.docs-sourcelink:hover{text-decoration:underline}html.theme--documenter-dark .title,html.theme--documenter-dark .subtitle{word-break:break-word}html.theme--documenter-dark .title em,html.theme--documenter-dark .title span,html.theme--documenter-dark .subtitle em,html.theme--documenter-dark .subtitle span{font-weight:inherit}html.theme--documenter-dark .title sub,html.theme--documenter-dark .subtitle sub{font-size:.75em}html.theme--documenter-dark .title sup,html.theme--documenter-dark .subtitle sup{font-size:.75em}html.theme--documenter-dark .title .tag,html.theme--documenter-dark .title .content kbd,html.theme--documenter-dark .content .title kbd,html.theme--documenter-dark .title .docstring>section>a.docs-sourcelink,html.theme--documenter-dark .subtitle .tag,html.theme--documenter-dark .subtitle .content kbd,html.theme--documenter-dark .content .subtitle kbd,html.theme--documenter-dark .subtitle .docstring>section>a.docs-sourcelink{vertical-align:middle}html.theme--documenter-dark .title{color:#fff;font-size:2rem;font-weight:500;line-height:1.125}html.theme--documenter-dark .title strong{color:inherit;font-weight:inherit}html.theme--documenter-dark .title+.highlight{margin-top:-0.75rem}html.theme--documenter-dark .title:not(.is-spaced)+.subtitle{margin-top:-1.25rem}html.theme--documenter-dark .title.is-1{font-size:3rem}html.theme--documenter-dark .title.is-2{font-size:2.5rem}html.theme--documenter-dark .title.is-3{font-size:2rem}html.theme--documenter-dark .title.is-4{font-size:1.5rem}html.theme--documenter-dark .title.is-5{font-size:1.25rem}html.theme--documenter-dark .title.is-6{font-size:15px}html.theme--documenter-dark .title.is-7{font-size:.85em}html.theme--documenter-dark .subtitle{color:#8c9b9d;font-size:1.25rem;font-weight:400;line-height:1.25}html.theme--documenter-dark .subtitle strong{color:#8c9b9d;font-weight:600}html.theme--documenter-dark .subtitle:not(.is-spaced)+.title{margin-top:-1.25rem}html.theme--documenter-dark .subtitle.is-1{font-size:3rem}html.theme--documenter-dark .subtitle.is-2{font-size:2.5rem}html.theme--documenter-dark .subtitle.is-3{font-size:2rem}html.theme--documenter-dark .subtitle.is-4{font-size:1.5rem}html.theme--documenter-dark .subtitle.is-5{font-size:1.25rem}html.theme--documenter-dark .subtitle.is-6{font-size:15px}html.theme--documenter-dark .subtitle.is-7{font-size:.85em}html.theme--documenter-dark .heading{display:block;font-size:11px;letter-spacing:1px;margin-bottom:5px;text-transform:uppercase}html.theme--documenter-dark .highlight{font-weight:400;max-width:100%;overflow:hidden;padding:0}html.theme--documenter-dark .highlight pre{overflow:auto;max-width:100%}html.theme--documenter-dark .number{align-items:center;background-color:#282f2f;border-radius:290486px;display:inline-flex;font-size:1.25rem;height:2em;justify-content:center;margin-right:1.5rem;min-width:2.5em;padding:0.25rem 0.5rem;text-align:center;vertical-align:top}html.theme--documenter-dark .select select,html.theme--documenter-dark .textarea,html.theme--documenter-dark .input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input{background-color:#1f2424;border-color:#5e6d6f;border-radius:.4em;color:#dbdee0}html.theme--documenter-dark .select select::-moz-placeholder,html.theme--documenter-dark .textarea::-moz-placeholder,html.theme--documenter-dark .input::-moz-placeholder,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input::-moz-placeholder{color:rgba(219,222,224,0.3)}html.theme--documenter-dark .select select::-webkit-input-placeholder,html.theme--documenter-dark .textarea::-webkit-input-placeholder,html.theme--documenter-dark .input::-webkit-input-placeholder,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input::-webkit-input-placeholder{color:rgba(219,222,224,0.3)}html.theme--documenter-dark .select select:-moz-placeholder,html.theme--documenter-dark .textarea:-moz-placeholder,html.theme--documenter-dark .input:-moz-placeholder,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input:-moz-placeholder{color:rgba(219,222,224,0.3)}html.theme--documenter-dark .select select:-ms-input-placeholder,html.theme--documenter-dark .textarea:-ms-input-placeholder,html.theme--documenter-dark .input:-ms-input-placeholder,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input:-ms-input-placeholder{color:rgba(219,222,224,0.3)}html.theme--documenter-dark .select select:hover,html.theme--documenter-dark .textarea:hover,html.theme--documenter-dark .input:hover,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input:hover,html.theme--documenter-dark .select select.is-hovered,html.theme--documenter-dark .is-hovered.textarea,html.theme--documenter-dark .is-hovered.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-hovered{border-color:#8c9b9d}html.theme--documenter-dark .select select:focus,html.theme--documenter-dark .textarea:focus,html.theme--documenter-dark .input:focus,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input:focus,html.theme--documenter-dark .select select.is-focused,html.theme--documenter-dark .is-focused.textarea,html.theme--documenter-dark .is-focused.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-focused,html.theme--documenter-dark .select select:active,html.theme--documenter-dark .textarea:active,html.theme--documenter-dark .input:active,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input:active,html.theme--documenter-dark .select select.is-active,html.theme--documenter-dark .is-active.textarea,html.theme--documenter-dark .is-active.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-active{border-color:#1abc9c;box-shadow:0 0 0 0.125em rgba(26,188,156,0.25)}html.theme--documenter-dark .select select[disabled],html.theme--documenter-dark .textarea[disabled],html.theme--documenter-dark .input[disabled],html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input[disabled],fieldset[disabled] html.theme--documenter-dark .select select,fieldset[disabled] html.theme--documenter-dark .textarea,fieldset[disabled] html.theme--documenter-dark .input,fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input{background-color:#8c9b9d;border-color:#282f2f;box-shadow:none;color:#fff}html.theme--documenter-dark .select select[disabled]::-moz-placeholder,html.theme--documenter-dark .textarea[disabled]::-moz-placeholder,html.theme--documenter-dark .input[disabled]::-moz-placeholder,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input[disabled]::-moz-placeholder,fieldset[disabled] html.theme--documenter-dark .select select::-moz-placeholder,fieldset[disabled] html.theme--documenter-dark .textarea::-moz-placeholder,fieldset[disabled] html.theme--documenter-dark .input::-moz-placeholder,fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input::-moz-placeholder{color:rgba(255,255,255,0.3)}html.theme--documenter-dark .select select[disabled]::-webkit-input-placeholder,html.theme--documenter-dark .textarea[disabled]::-webkit-input-placeholder,html.theme--documenter-dark .input[disabled]::-webkit-input-placeholder,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input[disabled]::-webkit-input-placeholder,fieldset[disabled] html.theme--documenter-dark .select select::-webkit-input-placeholder,fieldset[disabled] html.theme--documenter-dark .textarea::-webkit-input-placeholder,fieldset[disabled] html.theme--documenter-dark .input::-webkit-input-placeholder,fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input::-webkit-input-placeholder{color:rgba(255,255,255,0.3)}html.theme--documenter-dark .select select[disabled]:-moz-placeholder,html.theme--documenter-dark .textarea[disabled]:-moz-placeholder,html.theme--documenter-dark .input[disabled]:-moz-placeholder,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input[disabled]:-moz-placeholder,fieldset[disabled] html.theme--documenter-dark .select select:-moz-placeholder,fieldset[disabled] html.theme--documenter-dark .textarea:-moz-placeholder,fieldset[disabled] html.theme--documenter-dark .input:-moz-placeholder,fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input:-moz-placeholder{color:rgba(255,255,255,0.3)}html.theme--documenter-dark .select select[disabled]:-ms-input-placeholder,html.theme--documenter-dark .textarea[disabled]:-ms-input-placeholder,html.theme--documenter-dark .input[disabled]:-ms-input-placeholder,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input[disabled]:-ms-input-placeholder,fieldset[disabled] html.theme--documenter-dark .select select:-ms-input-placeholder,fieldset[disabled] html.theme--documenter-dark .textarea:-ms-input-placeholder,fieldset[disabled] html.theme--documenter-dark .input:-ms-input-placeholder,fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input:-ms-input-placeholder{color:rgba(255,255,255,0.3)}html.theme--documenter-dark .textarea,html.theme--documenter-dark .input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input{box-shadow:inset 0 1px 2px rgba(10,10,10,0.1);max-width:100%;width:100%}html.theme--documenter-dark .textarea[readonly],html.theme--documenter-dark .input[readonly],html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input[readonly]{box-shadow:none}html.theme--documenter-dark .is-white.textarea,html.theme--documenter-dark .is-white.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-white{border-color:#fff}html.theme--documenter-dark .is-white.textarea:focus,html.theme--documenter-dark .is-white.input:focus,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-white:focus,html.theme--documenter-dark .is-white.is-focused.textarea,html.theme--documenter-dark .is-white.is-focused.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-focused,html.theme--documenter-dark .is-white.textarea:active,html.theme--documenter-dark .is-white.input:active,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-white:active,html.theme--documenter-dark .is-white.is-active.textarea,html.theme--documenter-dark .is-white.is-active.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(255,255,255,0.25)}html.theme--documenter-dark .is-black.textarea,html.theme--documenter-dark .is-black.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-black{border-color:#0a0a0a}html.theme--documenter-dark .is-black.textarea:focus,html.theme--documenter-dark .is-black.input:focus,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-black:focus,html.theme--documenter-dark .is-black.is-focused.textarea,html.theme--documenter-dark .is-black.is-focused.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-focused,html.theme--documenter-dark .is-black.textarea:active,html.theme--documenter-dark .is-black.input:active,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-black:active,html.theme--documenter-dark .is-black.is-active.textarea,html.theme--documenter-dark .is-black.is-active.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(10,10,10,0.25)}html.theme--documenter-dark .is-light.textarea,html.theme--documenter-dark .is-light.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-light{border-color:#ecf0f1}html.theme--documenter-dark .is-light.textarea:focus,html.theme--documenter-dark .is-light.input:focus,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-light:focus,html.theme--documenter-dark .is-light.is-focused.textarea,html.theme--documenter-dark .is-light.is-focused.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-focused,html.theme--documenter-dark .is-light.textarea:active,html.theme--documenter-dark .is-light.input:active,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-light:active,html.theme--documenter-dark .is-light.is-active.textarea,html.theme--documenter-dark .is-light.is-active.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(236,240,241,0.25)}html.theme--documenter-dark .is-dark.textarea,html.theme--documenter-dark .content kbd.textarea,html.theme--documenter-dark .is-dark.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-dark,html.theme--documenter-dark .content kbd.input{border-color:#282f2f}html.theme--documenter-dark .is-dark.textarea:focus,html.theme--documenter-dark .content kbd.textarea:focus,html.theme--documenter-dark .is-dark.input:focus,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-dark:focus,html.theme--documenter-dark .content kbd.input:focus,html.theme--documenter-dark .is-dark.is-focused.textarea,html.theme--documenter-dark .content kbd.is-focused.textarea,html.theme--documenter-dark .is-dark.is-focused.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-focused,html.theme--documenter-dark .content kbd.is-focused.input,html.theme--documenter-dark #documenter .docs-sidebar .content form.docs-search>input.is-focused,html.theme--documenter-dark .is-dark.textarea:active,html.theme--documenter-dark .content kbd.textarea:active,html.theme--documenter-dark .is-dark.input:active,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-dark:active,html.theme--documenter-dark .content kbd.input:active,html.theme--documenter-dark .is-dark.is-active.textarea,html.theme--documenter-dark .content kbd.is-active.textarea,html.theme--documenter-dark .is-dark.is-active.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-active,html.theme--documenter-dark .content kbd.is-active.input,html.theme--documenter-dark #documenter .docs-sidebar .content form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(40,47,47,0.25)}html.theme--documenter-dark .is-primary.textarea,html.theme--documenter-dark .docstring>section>a.textarea.docs-sourcelink,html.theme--documenter-dark .is-primary.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-primary,html.theme--documenter-dark .docstring>section>a.input.docs-sourcelink{border-color:#375a7f}html.theme--documenter-dark .is-primary.textarea:focus,html.theme--documenter-dark .docstring>section>a.textarea.docs-sourcelink:focus,html.theme--documenter-dark .is-primary.input:focus,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-primary:focus,html.theme--documenter-dark .docstring>section>a.input.docs-sourcelink:focus,html.theme--documenter-dark .is-primary.is-focused.textarea,html.theme--documenter-dark .docstring>section>a.is-focused.textarea.docs-sourcelink,html.theme--documenter-dark .is-primary.is-focused.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-focused,html.theme--documenter-dark .docstring>section>a.is-focused.input.docs-sourcelink,html.theme--documenter-dark .is-primary.textarea:active,html.theme--documenter-dark .docstring>section>a.textarea.docs-sourcelink:active,html.theme--documenter-dark .is-primary.input:active,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-primary:active,html.theme--documenter-dark .docstring>section>a.input.docs-sourcelink:active,html.theme--documenter-dark .is-primary.is-active.textarea,html.theme--documenter-dark .docstring>section>a.is-active.textarea.docs-sourcelink,html.theme--documenter-dark .is-primary.is-active.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-active,html.theme--documenter-dark .docstring>section>a.is-active.input.docs-sourcelink{box-shadow:0 0 0 0.125em rgba(55,90,127,0.25)}html.theme--documenter-dark .is-link.textarea,html.theme--documenter-dark .is-link.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-link{border-color:#1abc9c}html.theme--documenter-dark .is-link.textarea:focus,html.theme--documenter-dark .is-link.input:focus,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-link:focus,html.theme--documenter-dark .is-link.is-focused.textarea,html.theme--documenter-dark .is-link.is-focused.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-focused,html.theme--documenter-dark .is-link.textarea:active,html.theme--documenter-dark .is-link.input:active,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-link:active,html.theme--documenter-dark .is-link.is-active.textarea,html.theme--documenter-dark .is-link.is-active.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(26,188,156,0.25)}html.theme--documenter-dark .is-info.textarea,html.theme--documenter-dark .is-info.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-info{border-color:#024c7d}html.theme--documenter-dark .is-info.textarea:focus,html.theme--documenter-dark .is-info.input:focus,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-info:focus,html.theme--documenter-dark .is-info.is-focused.textarea,html.theme--documenter-dark .is-info.is-focused.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-focused,html.theme--documenter-dark .is-info.textarea:active,html.theme--documenter-dark .is-info.input:active,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-info:active,html.theme--documenter-dark .is-info.is-active.textarea,html.theme--documenter-dark .is-info.is-active.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(2,76,125,0.25)}html.theme--documenter-dark .is-success.textarea,html.theme--documenter-dark .is-success.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-success{border-color:#008438}html.theme--documenter-dark .is-success.textarea:focus,html.theme--documenter-dark .is-success.input:focus,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-success:focus,html.theme--documenter-dark .is-success.is-focused.textarea,html.theme--documenter-dark .is-success.is-focused.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-focused,html.theme--documenter-dark .is-success.textarea:active,html.theme--documenter-dark .is-success.input:active,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-success:active,html.theme--documenter-dark .is-success.is-active.textarea,html.theme--documenter-dark .is-success.is-active.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(0,132,56,0.25)}html.theme--documenter-dark .is-warning.textarea,html.theme--documenter-dark .is-warning.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-warning{border-color:#ad8100}html.theme--documenter-dark .is-warning.textarea:focus,html.theme--documenter-dark .is-warning.input:focus,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-warning:focus,html.theme--documenter-dark .is-warning.is-focused.textarea,html.theme--documenter-dark .is-warning.is-focused.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-focused,html.theme--documenter-dark .is-warning.textarea:active,html.theme--documenter-dark .is-warning.input:active,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-warning:active,html.theme--documenter-dark .is-warning.is-active.textarea,html.theme--documenter-dark .is-warning.is-active.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(173,129,0,0.25)}html.theme--documenter-dark .is-danger.textarea,html.theme--documenter-dark .is-danger.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-danger{border-color:#9e1b0d}html.theme--documenter-dark .is-danger.textarea:focus,html.theme--documenter-dark .is-danger.input:focus,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-danger:focus,html.theme--documenter-dark .is-danger.is-focused.textarea,html.theme--documenter-dark .is-danger.is-focused.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-focused,html.theme--documenter-dark .is-danger.textarea:active,html.theme--documenter-dark .is-danger.input:active,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-danger:active,html.theme--documenter-dark .is-danger.is-active.textarea,html.theme--documenter-dark .is-danger.is-active.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(158,27,13,0.25)}html.theme--documenter-dark .is-small.textarea,html.theme--documenter-dark .is-small.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input{border-radius:3px;font-size:.85em}html.theme--documenter-dark .is-medium.textarea,html.theme--documenter-dark .is-medium.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-medium{font-size:1.25rem}html.theme--documenter-dark .is-large.textarea,html.theme--documenter-dark .is-large.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-large{font-size:1.5rem}html.theme--documenter-dark .is-fullwidth.textarea,html.theme--documenter-dark .is-fullwidth.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-fullwidth{display:block;width:100%}html.theme--documenter-dark .is-inline.textarea,html.theme--documenter-dark .is-inline.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-inline{display:inline;width:auto}html.theme--documenter-dark .input.is-rounded,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input{border-radius:290486px;padding-left:1em;padding-right:1em}html.theme--documenter-dark .input.is-static,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-static{background-color:transparent;border-color:transparent;box-shadow:none;padding-left:0;padding-right:0}html.theme--documenter-dark .textarea{display:block;max-width:100%;min-width:100%;padding:0.625em;resize:vertical}html.theme--documenter-dark .textarea:not([rows]){max-height:600px;min-height:120px}html.theme--documenter-dark .textarea[rows]{height:initial}html.theme--documenter-dark .textarea.has-fixed-size{resize:none}html.theme--documenter-dark .radio,html.theme--documenter-dark .checkbox{cursor:pointer;display:inline-block;line-height:1.25;position:relative}html.theme--documenter-dark .radio input,html.theme--documenter-dark .checkbox input{cursor:pointer}html.theme--documenter-dark .radio:hover,html.theme--documenter-dark .checkbox:hover{color:#8c9b9d}html.theme--documenter-dark .radio[disabled],html.theme--documenter-dark .checkbox[disabled],fieldset[disabled] html.theme--documenter-dark .radio,fieldset[disabled] html.theme--documenter-dark .checkbox{color:#fff;cursor:not-allowed}html.theme--documenter-dark .radio+.radio{margin-left:0.5em}html.theme--documenter-dark .select{display:inline-block;max-width:100%;position:relative;vertical-align:top}html.theme--documenter-dark .select:not(.is-multiple){height:2.25em}html.theme--documenter-dark .select:not(.is-multiple):not(.is-loading)::after{border-color:#1abc9c;right:1.125em;z-index:4}html.theme--documenter-dark .select.is-rounded select,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.select select{border-radius:290486px;padding-left:1em}html.theme--documenter-dark .select select{cursor:pointer;display:block;font-size:1em;max-width:100%;outline:none}html.theme--documenter-dark .select select::-ms-expand{display:none}html.theme--documenter-dark .select select[disabled]:hover,fieldset[disabled] html.theme--documenter-dark .select select:hover{border-color:#282f2f}html.theme--documenter-dark .select select:not([multiple]){padding-right:2.5em}html.theme--documenter-dark .select select[multiple]{height:auto;padding:0}html.theme--documenter-dark .select select[multiple] option{padding:0.5em 1em}html.theme--documenter-dark .select:not(.is-multiple):not(.is-loading):hover::after{border-color:#8c9b9d}html.theme--documenter-dark .select.is-white:not(:hover)::after{border-color:#fff}html.theme--documenter-dark .select.is-white select{border-color:#fff}html.theme--documenter-dark .select.is-white select:hover,html.theme--documenter-dark .select.is-white select.is-hovered{border-color:#f2f2f2}html.theme--documenter-dark .select.is-white select:focus,html.theme--documenter-dark .select.is-white select.is-focused,html.theme--documenter-dark .select.is-white select:active,html.theme--documenter-dark .select.is-white select.is-active{box-shadow:0 0 0 0.125em rgba(255,255,255,0.25)}html.theme--documenter-dark .select.is-black:not(:hover)::after{border-color:#0a0a0a}html.theme--documenter-dark .select.is-black select{border-color:#0a0a0a}html.theme--documenter-dark .select.is-black select:hover,html.theme--documenter-dark .select.is-black select.is-hovered{border-color:#000}html.theme--documenter-dark .select.is-black select:focus,html.theme--documenter-dark .select.is-black select.is-focused,html.theme--documenter-dark .select.is-black select:active,html.theme--documenter-dark .select.is-black select.is-active{box-shadow:0 0 0 0.125em rgba(10,10,10,0.25)}html.theme--documenter-dark .select.is-light:not(:hover)::after{border-color:#ecf0f1}html.theme--documenter-dark .select.is-light select{border-color:#ecf0f1}html.theme--documenter-dark .select.is-light select:hover,html.theme--documenter-dark .select.is-light select.is-hovered{border-color:#dde4e6}html.theme--documenter-dark .select.is-light select:focus,html.theme--documenter-dark .select.is-light select.is-focused,html.theme--documenter-dark .select.is-light select:active,html.theme--documenter-dark .select.is-light select.is-active{box-shadow:0 0 0 0.125em rgba(236,240,241,0.25)}html.theme--documenter-dark .select.is-dark:not(:hover)::after,html.theme--documenter-dark .content kbd.select:not(:hover)::after{border-color:#282f2f}html.theme--documenter-dark .select.is-dark select,html.theme--documenter-dark .content kbd.select select{border-color:#282f2f}html.theme--documenter-dark .select.is-dark select:hover,html.theme--documenter-dark .content kbd.select select:hover,html.theme--documenter-dark .select.is-dark select.is-hovered,html.theme--documenter-dark .content kbd.select select.is-hovered{border-color:#1d2122}html.theme--documenter-dark .select.is-dark select:focus,html.theme--documenter-dark .content kbd.select select:focus,html.theme--documenter-dark .select.is-dark select.is-focused,html.theme--documenter-dark .content kbd.select select.is-focused,html.theme--documenter-dark .select.is-dark select:active,html.theme--documenter-dark .content kbd.select select:active,html.theme--documenter-dark .select.is-dark select.is-active,html.theme--documenter-dark .content kbd.select select.is-active{box-shadow:0 0 0 0.125em rgba(40,47,47,0.25)}html.theme--documenter-dark .select.is-primary:not(:hover)::after,html.theme--documenter-dark .docstring>section>a.select.docs-sourcelink:not(:hover)::after{border-color:#375a7f}html.theme--documenter-dark .select.is-primary select,html.theme--documenter-dark .docstring>section>a.select.docs-sourcelink select{border-color:#375a7f}html.theme--documenter-dark .select.is-primary select:hover,html.theme--documenter-dark .docstring>section>a.select.docs-sourcelink select:hover,html.theme--documenter-dark .select.is-primary select.is-hovered,html.theme--documenter-dark .docstring>section>a.select.docs-sourcelink select.is-hovered{border-color:#2f4d6d}html.theme--documenter-dark .select.is-primary select:focus,html.theme--documenter-dark .docstring>section>a.select.docs-sourcelink select:focus,html.theme--documenter-dark .select.is-primary select.is-focused,html.theme--documenter-dark .docstring>section>a.select.docs-sourcelink select.is-focused,html.theme--documenter-dark .select.is-primary select:active,html.theme--documenter-dark .docstring>section>a.select.docs-sourcelink select:active,html.theme--documenter-dark .select.is-primary select.is-active,html.theme--documenter-dark .docstring>section>a.select.docs-sourcelink select.is-active{box-shadow:0 0 0 0.125em rgba(55,90,127,0.25)}html.theme--documenter-dark .select.is-link:not(:hover)::after{border-color:#1abc9c}html.theme--documenter-dark .select.is-link select{border-color:#1abc9c}html.theme--documenter-dark .select.is-link select:hover,html.theme--documenter-dark .select.is-link select.is-hovered{border-color:#17a689}html.theme--documenter-dark .select.is-link select:focus,html.theme--documenter-dark .select.is-link select.is-focused,html.theme--documenter-dark .select.is-link select:active,html.theme--documenter-dark .select.is-link select.is-active{box-shadow:0 0 0 0.125em rgba(26,188,156,0.25)}html.theme--documenter-dark .select.is-info:not(:hover)::after{border-color:#024c7d}html.theme--documenter-dark .select.is-info select{border-color:#024c7d}html.theme--documenter-dark .select.is-info select:hover,html.theme--documenter-dark .select.is-info select.is-hovered{border-color:#023d64}html.theme--documenter-dark .select.is-info select:focus,html.theme--documenter-dark .select.is-info select.is-focused,html.theme--documenter-dark .select.is-info select:active,html.theme--documenter-dark .select.is-info select.is-active{box-shadow:0 0 0 0.125em rgba(2,76,125,0.25)}html.theme--documenter-dark .select.is-success:not(:hover)::after{border-color:#008438}html.theme--documenter-dark .select.is-success select{border-color:#008438}html.theme--documenter-dark .select.is-success select:hover,html.theme--documenter-dark .select.is-success select.is-hovered{border-color:#006b2d}html.theme--documenter-dark .select.is-success select:focus,html.theme--documenter-dark .select.is-success select.is-focused,html.theme--documenter-dark .select.is-success select:active,html.theme--documenter-dark .select.is-success select.is-active{box-shadow:0 0 0 0.125em rgba(0,132,56,0.25)}html.theme--documenter-dark .select.is-warning:not(:hover)::after{border-color:#ad8100}html.theme--documenter-dark .select.is-warning select{border-color:#ad8100}html.theme--documenter-dark .select.is-warning select:hover,html.theme--documenter-dark .select.is-warning select.is-hovered{border-color:#946e00}html.theme--documenter-dark .select.is-warning select:focus,html.theme--documenter-dark .select.is-warning select.is-focused,html.theme--documenter-dark .select.is-warning select:active,html.theme--documenter-dark .select.is-warning select.is-active{box-shadow:0 0 0 0.125em rgba(173,129,0,0.25)}html.theme--documenter-dark .select.is-danger:not(:hover)::after{border-color:#9e1b0d}html.theme--documenter-dark .select.is-danger select{border-color:#9e1b0d}html.theme--documenter-dark .select.is-danger select:hover,html.theme--documenter-dark .select.is-danger select.is-hovered{border-color:#86170b}html.theme--documenter-dark .select.is-danger select:focus,html.theme--documenter-dark .select.is-danger select.is-focused,html.theme--documenter-dark .select.is-danger select:active,html.theme--documenter-dark .select.is-danger select.is-active{box-shadow:0 0 0 0.125em rgba(158,27,13,0.25)}html.theme--documenter-dark .select.is-small,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.select{border-radius:3px;font-size:.85em}html.theme--documenter-dark .select.is-medium{font-size:1.25rem}html.theme--documenter-dark .select.is-large{font-size:1.5rem}html.theme--documenter-dark .select.is-disabled::after{border-color:#fff}html.theme--documenter-dark .select.is-fullwidth{width:100%}html.theme--documenter-dark .select.is-fullwidth select{width:100%}html.theme--documenter-dark .select.is-loading::after{margin-top:0;position:absolute;right:0.625em;top:0.625em;transform:none}html.theme--documenter-dark .select.is-loading.is-small:after,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-loading:after{font-size:.85em}html.theme--documenter-dark .select.is-loading.is-medium:after{font-size:1.25rem}html.theme--documenter-dark .select.is-loading.is-large:after{font-size:1.5rem}html.theme--documenter-dark .file{align-items:stretch;display:flex;justify-content:flex-start;position:relative}html.theme--documenter-dark .file.is-white .file-cta{background-color:#fff;border-color:transparent;color:#0a0a0a}html.theme--documenter-dark .file.is-white:hover .file-cta,html.theme--documenter-dark .file.is-white.is-hovered .file-cta{background-color:#f9f9f9;border-color:transparent;color:#0a0a0a}html.theme--documenter-dark .file.is-white:focus .file-cta,html.theme--documenter-dark .file.is-white.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(255,255,255,0.25);color:#0a0a0a}html.theme--documenter-dark .file.is-white:active .file-cta,html.theme--documenter-dark .file.is-white.is-active .file-cta{background-color:#f2f2f2;border-color:transparent;color:#0a0a0a}html.theme--documenter-dark .file.is-black .file-cta{background-color:#0a0a0a;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-black:hover .file-cta,html.theme--documenter-dark .file.is-black.is-hovered .file-cta{background-color:#040404;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-black:focus .file-cta,html.theme--documenter-dark .file.is-black.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(10,10,10,0.25);color:#fff}html.theme--documenter-dark .file.is-black:active .file-cta,html.theme--documenter-dark .file.is-black.is-active .file-cta{background-color:#000;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-light .file-cta{background-color:#ecf0f1;border-color:transparent;color:#282f2f}html.theme--documenter-dark .file.is-light:hover .file-cta,html.theme--documenter-dark .file.is-light.is-hovered .file-cta{background-color:#e5eaec;border-color:transparent;color:#282f2f}html.theme--documenter-dark .file.is-light:focus .file-cta,html.theme--documenter-dark .file.is-light.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(236,240,241,0.25);color:#282f2f}html.theme--documenter-dark .file.is-light:active .file-cta,html.theme--documenter-dark .file.is-light.is-active .file-cta{background-color:#dde4e6;border-color:transparent;color:#282f2f}html.theme--documenter-dark .file.is-dark .file-cta,html.theme--documenter-dark .content kbd.file .file-cta{background-color:#282f2f;border-color:transparent;color:#ecf0f1}html.theme--documenter-dark .file.is-dark:hover .file-cta,html.theme--documenter-dark .content kbd.file:hover .file-cta,html.theme--documenter-dark .file.is-dark.is-hovered .file-cta,html.theme--documenter-dark .content kbd.file.is-hovered .file-cta{background-color:#232829;border-color:transparent;color:#ecf0f1}html.theme--documenter-dark .file.is-dark:focus .file-cta,html.theme--documenter-dark .content kbd.file:focus .file-cta,html.theme--documenter-dark .file.is-dark.is-focused .file-cta,html.theme--documenter-dark .content kbd.file.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(40,47,47,0.25);color:#ecf0f1}html.theme--documenter-dark .file.is-dark:active .file-cta,html.theme--documenter-dark .content kbd.file:active .file-cta,html.theme--documenter-dark .file.is-dark.is-active .file-cta,html.theme--documenter-dark .content kbd.file.is-active .file-cta{background-color:#1d2122;border-color:transparent;color:#ecf0f1}html.theme--documenter-dark .file.is-primary .file-cta,html.theme--documenter-dark .docstring>section>a.file.docs-sourcelink .file-cta{background-color:#375a7f;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-primary:hover .file-cta,html.theme--documenter-dark .docstring>section>a.file.docs-sourcelink:hover .file-cta,html.theme--documenter-dark .file.is-primary.is-hovered .file-cta,html.theme--documenter-dark .docstring>section>a.file.is-hovered.docs-sourcelink .file-cta{background-color:#335476;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-primary:focus .file-cta,html.theme--documenter-dark .docstring>section>a.file.docs-sourcelink:focus .file-cta,html.theme--documenter-dark .file.is-primary.is-focused .file-cta,html.theme--documenter-dark .docstring>section>a.file.is-focused.docs-sourcelink .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(55,90,127,0.25);color:#fff}html.theme--documenter-dark .file.is-primary:active .file-cta,html.theme--documenter-dark .docstring>section>a.file.docs-sourcelink:active .file-cta,html.theme--documenter-dark .file.is-primary.is-active .file-cta,html.theme--documenter-dark .docstring>section>a.file.is-active.docs-sourcelink .file-cta{background-color:#2f4d6d;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-link .file-cta{background-color:#1abc9c;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-link:hover .file-cta,html.theme--documenter-dark .file.is-link.is-hovered .file-cta{background-color:#18b193;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-link:focus .file-cta,html.theme--documenter-dark .file.is-link.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(26,188,156,0.25);color:#fff}html.theme--documenter-dark .file.is-link:active .file-cta,html.theme--documenter-dark .file.is-link.is-active .file-cta{background-color:#17a689;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-info .file-cta{background-color:#024c7d;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-info:hover .file-cta,html.theme--documenter-dark .file.is-info.is-hovered .file-cta{background-color:#024470;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-info:focus .file-cta,html.theme--documenter-dark .file.is-info.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(2,76,125,0.25);color:#fff}html.theme--documenter-dark .file.is-info:active .file-cta,html.theme--documenter-dark .file.is-info.is-active .file-cta{background-color:#023d64;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-success .file-cta{background-color:#008438;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-success:hover .file-cta,html.theme--documenter-dark .file.is-success.is-hovered .file-cta{background-color:#073;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-success:focus .file-cta,html.theme--documenter-dark .file.is-success.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(0,132,56,0.25);color:#fff}html.theme--documenter-dark .file.is-success:active .file-cta,html.theme--documenter-dark .file.is-success.is-active .file-cta{background-color:#006b2d;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-warning .file-cta{background-color:#ad8100;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-warning:hover .file-cta,html.theme--documenter-dark .file.is-warning.is-hovered .file-cta{background-color:#a07700;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-warning:focus .file-cta,html.theme--documenter-dark .file.is-warning.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(173,129,0,0.25);color:#fff}html.theme--documenter-dark .file.is-warning:active .file-cta,html.theme--documenter-dark .file.is-warning.is-active .file-cta{background-color:#946e00;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-danger .file-cta{background-color:#9e1b0d;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-danger:hover .file-cta,html.theme--documenter-dark .file.is-danger.is-hovered .file-cta{background-color:#92190c;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-danger:focus .file-cta,html.theme--documenter-dark .file.is-danger.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(158,27,13,0.25);color:#fff}html.theme--documenter-dark .file.is-danger:active .file-cta,html.theme--documenter-dark .file.is-danger.is-active .file-cta{background-color:#86170b;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-small,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.file{font-size:.85em}html.theme--documenter-dark .file.is-medium{font-size:1.25rem}html.theme--documenter-dark .file.is-medium .file-icon .fa{font-size:21px}html.theme--documenter-dark .file.is-large{font-size:1.5rem}html.theme--documenter-dark .file.is-large .file-icon .fa{font-size:28px}html.theme--documenter-dark .file.has-name .file-cta{border-bottom-right-radius:0;border-top-right-radius:0}html.theme--documenter-dark .file.has-name .file-name{border-bottom-left-radius:0;border-top-left-radius:0}html.theme--documenter-dark .file.has-name.is-empty .file-cta{border-radius:.4em}html.theme--documenter-dark .file.has-name.is-empty .file-name{display:none}html.theme--documenter-dark .file.is-boxed .file-label{flex-direction:column}html.theme--documenter-dark .file.is-boxed .file-cta{flex-direction:column;height:auto;padding:1em 3em}html.theme--documenter-dark .file.is-boxed .file-name{border-width:0 1px 1px}html.theme--documenter-dark .file.is-boxed .file-icon{height:1.5em;width:1.5em}html.theme--documenter-dark .file.is-boxed .file-icon .fa{font-size:21px}html.theme--documenter-dark .file.is-boxed.is-small .file-icon .fa,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-boxed .file-icon .fa{font-size:14px}html.theme--documenter-dark .file.is-boxed.is-medium .file-icon .fa{font-size:28px}html.theme--documenter-dark .file.is-boxed.is-large .file-icon .fa{font-size:35px}html.theme--documenter-dark .file.is-boxed.has-name .file-cta{border-radius:.4em .4em 0 0}html.theme--documenter-dark .file.is-boxed.has-name .file-name{border-radius:0 0 .4em .4em;border-width:0 1px 1px}html.theme--documenter-dark .file.is-centered{justify-content:center}html.theme--documenter-dark .file.is-fullwidth .file-label{width:100%}html.theme--documenter-dark .file.is-fullwidth .file-name{flex-grow:1;max-width:none}html.theme--documenter-dark .file.is-right{justify-content:flex-end}html.theme--documenter-dark .file.is-right .file-cta{border-radius:0 .4em .4em 0}html.theme--documenter-dark .file.is-right .file-name{border-radius:.4em 0 0 .4em;border-width:1px 0 1px 1px;order:-1}html.theme--documenter-dark .file-label{align-items:stretch;display:flex;cursor:pointer;justify-content:flex-start;overflow:hidden;position:relative}html.theme--documenter-dark .file-label:hover .file-cta{background-color:#e5eaec;color:#282f2f}html.theme--documenter-dark .file-label:hover .file-name{border-color:#596668}html.theme--documenter-dark .file-label:active .file-cta{background-color:#dde4e6;color:#282f2f}html.theme--documenter-dark .file-label:active .file-name{border-color:#535f61}html.theme--documenter-dark .file-input{height:100%;left:0;opacity:0;outline:none;position:absolute;top:0;width:100%}html.theme--documenter-dark .file-cta,html.theme--documenter-dark .file-name{border-color:#5e6d6f;border-radius:.4em;font-size:1em;padding-left:1em;padding-right:1em;white-space:nowrap}html.theme--documenter-dark .file-cta{background-color:#ecf0f1;color:#343c3d}html.theme--documenter-dark .file-name{border-color:#5e6d6f;border-style:solid;border-width:1px 1px 1px 0;display:block;max-width:16em;overflow:hidden;text-align:left;text-overflow:ellipsis}html.theme--documenter-dark .file-icon{align-items:center;display:flex;height:1em;justify-content:center;margin-right:0.5em;width:1em}html.theme--documenter-dark .file-icon .fa{font-size:14px}html.theme--documenter-dark .label{color:#282f2f;display:block;font-size:15px;font-weight:700}html.theme--documenter-dark .label:not(:last-child){margin-bottom:0.5em}html.theme--documenter-dark .label.is-small,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.label{font-size:.85em}html.theme--documenter-dark .label.is-medium{font-size:1.25rem}html.theme--documenter-dark .label.is-large{font-size:1.5rem}html.theme--documenter-dark .help{display:block;font-size:.85em;margin-top:0.25rem}html.theme--documenter-dark .help.is-white{color:#fff}html.theme--documenter-dark .help.is-black{color:#0a0a0a}html.theme--documenter-dark .help.is-light{color:#ecf0f1}html.theme--documenter-dark .help.is-dark,html.theme--documenter-dark .content kbd.help{color:#282f2f}html.theme--documenter-dark .help.is-primary,html.theme--documenter-dark .docstring>section>a.help.docs-sourcelink{color:#375a7f}html.theme--documenter-dark .help.is-link{color:#1abc9c}html.theme--documenter-dark .help.is-info{color:#024c7d}html.theme--documenter-dark .help.is-success{color:#008438}html.theme--documenter-dark .help.is-warning{color:#ad8100}html.theme--documenter-dark .help.is-danger{color:#9e1b0d}html.theme--documenter-dark .field:not(:last-child){margin-bottom:0.75rem}html.theme--documenter-dark .field.has-addons{display:flex;justify-content:flex-start}html.theme--documenter-dark .field.has-addons .control:not(:last-child){margin-right:-1px}html.theme--documenter-dark .field.has-addons .control:not(:first-child):not(:last-child) .button,html.theme--documenter-dark .field.has-addons .control:not(:first-child):not(:last-child) .input,html.theme--documenter-dark .field.has-addons .control:not(:first-child):not(:last-child) #documenter .docs-sidebar form.docs-search>input,html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control:not(:first-child):not(:last-child) form.docs-search>input,html.theme--documenter-dark .field.has-addons .control:not(:first-child):not(:last-child) .select select{border-radius:0}html.theme--documenter-dark .field.has-addons .control:first-child:not(:only-child) .button,html.theme--documenter-dark .field.has-addons .control:first-child:not(:only-child) .input,html.theme--documenter-dark .field.has-addons .control:first-child:not(:only-child) #documenter .docs-sidebar form.docs-search>input,html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control:first-child:not(:only-child) form.docs-search>input,html.theme--documenter-dark .field.has-addons .control:first-child:not(:only-child) .select select{border-bottom-right-radius:0;border-top-right-radius:0}html.theme--documenter-dark .field.has-addons .control:last-child:not(:only-child) .button,html.theme--documenter-dark .field.has-addons .control:last-child:not(:only-child) .input,html.theme--documenter-dark .field.has-addons .control:last-child:not(:only-child) #documenter .docs-sidebar form.docs-search>input,html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control:last-child:not(:only-child) form.docs-search>input,html.theme--documenter-dark .field.has-addons .control:last-child:not(:only-child) .select select{border-bottom-left-radius:0;border-top-left-radius:0}html.theme--documenter-dark .field.has-addons .control .button:not([disabled]):hover,html.theme--documenter-dark .field.has-addons .control .button.is-hovered:not([disabled]),html.theme--documenter-dark .field.has-addons .control .input:not([disabled]):hover,html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search>input:not([disabled]):hover,html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search>input:not([disabled]):hover,html.theme--documenter-dark .field.has-addons .control .input.is-hovered:not([disabled]),html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search>input.is-hovered:not([disabled]),html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search>input.is-hovered:not([disabled]),html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]):hover,html.theme--documenter-dark .field.has-addons .control .select select.is-hovered:not([disabled]){z-index:2}html.theme--documenter-dark .field.has-addons .control .button:not([disabled]):focus,html.theme--documenter-dark .field.has-addons .control .button.is-focused:not([disabled]),html.theme--documenter-dark .field.has-addons .control .button:not([disabled]):active,html.theme--documenter-dark .field.has-addons .control .button.is-active:not([disabled]),html.theme--documenter-dark .field.has-addons .control .input:not([disabled]):focus,html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search>input:not([disabled]):focus,html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search>input:not([disabled]):focus,html.theme--documenter-dark .field.has-addons .control .input.is-focused:not([disabled]),html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search>input.is-focused:not([disabled]),html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search>input.is-focused:not([disabled]),html.theme--documenter-dark .field.has-addons .control .input:not([disabled]):active,html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search>input:not([disabled]):active,html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search>input:not([disabled]):active,html.theme--documenter-dark .field.has-addons .control .input.is-active:not([disabled]),html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search>input.is-active:not([disabled]),html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search>input.is-active:not([disabled]),html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]):focus,html.theme--documenter-dark .field.has-addons .control .select select.is-focused:not([disabled]),html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]):active,html.theme--documenter-dark .field.has-addons .control .select select.is-active:not([disabled]){z-index:3}html.theme--documenter-dark .field.has-addons .control .button:not([disabled]):focus:hover,html.theme--documenter-dark .field.has-addons .control .button.is-focused:not([disabled]):hover,html.theme--documenter-dark .field.has-addons .control .button:not([disabled]):active:hover,html.theme--documenter-dark .field.has-addons .control .button.is-active:not([disabled]):hover,html.theme--documenter-dark .field.has-addons .control .input:not([disabled]):focus:hover,html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search>input:not([disabled]):focus:hover,html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search>input:not([disabled]):focus:hover,html.theme--documenter-dark .field.has-addons .control .input.is-focused:not([disabled]):hover,html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search>input.is-focused:not([disabled]):hover,html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search>input.is-focused:not([disabled]):hover,html.theme--documenter-dark .field.has-addons .control .input:not([disabled]):active:hover,html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search>input:not([disabled]):active:hover,html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search>input:not([disabled]):active:hover,html.theme--documenter-dark .field.has-addons .control .input.is-active:not([disabled]):hover,html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search>input.is-active:not([disabled]):hover,html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search>input.is-active:not([disabled]):hover,html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]):focus:hover,html.theme--documenter-dark .field.has-addons .control .select select.is-focused:not([disabled]):hover,html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]):active:hover,html.theme--documenter-dark .field.has-addons .control .select select.is-active:not([disabled]):hover{z-index:4}html.theme--documenter-dark .field.has-addons .control.is-expanded{flex-grow:1;flex-shrink:1}html.theme--documenter-dark .field.has-addons.has-addons-centered{justify-content:center}html.theme--documenter-dark .field.has-addons.has-addons-right{justify-content:flex-end}html.theme--documenter-dark .field.has-addons.has-addons-fullwidth .control{flex-grow:1;flex-shrink:0}html.theme--documenter-dark .field.is-grouped{display:flex;justify-content:flex-start}html.theme--documenter-dark .field.is-grouped>.control{flex-shrink:0}html.theme--documenter-dark .field.is-grouped>.control:not(:last-child){margin-bottom:0;margin-right:0.75rem}html.theme--documenter-dark .field.is-grouped>.control.is-expanded{flex-grow:1;flex-shrink:1}html.theme--documenter-dark .field.is-grouped.is-grouped-centered{justify-content:center}html.theme--documenter-dark .field.is-grouped.is-grouped-right{justify-content:flex-end}html.theme--documenter-dark .field.is-grouped.is-grouped-multiline{flex-wrap:wrap}html.theme--documenter-dark .field.is-grouped.is-grouped-multiline>.control:last-child,html.theme--documenter-dark .field.is-grouped.is-grouped-multiline>.control:not(:last-child){margin-bottom:0.75rem}html.theme--documenter-dark .field.is-grouped.is-grouped-multiline:last-child{margin-bottom:-0.75rem}html.theme--documenter-dark .field.is-grouped.is-grouped-multiline:not(:last-child){margin-bottom:0}@media screen and (min-width: 769px),print{html.theme--documenter-dark .field.is-horizontal{display:flex}}html.theme--documenter-dark .field-label .label{font-size:inherit}@media screen and (max-width: 768px){html.theme--documenter-dark .field-label{margin-bottom:0.5rem}}@media screen and (min-width: 769px),print{html.theme--documenter-dark .field-label{flex-basis:0;flex-grow:1;flex-shrink:0;margin-right:1.5rem;text-align:right}html.theme--documenter-dark .field-label.is-small,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.field-label{font-size:.85em;padding-top:0.375em}html.theme--documenter-dark .field-label.is-normal{padding-top:0.375em}html.theme--documenter-dark .field-label.is-medium{font-size:1.25rem;padding-top:0.375em}html.theme--documenter-dark .field-label.is-large{font-size:1.5rem;padding-top:0.375em}}html.theme--documenter-dark .field-body .field .field{margin-bottom:0}@media screen and (min-width: 769px),print{html.theme--documenter-dark .field-body{display:flex;flex-basis:0;flex-grow:5;flex-shrink:1}html.theme--documenter-dark .field-body .field{margin-bottom:0}html.theme--documenter-dark .field-body>.field{flex-shrink:1}html.theme--documenter-dark .field-body>.field:not(.is-narrow){flex-grow:1}html.theme--documenter-dark .field-body>.field:not(:last-child){margin-right:0.75rem}}html.theme--documenter-dark .control{box-sizing:border-box;clear:both;font-size:15px;position:relative;text-align:left}html.theme--documenter-dark .control.has-icons-left .input:focus~.icon,html.theme--documenter-dark .control.has-icons-left #documenter .docs-sidebar form.docs-search>input:focus~.icon,html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-left form.docs-search>input:focus~.icon,html.theme--documenter-dark .control.has-icons-left .select:focus~.icon,html.theme--documenter-dark .control.has-icons-right .input:focus~.icon,html.theme--documenter-dark .control.has-icons-right #documenter .docs-sidebar form.docs-search>input:focus~.icon,html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-right form.docs-search>input:focus~.icon,html.theme--documenter-dark .control.has-icons-right .select:focus~.icon{color:#5e6d6f}html.theme--documenter-dark .control.has-icons-left .input.is-small~.icon,html.theme--documenter-dark .control.has-icons-left #documenter .docs-sidebar form.docs-search>input~.icon,html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-left form.docs-search>input~.icon,html.theme--documenter-dark .control.has-icons-left .select.is-small~.icon,html.theme--documenter-dark .control.has-icons-right .input.is-small~.icon,html.theme--documenter-dark .control.has-icons-right #documenter .docs-sidebar form.docs-search>input~.icon,html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-right form.docs-search>input~.icon,html.theme--documenter-dark .control.has-icons-right .select.is-small~.icon{font-size:.85em}html.theme--documenter-dark .control.has-icons-left .input.is-medium~.icon,html.theme--documenter-dark .control.has-icons-left #documenter .docs-sidebar form.docs-search>input.is-medium~.icon,html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-left form.docs-search>input.is-medium~.icon,html.theme--documenter-dark .control.has-icons-left .select.is-medium~.icon,html.theme--documenter-dark .control.has-icons-right .input.is-medium~.icon,html.theme--documenter-dark .control.has-icons-right #documenter .docs-sidebar form.docs-search>input.is-medium~.icon,html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-right form.docs-search>input.is-medium~.icon,html.theme--documenter-dark .control.has-icons-right .select.is-medium~.icon{font-size:1.25rem}html.theme--documenter-dark .control.has-icons-left .input.is-large~.icon,html.theme--documenter-dark .control.has-icons-left #documenter .docs-sidebar form.docs-search>input.is-large~.icon,html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-left form.docs-search>input.is-large~.icon,html.theme--documenter-dark .control.has-icons-left .select.is-large~.icon,html.theme--documenter-dark .control.has-icons-right .input.is-large~.icon,html.theme--documenter-dark .control.has-icons-right #documenter .docs-sidebar form.docs-search>input.is-large~.icon,html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-right form.docs-search>input.is-large~.icon,html.theme--documenter-dark .control.has-icons-right .select.is-large~.icon{font-size:1.5rem}html.theme--documenter-dark .control.has-icons-left .icon,html.theme--documenter-dark .control.has-icons-right .icon{color:#dbdee0;height:2.25em;pointer-events:none;position:absolute;top:0;width:2.25em;z-index:4}html.theme--documenter-dark .control.has-icons-left .input,html.theme--documenter-dark .control.has-icons-left #documenter .docs-sidebar form.docs-search>input,html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-left form.docs-search>input,html.theme--documenter-dark .control.has-icons-left .select select{padding-left:2.25em}html.theme--documenter-dark .control.has-icons-left .icon.is-left{left:0}html.theme--documenter-dark .control.has-icons-right .input,html.theme--documenter-dark .control.has-icons-right #documenter .docs-sidebar form.docs-search>input,html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-right form.docs-search>input,html.theme--documenter-dark .control.has-icons-right .select select{padding-right:2.25em}html.theme--documenter-dark .control.has-icons-right .icon.is-right{right:0}html.theme--documenter-dark .control.is-loading::after{position:absolute !important;right:0.625em;top:0.625em;z-index:4}html.theme--documenter-dark .control.is-loading.is-small:after,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-loading:after{font-size:.85em}html.theme--documenter-dark .control.is-loading.is-medium:after{font-size:1.25rem}html.theme--documenter-dark .control.is-loading.is-large:after{font-size:1.5rem}html.theme--documenter-dark .breadcrumb{font-size:15px;white-space:nowrap}html.theme--documenter-dark .breadcrumb a{align-items:center;color:#1abc9c;display:flex;justify-content:center;padding:0 .75em}html.theme--documenter-dark .breadcrumb a:hover{color:#1dd2af}html.theme--documenter-dark .breadcrumb li{align-items:center;display:flex}html.theme--documenter-dark .breadcrumb li:first-child a{padding-left:0}html.theme--documenter-dark .breadcrumb li.is-active a{color:#f2f2f2;cursor:default;pointer-events:none}html.theme--documenter-dark .breadcrumb li+li::before{color:#8c9b9d;content:"\0002f"}html.theme--documenter-dark .breadcrumb ul,html.theme--documenter-dark .breadcrumb ol{align-items:flex-start;display:flex;flex-wrap:wrap;justify-content:flex-start}html.theme--documenter-dark .breadcrumb .icon:first-child{margin-right:0.5em}html.theme--documenter-dark .breadcrumb .icon:last-child{margin-left:0.5em}html.theme--documenter-dark .breadcrumb.is-centered ol,html.theme--documenter-dark .breadcrumb.is-centered ul{justify-content:center}html.theme--documenter-dark .breadcrumb.is-right ol,html.theme--documenter-dark .breadcrumb.is-right ul{justify-content:flex-end}html.theme--documenter-dark .breadcrumb.is-small,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.breadcrumb{font-size:.85em}html.theme--documenter-dark .breadcrumb.is-medium{font-size:1.25rem}html.theme--documenter-dark .breadcrumb.is-large{font-size:1.5rem}html.theme--documenter-dark .breadcrumb.has-arrow-separator li+li::before{content:"\02192"}html.theme--documenter-dark .breadcrumb.has-bullet-separator li+li::before{content:"\02022"}html.theme--documenter-dark .breadcrumb.has-dot-separator li+li::before{content:"\000b7"}html.theme--documenter-dark .breadcrumb.has-succeeds-separator li+li::before{content:"\0227B"}html.theme--documenter-dark .card{background-color:#fff;box-shadow:0 2px 3px rgba(10,10,10,0.1),0 0 0 1px rgba(10,10,10,0.1);color:#fff;max-width:100%;position:relative}html.theme--documenter-dark .card-header{background-color:rgba(0,0,0,0);align-items:stretch;box-shadow:0 1px 2px rgba(10,10,10,0.1);display:flex}html.theme--documenter-dark .card-header-title{align-items:center;color:#f2f2f2;display:flex;flex-grow:1;font-weight:700;padding:.75rem}html.theme--documenter-dark .card-header-title.is-centered{justify-content:center}html.theme--documenter-dark .card-header-icon{align-items:center;cursor:pointer;display:flex;justify-content:center;padding:.75rem}html.theme--documenter-dark .card-image{display:block;position:relative}html.theme--documenter-dark .card-content{background-color:rgba(0,0,0,0);padding:1.5rem}html.theme--documenter-dark .card-footer{background-color:rgba(0,0,0,0);border-top:1px solid #5e6d6f;align-items:stretch;display:flex}html.theme--documenter-dark .card-footer-item{align-items:center;display:flex;flex-basis:0;flex-grow:1;flex-shrink:0;justify-content:center;padding:.75rem}html.theme--documenter-dark .card-footer-item:not(:last-child){border-right:1px solid #5e6d6f}html.theme--documenter-dark .card .media:not(:last-child){margin-bottom:1.5rem}html.theme--documenter-dark .dropdown{display:inline-flex;position:relative;vertical-align:top}html.theme--documenter-dark .dropdown.is-active .dropdown-menu,html.theme--documenter-dark .dropdown.is-hoverable:hover .dropdown-menu{display:block}html.theme--documenter-dark .dropdown.is-right .dropdown-menu{left:auto;right:0}html.theme--documenter-dark .dropdown.is-up .dropdown-menu{bottom:100%;padding-bottom:4px;padding-top:initial;top:auto}html.theme--documenter-dark .dropdown-menu{display:none;left:0;min-width:12rem;padding-top:4px;position:absolute;top:100%;z-index:20}html.theme--documenter-dark .dropdown-content{background-color:#282f2f;border-radius:.4em;box-shadow:0 2px 3px rgba(10,10,10,0.1),0 0 0 1px rgba(10,10,10,0.1);padding-bottom:.5rem;padding-top:.5rem}html.theme--documenter-dark .dropdown-item{color:#fff;display:block;font-size:0.875rem;line-height:1.5;padding:0.375rem 1rem;position:relative}html.theme--documenter-dark a.dropdown-item,html.theme--documenter-dark button.dropdown-item{padding-right:3rem;text-align:left;white-space:nowrap;width:100%}html.theme--documenter-dark a.dropdown-item:hover,html.theme--documenter-dark button.dropdown-item:hover{background-color:#282f2f;color:#0a0a0a}html.theme--documenter-dark a.dropdown-item.is-active,html.theme--documenter-dark button.dropdown-item.is-active{background-color:#1abc9c;color:#fff}html.theme--documenter-dark .dropdown-divider{background-color:#5e6d6f;border:none;display:block;height:1px;margin:0.5rem 0}html.theme--documenter-dark .level{align-items:center;justify-content:space-between}html.theme--documenter-dark .level code{border-radius:.4em}html.theme--documenter-dark .level img{display:inline-block;vertical-align:top}html.theme--documenter-dark .level.is-mobile{display:flex}html.theme--documenter-dark .level.is-mobile .level-left,html.theme--documenter-dark .level.is-mobile .level-right{display:flex}html.theme--documenter-dark .level.is-mobile .level-left+.level-right{margin-top:0}html.theme--documenter-dark .level.is-mobile .level-item:not(:last-child){margin-bottom:0;margin-right:.75rem}html.theme--documenter-dark .level.is-mobile .level-item:not(.is-narrow){flex-grow:1}@media screen and (min-width: 769px),print{html.theme--documenter-dark .level{display:flex}html.theme--documenter-dark .level>.level-item:not(.is-narrow){flex-grow:1}}html.theme--documenter-dark .level-item{align-items:center;display:flex;flex-basis:auto;flex-grow:0;flex-shrink:0;justify-content:center}html.theme--documenter-dark .level-item .title,html.theme--documenter-dark .level-item .subtitle{margin-bottom:0}@media screen and (max-width: 768px){html.theme--documenter-dark .level-item:not(:last-child){margin-bottom:.75rem}}html.theme--documenter-dark .level-left,html.theme--documenter-dark .level-right{flex-basis:auto;flex-grow:0;flex-shrink:0}html.theme--documenter-dark .level-left .level-item.is-flexible,html.theme--documenter-dark .level-right .level-item.is-flexible{flex-grow:1}@media screen and (min-width: 769px),print{html.theme--documenter-dark .level-left .level-item:not(:last-child),html.theme--documenter-dark .level-right .level-item:not(:last-child){margin-right:.75rem}}html.theme--documenter-dark .level-left{align-items:center;justify-content:flex-start}@media screen and (max-width: 768px){html.theme--documenter-dark .level-left+.level-right{margin-top:1.5rem}}@media screen and (min-width: 769px),print{html.theme--documenter-dark .level-left{display:flex}}html.theme--documenter-dark .level-right{align-items:center;justify-content:flex-end}@media screen and (min-width: 769px),print{html.theme--documenter-dark .level-right{display:flex}}html.theme--documenter-dark .list{background-color:#fff;border-radius:.4em;box-shadow:0 2px 3px rgba(10,10,10,0.1),0 0 0 1px rgba(10,10,10,0.1)}html.theme--documenter-dark .list-item{display:block;padding:0.5em 1em}html.theme--documenter-dark .list-item:not(a){color:#fff}html.theme--documenter-dark .list-item:first-child{border-top-left-radius:.4em;border-top-right-radius:.4em}html.theme--documenter-dark .list-item:last-child{border-bottom-left-radius:.4em;border-bottom-right-radius:.4em}html.theme--documenter-dark .list-item:not(:last-child){border-bottom:1px solid #5e6d6f}html.theme--documenter-dark .list-item.is-active{background-color:#1abc9c;color:#fff}html.theme--documenter-dark a.list-item{background-color:#282f2f;cursor:pointer}html.theme--documenter-dark .media{align-items:flex-start;display:flex;text-align:left}html.theme--documenter-dark .media .content:not(:last-child){margin-bottom:0.75rem}html.theme--documenter-dark .media .media{border-top:1px solid rgba(94,109,111,0.5);display:flex;padding-top:0.75rem}html.theme--documenter-dark .media .media .content:not(:last-child),html.theme--documenter-dark .media .media .control:not(:last-child){margin-bottom:0.5rem}html.theme--documenter-dark .media .media .media{padding-top:0.5rem}html.theme--documenter-dark .media .media .media+.media{margin-top:0.5rem}html.theme--documenter-dark .media+.media{border-top:1px solid rgba(94,109,111,0.5);margin-top:1rem;padding-top:1rem}html.theme--documenter-dark .media.is-large+.media{margin-top:1.5rem;padding-top:1.5rem}html.theme--documenter-dark .media-left,html.theme--documenter-dark .media-right{flex-basis:auto;flex-grow:0;flex-shrink:0}html.theme--documenter-dark .media-left{margin-right:1rem}html.theme--documenter-dark .media-right{margin-left:1rem}html.theme--documenter-dark .media-content{flex-basis:auto;flex-grow:1;flex-shrink:1;text-align:left}@media screen and (max-width: 768px){html.theme--documenter-dark .media-content{overflow-x:auto}}html.theme--documenter-dark .menu{font-size:15px}html.theme--documenter-dark .menu.is-small,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.menu{font-size:.85em}html.theme--documenter-dark .menu.is-medium{font-size:1.25rem}html.theme--documenter-dark .menu.is-large{font-size:1.5rem}html.theme--documenter-dark .menu-list{line-height:1.25}html.theme--documenter-dark .menu-list a{border-radius:3px;color:#fff;display:block;padding:0.5em 0.75em}html.theme--documenter-dark .menu-list a:hover{background-color:#282f2f;color:#f2f2f2}html.theme--documenter-dark .menu-list a.is-active{background-color:#1abc9c;color:#fff}html.theme--documenter-dark .menu-list li ul{border-left:1px solid #5e6d6f;margin:.75em;padding-left:.75em}html.theme--documenter-dark .menu-label{color:#fff;font-size:.75em;letter-spacing:.1em;text-transform:uppercase}html.theme--documenter-dark .menu-label:not(:first-child){margin-top:1em}html.theme--documenter-dark .menu-label:not(:last-child){margin-bottom:1em}html.theme--documenter-dark .message{background-color:#282f2f;border-radius:.4em;font-size:15px}html.theme--documenter-dark .message strong{color:currentColor}html.theme--documenter-dark .message a:not(.button):not(.tag):not(.dropdown-item){color:currentColor;text-decoration:underline}html.theme--documenter-dark .message.is-small,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.message{font-size:.85em}html.theme--documenter-dark .message.is-medium{font-size:1.25rem}html.theme--documenter-dark .message.is-large{font-size:1.5rem}html.theme--documenter-dark .message.is-white{background-color:#fff}html.theme--documenter-dark .message.is-white .message-header{background-color:#fff;color:#0a0a0a}html.theme--documenter-dark .message.is-white .message-body{border-color:#fff;color:#4d4d4d}html.theme--documenter-dark .message.is-black{background-color:#fafafa}html.theme--documenter-dark .message.is-black .message-header{background-color:#0a0a0a;color:#fff}html.theme--documenter-dark .message.is-black .message-body{border-color:#0a0a0a;color:#090909}html.theme--documenter-dark .message.is-light{background-color:#f9fafb}html.theme--documenter-dark .message.is-light .message-header{background-color:#ecf0f1;color:#282f2f}html.theme--documenter-dark .message.is-light .message-body{border-color:#ecf0f1;color:#505050}html.theme--documenter-dark .message.is-dark,html.theme--documenter-dark .content kbd.message{background-color:#f9fafa}html.theme--documenter-dark .message.is-dark .message-header,html.theme--documenter-dark .content kbd.message .message-header{background-color:#282f2f;color:#ecf0f1}html.theme--documenter-dark .message.is-dark .message-body,html.theme--documenter-dark .content kbd.message .message-body{border-color:#282f2f;color:#212526}html.theme--documenter-dark .message.is-primary,html.theme--documenter-dark .docstring>section>a.message.docs-sourcelink{background-color:#f8fafc}html.theme--documenter-dark .message.is-primary .message-header,html.theme--documenter-dark .docstring>section>a.message.docs-sourcelink .message-header{background-color:#375a7f;color:#fff}html.theme--documenter-dark .message.is-primary .message-body,html.theme--documenter-dark .docstring>section>a.message.docs-sourcelink .message-body{border-color:#375a7f;color:#2b4159}html.theme--documenter-dark .message.is-link{background-color:#f6fefc}html.theme--documenter-dark .message.is-link .message-header{background-color:#1abc9c;color:#fff}html.theme--documenter-dark .message.is-link .message-body{border-color:#1abc9c;color:#0b2f28}html.theme--documenter-dark .message.is-info{background-color:#f5fbff}html.theme--documenter-dark .message.is-info .message-header{background-color:#024c7d;color:#fff}html.theme--documenter-dark .message.is-info .message-body{border-color:#024c7d;color:#033659}html.theme--documenter-dark .message.is-success{background-color:#f5fff9}html.theme--documenter-dark .message.is-success .message-header{background-color:#008438;color:#fff}html.theme--documenter-dark .message.is-success .message-body{border-color:#008438;color:#023518}html.theme--documenter-dark .message.is-warning{background-color:#fffcf5}html.theme--documenter-dark .message.is-warning .message-header{background-color:#ad8100;color:#fff}html.theme--documenter-dark .message.is-warning .message-body{border-color:#ad8100;color:#3d2e03}html.theme--documenter-dark .message.is-danger{background-color:#fef6f6}html.theme--documenter-dark .message.is-danger .message-header{background-color:#9e1b0d;color:#fff}html.theme--documenter-dark .message.is-danger .message-body{border-color:#9e1b0d;color:#7a170c}html.theme--documenter-dark .message-header{align-items:center;background-color:#fff;border-radius:.4em .4em 0 0;color:rgba(0,0,0,0.7);display:flex;font-weight:700;justify-content:space-between;line-height:1.25;padding:0.75em 1em;position:relative}html.theme--documenter-dark .message-header .delete{flex-grow:0;flex-shrink:0;margin-left:0.75em}html.theme--documenter-dark .message-header+.message-body{border-width:0;border-top-left-radius:0;border-top-right-radius:0}html.theme--documenter-dark .message-body{border-color:#5e6d6f;border-radius:.4em;border-style:solid;border-width:0 0 0 4px;color:#fff;padding:1.25em 1.5em}html.theme--documenter-dark .message-body code,html.theme--documenter-dark .message-body pre{background-color:#fff}html.theme--documenter-dark .message-body pre code{background-color:rgba(0,0,0,0)}html.theme--documenter-dark .modal{align-items:center;display:none;flex-direction:column;justify-content:center;overflow:hidden;position:fixed;z-index:40}html.theme--documenter-dark .modal.is-active{display:flex}html.theme--documenter-dark .modal-background{background-color:rgba(10,10,10,0.86)}html.theme--documenter-dark .modal-content,html.theme--documenter-dark .modal-card{margin:0 20px;max-height:calc(100vh - 160px);overflow:auto;position:relative;width:100%}@media screen and (min-width: 769px),print{html.theme--documenter-dark .modal-content,html.theme--documenter-dark .modal-card{margin:0 auto;max-height:calc(100vh - 40px);width:640px}}html.theme--documenter-dark .modal-close{background:none;height:40px;position:fixed;right:20px;top:20px;width:40px}html.theme--documenter-dark .modal-card{display:flex;flex-direction:column;max-height:calc(100vh - 40px);overflow:hidden;-ms-overflow-y:visible}html.theme--documenter-dark .modal-card-head,html.theme--documenter-dark .modal-card-foot{align-items:center;background-color:#282f2f;display:flex;flex-shrink:0;justify-content:flex-start;padding:20px;position:relative}html.theme--documenter-dark .modal-card-head{border-bottom:1px solid #5e6d6f;border-top-left-radius:8px;border-top-right-radius:8px}html.theme--documenter-dark .modal-card-title{color:#f2f2f2;flex-grow:1;flex-shrink:0;font-size:1.5rem;line-height:1}html.theme--documenter-dark .modal-card-foot{border-bottom-left-radius:8px;border-bottom-right-radius:8px;border-top:1px solid #5e6d6f}html.theme--documenter-dark .modal-card-foot .button:not(:last-child){margin-right:0.5em}html.theme--documenter-dark .modal-card-body{-webkit-overflow-scrolling:touch;background-color:#fff;flex-grow:1;flex-shrink:1;overflow:auto;padding:20px}html.theme--documenter-dark .navbar{background-color:#375a7f;min-height:4rem;position:relative;z-index:30}html.theme--documenter-dark .navbar.is-white{background-color:#fff;color:#0a0a0a}html.theme--documenter-dark .navbar.is-white .navbar-brand>.navbar-item,html.theme--documenter-dark .navbar.is-white .navbar-brand .navbar-link{color:#0a0a0a}html.theme--documenter-dark .navbar.is-white .navbar-brand>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-white .navbar-brand>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-white .navbar-brand>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-white .navbar-brand .navbar-link:focus,html.theme--documenter-dark .navbar.is-white .navbar-brand .navbar-link:hover,html.theme--documenter-dark .navbar.is-white .navbar-brand .navbar-link.is-active{background-color:#f2f2f2;color:#0a0a0a}html.theme--documenter-dark .navbar.is-white .navbar-brand .navbar-link::after{border-color:#0a0a0a}html.theme--documenter-dark .navbar.is-white .navbar-burger{color:#0a0a0a}@media screen and (min-width: 1056px){html.theme--documenter-dark .navbar.is-white .navbar-start>.navbar-item,html.theme--documenter-dark .navbar.is-white .navbar-start .navbar-link,html.theme--documenter-dark .navbar.is-white .navbar-end>.navbar-item,html.theme--documenter-dark .navbar.is-white .navbar-end .navbar-link{color:#0a0a0a}html.theme--documenter-dark .navbar.is-white .navbar-start>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-white .navbar-start>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-white .navbar-start>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-white .navbar-start .navbar-link:focus,html.theme--documenter-dark .navbar.is-white .navbar-start .navbar-link:hover,html.theme--documenter-dark .navbar.is-white .navbar-start .navbar-link.is-active,html.theme--documenter-dark .navbar.is-white .navbar-end>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-white .navbar-end>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-white .navbar-end>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-white .navbar-end .navbar-link:focus,html.theme--documenter-dark .navbar.is-white .navbar-end .navbar-link:hover,html.theme--documenter-dark .navbar.is-white .navbar-end .navbar-link.is-active{background-color:#f2f2f2;color:#0a0a0a}html.theme--documenter-dark .navbar.is-white .navbar-start .navbar-link::after,html.theme--documenter-dark .navbar.is-white .navbar-end .navbar-link::after{border-color:#0a0a0a}html.theme--documenter-dark .navbar.is-white .navbar-item.has-dropdown:focus .navbar-link,html.theme--documenter-dark .navbar.is-white .navbar-item.has-dropdown:hover .navbar-link,html.theme--documenter-dark .navbar.is-white .navbar-item.has-dropdown.is-active .navbar-link{background-color:#f2f2f2;color:#0a0a0a}html.theme--documenter-dark .navbar.is-white .navbar-dropdown a.navbar-item.is-active{background-color:#fff;color:#0a0a0a}}html.theme--documenter-dark .navbar.is-black{background-color:#0a0a0a;color:#fff}html.theme--documenter-dark .navbar.is-black .navbar-brand>.navbar-item,html.theme--documenter-dark .navbar.is-black .navbar-brand .navbar-link{color:#fff}html.theme--documenter-dark .navbar.is-black .navbar-brand>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-black .navbar-brand>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-black .navbar-brand>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-black .navbar-brand .navbar-link:focus,html.theme--documenter-dark .navbar.is-black .navbar-brand .navbar-link:hover,html.theme--documenter-dark .navbar.is-black .navbar-brand .navbar-link.is-active{background-color:#000;color:#fff}html.theme--documenter-dark .navbar.is-black .navbar-brand .navbar-link::after{border-color:#fff}html.theme--documenter-dark .navbar.is-black .navbar-burger{color:#fff}@media screen and (min-width: 1056px){html.theme--documenter-dark .navbar.is-black .navbar-start>.navbar-item,html.theme--documenter-dark .navbar.is-black .navbar-start .navbar-link,html.theme--documenter-dark .navbar.is-black .navbar-end>.navbar-item,html.theme--documenter-dark .navbar.is-black .navbar-end .navbar-link{color:#fff}html.theme--documenter-dark .navbar.is-black .navbar-start>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-black .navbar-start>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-black .navbar-start>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-black .navbar-start .navbar-link:focus,html.theme--documenter-dark .navbar.is-black .navbar-start .navbar-link:hover,html.theme--documenter-dark .navbar.is-black .navbar-start .navbar-link.is-active,html.theme--documenter-dark .navbar.is-black .navbar-end>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-black .navbar-end>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-black .navbar-end>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-black .navbar-end .navbar-link:focus,html.theme--documenter-dark .navbar.is-black .navbar-end .navbar-link:hover,html.theme--documenter-dark .navbar.is-black .navbar-end .navbar-link.is-active{background-color:#000;color:#fff}html.theme--documenter-dark .navbar.is-black .navbar-start .navbar-link::after,html.theme--documenter-dark .navbar.is-black .navbar-end .navbar-link::after{border-color:#fff}html.theme--documenter-dark .navbar.is-black .navbar-item.has-dropdown:focus .navbar-link,html.theme--documenter-dark .navbar.is-black .navbar-item.has-dropdown:hover .navbar-link,html.theme--documenter-dark .navbar.is-black .navbar-item.has-dropdown.is-active .navbar-link{background-color:#000;color:#fff}html.theme--documenter-dark .navbar.is-black .navbar-dropdown a.navbar-item.is-active{background-color:#0a0a0a;color:#fff}}html.theme--documenter-dark .navbar.is-light{background-color:#ecf0f1;color:#282f2f}html.theme--documenter-dark .navbar.is-light .navbar-brand>.navbar-item,html.theme--documenter-dark .navbar.is-light .navbar-brand .navbar-link{color:#282f2f}html.theme--documenter-dark .navbar.is-light .navbar-brand>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-light .navbar-brand>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-light .navbar-brand>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-light .navbar-brand .navbar-link:focus,html.theme--documenter-dark .navbar.is-light .navbar-brand .navbar-link:hover,html.theme--documenter-dark .navbar.is-light .navbar-brand .navbar-link.is-active{background-color:#dde4e6;color:#282f2f}html.theme--documenter-dark .navbar.is-light .navbar-brand .navbar-link::after{border-color:#282f2f}html.theme--documenter-dark .navbar.is-light .navbar-burger{color:#282f2f}@media screen and (min-width: 1056px){html.theme--documenter-dark .navbar.is-light .navbar-start>.navbar-item,html.theme--documenter-dark .navbar.is-light .navbar-start .navbar-link,html.theme--documenter-dark .navbar.is-light .navbar-end>.navbar-item,html.theme--documenter-dark .navbar.is-light .navbar-end .navbar-link{color:#282f2f}html.theme--documenter-dark .navbar.is-light .navbar-start>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-light .navbar-start>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-light .navbar-start>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-light .navbar-start .navbar-link:focus,html.theme--documenter-dark .navbar.is-light .navbar-start .navbar-link:hover,html.theme--documenter-dark .navbar.is-light .navbar-start .navbar-link.is-active,html.theme--documenter-dark .navbar.is-light .navbar-end>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-light .navbar-end>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-light .navbar-end>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-light .navbar-end .navbar-link:focus,html.theme--documenter-dark .navbar.is-light .navbar-end .navbar-link:hover,html.theme--documenter-dark .navbar.is-light .navbar-end .navbar-link.is-active{background-color:#dde4e6;color:#282f2f}html.theme--documenter-dark .navbar.is-light .navbar-start .navbar-link::after,html.theme--documenter-dark .navbar.is-light .navbar-end .navbar-link::after{border-color:#282f2f}html.theme--documenter-dark .navbar.is-light .navbar-item.has-dropdown:focus .navbar-link,html.theme--documenter-dark .navbar.is-light .navbar-item.has-dropdown:hover .navbar-link,html.theme--documenter-dark .navbar.is-light .navbar-item.has-dropdown.is-active .navbar-link{background-color:#dde4e6;color:#282f2f}html.theme--documenter-dark .navbar.is-light .navbar-dropdown a.navbar-item.is-active{background-color:#ecf0f1;color:#282f2f}}html.theme--documenter-dark .navbar.is-dark,html.theme--documenter-dark .content kbd.navbar{background-color:#282f2f;color:#ecf0f1}html.theme--documenter-dark .navbar.is-dark .navbar-brand>.navbar-item,html.theme--documenter-dark .content kbd.navbar .navbar-brand>.navbar-item,html.theme--documenter-dark .navbar.is-dark .navbar-brand .navbar-link,html.theme--documenter-dark .content kbd.navbar .navbar-brand .navbar-link{color:#ecf0f1}html.theme--documenter-dark .navbar.is-dark .navbar-brand>a.navbar-item:focus,html.theme--documenter-dark .content kbd.navbar .navbar-brand>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-dark .navbar-brand>a.navbar-item:hover,html.theme--documenter-dark .content kbd.navbar .navbar-brand>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-dark .navbar-brand>a.navbar-item.is-active,html.theme--documenter-dark .content kbd.navbar .navbar-brand>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-dark .navbar-brand .navbar-link:focus,html.theme--documenter-dark .content kbd.navbar .navbar-brand .navbar-link:focus,html.theme--documenter-dark .navbar.is-dark .navbar-brand .navbar-link:hover,html.theme--documenter-dark .content kbd.navbar .navbar-brand .navbar-link:hover,html.theme--documenter-dark .navbar.is-dark .navbar-brand .navbar-link.is-active,html.theme--documenter-dark .content kbd.navbar .navbar-brand .navbar-link.is-active{background-color:#1d2122;color:#ecf0f1}html.theme--documenter-dark .navbar.is-dark .navbar-brand .navbar-link::after,html.theme--documenter-dark .content kbd.navbar .navbar-brand .navbar-link::after{border-color:#ecf0f1}html.theme--documenter-dark .navbar.is-dark .navbar-burger,html.theme--documenter-dark .content kbd.navbar .navbar-burger{color:#ecf0f1}@media screen and (min-width: 1056px){html.theme--documenter-dark .navbar.is-dark .navbar-start>.navbar-item,html.theme--documenter-dark .content kbd.navbar .navbar-start>.navbar-item,html.theme--documenter-dark .navbar.is-dark .navbar-start .navbar-link,html.theme--documenter-dark .content kbd.navbar .navbar-start .navbar-link,html.theme--documenter-dark .navbar.is-dark .navbar-end>.navbar-item,html.theme--documenter-dark .content kbd.navbar .navbar-end>.navbar-item,html.theme--documenter-dark .navbar.is-dark .navbar-end .navbar-link,html.theme--documenter-dark .content kbd.navbar .navbar-end .navbar-link{color:#ecf0f1}html.theme--documenter-dark .navbar.is-dark .navbar-start>a.navbar-item:focus,html.theme--documenter-dark .content kbd.navbar .navbar-start>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-dark .navbar-start>a.navbar-item:hover,html.theme--documenter-dark .content kbd.navbar .navbar-start>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-dark .navbar-start>a.navbar-item.is-active,html.theme--documenter-dark .content kbd.navbar .navbar-start>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-dark .navbar-start .navbar-link:focus,html.theme--documenter-dark .content kbd.navbar .navbar-start .navbar-link:focus,html.theme--documenter-dark .navbar.is-dark .navbar-start .navbar-link:hover,html.theme--documenter-dark .content kbd.navbar .navbar-start .navbar-link:hover,html.theme--documenter-dark .navbar.is-dark .navbar-start .navbar-link.is-active,html.theme--documenter-dark .content kbd.navbar .navbar-start .navbar-link.is-active,html.theme--documenter-dark .navbar.is-dark .navbar-end>a.navbar-item:focus,html.theme--documenter-dark .content kbd.navbar .navbar-end>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-dark .navbar-end>a.navbar-item:hover,html.theme--documenter-dark .content kbd.navbar .navbar-end>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-dark .navbar-end>a.navbar-item.is-active,html.theme--documenter-dark .content kbd.navbar .navbar-end>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-dark .navbar-end .navbar-link:focus,html.theme--documenter-dark .content kbd.navbar .navbar-end .navbar-link:focus,html.theme--documenter-dark .navbar.is-dark .navbar-end .navbar-link:hover,html.theme--documenter-dark .content kbd.navbar .navbar-end .navbar-link:hover,html.theme--documenter-dark .navbar.is-dark .navbar-end .navbar-link.is-active,html.theme--documenter-dark .content kbd.navbar .navbar-end .navbar-link.is-active{background-color:#1d2122;color:#ecf0f1}html.theme--documenter-dark .navbar.is-dark .navbar-start .navbar-link::after,html.theme--documenter-dark .content kbd.navbar .navbar-start .navbar-link::after,html.theme--documenter-dark .navbar.is-dark .navbar-end .navbar-link::after,html.theme--documenter-dark .content kbd.navbar .navbar-end .navbar-link::after{border-color:#ecf0f1}html.theme--documenter-dark .navbar.is-dark .navbar-item.has-dropdown:focus .navbar-link,html.theme--documenter-dark .content kbd.navbar .navbar-item.has-dropdown:focus .navbar-link,html.theme--documenter-dark .navbar.is-dark .navbar-item.has-dropdown:hover .navbar-link,html.theme--documenter-dark .content kbd.navbar .navbar-item.has-dropdown:hover .navbar-link,html.theme--documenter-dark .navbar.is-dark .navbar-item.has-dropdown.is-active .navbar-link,html.theme--documenter-dark .content kbd.navbar .navbar-item.has-dropdown.is-active .navbar-link{background-color:#1d2122;color:#ecf0f1}html.theme--documenter-dark .navbar.is-dark .navbar-dropdown a.navbar-item.is-active,html.theme--documenter-dark .content kbd.navbar .navbar-dropdown a.navbar-item.is-active{background-color:#282f2f;color:#ecf0f1}}html.theme--documenter-dark .navbar.is-primary,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink{background-color:#375a7f;color:#fff}html.theme--documenter-dark .navbar.is-primary .navbar-brand>.navbar-item,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-brand>.navbar-item,html.theme--documenter-dark .navbar.is-primary .navbar-brand .navbar-link,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-brand .navbar-link{color:#fff}html.theme--documenter-dark .navbar.is-primary .navbar-brand>a.navbar-item:focus,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-brand>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-primary .navbar-brand>a.navbar-item:hover,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-brand>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-primary .navbar-brand>a.navbar-item.is-active,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-brand>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-primary .navbar-brand .navbar-link:focus,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-brand .navbar-link:focus,html.theme--documenter-dark .navbar.is-primary .navbar-brand .navbar-link:hover,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-brand .navbar-link:hover,html.theme--documenter-dark .navbar.is-primary .navbar-brand .navbar-link.is-active,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-brand .navbar-link.is-active{background-color:#2f4d6d;color:#fff}html.theme--documenter-dark .navbar.is-primary .navbar-brand .navbar-link::after,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-brand .navbar-link::after{border-color:#fff}html.theme--documenter-dark .navbar.is-primary .navbar-burger,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-burger{color:#fff}@media screen and (min-width: 1056px){html.theme--documenter-dark .navbar.is-primary .navbar-start>.navbar-item,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-start>.navbar-item,html.theme--documenter-dark .navbar.is-primary .navbar-start .navbar-link,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-start .navbar-link,html.theme--documenter-dark .navbar.is-primary .navbar-end>.navbar-item,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-end>.navbar-item,html.theme--documenter-dark .navbar.is-primary .navbar-end .navbar-link,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-end .navbar-link{color:#fff}html.theme--documenter-dark .navbar.is-primary .navbar-start>a.navbar-item:focus,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-start>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-primary .navbar-start>a.navbar-item:hover,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-start>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-primary .navbar-start>a.navbar-item.is-active,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-start>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-primary .navbar-start .navbar-link:focus,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-start .navbar-link:focus,html.theme--documenter-dark .navbar.is-primary .navbar-start .navbar-link:hover,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-start .navbar-link:hover,html.theme--documenter-dark .navbar.is-primary .navbar-start .navbar-link.is-active,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-start .navbar-link.is-active,html.theme--documenter-dark .navbar.is-primary .navbar-end>a.navbar-item:focus,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-end>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-primary .navbar-end>a.navbar-item:hover,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-end>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-primary .navbar-end>a.navbar-item.is-active,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-end>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-primary .navbar-end .navbar-link:focus,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-end .navbar-link:focus,html.theme--documenter-dark .navbar.is-primary .navbar-end .navbar-link:hover,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-end .navbar-link:hover,html.theme--documenter-dark .navbar.is-primary .navbar-end .navbar-link.is-active,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-end .navbar-link.is-active{background-color:#2f4d6d;color:#fff}html.theme--documenter-dark .navbar.is-primary .navbar-start .navbar-link::after,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-start .navbar-link::after,html.theme--documenter-dark .navbar.is-primary .navbar-end .navbar-link::after,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-end .navbar-link::after{border-color:#fff}html.theme--documenter-dark .navbar.is-primary .navbar-item.has-dropdown:focus .navbar-link,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-item.has-dropdown:focus .navbar-link,html.theme--documenter-dark .navbar.is-primary .navbar-item.has-dropdown:hover .navbar-link,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-item.has-dropdown:hover .navbar-link,html.theme--documenter-dark .navbar.is-primary .navbar-item.has-dropdown.is-active .navbar-link,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-item.has-dropdown.is-active .navbar-link{background-color:#2f4d6d;color:#fff}html.theme--documenter-dark .navbar.is-primary .navbar-dropdown a.navbar-item.is-active,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-dropdown a.navbar-item.is-active{background-color:#375a7f;color:#fff}}html.theme--documenter-dark .navbar.is-link{background-color:#1abc9c;color:#fff}html.theme--documenter-dark .navbar.is-link .navbar-brand>.navbar-item,html.theme--documenter-dark .navbar.is-link .navbar-brand .navbar-link{color:#fff}html.theme--documenter-dark .navbar.is-link .navbar-brand>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-link .navbar-brand>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-link .navbar-brand>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-link .navbar-brand .navbar-link:focus,html.theme--documenter-dark .navbar.is-link .navbar-brand .navbar-link:hover,html.theme--documenter-dark .navbar.is-link .navbar-brand .navbar-link.is-active{background-color:#17a689;color:#fff}html.theme--documenter-dark .navbar.is-link .navbar-brand .navbar-link::after{border-color:#fff}html.theme--documenter-dark .navbar.is-link .navbar-burger{color:#fff}@media screen and (min-width: 1056px){html.theme--documenter-dark .navbar.is-link .navbar-start>.navbar-item,html.theme--documenter-dark .navbar.is-link .navbar-start .navbar-link,html.theme--documenter-dark .navbar.is-link .navbar-end>.navbar-item,html.theme--documenter-dark .navbar.is-link .navbar-end .navbar-link{color:#fff}html.theme--documenter-dark .navbar.is-link .navbar-start>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-link .navbar-start>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-link .navbar-start>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-link .navbar-start .navbar-link:focus,html.theme--documenter-dark .navbar.is-link .navbar-start .navbar-link:hover,html.theme--documenter-dark .navbar.is-link .navbar-start .navbar-link.is-active,html.theme--documenter-dark .navbar.is-link .navbar-end>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-link .navbar-end>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-link .navbar-end>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-link .navbar-end .navbar-link:focus,html.theme--documenter-dark .navbar.is-link .navbar-end .navbar-link:hover,html.theme--documenter-dark .navbar.is-link .navbar-end .navbar-link.is-active{background-color:#17a689;color:#fff}html.theme--documenter-dark .navbar.is-link .navbar-start .navbar-link::after,html.theme--documenter-dark .navbar.is-link .navbar-end .navbar-link::after{border-color:#fff}html.theme--documenter-dark .navbar.is-link .navbar-item.has-dropdown:focus .navbar-link,html.theme--documenter-dark .navbar.is-link .navbar-item.has-dropdown:hover .navbar-link,html.theme--documenter-dark .navbar.is-link .navbar-item.has-dropdown.is-active .navbar-link{background-color:#17a689;color:#fff}html.theme--documenter-dark .navbar.is-link .navbar-dropdown a.navbar-item.is-active{background-color:#1abc9c;color:#fff}}html.theme--documenter-dark .navbar.is-info{background-color:#024c7d;color:#fff}html.theme--documenter-dark .navbar.is-info .navbar-brand>.navbar-item,html.theme--documenter-dark .navbar.is-info .navbar-brand .navbar-link{color:#fff}html.theme--documenter-dark .navbar.is-info .navbar-brand>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-info .navbar-brand>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-info .navbar-brand>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-info .navbar-brand .navbar-link:focus,html.theme--documenter-dark .navbar.is-info .navbar-brand .navbar-link:hover,html.theme--documenter-dark .navbar.is-info .navbar-brand .navbar-link.is-active{background-color:#023d64;color:#fff}html.theme--documenter-dark .navbar.is-info .navbar-brand .navbar-link::after{border-color:#fff}html.theme--documenter-dark .navbar.is-info .navbar-burger{color:#fff}@media screen and (min-width: 1056px){html.theme--documenter-dark .navbar.is-info .navbar-start>.navbar-item,html.theme--documenter-dark .navbar.is-info .navbar-start .navbar-link,html.theme--documenter-dark .navbar.is-info .navbar-end>.navbar-item,html.theme--documenter-dark .navbar.is-info .navbar-end .navbar-link{color:#fff}html.theme--documenter-dark .navbar.is-info .navbar-start>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-info .navbar-start>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-info .navbar-start>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-info .navbar-start .navbar-link:focus,html.theme--documenter-dark .navbar.is-info .navbar-start .navbar-link:hover,html.theme--documenter-dark .navbar.is-info .navbar-start .navbar-link.is-active,html.theme--documenter-dark .navbar.is-info .navbar-end>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-info .navbar-end>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-info .navbar-end>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-info .navbar-end .navbar-link:focus,html.theme--documenter-dark .navbar.is-info .navbar-end .navbar-link:hover,html.theme--documenter-dark .navbar.is-info .navbar-end .navbar-link.is-active{background-color:#023d64;color:#fff}html.theme--documenter-dark .navbar.is-info .navbar-start .navbar-link::after,html.theme--documenter-dark .navbar.is-info .navbar-end .navbar-link::after{border-color:#fff}html.theme--documenter-dark .navbar.is-info .navbar-item.has-dropdown:focus .navbar-link,html.theme--documenter-dark .navbar.is-info .navbar-item.has-dropdown:hover .navbar-link,html.theme--documenter-dark .navbar.is-info .navbar-item.has-dropdown.is-active .navbar-link{background-color:#023d64;color:#fff}html.theme--documenter-dark .navbar.is-info .navbar-dropdown a.navbar-item.is-active{background-color:#024c7d;color:#fff}}html.theme--documenter-dark .navbar.is-success{background-color:#008438;color:#fff}html.theme--documenter-dark .navbar.is-success .navbar-brand>.navbar-item,html.theme--documenter-dark .navbar.is-success .navbar-brand .navbar-link{color:#fff}html.theme--documenter-dark .navbar.is-success .navbar-brand>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-success .navbar-brand>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-success .navbar-brand>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-success .navbar-brand .navbar-link:focus,html.theme--documenter-dark .navbar.is-success .navbar-brand .navbar-link:hover,html.theme--documenter-dark .navbar.is-success .navbar-brand .navbar-link.is-active{background-color:#006b2d;color:#fff}html.theme--documenter-dark .navbar.is-success .navbar-brand .navbar-link::after{border-color:#fff}html.theme--documenter-dark .navbar.is-success .navbar-burger{color:#fff}@media screen and (min-width: 1056px){html.theme--documenter-dark .navbar.is-success .navbar-start>.navbar-item,html.theme--documenter-dark .navbar.is-success .navbar-start .navbar-link,html.theme--documenter-dark .navbar.is-success .navbar-end>.navbar-item,html.theme--documenter-dark .navbar.is-success .navbar-end .navbar-link{color:#fff}html.theme--documenter-dark .navbar.is-success .navbar-start>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-success .navbar-start>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-success .navbar-start>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-success .navbar-start .navbar-link:focus,html.theme--documenter-dark .navbar.is-success .navbar-start .navbar-link:hover,html.theme--documenter-dark .navbar.is-success .navbar-start .navbar-link.is-active,html.theme--documenter-dark .navbar.is-success .navbar-end>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-success .navbar-end>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-success .navbar-end>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-success .navbar-end .navbar-link:focus,html.theme--documenter-dark .navbar.is-success .navbar-end .navbar-link:hover,html.theme--documenter-dark .navbar.is-success .navbar-end .navbar-link.is-active{background-color:#006b2d;color:#fff}html.theme--documenter-dark .navbar.is-success .navbar-start .navbar-link::after,html.theme--documenter-dark .navbar.is-success .navbar-end .navbar-link::after{border-color:#fff}html.theme--documenter-dark .navbar.is-success .navbar-item.has-dropdown:focus .navbar-link,html.theme--documenter-dark .navbar.is-success .navbar-item.has-dropdown:hover .navbar-link,html.theme--documenter-dark .navbar.is-success .navbar-item.has-dropdown.is-active .navbar-link{background-color:#006b2d;color:#fff}html.theme--documenter-dark .navbar.is-success .navbar-dropdown a.navbar-item.is-active{background-color:#008438;color:#fff}}html.theme--documenter-dark .navbar.is-warning{background-color:#ad8100;color:#fff}html.theme--documenter-dark .navbar.is-warning .navbar-brand>.navbar-item,html.theme--documenter-dark .navbar.is-warning .navbar-brand .navbar-link{color:#fff}html.theme--documenter-dark .navbar.is-warning .navbar-brand>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-warning .navbar-brand>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-warning .navbar-brand>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-warning .navbar-brand .navbar-link:focus,html.theme--documenter-dark .navbar.is-warning .navbar-brand .navbar-link:hover,html.theme--documenter-dark .navbar.is-warning .navbar-brand .navbar-link.is-active{background-color:#946e00;color:#fff}html.theme--documenter-dark .navbar.is-warning .navbar-brand .navbar-link::after{border-color:#fff}html.theme--documenter-dark .navbar.is-warning .navbar-burger{color:#fff}@media screen and (min-width: 1056px){html.theme--documenter-dark .navbar.is-warning .navbar-start>.navbar-item,html.theme--documenter-dark .navbar.is-warning .navbar-start .navbar-link,html.theme--documenter-dark .navbar.is-warning .navbar-end>.navbar-item,html.theme--documenter-dark .navbar.is-warning .navbar-end .navbar-link{color:#fff}html.theme--documenter-dark .navbar.is-warning .navbar-start>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-warning .navbar-start>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-warning .navbar-start>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-warning .navbar-start .navbar-link:focus,html.theme--documenter-dark .navbar.is-warning .navbar-start .navbar-link:hover,html.theme--documenter-dark .navbar.is-warning .navbar-start .navbar-link.is-active,html.theme--documenter-dark .navbar.is-warning .navbar-end>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-warning .navbar-end>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-warning .navbar-end>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-warning .navbar-end .navbar-link:focus,html.theme--documenter-dark .navbar.is-warning .navbar-end .navbar-link:hover,html.theme--documenter-dark .navbar.is-warning .navbar-end .navbar-link.is-active{background-color:#946e00;color:#fff}html.theme--documenter-dark .navbar.is-warning .navbar-start .navbar-link::after,html.theme--documenter-dark .navbar.is-warning .navbar-end .navbar-link::after{border-color:#fff}html.theme--documenter-dark .navbar.is-warning .navbar-item.has-dropdown:focus .navbar-link,html.theme--documenter-dark .navbar.is-warning .navbar-item.has-dropdown:hover .navbar-link,html.theme--documenter-dark .navbar.is-warning .navbar-item.has-dropdown.is-active .navbar-link{background-color:#946e00;color:#fff}html.theme--documenter-dark .navbar.is-warning .navbar-dropdown a.navbar-item.is-active{background-color:#ad8100;color:#fff}}html.theme--documenter-dark .navbar.is-danger{background-color:#9e1b0d;color:#fff}html.theme--documenter-dark .navbar.is-danger .navbar-brand>.navbar-item,html.theme--documenter-dark .navbar.is-danger .navbar-brand .navbar-link{color:#fff}html.theme--documenter-dark .navbar.is-danger .navbar-brand>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-danger .navbar-brand>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-danger .navbar-brand>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-danger .navbar-brand .navbar-link:focus,html.theme--documenter-dark .navbar.is-danger .navbar-brand .navbar-link:hover,html.theme--documenter-dark .navbar.is-danger .navbar-brand .navbar-link.is-active{background-color:#86170b;color:#fff}html.theme--documenter-dark .navbar.is-danger .navbar-brand .navbar-link::after{border-color:#fff}html.theme--documenter-dark .navbar.is-danger .navbar-burger{color:#fff}@media screen and (min-width: 1056px){html.theme--documenter-dark .navbar.is-danger .navbar-start>.navbar-item,html.theme--documenter-dark .navbar.is-danger .navbar-start .navbar-link,html.theme--documenter-dark .navbar.is-danger .navbar-end>.navbar-item,html.theme--documenter-dark .navbar.is-danger .navbar-end .navbar-link{color:#fff}html.theme--documenter-dark .navbar.is-danger .navbar-start>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-danger .navbar-start>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-danger .navbar-start>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-danger .navbar-start .navbar-link:focus,html.theme--documenter-dark .navbar.is-danger .navbar-start .navbar-link:hover,html.theme--documenter-dark .navbar.is-danger .navbar-start .navbar-link.is-active,html.theme--documenter-dark .navbar.is-danger .navbar-end>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-danger .navbar-end>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-danger .navbar-end>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-danger .navbar-end .navbar-link:focus,html.theme--documenter-dark .navbar.is-danger .navbar-end .navbar-link:hover,html.theme--documenter-dark .navbar.is-danger .navbar-end .navbar-link.is-active{background-color:#86170b;color:#fff}html.theme--documenter-dark .navbar.is-danger .navbar-start .navbar-link::after,html.theme--documenter-dark .navbar.is-danger .navbar-end .navbar-link::after{border-color:#fff}html.theme--documenter-dark .navbar.is-danger .navbar-item.has-dropdown:focus .navbar-link,html.theme--documenter-dark .navbar.is-danger .navbar-item.has-dropdown:hover .navbar-link,html.theme--documenter-dark .navbar.is-danger .navbar-item.has-dropdown.is-active .navbar-link{background-color:#86170b;color:#fff}html.theme--documenter-dark .navbar.is-danger .navbar-dropdown a.navbar-item.is-active{background-color:#9e1b0d;color:#fff}}html.theme--documenter-dark .navbar>.container{align-items:stretch;display:flex;min-height:4rem;width:100%}html.theme--documenter-dark .navbar.has-shadow{box-shadow:0 2px 0 0 #282f2f}html.theme--documenter-dark .navbar.is-fixed-bottom,html.theme--documenter-dark .navbar.is-fixed-top{left:0;position:fixed;right:0;z-index:30}html.theme--documenter-dark .navbar.is-fixed-bottom{bottom:0}html.theme--documenter-dark .navbar.is-fixed-bottom.has-shadow{box-shadow:0 -2px 0 0 #282f2f}html.theme--documenter-dark .navbar.is-fixed-top{top:0}html.theme--documenter-dark html.has-navbar-fixed-top,html.theme--documenter-dark body.has-navbar-fixed-top{padding-top:4rem}html.theme--documenter-dark html.has-navbar-fixed-bottom,html.theme--documenter-dark body.has-navbar-fixed-bottom{padding-bottom:4rem}html.theme--documenter-dark .navbar-brand,html.theme--documenter-dark .navbar-tabs{align-items:stretch;display:flex;flex-shrink:0;min-height:4rem}html.theme--documenter-dark .navbar-brand a.navbar-item:focus,html.theme--documenter-dark .navbar-brand a.navbar-item:hover{background-color:transparent}html.theme--documenter-dark .navbar-tabs{-webkit-overflow-scrolling:touch;max-width:100vw;overflow-x:auto;overflow-y:hidden}html.theme--documenter-dark .navbar-burger{color:#fff;cursor:pointer;display:block;height:4rem;position:relative;width:4rem;margin-left:auto}html.theme--documenter-dark .navbar-burger span{background-color:currentColor;display:block;height:1px;left:calc(50% - 8px);position:absolute;transform-origin:center;transition-duration:86ms;transition-property:background-color, opacity, transform;transition-timing-function:ease-out;width:16px}html.theme--documenter-dark .navbar-burger span:nth-child(1){top:calc(50% - 6px)}html.theme--documenter-dark .navbar-burger span:nth-child(2){top:calc(50% - 1px)}html.theme--documenter-dark .navbar-burger span:nth-child(3){top:calc(50% + 4px)}html.theme--documenter-dark .navbar-burger:hover{background-color:rgba(0,0,0,0.05)}html.theme--documenter-dark .navbar-burger.is-active span:nth-child(1){transform:translateY(5px) rotate(45deg)}html.theme--documenter-dark .navbar-burger.is-active span:nth-child(2){opacity:0}html.theme--documenter-dark .navbar-burger.is-active span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}html.theme--documenter-dark .navbar-menu{display:none}html.theme--documenter-dark .navbar-item,html.theme--documenter-dark .navbar-link{color:#fff;display:block;line-height:1.5;padding:0.5rem 0.75rem;position:relative}html.theme--documenter-dark .navbar-item .icon:only-child,html.theme--documenter-dark .navbar-link .icon:only-child{margin-left:-0.25rem;margin-right:-0.25rem}html.theme--documenter-dark a.navbar-item,html.theme--documenter-dark .navbar-link{cursor:pointer}html.theme--documenter-dark a.navbar-item:focus,html.theme--documenter-dark a.navbar-item:focus-within,html.theme--documenter-dark a.navbar-item:hover,html.theme--documenter-dark a.navbar-item.is-active,html.theme--documenter-dark .navbar-link:focus,html.theme--documenter-dark .navbar-link:focus-within,html.theme--documenter-dark .navbar-link:hover,html.theme--documenter-dark .navbar-link.is-active{background-color:rgba(0,0,0,0);color:#1abc9c}html.theme--documenter-dark .navbar-item{display:block;flex-grow:0;flex-shrink:0}html.theme--documenter-dark .navbar-item img{max-height:1.75rem}html.theme--documenter-dark .navbar-item.has-dropdown{padding:0}html.theme--documenter-dark .navbar-item.is-expanded{flex-grow:1;flex-shrink:1}html.theme--documenter-dark .navbar-item.is-tab{border-bottom:1px solid transparent;min-height:4rem;padding-bottom:calc(0.5rem - 1px)}html.theme--documenter-dark .navbar-item.is-tab:focus,html.theme--documenter-dark .navbar-item.is-tab:hover{background-color:rgba(0,0,0,0);border-bottom-color:#1abc9c}html.theme--documenter-dark .navbar-item.is-tab.is-active{background-color:rgba(0,0,0,0);border-bottom-color:#1abc9c;border-bottom-style:solid;border-bottom-width:3px;color:#1abc9c;padding-bottom:calc(0.5rem - 3px)}html.theme--documenter-dark .navbar-content{flex-grow:1;flex-shrink:1}html.theme--documenter-dark .navbar-link:not(.is-arrowless){padding-right:2.5em}html.theme--documenter-dark .navbar-link:not(.is-arrowless)::after{border-color:#fff;margin-top:-0.375em;right:1.125em}html.theme--documenter-dark .navbar-dropdown{font-size:0.875rem;padding-bottom:0.5rem;padding-top:0.5rem}html.theme--documenter-dark .navbar-dropdown .navbar-item{padding-left:1.5rem;padding-right:1.5rem}html.theme--documenter-dark .navbar-divider{background-color:rgba(0,0,0,0.2);border:none;display:none;height:2px;margin:0.5rem 0}@media screen and (max-width: 1055px){html.theme--documenter-dark .navbar>.container{display:block}html.theme--documenter-dark .navbar-brand .navbar-item,html.theme--documenter-dark .navbar-tabs .navbar-item{align-items:center;display:flex}html.theme--documenter-dark .navbar-link::after{display:none}html.theme--documenter-dark .navbar-menu{background-color:#375a7f;box-shadow:0 8px 16px rgba(10,10,10,0.1);padding:0.5rem 0}html.theme--documenter-dark .navbar-menu.is-active{display:block}html.theme--documenter-dark .navbar.is-fixed-bottom-touch,html.theme--documenter-dark .navbar.is-fixed-top-touch{left:0;position:fixed;right:0;z-index:30}html.theme--documenter-dark .navbar.is-fixed-bottom-touch{bottom:0}html.theme--documenter-dark .navbar.is-fixed-bottom-touch.has-shadow{box-shadow:0 -2px 3px rgba(10,10,10,0.1)}html.theme--documenter-dark .navbar.is-fixed-top-touch{top:0}html.theme--documenter-dark .navbar.is-fixed-top .navbar-menu,html.theme--documenter-dark .navbar.is-fixed-top-touch .navbar-menu{-webkit-overflow-scrolling:touch;max-height:calc(100vh - 4rem);overflow:auto}html.theme--documenter-dark html.has-navbar-fixed-top-touch,html.theme--documenter-dark body.has-navbar-fixed-top-touch{padding-top:4rem}html.theme--documenter-dark html.has-navbar-fixed-bottom-touch,html.theme--documenter-dark body.has-navbar-fixed-bottom-touch{padding-bottom:4rem}}@media screen and (min-width: 1056px){html.theme--documenter-dark .navbar,html.theme--documenter-dark .navbar-menu,html.theme--documenter-dark .navbar-start,html.theme--documenter-dark .navbar-end{align-items:stretch;display:flex}html.theme--documenter-dark .navbar{min-height:4rem}html.theme--documenter-dark .navbar.is-spaced{padding:1rem 2rem}html.theme--documenter-dark .navbar.is-spaced .navbar-start,html.theme--documenter-dark .navbar.is-spaced .navbar-end{align-items:center}html.theme--documenter-dark .navbar.is-spaced a.navbar-item,html.theme--documenter-dark .navbar.is-spaced .navbar-link{border-radius:.4em}html.theme--documenter-dark .navbar.is-transparent a.navbar-item:focus,html.theme--documenter-dark .navbar.is-transparent a.navbar-item:hover,html.theme--documenter-dark .navbar.is-transparent a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-transparent .navbar-link:focus,html.theme--documenter-dark .navbar.is-transparent .navbar-link:hover,html.theme--documenter-dark .navbar.is-transparent .navbar-link.is-active{background-color:transparent !important}html.theme--documenter-dark .navbar.is-transparent .navbar-item.has-dropdown.is-active .navbar-link,html.theme--documenter-dark .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus .navbar-link,html.theme--documenter-dark .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus-within .navbar-link,html.theme--documenter-dark .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:hover .navbar-link{background-color:transparent !important}html.theme--documenter-dark .navbar.is-transparent .navbar-dropdown a.navbar-item:focus,html.theme--documenter-dark .navbar.is-transparent .navbar-dropdown a.navbar-item:hover{background-color:rgba(0,0,0,0);color:#dbdee0}html.theme--documenter-dark .navbar.is-transparent .navbar-dropdown a.navbar-item.is-active{background-color:rgba(0,0,0,0);color:#1abc9c}html.theme--documenter-dark .navbar-burger{display:none}html.theme--documenter-dark .navbar-item,html.theme--documenter-dark .navbar-link{align-items:center;display:flex}html.theme--documenter-dark .navbar-item{display:flex}html.theme--documenter-dark .navbar-item.has-dropdown{align-items:stretch}html.theme--documenter-dark .navbar-item.has-dropdown-up .navbar-link::after{transform:rotate(135deg) translate(0.25em, -0.25em)}html.theme--documenter-dark .navbar-item.has-dropdown-up .navbar-dropdown{border-bottom:1px solid rgba(0,0,0,0.2);border-radius:8px 8px 0 0;border-top:none;bottom:100%;box-shadow:0 -8px 8px rgba(10,10,10,0.1);top:auto}html.theme--documenter-dark .navbar-item.is-active .navbar-dropdown,html.theme--documenter-dark .navbar-item.is-hoverable:focus .navbar-dropdown,html.theme--documenter-dark .navbar-item.is-hoverable:focus-within .navbar-dropdown,html.theme--documenter-dark .navbar-item.is-hoverable:hover .navbar-dropdown{display:block}.navbar.is-spaced html.theme--documenter-dark .navbar-item.is-active .navbar-dropdown,html.theme--documenter-dark .navbar-item.is-active .navbar-dropdown.is-boxed,.navbar.is-spaced html.theme--documenter-dark .navbar-item.is-hoverable:focus .navbar-dropdown,html.theme--documenter-dark .navbar-item.is-hoverable:focus .navbar-dropdown.is-boxed,.navbar.is-spaced html.theme--documenter-dark .navbar-item.is-hoverable:focus-within .navbar-dropdown,html.theme--documenter-dark .navbar-item.is-hoverable:focus-within .navbar-dropdown.is-boxed,.navbar.is-spaced html.theme--documenter-dark .navbar-item.is-hoverable:hover .navbar-dropdown,html.theme--documenter-dark .navbar-item.is-hoverable:hover .navbar-dropdown.is-boxed{opacity:1;pointer-events:auto;transform:translateY(0)}html.theme--documenter-dark .navbar-menu{flex-grow:1;flex-shrink:0}html.theme--documenter-dark .navbar-start{justify-content:flex-start;margin-right:auto}html.theme--documenter-dark .navbar-end{justify-content:flex-end;margin-left:auto}html.theme--documenter-dark .navbar-dropdown{background-color:#375a7f;border-bottom-left-radius:8px;border-bottom-right-radius:8px;border-top:1px solid rgba(0,0,0,0.2);box-shadow:0 8px 8px rgba(10,10,10,0.1);display:none;font-size:0.875rem;left:0;min-width:100%;position:absolute;top:100%;z-index:20}html.theme--documenter-dark .navbar-dropdown .navbar-item{padding:0.375rem 1rem;white-space:nowrap}html.theme--documenter-dark .navbar-dropdown a.navbar-item{padding-right:3rem}html.theme--documenter-dark .navbar-dropdown a.navbar-item:focus,html.theme--documenter-dark .navbar-dropdown a.navbar-item:hover{background-color:rgba(0,0,0,0);color:#dbdee0}html.theme--documenter-dark .navbar-dropdown a.navbar-item.is-active{background-color:rgba(0,0,0,0);color:#1abc9c}.navbar.is-spaced html.theme--documenter-dark .navbar-dropdown,html.theme--documenter-dark .navbar-dropdown.is-boxed{border-radius:8px;border-top:none;box-shadow:0 8px 8px rgba(10,10,10,0.1), 0 0 0 1px rgba(10,10,10,0.1);display:block;opacity:0;pointer-events:none;top:calc(100% + (-4px));transform:translateY(-5px);transition-duration:86ms;transition-property:opacity, transform}html.theme--documenter-dark .navbar-dropdown.is-right{left:auto;right:0}html.theme--documenter-dark .navbar-divider{display:block}html.theme--documenter-dark .navbar>.container .navbar-brand,html.theme--documenter-dark .container>.navbar .navbar-brand{margin-left:-.75rem}html.theme--documenter-dark .navbar>.container .navbar-menu,html.theme--documenter-dark .container>.navbar .navbar-menu{margin-right:-.75rem}html.theme--documenter-dark .navbar.is-fixed-bottom-desktop,html.theme--documenter-dark .navbar.is-fixed-top-desktop{left:0;position:fixed;right:0;z-index:30}html.theme--documenter-dark .navbar.is-fixed-bottom-desktop{bottom:0}html.theme--documenter-dark .navbar.is-fixed-bottom-desktop.has-shadow{box-shadow:0 -2px 3px rgba(10,10,10,0.1)}html.theme--documenter-dark .navbar.is-fixed-top-desktop{top:0}html.theme--documenter-dark html.has-navbar-fixed-top-desktop,html.theme--documenter-dark body.has-navbar-fixed-top-desktop{padding-top:4rem}html.theme--documenter-dark html.has-navbar-fixed-bottom-desktop,html.theme--documenter-dark body.has-navbar-fixed-bottom-desktop{padding-bottom:4rem}html.theme--documenter-dark html.has-spaced-navbar-fixed-top,html.theme--documenter-dark body.has-spaced-navbar-fixed-top{padding-top:6rem}html.theme--documenter-dark html.has-spaced-navbar-fixed-bottom,html.theme--documenter-dark body.has-spaced-navbar-fixed-bottom{padding-bottom:6rem}html.theme--documenter-dark a.navbar-item.is-active,html.theme--documenter-dark .navbar-link.is-active{color:#1abc9c}html.theme--documenter-dark a.navbar-item.is-active:not(:focus):not(:hover),html.theme--documenter-dark .navbar-link.is-active:not(:focus):not(:hover){background-color:rgba(0,0,0,0)}html.theme--documenter-dark .navbar-item.has-dropdown:focus .navbar-link,html.theme--documenter-dark .navbar-item.has-dropdown:hover .navbar-link,html.theme--documenter-dark .navbar-item.has-dropdown.is-active .navbar-link{background-color:rgba(0,0,0,0)}}html.theme--documenter-dark .hero.is-fullheight-with-navbar{min-height:calc(100vh - 4rem)}html.theme--documenter-dark .pagination{font-size:15px;margin:-.25rem}html.theme--documenter-dark .pagination.is-small,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.pagination{font-size:.85em}html.theme--documenter-dark .pagination.is-medium{font-size:1.25rem}html.theme--documenter-dark .pagination.is-large{font-size:1.5rem}html.theme--documenter-dark .pagination.is-rounded .pagination-previous,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.pagination .pagination-previous,html.theme--documenter-dark .pagination.is-rounded .pagination-next,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.pagination .pagination-next{padding-left:1em;padding-right:1em;border-radius:290486px}html.theme--documenter-dark .pagination.is-rounded .pagination-link,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.pagination .pagination-link{border-radius:290486px}html.theme--documenter-dark .pagination,html.theme--documenter-dark .pagination-list{align-items:center;display:flex;justify-content:center;text-align:center}html.theme--documenter-dark .pagination-previous,html.theme--documenter-dark .pagination-next,html.theme--documenter-dark .pagination-link,html.theme--documenter-dark .pagination-ellipsis{font-size:1em;justify-content:center;margin:.25rem;padding-left:.5em;padding-right:.5em;text-align:center}html.theme--documenter-dark .pagination-previous,html.theme--documenter-dark .pagination-next,html.theme--documenter-dark .pagination-link{border-color:#5e6d6f;color:#1abc9c;min-width:2.25em}html.theme--documenter-dark .pagination-previous:hover,html.theme--documenter-dark .pagination-next:hover,html.theme--documenter-dark .pagination-link:hover{border-color:#8c9b9d;color:#1dd2af}html.theme--documenter-dark .pagination-previous:focus,html.theme--documenter-dark .pagination-next:focus,html.theme--documenter-dark .pagination-link:focus{border-color:#8c9b9d}html.theme--documenter-dark .pagination-previous:active,html.theme--documenter-dark .pagination-next:active,html.theme--documenter-dark .pagination-link:active{box-shadow:inset 0 1px 2px rgba(10,10,10,0.2)}html.theme--documenter-dark .pagination-previous[disabled],html.theme--documenter-dark .pagination-next[disabled],html.theme--documenter-dark .pagination-link[disabled]{background-color:#dbdee0;border-color:#dbdee0;box-shadow:none;color:#5e6d6f;opacity:0.5}html.theme--documenter-dark .pagination-previous,html.theme--documenter-dark .pagination-next{padding-left:0.75em;padding-right:0.75em;white-space:nowrap}html.theme--documenter-dark .pagination-link.is-current{background-color:#1abc9c;border-color:#1abc9c;color:#fff}html.theme--documenter-dark .pagination-ellipsis{color:#8c9b9d;pointer-events:none}html.theme--documenter-dark .pagination-list{flex-wrap:wrap}@media screen and (max-width: 768px){html.theme--documenter-dark .pagination{flex-wrap:wrap}html.theme--documenter-dark .pagination-previous,html.theme--documenter-dark .pagination-next{flex-grow:1;flex-shrink:1}html.theme--documenter-dark .pagination-list li{flex-grow:1;flex-shrink:1}}@media screen and (min-width: 769px),print{html.theme--documenter-dark .pagination-list{flex-grow:1;flex-shrink:1;justify-content:flex-start;order:1}html.theme--documenter-dark .pagination-previous{order:2}html.theme--documenter-dark .pagination-next{order:3}html.theme--documenter-dark .pagination{justify-content:space-between}html.theme--documenter-dark .pagination.is-centered .pagination-previous{order:1}html.theme--documenter-dark .pagination.is-centered .pagination-list{justify-content:center;order:2}html.theme--documenter-dark .pagination.is-centered .pagination-next{order:3}html.theme--documenter-dark .pagination.is-right .pagination-previous{order:1}html.theme--documenter-dark .pagination.is-right .pagination-next{order:2}html.theme--documenter-dark .pagination.is-right .pagination-list{justify-content:flex-end;order:3}}html.theme--documenter-dark .panel{font-size:15px}html.theme--documenter-dark .panel:not(:last-child){margin-bottom:1.5rem}html.theme--documenter-dark .panel-heading,html.theme--documenter-dark .panel-tabs,html.theme--documenter-dark .panel-block{border-bottom:1px solid #5e6d6f;border-left:1px solid #5e6d6f;border-right:1px solid #5e6d6f}html.theme--documenter-dark .panel-heading:first-child,html.theme--documenter-dark .panel-tabs:first-child,html.theme--documenter-dark .panel-block:first-child{border-top:1px solid #5e6d6f}html.theme--documenter-dark .panel-heading{background-color:#282f2f;border-radius:.4em .4em 0 0;color:#f2f2f2;font-size:1.25em;font-weight:300;line-height:1.25;padding:0.5em 0.75em}html.theme--documenter-dark .panel-tabs{align-items:flex-end;display:flex;font-size:.875em;justify-content:center}html.theme--documenter-dark .panel-tabs a{border-bottom:1px solid #5e6d6f;margin-bottom:-1px;padding:0.5em}html.theme--documenter-dark .panel-tabs a.is-active{border-bottom-color:#343c3d;color:#17a689}html.theme--documenter-dark .panel-list a{color:#fff}html.theme--documenter-dark .panel-list a:hover{color:#1abc9c}html.theme--documenter-dark .panel-block{align-items:center;color:#f2f2f2;display:flex;justify-content:flex-start;padding:0.5em 0.75em}html.theme--documenter-dark .panel-block input[type="checkbox"]{margin-right:0.75em}html.theme--documenter-dark .panel-block>.control{flex-grow:1;flex-shrink:1;width:100%}html.theme--documenter-dark .panel-block.is-wrapped{flex-wrap:wrap}html.theme--documenter-dark .panel-block.is-active{border-left-color:#1abc9c;color:#17a689}html.theme--documenter-dark .panel-block.is-active .panel-icon{color:#1abc9c}html.theme--documenter-dark a.panel-block,html.theme--documenter-dark label.panel-block{cursor:pointer}html.theme--documenter-dark a.panel-block:hover,html.theme--documenter-dark label.panel-block:hover{background-color:#282f2f}html.theme--documenter-dark .panel-icon{display:inline-block;font-size:14px;height:1em;line-height:1em;text-align:center;vertical-align:top;width:1em;color:#fff;margin-right:0.75em}html.theme--documenter-dark .panel-icon .fa{font-size:inherit;line-height:inherit}html.theme--documenter-dark .tabs{-webkit-overflow-scrolling:touch;align-items:stretch;display:flex;font-size:15px;justify-content:space-between;overflow:hidden;overflow-x:auto;white-space:nowrap}html.theme--documenter-dark .tabs a{align-items:center;border-bottom-color:#5e6d6f;border-bottom-style:solid;border-bottom-width:1px;color:#fff;display:flex;justify-content:center;margin-bottom:-1px;padding:0.5em 1em;vertical-align:top}html.theme--documenter-dark .tabs a:hover{border-bottom-color:#f2f2f2;color:#f2f2f2}html.theme--documenter-dark .tabs li{display:block}html.theme--documenter-dark .tabs li.is-active a{border-bottom-color:#1abc9c;color:#1abc9c}html.theme--documenter-dark .tabs ul{align-items:center;border-bottom-color:#5e6d6f;border-bottom-style:solid;border-bottom-width:1px;display:flex;flex-grow:1;flex-shrink:0;justify-content:flex-start}html.theme--documenter-dark .tabs ul.is-left{padding-right:0.75em}html.theme--documenter-dark .tabs ul.is-center{flex:none;justify-content:center;padding-left:0.75em;padding-right:0.75em}html.theme--documenter-dark .tabs ul.is-right{justify-content:flex-end;padding-left:0.75em}html.theme--documenter-dark .tabs .icon:first-child{margin-right:0.5em}html.theme--documenter-dark .tabs .icon:last-child{margin-left:0.5em}html.theme--documenter-dark .tabs.is-centered ul{justify-content:center}html.theme--documenter-dark .tabs.is-right ul{justify-content:flex-end}html.theme--documenter-dark .tabs.is-boxed a{border:1px solid transparent;border-radius:.4em .4em 0 0}html.theme--documenter-dark .tabs.is-boxed a:hover{background-color:#282f2f;border-bottom-color:#5e6d6f}html.theme--documenter-dark .tabs.is-boxed li.is-active a{background-color:#fff;border-color:#5e6d6f;border-bottom-color:rgba(0,0,0,0) !important}html.theme--documenter-dark .tabs.is-fullwidth li{flex-grow:1;flex-shrink:0}html.theme--documenter-dark .tabs.is-toggle a{border-color:#5e6d6f;border-style:solid;border-width:1px;margin-bottom:0;position:relative}html.theme--documenter-dark .tabs.is-toggle a:hover{background-color:#282f2f;border-color:#8c9b9d;z-index:2}html.theme--documenter-dark .tabs.is-toggle li+li{margin-left:-1px}html.theme--documenter-dark .tabs.is-toggle li:first-child a{border-radius:.4em 0 0 .4em}html.theme--documenter-dark .tabs.is-toggle li:last-child a{border-radius:0 .4em .4em 0}html.theme--documenter-dark .tabs.is-toggle li.is-active a{background-color:#1abc9c;border-color:#1abc9c;color:#fff;z-index:1}html.theme--documenter-dark .tabs.is-toggle ul{border-bottom:none}html.theme--documenter-dark .tabs.is-toggle.is-toggle-rounded li:first-child a{border-bottom-left-radius:290486px;border-top-left-radius:290486px;padding-left:1.25em}html.theme--documenter-dark .tabs.is-toggle.is-toggle-rounded li:last-child a{border-bottom-right-radius:290486px;border-top-right-radius:290486px;padding-right:1.25em}html.theme--documenter-dark .tabs.is-small,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.tabs{font-size:.85em}html.theme--documenter-dark .tabs.is-medium{font-size:1.25rem}html.theme--documenter-dark .tabs.is-large{font-size:1.5rem}html.theme--documenter-dark .column{display:block;flex-basis:0;flex-grow:1;flex-shrink:1;padding:.75rem}.columns.is-mobile>html.theme--documenter-dark .column.is-narrow{flex:none}.columns.is-mobile>html.theme--documenter-dark .column.is-full{flex:none;width:100%}.columns.is-mobile>html.theme--documenter-dark .column.is-three-quarters{flex:none;width:75%}.columns.is-mobile>html.theme--documenter-dark .column.is-two-thirds{flex:none;width:66.6666%}.columns.is-mobile>html.theme--documenter-dark .column.is-half{flex:none;width:50%}.columns.is-mobile>html.theme--documenter-dark .column.is-one-third{flex:none;width:33.3333%}.columns.is-mobile>html.theme--documenter-dark .column.is-one-quarter{flex:none;width:25%}.columns.is-mobile>html.theme--documenter-dark .column.is-one-fifth{flex:none;width:20%}.columns.is-mobile>html.theme--documenter-dark .column.is-two-fifths{flex:none;width:40%}.columns.is-mobile>html.theme--documenter-dark .column.is-three-fifths{flex:none;width:60%}.columns.is-mobile>html.theme--documenter-dark .column.is-four-fifths{flex:none;width:80%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-three-quarters{margin-left:75%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-two-thirds{margin-left:66.6666%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-half{margin-left:50%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-one-third{margin-left:33.3333%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-one-quarter{margin-left:25%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-one-fifth{margin-left:20%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-two-fifths{margin-left:40%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-three-fifths{margin-left:60%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-four-fifths{margin-left:80%}.columns.is-mobile>html.theme--documenter-dark .column.is-0{flex:none;width:0%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-0{margin-left:0%}.columns.is-mobile>html.theme--documenter-dark .column.is-1{flex:none;width:8.3333333333%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-1{margin-left:8.3333333333%}.columns.is-mobile>html.theme--documenter-dark .column.is-2{flex:none;width:16.6666666667%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-2{margin-left:16.6666666667%}.columns.is-mobile>html.theme--documenter-dark .column.is-3{flex:none;width:25%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-3{margin-left:25%}.columns.is-mobile>html.theme--documenter-dark .column.is-4{flex:none;width:33.3333333333%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-4{margin-left:33.3333333333%}.columns.is-mobile>html.theme--documenter-dark .column.is-5{flex:none;width:41.6666666667%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-5{margin-left:41.6666666667%}.columns.is-mobile>html.theme--documenter-dark .column.is-6{flex:none;width:50%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-6{margin-left:50%}.columns.is-mobile>html.theme--documenter-dark .column.is-7{flex:none;width:58.3333333333%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-7{margin-left:58.3333333333%}.columns.is-mobile>html.theme--documenter-dark .column.is-8{flex:none;width:66.6666666667%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-8{margin-left:66.6666666667%}.columns.is-mobile>html.theme--documenter-dark .column.is-9{flex:none;width:75%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-9{margin-left:75%}.columns.is-mobile>html.theme--documenter-dark .column.is-10{flex:none;width:83.3333333333%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-10{margin-left:83.3333333333%}.columns.is-mobile>html.theme--documenter-dark .column.is-11{flex:none;width:91.6666666667%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-11{margin-left:91.6666666667%}.columns.is-mobile>html.theme--documenter-dark .column.is-12{flex:none;width:100%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-12{margin-left:100%}@media screen and (max-width: 768px){html.theme--documenter-dark .column.is-narrow-mobile{flex:none}html.theme--documenter-dark .column.is-full-mobile{flex:none;width:100%}html.theme--documenter-dark .column.is-three-quarters-mobile{flex:none;width:75%}html.theme--documenter-dark .column.is-two-thirds-mobile{flex:none;width:66.6666%}html.theme--documenter-dark .column.is-half-mobile{flex:none;width:50%}html.theme--documenter-dark .column.is-one-third-mobile{flex:none;width:33.3333%}html.theme--documenter-dark .column.is-one-quarter-mobile{flex:none;width:25%}html.theme--documenter-dark .column.is-one-fifth-mobile{flex:none;width:20%}html.theme--documenter-dark .column.is-two-fifths-mobile{flex:none;width:40%}html.theme--documenter-dark .column.is-three-fifths-mobile{flex:none;width:60%}html.theme--documenter-dark .column.is-four-fifths-mobile{flex:none;width:80%}html.theme--documenter-dark .column.is-offset-three-quarters-mobile{margin-left:75%}html.theme--documenter-dark .column.is-offset-two-thirds-mobile{margin-left:66.6666%}html.theme--documenter-dark .column.is-offset-half-mobile{margin-left:50%}html.theme--documenter-dark .column.is-offset-one-third-mobile{margin-left:33.3333%}html.theme--documenter-dark .column.is-offset-one-quarter-mobile{margin-left:25%}html.theme--documenter-dark .column.is-offset-one-fifth-mobile{margin-left:20%}html.theme--documenter-dark .column.is-offset-two-fifths-mobile{margin-left:40%}html.theme--documenter-dark .column.is-offset-three-fifths-mobile{margin-left:60%}html.theme--documenter-dark .column.is-offset-four-fifths-mobile{margin-left:80%}html.theme--documenter-dark .column.is-0-mobile{flex:none;width:0%}html.theme--documenter-dark .column.is-offset-0-mobile{margin-left:0%}html.theme--documenter-dark .column.is-1-mobile{flex:none;width:8.3333333333%}html.theme--documenter-dark .column.is-offset-1-mobile{margin-left:8.3333333333%}html.theme--documenter-dark .column.is-2-mobile{flex:none;width:16.6666666667%}html.theme--documenter-dark .column.is-offset-2-mobile{margin-left:16.6666666667%}html.theme--documenter-dark .column.is-3-mobile{flex:none;width:25%}html.theme--documenter-dark .column.is-offset-3-mobile{margin-left:25%}html.theme--documenter-dark .column.is-4-mobile{flex:none;width:33.3333333333%}html.theme--documenter-dark .column.is-offset-4-mobile{margin-left:33.3333333333%}html.theme--documenter-dark .column.is-5-mobile{flex:none;width:41.6666666667%}html.theme--documenter-dark .column.is-offset-5-mobile{margin-left:41.6666666667%}html.theme--documenter-dark .column.is-6-mobile{flex:none;width:50%}html.theme--documenter-dark .column.is-offset-6-mobile{margin-left:50%}html.theme--documenter-dark .column.is-7-mobile{flex:none;width:58.3333333333%}html.theme--documenter-dark .column.is-offset-7-mobile{margin-left:58.3333333333%}html.theme--documenter-dark .column.is-8-mobile{flex:none;width:66.6666666667%}html.theme--documenter-dark .column.is-offset-8-mobile{margin-left:66.6666666667%}html.theme--documenter-dark .column.is-9-mobile{flex:none;width:75%}html.theme--documenter-dark .column.is-offset-9-mobile{margin-left:75%}html.theme--documenter-dark .column.is-10-mobile{flex:none;width:83.3333333333%}html.theme--documenter-dark .column.is-offset-10-mobile{margin-left:83.3333333333%}html.theme--documenter-dark .column.is-11-mobile{flex:none;width:91.6666666667%}html.theme--documenter-dark .column.is-offset-11-mobile{margin-left:91.6666666667%}html.theme--documenter-dark .column.is-12-mobile{flex:none;width:100%}html.theme--documenter-dark .column.is-offset-12-mobile{margin-left:100%}}@media screen and (min-width: 769px),print{html.theme--documenter-dark .column.is-narrow,html.theme--documenter-dark .column.is-narrow-tablet{flex:none}html.theme--documenter-dark .column.is-full,html.theme--documenter-dark .column.is-full-tablet{flex:none;width:100%}html.theme--documenter-dark .column.is-three-quarters,html.theme--documenter-dark .column.is-three-quarters-tablet{flex:none;width:75%}html.theme--documenter-dark .column.is-two-thirds,html.theme--documenter-dark .column.is-two-thirds-tablet{flex:none;width:66.6666%}html.theme--documenter-dark .column.is-half,html.theme--documenter-dark .column.is-half-tablet{flex:none;width:50%}html.theme--documenter-dark .column.is-one-third,html.theme--documenter-dark .column.is-one-third-tablet{flex:none;width:33.3333%}html.theme--documenter-dark .column.is-one-quarter,html.theme--documenter-dark .column.is-one-quarter-tablet{flex:none;width:25%}html.theme--documenter-dark .column.is-one-fifth,html.theme--documenter-dark .column.is-one-fifth-tablet{flex:none;width:20%}html.theme--documenter-dark .column.is-two-fifths,html.theme--documenter-dark .column.is-two-fifths-tablet{flex:none;width:40%}html.theme--documenter-dark .column.is-three-fifths,html.theme--documenter-dark .column.is-three-fifths-tablet{flex:none;width:60%}html.theme--documenter-dark .column.is-four-fifths,html.theme--documenter-dark .column.is-four-fifths-tablet{flex:none;width:80%}html.theme--documenter-dark .column.is-offset-three-quarters,html.theme--documenter-dark .column.is-offset-three-quarters-tablet{margin-left:75%}html.theme--documenter-dark .column.is-offset-two-thirds,html.theme--documenter-dark .column.is-offset-two-thirds-tablet{margin-left:66.6666%}html.theme--documenter-dark .column.is-offset-half,html.theme--documenter-dark .column.is-offset-half-tablet{margin-left:50%}html.theme--documenter-dark .column.is-offset-one-third,html.theme--documenter-dark .column.is-offset-one-third-tablet{margin-left:33.3333%}html.theme--documenter-dark .column.is-offset-one-quarter,html.theme--documenter-dark .column.is-offset-one-quarter-tablet{margin-left:25%}html.theme--documenter-dark .column.is-offset-one-fifth,html.theme--documenter-dark .column.is-offset-one-fifth-tablet{margin-left:20%}html.theme--documenter-dark .column.is-offset-two-fifths,html.theme--documenter-dark .column.is-offset-two-fifths-tablet{margin-left:40%}html.theme--documenter-dark .column.is-offset-three-fifths,html.theme--documenter-dark .column.is-offset-three-fifths-tablet{margin-left:60%}html.theme--documenter-dark .column.is-offset-four-fifths,html.theme--documenter-dark .column.is-offset-four-fifths-tablet{margin-left:80%}html.theme--documenter-dark .column.is-0,html.theme--documenter-dark .column.is-0-tablet{flex:none;width:0%}html.theme--documenter-dark .column.is-offset-0,html.theme--documenter-dark .column.is-offset-0-tablet{margin-left:0%}html.theme--documenter-dark .column.is-1,html.theme--documenter-dark .column.is-1-tablet{flex:none;width:8.3333333333%}html.theme--documenter-dark .column.is-offset-1,html.theme--documenter-dark .column.is-offset-1-tablet{margin-left:8.3333333333%}html.theme--documenter-dark .column.is-2,html.theme--documenter-dark .column.is-2-tablet{flex:none;width:16.6666666667%}html.theme--documenter-dark .column.is-offset-2,html.theme--documenter-dark .column.is-offset-2-tablet{margin-left:16.6666666667%}html.theme--documenter-dark .column.is-3,html.theme--documenter-dark .column.is-3-tablet{flex:none;width:25%}html.theme--documenter-dark .column.is-offset-3,html.theme--documenter-dark .column.is-offset-3-tablet{margin-left:25%}html.theme--documenter-dark .column.is-4,html.theme--documenter-dark .column.is-4-tablet{flex:none;width:33.3333333333%}html.theme--documenter-dark .column.is-offset-4,html.theme--documenter-dark .column.is-offset-4-tablet{margin-left:33.3333333333%}html.theme--documenter-dark .column.is-5,html.theme--documenter-dark .column.is-5-tablet{flex:none;width:41.6666666667%}html.theme--documenter-dark .column.is-offset-5,html.theme--documenter-dark .column.is-offset-5-tablet{margin-left:41.6666666667%}html.theme--documenter-dark .column.is-6,html.theme--documenter-dark .column.is-6-tablet{flex:none;width:50%}html.theme--documenter-dark .column.is-offset-6,html.theme--documenter-dark .column.is-offset-6-tablet{margin-left:50%}html.theme--documenter-dark .column.is-7,html.theme--documenter-dark .column.is-7-tablet{flex:none;width:58.3333333333%}html.theme--documenter-dark .column.is-offset-7,html.theme--documenter-dark .column.is-offset-7-tablet{margin-left:58.3333333333%}html.theme--documenter-dark .column.is-8,html.theme--documenter-dark .column.is-8-tablet{flex:none;width:66.6666666667%}html.theme--documenter-dark .column.is-offset-8,html.theme--documenter-dark .column.is-offset-8-tablet{margin-left:66.6666666667%}html.theme--documenter-dark .column.is-9,html.theme--documenter-dark .column.is-9-tablet{flex:none;width:75%}html.theme--documenter-dark .column.is-offset-9,html.theme--documenter-dark .column.is-offset-9-tablet{margin-left:75%}html.theme--documenter-dark .column.is-10,html.theme--documenter-dark .column.is-10-tablet{flex:none;width:83.3333333333%}html.theme--documenter-dark .column.is-offset-10,html.theme--documenter-dark .column.is-offset-10-tablet{margin-left:83.3333333333%}html.theme--documenter-dark .column.is-11,html.theme--documenter-dark .column.is-11-tablet{flex:none;width:91.6666666667%}html.theme--documenter-dark .column.is-offset-11,html.theme--documenter-dark .column.is-offset-11-tablet{margin-left:91.6666666667%}html.theme--documenter-dark .column.is-12,html.theme--documenter-dark .column.is-12-tablet{flex:none;width:100%}html.theme--documenter-dark .column.is-offset-12,html.theme--documenter-dark .column.is-offset-12-tablet{margin-left:100%}}@media screen and (max-width: 1055px){html.theme--documenter-dark .column.is-narrow-touch{flex:none}html.theme--documenter-dark .column.is-full-touch{flex:none;width:100%}html.theme--documenter-dark .column.is-three-quarters-touch{flex:none;width:75%}html.theme--documenter-dark .column.is-two-thirds-touch{flex:none;width:66.6666%}html.theme--documenter-dark .column.is-half-touch{flex:none;width:50%}html.theme--documenter-dark .column.is-one-third-touch{flex:none;width:33.3333%}html.theme--documenter-dark .column.is-one-quarter-touch{flex:none;width:25%}html.theme--documenter-dark .column.is-one-fifth-touch{flex:none;width:20%}html.theme--documenter-dark .column.is-two-fifths-touch{flex:none;width:40%}html.theme--documenter-dark .column.is-three-fifths-touch{flex:none;width:60%}html.theme--documenter-dark .column.is-four-fifths-touch{flex:none;width:80%}html.theme--documenter-dark .column.is-offset-three-quarters-touch{margin-left:75%}html.theme--documenter-dark .column.is-offset-two-thirds-touch{margin-left:66.6666%}html.theme--documenter-dark .column.is-offset-half-touch{margin-left:50%}html.theme--documenter-dark .column.is-offset-one-third-touch{margin-left:33.3333%}html.theme--documenter-dark .column.is-offset-one-quarter-touch{margin-left:25%}html.theme--documenter-dark .column.is-offset-one-fifth-touch{margin-left:20%}html.theme--documenter-dark .column.is-offset-two-fifths-touch{margin-left:40%}html.theme--documenter-dark .column.is-offset-three-fifths-touch{margin-left:60%}html.theme--documenter-dark .column.is-offset-four-fifths-touch{margin-left:80%}html.theme--documenter-dark .column.is-0-touch{flex:none;width:0%}html.theme--documenter-dark .column.is-offset-0-touch{margin-left:0%}html.theme--documenter-dark .column.is-1-touch{flex:none;width:8.3333333333%}html.theme--documenter-dark .column.is-offset-1-touch{margin-left:8.3333333333%}html.theme--documenter-dark .column.is-2-touch{flex:none;width:16.6666666667%}html.theme--documenter-dark .column.is-offset-2-touch{margin-left:16.6666666667%}html.theme--documenter-dark .column.is-3-touch{flex:none;width:25%}html.theme--documenter-dark .column.is-offset-3-touch{margin-left:25%}html.theme--documenter-dark .column.is-4-touch{flex:none;width:33.3333333333%}html.theme--documenter-dark .column.is-offset-4-touch{margin-left:33.3333333333%}html.theme--documenter-dark .column.is-5-touch{flex:none;width:41.6666666667%}html.theme--documenter-dark .column.is-offset-5-touch{margin-left:41.6666666667%}html.theme--documenter-dark .column.is-6-touch{flex:none;width:50%}html.theme--documenter-dark .column.is-offset-6-touch{margin-left:50%}html.theme--documenter-dark .column.is-7-touch{flex:none;width:58.3333333333%}html.theme--documenter-dark .column.is-offset-7-touch{margin-left:58.3333333333%}html.theme--documenter-dark .column.is-8-touch{flex:none;width:66.6666666667%}html.theme--documenter-dark .column.is-offset-8-touch{margin-left:66.6666666667%}html.theme--documenter-dark .column.is-9-touch{flex:none;width:75%}html.theme--documenter-dark .column.is-offset-9-touch{margin-left:75%}html.theme--documenter-dark .column.is-10-touch{flex:none;width:83.3333333333%}html.theme--documenter-dark .column.is-offset-10-touch{margin-left:83.3333333333%}html.theme--documenter-dark .column.is-11-touch{flex:none;width:91.6666666667%}html.theme--documenter-dark .column.is-offset-11-touch{margin-left:91.6666666667%}html.theme--documenter-dark .column.is-12-touch{flex:none;width:100%}html.theme--documenter-dark .column.is-offset-12-touch{margin-left:100%}}@media screen and (min-width: 1056px){html.theme--documenter-dark .column.is-narrow-desktop{flex:none}html.theme--documenter-dark .column.is-full-desktop{flex:none;width:100%}html.theme--documenter-dark .column.is-three-quarters-desktop{flex:none;width:75%}html.theme--documenter-dark .column.is-two-thirds-desktop{flex:none;width:66.6666%}html.theme--documenter-dark .column.is-half-desktop{flex:none;width:50%}html.theme--documenter-dark .column.is-one-third-desktop{flex:none;width:33.3333%}html.theme--documenter-dark .column.is-one-quarter-desktop{flex:none;width:25%}html.theme--documenter-dark .column.is-one-fifth-desktop{flex:none;width:20%}html.theme--documenter-dark .column.is-two-fifths-desktop{flex:none;width:40%}html.theme--documenter-dark .column.is-three-fifths-desktop{flex:none;width:60%}html.theme--documenter-dark .column.is-four-fifths-desktop{flex:none;width:80%}html.theme--documenter-dark .column.is-offset-three-quarters-desktop{margin-left:75%}html.theme--documenter-dark .column.is-offset-two-thirds-desktop{margin-left:66.6666%}html.theme--documenter-dark .column.is-offset-half-desktop{margin-left:50%}html.theme--documenter-dark .column.is-offset-one-third-desktop{margin-left:33.3333%}html.theme--documenter-dark .column.is-offset-one-quarter-desktop{margin-left:25%}html.theme--documenter-dark .column.is-offset-one-fifth-desktop{margin-left:20%}html.theme--documenter-dark .column.is-offset-two-fifths-desktop{margin-left:40%}html.theme--documenter-dark .column.is-offset-three-fifths-desktop{margin-left:60%}html.theme--documenter-dark .column.is-offset-four-fifths-desktop{margin-left:80%}html.theme--documenter-dark .column.is-0-desktop{flex:none;width:0%}html.theme--documenter-dark .column.is-offset-0-desktop{margin-left:0%}html.theme--documenter-dark .column.is-1-desktop{flex:none;width:8.3333333333%}html.theme--documenter-dark .column.is-offset-1-desktop{margin-left:8.3333333333%}html.theme--documenter-dark .column.is-2-desktop{flex:none;width:16.6666666667%}html.theme--documenter-dark .column.is-offset-2-desktop{margin-left:16.6666666667%}html.theme--documenter-dark .column.is-3-desktop{flex:none;width:25%}html.theme--documenter-dark .column.is-offset-3-desktop{margin-left:25%}html.theme--documenter-dark .column.is-4-desktop{flex:none;width:33.3333333333%}html.theme--documenter-dark .column.is-offset-4-desktop{margin-left:33.3333333333%}html.theme--documenter-dark .column.is-5-desktop{flex:none;width:41.6666666667%}html.theme--documenter-dark .column.is-offset-5-desktop{margin-left:41.6666666667%}html.theme--documenter-dark .column.is-6-desktop{flex:none;width:50%}html.theme--documenter-dark .column.is-offset-6-desktop{margin-left:50%}html.theme--documenter-dark .column.is-7-desktop{flex:none;width:58.3333333333%}html.theme--documenter-dark .column.is-offset-7-desktop{margin-left:58.3333333333%}html.theme--documenter-dark .column.is-8-desktop{flex:none;width:66.6666666667%}html.theme--documenter-dark .column.is-offset-8-desktop{margin-left:66.6666666667%}html.theme--documenter-dark .column.is-9-desktop{flex:none;width:75%}html.theme--documenter-dark .column.is-offset-9-desktop{margin-left:75%}html.theme--documenter-dark .column.is-10-desktop{flex:none;width:83.3333333333%}html.theme--documenter-dark .column.is-offset-10-desktop{margin-left:83.3333333333%}html.theme--documenter-dark .column.is-11-desktop{flex:none;width:91.6666666667%}html.theme--documenter-dark .column.is-offset-11-desktop{margin-left:91.6666666667%}html.theme--documenter-dark .column.is-12-desktop{flex:none;width:100%}html.theme--documenter-dark .column.is-offset-12-desktop{margin-left:100%}}@media screen and (min-width: 1216px){html.theme--documenter-dark .column.is-narrow-widescreen{flex:none}html.theme--documenter-dark .column.is-full-widescreen{flex:none;width:100%}html.theme--documenter-dark .column.is-three-quarters-widescreen{flex:none;width:75%}html.theme--documenter-dark .column.is-two-thirds-widescreen{flex:none;width:66.6666%}html.theme--documenter-dark .column.is-half-widescreen{flex:none;width:50%}html.theme--documenter-dark .column.is-one-third-widescreen{flex:none;width:33.3333%}html.theme--documenter-dark .column.is-one-quarter-widescreen{flex:none;width:25%}html.theme--documenter-dark .column.is-one-fifth-widescreen{flex:none;width:20%}html.theme--documenter-dark .column.is-two-fifths-widescreen{flex:none;width:40%}html.theme--documenter-dark .column.is-three-fifths-widescreen{flex:none;width:60%}html.theme--documenter-dark .column.is-four-fifths-widescreen{flex:none;width:80%}html.theme--documenter-dark .column.is-offset-three-quarters-widescreen{margin-left:75%}html.theme--documenter-dark .column.is-offset-two-thirds-widescreen{margin-left:66.6666%}html.theme--documenter-dark .column.is-offset-half-widescreen{margin-left:50%}html.theme--documenter-dark .column.is-offset-one-third-widescreen{margin-left:33.3333%}html.theme--documenter-dark .column.is-offset-one-quarter-widescreen{margin-left:25%}html.theme--documenter-dark .column.is-offset-one-fifth-widescreen{margin-left:20%}html.theme--documenter-dark .column.is-offset-two-fifths-widescreen{margin-left:40%}html.theme--documenter-dark .column.is-offset-three-fifths-widescreen{margin-left:60%}html.theme--documenter-dark .column.is-offset-four-fifths-widescreen{margin-left:80%}html.theme--documenter-dark .column.is-0-widescreen{flex:none;width:0%}html.theme--documenter-dark .column.is-offset-0-widescreen{margin-left:0%}html.theme--documenter-dark .column.is-1-widescreen{flex:none;width:8.3333333333%}html.theme--documenter-dark .column.is-offset-1-widescreen{margin-left:8.3333333333%}html.theme--documenter-dark .column.is-2-widescreen{flex:none;width:16.6666666667%}html.theme--documenter-dark .column.is-offset-2-widescreen{margin-left:16.6666666667%}html.theme--documenter-dark .column.is-3-widescreen{flex:none;width:25%}html.theme--documenter-dark .column.is-offset-3-widescreen{margin-left:25%}html.theme--documenter-dark .column.is-4-widescreen{flex:none;width:33.3333333333%}html.theme--documenter-dark .column.is-offset-4-widescreen{margin-left:33.3333333333%}html.theme--documenter-dark .column.is-5-widescreen{flex:none;width:41.6666666667%}html.theme--documenter-dark .column.is-offset-5-widescreen{margin-left:41.6666666667%}html.theme--documenter-dark .column.is-6-widescreen{flex:none;width:50%}html.theme--documenter-dark .column.is-offset-6-widescreen{margin-left:50%}html.theme--documenter-dark .column.is-7-widescreen{flex:none;width:58.3333333333%}html.theme--documenter-dark .column.is-offset-7-widescreen{margin-left:58.3333333333%}html.theme--documenter-dark .column.is-8-widescreen{flex:none;width:66.6666666667%}html.theme--documenter-dark .column.is-offset-8-widescreen{margin-left:66.6666666667%}html.theme--documenter-dark .column.is-9-widescreen{flex:none;width:75%}html.theme--documenter-dark .column.is-offset-9-widescreen{margin-left:75%}html.theme--documenter-dark .column.is-10-widescreen{flex:none;width:83.3333333333%}html.theme--documenter-dark .column.is-offset-10-widescreen{margin-left:83.3333333333%}html.theme--documenter-dark .column.is-11-widescreen{flex:none;width:91.6666666667%}html.theme--documenter-dark .column.is-offset-11-widescreen{margin-left:91.6666666667%}html.theme--documenter-dark .column.is-12-widescreen{flex:none;width:100%}html.theme--documenter-dark .column.is-offset-12-widescreen{margin-left:100%}}@media screen and (min-width: 1408px){html.theme--documenter-dark .column.is-narrow-fullhd{flex:none}html.theme--documenter-dark .column.is-full-fullhd{flex:none;width:100%}html.theme--documenter-dark .column.is-three-quarters-fullhd{flex:none;width:75%}html.theme--documenter-dark .column.is-two-thirds-fullhd{flex:none;width:66.6666%}html.theme--documenter-dark .column.is-half-fullhd{flex:none;width:50%}html.theme--documenter-dark .column.is-one-third-fullhd{flex:none;width:33.3333%}html.theme--documenter-dark .column.is-one-quarter-fullhd{flex:none;width:25%}html.theme--documenter-dark .column.is-one-fifth-fullhd{flex:none;width:20%}html.theme--documenter-dark .column.is-two-fifths-fullhd{flex:none;width:40%}html.theme--documenter-dark .column.is-three-fifths-fullhd{flex:none;width:60%}html.theme--documenter-dark .column.is-four-fifths-fullhd{flex:none;width:80%}html.theme--documenter-dark .column.is-offset-three-quarters-fullhd{margin-left:75%}html.theme--documenter-dark .column.is-offset-two-thirds-fullhd{margin-left:66.6666%}html.theme--documenter-dark .column.is-offset-half-fullhd{margin-left:50%}html.theme--documenter-dark .column.is-offset-one-third-fullhd{margin-left:33.3333%}html.theme--documenter-dark .column.is-offset-one-quarter-fullhd{margin-left:25%}html.theme--documenter-dark .column.is-offset-one-fifth-fullhd{margin-left:20%}html.theme--documenter-dark .column.is-offset-two-fifths-fullhd{margin-left:40%}html.theme--documenter-dark .column.is-offset-three-fifths-fullhd{margin-left:60%}html.theme--documenter-dark .column.is-offset-four-fifths-fullhd{margin-left:80%}html.theme--documenter-dark .column.is-0-fullhd{flex:none;width:0%}html.theme--documenter-dark .column.is-offset-0-fullhd{margin-left:0%}html.theme--documenter-dark .column.is-1-fullhd{flex:none;width:8.3333333333%}html.theme--documenter-dark .column.is-offset-1-fullhd{margin-left:8.3333333333%}html.theme--documenter-dark .column.is-2-fullhd{flex:none;width:16.6666666667%}html.theme--documenter-dark .column.is-offset-2-fullhd{margin-left:16.6666666667%}html.theme--documenter-dark .column.is-3-fullhd{flex:none;width:25%}html.theme--documenter-dark .column.is-offset-3-fullhd{margin-left:25%}html.theme--documenter-dark .column.is-4-fullhd{flex:none;width:33.3333333333%}html.theme--documenter-dark .column.is-offset-4-fullhd{margin-left:33.3333333333%}html.theme--documenter-dark .column.is-5-fullhd{flex:none;width:41.6666666667%}html.theme--documenter-dark .column.is-offset-5-fullhd{margin-left:41.6666666667%}html.theme--documenter-dark .column.is-6-fullhd{flex:none;width:50%}html.theme--documenter-dark .column.is-offset-6-fullhd{margin-left:50%}html.theme--documenter-dark .column.is-7-fullhd{flex:none;width:58.3333333333%}html.theme--documenter-dark .column.is-offset-7-fullhd{margin-left:58.3333333333%}html.theme--documenter-dark .column.is-8-fullhd{flex:none;width:66.6666666667%}html.theme--documenter-dark .column.is-offset-8-fullhd{margin-left:66.6666666667%}html.theme--documenter-dark .column.is-9-fullhd{flex:none;width:75%}html.theme--documenter-dark .column.is-offset-9-fullhd{margin-left:75%}html.theme--documenter-dark .column.is-10-fullhd{flex:none;width:83.3333333333%}html.theme--documenter-dark .column.is-offset-10-fullhd{margin-left:83.3333333333%}html.theme--documenter-dark .column.is-11-fullhd{flex:none;width:91.6666666667%}html.theme--documenter-dark .column.is-offset-11-fullhd{margin-left:91.6666666667%}html.theme--documenter-dark .column.is-12-fullhd{flex:none;width:100%}html.theme--documenter-dark .column.is-offset-12-fullhd{margin-left:100%}}html.theme--documenter-dark .columns{margin-left:-.75rem;margin-right:-.75rem;margin-top:-.75rem}html.theme--documenter-dark .columns:last-child{margin-bottom:-.75rem}html.theme--documenter-dark .columns:not(:last-child){margin-bottom:calc(1.5rem - .75rem)}html.theme--documenter-dark .columns.is-centered{justify-content:center}html.theme--documenter-dark .columns.is-gapless{margin-left:0;margin-right:0;margin-top:0}html.theme--documenter-dark .columns.is-gapless>.column{margin:0;padding:0 !important}html.theme--documenter-dark .columns.is-gapless:not(:last-child){margin-bottom:1.5rem}html.theme--documenter-dark .columns.is-gapless:last-child{margin-bottom:0}html.theme--documenter-dark .columns.is-mobile{display:flex}html.theme--documenter-dark .columns.is-multiline{flex-wrap:wrap}html.theme--documenter-dark .columns.is-vcentered{align-items:center}@media screen and (min-width: 769px),print{html.theme--documenter-dark .columns:not(.is-desktop){display:flex}}@media screen and (min-width: 1056px){html.theme--documenter-dark .columns.is-desktop{display:flex}}html.theme--documenter-dark .columns.is-variable{--columnGap: 0.75rem;margin-left:calc(-1 * var(--columnGap));margin-right:calc(-1 * var(--columnGap))}html.theme--documenter-dark .columns.is-variable .column{padding-left:var(--columnGap);padding-right:var(--columnGap)}html.theme--documenter-dark .columns.is-variable.is-0{--columnGap: 0rem}@media screen and (max-width: 768px){html.theme--documenter-dark .columns.is-variable.is-0-mobile{--columnGap: 0rem}}@media screen and (min-width: 769px),print{html.theme--documenter-dark .columns.is-variable.is-0-tablet{--columnGap: 0rem}}@media screen and (min-width: 769px) and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-0-tablet-only{--columnGap: 0rem}}@media screen and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-0-touch{--columnGap: 0rem}}@media screen and (min-width: 1056px){html.theme--documenter-dark .columns.is-variable.is-0-desktop{--columnGap: 0rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){html.theme--documenter-dark .columns.is-variable.is-0-desktop-only{--columnGap: 0rem}}@media screen and (min-width: 1216px){html.theme--documenter-dark .columns.is-variable.is-0-widescreen{--columnGap: 0rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){html.theme--documenter-dark .columns.is-variable.is-0-widescreen-only{--columnGap: 0rem}}@media screen and (min-width: 1408px){html.theme--documenter-dark .columns.is-variable.is-0-fullhd{--columnGap: 0rem}}html.theme--documenter-dark .columns.is-variable.is-1{--columnGap: .25rem}@media screen and (max-width: 768px){html.theme--documenter-dark .columns.is-variable.is-1-mobile{--columnGap: .25rem}}@media screen and (min-width: 769px),print{html.theme--documenter-dark .columns.is-variable.is-1-tablet{--columnGap: .25rem}}@media screen and (min-width: 769px) and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-1-tablet-only{--columnGap: .25rem}}@media screen and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-1-touch{--columnGap: .25rem}}@media screen and (min-width: 1056px){html.theme--documenter-dark .columns.is-variable.is-1-desktop{--columnGap: .25rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){html.theme--documenter-dark .columns.is-variable.is-1-desktop-only{--columnGap: .25rem}}@media screen and (min-width: 1216px){html.theme--documenter-dark .columns.is-variable.is-1-widescreen{--columnGap: .25rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){html.theme--documenter-dark .columns.is-variable.is-1-widescreen-only{--columnGap: .25rem}}@media screen and (min-width: 1408px){html.theme--documenter-dark .columns.is-variable.is-1-fullhd{--columnGap: .25rem}}html.theme--documenter-dark .columns.is-variable.is-2{--columnGap: .5rem}@media screen and (max-width: 768px){html.theme--documenter-dark .columns.is-variable.is-2-mobile{--columnGap: .5rem}}@media screen and (min-width: 769px),print{html.theme--documenter-dark .columns.is-variable.is-2-tablet{--columnGap: .5rem}}@media screen and (min-width: 769px) and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-2-tablet-only{--columnGap: .5rem}}@media screen and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-2-touch{--columnGap: .5rem}}@media screen and (min-width: 1056px){html.theme--documenter-dark .columns.is-variable.is-2-desktop{--columnGap: .5rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){html.theme--documenter-dark .columns.is-variable.is-2-desktop-only{--columnGap: .5rem}}@media screen and (min-width: 1216px){html.theme--documenter-dark .columns.is-variable.is-2-widescreen{--columnGap: .5rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){html.theme--documenter-dark .columns.is-variable.is-2-widescreen-only{--columnGap: .5rem}}@media screen and (min-width: 1408px){html.theme--documenter-dark .columns.is-variable.is-2-fullhd{--columnGap: .5rem}}html.theme--documenter-dark .columns.is-variable.is-3{--columnGap: .75rem}@media screen and (max-width: 768px){html.theme--documenter-dark .columns.is-variable.is-3-mobile{--columnGap: .75rem}}@media screen and (min-width: 769px),print{html.theme--documenter-dark .columns.is-variable.is-3-tablet{--columnGap: .75rem}}@media screen and (min-width: 769px) and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-3-tablet-only{--columnGap: .75rem}}@media screen and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-3-touch{--columnGap: .75rem}}@media screen and (min-width: 1056px){html.theme--documenter-dark .columns.is-variable.is-3-desktop{--columnGap: .75rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){html.theme--documenter-dark .columns.is-variable.is-3-desktop-only{--columnGap: .75rem}}@media screen and (min-width: 1216px){html.theme--documenter-dark .columns.is-variable.is-3-widescreen{--columnGap: .75rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){html.theme--documenter-dark .columns.is-variable.is-3-widescreen-only{--columnGap: .75rem}}@media screen and (min-width: 1408px){html.theme--documenter-dark .columns.is-variable.is-3-fullhd{--columnGap: .75rem}}html.theme--documenter-dark .columns.is-variable.is-4{--columnGap: 1rem}@media screen and (max-width: 768px){html.theme--documenter-dark .columns.is-variable.is-4-mobile{--columnGap: 1rem}}@media screen and (min-width: 769px),print{html.theme--documenter-dark .columns.is-variable.is-4-tablet{--columnGap: 1rem}}@media screen and (min-width: 769px) and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-4-tablet-only{--columnGap: 1rem}}@media screen and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-4-touch{--columnGap: 1rem}}@media screen and (min-width: 1056px){html.theme--documenter-dark .columns.is-variable.is-4-desktop{--columnGap: 1rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){html.theme--documenter-dark .columns.is-variable.is-4-desktop-only{--columnGap: 1rem}}@media screen and (min-width: 1216px){html.theme--documenter-dark .columns.is-variable.is-4-widescreen{--columnGap: 1rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){html.theme--documenter-dark .columns.is-variable.is-4-widescreen-only{--columnGap: 1rem}}@media screen and (min-width: 1408px){html.theme--documenter-dark .columns.is-variable.is-4-fullhd{--columnGap: 1rem}}html.theme--documenter-dark .columns.is-variable.is-5{--columnGap: 1.25rem}@media screen and (max-width: 768px){html.theme--documenter-dark .columns.is-variable.is-5-mobile{--columnGap: 1.25rem}}@media screen and (min-width: 769px),print{html.theme--documenter-dark .columns.is-variable.is-5-tablet{--columnGap: 1.25rem}}@media screen and (min-width: 769px) and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-5-tablet-only{--columnGap: 1.25rem}}@media screen and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-5-touch{--columnGap: 1.25rem}}@media screen and (min-width: 1056px){html.theme--documenter-dark .columns.is-variable.is-5-desktop{--columnGap: 1.25rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){html.theme--documenter-dark .columns.is-variable.is-5-desktop-only{--columnGap: 1.25rem}}@media screen and (min-width: 1216px){html.theme--documenter-dark .columns.is-variable.is-5-widescreen{--columnGap: 1.25rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){html.theme--documenter-dark .columns.is-variable.is-5-widescreen-only{--columnGap: 1.25rem}}@media screen and (min-width: 1408px){html.theme--documenter-dark .columns.is-variable.is-5-fullhd{--columnGap: 1.25rem}}html.theme--documenter-dark .columns.is-variable.is-6{--columnGap: 1.5rem}@media screen and (max-width: 768px){html.theme--documenter-dark .columns.is-variable.is-6-mobile{--columnGap: 1.5rem}}@media screen and (min-width: 769px),print{html.theme--documenter-dark .columns.is-variable.is-6-tablet{--columnGap: 1.5rem}}@media screen and (min-width: 769px) and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-6-tablet-only{--columnGap: 1.5rem}}@media screen and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-6-touch{--columnGap: 1.5rem}}@media screen and (min-width: 1056px){html.theme--documenter-dark .columns.is-variable.is-6-desktop{--columnGap: 1.5rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){html.theme--documenter-dark .columns.is-variable.is-6-desktop-only{--columnGap: 1.5rem}}@media screen and (min-width: 1216px){html.theme--documenter-dark .columns.is-variable.is-6-widescreen{--columnGap: 1.5rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){html.theme--documenter-dark .columns.is-variable.is-6-widescreen-only{--columnGap: 1.5rem}}@media screen and (min-width: 1408px){html.theme--documenter-dark .columns.is-variable.is-6-fullhd{--columnGap: 1.5rem}}html.theme--documenter-dark .columns.is-variable.is-7{--columnGap: 1.75rem}@media screen and (max-width: 768px){html.theme--documenter-dark .columns.is-variable.is-7-mobile{--columnGap: 1.75rem}}@media screen and (min-width: 769px),print{html.theme--documenter-dark .columns.is-variable.is-7-tablet{--columnGap: 1.75rem}}@media screen and (min-width: 769px) and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-7-tablet-only{--columnGap: 1.75rem}}@media screen and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-7-touch{--columnGap: 1.75rem}}@media screen and (min-width: 1056px){html.theme--documenter-dark .columns.is-variable.is-7-desktop{--columnGap: 1.75rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){html.theme--documenter-dark .columns.is-variable.is-7-desktop-only{--columnGap: 1.75rem}}@media screen and (min-width: 1216px){html.theme--documenter-dark .columns.is-variable.is-7-widescreen{--columnGap: 1.75rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){html.theme--documenter-dark .columns.is-variable.is-7-widescreen-only{--columnGap: 1.75rem}}@media screen and (min-width: 1408px){html.theme--documenter-dark .columns.is-variable.is-7-fullhd{--columnGap: 1.75rem}}html.theme--documenter-dark .columns.is-variable.is-8{--columnGap: 2rem}@media screen and (max-width: 768px){html.theme--documenter-dark .columns.is-variable.is-8-mobile{--columnGap: 2rem}}@media screen and (min-width: 769px),print{html.theme--documenter-dark .columns.is-variable.is-8-tablet{--columnGap: 2rem}}@media screen and (min-width: 769px) and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-8-tablet-only{--columnGap: 2rem}}@media screen and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-8-touch{--columnGap: 2rem}}@media screen and (min-width: 1056px){html.theme--documenter-dark .columns.is-variable.is-8-desktop{--columnGap: 2rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){html.theme--documenter-dark .columns.is-variable.is-8-desktop-only{--columnGap: 2rem}}@media screen and (min-width: 1216px){html.theme--documenter-dark .columns.is-variable.is-8-widescreen{--columnGap: 2rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){html.theme--documenter-dark .columns.is-variable.is-8-widescreen-only{--columnGap: 2rem}}@media screen and (min-width: 1408px){html.theme--documenter-dark .columns.is-variable.is-8-fullhd{--columnGap: 2rem}}html.theme--documenter-dark .tile{align-items:stretch;display:block;flex-basis:0;flex-grow:1;flex-shrink:1;min-height:min-content}html.theme--documenter-dark .tile.is-ancestor{margin-left:-.75rem;margin-right:-.75rem;margin-top:-.75rem}html.theme--documenter-dark .tile.is-ancestor:last-child{margin-bottom:-.75rem}html.theme--documenter-dark .tile.is-ancestor:not(:last-child){margin-bottom:.75rem}html.theme--documenter-dark .tile.is-child{margin:0 !important}html.theme--documenter-dark .tile.is-parent{padding:.75rem}html.theme--documenter-dark .tile.is-vertical{flex-direction:column}html.theme--documenter-dark .tile.is-vertical>.tile.is-child:not(:last-child){margin-bottom:1.5rem !important}@media screen and (min-width: 769px),print{html.theme--documenter-dark .tile:not(.is-child){display:flex}html.theme--documenter-dark .tile.is-1{flex:none;width:8.3333333333%}html.theme--documenter-dark .tile.is-2{flex:none;width:16.6666666667%}html.theme--documenter-dark .tile.is-3{flex:none;width:25%}html.theme--documenter-dark .tile.is-4{flex:none;width:33.3333333333%}html.theme--documenter-dark .tile.is-5{flex:none;width:41.6666666667%}html.theme--documenter-dark .tile.is-6{flex:none;width:50%}html.theme--documenter-dark .tile.is-7{flex:none;width:58.3333333333%}html.theme--documenter-dark .tile.is-8{flex:none;width:66.6666666667%}html.theme--documenter-dark .tile.is-9{flex:none;width:75%}html.theme--documenter-dark .tile.is-10{flex:none;width:83.3333333333%}html.theme--documenter-dark .tile.is-11{flex:none;width:91.6666666667%}html.theme--documenter-dark .tile.is-12{flex:none;width:100%}}html.theme--documenter-dark .hero{align-items:stretch;display:flex;flex-direction:column;justify-content:space-between}html.theme--documenter-dark .hero .navbar{background:none}html.theme--documenter-dark .hero .tabs ul{border-bottom:none}html.theme--documenter-dark .hero.is-white{background-color:#fff;color:#0a0a0a}html.theme--documenter-dark .hero.is-white a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),html.theme--documenter-dark .hero.is-white strong{color:inherit}html.theme--documenter-dark .hero.is-white .title{color:#0a0a0a}html.theme--documenter-dark .hero.is-white .subtitle{color:rgba(10,10,10,0.9)}html.theme--documenter-dark .hero.is-white .subtitle a:not(.button),html.theme--documenter-dark .hero.is-white .subtitle strong{color:#0a0a0a}@media screen and (max-width: 1055px){html.theme--documenter-dark .hero.is-white .navbar-menu{background-color:#fff}}html.theme--documenter-dark .hero.is-white .navbar-item,html.theme--documenter-dark .hero.is-white .navbar-link{color:rgba(10,10,10,0.7)}html.theme--documenter-dark .hero.is-white a.navbar-item:hover,html.theme--documenter-dark .hero.is-white a.navbar-item.is-active,html.theme--documenter-dark .hero.is-white .navbar-link:hover,html.theme--documenter-dark .hero.is-white .navbar-link.is-active{background-color:#f2f2f2;color:#0a0a0a}html.theme--documenter-dark .hero.is-white .tabs a{color:#0a0a0a;opacity:0.9}html.theme--documenter-dark .hero.is-white .tabs a:hover{opacity:1}html.theme--documenter-dark .hero.is-white .tabs li.is-active a{opacity:1}html.theme--documenter-dark .hero.is-white .tabs.is-boxed a,html.theme--documenter-dark .hero.is-white .tabs.is-toggle a{color:#0a0a0a}html.theme--documenter-dark .hero.is-white .tabs.is-boxed a:hover,html.theme--documenter-dark .hero.is-white .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}html.theme--documenter-dark .hero.is-white .tabs.is-boxed li.is-active a,html.theme--documenter-dark .hero.is-white .tabs.is-boxed li.is-active a:hover,html.theme--documenter-dark .hero.is-white .tabs.is-toggle li.is-active a,html.theme--documenter-dark .hero.is-white .tabs.is-toggle li.is-active a:hover{background-color:#0a0a0a;border-color:#0a0a0a;color:#fff}html.theme--documenter-dark .hero.is-white.is-bold{background-image:linear-gradient(141deg, #e8e3e4 0%, #fff 71%, #fff 100%)}@media screen and (max-width: 768px){html.theme--documenter-dark .hero.is-white.is-bold .navbar-menu{background-image:linear-gradient(141deg, #e8e3e4 0%, #fff 71%, #fff 100%)}}html.theme--documenter-dark .hero.is-black{background-color:#0a0a0a;color:#fff}html.theme--documenter-dark .hero.is-black a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),html.theme--documenter-dark .hero.is-black strong{color:inherit}html.theme--documenter-dark .hero.is-black .title{color:#fff}html.theme--documenter-dark .hero.is-black .subtitle{color:rgba(255,255,255,0.9)}html.theme--documenter-dark .hero.is-black .subtitle a:not(.button),html.theme--documenter-dark .hero.is-black .subtitle strong{color:#fff}@media screen and (max-width: 1055px){html.theme--documenter-dark .hero.is-black .navbar-menu{background-color:#0a0a0a}}html.theme--documenter-dark .hero.is-black .navbar-item,html.theme--documenter-dark .hero.is-black .navbar-link{color:rgba(255,255,255,0.7)}html.theme--documenter-dark .hero.is-black a.navbar-item:hover,html.theme--documenter-dark .hero.is-black a.navbar-item.is-active,html.theme--documenter-dark .hero.is-black .navbar-link:hover,html.theme--documenter-dark .hero.is-black .navbar-link.is-active{background-color:#000;color:#fff}html.theme--documenter-dark .hero.is-black .tabs a{color:#fff;opacity:0.9}html.theme--documenter-dark .hero.is-black .tabs a:hover{opacity:1}html.theme--documenter-dark .hero.is-black .tabs li.is-active a{opacity:1}html.theme--documenter-dark .hero.is-black .tabs.is-boxed a,html.theme--documenter-dark .hero.is-black .tabs.is-toggle a{color:#fff}html.theme--documenter-dark .hero.is-black .tabs.is-boxed a:hover,html.theme--documenter-dark .hero.is-black .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}html.theme--documenter-dark .hero.is-black .tabs.is-boxed li.is-active a,html.theme--documenter-dark .hero.is-black .tabs.is-boxed li.is-active a:hover,html.theme--documenter-dark .hero.is-black .tabs.is-toggle li.is-active a,html.theme--documenter-dark .hero.is-black .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#0a0a0a}html.theme--documenter-dark .hero.is-black.is-bold{background-image:linear-gradient(141deg, #000 0%, #0a0a0a 71%, #181616 100%)}@media screen and (max-width: 768px){html.theme--documenter-dark .hero.is-black.is-bold .navbar-menu{background-image:linear-gradient(141deg, #000 0%, #0a0a0a 71%, #181616 100%)}}html.theme--documenter-dark .hero.is-light{background-color:#ecf0f1;color:#282f2f}html.theme--documenter-dark .hero.is-light a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),html.theme--documenter-dark .hero.is-light strong{color:inherit}html.theme--documenter-dark .hero.is-light .title{color:#282f2f}html.theme--documenter-dark .hero.is-light .subtitle{color:rgba(40,47,47,0.9)}html.theme--documenter-dark .hero.is-light .subtitle a:not(.button),html.theme--documenter-dark .hero.is-light .subtitle strong{color:#282f2f}@media screen and (max-width: 1055px){html.theme--documenter-dark .hero.is-light .navbar-menu{background-color:#ecf0f1}}html.theme--documenter-dark .hero.is-light .navbar-item,html.theme--documenter-dark .hero.is-light .navbar-link{color:rgba(40,47,47,0.7)}html.theme--documenter-dark .hero.is-light a.navbar-item:hover,html.theme--documenter-dark .hero.is-light a.navbar-item.is-active,html.theme--documenter-dark .hero.is-light .navbar-link:hover,html.theme--documenter-dark .hero.is-light .navbar-link.is-active{background-color:#dde4e6;color:#282f2f}html.theme--documenter-dark .hero.is-light .tabs a{color:#282f2f;opacity:0.9}html.theme--documenter-dark .hero.is-light .tabs a:hover{opacity:1}html.theme--documenter-dark .hero.is-light .tabs li.is-active a{opacity:1}html.theme--documenter-dark .hero.is-light .tabs.is-boxed a,html.theme--documenter-dark .hero.is-light .tabs.is-toggle a{color:#282f2f}html.theme--documenter-dark .hero.is-light .tabs.is-boxed a:hover,html.theme--documenter-dark .hero.is-light .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}html.theme--documenter-dark .hero.is-light .tabs.is-boxed li.is-active a,html.theme--documenter-dark .hero.is-light .tabs.is-boxed li.is-active a:hover,html.theme--documenter-dark .hero.is-light .tabs.is-toggle li.is-active a,html.theme--documenter-dark .hero.is-light .tabs.is-toggle li.is-active a:hover{background-color:#282f2f;border-color:#282f2f;color:#ecf0f1}html.theme--documenter-dark .hero.is-light.is-bold{background-image:linear-gradient(141deg, #cadfe0 0%, #ecf0f1 71%, #fafbfc 100%)}@media screen and (max-width: 768px){html.theme--documenter-dark .hero.is-light.is-bold .navbar-menu{background-image:linear-gradient(141deg, #cadfe0 0%, #ecf0f1 71%, #fafbfc 100%)}}html.theme--documenter-dark .hero.is-dark,html.theme--documenter-dark .content kbd.hero{background-color:#282f2f;color:#ecf0f1}html.theme--documenter-dark .hero.is-dark a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),html.theme--documenter-dark .content kbd.hero a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),html.theme--documenter-dark .hero.is-dark strong,html.theme--documenter-dark .content kbd.hero strong{color:inherit}html.theme--documenter-dark .hero.is-dark .title,html.theme--documenter-dark .content kbd.hero .title{color:#ecf0f1}html.theme--documenter-dark .hero.is-dark .subtitle,html.theme--documenter-dark .content kbd.hero .subtitle{color:rgba(236,240,241,0.9)}html.theme--documenter-dark .hero.is-dark .subtitle a:not(.button),html.theme--documenter-dark .content kbd.hero .subtitle a:not(.button),html.theme--documenter-dark .hero.is-dark .subtitle strong,html.theme--documenter-dark .content kbd.hero .subtitle strong{color:#ecf0f1}@media screen and (max-width: 1055px){html.theme--documenter-dark .hero.is-dark .navbar-menu,html.theme--documenter-dark .content kbd.hero .navbar-menu{background-color:#282f2f}}html.theme--documenter-dark .hero.is-dark .navbar-item,html.theme--documenter-dark .content kbd.hero .navbar-item,html.theme--documenter-dark .hero.is-dark .navbar-link,html.theme--documenter-dark .content kbd.hero .navbar-link{color:rgba(236,240,241,0.7)}html.theme--documenter-dark .hero.is-dark a.navbar-item:hover,html.theme--documenter-dark .content kbd.hero a.navbar-item:hover,html.theme--documenter-dark .hero.is-dark a.navbar-item.is-active,html.theme--documenter-dark .content kbd.hero a.navbar-item.is-active,html.theme--documenter-dark .hero.is-dark .navbar-link:hover,html.theme--documenter-dark .content kbd.hero .navbar-link:hover,html.theme--documenter-dark .hero.is-dark .navbar-link.is-active,html.theme--documenter-dark .content kbd.hero .navbar-link.is-active{background-color:#1d2122;color:#ecf0f1}html.theme--documenter-dark .hero.is-dark .tabs a,html.theme--documenter-dark .content kbd.hero .tabs a{color:#ecf0f1;opacity:0.9}html.theme--documenter-dark .hero.is-dark .tabs a:hover,html.theme--documenter-dark .content kbd.hero .tabs a:hover{opacity:1}html.theme--documenter-dark .hero.is-dark .tabs li.is-active a,html.theme--documenter-dark .content kbd.hero .tabs li.is-active a{opacity:1}html.theme--documenter-dark .hero.is-dark .tabs.is-boxed a,html.theme--documenter-dark .content kbd.hero .tabs.is-boxed a,html.theme--documenter-dark .hero.is-dark .tabs.is-toggle a,html.theme--documenter-dark .content kbd.hero .tabs.is-toggle a{color:#ecf0f1}html.theme--documenter-dark .hero.is-dark .tabs.is-boxed a:hover,html.theme--documenter-dark .content kbd.hero .tabs.is-boxed a:hover,html.theme--documenter-dark .hero.is-dark .tabs.is-toggle a:hover,html.theme--documenter-dark .content kbd.hero .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}html.theme--documenter-dark .hero.is-dark .tabs.is-boxed li.is-active a,html.theme--documenter-dark .content kbd.hero .tabs.is-boxed li.is-active a,html.theme--documenter-dark .hero.is-dark .tabs.is-boxed li.is-active a:hover,html.theme--documenter-dark .hero.is-dark .tabs.is-toggle li.is-active a,html.theme--documenter-dark .content kbd.hero .tabs.is-toggle li.is-active a,html.theme--documenter-dark .hero.is-dark .tabs.is-toggle li.is-active a:hover{background-color:#ecf0f1;border-color:#ecf0f1;color:#282f2f}html.theme--documenter-dark .hero.is-dark.is-bold,html.theme--documenter-dark .content kbd.hero.is-bold{background-image:linear-gradient(141deg, #0f1615 0%, #282f2f 71%, #313c40 100%)}@media screen and (max-width: 768px){html.theme--documenter-dark .hero.is-dark.is-bold .navbar-menu,html.theme--documenter-dark .content kbd.hero.is-bold .navbar-menu{background-image:linear-gradient(141deg, #0f1615 0%, #282f2f 71%, #313c40 100%)}}html.theme--documenter-dark .hero.is-primary,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink{background-color:#375a7f;color:#fff}html.theme--documenter-dark .hero.is-primary a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),html.theme--documenter-dark .hero.is-primary strong,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink strong{color:inherit}html.theme--documenter-dark .hero.is-primary .title,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .title{color:#fff}html.theme--documenter-dark .hero.is-primary .subtitle,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .subtitle{color:rgba(255,255,255,0.9)}html.theme--documenter-dark .hero.is-primary .subtitle a:not(.button),html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .subtitle a:not(.button),html.theme--documenter-dark .hero.is-primary .subtitle strong,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .subtitle strong{color:#fff}@media screen and (max-width: 1055px){html.theme--documenter-dark .hero.is-primary .navbar-menu,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .navbar-menu{background-color:#375a7f}}html.theme--documenter-dark .hero.is-primary .navbar-item,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .navbar-item,html.theme--documenter-dark .hero.is-primary .navbar-link,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .navbar-link{color:rgba(255,255,255,0.7)}html.theme--documenter-dark .hero.is-primary a.navbar-item:hover,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink a.navbar-item:hover,html.theme--documenter-dark .hero.is-primary a.navbar-item.is-active,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink a.navbar-item.is-active,html.theme--documenter-dark .hero.is-primary .navbar-link:hover,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .navbar-link:hover,html.theme--documenter-dark .hero.is-primary .navbar-link.is-active,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .navbar-link.is-active{background-color:#2f4d6d;color:#fff}html.theme--documenter-dark .hero.is-primary .tabs a,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .tabs a{color:#fff;opacity:0.9}html.theme--documenter-dark .hero.is-primary .tabs a:hover,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .tabs a:hover{opacity:1}html.theme--documenter-dark .hero.is-primary .tabs li.is-active a,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .tabs li.is-active a{opacity:1}html.theme--documenter-dark .hero.is-primary .tabs.is-boxed a,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .tabs.is-boxed a,html.theme--documenter-dark .hero.is-primary .tabs.is-toggle a,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .tabs.is-toggle a{color:#fff}html.theme--documenter-dark .hero.is-primary .tabs.is-boxed a:hover,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .tabs.is-boxed a:hover,html.theme--documenter-dark .hero.is-primary .tabs.is-toggle a:hover,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}html.theme--documenter-dark .hero.is-primary .tabs.is-boxed li.is-active a,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .tabs.is-boxed li.is-active a,html.theme--documenter-dark .hero.is-primary .tabs.is-boxed li.is-active a:hover,html.theme--documenter-dark .hero.is-primary .tabs.is-toggle li.is-active a,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .tabs.is-toggle li.is-active a,html.theme--documenter-dark .hero.is-primary .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#375a7f}html.theme--documenter-dark .hero.is-primary.is-bold,html.theme--documenter-dark .docstring>section>a.hero.is-bold.docs-sourcelink{background-image:linear-gradient(141deg, #214b62 0%, #375a7f 71%, #3a5796 100%)}@media screen and (max-width: 768px){html.theme--documenter-dark .hero.is-primary.is-bold .navbar-menu,html.theme--documenter-dark .docstring>section>a.hero.is-bold.docs-sourcelink .navbar-menu{background-image:linear-gradient(141deg, #214b62 0%, #375a7f 71%, #3a5796 100%)}}html.theme--documenter-dark .hero.is-link{background-color:#1abc9c;color:#fff}html.theme--documenter-dark .hero.is-link a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),html.theme--documenter-dark .hero.is-link strong{color:inherit}html.theme--documenter-dark .hero.is-link .title{color:#fff}html.theme--documenter-dark .hero.is-link .subtitle{color:rgba(255,255,255,0.9)}html.theme--documenter-dark .hero.is-link .subtitle a:not(.button),html.theme--documenter-dark .hero.is-link .subtitle strong{color:#fff}@media screen and (max-width: 1055px){html.theme--documenter-dark .hero.is-link .navbar-menu{background-color:#1abc9c}}html.theme--documenter-dark .hero.is-link .navbar-item,html.theme--documenter-dark .hero.is-link .navbar-link{color:rgba(255,255,255,0.7)}html.theme--documenter-dark .hero.is-link a.navbar-item:hover,html.theme--documenter-dark .hero.is-link a.navbar-item.is-active,html.theme--documenter-dark .hero.is-link .navbar-link:hover,html.theme--documenter-dark .hero.is-link .navbar-link.is-active{background-color:#17a689;color:#fff}html.theme--documenter-dark .hero.is-link .tabs a{color:#fff;opacity:0.9}html.theme--documenter-dark .hero.is-link .tabs a:hover{opacity:1}html.theme--documenter-dark .hero.is-link .tabs li.is-active a{opacity:1}html.theme--documenter-dark .hero.is-link .tabs.is-boxed a,html.theme--documenter-dark .hero.is-link .tabs.is-toggle a{color:#fff}html.theme--documenter-dark .hero.is-link .tabs.is-boxed a:hover,html.theme--documenter-dark .hero.is-link .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}html.theme--documenter-dark .hero.is-link .tabs.is-boxed li.is-active a,html.theme--documenter-dark .hero.is-link .tabs.is-boxed li.is-active a:hover,html.theme--documenter-dark .hero.is-link .tabs.is-toggle li.is-active a,html.theme--documenter-dark .hero.is-link .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#1abc9c}html.theme--documenter-dark .hero.is-link.is-bold{background-image:linear-gradient(141deg, #0c9764 0%, #1abc9c 71%, #17d8d2 100%)}@media screen and (max-width: 768px){html.theme--documenter-dark .hero.is-link.is-bold .navbar-menu{background-image:linear-gradient(141deg, #0c9764 0%, #1abc9c 71%, #17d8d2 100%)}}html.theme--documenter-dark .hero.is-info{background-color:#024c7d;color:#fff}html.theme--documenter-dark .hero.is-info a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),html.theme--documenter-dark .hero.is-info strong{color:inherit}html.theme--documenter-dark .hero.is-info .title{color:#fff}html.theme--documenter-dark .hero.is-info .subtitle{color:rgba(255,255,255,0.9)}html.theme--documenter-dark .hero.is-info .subtitle a:not(.button),html.theme--documenter-dark .hero.is-info .subtitle strong{color:#fff}@media screen and (max-width: 1055px){html.theme--documenter-dark .hero.is-info .navbar-menu{background-color:#024c7d}}html.theme--documenter-dark .hero.is-info .navbar-item,html.theme--documenter-dark .hero.is-info .navbar-link{color:rgba(255,255,255,0.7)}html.theme--documenter-dark .hero.is-info a.navbar-item:hover,html.theme--documenter-dark .hero.is-info a.navbar-item.is-active,html.theme--documenter-dark .hero.is-info .navbar-link:hover,html.theme--documenter-dark .hero.is-info .navbar-link.is-active{background-color:#023d64;color:#fff}html.theme--documenter-dark .hero.is-info .tabs a{color:#fff;opacity:0.9}html.theme--documenter-dark .hero.is-info .tabs a:hover{opacity:1}html.theme--documenter-dark .hero.is-info .tabs li.is-active a{opacity:1}html.theme--documenter-dark .hero.is-info .tabs.is-boxed a,html.theme--documenter-dark .hero.is-info .tabs.is-toggle a{color:#fff}html.theme--documenter-dark .hero.is-info .tabs.is-boxed a:hover,html.theme--documenter-dark .hero.is-info .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}html.theme--documenter-dark .hero.is-info .tabs.is-boxed li.is-active a,html.theme--documenter-dark .hero.is-info .tabs.is-boxed li.is-active a:hover,html.theme--documenter-dark .hero.is-info .tabs.is-toggle li.is-active a,html.theme--documenter-dark .hero.is-info .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#024c7d}html.theme--documenter-dark .hero.is-info.is-bold{background-image:linear-gradient(141deg, #003a4c 0%, #024c7d 71%, #004299 100%)}@media screen and (max-width: 768px){html.theme--documenter-dark .hero.is-info.is-bold .navbar-menu{background-image:linear-gradient(141deg, #003a4c 0%, #024c7d 71%, #004299 100%)}}html.theme--documenter-dark .hero.is-success{background-color:#008438;color:#fff}html.theme--documenter-dark .hero.is-success a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),html.theme--documenter-dark .hero.is-success strong{color:inherit}html.theme--documenter-dark .hero.is-success .title{color:#fff}html.theme--documenter-dark .hero.is-success .subtitle{color:rgba(255,255,255,0.9)}html.theme--documenter-dark .hero.is-success .subtitle a:not(.button),html.theme--documenter-dark .hero.is-success .subtitle strong{color:#fff}@media screen and (max-width: 1055px){html.theme--documenter-dark .hero.is-success .navbar-menu{background-color:#008438}}html.theme--documenter-dark .hero.is-success .navbar-item,html.theme--documenter-dark .hero.is-success .navbar-link{color:rgba(255,255,255,0.7)}html.theme--documenter-dark .hero.is-success a.navbar-item:hover,html.theme--documenter-dark .hero.is-success a.navbar-item.is-active,html.theme--documenter-dark .hero.is-success .navbar-link:hover,html.theme--documenter-dark .hero.is-success .navbar-link.is-active{background-color:#006b2d;color:#fff}html.theme--documenter-dark .hero.is-success .tabs a{color:#fff;opacity:0.9}html.theme--documenter-dark .hero.is-success .tabs a:hover{opacity:1}html.theme--documenter-dark .hero.is-success .tabs li.is-active a{opacity:1}html.theme--documenter-dark .hero.is-success .tabs.is-boxed a,html.theme--documenter-dark .hero.is-success .tabs.is-toggle a{color:#fff}html.theme--documenter-dark .hero.is-success .tabs.is-boxed a:hover,html.theme--documenter-dark .hero.is-success .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}html.theme--documenter-dark .hero.is-success .tabs.is-boxed li.is-active a,html.theme--documenter-dark .hero.is-success .tabs.is-boxed li.is-active a:hover,html.theme--documenter-dark .hero.is-success .tabs.is-toggle li.is-active a,html.theme--documenter-dark .hero.is-success .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#008438}html.theme--documenter-dark .hero.is-success.is-bold{background-image:linear-gradient(141deg, #005115 0%, #008438 71%, #009e5d 100%)}@media screen and (max-width: 768px){html.theme--documenter-dark .hero.is-success.is-bold .navbar-menu{background-image:linear-gradient(141deg, #005115 0%, #008438 71%, #009e5d 100%)}}html.theme--documenter-dark .hero.is-warning{background-color:#ad8100;color:#fff}html.theme--documenter-dark .hero.is-warning a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),html.theme--documenter-dark .hero.is-warning strong{color:inherit}html.theme--documenter-dark .hero.is-warning .title{color:#fff}html.theme--documenter-dark .hero.is-warning .subtitle{color:rgba(255,255,255,0.9)}html.theme--documenter-dark .hero.is-warning .subtitle a:not(.button),html.theme--documenter-dark .hero.is-warning .subtitle strong{color:#fff}@media screen and (max-width: 1055px){html.theme--documenter-dark .hero.is-warning .navbar-menu{background-color:#ad8100}}html.theme--documenter-dark .hero.is-warning .navbar-item,html.theme--documenter-dark .hero.is-warning .navbar-link{color:rgba(255,255,255,0.7)}html.theme--documenter-dark .hero.is-warning a.navbar-item:hover,html.theme--documenter-dark .hero.is-warning a.navbar-item.is-active,html.theme--documenter-dark .hero.is-warning .navbar-link:hover,html.theme--documenter-dark .hero.is-warning .navbar-link.is-active{background-color:#946e00;color:#fff}html.theme--documenter-dark .hero.is-warning .tabs a{color:#fff;opacity:0.9}html.theme--documenter-dark .hero.is-warning .tabs a:hover{opacity:1}html.theme--documenter-dark .hero.is-warning .tabs li.is-active a{opacity:1}html.theme--documenter-dark .hero.is-warning .tabs.is-boxed a,html.theme--documenter-dark .hero.is-warning .tabs.is-toggle a{color:#fff}html.theme--documenter-dark .hero.is-warning .tabs.is-boxed a:hover,html.theme--documenter-dark .hero.is-warning .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}html.theme--documenter-dark .hero.is-warning .tabs.is-boxed li.is-active a,html.theme--documenter-dark .hero.is-warning .tabs.is-boxed li.is-active a:hover,html.theme--documenter-dark .hero.is-warning .tabs.is-toggle li.is-active a,html.theme--documenter-dark .hero.is-warning .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#ad8100}html.theme--documenter-dark .hero.is-warning.is-bold{background-image:linear-gradient(141deg, #7a4700 0%, #ad8100 71%, #c7b500 100%)}@media screen and (max-width: 768px){html.theme--documenter-dark .hero.is-warning.is-bold .navbar-menu{background-image:linear-gradient(141deg, #7a4700 0%, #ad8100 71%, #c7b500 100%)}}html.theme--documenter-dark .hero.is-danger{background-color:#9e1b0d;color:#fff}html.theme--documenter-dark .hero.is-danger a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),html.theme--documenter-dark .hero.is-danger strong{color:inherit}html.theme--documenter-dark .hero.is-danger .title{color:#fff}html.theme--documenter-dark .hero.is-danger .subtitle{color:rgba(255,255,255,0.9)}html.theme--documenter-dark .hero.is-danger .subtitle a:not(.button),html.theme--documenter-dark .hero.is-danger .subtitle strong{color:#fff}@media screen and (max-width: 1055px){html.theme--documenter-dark .hero.is-danger .navbar-menu{background-color:#9e1b0d}}html.theme--documenter-dark .hero.is-danger .navbar-item,html.theme--documenter-dark .hero.is-danger .navbar-link{color:rgba(255,255,255,0.7)}html.theme--documenter-dark .hero.is-danger a.navbar-item:hover,html.theme--documenter-dark .hero.is-danger a.navbar-item.is-active,html.theme--documenter-dark .hero.is-danger .navbar-link:hover,html.theme--documenter-dark .hero.is-danger .navbar-link.is-active{background-color:#86170b;color:#fff}html.theme--documenter-dark .hero.is-danger .tabs a{color:#fff;opacity:0.9}html.theme--documenter-dark .hero.is-danger .tabs a:hover{opacity:1}html.theme--documenter-dark .hero.is-danger .tabs li.is-active a{opacity:1}html.theme--documenter-dark .hero.is-danger .tabs.is-boxed a,html.theme--documenter-dark .hero.is-danger .tabs.is-toggle a{color:#fff}html.theme--documenter-dark .hero.is-danger .tabs.is-boxed a:hover,html.theme--documenter-dark .hero.is-danger .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}html.theme--documenter-dark .hero.is-danger .tabs.is-boxed li.is-active a,html.theme--documenter-dark .hero.is-danger .tabs.is-boxed li.is-active a:hover,html.theme--documenter-dark .hero.is-danger .tabs.is-toggle li.is-active a,html.theme--documenter-dark .hero.is-danger .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#9e1b0d}html.theme--documenter-dark .hero.is-danger.is-bold{background-image:linear-gradient(141deg, #75030b 0%, #9e1b0d 71%, #ba380a 100%)}@media screen and (max-width: 768px){html.theme--documenter-dark .hero.is-danger.is-bold .navbar-menu{background-image:linear-gradient(141deg, #75030b 0%, #9e1b0d 71%, #ba380a 100%)}}html.theme--documenter-dark .hero.is-small .hero-body,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.hero .hero-body{padding-bottom:1.5rem;padding-top:1.5rem}@media screen and (min-width: 769px),print{html.theme--documenter-dark .hero.is-medium .hero-body{padding-bottom:9rem;padding-top:9rem}}@media screen and (min-width: 769px),print{html.theme--documenter-dark .hero.is-large .hero-body{padding-bottom:18rem;padding-top:18rem}}html.theme--documenter-dark .hero.is-halfheight .hero-body,html.theme--documenter-dark .hero.is-fullheight .hero-body,html.theme--documenter-dark .hero.is-fullheight-with-navbar .hero-body{align-items:center;display:flex}html.theme--documenter-dark .hero.is-halfheight .hero-body>.container,html.theme--documenter-dark .hero.is-fullheight .hero-body>.container,html.theme--documenter-dark .hero.is-fullheight-with-navbar .hero-body>.container{flex-grow:1;flex-shrink:1}html.theme--documenter-dark .hero.is-halfheight{min-height:50vh}html.theme--documenter-dark .hero.is-fullheight{min-height:100vh}html.theme--documenter-dark .hero-video{overflow:hidden}html.theme--documenter-dark .hero-video video{left:50%;min-height:100%;min-width:100%;position:absolute;top:50%;transform:translate3d(-50%, -50%, 0)}html.theme--documenter-dark .hero-video.is-transparent{opacity:0.3}@media screen and (max-width: 768px){html.theme--documenter-dark .hero-video{display:none}}html.theme--documenter-dark .hero-buttons{margin-top:1.5rem}@media screen and (max-width: 768px){html.theme--documenter-dark .hero-buttons .button{display:flex}html.theme--documenter-dark .hero-buttons .button:not(:last-child){margin-bottom:0.75rem}}@media screen and (min-width: 769px),print{html.theme--documenter-dark .hero-buttons{display:flex;justify-content:center}html.theme--documenter-dark .hero-buttons .button:not(:last-child){margin-right:1.5rem}}html.theme--documenter-dark .hero-head,html.theme--documenter-dark .hero-foot{flex-grow:0;flex-shrink:0}html.theme--documenter-dark .hero-body{flex-grow:1;flex-shrink:0;padding:3rem 1.5rem}html.theme--documenter-dark .section{padding:3rem 1.5rem}@media screen and (min-width: 1056px){html.theme--documenter-dark .section.is-medium{padding:9rem 1.5rem}html.theme--documenter-dark .section.is-large{padding:18rem 1.5rem}}html.theme--documenter-dark .footer{background-color:#282f2f;padding:3rem 1.5rem 6rem}html.theme--documenter-dark hr{height:1px}html.theme--documenter-dark h6{text-transform:uppercase;letter-spacing:0.5px}html.theme--documenter-dark .hero{background-color:#343c3d}html.theme--documenter-dark a{transition:all 200ms ease}html.theme--documenter-dark .button{transition:all 200ms ease;border-width:1px;color:#fff}html.theme--documenter-dark .button.is-active,html.theme--documenter-dark .button.is-focused,html.theme--documenter-dark .button:active,html.theme--documenter-dark .button:focus{box-shadow:0 0 0 2px rgba(140,155,157,0.5)}html.theme--documenter-dark .button.is-white.is-hovered,html.theme--documenter-dark .button.is-white:hover{background-color:#fff}html.theme--documenter-dark .button.is-white.is-active,html.theme--documenter-dark .button.is-white.is-focused,html.theme--documenter-dark .button.is-white:active,html.theme--documenter-dark .button.is-white:focus{border-color:#fff;box-shadow:0 0 0 2px rgba(255,255,255,0.5)}html.theme--documenter-dark .button.is-black.is-hovered,html.theme--documenter-dark .button.is-black:hover{background-color:#1d1d1d}html.theme--documenter-dark .button.is-black.is-active,html.theme--documenter-dark .button.is-black.is-focused,html.theme--documenter-dark .button.is-black:active,html.theme--documenter-dark .button.is-black:focus{border-color:#0a0a0a;box-shadow:0 0 0 2px rgba(10,10,10,0.5)}html.theme--documenter-dark .button.is-light.is-hovered,html.theme--documenter-dark .button.is-light:hover{background-color:#fff}html.theme--documenter-dark .button.is-light.is-active,html.theme--documenter-dark .button.is-light.is-focused,html.theme--documenter-dark .button.is-light:active,html.theme--documenter-dark .button.is-light:focus{border-color:#ecf0f1;box-shadow:0 0 0 2px rgba(236,240,241,0.5)}html.theme--documenter-dark .button.is-dark.is-hovered,html.theme--documenter-dark .content kbd.button.is-hovered,html.theme--documenter-dark .button.is-dark:hover,html.theme--documenter-dark .content kbd.button:hover{background-color:#3a4344}html.theme--documenter-dark .button.is-dark.is-active,html.theme--documenter-dark .content kbd.button.is-active,html.theme--documenter-dark .button.is-dark.is-focused,html.theme--documenter-dark .content kbd.button.is-focused,html.theme--documenter-dark .button.is-dark:active,html.theme--documenter-dark .content kbd.button:active,html.theme--documenter-dark .button.is-dark:focus,html.theme--documenter-dark .content kbd.button:focus{border-color:#282f2f;box-shadow:0 0 0 2px rgba(40,47,47,0.5)}html.theme--documenter-dark .button.is-primary.is-hovered,html.theme--documenter-dark .docstring>section>a.button.is-hovered.docs-sourcelink,html.theme--documenter-dark .button.is-primary:hover,html.theme--documenter-dark .docstring>section>a.button.docs-sourcelink:hover{background-color:#436d9a}html.theme--documenter-dark .button.is-primary.is-active,html.theme--documenter-dark .docstring>section>a.button.is-active.docs-sourcelink,html.theme--documenter-dark .button.is-primary.is-focused,html.theme--documenter-dark .docstring>section>a.button.is-focused.docs-sourcelink,html.theme--documenter-dark .button.is-primary:active,html.theme--documenter-dark .docstring>section>a.button.docs-sourcelink:active,html.theme--documenter-dark .button.is-primary:focus,html.theme--documenter-dark .docstring>section>a.button.docs-sourcelink:focus{border-color:#375a7f;box-shadow:0 0 0 2px rgba(55,90,127,0.5)}html.theme--documenter-dark .button.is-link.is-hovered,html.theme--documenter-dark .button.is-link:hover{background-color:#1fdeb8}html.theme--documenter-dark .button.is-link.is-active,html.theme--documenter-dark .button.is-link.is-focused,html.theme--documenter-dark .button.is-link:active,html.theme--documenter-dark .button.is-link:focus{border-color:#1abc9c;box-shadow:0 0 0 2px rgba(26,188,156,0.5)}html.theme--documenter-dark .button.is-info.is-hovered,html.theme--documenter-dark .button.is-info:hover{background-color:#0363a3}html.theme--documenter-dark .button.is-info.is-active,html.theme--documenter-dark .button.is-info.is-focused,html.theme--documenter-dark .button.is-info:active,html.theme--documenter-dark .button.is-info:focus{border-color:#024c7d;box-shadow:0 0 0 2px rgba(2,76,125,0.5)}html.theme--documenter-dark .button.is-success.is-hovered,html.theme--documenter-dark .button.is-success:hover{background-color:#00aa48}html.theme--documenter-dark .button.is-success.is-active,html.theme--documenter-dark .button.is-success.is-focused,html.theme--documenter-dark .button.is-success:active,html.theme--documenter-dark .button.is-success:focus{border-color:#008438;box-shadow:0 0 0 2px rgba(0,132,56,0.5)}html.theme--documenter-dark .button.is-warning.is-hovered,html.theme--documenter-dark .button.is-warning:hover{background-color:#d39e00}html.theme--documenter-dark .button.is-warning.is-active,html.theme--documenter-dark .button.is-warning.is-focused,html.theme--documenter-dark .button.is-warning:active,html.theme--documenter-dark .button.is-warning:focus{border-color:#ad8100;box-shadow:0 0 0 2px rgba(173,129,0,0.5)}html.theme--documenter-dark .button.is-danger.is-hovered,html.theme--documenter-dark .button.is-danger:hover{background-color:#c12110}html.theme--documenter-dark .button.is-danger.is-active,html.theme--documenter-dark .button.is-danger.is-focused,html.theme--documenter-dark .button.is-danger:active,html.theme--documenter-dark .button.is-danger:focus{border-color:#9e1b0d;box-shadow:0 0 0 2px rgba(158,27,13,0.5)}html.theme--documenter-dark .label{color:#dbdee0}html.theme--documenter-dark .button,html.theme--documenter-dark .control.has-icons-left .icon,html.theme--documenter-dark .control.has-icons-right .icon,html.theme--documenter-dark .input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input,html.theme--documenter-dark .pagination-ellipsis,html.theme--documenter-dark .pagination-link,html.theme--documenter-dark .pagination-next,html.theme--documenter-dark .pagination-previous,html.theme--documenter-dark .select,html.theme--documenter-dark .select select,html.theme--documenter-dark .textarea{height:2.5em}html.theme--documenter-dark .input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input,html.theme--documenter-dark .textarea{transition:all 200ms ease;box-shadow:none;border-width:1px;padding-left:1em;padding-right:1em}html.theme--documenter-dark .select:after,html.theme--documenter-dark .select select{border-width:1px}html.theme--documenter-dark .control.has-addons .button,html.theme--documenter-dark .control.has-addons .input,html.theme--documenter-dark .control.has-addons #documenter .docs-sidebar form.docs-search>input,html.theme--documenter-dark #documenter .docs-sidebar .control.has-addons form.docs-search>input,html.theme--documenter-dark .control.has-addons .select{margin-right:-1px}html.theme--documenter-dark .notification{background-color:#343c3d}html.theme--documenter-dark .card{box-shadow:none;border:1px solid #343c3d;background-color:#282f2f;border-radius:.4em}html.theme--documenter-dark .card .card-image img{border-radius:.4em .4em 0 0}html.theme--documenter-dark .card .card-header{box-shadow:none;background-color:rgba(18,18,18,0.2);border-radius:.4em .4em 0 0}html.theme--documenter-dark .card .card-footer{background-color:rgba(18,18,18,0.2)}html.theme--documenter-dark .card .card-footer,html.theme--documenter-dark .card .card-footer-item{border-width:1px;border-color:#343c3d}html.theme--documenter-dark .notification.is-white a:not(.button){color:#0a0a0a;text-decoration:underline}html.theme--documenter-dark .notification.is-black a:not(.button){color:#fff;text-decoration:underline}html.theme--documenter-dark .notification.is-light a:not(.button){color:#282f2f;text-decoration:underline}html.theme--documenter-dark .notification.is-dark a:not(.button),html.theme--documenter-dark .content kbd.notification a:not(.button){color:#ecf0f1;text-decoration:underline}html.theme--documenter-dark .notification.is-primary a:not(.button),html.theme--documenter-dark .docstring>section>a.notification.docs-sourcelink a:not(.button){color:#fff;text-decoration:underline}html.theme--documenter-dark .notification.is-link a:not(.button){color:#fff;text-decoration:underline}html.theme--documenter-dark .notification.is-info a:not(.button){color:#fff;text-decoration:underline}html.theme--documenter-dark .notification.is-success a:not(.button){color:#fff;text-decoration:underline}html.theme--documenter-dark .notification.is-warning a:not(.button){color:#fff;text-decoration:underline}html.theme--documenter-dark .notification.is-danger a:not(.button){color:#fff;text-decoration:underline}html.theme--documenter-dark .tag,html.theme--documenter-dark .content kbd,html.theme--documenter-dark .docstring>section>a.docs-sourcelink{border-radius:.4em}html.theme--documenter-dark .menu-list a{transition:all 300ms ease}html.theme--documenter-dark .modal-card-body{background-color:#282f2f}html.theme--documenter-dark .modal-card-foot,html.theme--documenter-dark .modal-card-head{border-color:#343c3d}html.theme--documenter-dark .message-header{font-weight:700;background-color:#343c3d;color:#fff}html.theme--documenter-dark .message-body{border-width:1px;border-color:#343c3d}html.theme--documenter-dark .navbar{border-radius:.4em}html.theme--documenter-dark .navbar.is-transparent{background:none}html.theme--documenter-dark .navbar.is-primary .navbar-dropdown a.navbar-item.is-active,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-dropdown a.navbar-item.is-active{background-color:#1abc9c}@media screen and (max-width: 1055px){html.theme--documenter-dark .navbar .navbar-menu{background-color:#375a7f;border-radius:0 0 .4em .4em}}html.theme--documenter-dark .hero .navbar,html.theme--documenter-dark body>.navbar{border-radius:0}html.theme--documenter-dark .pagination-link,html.theme--documenter-dark .pagination-next,html.theme--documenter-dark .pagination-previous{border-width:1px}html.theme--documenter-dark .panel-block,html.theme--documenter-dark .panel-heading,html.theme--documenter-dark .panel-tabs{border-width:1px}html.theme--documenter-dark .panel-block:first-child,html.theme--documenter-dark .panel-heading:first-child,html.theme--documenter-dark .panel-tabs:first-child{border-top-width:1px}html.theme--documenter-dark .panel-heading{font-weight:700}html.theme--documenter-dark .panel-tabs a{border-width:1px;margin-bottom:-1px}html.theme--documenter-dark .panel-tabs a.is-active{border-bottom-color:#17a689}html.theme--documenter-dark .panel-block:hover{color:#1dd2af}html.theme--documenter-dark .panel-block:hover .panel-icon{color:#1dd2af}html.theme--documenter-dark .panel-block.is-active .panel-icon{color:#17a689}html.theme--documenter-dark .tabs a{border-bottom-width:1px;margin-bottom:-1px}html.theme--documenter-dark .tabs ul{border-bottom-width:1px}html.theme--documenter-dark .tabs.is-boxed a{border-width:1px}html.theme--documenter-dark .tabs.is-boxed li.is-active a{background-color:#1f2424}html.theme--documenter-dark .tabs.is-toggle li a{border-width:1px;margin-bottom:0}html.theme--documenter-dark .tabs.is-toggle li+li{margin-left:-1px}html.theme--documenter-dark .hero.is-white .navbar .navbar-dropdown .navbar-item:hover{background-color:rgba(0,0,0,0)}html.theme--documenter-dark .hero.is-black .navbar .navbar-dropdown .navbar-item:hover{background-color:rgba(0,0,0,0)}html.theme--documenter-dark .hero.is-light .navbar .navbar-dropdown .navbar-item:hover{background-color:rgba(0,0,0,0)}html.theme--documenter-dark .hero.is-dark .navbar .navbar-dropdown .navbar-item:hover,html.theme--documenter-dark .content kbd.hero .navbar .navbar-dropdown .navbar-item:hover{background-color:rgba(0,0,0,0)}html.theme--documenter-dark .hero.is-primary .navbar .navbar-dropdown .navbar-item:hover,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .navbar .navbar-dropdown .navbar-item:hover{background-color:rgba(0,0,0,0)}html.theme--documenter-dark .hero.is-link .navbar .navbar-dropdown .navbar-item:hover{background-color:rgba(0,0,0,0)}html.theme--documenter-dark .hero.is-info .navbar .navbar-dropdown .navbar-item:hover{background-color:rgba(0,0,0,0)}html.theme--documenter-dark .hero.is-success .navbar .navbar-dropdown .navbar-item:hover{background-color:rgba(0,0,0,0)}html.theme--documenter-dark .hero.is-warning .navbar .navbar-dropdown .navbar-item:hover{background-color:rgba(0,0,0,0)}html.theme--documenter-dark .hero.is-danger .navbar .navbar-dropdown .navbar-item:hover{background-color:rgba(0,0,0,0)}html.theme--documenter-dark h1 .docs-heading-anchor,html.theme--documenter-dark h1 .docs-heading-anchor:hover,html.theme--documenter-dark h1 .docs-heading-anchor:visited,html.theme--documenter-dark h2 .docs-heading-anchor,html.theme--documenter-dark h2 .docs-heading-anchor:hover,html.theme--documenter-dark h2 .docs-heading-anchor:visited,html.theme--documenter-dark h3 .docs-heading-anchor,html.theme--documenter-dark h3 .docs-heading-anchor:hover,html.theme--documenter-dark h3 .docs-heading-anchor:visited,html.theme--documenter-dark h4 .docs-heading-anchor,html.theme--documenter-dark h4 .docs-heading-anchor:hover,html.theme--documenter-dark h4 .docs-heading-anchor:visited,html.theme--documenter-dark h5 .docs-heading-anchor,html.theme--documenter-dark h5 .docs-heading-anchor:hover,html.theme--documenter-dark h5 .docs-heading-anchor:visited,html.theme--documenter-dark h6 .docs-heading-anchor,html.theme--documenter-dark h6 .docs-heading-anchor:hover,html.theme--documenter-dark h6 .docs-heading-anchor:visited{color:#f2f2f2}html.theme--documenter-dark h1 .docs-heading-anchor-permalink,html.theme--documenter-dark h2 .docs-heading-anchor-permalink,html.theme--documenter-dark h3 .docs-heading-anchor-permalink,html.theme--documenter-dark h4 .docs-heading-anchor-permalink,html.theme--documenter-dark h5 .docs-heading-anchor-permalink,html.theme--documenter-dark h6 .docs-heading-anchor-permalink{visibility:hidden;vertical-align:middle;margin-left:0.5em;font-size:0.7rem}html.theme--documenter-dark h1 .docs-heading-anchor-permalink::before,html.theme--documenter-dark h2 .docs-heading-anchor-permalink::before,html.theme--documenter-dark h3 .docs-heading-anchor-permalink::before,html.theme--documenter-dark h4 .docs-heading-anchor-permalink::before,html.theme--documenter-dark h5 .docs-heading-anchor-permalink::before,html.theme--documenter-dark h6 .docs-heading-anchor-permalink::before{font-family:"Font Awesome 5 Free";font-weight:900;content:"\f0c1"}html.theme--documenter-dark h1:hover .docs-heading-anchor-permalink,html.theme--documenter-dark h2:hover .docs-heading-anchor-permalink,html.theme--documenter-dark h3:hover .docs-heading-anchor-permalink,html.theme--documenter-dark h4:hover .docs-heading-anchor-permalink,html.theme--documenter-dark h5:hover .docs-heading-anchor-permalink,html.theme--documenter-dark h6:hover .docs-heading-anchor-permalink{visibility:visible}html.theme--documenter-dark .docs-light-only{display:none !important}html.theme--documenter-dark pre{position:relative;overflow:hidden}html.theme--documenter-dark pre code,html.theme--documenter-dark pre code.hljs{padding:0 .75rem !important;overflow:auto;display:block}html.theme--documenter-dark pre code:first-of-type,html.theme--documenter-dark pre code.hljs:first-of-type{padding-top:0.5rem !important}html.theme--documenter-dark pre code:last-of-type,html.theme--documenter-dark pre code.hljs:last-of-type{padding-bottom:0.5rem !important}html.theme--documenter-dark pre .copy-button{opacity:0.2;transition:opacity 0.2s;position:absolute;right:0em;top:0em;padding:0.5em;width:2.5em;height:2.5em;background:transparent;border:none;font-family:"Font Awesome 5 Free";color:#fff;cursor:pointer;text-align:center}html.theme--documenter-dark pre .copy-button:focus,html.theme--documenter-dark pre .copy-button:hover{opacity:1;background:rgba(255,255,255,0.1);color:#1abc9c}html.theme--documenter-dark pre .copy-button.success{color:#259a12;opacity:1}html.theme--documenter-dark pre .copy-button.error{color:#cb3c33;opacity:1}html.theme--documenter-dark pre:hover .copy-button{opacity:1}html.theme--documenter-dark .admonition{background-color:#282f2f;border-style:solid;border-width:1px;border-color:#5e6d6f;border-radius:.4em;font-size:15px}html.theme--documenter-dark .admonition strong{color:currentColor}html.theme--documenter-dark .admonition.is-small,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.admonition{font-size:.85em}html.theme--documenter-dark .admonition.is-medium{font-size:1.25rem}html.theme--documenter-dark .admonition.is-large{font-size:1.5rem}html.theme--documenter-dark .admonition.is-default{background-color:#282f2f;border-color:#5e6d6f}html.theme--documenter-dark .admonition.is-default>.admonition-header{background-color:#5e6d6f;color:#fff}html.theme--documenter-dark .admonition.is-default>.admonition-body{color:#fff}html.theme--documenter-dark .admonition.is-info{background-color:#282f2f;border-color:#024c7d}html.theme--documenter-dark .admonition.is-info>.admonition-header{background-color:#024c7d;color:#fff}html.theme--documenter-dark .admonition.is-info>.admonition-body{color:#fff}html.theme--documenter-dark .admonition.is-success{background-color:#282f2f;border-color:#008438}html.theme--documenter-dark .admonition.is-success>.admonition-header{background-color:#008438;color:#fff}html.theme--documenter-dark .admonition.is-success>.admonition-body{color:#fff}html.theme--documenter-dark .admonition.is-warning{background-color:#282f2f;border-color:#ad8100}html.theme--documenter-dark .admonition.is-warning>.admonition-header{background-color:#ad8100;color:#fff}html.theme--documenter-dark .admonition.is-warning>.admonition-body{color:#fff}html.theme--documenter-dark .admonition.is-danger{background-color:#282f2f;border-color:#9e1b0d}html.theme--documenter-dark .admonition.is-danger>.admonition-header{background-color:#9e1b0d;color:#fff}html.theme--documenter-dark .admonition.is-danger>.admonition-body{color:#fff}html.theme--documenter-dark .admonition.is-compat{background-color:#282f2f;border-color:#137886}html.theme--documenter-dark .admonition.is-compat>.admonition-header{background-color:#137886;color:#fff}html.theme--documenter-dark .admonition.is-compat>.admonition-body{color:#fff}html.theme--documenter-dark .admonition-header{color:#fff;background-color:#5e6d6f;align-items:center;font-weight:700;justify-content:space-between;line-height:1.25;padding:0.5rem .75rem;position:relative}html.theme--documenter-dark .admonition-header:before{font-family:"Font Awesome 5 Free";font-weight:900;margin-right:.75rem;content:"\f06a"}html.theme--documenter-dark .admonition-body{color:#fff;padding:0.5rem .75rem}html.theme--documenter-dark .admonition-body pre{background-color:#282f2f}html.theme--documenter-dark .admonition-body code{background-color:rgba(255,255,255,0.05)}html.theme--documenter-dark .docstring{margin-bottom:1em;background-color:rgba(0,0,0,0);border:1px solid #5e6d6f;box-shadow:none;max-width:100%}html.theme--documenter-dark .docstring>header{display:flex;flex-grow:1;align-items:stretch;padding:0.5rem .75rem;background-color:#282f2f;box-shadow:0 1px 2px rgba(10,10,10,0.1);box-shadow:none;border-bottom:1px solid #5e6d6f}html.theme--documenter-dark .docstring>header code{background-color:transparent}html.theme--documenter-dark .docstring>header .docstring-binding{margin-right:0.3em}html.theme--documenter-dark .docstring>header .docstring-category{margin-left:0.3em}html.theme--documenter-dark .docstring>section{position:relative;padding:.75rem .75rem;border-bottom:1px solid #5e6d6f}html.theme--documenter-dark .docstring>section:last-child{border-bottom:none}html.theme--documenter-dark .docstring>section>a.docs-sourcelink{transition:opacity 0.3s;opacity:0;position:absolute;right:.375rem;bottom:.375rem}html.theme--documenter-dark .docstring>section>a.docs-sourcelink:focus{opacity:1 !important}html.theme--documenter-dark .docstring:hover>section>a.docs-sourcelink{opacity:0.2}html.theme--documenter-dark .docstring:focus-within>section>a.docs-sourcelink{opacity:0.2}html.theme--documenter-dark .docstring>section:hover a.docs-sourcelink{opacity:1}html.theme--documenter-dark .documenter-example-output{background-color:#1f2424}html.theme--documenter-dark .outdated-warning-overlay{position:fixed;top:0;left:0;right:0;box-shadow:0 0 10px rgba(0,0,0,0.3);z-index:999;background-color:#282f2f;color:#fff;border-bottom:3px solid #9e1b0d;padding:10px 35px;text-align:center;font-size:15px}html.theme--documenter-dark .outdated-warning-overlay .outdated-warning-closer{position:absolute;top:calc(50% - 10px);right:18px;cursor:pointer;width:12px}html.theme--documenter-dark .outdated-warning-overlay a{color:#1abc9c}html.theme--documenter-dark .outdated-warning-overlay a:hover{color:#1dd2af}html.theme--documenter-dark .content pre{border:1px solid #5e6d6f}html.theme--documenter-dark .content code{font-weight:inherit}html.theme--documenter-dark .content a code{color:#1abc9c}html.theme--documenter-dark .content h1 code,html.theme--documenter-dark .content h2 code,html.theme--documenter-dark .content h3 code,html.theme--documenter-dark .content h4 code,html.theme--documenter-dark .content h5 code,html.theme--documenter-dark .content h6 code{color:#f2f2f2}html.theme--documenter-dark .content table{display:block;width:initial;max-width:100%;overflow-x:auto}html.theme--documenter-dark .content blockquote>ul:first-child,html.theme--documenter-dark .content blockquote>ol:first-child,html.theme--documenter-dark .content .admonition-body>ul:first-child,html.theme--documenter-dark .content .admonition-body>ol:first-child{margin-top:0}html.theme--documenter-dark pre,html.theme--documenter-dark code{font-variant-ligatures:no-contextual}html.theme--documenter-dark .breadcrumb a.is-disabled{cursor:default;pointer-events:none}html.theme--documenter-dark .breadcrumb a.is-disabled,html.theme--documenter-dark .breadcrumb a.is-disabled:hover{color:#f2f2f2}html.theme--documenter-dark .hljs{background:initial !important}html.theme--documenter-dark .katex .katex-mathml{top:0;right:0}html.theme--documenter-dark .katex-display,html.theme--documenter-dark mjx-container,html.theme--documenter-dark .MathJax_Display{margin:0.5em 0 !important}html.theme--documenter-dark html{-moz-osx-font-smoothing:auto;-webkit-font-smoothing:auto}html.theme--documenter-dark li.no-marker{list-style:none}html.theme--documenter-dark #documenter .docs-main>article{overflow-wrap:break-word}html.theme--documenter-dark #documenter .docs-main>article .math-container{overflow-x:auto;overflow-y:hidden}@media screen and (min-width: 1056px){html.theme--documenter-dark #documenter .docs-main{max-width:52rem;margin-left:20rem;padding-right:1rem}}@media screen and (max-width: 1055px){html.theme--documenter-dark #documenter .docs-main{width:100%}html.theme--documenter-dark #documenter .docs-main>article{max-width:52rem;margin-left:auto;margin-right:auto;margin-bottom:1rem;padding:0 1rem}html.theme--documenter-dark #documenter .docs-main>header,html.theme--documenter-dark #documenter .docs-main>nav{max-width:100%;width:100%;margin:0}}html.theme--documenter-dark #documenter .docs-main header.docs-navbar{background-color:#1f2424;border-bottom:1px solid #5e6d6f;z-index:2;min-height:4rem;margin-bottom:1rem;display:flex}html.theme--documenter-dark #documenter .docs-main header.docs-navbar .breadcrumb{flex-grow:1}html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right{display:flex;white-space:nowrap}html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-icon,html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-label,html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-sidebar-button{display:inline-block}html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-label{padding:0;margin-left:0.3em}html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-settings-button{margin:auto 0 auto 1rem}html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-sidebar-button{font-size:1.5rem;margin:auto 0 auto 1rem}html.theme--documenter-dark #documenter .docs-main header.docs-navbar>*{margin:auto 0}@media screen and (max-width: 1055px){html.theme--documenter-dark #documenter .docs-main header.docs-navbar{position:sticky;top:0;padding:0 1rem;transition-property:top, box-shadow;-webkit-transition-property:top, box-shadow;transition-duration:0.3s;-webkit-transition-duration:0.3s}html.theme--documenter-dark #documenter .docs-main header.docs-navbar.headroom--not-top{box-shadow:.2rem 0rem .4rem #171717;transition-duration:0.7s;-webkit-transition-duration:0.7s}html.theme--documenter-dark #documenter .docs-main header.docs-navbar.headroom--unpinned.headroom--not-top.headroom--not-bottom{top:-4.5rem;transition-duration:0.7s;-webkit-transition-duration:0.7s}}html.theme--documenter-dark #documenter .docs-main section.footnotes{border-top:1px solid #5e6d6f}html.theme--documenter-dark #documenter .docs-main section.footnotes li .tag:first-child,html.theme--documenter-dark #documenter .docs-main section.footnotes li .docstring>section>a.docs-sourcelink:first-child,html.theme--documenter-dark #documenter .docs-main section.footnotes li .content kbd:first-child,html.theme--documenter-dark .content #documenter .docs-main section.footnotes li kbd:first-child{margin-right:1em;margin-bottom:0.4em}html.theme--documenter-dark #documenter .docs-main .docs-footer{display:flex;flex-wrap:wrap;margin-left:0;margin-right:0;border-top:1px solid #5e6d6f;padding-top:1rem;padding-bottom:1rem}@media screen and (max-width: 1055px){html.theme--documenter-dark #documenter .docs-main .docs-footer{padding-left:1rem;padding-right:1rem}}html.theme--documenter-dark #documenter .docs-main .docs-footer .docs-footer-nextpage,html.theme--documenter-dark #documenter .docs-main .docs-footer .docs-footer-prevpage{flex-grow:1}html.theme--documenter-dark #documenter .docs-main .docs-footer .docs-footer-nextpage{text-align:right}html.theme--documenter-dark #documenter .docs-main .docs-footer .flexbox-break{flex-basis:100%;height:0}html.theme--documenter-dark #documenter .docs-main .docs-footer .footer-message{font-size:0.8em;margin:0.5em auto 0 auto;text-align:center}html.theme--documenter-dark #documenter .docs-sidebar{display:flex;flex-direction:column;color:#fff;background-color:#282f2f;border-right:1px solid #5e6d6f;padding:0;flex:0 0 18rem;z-index:5;font-size:15px;position:fixed;left:-18rem;width:18rem;height:100%;transition:left 0.3s}html.theme--documenter-dark #documenter .docs-sidebar.visible{left:0;box-shadow:.4rem 0rem .8rem #171717}@media screen and (min-width: 1056px){html.theme--documenter-dark #documenter .docs-sidebar.visible{box-shadow:none}}@media screen and (min-width: 1056px){html.theme--documenter-dark #documenter .docs-sidebar{left:0;top:0}}html.theme--documenter-dark #documenter .docs-sidebar .docs-logo{margin-top:1rem;padding:0 1rem}html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img{max-height:6rem;margin:auto}html.theme--documenter-dark #documenter .docs-sidebar .docs-package-name{flex-shrink:0;font-size:1.5rem;font-weight:700;text-align:center;white-space:nowrap;overflow:hidden;padding:0.5rem 0}html.theme--documenter-dark #documenter .docs-sidebar .docs-package-name .docs-autofit{max-width:16.2rem}html.theme--documenter-dark #documenter .docs-sidebar .docs-package-name a,html.theme--documenter-dark #documenter .docs-sidebar .docs-package-name a:hover{color:#fff}html.theme--documenter-dark #documenter .docs-sidebar .docs-version-selector{border-top:1px solid #5e6d6f;display:none;padding:0.5rem}html.theme--documenter-dark #documenter .docs-sidebar .docs-version-selector.visible{display:flex}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu{flex-grow:1;user-select:none;border-top:1px solid #5e6d6f;padding-bottom:1.5rem}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu>li>.tocitem{font-weight:bold}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu>li li{font-size:14.25px;margin-left:1em;border-left:1px solid #5e6d6f}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu input.collapse-toggle{display:none}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu ul.collapsed{display:none}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu input:checked~ul.collapsed{display:block}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu label.tocitem{display:flex}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu label.tocitem .docs-label{flex-grow:2}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu label.tocitem .docs-chevron{display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1;font-size:11.25px;margin-left:1rem;margin-top:auto;margin-bottom:auto}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu label.tocitem .docs-chevron::before{font-family:"Font Awesome 5 Free";font-weight:900;content:"\f054"}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu input:checked~label.tocitem .docs-chevron::before{content:"\f078"}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu .tocitem{display:block;padding:0.5rem 0.5rem}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu .tocitem,html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu .tocitem:hover{color:#fff;background:#282f2f}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu a.tocitem:hover,html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu label.tocitem:hover{color:#fff;background-color:#32393a}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu li.is-active{border-top:1px solid #5e6d6f;border-bottom:1px solid #5e6d6f;background-color:#1f2424}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu li.is-active .tocitem,html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu li.is-active .tocitem:hover{background-color:#1f2424;color:#fff}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu li.is-active ul.internal .tocitem:hover{background-color:#32393a;color:#fff}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu>li.is-active:first-child{border-top:none}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu ul.internal{margin:0 0.5rem 0.5rem;border-top:1px solid #5e6d6f}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu ul.internal li{font-size:12.75px;border-left:none;margin-left:0;margin-top:0.5rem}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu ul.internal .tocitem{width:100%;padding:0}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu ul.internal .tocitem::before{content:"⚬";margin-right:0.4em}html.theme--documenter-dark #documenter .docs-sidebar form.docs-search{margin:auto;margin-top:0.5rem;margin-bottom:0.5rem}html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input{width:14.4rem}@media screen and (min-width: 1056px){html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu{overflow-y:auto;-webkit-overflow-scroll:touch}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar{width:.3rem;background:none}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar-thumb{border-radius:5px 0px 0px 5px;background:#3b4445}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar-thumb:hover{background:#4e5a5c}}@media screen and (max-width: 1055px){html.theme--documenter-dark #documenter .docs-sidebar{overflow-y:auto;-webkit-overflow-scroll:touch}html.theme--documenter-dark #documenter .docs-sidebar::-webkit-scrollbar{width:.3rem;background:none}html.theme--documenter-dark #documenter .docs-sidebar::-webkit-scrollbar-thumb{border-radius:5px 0px 0px 5px;background:#3b4445}html.theme--documenter-dark #documenter .docs-sidebar::-webkit-scrollbar-thumb:hover{background:#4e5a5c}}html.theme--documenter-dark #documenter .docs-main #documenter-search-info{margin-bottom:1rem}html.theme--documenter-dark #documenter .docs-main #documenter-search-results{list-style-type:circle;list-style-position:outside}html.theme--documenter-dark #documenter .docs-main #documenter-search-results li{margin-left:2rem}html.theme--documenter-dark #documenter .docs-main #documenter-search-results .docs-highlight{background-color:yellow}html.theme--documenter-dark{background-color:#1f2424;font-size:16px;min-width:300px;overflow-x:auto;overflow-y:scroll;text-rendering:optimizeLegibility;text-size-adjust:100%}html.theme--documenter-dark .ansi span.sgr1{font-weight:bolder}html.theme--documenter-dark .ansi span.sgr2{font-weight:lighter}html.theme--documenter-dark .ansi span.sgr3{font-style:italic}html.theme--documenter-dark .ansi span.sgr4{text-decoration:underline}html.theme--documenter-dark .ansi span.sgr7{color:#1f2424;background-color:#fff}html.theme--documenter-dark .ansi span.sgr8{color:transparent}html.theme--documenter-dark .ansi span.sgr8 span{color:transparent}html.theme--documenter-dark .ansi span.sgr9{text-decoration:line-through}html.theme--documenter-dark .ansi span.sgr30{color:#242424}html.theme--documenter-dark .ansi span.sgr31{color:#f6705f}html.theme--documenter-dark .ansi span.sgr32{color:#4fb43a}html.theme--documenter-dark .ansi span.sgr33{color:#f4c72f}html.theme--documenter-dark .ansi span.sgr34{color:#7587f0}html.theme--documenter-dark .ansi span.sgr35{color:#bc89d3}html.theme--documenter-dark .ansi span.sgr36{color:#49b6ca}html.theme--documenter-dark .ansi span.sgr37{color:#b3bdbe}html.theme--documenter-dark .ansi span.sgr40{background-color:#242424}html.theme--documenter-dark .ansi span.sgr41{background-color:#f6705f}html.theme--documenter-dark .ansi span.sgr42{background-color:#4fb43a}html.theme--documenter-dark .ansi span.sgr43{background-color:#f4c72f}html.theme--documenter-dark .ansi span.sgr44{background-color:#7587f0}html.theme--documenter-dark .ansi span.sgr45{background-color:#bc89d3}html.theme--documenter-dark .ansi span.sgr46{background-color:#49b6ca}html.theme--documenter-dark .ansi span.sgr47{background-color:#b3bdbe}html.theme--documenter-dark .ansi span.sgr90{color:#92a0a2}html.theme--documenter-dark .ansi span.sgr91{color:#ff8674}html.theme--documenter-dark .ansi span.sgr92{color:#79d462}html.theme--documenter-dark .ansi span.sgr93{color:#ffe76b}html.theme--documenter-dark .ansi span.sgr94{color:#8a98ff}html.theme--documenter-dark .ansi span.sgr95{color:#d2a4e6}html.theme--documenter-dark .ansi span.sgr96{color:#6bc8db}html.theme--documenter-dark .ansi span.sgr97{color:#ecf0f1}html.theme--documenter-dark .ansi span.sgr100{background-color:#92a0a2}html.theme--documenter-dark .ansi span.sgr101{background-color:#ff8674}html.theme--documenter-dark .ansi span.sgr102{background-color:#79d462}html.theme--documenter-dark .ansi span.sgr103{background-color:#ffe76b}html.theme--documenter-dark .ansi span.sgr104{background-color:#8a98ff}html.theme--documenter-dark .ansi span.sgr105{background-color:#d2a4e6}html.theme--documenter-dark .ansi span.sgr106{background-color:#6bc8db}html.theme--documenter-dark .ansi span.sgr107{background-color:#ecf0f1}html.theme--documenter-dark code.language-julia-repl>span.hljs-meta{color:#4fb43a;font-weight:bolder}html.theme--documenter-dark .hljs{background:#2b2b2b;color:#f8f8f2}html.theme--documenter-dark .hljs-comment,html.theme--documenter-dark .hljs-quote{color:#d4d0ab}html.theme--documenter-dark .hljs-variable,html.theme--documenter-dark .hljs-template-variable,html.theme--documenter-dark .hljs-tag,html.theme--documenter-dark .hljs-name,html.theme--documenter-dark .hljs-selector-id,html.theme--documenter-dark .hljs-selector-class,html.theme--documenter-dark .hljs-regexp,html.theme--documenter-dark .hljs-deletion{color:#ffa07a}html.theme--documenter-dark .hljs-number,html.theme--documenter-dark .hljs-built_in,html.theme--documenter-dark .hljs-literal,html.theme--documenter-dark .hljs-type,html.theme--documenter-dark .hljs-params,html.theme--documenter-dark .hljs-meta,html.theme--documenter-dark .hljs-link{color:#f5ab35}html.theme--documenter-dark .hljs-attribute{color:#ffd700}html.theme--documenter-dark .hljs-string,html.theme--documenter-dark .hljs-symbol,html.theme--documenter-dark .hljs-bullet,html.theme--documenter-dark .hljs-addition{color:#abe338}html.theme--documenter-dark .hljs-title,html.theme--documenter-dark .hljs-section{color:#00e0e0}html.theme--documenter-dark .hljs-keyword,html.theme--documenter-dark .hljs-selector-tag{color:#dcc6e0}html.theme--documenter-dark .hljs-emphasis{font-style:italic}html.theme--documenter-dark .hljs-strong{font-weight:bold}@media screen and (-ms-high-contrast: active){html.theme--documenter-dark .hljs-addition,html.theme--documenter-dark .hljs-attribute,html.theme--documenter-dark .hljs-built_in,html.theme--documenter-dark .hljs-bullet,html.theme--documenter-dark .hljs-comment,html.theme--documenter-dark .hljs-link,html.theme--documenter-dark .hljs-literal,html.theme--documenter-dark .hljs-meta,html.theme--documenter-dark .hljs-number,html.theme--documenter-dark .hljs-params,html.theme--documenter-dark .hljs-string,html.theme--documenter-dark .hljs-symbol,html.theme--documenter-dark .hljs-type,html.theme--documenter-dark .hljs-quote{color:highlight}html.theme--documenter-dark .hljs-keyword,html.theme--documenter-dark .hljs-selector-tag{font-weight:bold}}html.theme--documenter-dark .hljs-subst{color:#f8f8f2}
diff --git a/previews/PR747/assets/themes/documenter-light.css b/previews/PR747/assets/themes/documenter-light.css
deleted file mode 100644
index 9b9a14b04..000000000
--- a/previews/PR747/assets/themes/documenter-light.css
+++ /dev/null
@@ -1,9 +0,0 @@
-@keyframes spinAround{from{transform:rotate(0deg)}to{transform:rotate(359deg)}}.tabs,.pagination-previous,.pagination-next,.pagination-link,.pagination-ellipsis,.breadcrumb,.file,.button,.is-unselectable,.modal-close,.delete{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.navbar-link:not(.is-arrowless)::after,.select:not(.is-multiple):not(.is-loading)::after{border:3px solid rgba(0,0,0,0);border-radius:2px;border-right:0;border-top:0;content:" ";display:block;height:0.625em;margin-top:-0.4375em;pointer-events:none;position:absolute;top:50%;transform:rotate(-45deg);transform-origin:center;width:0.625em}.admonition:not(:last-child),.tabs:not(:last-child),.message:not(:last-child),.list:not(:last-child),.level:not(:last-child),.breadcrumb:not(:last-child),.highlight:not(:last-child),.block:not(:last-child),.title:not(:last-child),.subtitle:not(:last-child),.table-container:not(:last-child),.table:not(:last-child),.progress:not(:last-child),.notification:not(:last-child),.content:not(:last-child),.box:not(:last-child){margin-bottom:1.5rem}.modal-close,.delete{-moz-appearance:none;-webkit-appearance:none;background-color:rgba(10,10,10,0.2);border:none;border-radius:290486px;cursor:pointer;pointer-events:auto;display:inline-block;flex-grow:0;flex-shrink:0;font-size:0;height:20px;max-height:20px;max-width:20px;min-height:20px;min-width:20px;outline:none;position:relative;vertical-align:top;width:20px}.modal-close::before,.delete::before,.modal-close::after,.delete::after{background-color:#fff;content:"";display:block;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%) rotate(45deg);transform-origin:center center}.modal-close::before,.delete::before{height:2px;width:50%}.modal-close::after,.delete::after{height:50%;width:2px}.modal-close:hover,.delete:hover,.modal-close:focus,.delete:focus{background-color:rgba(10,10,10,0.3)}.modal-close:active,.delete:active{background-color:rgba(10,10,10,0.4)}.is-small.modal-close,#documenter .docs-sidebar form.docs-search>input.modal-close,.is-small.delete,#documenter .docs-sidebar form.docs-search>input.delete{height:16px;max-height:16px;max-width:16px;min-height:16px;min-width:16px;width:16px}.is-medium.modal-close,.is-medium.delete{height:24px;max-height:24px;max-width:24px;min-height:24px;min-width:24px;width:24px}.is-large.modal-close,.is-large.delete{height:32px;max-height:32px;max-width:32px;min-height:32px;min-width:32px;width:32px}.control.is-loading::after,.select.is-loading::after,.loader,.button.is-loading::after{animation:spinAround 500ms infinite linear;border:2px solid #dbdbdb;border-radius:290486px;border-right-color:transparent;border-top-color:transparent;content:"";display:block;height:1em;position:relative;width:1em}.hero-video,.modal-background,.modal,.image.is-square img,#documenter .docs-sidebar .docs-logo>img.is-square img,.image.is-square .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-square .has-ratio,.image.is-1by1 img,#documenter .docs-sidebar .docs-logo>img.is-1by1 img,.image.is-1by1 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-1by1 .has-ratio,.image.is-5by4 img,#documenter .docs-sidebar .docs-logo>img.is-5by4 img,.image.is-5by4 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-5by4 .has-ratio,.image.is-4by3 img,#documenter .docs-sidebar .docs-logo>img.is-4by3 img,.image.is-4by3 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-4by3 .has-ratio,.image.is-3by2 img,#documenter .docs-sidebar .docs-logo>img.is-3by2 img,.image.is-3by2 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-3by2 .has-ratio,.image.is-5by3 img,#documenter .docs-sidebar .docs-logo>img.is-5by3 img,.image.is-5by3 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-5by3 .has-ratio,.image.is-16by9 img,#documenter .docs-sidebar .docs-logo>img.is-16by9 img,.image.is-16by9 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-16by9 .has-ratio,.image.is-2by1 img,#documenter .docs-sidebar .docs-logo>img.is-2by1 img,.image.is-2by1 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-2by1 .has-ratio,.image.is-3by1 img,#documenter .docs-sidebar .docs-logo>img.is-3by1 img,.image.is-3by1 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-3by1 .has-ratio,.image.is-4by5 img,#documenter .docs-sidebar .docs-logo>img.is-4by5 img,.image.is-4by5 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-4by5 .has-ratio,.image.is-3by4 img,#documenter .docs-sidebar .docs-logo>img.is-3by4 img,.image.is-3by4 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-3by4 .has-ratio,.image.is-2by3 img,#documenter .docs-sidebar .docs-logo>img.is-2by3 img,.image.is-2by3 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-2by3 .has-ratio,.image.is-3by5 img,#documenter .docs-sidebar .docs-logo>img.is-3by5 img,.image.is-3by5 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-3by5 .has-ratio,.image.is-9by16 img,#documenter .docs-sidebar .docs-logo>img.is-9by16 img,.image.is-9by16 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-9by16 .has-ratio,.image.is-1by2 img,#documenter .docs-sidebar .docs-logo>img.is-1by2 img,.image.is-1by2 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-1by2 .has-ratio,.image.is-1by3 img,#documenter .docs-sidebar .docs-logo>img.is-1by3 img,.image.is-1by3 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-1by3 .has-ratio,.is-overlay{bottom:0;left:0;position:absolute;right:0;top:0}.pagination-previous,.pagination-next,.pagination-link,.pagination-ellipsis,.file-cta,.file-name,.select select,.textarea,.input,#documenter .docs-sidebar form.docs-search>input,.button{-moz-appearance:none;-webkit-appearance:none;align-items:center;border:1px solid transparent;border-radius:4px;box-shadow:none;display:inline-flex;font-size:1rem;height:2.25em;justify-content:flex-start;line-height:1.5;padding-bottom:calc(0.375em - 1px);padding-left:calc(0.625em - 1px);padding-right:calc(0.625em - 1px);padding-top:calc(0.375em - 1px);position:relative;vertical-align:top}.pagination-previous:focus,.pagination-next:focus,.pagination-link:focus,.pagination-ellipsis:focus,.file-cta:focus,.file-name:focus,.select select:focus,.textarea:focus,.input:focus,#documenter .docs-sidebar form.docs-search>input:focus,.button:focus,.is-focused.pagination-previous,.is-focused.pagination-next,.is-focused.pagination-link,.is-focused.pagination-ellipsis,.is-focused.file-cta,.is-focused.file-name,.select select.is-focused,.is-focused.textarea,.is-focused.input,#documenter .docs-sidebar form.docs-search>input.is-focused,.is-focused.button,.pagination-previous:active,.pagination-next:active,.pagination-link:active,.pagination-ellipsis:active,.file-cta:active,.file-name:active,.select select:active,.textarea:active,.input:active,#documenter .docs-sidebar form.docs-search>input:active,.button:active,.is-active.pagination-previous,.is-active.pagination-next,.is-active.pagination-link,.is-active.pagination-ellipsis,.is-active.file-cta,.is-active.file-name,.select select.is-active,.is-active.textarea,.is-active.input,#documenter .docs-sidebar form.docs-search>input.is-active,.is-active.button{outline:none}.pagination-previous[disabled],.pagination-next[disabled],.pagination-link[disabled],.pagination-ellipsis[disabled],.file-cta[disabled],.file-name[disabled],.select select[disabled],.textarea[disabled],.input[disabled],#documenter .docs-sidebar form.docs-search>input[disabled],.button[disabled],fieldset[disabled] .pagination-previous,fieldset[disabled] .pagination-next,fieldset[disabled] .pagination-link,fieldset[disabled] .pagination-ellipsis,fieldset[disabled] .file-cta,fieldset[disabled] .file-name,fieldset[disabled] .select select,.select fieldset[disabled] select,fieldset[disabled] .textarea,fieldset[disabled] .input,fieldset[disabled] #documenter .docs-sidebar form.docs-search>input,#documenter .docs-sidebar fieldset[disabled] form.docs-search>input,fieldset[disabled] .button{cursor:not-allowed}/*! minireset.css v0.0.4 | MIT License | github.com/jgthms/minireset.css */html,body,p,ol,ul,li,dl,dt,dd,blockquote,figure,fieldset,legend,textarea,pre,iframe,hr,h1,h2,h3,h4,h5,h6{margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}ul{list-style:none}button,input,select,textarea{margin:0}html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}img,embed,iframe,object,video{height:auto;max-width:100%}audio{max-width:100%}iframe{border:0}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}td:not([align]),th:not([align]){text-align:left}html{background-color:#fff;font-size:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;min-width:300px;overflow-x:auto;overflow-y:scroll;text-rendering:optimizeLegibility;text-size-adjust:100%}article,aside,figure,footer,header,hgroup,section{display:block}body,button,input,select,textarea{font-family:"Lato Medium",-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue","Helvetica","Arial",sans-serif}code,pre{-moz-osx-font-smoothing:auto;-webkit-font-smoothing:auto;font-family:"JuliaMono","SFMono-Regular","Menlo","Consolas","Liberation Mono","DejaVu Sans Mono",monospace}body{color:#222;font-size:1em;font-weight:400;line-height:1.5}a{color:#2e63b8;cursor:pointer;text-decoration:none}a strong{color:currentColor}a:hover{color:#363636}code{background-color:rgba(0,0,0,0.05);color:#000;font-size:.875em;font-weight:normal;padding:.1em}hr{background-color:#f5f5f5;border:none;display:block;height:2px;margin:1.5rem 0}img{height:auto;max-width:100%}input[type="checkbox"],input[type="radio"]{vertical-align:baseline}small{font-size:.875em}span{font-style:inherit;font-weight:inherit}strong{color:#222;font-weight:700}fieldset{border:none}pre{-webkit-overflow-scrolling:touch;background-color:#f5f5f5;color:#222;font-size:.875em;overflow-x:auto;padding:1.25rem 1.5rem;white-space:pre;word-wrap:normal}pre code{background-color:transparent;color:currentColor;font-size:1em;padding:0}table td,table th{vertical-align:top}table td:not([align]),table th:not([align]){text-align:left}table th{color:#222}.is-clearfix::after{clear:both;content:" ";display:table}.is-pulled-left{float:left !important}.is-pulled-right{float:right !important}.is-clipped{overflow:hidden !important}.is-size-1{font-size:3rem !important}.is-size-2{font-size:2.5rem !important}.is-size-3{font-size:2rem !important}.is-size-4{font-size:1.5rem !important}.is-size-5{font-size:1.25rem !important}.is-size-6{font-size:1rem !important}.is-size-7,.docstring>section>a.docs-sourcelink{font-size:.75rem !important}@media screen and (max-width: 768px){.is-size-1-mobile{font-size:3rem !important}.is-size-2-mobile{font-size:2.5rem !important}.is-size-3-mobile{font-size:2rem !important}.is-size-4-mobile{font-size:1.5rem !important}.is-size-5-mobile{font-size:1.25rem !important}.is-size-6-mobile{font-size:1rem !important}.is-size-7-mobile{font-size:.75rem !important}}@media screen and (min-width: 769px),print{.is-size-1-tablet{font-size:3rem !important}.is-size-2-tablet{font-size:2.5rem !important}.is-size-3-tablet{font-size:2rem !important}.is-size-4-tablet{font-size:1.5rem !important}.is-size-5-tablet{font-size:1.25rem !important}.is-size-6-tablet{font-size:1rem !important}.is-size-7-tablet{font-size:.75rem !important}}@media screen and (max-width: 1055px){.is-size-1-touch{font-size:3rem !important}.is-size-2-touch{font-size:2.5rem !important}.is-size-3-touch{font-size:2rem !important}.is-size-4-touch{font-size:1.5rem !important}.is-size-5-touch{font-size:1.25rem !important}.is-size-6-touch{font-size:1rem !important}.is-size-7-touch{font-size:.75rem !important}}@media screen and (min-width: 1056px){.is-size-1-desktop{font-size:3rem !important}.is-size-2-desktop{font-size:2.5rem !important}.is-size-3-desktop{font-size:2rem !important}.is-size-4-desktop{font-size:1.5rem !important}.is-size-5-desktop{font-size:1.25rem !important}.is-size-6-desktop{font-size:1rem !important}.is-size-7-desktop{font-size:.75rem !important}}@media screen and (min-width: 1216px){.is-size-1-widescreen{font-size:3rem !important}.is-size-2-widescreen{font-size:2.5rem !important}.is-size-3-widescreen{font-size:2rem !important}.is-size-4-widescreen{font-size:1.5rem !important}.is-size-5-widescreen{font-size:1.25rem !important}.is-size-6-widescreen{font-size:1rem !important}.is-size-7-widescreen{font-size:.75rem !important}}@media screen and (min-width: 1408px){.is-size-1-fullhd{font-size:3rem !important}.is-size-2-fullhd{font-size:2.5rem !important}.is-size-3-fullhd{font-size:2rem !important}.is-size-4-fullhd{font-size:1.5rem !important}.is-size-5-fullhd{font-size:1.25rem !important}.is-size-6-fullhd{font-size:1rem !important}.is-size-7-fullhd{font-size:.75rem !important}}.has-text-centered{text-align:center !important}.has-text-justified{text-align:justify !important}.has-text-left{text-align:left !important}.has-text-right{text-align:right !important}@media screen and (max-width: 768px){.has-text-centered-mobile{text-align:center !important}}@media screen and (min-width: 769px),print{.has-text-centered-tablet{text-align:center !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.has-text-centered-tablet-only{text-align:center !important}}@media screen and (max-width: 1055px){.has-text-centered-touch{text-align:center !important}}@media screen and (min-width: 1056px){.has-text-centered-desktop{text-align:center !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.has-text-centered-desktop-only{text-align:center !important}}@media screen and (min-width: 1216px){.has-text-centered-widescreen{text-align:center !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.has-text-centered-widescreen-only{text-align:center !important}}@media screen and (min-width: 1408px){.has-text-centered-fullhd{text-align:center !important}}@media screen and (max-width: 768px){.has-text-justified-mobile{text-align:justify !important}}@media screen and (min-width: 769px),print{.has-text-justified-tablet{text-align:justify !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.has-text-justified-tablet-only{text-align:justify !important}}@media screen and (max-width: 1055px){.has-text-justified-touch{text-align:justify !important}}@media screen and (min-width: 1056px){.has-text-justified-desktop{text-align:justify !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.has-text-justified-desktop-only{text-align:justify !important}}@media screen and (min-width: 1216px){.has-text-justified-widescreen{text-align:justify !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.has-text-justified-widescreen-only{text-align:justify !important}}@media screen and (min-width: 1408px){.has-text-justified-fullhd{text-align:justify !important}}@media screen and (max-width: 768px){.has-text-left-mobile{text-align:left !important}}@media screen and (min-width: 769px),print{.has-text-left-tablet{text-align:left !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.has-text-left-tablet-only{text-align:left !important}}@media screen and (max-width: 1055px){.has-text-left-touch{text-align:left !important}}@media screen and (min-width: 1056px){.has-text-left-desktop{text-align:left !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.has-text-left-desktop-only{text-align:left !important}}@media screen and (min-width: 1216px){.has-text-left-widescreen{text-align:left !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.has-text-left-widescreen-only{text-align:left !important}}@media screen and (min-width: 1408px){.has-text-left-fullhd{text-align:left !important}}@media screen and (max-width: 768px){.has-text-right-mobile{text-align:right !important}}@media screen and (min-width: 769px),print{.has-text-right-tablet{text-align:right !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.has-text-right-tablet-only{text-align:right !important}}@media screen and (max-width: 1055px){.has-text-right-touch{text-align:right !important}}@media screen and (min-width: 1056px){.has-text-right-desktop{text-align:right !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.has-text-right-desktop-only{text-align:right !important}}@media screen and (min-width: 1216px){.has-text-right-widescreen{text-align:right !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.has-text-right-widescreen-only{text-align:right !important}}@media screen and (min-width: 1408px){.has-text-right-fullhd{text-align:right !important}}.is-capitalized{text-transform:capitalize !important}.is-lowercase{text-transform:lowercase !important}.is-uppercase{text-transform:uppercase !important}.is-italic{font-style:italic !important}.has-text-white{color:#fff !important}a.has-text-white:hover,a.has-text-white:focus{color:#e6e6e6 !important}.has-background-white{background-color:#fff !important}.has-text-black{color:#0a0a0a !important}a.has-text-black:hover,a.has-text-black:focus{color:#000 !important}.has-background-black{background-color:#0a0a0a !important}.has-text-light{color:#f5f5f5 !important}a.has-text-light:hover,a.has-text-light:focus{color:#dbdbdb !important}.has-background-light{background-color:#f5f5f5 !important}.has-text-dark{color:#363636 !important}a.has-text-dark:hover,a.has-text-dark:focus{color:#1c1c1c !important}.has-background-dark{background-color:#363636 !important}.has-text-primary{color:#4eb5de !important}a.has-text-primary:hover,a.has-text-primary:focus{color:#27a1d2 !important}.has-background-primary{background-color:#4eb5de !important}.has-text-link{color:#2e63b8 !important}a.has-text-link:hover,a.has-text-link:focus{color:#244d8f !important}.has-background-link{background-color:#2e63b8 !important}.has-text-info{color:#209cee !important}a.has-text-info:hover,a.has-text-info:focus{color:#1081cb !important}.has-background-info{background-color:#209cee !important}.has-text-success{color:#22c35b !important}a.has-text-success:hover,a.has-text-success:focus{color:#1a9847 !important}.has-background-success{background-color:#22c35b !important}.has-text-warning{color:#ffdd57 !important}a.has-text-warning:hover,a.has-text-warning:focus{color:#ffd324 !important}.has-background-warning{background-color:#ffdd57 !important}.has-text-danger{color:#da0b00 !important}a.has-text-danger:hover,a.has-text-danger:focus{color:#a70800 !important}.has-background-danger{background-color:#da0b00 !important}.has-text-black-bis{color:#121212 !important}.has-background-black-bis{background-color:#121212 !important}.has-text-black-ter{color:#242424 !important}.has-background-black-ter{background-color:#242424 !important}.has-text-grey-darker{color:#363636 !important}.has-background-grey-darker{background-color:#363636 !important}.has-text-grey-dark{color:#4a4a4a !important}.has-background-grey-dark{background-color:#4a4a4a !important}.has-text-grey{color:#6b6b6b !important}.has-background-grey{background-color:#6b6b6b !important}.has-text-grey-light{color:#b5b5b5 !important}.has-background-grey-light{background-color:#b5b5b5 !important}.has-text-grey-lighter{color:#dbdbdb !important}.has-background-grey-lighter{background-color:#dbdbdb !important}.has-text-white-ter{color:#f5f5f5 !important}.has-background-white-ter{background-color:#f5f5f5 !important}.has-text-white-bis{color:#fafafa !important}.has-background-white-bis{background-color:#fafafa !important}.has-text-weight-light{font-weight:300 !important}.has-text-weight-normal{font-weight:400 !important}.has-text-weight-medium{font-weight:500 !important}.has-text-weight-semibold{font-weight:600 !important}.has-text-weight-bold{font-weight:700 !important}.is-family-primary{font-family:"Lato Medium",-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue","Helvetica","Arial",sans-serif !important}.is-family-secondary{font-family:"Lato Medium",-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue","Helvetica","Arial",sans-serif !important}.is-family-sans-serif{font-family:"Lato Medium",-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue","Helvetica","Arial",sans-serif !important}.is-family-monospace{font-family:"JuliaMono","SFMono-Regular","Menlo","Consolas","Liberation Mono","DejaVu Sans Mono",monospace !important}.is-family-code{font-family:"JuliaMono","SFMono-Regular","Menlo","Consolas","Liberation Mono","DejaVu Sans Mono",monospace !important}.is-block{display:block !important}@media screen and (max-width: 768px){.is-block-mobile{display:block !important}}@media screen and (min-width: 769px),print{.is-block-tablet{display:block !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.is-block-tablet-only{display:block !important}}@media screen and (max-width: 1055px){.is-block-touch{display:block !important}}@media screen and (min-width: 1056px){.is-block-desktop{display:block !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.is-block-desktop-only{display:block !important}}@media screen and (min-width: 1216px){.is-block-widescreen{display:block !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-block-widescreen-only{display:block !important}}@media screen and (min-width: 1408px){.is-block-fullhd{display:block !important}}.is-flex{display:flex !important}@media screen and (max-width: 768px){.is-flex-mobile{display:flex !important}}@media screen and (min-width: 769px),print{.is-flex-tablet{display:flex !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.is-flex-tablet-only{display:flex !important}}@media screen and (max-width: 1055px){.is-flex-touch{display:flex !important}}@media screen and (min-width: 1056px){.is-flex-desktop{display:flex !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.is-flex-desktop-only{display:flex !important}}@media screen and (min-width: 1216px){.is-flex-widescreen{display:flex !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-flex-widescreen-only{display:flex !important}}@media screen and (min-width: 1408px){.is-flex-fullhd{display:flex !important}}.is-inline{display:inline !important}@media screen and (max-width: 768px){.is-inline-mobile{display:inline !important}}@media screen and (min-width: 769px),print{.is-inline-tablet{display:inline !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.is-inline-tablet-only{display:inline !important}}@media screen and (max-width: 1055px){.is-inline-touch{display:inline !important}}@media screen and (min-width: 1056px){.is-inline-desktop{display:inline !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.is-inline-desktop-only{display:inline !important}}@media screen and (min-width: 1216px){.is-inline-widescreen{display:inline !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-inline-widescreen-only{display:inline !important}}@media screen and (min-width: 1408px){.is-inline-fullhd{display:inline !important}}.is-inline-block{display:inline-block !important}@media screen and (max-width: 768px){.is-inline-block-mobile{display:inline-block !important}}@media screen and (min-width: 769px),print{.is-inline-block-tablet{display:inline-block !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.is-inline-block-tablet-only{display:inline-block !important}}@media screen and (max-width: 1055px){.is-inline-block-touch{display:inline-block !important}}@media screen and (min-width: 1056px){.is-inline-block-desktop{display:inline-block !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.is-inline-block-desktop-only{display:inline-block !important}}@media screen and (min-width: 1216px){.is-inline-block-widescreen{display:inline-block !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-inline-block-widescreen-only{display:inline-block !important}}@media screen and (min-width: 1408px){.is-inline-block-fullhd{display:inline-block !important}}.is-inline-flex{display:inline-flex !important}@media screen and (max-width: 768px){.is-inline-flex-mobile{display:inline-flex !important}}@media screen and (min-width: 769px),print{.is-inline-flex-tablet{display:inline-flex !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.is-inline-flex-tablet-only{display:inline-flex !important}}@media screen and (max-width: 1055px){.is-inline-flex-touch{display:inline-flex !important}}@media screen and (min-width: 1056px){.is-inline-flex-desktop{display:inline-flex !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.is-inline-flex-desktop-only{display:inline-flex !important}}@media screen and (min-width: 1216px){.is-inline-flex-widescreen{display:inline-flex !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-inline-flex-widescreen-only{display:inline-flex !important}}@media screen and (min-width: 1408px){.is-inline-flex-fullhd{display:inline-flex !important}}.is-hidden{display:none !important}.is-sr-only{border:none !important;clip:rect(0, 0, 0, 0) !important;height:0.01em !important;overflow:hidden !important;padding:0 !important;position:absolute !important;white-space:nowrap !important;width:0.01em !important}@media screen and (max-width: 768px){.is-hidden-mobile{display:none !important}}@media screen and (min-width: 769px),print{.is-hidden-tablet{display:none !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.is-hidden-tablet-only{display:none !important}}@media screen and (max-width: 1055px){.is-hidden-touch{display:none !important}}@media screen and (min-width: 1056px){.is-hidden-desktop{display:none !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.is-hidden-desktop-only{display:none !important}}@media screen and (min-width: 1216px){.is-hidden-widescreen{display:none !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-hidden-widescreen-only{display:none !important}}@media screen and (min-width: 1408px){.is-hidden-fullhd{display:none !important}}.is-invisible{visibility:hidden !important}@media screen and (max-width: 768px){.is-invisible-mobile{visibility:hidden !important}}@media screen and (min-width: 769px),print{.is-invisible-tablet{visibility:hidden !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.is-invisible-tablet-only{visibility:hidden !important}}@media screen and (max-width: 1055px){.is-invisible-touch{visibility:hidden !important}}@media screen and (min-width: 1056px){.is-invisible-desktop{visibility:hidden !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.is-invisible-desktop-only{visibility:hidden !important}}@media screen and (min-width: 1216px){.is-invisible-widescreen{visibility:hidden !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-invisible-widescreen-only{visibility:hidden !important}}@media screen and (min-width: 1408px){.is-invisible-fullhd{visibility:hidden !important}}.is-marginless{margin:0 !important}.is-paddingless{padding:0 !important}.is-radiusless{border-radius:0 !important}.is-shadowless{box-shadow:none !important}.is-relative{position:relative !important}.box{background-color:#fff;border-radius:6px;box-shadow:0 2px 3px rgba(10,10,10,0.1),0 0 0 1px rgba(10,10,10,0.1);color:#222;display:block;padding:1.25rem}a.box:hover,a.box:focus{box-shadow:0 2px 3px rgba(10,10,10,0.1),0 0 0 1px #2e63b8}a.box:active{box-shadow:inset 0 1px 2px rgba(10,10,10,0.2),0 0 0 1px #2e63b8}.button{background-color:#fff;border-color:#dbdbdb;border-width:1px;color:#363636;cursor:pointer;justify-content:center;padding-bottom:calc(0.375em - 1px);padding-left:.75em;padding-right:.75em;padding-top:calc(0.375em - 1px);text-align:center;white-space:nowrap}.button strong{color:inherit}.button .icon,.button .icon.is-small,.button #documenter .docs-sidebar form.docs-search>input.icon,#documenter .docs-sidebar .button form.docs-search>input.icon,.button .icon.is-medium,.button .icon.is-large{height:1.5em;width:1.5em}.button .icon:first-child:not(:last-child){margin-left:calc(-0.375em - 1px);margin-right:0.1875em}.button .icon:last-child:not(:first-child){margin-left:0.1875em;margin-right:calc(-0.375em - 1px)}.button .icon:first-child:last-child{margin-left:calc(-0.375em - 1px);margin-right:calc(-0.375em - 1px)}.button:hover,.button.is-hovered{border-color:#b5b5b5;color:#363636}.button:focus,.button.is-focused{border-color:#3c5dcd;color:#363636}.button:focus:not(:active),.button.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(46,99,184,0.25)}.button:active,.button.is-active{border-color:#4a4a4a;color:#363636}.button.is-text{background-color:transparent;border-color:transparent;color:#222;text-decoration:underline}.button.is-text:hover,.button.is-text.is-hovered,.button.is-text:focus,.button.is-text.is-focused{background-color:#f5f5f5;color:#222}.button.is-text:active,.button.is-text.is-active{background-color:#e8e8e8;color:#222}.button.is-text[disabled],fieldset[disabled] .button.is-text{background-color:transparent;border-color:transparent;box-shadow:none}.button.is-white{background-color:#fff;border-color:transparent;color:#0a0a0a}.button.is-white:hover,.button.is-white.is-hovered{background-color:#f9f9f9;border-color:transparent;color:#0a0a0a}.button.is-white:focus,.button.is-white.is-focused{border-color:transparent;color:#0a0a0a}.button.is-white:focus:not(:active),.button.is-white.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(255,255,255,0.25)}.button.is-white:active,.button.is-white.is-active{background-color:#f2f2f2;border-color:transparent;color:#0a0a0a}.button.is-white[disabled],fieldset[disabled] .button.is-white{background-color:#fff;border-color:transparent;box-shadow:none}.button.is-white.is-inverted{background-color:#0a0a0a;color:#fff}.button.is-white.is-inverted:hover,.button.is-white.is-inverted.is-hovered{background-color:#000}.button.is-white.is-inverted[disabled],fieldset[disabled] .button.is-white.is-inverted{background-color:#0a0a0a;border-color:transparent;box-shadow:none;color:#fff}.button.is-white.is-loading::after{border-color:transparent transparent #0a0a0a #0a0a0a !important}.button.is-white.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-white.is-outlined:hover,.button.is-white.is-outlined.is-hovered,.button.is-white.is-outlined:focus,.button.is-white.is-outlined.is-focused{background-color:#fff;border-color:#fff;color:#0a0a0a}.button.is-white.is-outlined.is-loading::after{border-color:transparent transparent #fff #fff !important}.button.is-white.is-outlined.is-loading:hover::after,.button.is-white.is-outlined.is-loading.is-hovered::after,.button.is-white.is-outlined.is-loading:focus::after,.button.is-white.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #0a0a0a #0a0a0a !important}.button.is-white.is-outlined[disabled],fieldset[disabled] .button.is-white.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-white.is-inverted.is-outlined{background-color:transparent;border-color:#0a0a0a;color:#0a0a0a}.button.is-white.is-inverted.is-outlined:hover,.button.is-white.is-inverted.is-outlined.is-hovered,.button.is-white.is-inverted.is-outlined:focus,.button.is-white.is-inverted.is-outlined.is-focused{background-color:#0a0a0a;color:#fff}.button.is-white.is-inverted.is-outlined.is-loading:hover::after,.button.is-white.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-white.is-inverted.is-outlined.is-loading:focus::after,.button.is-white.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}.button.is-white.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-white.is-inverted.is-outlined{background-color:transparent;border-color:#0a0a0a;box-shadow:none;color:#0a0a0a}.button.is-black{background-color:#0a0a0a;border-color:transparent;color:#fff}.button.is-black:hover,.button.is-black.is-hovered{background-color:#040404;border-color:transparent;color:#fff}.button.is-black:focus,.button.is-black.is-focused{border-color:transparent;color:#fff}.button.is-black:focus:not(:active),.button.is-black.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(10,10,10,0.25)}.button.is-black:active,.button.is-black.is-active{background-color:#000;border-color:transparent;color:#fff}.button.is-black[disabled],fieldset[disabled] .button.is-black{background-color:#0a0a0a;border-color:transparent;box-shadow:none}.button.is-black.is-inverted{background-color:#fff;color:#0a0a0a}.button.is-black.is-inverted:hover,.button.is-black.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-black.is-inverted[disabled],fieldset[disabled] .button.is-black.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#0a0a0a}.button.is-black.is-loading::after{border-color:transparent transparent #fff #fff !important}.button.is-black.is-outlined{background-color:transparent;border-color:#0a0a0a;color:#0a0a0a}.button.is-black.is-outlined:hover,.button.is-black.is-outlined.is-hovered,.button.is-black.is-outlined:focus,.button.is-black.is-outlined.is-focused{background-color:#0a0a0a;border-color:#0a0a0a;color:#fff}.button.is-black.is-outlined.is-loading::after{border-color:transparent transparent #0a0a0a #0a0a0a !important}.button.is-black.is-outlined.is-loading:hover::after,.button.is-black.is-outlined.is-loading.is-hovered::after,.button.is-black.is-outlined.is-loading:focus::after,.button.is-black.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}.button.is-black.is-outlined[disabled],fieldset[disabled] .button.is-black.is-outlined{background-color:transparent;border-color:#0a0a0a;box-shadow:none;color:#0a0a0a}.button.is-black.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-black.is-inverted.is-outlined:hover,.button.is-black.is-inverted.is-outlined.is-hovered,.button.is-black.is-inverted.is-outlined:focus,.button.is-black.is-inverted.is-outlined.is-focused{background-color:#fff;color:#0a0a0a}.button.is-black.is-inverted.is-outlined.is-loading:hover::after,.button.is-black.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-black.is-inverted.is-outlined.is-loading:focus::after,.button.is-black.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #0a0a0a #0a0a0a !important}.button.is-black.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-black.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-light{background-color:#f5f5f5;border-color:transparent;color:#363636}.button.is-light:hover,.button.is-light.is-hovered{background-color:#eee;border-color:transparent;color:#363636}.button.is-light:focus,.button.is-light.is-focused{border-color:transparent;color:#363636}.button.is-light:focus:not(:active),.button.is-light.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(245,245,245,0.25)}.button.is-light:active,.button.is-light.is-active{background-color:#e8e8e8;border-color:transparent;color:#363636}.button.is-light[disabled],fieldset[disabled] .button.is-light{background-color:#f5f5f5;border-color:transparent;box-shadow:none}.button.is-light.is-inverted{background-color:#363636;color:#f5f5f5}.button.is-light.is-inverted:hover,.button.is-light.is-inverted.is-hovered{background-color:#292929}.button.is-light.is-inverted[disabled],fieldset[disabled] .button.is-light.is-inverted{background-color:#363636;border-color:transparent;box-shadow:none;color:#f5f5f5}.button.is-light.is-loading::after{border-color:transparent transparent #363636 #363636 !important}.button.is-light.is-outlined{background-color:transparent;border-color:#f5f5f5;color:#f5f5f5}.button.is-light.is-outlined:hover,.button.is-light.is-outlined.is-hovered,.button.is-light.is-outlined:focus,.button.is-light.is-outlined.is-focused{background-color:#f5f5f5;border-color:#f5f5f5;color:#363636}.button.is-light.is-outlined.is-loading::after{border-color:transparent transparent #f5f5f5 #f5f5f5 !important}.button.is-light.is-outlined.is-loading:hover::after,.button.is-light.is-outlined.is-loading.is-hovered::after,.button.is-light.is-outlined.is-loading:focus::after,.button.is-light.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #363636 #363636 !important}.button.is-light.is-outlined[disabled],fieldset[disabled] .button.is-light.is-outlined{background-color:transparent;border-color:#f5f5f5;box-shadow:none;color:#f5f5f5}.button.is-light.is-inverted.is-outlined{background-color:transparent;border-color:#363636;color:#363636}.button.is-light.is-inverted.is-outlined:hover,.button.is-light.is-inverted.is-outlined.is-hovered,.button.is-light.is-inverted.is-outlined:focus,.button.is-light.is-inverted.is-outlined.is-focused{background-color:#363636;color:#f5f5f5}.button.is-light.is-inverted.is-outlined.is-loading:hover::after,.button.is-light.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-light.is-inverted.is-outlined.is-loading:focus::after,.button.is-light.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #f5f5f5 #f5f5f5 !important}.button.is-light.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-light.is-inverted.is-outlined{background-color:transparent;border-color:#363636;box-shadow:none;color:#363636}.button.is-dark,.content kbd.button{background-color:#363636;border-color:transparent;color:#f5f5f5}.button.is-dark:hover,.content kbd.button:hover,.button.is-dark.is-hovered,.content kbd.button.is-hovered{background-color:#2f2f2f;border-color:transparent;color:#f5f5f5}.button.is-dark:focus,.content kbd.button:focus,.button.is-dark.is-focused,.content kbd.button.is-focused{border-color:transparent;color:#f5f5f5}.button.is-dark:focus:not(:active),.content kbd.button:focus:not(:active),.button.is-dark.is-focused:not(:active),.content kbd.button.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(54,54,54,0.25)}.button.is-dark:active,.content kbd.button:active,.button.is-dark.is-active,.content kbd.button.is-active{background-color:#292929;border-color:transparent;color:#f5f5f5}.button.is-dark[disabled],.content kbd.button[disabled],fieldset[disabled] .button.is-dark,fieldset[disabled] .content kbd.button,.content fieldset[disabled] kbd.button{background-color:#363636;border-color:transparent;box-shadow:none}.button.is-dark.is-inverted,.content kbd.button.is-inverted{background-color:#f5f5f5;color:#363636}.button.is-dark.is-inverted:hover,.content kbd.button.is-inverted:hover,.button.is-dark.is-inverted.is-hovered,.content kbd.button.is-inverted.is-hovered{background-color:#e8e8e8}.button.is-dark.is-inverted[disabled],.content kbd.button.is-inverted[disabled],fieldset[disabled] .button.is-dark.is-inverted,fieldset[disabled] .content kbd.button.is-inverted,.content fieldset[disabled] kbd.button.is-inverted{background-color:#f5f5f5;border-color:transparent;box-shadow:none;color:#363636}.button.is-dark.is-loading::after,.content kbd.button.is-loading::after{border-color:transparent transparent #f5f5f5 #f5f5f5 !important}.button.is-dark.is-outlined,.content kbd.button.is-outlined{background-color:transparent;border-color:#363636;color:#363636}.button.is-dark.is-outlined:hover,.content kbd.button.is-outlined:hover,.button.is-dark.is-outlined.is-hovered,.content kbd.button.is-outlined.is-hovered,.button.is-dark.is-outlined:focus,.content kbd.button.is-outlined:focus,.button.is-dark.is-outlined.is-focused,.content kbd.button.is-outlined.is-focused{background-color:#363636;border-color:#363636;color:#f5f5f5}.button.is-dark.is-outlined.is-loading::after,.content kbd.button.is-outlined.is-loading::after{border-color:transparent transparent #363636 #363636 !important}.button.is-dark.is-outlined.is-loading:hover::after,.content kbd.button.is-outlined.is-loading:hover::after,.button.is-dark.is-outlined.is-loading.is-hovered::after,.content kbd.button.is-outlined.is-loading.is-hovered::after,.button.is-dark.is-outlined.is-loading:focus::after,.content kbd.button.is-outlined.is-loading:focus::after,.button.is-dark.is-outlined.is-loading.is-focused::after,.content kbd.button.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #f5f5f5 #f5f5f5 !important}.button.is-dark.is-outlined[disabled],.content kbd.button.is-outlined[disabled],fieldset[disabled] .button.is-dark.is-outlined,fieldset[disabled] .content kbd.button.is-outlined,.content fieldset[disabled] kbd.button.is-outlined{background-color:transparent;border-color:#363636;box-shadow:none;color:#363636}.button.is-dark.is-inverted.is-outlined,.content kbd.button.is-inverted.is-outlined{background-color:transparent;border-color:#f5f5f5;color:#f5f5f5}.button.is-dark.is-inverted.is-outlined:hover,.content kbd.button.is-inverted.is-outlined:hover,.button.is-dark.is-inverted.is-outlined.is-hovered,.content kbd.button.is-inverted.is-outlined.is-hovered,.button.is-dark.is-inverted.is-outlined:focus,.content kbd.button.is-inverted.is-outlined:focus,.button.is-dark.is-inverted.is-outlined.is-focused,.content kbd.button.is-inverted.is-outlined.is-focused{background-color:#f5f5f5;color:#363636}.button.is-dark.is-inverted.is-outlined.is-loading:hover::after,.content kbd.button.is-inverted.is-outlined.is-loading:hover::after,.button.is-dark.is-inverted.is-outlined.is-loading.is-hovered::after,.content kbd.button.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-dark.is-inverted.is-outlined.is-loading:focus::after,.content kbd.button.is-inverted.is-outlined.is-loading:focus::after,.button.is-dark.is-inverted.is-outlined.is-loading.is-focused::after,.content kbd.button.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #363636 #363636 !important}.button.is-dark.is-inverted.is-outlined[disabled],.content kbd.button.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-dark.is-inverted.is-outlined,fieldset[disabled] .content kbd.button.is-inverted.is-outlined,.content fieldset[disabled] kbd.button.is-inverted.is-outlined{background-color:transparent;border-color:#f5f5f5;box-shadow:none;color:#f5f5f5}.button.is-primary,.docstring>section>a.button.docs-sourcelink{background-color:#4eb5de;border-color:transparent;color:#fff}.button.is-primary:hover,.docstring>section>a.button.docs-sourcelink:hover,.button.is-primary.is-hovered,.docstring>section>a.button.is-hovered.docs-sourcelink{background-color:#43b1dc;border-color:transparent;color:#fff}.button.is-primary:focus,.docstring>section>a.button.docs-sourcelink:focus,.button.is-primary.is-focused,.docstring>section>a.button.is-focused.docs-sourcelink{border-color:transparent;color:#fff}.button.is-primary:focus:not(:active),.docstring>section>a.button.docs-sourcelink:focus:not(:active),.button.is-primary.is-focused:not(:active),.docstring>section>a.button.is-focused.docs-sourcelink:not(:active){box-shadow:0 0 0 0.125em rgba(78,181,222,0.25)}.button.is-primary:active,.docstring>section>a.button.docs-sourcelink:active,.button.is-primary.is-active,.docstring>section>a.button.is-active.docs-sourcelink{background-color:#39acda;border-color:transparent;color:#fff}.button.is-primary[disabled],.docstring>section>a.button.docs-sourcelink[disabled],fieldset[disabled] .button.is-primary,fieldset[disabled] .docstring>section>a.button.docs-sourcelink{background-color:#4eb5de;border-color:transparent;box-shadow:none}.button.is-primary.is-inverted,.docstring>section>a.button.is-inverted.docs-sourcelink{background-color:#fff;color:#4eb5de}.button.is-primary.is-inverted:hover,.docstring>section>a.button.is-inverted.docs-sourcelink:hover,.button.is-primary.is-inverted.is-hovered,.docstring>section>a.button.is-inverted.is-hovered.docs-sourcelink{background-color:#f2f2f2}.button.is-primary.is-inverted[disabled],.docstring>section>a.button.is-inverted.docs-sourcelink[disabled],fieldset[disabled] .button.is-primary.is-inverted,fieldset[disabled] .docstring>section>a.button.is-inverted.docs-sourcelink{background-color:#fff;border-color:transparent;box-shadow:none;color:#4eb5de}.button.is-primary.is-loading::after,.docstring>section>a.button.is-loading.docs-sourcelink::after{border-color:transparent transparent #fff #fff !important}.button.is-primary.is-outlined,.docstring>section>a.button.is-outlined.docs-sourcelink{background-color:transparent;border-color:#4eb5de;color:#4eb5de}.button.is-primary.is-outlined:hover,.docstring>section>a.button.is-outlined.docs-sourcelink:hover,.button.is-primary.is-outlined.is-hovered,.docstring>section>a.button.is-outlined.is-hovered.docs-sourcelink,.button.is-primary.is-outlined:focus,.docstring>section>a.button.is-outlined.docs-sourcelink:focus,.button.is-primary.is-outlined.is-focused,.docstring>section>a.button.is-outlined.is-focused.docs-sourcelink{background-color:#4eb5de;border-color:#4eb5de;color:#fff}.button.is-primary.is-outlined.is-loading::after,.docstring>section>a.button.is-outlined.is-loading.docs-sourcelink::after{border-color:transparent transparent #4eb5de #4eb5de !important}.button.is-primary.is-outlined.is-loading:hover::after,.docstring>section>a.button.is-outlined.is-loading.docs-sourcelink:hover::after,.button.is-primary.is-outlined.is-loading.is-hovered::after,.docstring>section>a.button.is-outlined.is-loading.is-hovered.docs-sourcelink::after,.button.is-primary.is-outlined.is-loading:focus::after,.docstring>section>a.button.is-outlined.is-loading.docs-sourcelink:focus::after,.button.is-primary.is-outlined.is-loading.is-focused::after,.docstring>section>a.button.is-outlined.is-loading.is-focused.docs-sourcelink::after{border-color:transparent transparent #fff #fff !important}.button.is-primary.is-outlined[disabled],.docstring>section>a.button.is-outlined.docs-sourcelink[disabled],fieldset[disabled] .button.is-primary.is-outlined,fieldset[disabled] .docstring>section>a.button.is-outlined.docs-sourcelink{background-color:transparent;border-color:#4eb5de;box-shadow:none;color:#4eb5de}.button.is-primary.is-inverted.is-outlined,.docstring>section>a.button.is-inverted.is-outlined.docs-sourcelink{background-color:transparent;border-color:#fff;color:#fff}.button.is-primary.is-inverted.is-outlined:hover,.docstring>section>a.button.is-inverted.is-outlined.docs-sourcelink:hover,.button.is-primary.is-inverted.is-outlined.is-hovered,.docstring>section>a.button.is-inverted.is-outlined.is-hovered.docs-sourcelink,.button.is-primary.is-inverted.is-outlined:focus,.docstring>section>a.button.is-inverted.is-outlined.docs-sourcelink:focus,.button.is-primary.is-inverted.is-outlined.is-focused,.docstring>section>a.button.is-inverted.is-outlined.is-focused.docs-sourcelink{background-color:#fff;color:#4eb5de}.button.is-primary.is-inverted.is-outlined.is-loading:hover::after,.docstring>section>a.button.is-inverted.is-outlined.is-loading.docs-sourcelink:hover::after,.button.is-primary.is-inverted.is-outlined.is-loading.is-hovered::after,.docstring>section>a.button.is-inverted.is-outlined.is-loading.is-hovered.docs-sourcelink::after,.button.is-primary.is-inverted.is-outlined.is-loading:focus::after,.docstring>section>a.button.is-inverted.is-outlined.is-loading.docs-sourcelink:focus::after,.button.is-primary.is-inverted.is-outlined.is-loading.is-focused::after,.docstring>section>a.button.is-inverted.is-outlined.is-loading.is-focused.docs-sourcelink::after{border-color:transparent transparent #4eb5de #4eb5de !important}.button.is-primary.is-inverted.is-outlined[disabled],.docstring>section>a.button.is-inverted.is-outlined.docs-sourcelink[disabled],fieldset[disabled] .button.is-primary.is-inverted.is-outlined,fieldset[disabled] .docstring>section>a.button.is-inverted.is-outlined.docs-sourcelink{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-link{background-color:#2e63b8;border-color:transparent;color:#fff}.button.is-link:hover,.button.is-link.is-hovered{background-color:#2b5eae;border-color:transparent;color:#fff}.button.is-link:focus,.button.is-link.is-focused{border-color:transparent;color:#fff}.button.is-link:focus:not(:active),.button.is-link.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(46,99,184,0.25)}.button.is-link:active,.button.is-link.is-active{background-color:#2958a4;border-color:transparent;color:#fff}.button.is-link[disabled],fieldset[disabled] .button.is-link{background-color:#2e63b8;border-color:transparent;box-shadow:none}.button.is-link.is-inverted{background-color:#fff;color:#2e63b8}.button.is-link.is-inverted:hover,.button.is-link.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-link.is-inverted[disabled],fieldset[disabled] .button.is-link.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#2e63b8}.button.is-link.is-loading::after{border-color:transparent transparent #fff #fff !important}.button.is-link.is-outlined{background-color:transparent;border-color:#2e63b8;color:#2e63b8}.button.is-link.is-outlined:hover,.button.is-link.is-outlined.is-hovered,.button.is-link.is-outlined:focus,.button.is-link.is-outlined.is-focused{background-color:#2e63b8;border-color:#2e63b8;color:#fff}.button.is-link.is-outlined.is-loading::after{border-color:transparent transparent #2e63b8 #2e63b8 !important}.button.is-link.is-outlined.is-loading:hover::after,.button.is-link.is-outlined.is-loading.is-hovered::after,.button.is-link.is-outlined.is-loading:focus::after,.button.is-link.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}.button.is-link.is-outlined[disabled],fieldset[disabled] .button.is-link.is-outlined{background-color:transparent;border-color:#2e63b8;box-shadow:none;color:#2e63b8}.button.is-link.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-link.is-inverted.is-outlined:hover,.button.is-link.is-inverted.is-outlined.is-hovered,.button.is-link.is-inverted.is-outlined:focus,.button.is-link.is-inverted.is-outlined.is-focused{background-color:#fff;color:#2e63b8}.button.is-link.is-inverted.is-outlined.is-loading:hover::after,.button.is-link.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-link.is-inverted.is-outlined.is-loading:focus::after,.button.is-link.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #2e63b8 #2e63b8 !important}.button.is-link.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-link.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-info{background-color:#209cee;border-color:transparent;color:#fff}.button.is-info:hover,.button.is-info.is-hovered{background-color:#1497ed;border-color:transparent;color:#fff}.button.is-info:focus,.button.is-info.is-focused{border-color:transparent;color:#fff}.button.is-info:focus:not(:active),.button.is-info.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(32,156,238,0.25)}.button.is-info:active,.button.is-info.is-active{background-color:#1190e3;border-color:transparent;color:#fff}.button.is-info[disabled],fieldset[disabled] .button.is-info{background-color:#209cee;border-color:transparent;box-shadow:none}.button.is-info.is-inverted{background-color:#fff;color:#209cee}.button.is-info.is-inverted:hover,.button.is-info.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-info.is-inverted[disabled],fieldset[disabled] .button.is-info.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#209cee}.button.is-info.is-loading::after{border-color:transparent transparent #fff #fff !important}.button.is-info.is-outlined{background-color:transparent;border-color:#209cee;color:#209cee}.button.is-info.is-outlined:hover,.button.is-info.is-outlined.is-hovered,.button.is-info.is-outlined:focus,.button.is-info.is-outlined.is-focused{background-color:#209cee;border-color:#209cee;color:#fff}.button.is-info.is-outlined.is-loading::after{border-color:transparent transparent #209cee #209cee !important}.button.is-info.is-outlined.is-loading:hover::after,.button.is-info.is-outlined.is-loading.is-hovered::after,.button.is-info.is-outlined.is-loading:focus::after,.button.is-info.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}.button.is-info.is-outlined[disabled],fieldset[disabled] .button.is-info.is-outlined{background-color:transparent;border-color:#209cee;box-shadow:none;color:#209cee}.button.is-info.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-info.is-inverted.is-outlined:hover,.button.is-info.is-inverted.is-outlined.is-hovered,.button.is-info.is-inverted.is-outlined:focus,.button.is-info.is-inverted.is-outlined.is-focused{background-color:#fff;color:#209cee}.button.is-info.is-inverted.is-outlined.is-loading:hover::after,.button.is-info.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-info.is-inverted.is-outlined.is-loading:focus::after,.button.is-info.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #209cee #209cee !important}.button.is-info.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-info.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-success{background-color:#22c35b;border-color:transparent;color:#fff}.button.is-success:hover,.button.is-success.is-hovered{background-color:#20b856;border-color:transparent;color:#fff}.button.is-success:focus,.button.is-success.is-focused{border-color:transparent;color:#fff}.button.is-success:focus:not(:active),.button.is-success.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(34,195,91,0.25)}.button.is-success:active,.button.is-success.is-active{background-color:#1ead51;border-color:transparent;color:#fff}.button.is-success[disabled],fieldset[disabled] .button.is-success{background-color:#22c35b;border-color:transparent;box-shadow:none}.button.is-success.is-inverted{background-color:#fff;color:#22c35b}.button.is-success.is-inverted:hover,.button.is-success.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-success.is-inverted[disabled],fieldset[disabled] .button.is-success.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#22c35b}.button.is-success.is-loading::after{border-color:transparent transparent #fff #fff !important}.button.is-success.is-outlined{background-color:transparent;border-color:#22c35b;color:#22c35b}.button.is-success.is-outlined:hover,.button.is-success.is-outlined.is-hovered,.button.is-success.is-outlined:focus,.button.is-success.is-outlined.is-focused{background-color:#22c35b;border-color:#22c35b;color:#fff}.button.is-success.is-outlined.is-loading::after{border-color:transparent transparent #22c35b #22c35b !important}.button.is-success.is-outlined.is-loading:hover::after,.button.is-success.is-outlined.is-loading.is-hovered::after,.button.is-success.is-outlined.is-loading:focus::after,.button.is-success.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}.button.is-success.is-outlined[disabled],fieldset[disabled] .button.is-success.is-outlined{background-color:transparent;border-color:#22c35b;box-shadow:none;color:#22c35b}.button.is-success.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-success.is-inverted.is-outlined:hover,.button.is-success.is-inverted.is-outlined.is-hovered,.button.is-success.is-inverted.is-outlined:focus,.button.is-success.is-inverted.is-outlined.is-focused{background-color:#fff;color:#22c35b}.button.is-success.is-inverted.is-outlined.is-loading:hover::after,.button.is-success.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-success.is-inverted.is-outlined.is-loading:focus::after,.button.is-success.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #22c35b #22c35b !important}.button.is-success.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-success.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-warning{background-color:#ffdd57;border-color:transparent;color:rgba(0,0,0,0.7)}.button.is-warning:hover,.button.is-warning.is-hovered{background-color:#ffda4a;border-color:transparent;color:rgba(0,0,0,0.7)}.button.is-warning:focus,.button.is-warning.is-focused{border-color:transparent;color:rgba(0,0,0,0.7)}.button.is-warning:focus:not(:active),.button.is-warning.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(255,221,87,0.25)}.button.is-warning:active,.button.is-warning.is-active{background-color:#ffd83e;border-color:transparent;color:rgba(0,0,0,0.7)}.button.is-warning[disabled],fieldset[disabled] .button.is-warning{background-color:#ffdd57;border-color:transparent;box-shadow:none}.button.is-warning.is-inverted{background-color:rgba(0,0,0,0.7);color:#ffdd57}.button.is-warning.is-inverted:hover,.button.is-warning.is-inverted.is-hovered{background-color:rgba(0,0,0,0.7)}.button.is-warning.is-inverted[disabled],fieldset[disabled] .button.is-warning.is-inverted{background-color:rgba(0,0,0,0.7);border-color:transparent;box-shadow:none;color:#ffdd57}.button.is-warning.is-loading::after{border-color:transparent transparent rgba(0,0,0,0.7) rgba(0,0,0,0.7) !important}.button.is-warning.is-outlined{background-color:transparent;border-color:#ffdd57;color:#ffdd57}.button.is-warning.is-outlined:hover,.button.is-warning.is-outlined.is-hovered,.button.is-warning.is-outlined:focus,.button.is-warning.is-outlined.is-focused{background-color:#ffdd57;border-color:#ffdd57;color:rgba(0,0,0,0.7)}.button.is-warning.is-outlined.is-loading::after{border-color:transparent transparent #ffdd57 #ffdd57 !important}.button.is-warning.is-outlined.is-loading:hover::after,.button.is-warning.is-outlined.is-loading.is-hovered::after,.button.is-warning.is-outlined.is-loading:focus::after,.button.is-warning.is-outlined.is-loading.is-focused::after{border-color:transparent transparent rgba(0,0,0,0.7) rgba(0,0,0,0.7) !important}.button.is-warning.is-outlined[disabled],fieldset[disabled] .button.is-warning.is-outlined{background-color:transparent;border-color:#ffdd57;box-shadow:none;color:#ffdd57}.button.is-warning.is-inverted.is-outlined{background-color:transparent;border-color:rgba(0,0,0,0.7);color:rgba(0,0,0,0.7)}.button.is-warning.is-inverted.is-outlined:hover,.button.is-warning.is-inverted.is-outlined.is-hovered,.button.is-warning.is-inverted.is-outlined:focus,.button.is-warning.is-inverted.is-outlined.is-focused{background-color:rgba(0,0,0,0.7);color:#ffdd57}.button.is-warning.is-inverted.is-outlined.is-loading:hover::after,.button.is-warning.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-warning.is-inverted.is-outlined.is-loading:focus::after,.button.is-warning.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #ffdd57 #ffdd57 !important}.button.is-warning.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-warning.is-inverted.is-outlined{background-color:transparent;border-color:rgba(0,0,0,0.7);box-shadow:none;color:rgba(0,0,0,0.7)}.button.is-danger{background-color:#da0b00;border-color:transparent;color:#fff}.button.is-danger:hover,.button.is-danger.is-hovered{background-color:#cd0a00;border-color:transparent;color:#fff}.button.is-danger:focus,.button.is-danger.is-focused{border-color:transparent;color:#fff}.button.is-danger:focus:not(:active),.button.is-danger.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(218,11,0,0.25)}.button.is-danger:active,.button.is-danger.is-active{background-color:#c10a00;border-color:transparent;color:#fff}.button.is-danger[disabled],fieldset[disabled] .button.is-danger{background-color:#da0b00;border-color:transparent;box-shadow:none}.button.is-danger.is-inverted{background-color:#fff;color:#da0b00}.button.is-danger.is-inverted:hover,.button.is-danger.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-danger.is-inverted[disabled],fieldset[disabled] .button.is-danger.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#da0b00}.button.is-danger.is-loading::after{border-color:transparent transparent #fff #fff !important}.button.is-danger.is-outlined{background-color:transparent;border-color:#da0b00;color:#da0b00}.button.is-danger.is-outlined:hover,.button.is-danger.is-outlined.is-hovered,.button.is-danger.is-outlined:focus,.button.is-danger.is-outlined.is-focused{background-color:#da0b00;border-color:#da0b00;color:#fff}.button.is-danger.is-outlined.is-loading::after{border-color:transparent transparent #da0b00 #da0b00 !important}.button.is-danger.is-outlined.is-loading:hover::after,.button.is-danger.is-outlined.is-loading.is-hovered::after,.button.is-danger.is-outlined.is-loading:focus::after,.button.is-danger.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}.button.is-danger.is-outlined[disabled],fieldset[disabled] .button.is-danger.is-outlined{background-color:transparent;border-color:#da0b00;box-shadow:none;color:#da0b00}.button.is-danger.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-danger.is-inverted.is-outlined:hover,.button.is-danger.is-inverted.is-outlined.is-hovered,.button.is-danger.is-inverted.is-outlined:focus,.button.is-danger.is-inverted.is-outlined.is-focused{background-color:#fff;color:#da0b00}.button.is-danger.is-inverted.is-outlined.is-loading:hover::after,.button.is-danger.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-danger.is-inverted.is-outlined.is-loading:focus::after,.button.is-danger.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #da0b00 #da0b00 !important}.button.is-danger.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-danger.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-small,#documenter .docs-sidebar form.docs-search>input.button{border-radius:2px;font-size:.75rem}.button.is-normal{font-size:1rem}.button.is-medium{font-size:1.25rem}.button.is-large{font-size:1.5rem}.button[disabled],fieldset[disabled] .button{background-color:#fff;border-color:#dbdbdb;box-shadow:none;opacity:.5}.button.is-fullwidth{display:flex;width:100%}.button.is-loading{color:transparent !important;pointer-events:none}.button.is-loading::after{position:absolute;left:calc(50% - (1em / 2));top:calc(50% - (1em / 2));position:absolute !important}.button.is-static{background-color:#f5f5f5;border-color:#dbdbdb;color:#6b6b6b;box-shadow:none;pointer-events:none}.button.is-rounded,#documenter .docs-sidebar form.docs-search>input.button{border-radius:290486px;padding-left:1em;padding-right:1em}.buttons{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-start}.buttons .button{margin-bottom:0.5rem}.buttons .button:not(:last-child):not(.is-fullwidth){margin-right:0.5rem}.buttons:last-child{margin-bottom:-0.5rem}.buttons:not(:last-child){margin-bottom:1rem}.buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large){border-radius:2px;font-size:.75rem}.buttons.are-medium .button:not(.is-small):not(.is-normal):not(.is-large){font-size:1.25rem}.buttons.are-large .button:not(.is-small):not(.is-normal):not(.is-medium){font-size:1.5rem}.buttons.has-addons .button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.buttons.has-addons .button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0;margin-right:-1px}.buttons.has-addons .button:last-child{margin-right:0}.buttons.has-addons .button:hover,.buttons.has-addons .button.is-hovered{z-index:2}.buttons.has-addons .button:focus,.buttons.has-addons .button.is-focused,.buttons.has-addons .button:active,.buttons.has-addons .button.is-active,.buttons.has-addons .button.is-selected{z-index:3}.buttons.has-addons .button:focus:hover,.buttons.has-addons .button.is-focused:hover,.buttons.has-addons .button:active:hover,.buttons.has-addons .button.is-active:hover,.buttons.has-addons .button.is-selected:hover{z-index:4}.buttons.has-addons .button.is-expanded{flex-grow:1;flex-shrink:1}.buttons.is-centered{justify-content:center}.buttons.is-centered:not(.has-addons) .button:not(.is-fullwidth){margin-left:0.25rem;margin-right:0.25rem}.buttons.is-right{justify-content:flex-end}.buttons.is-right:not(.has-addons) .button:not(.is-fullwidth){margin-left:0.25rem;margin-right:0.25rem}.container{flex-grow:1;margin:0 auto;position:relative;width:auto}@media screen and (min-width: 1056px){.container{max-width:992px}.container.is-fluid{margin-left:32px;margin-right:32px;max-width:none}}@media screen and (max-width: 1215px){.container.is-widescreen{max-width:1152px}}@media screen and (max-width: 1407px){.container.is-fullhd{max-width:1344px}}@media screen and (min-width: 1216px){.container{max-width:1152px}}@media screen and (min-width: 1408px){.container{max-width:1344px}}.content li+li{margin-top:0.25em}.content p:not(:last-child),.content dl:not(:last-child),.content ol:not(:last-child),.content ul:not(:last-child),.content blockquote:not(:last-child),.content pre:not(:last-child),.content table:not(:last-child){margin-bottom:1em}.content h1,.content h2,.content h3,.content h4,.content h5,.content h6{color:#222;font-weight:600;line-height:1.125}.content h1{font-size:2em;margin-bottom:0.5em}.content h1:not(:first-child){margin-top:1em}.content h2{font-size:1.75em;margin-bottom:0.5714em}.content h2:not(:first-child){margin-top:1.1428em}.content h3{font-size:1.5em;margin-bottom:0.6666em}.content h3:not(:first-child){margin-top:1.3333em}.content h4{font-size:1.25em;margin-bottom:0.8em}.content h5{font-size:1.125em;margin-bottom:0.8888em}.content h6{font-size:1em;margin-bottom:1em}.content blockquote{background-color:#f5f5f5;border-left:5px solid #dbdbdb;padding:1.25em 1.5em}.content ol{list-style-position:outside;margin-left:2em;margin-top:1em}.content ol:not([type]){list-style-type:decimal}.content ol.is-lower-alpha:not([type]){list-style-type:lower-alpha}.content ol.is-lower-roman:not([type]){list-style-type:lower-roman}.content ol.is-upper-alpha:not([type]){list-style-type:upper-alpha}.content ol.is-upper-roman:not([type]){list-style-type:upper-roman}.content ul{list-style:disc outside;margin-left:2em;margin-top:1em}.content ul ul{list-style-type:circle;margin-top:0.5em}.content ul ul ul{list-style-type:square}.content dd{margin-left:2em}.content figure{margin-left:2em;margin-right:2em;text-align:center}.content figure:not(:first-child){margin-top:2em}.content figure:not(:last-child){margin-bottom:2em}.content figure img{display:inline-block}.content figure figcaption{font-style:italic}.content pre{-webkit-overflow-scrolling:touch;overflow-x:auto;padding:0;white-space:pre;word-wrap:normal}.content sup,.content sub{font-size:75%}.content table{width:100%}.content table td,.content table th{border:1px solid #dbdbdb;border-width:0 0 1px;padding:0.5em 0.75em;vertical-align:top}.content table th{color:#222}.content table th:not([align]){text-align:left}.content table thead td,.content table thead th{border-width:0 0 2px;color:#222}.content table tfoot td,.content table tfoot th{border-width:2px 0 0;color:#222}.content table tbody tr:last-child td,.content table tbody tr:last-child th{border-bottom-width:0}.content .tabs li+li{margin-top:0}.content.is-small,#documenter .docs-sidebar form.docs-search>input.content{font-size:.75rem}.content.is-medium{font-size:1.25rem}.content.is-large{font-size:1.5rem}.icon{align-items:center;display:inline-flex;justify-content:center;height:1.5rem;width:1.5rem}.icon.is-small,#documenter .docs-sidebar form.docs-search>input.icon{height:1rem;width:1rem}.icon.is-medium{height:2rem;width:2rem}.icon.is-large{height:3rem;width:3rem}.image,#documenter .docs-sidebar .docs-logo>img{display:block;position:relative}.image img,#documenter .docs-sidebar .docs-logo>img img{display:block;height:auto;width:100%}.image img.is-rounded,#documenter .docs-sidebar .docs-logo>img img.is-rounded{border-radius:290486px}.image.is-square img,#documenter .docs-sidebar .docs-logo>img.is-square img,.image.is-square .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-square .has-ratio,.image.is-1by1 img,#documenter .docs-sidebar .docs-logo>img.is-1by1 img,.image.is-1by1 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-1by1 .has-ratio,.image.is-5by4 img,#documenter .docs-sidebar .docs-logo>img.is-5by4 img,.image.is-5by4 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-5by4 .has-ratio,.image.is-4by3 img,#documenter .docs-sidebar .docs-logo>img.is-4by3 img,.image.is-4by3 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-4by3 .has-ratio,.image.is-3by2 img,#documenter .docs-sidebar .docs-logo>img.is-3by2 img,.image.is-3by2 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-3by2 .has-ratio,.image.is-5by3 img,#documenter .docs-sidebar .docs-logo>img.is-5by3 img,.image.is-5by3 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-5by3 .has-ratio,.image.is-16by9 img,#documenter .docs-sidebar .docs-logo>img.is-16by9 img,.image.is-16by9 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-16by9 .has-ratio,.image.is-2by1 img,#documenter .docs-sidebar .docs-logo>img.is-2by1 img,.image.is-2by1 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-2by1 .has-ratio,.image.is-3by1 img,#documenter .docs-sidebar .docs-logo>img.is-3by1 img,.image.is-3by1 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-3by1 .has-ratio,.image.is-4by5 img,#documenter .docs-sidebar .docs-logo>img.is-4by5 img,.image.is-4by5 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-4by5 .has-ratio,.image.is-3by4 img,#documenter .docs-sidebar .docs-logo>img.is-3by4 img,.image.is-3by4 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-3by4 .has-ratio,.image.is-2by3 img,#documenter .docs-sidebar .docs-logo>img.is-2by3 img,.image.is-2by3 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-2by3 .has-ratio,.image.is-3by5 img,#documenter .docs-sidebar .docs-logo>img.is-3by5 img,.image.is-3by5 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-3by5 .has-ratio,.image.is-9by16 img,#documenter .docs-sidebar .docs-logo>img.is-9by16 img,.image.is-9by16 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-9by16 .has-ratio,.image.is-1by2 img,#documenter .docs-sidebar .docs-logo>img.is-1by2 img,.image.is-1by2 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-1by2 .has-ratio,.image.is-1by3 img,#documenter .docs-sidebar .docs-logo>img.is-1by3 img,.image.is-1by3 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-1by3 .has-ratio{height:100%;width:100%}.image.is-square,#documenter .docs-sidebar .docs-logo>img.is-square,.image.is-1by1,#documenter .docs-sidebar .docs-logo>img.is-1by1{padding-top:100%}.image.is-5by4,#documenter .docs-sidebar .docs-logo>img.is-5by4{padding-top:80%}.image.is-4by3,#documenter .docs-sidebar .docs-logo>img.is-4by3{padding-top:75%}.image.is-3by2,#documenter .docs-sidebar .docs-logo>img.is-3by2{padding-top:66.6666%}.image.is-5by3,#documenter .docs-sidebar .docs-logo>img.is-5by3{padding-top:60%}.image.is-16by9,#documenter .docs-sidebar .docs-logo>img.is-16by9{padding-top:56.25%}.image.is-2by1,#documenter .docs-sidebar .docs-logo>img.is-2by1{padding-top:50%}.image.is-3by1,#documenter .docs-sidebar .docs-logo>img.is-3by1{padding-top:33.3333%}.image.is-4by5,#documenter .docs-sidebar .docs-logo>img.is-4by5{padding-top:125%}.image.is-3by4,#documenter .docs-sidebar .docs-logo>img.is-3by4{padding-top:133.3333%}.image.is-2by3,#documenter .docs-sidebar .docs-logo>img.is-2by3{padding-top:150%}.image.is-3by5,#documenter .docs-sidebar .docs-logo>img.is-3by5{padding-top:166.6666%}.image.is-9by16,#documenter .docs-sidebar .docs-logo>img.is-9by16{padding-top:177.7777%}.image.is-1by2,#documenter .docs-sidebar .docs-logo>img.is-1by2{padding-top:200%}.image.is-1by3,#documenter .docs-sidebar .docs-logo>img.is-1by3{padding-top:300%}.image.is-16x16,#documenter .docs-sidebar .docs-logo>img.is-16x16{height:16px;width:16px}.image.is-24x24,#documenter .docs-sidebar .docs-logo>img.is-24x24{height:24px;width:24px}.image.is-32x32,#documenter .docs-sidebar .docs-logo>img.is-32x32{height:32px;width:32px}.image.is-48x48,#documenter .docs-sidebar .docs-logo>img.is-48x48{height:48px;width:48px}.image.is-64x64,#documenter .docs-sidebar .docs-logo>img.is-64x64{height:64px;width:64px}.image.is-96x96,#documenter .docs-sidebar .docs-logo>img.is-96x96{height:96px;width:96px}.image.is-128x128,#documenter .docs-sidebar .docs-logo>img.is-128x128{height:128px;width:128px}.notification{background-color:#f5f5f5;border-radius:4px;padding:1.25rem 2.5rem 1.25rem 1.5rem;position:relative}.notification a:not(.button):not(.dropdown-item){color:currentColor;text-decoration:underline}.notification strong{color:currentColor}.notification code,.notification pre{background:#fff}.notification pre code{background:transparent}.notification>.delete{position:absolute;right:0.5rem;top:0.5rem}.notification .title,.notification .subtitle,.notification .content{color:currentColor}.notification.is-white{background-color:#fff;color:#0a0a0a}.notification.is-black{background-color:#0a0a0a;color:#fff}.notification.is-light{background-color:#f5f5f5;color:#363636}.notification.is-dark,.content kbd.notification{background-color:#363636;color:#f5f5f5}.notification.is-primary,.docstring>section>a.notification.docs-sourcelink{background-color:#4eb5de;color:#fff}.notification.is-link{background-color:#2e63b8;color:#fff}.notification.is-info{background-color:#209cee;color:#fff}.notification.is-success{background-color:#22c35b;color:#fff}.notification.is-warning{background-color:#ffdd57;color:rgba(0,0,0,0.7)}.notification.is-danger{background-color:#da0b00;color:#fff}.progress{-moz-appearance:none;-webkit-appearance:none;border:none;border-radius:290486px;display:block;height:1rem;overflow:hidden;padding:0;width:100%}.progress::-webkit-progress-bar{background-color:#dbdbdb}.progress::-webkit-progress-value{background-color:#222}.progress::-moz-progress-bar{background-color:#222}.progress::-ms-fill{background-color:#222;border:none}.progress.is-white::-webkit-progress-value{background-color:#fff}.progress.is-white::-moz-progress-bar{background-color:#fff}.progress.is-white::-ms-fill{background-color:#fff}.progress.is-white:indeterminate{background-image:linear-gradient(to right, #fff 30%, #dbdbdb 30%)}.progress.is-black::-webkit-progress-value{background-color:#0a0a0a}.progress.is-black::-moz-progress-bar{background-color:#0a0a0a}.progress.is-black::-ms-fill{background-color:#0a0a0a}.progress.is-black:indeterminate{background-image:linear-gradient(to right, #0a0a0a 30%, #dbdbdb 30%)}.progress.is-light::-webkit-progress-value{background-color:#f5f5f5}.progress.is-light::-moz-progress-bar{background-color:#f5f5f5}.progress.is-light::-ms-fill{background-color:#f5f5f5}.progress.is-light:indeterminate{background-image:linear-gradient(to right, #f5f5f5 30%, #dbdbdb 30%)}.progress.is-dark::-webkit-progress-value,.content kbd.progress::-webkit-progress-value{background-color:#363636}.progress.is-dark::-moz-progress-bar,.content kbd.progress::-moz-progress-bar{background-color:#363636}.progress.is-dark::-ms-fill,.content kbd.progress::-ms-fill{background-color:#363636}.progress.is-dark:indeterminate,.content kbd.progress:indeterminate{background-image:linear-gradient(to right, #363636 30%, #dbdbdb 30%)}.progress.is-primary::-webkit-progress-value,.docstring>section>a.progress.docs-sourcelink::-webkit-progress-value{background-color:#4eb5de}.progress.is-primary::-moz-progress-bar,.docstring>section>a.progress.docs-sourcelink::-moz-progress-bar{background-color:#4eb5de}.progress.is-primary::-ms-fill,.docstring>section>a.progress.docs-sourcelink::-ms-fill{background-color:#4eb5de}.progress.is-primary:indeterminate,.docstring>section>a.progress.docs-sourcelink:indeterminate{background-image:linear-gradient(to right, #4eb5de 30%, #dbdbdb 30%)}.progress.is-link::-webkit-progress-value{background-color:#2e63b8}.progress.is-link::-moz-progress-bar{background-color:#2e63b8}.progress.is-link::-ms-fill{background-color:#2e63b8}.progress.is-link:indeterminate{background-image:linear-gradient(to right, #2e63b8 30%, #dbdbdb 30%)}.progress.is-info::-webkit-progress-value{background-color:#209cee}.progress.is-info::-moz-progress-bar{background-color:#209cee}.progress.is-info::-ms-fill{background-color:#209cee}.progress.is-info:indeterminate{background-image:linear-gradient(to right, #209cee 30%, #dbdbdb 30%)}.progress.is-success::-webkit-progress-value{background-color:#22c35b}.progress.is-success::-moz-progress-bar{background-color:#22c35b}.progress.is-success::-ms-fill{background-color:#22c35b}.progress.is-success:indeterminate{background-image:linear-gradient(to right, #22c35b 30%, #dbdbdb 30%)}.progress.is-warning::-webkit-progress-value{background-color:#ffdd57}.progress.is-warning::-moz-progress-bar{background-color:#ffdd57}.progress.is-warning::-ms-fill{background-color:#ffdd57}.progress.is-warning:indeterminate{background-image:linear-gradient(to right, #ffdd57 30%, #dbdbdb 30%)}.progress.is-danger::-webkit-progress-value{background-color:#da0b00}.progress.is-danger::-moz-progress-bar{background-color:#da0b00}.progress.is-danger::-ms-fill{background-color:#da0b00}.progress.is-danger:indeterminate{background-image:linear-gradient(to right, #da0b00 30%, #dbdbdb 30%)}.progress:indeterminate{animation-duration:1.5s;animation-iteration-count:infinite;animation-name:moveIndeterminate;animation-timing-function:linear;background-color:#dbdbdb;background-image:linear-gradient(to right, #222 30%, #dbdbdb 30%);background-position:top left;background-repeat:no-repeat;background-size:150% 150%}.progress:indeterminate::-webkit-progress-bar{background-color:transparent}.progress:indeterminate::-moz-progress-bar{background-color:transparent}.progress.is-small,#documenter .docs-sidebar form.docs-search>input.progress{height:.75rem}.progress.is-medium{height:1.25rem}.progress.is-large{height:1.5rem}@keyframes moveIndeterminate{from{background-position:200% 0}to{background-position:-200% 0}}.table{background-color:#fff;color:#363636}.table td,.table th{border:1px solid #dbdbdb;border-width:0 0 1px;padding:0.5em 0.75em;vertical-align:top}.table td.is-white,.table th.is-white{background-color:#fff;border-color:#fff;color:#0a0a0a}.table td.is-black,.table th.is-black{background-color:#0a0a0a;border-color:#0a0a0a;color:#fff}.table td.is-light,.table th.is-light{background-color:#f5f5f5;border-color:#f5f5f5;color:#363636}.table td.is-dark,.table th.is-dark{background-color:#363636;border-color:#363636;color:#f5f5f5}.table td.is-primary,.table th.is-primary{background-color:#4eb5de;border-color:#4eb5de;color:#fff}.table td.is-link,.table th.is-link{background-color:#2e63b8;border-color:#2e63b8;color:#fff}.table td.is-info,.table th.is-info{background-color:#209cee;border-color:#209cee;color:#fff}.table td.is-success,.table th.is-success{background-color:#22c35b;border-color:#22c35b;color:#fff}.table td.is-warning,.table th.is-warning{background-color:#ffdd57;border-color:#ffdd57;color:rgba(0,0,0,0.7)}.table td.is-danger,.table th.is-danger{background-color:#da0b00;border-color:#da0b00;color:#fff}.table td.is-narrow,.table th.is-narrow{white-space:nowrap;width:1%}.table td.is-selected,.table th.is-selected{background-color:#4eb5de;color:#fff}.table td.is-selected a,.table td.is-selected strong,.table th.is-selected a,.table th.is-selected strong{color:currentColor}.table th{color:#222}.table th:not([align]){text-align:left}.table tr.is-selected{background-color:#4eb5de;color:#fff}.table tr.is-selected a,.table tr.is-selected strong{color:currentColor}.table tr.is-selected td,.table tr.is-selected th{border-color:#fff;color:currentColor}.table thead{background-color:rgba(0,0,0,0)}.table thead td,.table thead th{border-width:0 0 2px;color:#222}.table tfoot{background-color:rgba(0,0,0,0)}.table tfoot td,.table tfoot th{border-width:2px 0 0;color:#222}.table tbody{background-color:rgba(0,0,0,0)}.table tbody tr:last-child td,.table tbody tr:last-child th{border-bottom-width:0}.table.is-bordered td,.table.is-bordered th{border-width:1px}.table.is-bordered tr:last-child td,.table.is-bordered tr:last-child th{border-bottom-width:1px}.table.is-fullwidth{width:100%}.table.is-hoverable tbody tr:not(.is-selected):hover{background-color:#fafafa}.table.is-hoverable.is-striped tbody tr:not(.is-selected):hover{background-color:#fafafa}.table.is-hoverable.is-striped tbody tr:not(.is-selected):hover:nth-child(even){background-color:#f5f5f5}.table.is-narrow td,.table.is-narrow th{padding:0.25em 0.5em}.table.is-striped tbody tr:not(.is-selected):nth-child(even){background-color:#fafafa}.table-container{-webkit-overflow-scrolling:touch;overflow:auto;overflow-y:hidden;max-width:100%}.tags{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-start}.tags .tag,.tags .content kbd,.content .tags kbd,.tags .docstring>section>a.docs-sourcelink{margin-bottom:0.5rem}.tags .tag:not(:last-child),.tags .content kbd:not(:last-child),.content .tags kbd:not(:last-child),.tags .docstring>section>a.docs-sourcelink:not(:last-child){margin-right:0.5rem}.tags:last-child{margin-bottom:-0.5rem}.tags:not(:last-child){margin-bottom:1rem}.tags.are-medium .tag:not(.is-normal):not(.is-large),.tags.are-medium .content kbd:not(.is-normal):not(.is-large),.content .tags.are-medium kbd:not(.is-normal):not(.is-large),.tags.are-medium .docstring>section>a.docs-sourcelink:not(.is-normal):not(.is-large){font-size:1rem}.tags.are-large .tag:not(.is-normal):not(.is-medium),.tags.are-large .content kbd:not(.is-normal):not(.is-medium),.content .tags.are-large kbd:not(.is-normal):not(.is-medium),.tags.are-large .docstring>section>a.docs-sourcelink:not(.is-normal):not(.is-medium){font-size:1.25rem}.tags.is-centered{justify-content:center}.tags.is-centered .tag,.tags.is-centered .content kbd,.content .tags.is-centered kbd,.tags.is-centered .docstring>section>a.docs-sourcelink{margin-right:0.25rem;margin-left:0.25rem}.tags.is-right{justify-content:flex-end}.tags.is-right .tag:not(:first-child),.tags.is-right .content kbd:not(:first-child),.content .tags.is-right kbd:not(:first-child),.tags.is-right .docstring>section>a.docs-sourcelink:not(:first-child){margin-left:0.5rem}.tags.is-right .tag:not(:last-child),.tags.is-right .content kbd:not(:last-child),.content .tags.is-right kbd:not(:last-child),.tags.is-right .docstring>section>a.docs-sourcelink:not(:last-child){margin-right:0}.tags.has-addons .tag,.tags.has-addons .content kbd,.content .tags.has-addons kbd,.tags.has-addons .docstring>section>a.docs-sourcelink{margin-right:0}.tags.has-addons .tag:not(:first-child),.tags.has-addons .content kbd:not(:first-child),.content .tags.has-addons kbd:not(:first-child),.tags.has-addons .docstring>section>a.docs-sourcelink:not(:first-child){margin-left:0;border-bottom-left-radius:0;border-top-left-radius:0}.tags.has-addons .tag:not(:last-child),.tags.has-addons .content kbd:not(:last-child),.content .tags.has-addons kbd:not(:last-child),.tags.has-addons .docstring>section>a.docs-sourcelink:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.tag:not(body),.content kbd:not(body),.docstring>section>a.docs-sourcelink:not(body){align-items:center;background-color:#f5f5f5;border-radius:4px;color:#222;display:inline-flex;font-size:.75rem;height:2em;justify-content:center;line-height:1.5;padding-left:0.75em;padding-right:0.75em;white-space:nowrap}.tag:not(body) .delete,.content kbd:not(body) .delete,.docstring>section>a.docs-sourcelink:not(body) .delete{margin-left:0.25rem;margin-right:-0.375rem}.tag.is-white:not(body),.content kbd.is-white:not(body),.docstring>section>a.docs-sourcelink.is-white:not(body){background-color:#fff;color:#0a0a0a}.tag.is-black:not(body),.content kbd.is-black:not(body),.docstring>section>a.docs-sourcelink.is-black:not(body){background-color:#0a0a0a;color:#fff}.tag.is-light:not(body),.content kbd.is-light:not(body),.docstring>section>a.docs-sourcelink.is-light:not(body){background-color:#f5f5f5;color:#363636}.tag.is-dark:not(body),.content kbd:not(body),.docstring>section>a.docs-sourcelink.is-dark:not(body),.content .docstring>section>kbd:not(body){background-color:#363636;color:#f5f5f5}.tag.is-primary:not(body),.content kbd.is-primary:not(body),.docstring>section>a.docs-sourcelink:not(body){background-color:#4eb5de;color:#fff}.tag.is-link:not(body),.content kbd.is-link:not(body),.docstring>section>a.docs-sourcelink.is-link:not(body){background-color:#2e63b8;color:#fff}.tag.is-info:not(body),.content kbd.is-info:not(body),.docstring>section>a.docs-sourcelink.is-info:not(body){background-color:#209cee;color:#fff}.tag.is-success:not(body),.content kbd.is-success:not(body),.docstring>section>a.docs-sourcelink.is-success:not(body){background-color:#22c35b;color:#fff}.tag.is-warning:not(body),.content kbd.is-warning:not(body),.docstring>section>a.docs-sourcelink.is-warning:not(body){background-color:#ffdd57;color:rgba(0,0,0,0.7)}.tag.is-danger:not(body),.content kbd.is-danger:not(body),.docstring>section>a.docs-sourcelink.is-danger:not(body){background-color:#da0b00;color:#fff}.tag.is-normal:not(body),.content kbd.is-normal:not(body),.docstring>section>a.docs-sourcelink.is-normal:not(body){font-size:.75rem}.tag.is-medium:not(body),.content kbd.is-medium:not(body),.docstring>section>a.docs-sourcelink.is-medium:not(body){font-size:1rem}.tag.is-large:not(body),.content kbd.is-large:not(body),.docstring>section>a.docs-sourcelink.is-large:not(body){font-size:1.25rem}.tag:not(body) .icon:first-child:not(:last-child),.content kbd:not(body) .icon:first-child:not(:last-child),.docstring>section>a.docs-sourcelink:not(body) .icon:first-child:not(:last-child){margin-left:-0.375em;margin-right:0.1875em}.tag:not(body) .icon:last-child:not(:first-child),.content kbd:not(body) .icon:last-child:not(:first-child),.docstring>section>a.docs-sourcelink:not(body) .icon:last-child:not(:first-child){margin-left:0.1875em;margin-right:-0.375em}.tag:not(body) .icon:first-child:last-child,.content kbd:not(body) .icon:first-child:last-child,.docstring>section>a.docs-sourcelink:not(body) .icon:first-child:last-child{margin-left:-0.375em;margin-right:-0.375em}.tag.is-delete:not(body),.content kbd.is-delete:not(body),.docstring>section>a.docs-sourcelink.is-delete:not(body){margin-left:1px;padding:0;position:relative;width:2em}.tag.is-delete:not(body)::before,.content kbd.is-delete:not(body)::before,.docstring>section>a.docs-sourcelink.is-delete:not(body)::before,.tag.is-delete:not(body)::after,.content kbd.is-delete:not(body)::after,.docstring>section>a.docs-sourcelink.is-delete:not(body)::after{background-color:currentColor;content:"";display:block;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%) rotate(45deg);transform-origin:center center}.tag.is-delete:not(body)::before,.content kbd.is-delete:not(body)::before,.docstring>section>a.docs-sourcelink.is-delete:not(body)::before{height:1px;width:50%}.tag.is-delete:not(body)::after,.content kbd.is-delete:not(body)::after,.docstring>section>a.docs-sourcelink.is-delete:not(body)::after{height:50%;width:1px}.tag.is-delete:not(body):hover,.content kbd.is-delete:not(body):hover,.docstring>section>a.docs-sourcelink.is-delete:not(body):hover,.tag.is-delete:not(body):focus,.content kbd.is-delete:not(body):focus,.docstring>section>a.docs-sourcelink.is-delete:not(body):focus{background-color:#e8e8e8}.tag.is-delete:not(body):active,.content kbd.is-delete:not(body):active,.docstring>section>a.docs-sourcelink.is-delete:not(body):active{background-color:#dbdbdb}.tag.is-rounded:not(body),#documenter .docs-sidebar form.docs-search>input:not(body),.content kbd.is-rounded:not(body),#documenter .docs-sidebar .content form.docs-search>input:not(body),.docstring>section>a.docs-sourcelink.is-rounded:not(body){border-radius:290486px}a.tag:hover,.docstring>section>a.docs-sourcelink:hover{text-decoration:underline}.title,.subtitle{word-break:break-word}.title em,.title span,.subtitle em,.subtitle span{font-weight:inherit}.title sub,.subtitle sub{font-size:.75em}.title sup,.subtitle sup{font-size:.75em}.title .tag,.title .content kbd,.content .title kbd,.title .docstring>section>a.docs-sourcelink,.subtitle .tag,.subtitle .content kbd,.content .subtitle kbd,.subtitle .docstring>section>a.docs-sourcelink{vertical-align:middle}.title{color:#363636;font-size:2rem;font-weight:600;line-height:1.125}.title strong{color:inherit;font-weight:inherit}.title+.highlight{margin-top:-0.75rem}.title:not(.is-spaced)+.subtitle{margin-top:-1.25rem}.title.is-1{font-size:3rem}.title.is-2{font-size:2.5rem}.title.is-3{font-size:2rem}.title.is-4{font-size:1.5rem}.title.is-5{font-size:1.25rem}.title.is-6{font-size:1rem}.title.is-7{font-size:.75rem}.subtitle{color:#4a4a4a;font-size:1.25rem;font-weight:400;line-height:1.25}.subtitle strong{color:#363636;font-weight:600}.subtitle:not(.is-spaced)+.title{margin-top:-1.25rem}.subtitle.is-1{font-size:3rem}.subtitle.is-2{font-size:2.5rem}.subtitle.is-3{font-size:2rem}.subtitle.is-4{font-size:1.5rem}.subtitle.is-5{font-size:1.25rem}.subtitle.is-6{font-size:1rem}.subtitle.is-7{font-size:.75rem}.heading{display:block;font-size:11px;letter-spacing:1px;margin-bottom:5px;text-transform:uppercase}.highlight{font-weight:400;max-width:100%;overflow:hidden;padding:0}.highlight pre{overflow:auto;max-width:100%}.number{align-items:center;background-color:#f5f5f5;border-radius:290486px;display:inline-flex;font-size:1.25rem;height:2em;justify-content:center;margin-right:1.5rem;min-width:2.5em;padding:0.25rem 0.5rem;text-align:center;vertical-align:top}.select select,.textarea,.input,#documenter .docs-sidebar form.docs-search>input{background-color:#fff;border-color:#dbdbdb;border-radius:4px;color:#363636}.select select::-moz-placeholder,.textarea::-moz-placeholder,.input::-moz-placeholder,#documenter .docs-sidebar form.docs-search>input::-moz-placeholder{color:rgba(54,54,54,0.3)}.select select::-webkit-input-placeholder,.textarea::-webkit-input-placeholder,.input::-webkit-input-placeholder,#documenter .docs-sidebar form.docs-search>input::-webkit-input-placeholder{color:rgba(54,54,54,0.3)}.select select:-moz-placeholder,.textarea:-moz-placeholder,.input:-moz-placeholder,#documenter .docs-sidebar form.docs-search>input:-moz-placeholder{color:rgba(54,54,54,0.3)}.select select:-ms-input-placeholder,.textarea:-ms-input-placeholder,.input:-ms-input-placeholder,#documenter .docs-sidebar form.docs-search>input:-ms-input-placeholder{color:rgba(54,54,54,0.3)}.select select:hover,.textarea:hover,.input:hover,#documenter .docs-sidebar form.docs-search>input:hover,.select select.is-hovered,.is-hovered.textarea,.is-hovered.input,#documenter .docs-sidebar form.docs-search>input.is-hovered{border-color:#b5b5b5}.select select:focus,.textarea:focus,.input:focus,#documenter .docs-sidebar form.docs-search>input:focus,.select select.is-focused,.is-focused.textarea,.is-focused.input,#documenter .docs-sidebar form.docs-search>input.is-focused,.select select:active,.textarea:active,.input:active,#documenter .docs-sidebar form.docs-search>input:active,.select select.is-active,.is-active.textarea,.is-active.input,#documenter .docs-sidebar form.docs-search>input.is-active{border-color:#2e63b8;box-shadow:0 0 0 0.125em rgba(46,99,184,0.25)}.select select[disabled],.textarea[disabled],.input[disabled],#documenter .docs-sidebar form.docs-search>input[disabled],fieldset[disabled] .select select,.select fieldset[disabled] select,fieldset[disabled] .textarea,fieldset[disabled] .input,fieldset[disabled] #documenter .docs-sidebar form.docs-search>input,#documenter .docs-sidebar fieldset[disabled] form.docs-search>input{background-color:#f5f5f5;border-color:#f5f5f5;box-shadow:none;color:#6b6b6b}.select select[disabled]::-moz-placeholder,.textarea[disabled]::-moz-placeholder,.input[disabled]::-moz-placeholder,#documenter .docs-sidebar form.docs-search>input[disabled]::-moz-placeholder,fieldset[disabled] .select select::-moz-placeholder,.select fieldset[disabled] select::-moz-placeholder,fieldset[disabled] .textarea::-moz-placeholder,fieldset[disabled] .input::-moz-placeholder,fieldset[disabled] #documenter .docs-sidebar form.docs-search>input::-moz-placeholder,#documenter .docs-sidebar fieldset[disabled] form.docs-search>input::-moz-placeholder{color:rgba(107,107,107,0.3)}.select select[disabled]::-webkit-input-placeholder,.textarea[disabled]::-webkit-input-placeholder,.input[disabled]::-webkit-input-placeholder,#documenter .docs-sidebar form.docs-search>input[disabled]::-webkit-input-placeholder,fieldset[disabled] .select select::-webkit-input-placeholder,.select fieldset[disabled] select::-webkit-input-placeholder,fieldset[disabled] .textarea::-webkit-input-placeholder,fieldset[disabled] .input::-webkit-input-placeholder,fieldset[disabled] #documenter .docs-sidebar form.docs-search>input::-webkit-input-placeholder,#documenter .docs-sidebar fieldset[disabled] form.docs-search>input::-webkit-input-placeholder{color:rgba(107,107,107,0.3)}.select select[disabled]:-moz-placeholder,.textarea[disabled]:-moz-placeholder,.input[disabled]:-moz-placeholder,#documenter .docs-sidebar form.docs-search>input[disabled]:-moz-placeholder,fieldset[disabled] .select select:-moz-placeholder,.select fieldset[disabled] select:-moz-placeholder,fieldset[disabled] .textarea:-moz-placeholder,fieldset[disabled] .input:-moz-placeholder,fieldset[disabled] #documenter .docs-sidebar form.docs-search>input:-moz-placeholder,#documenter .docs-sidebar fieldset[disabled] form.docs-search>input:-moz-placeholder{color:rgba(107,107,107,0.3)}.select select[disabled]:-ms-input-placeholder,.textarea[disabled]:-ms-input-placeholder,.input[disabled]:-ms-input-placeholder,#documenter .docs-sidebar form.docs-search>input[disabled]:-ms-input-placeholder,fieldset[disabled] .select select:-ms-input-placeholder,.select fieldset[disabled] select:-ms-input-placeholder,fieldset[disabled] .textarea:-ms-input-placeholder,fieldset[disabled] .input:-ms-input-placeholder,fieldset[disabled] #documenter .docs-sidebar form.docs-search>input:-ms-input-placeholder,#documenter .docs-sidebar fieldset[disabled] form.docs-search>input:-ms-input-placeholder{color:rgba(107,107,107,0.3)}.textarea,.input,#documenter .docs-sidebar form.docs-search>input{box-shadow:inset 0 1px 2px rgba(10,10,10,0.1);max-width:100%;width:100%}.textarea[readonly],.input[readonly],#documenter .docs-sidebar form.docs-search>input[readonly]{box-shadow:none}.is-white.textarea,.is-white.input,#documenter .docs-sidebar form.docs-search>input.is-white{border-color:#fff}.is-white.textarea:focus,.is-white.input:focus,#documenter .docs-sidebar form.docs-search>input.is-white:focus,.is-white.is-focused.textarea,.is-white.is-focused.input,#documenter .docs-sidebar form.docs-search>input.is-focused,.is-white.textarea:active,.is-white.input:active,#documenter .docs-sidebar form.docs-search>input.is-white:active,.is-white.is-active.textarea,.is-white.is-active.input,#documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(255,255,255,0.25)}.is-black.textarea,.is-black.input,#documenter .docs-sidebar form.docs-search>input.is-black{border-color:#0a0a0a}.is-black.textarea:focus,.is-black.input:focus,#documenter .docs-sidebar form.docs-search>input.is-black:focus,.is-black.is-focused.textarea,.is-black.is-focused.input,#documenter .docs-sidebar form.docs-search>input.is-focused,.is-black.textarea:active,.is-black.input:active,#documenter .docs-sidebar form.docs-search>input.is-black:active,.is-black.is-active.textarea,.is-black.is-active.input,#documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(10,10,10,0.25)}.is-light.textarea,.is-light.input,#documenter .docs-sidebar form.docs-search>input.is-light{border-color:#f5f5f5}.is-light.textarea:focus,.is-light.input:focus,#documenter .docs-sidebar form.docs-search>input.is-light:focus,.is-light.is-focused.textarea,.is-light.is-focused.input,#documenter .docs-sidebar form.docs-search>input.is-focused,.is-light.textarea:active,.is-light.input:active,#documenter .docs-sidebar form.docs-search>input.is-light:active,.is-light.is-active.textarea,.is-light.is-active.input,#documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(245,245,245,0.25)}.is-dark.textarea,.content kbd.textarea,.is-dark.input,#documenter .docs-sidebar form.docs-search>input.is-dark,.content kbd.input{border-color:#363636}.is-dark.textarea:focus,.content kbd.textarea:focus,.is-dark.input:focus,#documenter .docs-sidebar form.docs-search>input.is-dark:focus,.content kbd.input:focus,.is-dark.is-focused.textarea,.content kbd.is-focused.textarea,.is-dark.is-focused.input,#documenter .docs-sidebar form.docs-search>input.is-focused,.content kbd.is-focused.input,#documenter .docs-sidebar .content form.docs-search>input.is-focused,.is-dark.textarea:active,.content kbd.textarea:active,.is-dark.input:active,#documenter .docs-sidebar form.docs-search>input.is-dark:active,.content kbd.input:active,.is-dark.is-active.textarea,.content kbd.is-active.textarea,.is-dark.is-active.input,#documenter .docs-sidebar form.docs-search>input.is-active,.content kbd.is-active.input,#documenter .docs-sidebar .content form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(54,54,54,0.25)}.is-primary.textarea,.docstring>section>a.textarea.docs-sourcelink,.is-primary.input,#documenter .docs-sidebar form.docs-search>input.is-primary,.docstring>section>a.input.docs-sourcelink{border-color:#4eb5de}.is-primary.textarea:focus,.docstring>section>a.textarea.docs-sourcelink:focus,.is-primary.input:focus,#documenter .docs-sidebar form.docs-search>input.is-primary:focus,.docstring>section>a.input.docs-sourcelink:focus,.is-primary.is-focused.textarea,.docstring>section>a.is-focused.textarea.docs-sourcelink,.is-primary.is-focused.input,#documenter .docs-sidebar form.docs-search>input.is-focused,.docstring>section>a.is-focused.input.docs-sourcelink,.is-primary.textarea:active,.docstring>section>a.textarea.docs-sourcelink:active,.is-primary.input:active,#documenter .docs-sidebar form.docs-search>input.is-primary:active,.docstring>section>a.input.docs-sourcelink:active,.is-primary.is-active.textarea,.docstring>section>a.is-active.textarea.docs-sourcelink,.is-primary.is-active.input,#documenter .docs-sidebar form.docs-search>input.is-active,.docstring>section>a.is-active.input.docs-sourcelink{box-shadow:0 0 0 0.125em rgba(78,181,222,0.25)}.is-link.textarea,.is-link.input,#documenter .docs-sidebar form.docs-search>input.is-link{border-color:#2e63b8}.is-link.textarea:focus,.is-link.input:focus,#documenter .docs-sidebar form.docs-search>input.is-link:focus,.is-link.is-focused.textarea,.is-link.is-focused.input,#documenter .docs-sidebar form.docs-search>input.is-focused,.is-link.textarea:active,.is-link.input:active,#documenter .docs-sidebar form.docs-search>input.is-link:active,.is-link.is-active.textarea,.is-link.is-active.input,#documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(46,99,184,0.25)}.is-info.textarea,.is-info.input,#documenter .docs-sidebar form.docs-search>input.is-info{border-color:#209cee}.is-info.textarea:focus,.is-info.input:focus,#documenter .docs-sidebar form.docs-search>input.is-info:focus,.is-info.is-focused.textarea,.is-info.is-focused.input,#documenter .docs-sidebar form.docs-search>input.is-focused,.is-info.textarea:active,.is-info.input:active,#documenter .docs-sidebar form.docs-search>input.is-info:active,.is-info.is-active.textarea,.is-info.is-active.input,#documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(32,156,238,0.25)}.is-success.textarea,.is-success.input,#documenter .docs-sidebar form.docs-search>input.is-success{border-color:#22c35b}.is-success.textarea:focus,.is-success.input:focus,#documenter .docs-sidebar form.docs-search>input.is-success:focus,.is-success.is-focused.textarea,.is-success.is-focused.input,#documenter .docs-sidebar form.docs-search>input.is-focused,.is-success.textarea:active,.is-success.input:active,#documenter .docs-sidebar form.docs-search>input.is-success:active,.is-success.is-active.textarea,.is-success.is-active.input,#documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(34,195,91,0.25)}.is-warning.textarea,.is-warning.input,#documenter .docs-sidebar form.docs-search>input.is-warning{border-color:#ffdd57}.is-warning.textarea:focus,.is-warning.input:focus,#documenter .docs-sidebar form.docs-search>input.is-warning:focus,.is-warning.is-focused.textarea,.is-warning.is-focused.input,#documenter .docs-sidebar form.docs-search>input.is-focused,.is-warning.textarea:active,.is-warning.input:active,#documenter .docs-sidebar form.docs-search>input.is-warning:active,.is-warning.is-active.textarea,.is-warning.is-active.input,#documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(255,221,87,0.25)}.is-danger.textarea,.is-danger.input,#documenter .docs-sidebar form.docs-search>input.is-danger{border-color:#da0b00}.is-danger.textarea:focus,.is-danger.input:focus,#documenter .docs-sidebar form.docs-search>input.is-danger:focus,.is-danger.is-focused.textarea,.is-danger.is-focused.input,#documenter .docs-sidebar form.docs-search>input.is-focused,.is-danger.textarea:active,.is-danger.input:active,#documenter .docs-sidebar form.docs-search>input.is-danger:active,.is-danger.is-active.textarea,.is-danger.is-active.input,#documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(218,11,0,0.25)}.is-small.textarea,.is-small.input,#documenter .docs-sidebar form.docs-search>input{border-radius:2px;font-size:.75rem}.is-medium.textarea,.is-medium.input,#documenter .docs-sidebar form.docs-search>input.is-medium{font-size:1.25rem}.is-large.textarea,.is-large.input,#documenter .docs-sidebar form.docs-search>input.is-large{font-size:1.5rem}.is-fullwidth.textarea,.is-fullwidth.input,#documenter .docs-sidebar form.docs-search>input.is-fullwidth{display:block;width:100%}.is-inline.textarea,.is-inline.input,#documenter .docs-sidebar form.docs-search>input.is-inline{display:inline;width:auto}.input.is-rounded,#documenter .docs-sidebar form.docs-search>input{border-radius:290486px;padding-left:1em;padding-right:1em}.input.is-static,#documenter .docs-sidebar form.docs-search>input.is-static{background-color:transparent;border-color:transparent;box-shadow:none;padding-left:0;padding-right:0}.textarea{display:block;max-width:100%;min-width:100%;padding:0.625em;resize:vertical}.textarea:not([rows]){max-height:600px;min-height:120px}.textarea[rows]{height:initial}.textarea.has-fixed-size{resize:none}.radio,.checkbox{cursor:pointer;display:inline-block;line-height:1.25;position:relative}.radio input,.checkbox input{cursor:pointer}.radio:hover,.checkbox:hover{color:#363636}.radio[disabled],.checkbox[disabled],fieldset[disabled] .radio,fieldset[disabled] .checkbox{color:#6b6b6b;cursor:not-allowed}.radio+.radio{margin-left:0.5em}.select{display:inline-block;max-width:100%;position:relative;vertical-align:top}.select:not(.is-multiple){height:2.25em}.select:not(.is-multiple):not(.is-loading)::after{border-color:#2e63b8;right:1.125em;z-index:4}.select.is-rounded select,#documenter .docs-sidebar form.docs-search>input.select select{border-radius:290486px;padding-left:1em}.select select{cursor:pointer;display:block;font-size:1em;max-width:100%;outline:none}.select select::-ms-expand{display:none}.select select[disabled]:hover,fieldset[disabled] .select select:hover{border-color:#f5f5f5}.select select:not([multiple]){padding-right:2.5em}.select select[multiple]{height:auto;padding:0}.select select[multiple] option{padding:0.5em 1em}.select:not(.is-multiple):not(.is-loading):hover::after{border-color:#363636}.select.is-white:not(:hover)::after{border-color:#fff}.select.is-white select{border-color:#fff}.select.is-white select:hover,.select.is-white select.is-hovered{border-color:#f2f2f2}.select.is-white select:focus,.select.is-white select.is-focused,.select.is-white select:active,.select.is-white select.is-active{box-shadow:0 0 0 0.125em rgba(255,255,255,0.25)}.select.is-black:not(:hover)::after{border-color:#0a0a0a}.select.is-black select{border-color:#0a0a0a}.select.is-black select:hover,.select.is-black select.is-hovered{border-color:#000}.select.is-black select:focus,.select.is-black select.is-focused,.select.is-black select:active,.select.is-black select.is-active{box-shadow:0 0 0 0.125em rgba(10,10,10,0.25)}.select.is-light:not(:hover)::after{border-color:#f5f5f5}.select.is-light select{border-color:#f5f5f5}.select.is-light select:hover,.select.is-light select.is-hovered{border-color:#e8e8e8}.select.is-light select:focus,.select.is-light select.is-focused,.select.is-light select:active,.select.is-light select.is-active{box-shadow:0 0 0 0.125em rgba(245,245,245,0.25)}.select.is-dark:not(:hover)::after,.content kbd.select:not(:hover)::after{border-color:#363636}.select.is-dark select,.content kbd.select select{border-color:#363636}.select.is-dark select:hover,.content kbd.select select:hover,.select.is-dark select.is-hovered,.content kbd.select select.is-hovered{border-color:#292929}.select.is-dark select:focus,.content kbd.select select:focus,.select.is-dark select.is-focused,.content kbd.select select.is-focused,.select.is-dark select:active,.content kbd.select select:active,.select.is-dark select.is-active,.content kbd.select select.is-active{box-shadow:0 0 0 0.125em rgba(54,54,54,0.25)}.select.is-primary:not(:hover)::after,.docstring>section>a.select.docs-sourcelink:not(:hover)::after{border-color:#4eb5de}.select.is-primary select,.docstring>section>a.select.docs-sourcelink select{border-color:#4eb5de}.select.is-primary select:hover,.docstring>section>a.select.docs-sourcelink select:hover,.select.is-primary select.is-hovered,.docstring>section>a.select.docs-sourcelink select.is-hovered{border-color:#39acda}.select.is-primary select:focus,.docstring>section>a.select.docs-sourcelink select:focus,.select.is-primary select.is-focused,.docstring>section>a.select.docs-sourcelink select.is-focused,.select.is-primary select:active,.docstring>section>a.select.docs-sourcelink select:active,.select.is-primary select.is-active,.docstring>section>a.select.docs-sourcelink select.is-active{box-shadow:0 0 0 0.125em rgba(78,181,222,0.25)}.select.is-link:not(:hover)::after{border-color:#2e63b8}.select.is-link select{border-color:#2e63b8}.select.is-link select:hover,.select.is-link select.is-hovered{border-color:#2958a4}.select.is-link select:focus,.select.is-link select.is-focused,.select.is-link select:active,.select.is-link select.is-active{box-shadow:0 0 0 0.125em rgba(46,99,184,0.25)}.select.is-info:not(:hover)::after{border-color:#209cee}.select.is-info select{border-color:#209cee}.select.is-info select:hover,.select.is-info select.is-hovered{border-color:#1190e3}.select.is-info select:focus,.select.is-info select.is-focused,.select.is-info select:active,.select.is-info select.is-active{box-shadow:0 0 0 0.125em rgba(32,156,238,0.25)}.select.is-success:not(:hover)::after{border-color:#22c35b}.select.is-success select{border-color:#22c35b}.select.is-success select:hover,.select.is-success select.is-hovered{border-color:#1ead51}.select.is-success select:focus,.select.is-success select.is-focused,.select.is-success select:active,.select.is-success select.is-active{box-shadow:0 0 0 0.125em rgba(34,195,91,0.25)}.select.is-warning:not(:hover)::after{border-color:#ffdd57}.select.is-warning select{border-color:#ffdd57}.select.is-warning select:hover,.select.is-warning select.is-hovered{border-color:#ffd83e}.select.is-warning select:focus,.select.is-warning select.is-focused,.select.is-warning select:active,.select.is-warning select.is-active{box-shadow:0 0 0 0.125em rgba(255,221,87,0.25)}.select.is-danger:not(:hover)::after{border-color:#da0b00}.select.is-danger select{border-color:#da0b00}.select.is-danger select:hover,.select.is-danger select.is-hovered{border-color:#c10a00}.select.is-danger select:focus,.select.is-danger select.is-focused,.select.is-danger select:active,.select.is-danger select.is-active{box-shadow:0 0 0 0.125em rgba(218,11,0,0.25)}.select.is-small,#documenter .docs-sidebar form.docs-search>input.select{border-radius:2px;font-size:.75rem}.select.is-medium{font-size:1.25rem}.select.is-large{font-size:1.5rem}.select.is-disabled::after{border-color:#6b6b6b}.select.is-fullwidth{width:100%}.select.is-fullwidth select{width:100%}.select.is-loading::after{margin-top:0;position:absolute;right:0.625em;top:0.625em;transform:none}.select.is-loading.is-small:after,#documenter .docs-sidebar form.docs-search>input.is-loading:after{font-size:.75rem}.select.is-loading.is-medium:after{font-size:1.25rem}.select.is-loading.is-large:after{font-size:1.5rem}.file{align-items:stretch;display:flex;justify-content:flex-start;position:relative}.file.is-white .file-cta{background-color:#fff;border-color:transparent;color:#0a0a0a}.file.is-white:hover .file-cta,.file.is-white.is-hovered .file-cta{background-color:#f9f9f9;border-color:transparent;color:#0a0a0a}.file.is-white:focus .file-cta,.file.is-white.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(255,255,255,0.25);color:#0a0a0a}.file.is-white:active .file-cta,.file.is-white.is-active .file-cta{background-color:#f2f2f2;border-color:transparent;color:#0a0a0a}.file.is-black .file-cta{background-color:#0a0a0a;border-color:transparent;color:#fff}.file.is-black:hover .file-cta,.file.is-black.is-hovered .file-cta{background-color:#040404;border-color:transparent;color:#fff}.file.is-black:focus .file-cta,.file.is-black.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(10,10,10,0.25);color:#fff}.file.is-black:active .file-cta,.file.is-black.is-active .file-cta{background-color:#000;border-color:transparent;color:#fff}.file.is-light .file-cta{background-color:#f5f5f5;border-color:transparent;color:#363636}.file.is-light:hover .file-cta,.file.is-light.is-hovered .file-cta{background-color:#eee;border-color:transparent;color:#363636}.file.is-light:focus .file-cta,.file.is-light.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(245,245,245,0.25);color:#363636}.file.is-light:active .file-cta,.file.is-light.is-active .file-cta{background-color:#e8e8e8;border-color:transparent;color:#363636}.file.is-dark .file-cta,.content kbd.file .file-cta{background-color:#363636;border-color:transparent;color:#f5f5f5}.file.is-dark:hover .file-cta,.content kbd.file:hover .file-cta,.file.is-dark.is-hovered .file-cta,.content kbd.file.is-hovered .file-cta{background-color:#2f2f2f;border-color:transparent;color:#f5f5f5}.file.is-dark:focus .file-cta,.content kbd.file:focus .file-cta,.file.is-dark.is-focused .file-cta,.content kbd.file.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(54,54,54,0.25);color:#f5f5f5}.file.is-dark:active .file-cta,.content kbd.file:active .file-cta,.file.is-dark.is-active .file-cta,.content kbd.file.is-active .file-cta{background-color:#292929;border-color:transparent;color:#f5f5f5}.file.is-primary .file-cta,.docstring>section>a.file.docs-sourcelink .file-cta{background-color:#4eb5de;border-color:transparent;color:#fff}.file.is-primary:hover .file-cta,.docstring>section>a.file.docs-sourcelink:hover .file-cta,.file.is-primary.is-hovered .file-cta,.docstring>section>a.file.is-hovered.docs-sourcelink .file-cta{background-color:#43b1dc;border-color:transparent;color:#fff}.file.is-primary:focus .file-cta,.docstring>section>a.file.docs-sourcelink:focus .file-cta,.file.is-primary.is-focused .file-cta,.docstring>section>a.file.is-focused.docs-sourcelink .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(78,181,222,0.25);color:#fff}.file.is-primary:active .file-cta,.docstring>section>a.file.docs-sourcelink:active .file-cta,.file.is-primary.is-active .file-cta,.docstring>section>a.file.is-active.docs-sourcelink .file-cta{background-color:#39acda;border-color:transparent;color:#fff}.file.is-link .file-cta{background-color:#2e63b8;border-color:transparent;color:#fff}.file.is-link:hover .file-cta,.file.is-link.is-hovered .file-cta{background-color:#2b5eae;border-color:transparent;color:#fff}.file.is-link:focus .file-cta,.file.is-link.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(46,99,184,0.25);color:#fff}.file.is-link:active .file-cta,.file.is-link.is-active .file-cta{background-color:#2958a4;border-color:transparent;color:#fff}.file.is-info .file-cta{background-color:#209cee;border-color:transparent;color:#fff}.file.is-info:hover .file-cta,.file.is-info.is-hovered .file-cta{background-color:#1497ed;border-color:transparent;color:#fff}.file.is-info:focus .file-cta,.file.is-info.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(32,156,238,0.25);color:#fff}.file.is-info:active .file-cta,.file.is-info.is-active .file-cta{background-color:#1190e3;border-color:transparent;color:#fff}.file.is-success .file-cta{background-color:#22c35b;border-color:transparent;color:#fff}.file.is-success:hover .file-cta,.file.is-success.is-hovered .file-cta{background-color:#20b856;border-color:transparent;color:#fff}.file.is-success:focus .file-cta,.file.is-success.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(34,195,91,0.25);color:#fff}.file.is-success:active .file-cta,.file.is-success.is-active .file-cta{background-color:#1ead51;border-color:transparent;color:#fff}.file.is-warning .file-cta{background-color:#ffdd57;border-color:transparent;color:rgba(0,0,0,0.7)}.file.is-warning:hover .file-cta,.file.is-warning.is-hovered .file-cta{background-color:#ffda4a;border-color:transparent;color:rgba(0,0,0,0.7)}.file.is-warning:focus .file-cta,.file.is-warning.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(255,221,87,0.25);color:rgba(0,0,0,0.7)}.file.is-warning:active .file-cta,.file.is-warning.is-active .file-cta{background-color:#ffd83e;border-color:transparent;color:rgba(0,0,0,0.7)}.file.is-danger .file-cta{background-color:#da0b00;border-color:transparent;color:#fff}.file.is-danger:hover .file-cta,.file.is-danger.is-hovered .file-cta{background-color:#cd0a00;border-color:transparent;color:#fff}.file.is-danger:focus .file-cta,.file.is-danger.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(218,11,0,0.25);color:#fff}.file.is-danger:active .file-cta,.file.is-danger.is-active .file-cta{background-color:#c10a00;border-color:transparent;color:#fff}.file.is-small,#documenter .docs-sidebar form.docs-search>input.file{font-size:.75rem}.file.is-medium{font-size:1.25rem}.file.is-medium .file-icon .fa{font-size:21px}.file.is-large{font-size:1.5rem}.file.is-large .file-icon .fa{font-size:28px}.file.has-name .file-cta{border-bottom-right-radius:0;border-top-right-radius:0}.file.has-name .file-name{border-bottom-left-radius:0;border-top-left-radius:0}.file.has-name.is-empty .file-cta{border-radius:4px}.file.has-name.is-empty .file-name{display:none}.file.is-boxed .file-label{flex-direction:column}.file.is-boxed .file-cta{flex-direction:column;height:auto;padding:1em 3em}.file.is-boxed .file-name{border-width:0 1px 1px}.file.is-boxed .file-icon{height:1.5em;width:1.5em}.file.is-boxed .file-icon .fa{font-size:21px}.file.is-boxed.is-small .file-icon .fa,#documenter .docs-sidebar form.docs-search>input.is-boxed .file-icon .fa{font-size:14px}.file.is-boxed.is-medium .file-icon .fa{font-size:28px}.file.is-boxed.is-large .file-icon .fa{font-size:35px}.file.is-boxed.has-name .file-cta{border-radius:4px 4px 0 0}.file.is-boxed.has-name .file-name{border-radius:0 0 4px 4px;border-width:0 1px 1px}.file.is-centered{justify-content:center}.file.is-fullwidth .file-label{width:100%}.file.is-fullwidth .file-name{flex-grow:1;max-width:none}.file.is-right{justify-content:flex-end}.file.is-right .file-cta{border-radius:0 4px 4px 0}.file.is-right .file-name{border-radius:4px 0 0 4px;border-width:1px 0 1px 1px;order:-1}.file-label{align-items:stretch;display:flex;cursor:pointer;justify-content:flex-start;overflow:hidden;position:relative}.file-label:hover .file-cta{background-color:#eee;color:#363636}.file-label:hover .file-name{border-color:#d5d5d5}.file-label:active .file-cta{background-color:#e8e8e8;color:#363636}.file-label:active .file-name{border-color:#cfcfcf}.file-input{height:100%;left:0;opacity:0;outline:none;position:absolute;top:0;width:100%}.file-cta,.file-name{border-color:#dbdbdb;border-radius:4px;font-size:1em;padding-left:1em;padding-right:1em;white-space:nowrap}.file-cta{background-color:#f5f5f5;color:#4a4a4a}.file-name{border-color:#dbdbdb;border-style:solid;border-width:1px 1px 1px 0;display:block;max-width:16em;overflow:hidden;text-align:left;text-overflow:ellipsis}.file-icon{align-items:center;display:flex;height:1em;justify-content:center;margin-right:0.5em;width:1em}.file-icon .fa{font-size:14px}.label{color:#363636;display:block;font-size:1rem;font-weight:700}.label:not(:last-child){margin-bottom:0.5em}.label.is-small,#documenter .docs-sidebar form.docs-search>input.label{font-size:.75rem}.label.is-medium{font-size:1.25rem}.label.is-large{font-size:1.5rem}.help{display:block;font-size:.75rem;margin-top:0.25rem}.help.is-white{color:#fff}.help.is-black{color:#0a0a0a}.help.is-light{color:#f5f5f5}.help.is-dark,.content kbd.help{color:#363636}.help.is-primary,.docstring>section>a.help.docs-sourcelink{color:#4eb5de}.help.is-link{color:#2e63b8}.help.is-info{color:#209cee}.help.is-success{color:#22c35b}.help.is-warning{color:#ffdd57}.help.is-danger{color:#da0b00}.field:not(:last-child){margin-bottom:0.75rem}.field.has-addons{display:flex;justify-content:flex-start}.field.has-addons .control:not(:last-child){margin-right:-1px}.field.has-addons .control:not(:first-child):not(:last-child) .button,.field.has-addons .control:not(:first-child):not(:last-child) .input,.field.has-addons .control:not(:first-child):not(:last-child) #documenter .docs-sidebar form.docs-search>input,#documenter .docs-sidebar .field.has-addons .control:not(:first-child):not(:last-child) form.docs-search>input,.field.has-addons .control:not(:first-child):not(:last-child) .select select{border-radius:0}.field.has-addons .control:first-child:not(:only-child) .button,.field.has-addons .control:first-child:not(:only-child) .input,.field.has-addons .control:first-child:not(:only-child) #documenter .docs-sidebar form.docs-search>input,#documenter .docs-sidebar .field.has-addons .control:first-child:not(:only-child) form.docs-search>input,.field.has-addons .control:first-child:not(:only-child) .select select{border-bottom-right-radius:0;border-top-right-radius:0}.field.has-addons .control:last-child:not(:only-child) .button,.field.has-addons .control:last-child:not(:only-child) .input,.field.has-addons .control:last-child:not(:only-child) #documenter .docs-sidebar form.docs-search>input,#documenter .docs-sidebar .field.has-addons .control:last-child:not(:only-child) form.docs-search>input,.field.has-addons .control:last-child:not(:only-child) .select select{border-bottom-left-radius:0;border-top-left-radius:0}.field.has-addons .control .button:not([disabled]):hover,.field.has-addons .control .button.is-hovered:not([disabled]),.field.has-addons .control .input:not([disabled]):hover,.field.has-addons .control #documenter .docs-sidebar form.docs-search>input:not([disabled]):hover,#documenter .docs-sidebar .field.has-addons .control form.docs-search>input:not([disabled]):hover,.field.has-addons .control .input.is-hovered:not([disabled]),.field.has-addons .control #documenter .docs-sidebar form.docs-search>input.is-hovered:not([disabled]),#documenter .docs-sidebar .field.has-addons .control form.docs-search>input.is-hovered:not([disabled]),.field.has-addons .control .select select:not([disabled]):hover,.field.has-addons .control .select select.is-hovered:not([disabled]){z-index:2}.field.has-addons .control .button:not([disabled]):focus,.field.has-addons .control .button.is-focused:not([disabled]),.field.has-addons .control .button:not([disabled]):active,.field.has-addons .control .button.is-active:not([disabled]),.field.has-addons .control .input:not([disabled]):focus,.field.has-addons .control #documenter .docs-sidebar form.docs-search>input:not([disabled]):focus,#documenter .docs-sidebar .field.has-addons .control form.docs-search>input:not([disabled]):focus,.field.has-addons .control .input.is-focused:not([disabled]),.field.has-addons .control #documenter .docs-sidebar form.docs-search>input.is-focused:not([disabled]),#documenter .docs-sidebar .field.has-addons .control form.docs-search>input.is-focused:not([disabled]),.field.has-addons .control .input:not([disabled]):active,.field.has-addons .control #documenter .docs-sidebar form.docs-search>input:not([disabled]):active,#documenter .docs-sidebar .field.has-addons .control form.docs-search>input:not([disabled]):active,.field.has-addons .control .input.is-active:not([disabled]),.field.has-addons .control #documenter .docs-sidebar form.docs-search>input.is-active:not([disabled]),#documenter .docs-sidebar .field.has-addons .control form.docs-search>input.is-active:not([disabled]),.field.has-addons .control .select select:not([disabled]):focus,.field.has-addons .control .select select.is-focused:not([disabled]),.field.has-addons .control .select select:not([disabled]):active,.field.has-addons .control .select select.is-active:not([disabled]){z-index:3}.field.has-addons .control .button:not([disabled]):focus:hover,.field.has-addons .control .button.is-focused:not([disabled]):hover,.field.has-addons .control .button:not([disabled]):active:hover,.field.has-addons .control .button.is-active:not([disabled]):hover,.field.has-addons .control .input:not([disabled]):focus:hover,.field.has-addons .control #documenter .docs-sidebar form.docs-search>input:not([disabled]):focus:hover,#documenter .docs-sidebar .field.has-addons .control form.docs-search>input:not([disabled]):focus:hover,.field.has-addons .control .input.is-focused:not([disabled]):hover,.field.has-addons .control #documenter .docs-sidebar form.docs-search>input.is-focused:not([disabled]):hover,#documenter .docs-sidebar .field.has-addons .control form.docs-search>input.is-focused:not([disabled]):hover,.field.has-addons .control .input:not([disabled]):active:hover,.field.has-addons .control #documenter .docs-sidebar form.docs-search>input:not([disabled]):active:hover,#documenter .docs-sidebar .field.has-addons .control form.docs-search>input:not([disabled]):active:hover,.field.has-addons .control .input.is-active:not([disabled]):hover,.field.has-addons .control #documenter .docs-sidebar form.docs-search>input.is-active:not([disabled]):hover,#documenter .docs-sidebar .field.has-addons .control form.docs-search>input.is-active:not([disabled]):hover,.field.has-addons .control .select select:not([disabled]):focus:hover,.field.has-addons .control .select select.is-focused:not([disabled]):hover,.field.has-addons .control .select select:not([disabled]):active:hover,.field.has-addons .control .select select.is-active:not([disabled]):hover{z-index:4}.field.has-addons .control.is-expanded{flex-grow:1;flex-shrink:1}.field.has-addons.has-addons-centered{justify-content:center}.field.has-addons.has-addons-right{justify-content:flex-end}.field.has-addons.has-addons-fullwidth .control{flex-grow:1;flex-shrink:0}.field.is-grouped{display:flex;justify-content:flex-start}.field.is-grouped>.control{flex-shrink:0}.field.is-grouped>.control:not(:last-child){margin-bottom:0;margin-right:0.75rem}.field.is-grouped>.control.is-expanded{flex-grow:1;flex-shrink:1}.field.is-grouped.is-grouped-centered{justify-content:center}.field.is-grouped.is-grouped-right{justify-content:flex-end}.field.is-grouped.is-grouped-multiline{flex-wrap:wrap}.field.is-grouped.is-grouped-multiline>.control:last-child,.field.is-grouped.is-grouped-multiline>.control:not(:last-child){margin-bottom:0.75rem}.field.is-grouped.is-grouped-multiline:last-child{margin-bottom:-0.75rem}.field.is-grouped.is-grouped-multiline:not(:last-child){margin-bottom:0}@media screen and (min-width: 769px),print{.field.is-horizontal{display:flex}}.field-label .label{font-size:inherit}@media screen and (max-width: 768px){.field-label{margin-bottom:0.5rem}}@media screen and (min-width: 769px),print{.field-label{flex-basis:0;flex-grow:1;flex-shrink:0;margin-right:1.5rem;text-align:right}.field-label.is-small,#documenter .docs-sidebar form.docs-search>input.field-label{font-size:.75rem;padding-top:0.375em}.field-label.is-normal{padding-top:0.375em}.field-label.is-medium{font-size:1.25rem;padding-top:0.375em}.field-label.is-large{font-size:1.5rem;padding-top:0.375em}}.field-body .field .field{margin-bottom:0}@media screen and (min-width: 769px),print{.field-body{display:flex;flex-basis:0;flex-grow:5;flex-shrink:1}.field-body .field{margin-bottom:0}.field-body>.field{flex-shrink:1}.field-body>.field:not(.is-narrow){flex-grow:1}.field-body>.field:not(:last-child){margin-right:0.75rem}}.control{box-sizing:border-box;clear:both;font-size:1rem;position:relative;text-align:left}.control.has-icons-left .input:focus~.icon,.control.has-icons-left #documenter .docs-sidebar form.docs-search>input:focus~.icon,#documenter .docs-sidebar .control.has-icons-left form.docs-search>input:focus~.icon,.control.has-icons-left .select:focus~.icon,.control.has-icons-right .input:focus~.icon,.control.has-icons-right #documenter .docs-sidebar form.docs-search>input:focus~.icon,#documenter .docs-sidebar .control.has-icons-right form.docs-search>input:focus~.icon,.control.has-icons-right .select:focus~.icon{color:#6b6b6b}.control.has-icons-left .input.is-small~.icon,.control.has-icons-left #documenter .docs-sidebar form.docs-search>input~.icon,#documenter .docs-sidebar .control.has-icons-left form.docs-search>input~.icon,.control.has-icons-left .select.is-small~.icon,.control.has-icons-right .input.is-small~.icon,.control.has-icons-right #documenter .docs-sidebar form.docs-search>input~.icon,#documenter .docs-sidebar .control.has-icons-right form.docs-search>input~.icon,.control.has-icons-right .select.is-small~.icon{font-size:.75rem}.control.has-icons-left .input.is-medium~.icon,.control.has-icons-left #documenter .docs-sidebar form.docs-search>input.is-medium~.icon,#documenter .docs-sidebar .control.has-icons-left form.docs-search>input.is-medium~.icon,.control.has-icons-left .select.is-medium~.icon,.control.has-icons-right .input.is-medium~.icon,.control.has-icons-right #documenter .docs-sidebar form.docs-search>input.is-medium~.icon,#documenter .docs-sidebar .control.has-icons-right form.docs-search>input.is-medium~.icon,.control.has-icons-right .select.is-medium~.icon{font-size:1.25rem}.control.has-icons-left .input.is-large~.icon,.control.has-icons-left #documenter .docs-sidebar form.docs-search>input.is-large~.icon,#documenter .docs-sidebar .control.has-icons-left form.docs-search>input.is-large~.icon,.control.has-icons-left .select.is-large~.icon,.control.has-icons-right .input.is-large~.icon,.control.has-icons-right #documenter .docs-sidebar form.docs-search>input.is-large~.icon,#documenter .docs-sidebar .control.has-icons-right form.docs-search>input.is-large~.icon,.control.has-icons-right .select.is-large~.icon{font-size:1.5rem}.control.has-icons-left .icon,.control.has-icons-right .icon{color:#dbdbdb;height:2.25em;pointer-events:none;position:absolute;top:0;width:2.25em;z-index:4}.control.has-icons-left .input,.control.has-icons-left #documenter .docs-sidebar form.docs-search>input,#documenter .docs-sidebar .control.has-icons-left form.docs-search>input,.control.has-icons-left .select select{padding-left:2.25em}.control.has-icons-left .icon.is-left{left:0}.control.has-icons-right .input,.control.has-icons-right #documenter .docs-sidebar form.docs-search>input,#documenter .docs-sidebar .control.has-icons-right form.docs-search>input,.control.has-icons-right .select select{padding-right:2.25em}.control.has-icons-right .icon.is-right{right:0}.control.is-loading::after{position:absolute !important;right:0.625em;top:0.625em;z-index:4}.control.is-loading.is-small:after,#documenter .docs-sidebar form.docs-search>input.is-loading:after{font-size:.75rem}.control.is-loading.is-medium:after{font-size:1.25rem}.control.is-loading.is-large:after{font-size:1.5rem}.breadcrumb{font-size:1rem;white-space:nowrap}.breadcrumb a{align-items:center;color:#2e63b8;display:flex;justify-content:center;padding:0 .75em}.breadcrumb a:hover{color:#363636}.breadcrumb li{align-items:center;display:flex}.breadcrumb li:first-child a{padding-left:0}.breadcrumb li.is-active a{color:#222;cursor:default;pointer-events:none}.breadcrumb li+li::before{color:#b5b5b5;content:"\0002f"}.breadcrumb ul,.breadcrumb ol{align-items:flex-start;display:flex;flex-wrap:wrap;justify-content:flex-start}.breadcrumb .icon:first-child{margin-right:0.5em}.breadcrumb .icon:last-child{margin-left:0.5em}.breadcrumb.is-centered ol,.breadcrumb.is-centered ul{justify-content:center}.breadcrumb.is-right ol,.breadcrumb.is-right ul{justify-content:flex-end}.breadcrumb.is-small,#documenter .docs-sidebar form.docs-search>input.breadcrumb{font-size:.75rem}.breadcrumb.is-medium{font-size:1.25rem}.breadcrumb.is-large{font-size:1.5rem}.breadcrumb.has-arrow-separator li+li::before{content:"\02192"}.breadcrumb.has-bullet-separator li+li::before{content:"\02022"}.breadcrumb.has-dot-separator li+li::before{content:"\000b7"}.breadcrumb.has-succeeds-separator li+li::before{content:"\0227B"}.card{background-color:#fff;box-shadow:0 2px 3px rgba(10,10,10,0.1),0 0 0 1px rgba(10,10,10,0.1);color:#222;max-width:100%;position:relative}.card-header{background-color:rgba(0,0,0,0);align-items:stretch;box-shadow:0 1px 2px rgba(10,10,10,0.1);display:flex}.card-header-title{align-items:center;color:#222;display:flex;flex-grow:1;font-weight:700;padding:.75rem}.card-header-title.is-centered{justify-content:center}.card-header-icon{align-items:center;cursor:pointer;display:flex;justify-content:center;padding:.75rem}.card-image{display:block;position:relative}.card-content{background-color:rgba(0,0,0,0);padding:1.5rem}.card-footer{background-color:rgba(0,0,0,0);border-top:1px solid #dbdbdb;align-items:stretch;display:flex}.card-footer-item{align-items:center;display:flex;flex-basis:0;flex-grow:1;flex-shrink:0;justify-content:center;padding:.75rem}.card-footer-item:not(:last-child){border-right:1px solid #dbdbdb}.card .media:not(:last-child){margin-bottom:1.5rem}.dropdown{display:inline-flex;position:relative;vertical-align:top}.dropdown.is-active .dropdown-menu,.dropdown.is-hoverable:hover .dropdown-menu{display:block}.dropdown.is-right .dropdown-menu{left:auto;right:0}.dropdown.is-up .dropdown-menu{bottom:100%;padding-bottom:4px;padding-top:initial;top:auto}.dropdown-menu{display:none;left:0;min-width:12rem;padding-top:4px;position:absolute;top:100%;z-index:20}.dropdown-content{background-color:#fff;border-radius:4px;box-shadow:0 2px 3px rgba(10,10,10,0.1),0 0 0 1px rgba(10,10,10,0.1);padding-bottom:.5rem;padding-top:.5rem}.dropdown-item{color:#4a4a4a;display:block;font-size:0.875rem;line-height:1.5;padding:0.375rem 1rem;position:relative}a.dropdown-item,button.dropdown-item{padding-right:3rem;text-align:left;white-space:nowrap;width:100%}a.dropdown-item:hover,button.dropdown-item:hover{background-color:#f5f5f5;color:#0a0a0a}a.dropdown-item.is-active,button.dropdown-item.is-active{background-color:#2e63b8;color:#fff}.dropdown-divider{background-color:#dbdbdb;border:none;display:block;height:1px;margin:0.5rem 0}.level{align-items:center;justify-content:space-between}.level code{border-radius:4px}.level img{display:inline-block;vertical-align:top}.level.is-mobile{display:flex}.level.is-mobile .level-left,.level.is-mobile .level-right{display:flex}.level.is-mobile .level-left+.level-right{margin-top:0}.level.is-mobile .level-item:not(:last-child){margin-bottom:0;margin-right:.75rem}.level.is-mobile .level-item:not(.is-narrow){flex-grow:1}@media screen and (min-width: 769px),print{.level{display:flex}.level>.level-item:not(.is-narrow){flex-grow:1}}.level-item{align-items:center;display:flex;flex-basis:auto;flex-grow:0;flex-shrink:0;justify-content:center}.level-item .title,.level-item .subtitle{margin-bottom:0}@media screen and (max-width: 768px){.level-item:not(:last-child){margin-bottom:.75rem}}.level-left,.level-right{flex-basis:auto;flex-grow:0;flex-shrink:0}.level-left .level-item.is-flexible,.level-right .level-item.is-flexible{flex-grow:1}@media screen and (min-width: 769px),print{.level-left .level-item:not(:last-child),.level-right .level-item:not(:last-child){margin-right:.75rem}}.level-left{align-items:center;justify-content:flex-start}@media screen and (max-width: 768px){.level-left+.level-right{margin-top:1.5rem}}@media screen and (min-width: 769px),print{.level-left{display:flex}}.level-right{align-items:center;justify-content:flex-end}@media screen and (min-width: 769px),print{.level-right{display:flex}}.list{background-color:#fff;border-radius:4px;box-shadow:0 2px 3px rgba(10,10,10,0.1),0 0 0 1px rgba(10,10,10,0.1)}.list-item{display:block;padding:0.5em 1em}.list-item:not(a){color:#222}.list-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-item:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px}.list-item:not(:last-child){border-bottom:1px solid #dbdbdb}.list-item.is-active{background-color:#2e63b8;color:#fff}a.list-item{background-color:#f5f5f5;cursor:pointer}.media{align-items:flex-start;display:flex;text-align:left}.media .content:not(:last-child){margin-bottom:0.75rem}.media .media{border-top:1px solid rgba(219,219,219,0.5);display:flex;padding-top:0.75rem}.media .media .content:not(:last-child),.media .media .control:not(:last-child){margin-bottom:0.5rem}.media .media .media{padding-top:0.5rem}.media .media .media+.media{margin-top:0.5rem}.media+.media{border-top:1px solid rgba(219,219,219,0.5);margin-top:1rem;padding-top:1rem}.media.is-large+.media{margin-top:1.5rem;padding-top:1.5rem}.media-left,.media-right{flex-basis:auto;flex-grow:0;flex-shrink:0}.media-left{margin-right:1rem}.media-right{margin-left:1rem}.media-content{flex-basis:auto;flex-grow:1;flex-shrink:1;text-align:left}@media screen and (max-width: 768px){.media-content{overflow-x:auto}}.menu{font-size:1rem}.menu.is-small,#documenter .docs-sidebar form.docs-search>input.menu{font-size:.75rem}.menu.is-medium{font-size:1.25rem}.menu.is-large{font-size:1.5rem}.menu-list{line-height:1.25}.menu-list a{border-radius:2px;color:#222;display:block;padding:0.5em 0.75em}.menu-list a:hover{background-color:#f5f5f5;color:#222}.menu-list a.is-active{background-color:#2e63b8;color:#fff}.menu-list li ul{border-left:1px solid #dbdbdb;margin:.75em;padding-left:.75em}.menu-label{color:#6b6b6b;font-size:.75em;letter-spacing:.1em;text-transform:uppercase}.menu-label:not(:first-child){margin-top:1em}.menu-label:not(:last-child){margin-bottom:1em}.message{background-color:#f5f5f5;border-radius:4px;font-size:1rem}.message strong{color:currentColor}.message a:not(.button):not(.tag):not(.dropdown-item){color:currentColor;text-decoration:underline}.message.is-small,#documenter .docs-sidebar form.docs-search>input.message{font-size:.75rem}.message.is-medium{font-size:1.25rem}.message.is-large{font-size:1.5rem}.message.is-white{background-color:#fff}.message.is-white .message-header{background-color:#fff;color:#0a0a0a}.message.is-white .message-body{border-color:#fff;color:#4d4d4d}.message.is-black{background-color:#fafafa}.message.is-black .message-header{background-color:#0a0a0a;color:#fff}.message.is-black .message-body{border-color:#0a0a0a;color:#090909}.message.is-light{background-color:#fafafa}.message.is-light .message-header{background-color:#f5f5f5;color:#363636}.message.is-light .message-body{border-color:#f5f5f5;color:#505050}.message.is-dark,.content kbd.message{background-color:#fafafa}.message.is-dark .message-header,.content kbd.message .message-header{background-color:#363636;color:#f5f5f5}.message.is-dark .message-body,.content kbd.message .message-body{border-color:#363636;color:#2a2a2a}.message.is-primary,.docstring>section>a.message.docs-sourcelink{background-color:#f6fbfd}.message.is-primary .message-header,.docstring>section>a.message.docs-sourcelink .message-header{background-color:#4eb5de;color:#fff}.message.is-primary .message-body,.docstring>section>a.message.docs-sourcelink .message-body{border-color:#4eb5de;color:#1f556a}.message.is-link{background-color:#f7f9fd}.message.is-link .message-header{background-color:#2e63b8;color:#fff}.message.is-link .message-body{border-color:#2e63b8;color:#264981}.message.is-info{background-color:#f6fbfe}.message.is-info .message-header{background-color:#209cee;color:#fff}.message.is-info .message-body{border-color:#209cee;color:#12537d}.message.is-success{background-color:#f6fdf9}.message.is-success .message-header{background-color:#22c35b;color:#fff}.message.is-success .message-body{border-color:#22c35b;color:#0f361d}.message.is-warning{background-color:#fffdf5}.message.is-warning .message-header{background-color:#ffdd57;color:rgba(0,0,0,0.7)}.message.is-warning .message-body{border-color:#ffdd57;color:#3c3108}.message.is-danger{background-color:#fff5f5}.message.is-danger .message-header{background-color:#da0b00;color:#fff}.message.is-danger .message-body{border-color:#da0b00;color:#9b0c04}.message-header{align-items:center;background-color:#222;border-radius:4px 4px 0 0;color:#fff;display:flex;font-weight:700;justify-content:space-between;line-height:1.25;padding:0.75em 1em;position:relative}.message-header .delete{flex-grow:0;flex-shrink:0;margin-left:0.75em}.message-header+.message-body{border-width:0;border-top-left-radius:0;border-top-right-radius:0}.message-body{border-color:#dbdbdb;border-radius:4px;border-style:solid;border-width:0 0 0 4px;color:#222;padding:1.25em 1.5em}.message-body code,.message-body pre{background-color:#fff}.message-body pre code{background-color:rgba(0,0,0,0)}.modal{align-items:center;display:none;flex-direction:column;justify-content:center;overflow:hidden;position:fixed;z-index:40}.modal.is-active{display:flex}.modal-background{background-color:rgba(10,10,10,0.86)}.modal-content,.modal-card{margin:0 20px;max-height:calc(100vh - 160px);overflow:auto;position:relative;width:100%}@media screen and (min-width: 769px),print{.modal-content,.modal-card{margin:0 auto;max-height:calc(100vh - 40px);width:640px}}.modal-close{background:none;height:40px;position:fixed;right:20px;top:20px;width:40px}.modal-card{display:flex;flex-direction:column;max-height:calc(100vh - 40px);overflow:hidden;-ms-overflow-y:visible}.modal-card-head,.modal-card-foot{align-items:center;background-color:#f5f5f5;display:flex;flex-shrink:0;justify-content:flex-start;padding:20px;position:relative}.modal-card-head{border-bottom:1px solid #dbdbdb;border-top-left-radius:6px;border-top-right-radius:6px}.modal-card-title{color:#222;flex-grow:1;flex-shrink:0;font-size:1.5rem;line-height:1}.modal-card-foot{border-bottom-left-radius:6px;border-bottom-right-radius:6px;border-top:1px solid #dbdbdb}.modal-card-foot .button:not(:last-child){margin-right:0.5em}.modal-card-body{-webkit-overflow-scrolling:touch;background-color:#fff;flex-grow:1;flex-shrink:1;overflow:auto;padding:20px}.navbar{background-color:#fff;min-height:3.25rem;position:relative;z-index:30}.navbar.is-white{background-color:#fff;color:#0a0a0a}.navbar.is-white .navbar-brand>.navbar-item,.navbar.is-white .navbar-brand .navbar-link{color:#0a0a0a}.navbar.is-white .navbar-brand>a.navbar-item:focus,.navbar.is-white .navbar-brand>a.navbar-item:hover,.navbar.is-white .navbar-brand>a.navbar-item.is-active,.navbar.is-white .navbar-brand .navbar-link:focus,.navbar.is-white .navbar-brand .navbar-link:hover,.navbar.is-white .navbar-brand .navbar-link.is-active{background-color:#f2f2f2;color:#0a0a0a}.navbar.is-white .navbar-brand .navbar-link::after{border-color:#0a0a0a}.navbar.is-white .navbar-burger{color:#0a0a0a}@media screen and (min-width: 1056px){.navbar.is-white .navbar-start>.navbar-item,.navbar.is-white .navbar-start .navbar-link,.navbar.is-white .navbar-end>.navbar-item,.navbar.is-white .navbar-end .navbar-link{color:#0a0a0a}.navbar.is-white .navbar-start>a.navbar-item:focus,.navbar.is-white .navbar-start>a.navbar-item:hover,.navbar.is-white .navbar-start>a.navbar-item.is-active,.navbar.is-white .navbar-start .navbar-link:focus,.navbar.is-white .navbar-start .navbar-link:hover,.navbar.is-white .navbar-start .navbar-link.is-active,.navbar.is-white .navbar-end>a.navbar-item:focus,.navbar.is-white .navbar-end>a.navbar-item:hover,.navbar.is-white .navbar-end>a.navbar-item.is-active,.navbar.is-white .navbar-end .navbar-link:focus,.navbar.is-white .navbar-end .navbar-link:hover,.navbar.is-white .navbar-end .navbar-link.is-active{background-color:#f2f2f2;color:#0a0a0a}.navbar.is-white .navbar-start .navbar-link::after,.navbar.is-white .navbar-end .navbar-link::after{border-color:#0a0a0a}.navbar.is-white .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-white .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-white .navbar-item.has-dropdown.is-active .navbar-link{background-color:#f2f2f2;color:#0a0a0a}.navbar.is-white .navbar-dropdown a.navbar-item.is-active{background-color:#fff;color:#0a0a0a}}.navbar.is-black{background-color:#0a0a0a;color:#fff}.navbar.is-black .navbar-brand>.navbar-item,.navbar.is-black .navbar-brand .navbar-link{color:#fff}.navbar.is-black .navbar-brand>a.navbar-item:focus,.navbar.is-black .navbar-brand>a.navbar-item:hover,.navbar.is-black .navbar-brand>a.navbar-item.is-active,.navbar.is-black .navbar-brand .navbar-link:focus,.navbar.is-black .navbar-brand .navbar-link:hover,.navbar.is-black .navbar-brand .navbar-link.is-active{background-color:#000;color:#fff}.navbar.is-black .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-black .navbar-burger{color:#fff}@media screen and (min-width: 1056px){.navbar.is-black .navbar-start>.navbar-item,.navbar.is-black .navbar-start .navbar-link,.navbar.is-black .navbar-end>.navbar-item,.navbar.is-black .navbar-end .navbar-link{color:#fff}.navbar.is-black .navbar-start>a.navbar-item:focus,.navbar.is-black .navbar-start>a.navbar-item:hover,.navbar.is-black .navbar-start>a.navbar-item.is-active,.navbar.is-black .navbar-start .navbar-link:focus,.navbar.is-black .navbar-start .navbar-link:hover,.navbar.is-black .navbar-start .navbar-link.is-active,.navbar.is-black .navbar-end>a.navbar-item:focus,.navbar.is-black .navbar-end>a.navbar-item:hover,.navbar.is-black .navbar-end>a.navbar-item.is-active,.navbar.is-black .navbar-end .navbar-link:focus,.navbar.is-black .navbar-end .navbar-link:hover,.navbar.is-black .navbar-end .navbar-link.is-active{background-color:#000;color:#fff}.navbar.is-black .navbar-start .navbar-link::after,.navbar.is-black .navbar-end .navbar-link::after{border-color:#fff}.navbar.is-black .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-black .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-black .navbar-item.has-dropdown.is-active .navbar-link{background-color:#000;color:#fff}.navbar.is-black .navbar-dropdown a.navbar-item.is-active{background-color:#0a0a0a;color:#fff}}.navbar.is-light{background-color:#f5f5f5;color:#363636}.navbar.is-light .navbar-brand>.navbar-item,.navbar.is-light .navbar-brand .navbar-link{color:#363636}.navbar.is-light .navbar-brand>a.navbar-item:focus,.navbar.is-light .navbar-brand>a.navbar-item:hover,.navbar.is-light .navbar-brand>a.navbar-item.is-active,.navbar.is-light .navbar-brand .navbar-link:focus,.navbar.is-light .navbar-brand .navbar-link:hover,.navbar.is-light .navbar-brand .navbar-link.is-active{background-color:#e8e8e8;color:#363636}.navbar.is-light .navbar-brand .navbar-link::after{border-color:#363636}.navbar.is-light .navbar-burger{color:#363636}@media screen and (min-width: 1056px){.navbar.is-light .navbar-start>.navbar-item,.navbar.is-light .navbar-start .navbar-link,.navbar.is-light .navbar-end>.navbar-item,.navbar.is-light .navbar-end .navbar-link{color:#363636}.navbar.is-light .navbar-start>a.navbar-item:focus,.navbar.is-light .navbar-start>a.navbar-item:hover,.navbar.is-light .navbar-start>a.navbar-item.is-active,.navbar.is-light .navbar-start .navbar-link:focus,.navbar.is-light .navbar-start .navbar-link:hover,.navbar.is-light .navbar-start .navbar-link.is-active,.navbar.is-light .navbar-end>a.navbar-item:focus,.navbar.is-light .navbar-end>a.navbar-item:hover,.navbar.is-light .navbar-end>a.navbar-item.is-active,.navbar.is-light .navbar-end .navbar-link:focus,.navbar.is-light .navbar-end .navbar-link:hover,.navbar.is-light .navbar-end .navbar-link.is-active{background-color:#e8e8e8;color:#363636}.navbar.is-light .navbar-start .navbar-link::after,.navbar.is-light .navbar-end .navbar-link::after{border-color:#363636}.navbar.is-light .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-light .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-light .navbar-item.has-dropdown.is-active .navbar-link{background-color:#e8e8e8;color:#363636}.navbar.is-light .navbar-dropdown a.navbar-item.is-active{background-color:#f5f5f5;color:#363636}}.navbar.is-dark,.content kbd.navbar{background-color:#363636;color:#f5f5f5}.navbar.is-dark .navbar-brand>.navbar-item,.content kbd.navbar .navbar-brand>.navbar-item,.navbar.is-dark .navbar-brand .navbar-link,.content kbd.navbar .navbar-brand .navbar-link{color:#f5f5f5}.navbar.is-dark .navbar-brand>a.navbar-item:focus,.content kbd.navbar .navbar-brand>a.navbar-item:focus,.navbar.is-dark .navbar-brand>a.navbar-item:hover,.content kbd.navbar .navbar-brand>a.navbar-item:hover,.navbar.is-dark .navbar-brand>a.navbar-item.is-active,.content kbd.navbar .navbar-brand>a.navbar-item.is-active,.navbar.is-dark .navbar-brand .navbar-link:focus,.content kbd.navbar .navbar-brand .navbar-link:focus,.navbar.is-dark .navbar-brand .navbar-link:hover,.content kbd.navbar .navbar-brand .navbar-link:hover,.navbar.is-dark .navbar-brand .navbar-link.is-active,.content kbd.navbar .navbar-brand .navbar-link.is-active{background-color:#292929;color:#f5f5f5}.navbar.is-dark .navbar-brand .navbar-link::after,.content kbd.navbar .navbar-brand .navbar-link::after{border-color:#f5f5f5}.navbar.is-dark .navbar-burger,.content kbd.navbar .navbar-burger{color:#f5f5f5}@media screen and (min-width: 1056px){.navbar.is-dark .navbar-start>.navbar-item,.content kbd.navbar .navbar-start>.navbar-item,.navbar.is-dark .navbar-start .navbar-link,.content kbd.navbar .navbar-start .navbar-link,.navbar.is-dark .navbar-end>.navbar-item,.content kbd.navbar .navbar-end>.navbar-item,.navbar.is-dark .navbar-end .navbar-link,.content kbd.navbar .navbar-end .navbar-link{color:#f5f5f5}.navbar.is-dark .navbar-start>a.navbar-item:focus,.content kbd.navbar .navbar-start>a.navbar-item:focus,.navbar.is-dark .navbar-start>a.navbar-item:hover,.content kbd.navbar .navbar-start>a.navbar-item:hover,.navbar.is-dark .navbar-start>a.navbar-item.is-active,.content kbd.navbar .navbar-start>a.navbar-item.is-active,.navbar.is-dark .navbar-start .navbar-link:focus,.content kbd.navbar .navbar-start .navbar-link:focus,.navbar.is-dark .navbar-start .navbar-link:hover,.content kbd.navbar .navbar-start .navbar-link:hover,.navbar.is-dark .navbar-start .navbar-link.is-active,.content kbd.navbar .navbar-start .navbar-link.is-active,.navbar.is-dark .navbar-end>a.navbar-item:focus,.content kbd.navbar .navbar-end>a.navbar-item:focus,.navbar.is-dark .navbar-end>a.navbar-item:hover,.content kbd.navbar .navbar-end>a.navbar-item:hover,.navbar.is-dark .navbar-end>a.navbar-item.is-active,.content kbd.navbar .navbar-end>a.navbar-item.is-active,.navbar.is-dark .navbar-end .navbar-link:focus,.content kbd.navbar .navbar-end .navbar-link:focus,.navbar.is-dark .navbar-end .navbar-link:hover,.content kbd.navbar .navbar-end .navbar-link:hover,.navbar.is-dark .navbar-end .navbar-link.is-active,.content kbd.navbar .navbar-end .navbar-link.is-active{background-color:#292929;color:#f5f5f5}.navbar.is-dark .navbar-start .navbar-link::after,.content kbd.navbar .navbar-start .navbar-link::after,.navbar.is-dark .navbar-end .navbar-link::after,.content kbd.navbar .navbar-end .navbar-link::after{border-color:#f5f5f5}.navbar.is-dark .navbar-item.has-dropdown:focus .navbar-link,.content kbd.navbar .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-dark .navbar-item.has-dropdown:hover .navbar-link,.content kbd.navbar .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-dark .navbar-item.has-dropdown.is-active .navbar-link,.content kbd.navbar .navbar-item.has-dropdown.is-active .navbar-link{background-color:#292929;color:#f5f5f5}.navbar.is-dark .navbar-dropdown a.navbar-item.is-active,.content kbd.navbar .navbar-dropdown a.navbar-item.is-active{background-color:#363636;color:#f5f5f5}}.navbar.is-primary,.docstring>section>a.navbar.docs-sourcelink{background-color:#4eb5de;color:#fff}.navbar.is-primary .navbar-brand>.navbar-item,.docstring>section>a.navbar.docs-sourcelink .navbar-brand>.navbar-item,.navbar.is-primary .navbar-brand .navbar-link,.docstring>section>a.navbar.docs-sourcelink .navbar-brand .navbar-link{color:#fff}.navbar.is-primary .navbar-brand>a.navbar-item:focus,.docstring>section>a.navbar.docs-sourcelink .navbar-brand>a.navbar-item:focus,.navbar.is-primary .navbar-brand>a.navbar-item:hover,.docstring>section>a.navbar.docs-sourcelink .navbar-brand>a.navbar-item:hover,.navbar.is-primary .navbar-brand>a.navbar-item.is-active,.docstring>section>a.navbar.docs-sourcelink .navbar-brand>a.navbar-item.is-active,.navbar.is-primary .navbar-brand .navbar-link:focus,.docstring>section>a.navbar.docs-sourcelink .navbar-brand .navbar-link:focus,.navbar.is-primary .navbar-brand .navbar-link:hover,.docstring>section>a.navbar.docs-sourcelink .navbar-brand .navbar-link:hover,.navbar.is-primary .navbar-brand .navbar-link.is-active,.docstring>section>a.navbar.docs-sourcelink .navbar-brand .navbar-link.is-active{background-color:#39acda;color:#fff}.navbar.is-primary .navbar-brand .navbar-link::after,.docstring>section>a.navbar.docs-sourcelink .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-primary .navbar-burger,.docstring>section>a.navbar.docs-sourcelink .navbar-burger{color:#fff}@media screen and (min-width: 1056px){.navbar.is-primary .navbar-start>.navbar-item,.docstring>section>a.navbar.docs-sourcelink .navbar-start>.navbar-item,.navbar.is-primary .navbar-start .navbar-link,.docstring>section>a.navbar.docs-sourcelink .navbar-start .navbar-link,.navbar.is-primary .navbar-end>.navbar-item,.docstring>section>a.navbar.docs-sourcelink .navbar-end>.navbar-item,.navbar.is-primary .navbar-end .navbar-link,.docstring>section>a.navbar.docs-sourcelink .navbar-end .navbar-link{color:#fff}.navbar.is-primary .navbar-start>a.navbar-item:focus,.docstring>section>a.navbar.docs-sourcelink .navbar-start>a.navbar-item:focus,.navbar.is-primary .navbar-start>a.navbar-item:hover,.docstring>section>a.navbar.docs-sourcelink .navbar-start>a.navbar-item:hover,.navbar.is-primary .navbar-start>a.navbar-item.is-active,.docstring>section>a.navbar.docs-sourcelink .navbar-start>a.navbar-item.is-active,.navbar.is-primary .navbar-start .navbar-link:focus,.docstring>section>a.navbar.docs-sourcelink .navbar-start .navbar-link:focus,.navbar.is-primary .navbar-start .navbar-link:hover,.docstring>section>a.navbar.docs-sourcelink .navbar-start .navbar-link:hover,.navbar.is-primary .navbar-start .navbar-link.is-active,.docstring>section>a.navbar.docs-sourcelink .navbar-start .navbar-link.is-active,.navbar.is-primary .navbar-end>a.navbar-item:focus,.docstring>section>a.navbar.docs-sourcelink .navbar-end>a.navbar-item:focus,.navbar.is-primary .navbar-end>a.navbar-item:hover,.docstring>section>a.navbar.docs-sourcelink .navbar-end>a.navbar-item:hover,.navbar.is-primary .navbar-end>a.navbar-item.is-active,.docstring>section>a.navbar.docs-sourcelink .navbar-end>a.navbar-item.is-active,.navbar.is-primary .navbar-end .navbar-link:focus,.docstring>section>a.navbar.docs-sourcelink .navbar-end .navbar-link:focus,.navbar.is-primary .navbar-end .navbar-link:hover,.docstring>section>a.navbar.docs-sourcelink .navbar-end .navbar-link:hover,.navbar.is-primary .navbar-end .navbar-link.is-active,.docstring>section>a.navbar.docs-sourcelink .navbar-end .navbar-link.is-active{background-color:#39acda;color:#fff}.navbar.is-primary .navbar-start .navbar-link::after,.docstring>section>a.navbar.docs-sourcelink .navbar-start .navbar-link::after,.navbar.is-primary .navbar-end .navbar-link::after,.docstring>section>a.navbar.docs-sourcelink .navbar-end .navbar-link::after{border-color:#fff}.navbar.is-primary .navbar-item.has-dropdown:focus .navbar-link,.docstring>section>a.navbar.docs-sourcelink .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-primary .navbar-item.has-dropdown:hover .navbar-link,.docstring>section>a.navbar.docs-sourcelink .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-primary .navbar-item.has-dropdown.is-active .navbar-link,.docstring>section>a.navbar.docs-sourcelink .navbar-item.has-dropdown.is-active .navbar-link{background-color:#39acda;color:#fff}.navbar.is-primary .navbar-dropdown a.navbar-item.is-active,.docstring>section>a.navbar.docs-sourcelink .navbar-dropdown a.navbar-item.is-active{background-color:#4eb5de;color:#fff}}.navbar.is-link{background-color:#2e63b8;color:#fff}.navbar.is-link .navbar-brand>.navbar-item,.navbar.is-link .navbar-brand .navbar-link{color:#fff}.navbar.is-link .navbar-brand>a.navbar-item:focus,.navbar.is-link .navbar-brand>a.navbar-item:hover,.navbar.is-link .navbar-brand>a.navbar-item.is-active,.navbar.is-link .navbar-brand .navbar-link:focus,.navbar.is-link .navbar-brand .navbar-link:hover,.navbar.is-link .navbar-brand .navbar-link.is-active{background-color:#2958a4;color:#fff}.navbar.is-link .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-link .navbar-burger{color:#fff}@media screen and (min-width: 1056px){.navbar.is-link .navbar-start>.navbar-item,.navbar.is-link .navbar-start .navbar-link,.navbar.is-link .navbar-end>.navbar-item,.navbar.is-link .navbar-end .navbar-link{color:#fff}.navbar.is-link .navbar-start>a.navbar-item:focus,.navbar.is-link .navbar-start>a.navbar-item:hover,.navbar.is-link .navbar-start>a.navbar-item.is-active,.navbar.is-link .navbar-start .navbar-link:focus,.navbar.is-link .navbar-start .navbar-link:hover,.navbar.is-link .navbar-start .navbar-link.is-active,.navbar.is-link .navbar-end>a.navbar-item:focus,.navbar.is-link .navbar-end>a.navbar-item:hover,.navbar.is-link .navbar-end>a.navbar-item.is-active,.navbar.is-link .navbar-end .navbar-link:focus,.navbar.is-link .navbar-end .navbar-link:hover,.navbar.is-link .navbar-end .navbar-link.is-active{background-color:#2958a4;color:#fff}.navbar.is-link .navbar-start .navbar-link::after,.navbar.is-link .navbar-end .navbar-link::after{border-color:#fff}.navbar.is-link .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-link .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-link .navbar-item.has-dropdown.is-active .navbar-link{background-color:#2958a4;color:#fff}.navbar.is-link .navbar-dropdown a.navbar-item.is-active{background-color:#2e63b8;color:#fff}}.navbar.is-info{background-color:#209cee;color:#fff}.navbar.is-info .navbar-brand>.navbar-item,.navbar.is-info .navbar-brand .navbar-link{color:#fff}.navbar.is-info .navbar-brand>a.navbar-item:focus,.navbar.is-info .navbar-brand>a.navbar-item:hover,.navbar.is-info .navbar-brand>a.navbar-item.is-active,.navbar.is-info .navbar-brand .navbar-link:focus,.navbar.is-info .navbar-brand .navbar-link:hover,.navbar.is-info .navbar-brand .navbar-link.is-active{background-color:#1190e3;color:#fff}.navbar.is-info .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-info .navbar-burger{color:#fff}@media screen and (min-width: 1056px){.navbar.is-info .navbar-start>.navbar-item,.navbar.is-info .navbar-start .navbar-link,.navbar.is-info .navbar-end>.navbar-item,.navbar.is-info .navbar-end .navbar-link{color:#fff}.navbar.is-info .navbar-start>a.navbar-item:focus,.navbar.is-info .navbar-start>a.navbar-item:hover,.navbar.is-info .navbar-start>a.navbar-item.is-active,.navbar.is-info .navbar-start .navbar-link:focus,.navbar.is-info .navbar-start .navbar-link:hover,.navbar.is-info .navbar-start .navbar-link.is-active,.navbar.is-info .navbar-end>a.navbar-item:focus,.navbar.is-info .navbar-end>a.navbar-item:hover,.navbar.is-info .navbar-end>a.navbar-item.is-active,.navbar.is-info .navbar-end .navbar-link:focus,.navbar.is-info .navbar-end .navbar-link:hover,.navbar.is-info .navbar-end .navbar-link.is-active{background-color:#1190e3;color:#fff}.navbar.is-info .navbar-start .navbar-link::after,.navbar.is-info .navbar-end .navbar-link::after{border-color:#fff}.navbar.is-info .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-info .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-info .navbar-item.has-dropdown.is-active .navbar-link{background-color:#1190e3;color:#fff}.navbar.is-info .navbar-dropdown a.navbar-item.is-active{background-color:#209cee;color:#fff}}.navbar.is-success{background-color:#22c35b;color:#fff}.navbar.is-success .navbar-brand>.navbar-item,.navbar.is-success .navbar-brand .navbar-link{color:#fff}.navbar.is-success .navbar-brand>a.navbar-item:focus,.navbar.is-success .navbar-brand>a.navbar-item:hover,.navbar.is-success .navbar-brand>a.navbar-item.is-active,.navbar.is-success .navbar-brand .navbar-link:focus,.navbar.is-success .navbar-brand .navbar-link:hover,.navbar.is-success .navbar-brand .navbar-link.is-active{background-color:#1ead51;color:#fff}.navbar.is-success .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-success .navbar-burger{color:#fff}@media screen and (min-width: 1056px){.navbar.is-success .navbar-start>.navbar-item,.navbar.is-success .navbar-start .navbar-link,.navbar.is-success .navbar-end>.navbar-item,.navbar.is-success .navbar-end .navbar-link{color:#fff}.navbar.is-success .navbar-start>a.navbar-item:focus,.navbar.is-success .navbar-start>a.navbar-item:hover,.navbar.is-success .navbar-start>a.navbar-item.is-active,.navbar.is-success .navbar-start .navbar-link:focus,.navbar.is-success .navbar-start .navbar-link:hover,.navbar.is-success .navbar-start .navbar-link.is-active,.navbar.is-success .navbar-end>a.navbar-item:focus,.navbar.is-success .navbar-end>a.navbar-item:hover,.navbar.is-success .navbar-end>a.navbar-item.is-active,.navbar.is-success .navbar-end .navbar-link:focus,.navbar.is-success .navbar-end .navbar-link:hover,.navbar.is-success .navbar-end .navbar-link.is-active{background-color:#1ead51;color:#fff}.navbar.is-success .navbar-start .navbar-link::after,.navbar.is-success .navbar-end .navbar-link::after{border-color:#fff}.navbar.is-success .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-success .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-success .navbar-item.has-dropdown.is-active .navbar-link{background-color:#1ead51;color:#fff}.navbar.is-success .navbar-dropdown a.navbar-item.is-active{background-color:#22c35b;color:#fff}}.navbar.is-warning{background-color:#ffdd57;color:rgba(0,0,0,0.7)}.navbar.is-warning .navbar-brand>.navbar-item,.navbar.is-warning .navbar-brand .navbar-link{color:rgba(0,0,0,0.7)}.navbar.is-warning .navbar-brand>a.navbar-item:focus,.navbar.is-warning .navbar-brand>a.navbar-item:hover,.navbar.is-warning .navbar-brand>a.navbar-item.is-active,.navbar.is-warning .navbar-brand .navbar-link:focus,.navbar.is-warning .navbar-brand .navbar-link:hover,.navbar.is-warning .navbar-brand .navbar-link.is-active{background-color:#ffd83e;color:rgba(0,0,0,0.7)}.navbar.is-warning .navbar-brand .navbar-link::after{border-color:rgba(0,0,0,0.7)}.navbar.is-warning .navbar-burger{color:rgba(0,0,0,0.7)}@media screen and (min-width: 1056px){.navbar.is-warning .navbar-start>.navbar-item,.navbar.is-warning .navbar-start .navbar-link,.navbar.is-warning .navbar-end>.navbar-item,.navbar.is-warning .navbar-end .navbar-link{color:rgba(0,0,0,0.7)}.navbar.is-warning .navbar-start>a.navbar-item:focus,.navbar.is-warning .navbar-start>a.navbar-item:hover,.navbar.is-warning .navbar-start>a.navbar-item.is-active,.navbar.is-warning .navbar-start .navbar-link:focus,.navbar.is-warning .navbar-start .navbar-link:hover,.navbar.is-warning .navbar-start .navbar-link.is-active,.navbar.is-warning .navbar-end>a.navbar-item:focus,.navbar.is-warning .navbar-end>a.navbar-item:hover,.navbar.is-warning .navbar-end>a.navbar-item.is-active,.navbar.is-warning .navbar-end .navbar-link:focus,.navbar.is-warning .navbar-end .navbar-link:hover,.navbar.is-warning .navbar-end .navbar-link.is-active{background-color:#ffd83e;color:rgba(0,0,0,0.7)}.navbar.is-warning .navbar-start .navbar-link::after,.navbar.is-warning .navbar-end .navbar-link::after{border-color:rgba(0,0,0,0.7)}.navbar.is-warning .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-warning .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-warning .navbar-item.has-dropdown.is-active .navbar-link{background-color:#ffd83e;color:rgba(0,0,0,0.7)}.navbar.is-warning .navbar-dropdown a.navbar-item.is-active{background-color:#ffdd57;color:rgba(0,0,0,0.7)}}.navbar.is-danger{background-color:#da0b00;color:#fff}.navbar.is-danger .navbar-brand>.navbar-item,.navbar.is-danger .navbar-brand .navbar-link{color:#fff}.navbar.is-danger .navbar-brand>a.navbar-item:focus,.navbar.is-danger .navbar-brand>a.navbar-item:hover,.navbar.is-danger .navbar-brand>a.navbar-item.is-active,.navbar.is-danger .navbar-brand .navbar-link:focus,.navbar.is-danger .navbar-brand .navbar-link:hover,.navbar.is-danger .navbar-brand .navbar-link.is-active{background-color:#c10a00;color:#fff}.navbar.is-danger .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-danger .navbar-burger{color:#fff}@media screen and (min-width: 1056px){.navbar.is-danger .navbar-start>.navbar-item,.navbar.is-danger .navbar-start .navbar-link,.navbar.is-danger .navbar-end>.navbar-item,.navbar.is-danger .navbar-end .navbar-link{color:#fff}.navbar.is-danger .navbar-start>a.navbar-item:focus,.navbar.is-danger .navbar-start>a.navbar-item:hover,.navbar.is-danger .navbar-start>a.navbar-item.is-active,.navbar.is-danger .navbar-start .navbar-link:focus,.navbar.is-danger .navbar-start .navbar-link:hover,.navbar.is-danger .navbar-start .navbar-link.is-active,.navbar.is-danger .navbar-end>a.navbar-item:focus,.navbar.is-danger .navbar-end>a.navbar-item:hover,.navbar.is-danger .navbar-end>a.navbar-item.is-active,.navbar.is-danger .navbar-end .navbar-link:focus,.navbar.is-danger .navbar-end .navbar-link:hover,.navbar.is-danger .navbar-end .navbar-link.is-active{background-color:#c10a00;color:#fff}.navbar.is-danger .navbar-start .navbar-link::after,.navbar.is-danger .navbar-end .navbar-link::after{border-color:#fff}.navbar.is-danger .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-danger .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-danger .navbar-item.has-dropdown.is-active .navbar-link{background-color:#c10a00;color:#fff}.navbar.is-danger .navbar-dropdown a.navbar-item.is-active{background-color:#da0b00;color:#fff}}.navbar>.container{align-items:stretch;display:flex;min-height:3.25rem;width:100%}.navbar.has-shadow{box-shadow:0 2px 0 0 #f5f5f5}.navbar.is-fixed-bottom,.navbar.is-fixed-top{left:0;position:fixed;right:0;z-index:30}.navbar.is-fixed-bottom{bottom:0}.navbar.is-fixed-bottom.has-shadow{box-shadow:0 -2px 0 0 #f5f5f5}.navbar.is-fixed-top{top:0}html.has-navbar-fixed-top,body.has-navbar-fixed-top{padding-top:3.25rem}html.has-navbar-fixed-bottom,body.has-navbar-fixed-bottom{padding-bottom:3.25rem}.navbar-brand,.navbar-tabs{align-items:stretch;display:flex;flex-shrink:0;min-height:3.25rem}.navbar-brand a.navbar-item:focus,.navbar-brand a.navbar-item:hover{background-color:transparent}.navbar-tabs{-webkit-overflow-scrolling:touch;max-width:100vw;overflow-x:auto;overflow-y:hidden}.navbar-burger{color:#4a4a4a;cursor:pointer;display:block;height:3.25rem;position:relative;width:3.25rem;margin-left:auto}.navbar-burger span{background-color:currentColor;display:block;height:1px;left:calc(50% - 8px);position:absolute;transform-origin:center;transition-duration:86ms;transition-property:background-color, opacity, transform;transition-timing-function:ease-out;width:16px}.navbar-burger span:nth-child(1){top:calc(50% - 6px)}.navbar-burger span:nth-child(2){top:calc(50% - 1px)}.navbar-burger span:nth-child(3){top:calc(50% + 4px)}.navbar-burger:hover{background-color:rgba(0,0,0,0.05)}.navbar-burger.is-active span:nth-child(1){transform:translateY(5px) rotate(45deg)}.navbar-burger.is-active span:nth-child(2){opacity:0}.navbar-burger.is-active span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}.navbar-menu{display:none}.navbar-item,.navbar-link{color:#4a4a4a;display:block;line-height:1.5;padding:0.5rem 0.75rem;position:relative}.navbar-item .icon:only-child,.navbar-link .icon:only-child{margin-left:-0.25rem;margin-right:-0.25rem}a.navbar-item,.navbar-link{cursor:pointer}a.navbar-item:focus,a.navbar-item:focus-within,a.navbar-item:hover,a.navbar-item.is-active,.navbar-link:focus,.navbar-link:focus-within,.navbar-link:hover,.navbar-link.is-active{background-color:#fafafa;color:#2e63b8}.navbar-item{display:block;flex-grow:0;flex-shrink:0}.navbar-item img{max-height:1.75rem}.navbar-item.has-dropdown{padding:0}.navbar-item.is-expanded{flex-grow:1;flex-shrink:1}.navbar-item.is-tab{border-bottom:1px solid transparent;min-height:3.25rem;padding-bottom:calc(0.5rem - 1px)}.navbar-item.is-tab:focus,.navbar-item.is-tab:hover{background-color:rgba(0,0,0,0);border-bottom-color:#2e63b8}.navbar-item.is-tab.is-active{background-color:rgba(0,0,0,0);border-bottom-color:#2e63b8;border-bottom-style:solid;border-bottom-width:3px;color:#2e63b8;padding-bottom:calc(0.5rem - 3px)}.navbar-content{flex-grow:1;flex-shrink:1}.navbar-link:not(.is-arrowless){padding-right:2.5em}.navbar-link:not(.is-arrowless)::after{border-color:#2e63b8;margin-top:-0.375em;right:1.125em}.navbar-dropdown{font-size:0.875rem;padding-bottom:0.5rem;padding-top:0.5rem}.navbar-dropdown .navbar-item{padding-left:1.5rem;padding-right:1.5rem}.navbar-divider{background-color:#f5f5f5;border:none;display:none;height:2px;margin:0.5rem 0}@media screen and (max-width: 1055px){.navbar>.container{display:block}.navbar-brand .navbar-item,.navbar-tabs .navbar-item{align-items:center;display:flex}.navbar-link::after{display:none}.navbar-menu{background-color:#fff;box-shadow:0 8px 16px rgba(10,10,10,0.1);padding:0.5rem 0}.navbar-menu.is-active{display:block}.navbar.is-fixed-bottom-touch,.navbar.is-fixed-top-touch{left:0;position:fixed;right:0;z-index:30}.navbar.is-fixed-bottom-touch{bottom:0}.navbar.is-fixed-bottom-touch.has-shadow{box-shadow:0 -2px 3px rgba(10,10,10,0.1)}.navbar.is-fixed-top-touch{top:0}.navbar.is-fixed-top .navbar-menu,.navbar.is-fixed-top-touch .navbar-menu{-webkit-overflow-scrolling:touch;max-height:calc(100vh - 3.25rem);overflow:auto}html.has-navbar-fixed-top-touch,body.has-navbar-fixed-top-touch{padding-top:3.25rem}html.has-navbar-fixed-bottom-touch,body.has-navbar-fixed-bottom-touch{padding-bottom:3.25rem}}@media screen and (min-width: 1056px){.navbar,.navbar-menu,.navbar-start,.navbar-end{align-items:stretch;display:flex}.navbar{min-height:3.25rem}.navbar.is-spaced{padding:1rem 2rem}.navbar.is-spaced .navbar-start,.navbar.is-spaced .navbar-end{align-items:center}.navbar.is-spaced a.navbar-item,.navbar.is-spaced .navbar-link{border-radius:4px}.navbar.is-transparent a.navbar-item:focus,.navbar.is-transparent a.navbar-item:hover,.navbar.is-transparent a.navbar-item.is-active,.navbar.is-transparent .navbar-link:focus,.navbar.is-transparent .navbar-link:hover,.navbar.is-transparent .navbar-link.is-active{background-color:transparent !important}.navbar.is-transparent .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus .navbar-link,.navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus-within .navbar-link,.navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:hover .navbar-link{background-color:transparent !important}.navbar.is-transparent .navbar-dropdown a.navbar-item:focus,.navbar.is-transparent .navbar-dropdown a.navbar-item:hover{background-color:#f5f5f5;color:#0a0a0a}.navbar.is-transparent .navbar-dropdown a.navbar-item.is-active{background-color:#f5f5f5;color:#2e63b8}.navbar-burger{display:none}.navbar-item,.navbar-link{align-items:center;display:flex}.navbar-item{display:flex}.navbar-item.has-dropdown{align-items:stretch}.navbar-item.has-dropdown-up .navbar-link::after{transform:rotate(135deg) translate(0.25em, -0.25em)}.navbar-item.has-dropdown-up .navbar-dropdown{border-bottom:2px solid #dbdbdb;border-radius:6px 6px 0 0;border-top:none;bottom:100%;box-shadow:0 -8px 8px rgba(10,10,10,0.1);top:auto}.navbar-item.is-active .navbar-dropdown,.navbar-item.is-hoverable:focus .navbar-dropdown,.navbar-item.is-hoverable:focus-within .navbar-dropdown,.navbar-item.is-hoverable:hover .navbar-dropdown{display:block}.navbar.is-spaced .navbar-item.is-active .navbar-dropdown,.navbar-item.is-active .navbar-dropdown.is-boxed,.navbar.is-spaced .navbar-item.is-hoverable:focus .navbar-dropdown,.navbar-item.is-hoverable:focus .navbar-dropdown.is-boxed,.navbar.is-spaced .navbar-item.is-hoverable:focus-within .navbar-dropdown,.navbar-item.is-hoverable:focus-within .navbar-dropdown.is-boxed,.navbar.is-spaced .navbar-item.is-hoverable:hover .navbar-dropdown,.navbar-item.is-hoverable:hover .navbar-dropdown.is-boxed{opacity:1;pointer-events:auto;transform:translateY(0)}.navbar-menu{flex-grow:1;flex-shrink:0}.navbar-start{justify-content:flex-start;margin-right:auto}.navbar-end{justify-content:flex-end;margin-left:auto}.navbar-dropdown{background-color:#fff;border-bottom-left-radius:6px;border-bottom-right-radius:6px;border-top:2px solid #dbdbdb;box-shadow:0 8px 8px rgba(10,10,10,0.1);display:none;font-size:0.875rem;left:0;min-width:100%;position:absolute;top:100%;z-index:20}.navbar-dropdown .navbar-item{padding:0.375rem 1rem;white-space:nowrap}.navbar-dropdown a.navbar-item{padding-right:3rem}.navbar-dropdown a.navbar-item:focus,.navbar-dropdown a.navbar-item:hover{background-color:#f5f5f5;color:#0a0a0a}.navbar-dropdown a.navbar-item.is-active{background-color:#f5f5f5;color:#2e63b8}.navbar.is-spaced .navbar-dropdown,.navbar-dropdown.is-boxed{border-radius:6px;border-top:none;box-shadow:0 8px 8px rgba(10,10,10,0.1), 0 0 0 1px rgba(10,10,10,0.1);display:block;opacity:0;pointer-events:none;top:calc(100% + (-4px));transform:translateY(-5px);transition-duration:86ms;transition-property:opacity, transform}.navbar-dropdown.is-right{left:auto;right:0}.navbar-divider{display:block}.navbar>.container .navbar-brand,.container>.navbar .navbar-brand{margin-left:-.75rem}.navbar>.container .navbar-menu,.container>.navbar .navbar-menu{margin-right:-.75rem}.navbar.is-fixed-bottom-desktop,.navbar.is-fixed-top-desktop{left:0;position:fixed;right:0;z-index:30}.navbar.is-fixed-bottom-desktop{bottom:0}.navbar.is-fixed-bottom-desktop.has-shadow{box-shadow:0 -2px 3px rgba(10,10,10,0.1)}.navbar.is-fixed-top-desktop{top:0}html.has-navbar-fixed-top-desktop,body.has-navbar-fixed-top-desktop{padding-top:3.25rem}html.has-navbar-fixed-bottom-desktop,body.has-navbar-fixed-bottom-desktop{padding-bottom:3.25rem}html.has-spaced-navbar-fixed-top,body.has-spaced-navbar-fixed-top{padding-top:5.25rem}html.has-spaced-navbar-fixed-bottom,body.has-spaced-navbar-fixed-bottom{padding-bottom:5.25rem}a.navbar-item.is-active,.navbar-link.is-active{color:#0a0a0a}a.navbar-item.is-active:not(:focus):not(:hover),.navbar-link.is-active:not(:focus):not(:hover){background-color:rgba(0,0,0,0)}.navbar-item.has-dropdown:focus .navbar-link,.navbar-item.has-dropdown:hover .navbar-link,.navbar-item.has-dropdown.is-active .navbar-link{background-color:#fafafa}}.hero.is-fullheight-with-navbar{min-height:calc(100vh - 3.25rem)}.pagination{font-size:1rem;margin:-.25rem}.pagination.is-small,#documenter .docs-sidebar form.docs-search>input.pagination{font-size:.75rem}.pagination.is-medium{font-size:1.25rem}.pagination.is-large{font-size:1.5rem}.pagination.is-rounded .pagination-previous,#documenter .docs-sidebar form.docs-search>input.pagination .pagination-previous,.pagination.is-rounded .pagination-next,#documenter .docs-sidebar form.docs-search>input.pagination .pagination-next{padding-left:1em;padding-right:1em;border-radius:290486px}.pagination.is-rounded .pagination-link,#documenter .docs-sidebar form.docs-search>input.pagination .pagination-link{border-radius:290486px}.pagination,.pagination-list{align-items:center;display:flex;justify-content:center;text-align:center}.pagination-previous,.pagination-next,.pagination-link,.pagination-ellipsis{font-size:1em;justify-content:center;margin:.25rem;padding-left:.5em;padding-right:.5em;text-align:center}.pagination-previous,.pagination-next,.pagination-link{border-color:#dbdbdb;color:#363636;min-width:2.25em}.pagination-previous:hover,.pagination-next:hover,.pagination-link:hover{border-color:#b5b5b5;color:#363636}.pagination-previous:focus,.pagination-next:focus,.pagination-link:focus{border-color:#3c5dcd}.pagination-previous:active,.pagination-next:active,.pagination-link:active{box-shadow:inset 0 1px 2px rgba(10,10,10,0.2)}.pagination-previous[disabled],.pagination-next[disabled],.pagination-link[disabled]{background-color:#dbdbdb;border-color:#dbdbdb;box-shadow:none;color:#6b6b6b;opacity:0.5}.pagination-previous,.pagination-next{padding-left:0.75em;padding-right:0.75em;white-space:nowrap}.pagination-link.is-current{background-color:#2e63b8;border-color:#2e63b8;color:#fff}.pagination-ellipsis{color:#b5b5b5;pointer-events:none}.pagination-list{flex-wrap:wrap}@media screen and (max-width: 768px){.pagination{flex-wrap:wrap}.pagination-previous,.pagination-next{flex-grow:1;flex-shrink:1}.pagination-list li{flex-grow:1;flex-shrink:1}}@media screen and (min-width: 769px),print{.pagination-list{flex-grow:1;flex-shrink:1;justify-content:flex-start;order:1}.pagination-previous{order:2}.pagination-next{order:3}.pagination{justify-content:space-between}.pagination.is-centered .pagination-previous{order:1}.pagination.is-centered .pagination-list{justify-content:center;order:2}.pagination.is-centered .pagination-next{order:3}.pagination.is-right .pagination-previous{order:1}.pagination.is-right .pagination-next{order:2}.pagination.is-right .pagination-list{justify-content:flex-end;order:3}}.panel{font-size:1rem}.panel:not(:last-child){margin-bottom:1.5rem}.panel-heading,.panel-tabs,.panel-block{border-bottom:1px solid #dbdbdb;border-left:1px solid #dbdbdb;border-right:1px solid #dbdbdb}.panel-heading:first-child,.panel-tabs:first-child,.panel-block:first-child{border-top:1px solid #dbdbdb}.panel-heading{background-color:#f5f5f5;border-radius:4px 4px 0 0;color:#222;font-size:1.25em;font-weight:300;line-height:1.25;padding:0.5em 0.75em}.panel-tabs{align-items:flex-end;display:flex;font-size:.875em;justify-content:center}.panel-tabs a{border-bottom:1px solid #dbdbdb;margin-bottom:-1px;padding:0.5em}.panel-tabs a.is-active{border-bottom-color:#4a4a4a;color:#363636}.panel-list a{color:#222}.panel-list a:hover{color:#2e63b8}.panel-block{align-items:center;color:#222;display:flex;justify-content:flex-start;padding:0.5em 0.75em}.panel-block input[type="checkbox"]{margin-right:0.75em}.panel-block>.control{flex-grow:1;flex-shrink:1;width:100%}.panel-block.is-wrapped{flex-wrap:wrap}.panel-block.is-active{border-left-color:#2e63b8;color:#363636}.panel-block.is-active .panel-icon{color:#2e63b8}a.panel-block,label.panel-block{cursor:pointer}a.panel-block:hover,label.panel-block:hover{background-color:#f5f5f5}.panel-icon{display:inline-block;font-size:14px;height:1em;line-height:1em;text-align:center;vertical-align:top;width:1em;color:#6b6b6b;margin-right:0.75em}.panel-icon .fa{font-size:inherit;line-height:inherit}.tabs{-webkit-overflow-scrolling:touch;align-items:stretch;display:flex;font-size:1rem;justify-content:space-between;overflow:hidden;overflow-x:auto;white-space:nowrap}.tabs a{align-items:center;border-bottom-color:#dbdbdb;border-bottom-style:solid;border-bottom-width:1px;color:#222;display:flex;justify-content:center;margin-bottom:-1px;padding:0.5em 1em;vertical-align:top}.tabs a:hover{border-bottom-color:#222;color:#222}.tabs li{display:block}.tabs li.is-active a{border-bottom-color:#2e63b8;color:#2e63b8}.tabs ul{align-items:center;border-bottom-color:#dbdbdb;border-bottom-style:solid;border-bottom-width:1px;display:flex;flex-grow:1;flex-shrink:0;justify-content:flex-start}.tabs ul.is-left{padding-right:0.75em}.tabs ul.is-center{flex:none;justify-content:center;padding-left:0.75em;padding-right:0.75em}.tabs ul.is-right{justify-content:flex-end;padding-left:0.75em}.tabs .icon:first-child{margin-right:0.5em}.tabs .icon:last-child{margin-left:0.5em}.tabs.is-centered ul{justify-content:center}.tabs.is-right ul{justify-content:flex-end}.tabs.is-boxed a{border:1px solid transparent;border-radius:4px 4px 0 0}.tabs.is-boxed a:hover{background-color:#f5f5f5;border-bottom-color:#dbdbdb}.tabs.is-boxed li.is-active a{background-color:#fff;border-color:#dbdbdb;border-bottom-color:rgba(0,0,0,0) !important}.tabs.is-fullwidth li{flex-grow:1;flex-shrink:0}.tabs.is-toggle a{border-color:#dbdbdb;border-style:solid;border-width:1px;margin-bottom:0;position:relative}.tabs.is-toggle a:hover{background-color:#f5f5f5;border-color:#b5b5b5;z-index:2}.tabs.is-toggle li+li{margin-left:-1px}.tabs.is-toggle li:first-child a{border-radius:4px 0 0 4px}.tabs.is-toggle li:last-child a{border-radius:0 4px 4px 0}.tabs.is-toggle li.is-active a{background-color:#2e63b8;border-color:#2e63b8;color:#fff;z-index:1}.tabs.is-toggle ul{border-bottom:none}.tabs.is-toggle.is-toggle-rounded li:first-child a{border-bottom-left-radius:290486px;border-top-left-radius:290486px;padding-left:1.25em}.tabs.is-toggle.is-toggle-rounded li:last-child a{border-bottom-right-radius:290486px;border-top-right-radius:290486px;padding-right:1.25em}.tabs.is-small,#documenter .docs-sidebar form.docs-search>input.tabs{font-size:.75rem}.tabs.is-medium{font-size:1.25rem}.tabs.is-large{font-size:1.5rem}.column{display:block;flex-basis:0;flex-grow:1;flex-shrink:1;padding:.75rem}.columns.is-mobile>.column.is-narrow{flex:none}.columns.is-mobile>.column.is-full{flex:none;width:100%}.columns.is-mobile>.column.is-three-quarters{flex:none;width:75%}.columns.is-mobile>.column.is-two-thirds{flex:none;width:66.6666%}.columns.is-mobile>.column.is-half{flex:none;width:50%}.columns.is-mobile>.column.is-one-third{flex:none;width:33.3333%}.columns.is-mobile>.column.is-one-quarter{flex:none;width:25%}.columns.is-mobile>.column.is-one-fifth{flex:none;width:20%}.columns.is-mobile>.column.is-two-fifths{flex:none;width:40%}.columns.is-mobile>.column.is-three-fifths{flex:none;width:60%}.columns.is-mobile>.column.is-four-fifths{flex:none;width:80%}.columns.is-mobile>.column.is-offset-three-quarters{margin-left:75%}.columns.is-mobile>.column.is-offset-two-thirds{margin-left:66.6666%}.columns.is-mobile>.column.is-offset-half{margin-left:50%}.columns.is-mobile>.column.is-offset-one-third{margin-left:33.3333%}.columns.is-mobile>.column.is-offset-one-quarter{margin-left:25%}.columns.is-mobile>.column.is-offset-one-fifth{margin-left:20%}.columns.is-mobile>.column.is-offset-two-fifths{margin-left:40%}.columns.is-mobile>.column.is-offset-three-fifths{margin-left:60%}.columns.is-mobile>.column.is-offset-four-fifths{margin-left:80%}.columns.is-mobile>.column.is-0{flex:none;width:0%}.columns.is-mobile>.column.is-offset-0{margin-left:0%}.columns.is-mobile>.column.is-1{flex:none;width:8.3333333333%}.columns.is-mobile>.column.is-offset-1{margin-left:8.3333333333%}.columns.is-mobile>.column.is-2{flex:none;width:16.6666666667%}.columns.is-mobile>.column.is-offset-2{margin-left:16.6666666667%}.columns.is-mobile>.column.is-3{flex:none;width:25%}.columns.is-mobile>.column.is-offset-3{margin-left:25%}.columns.is-mobile>.column.is-4{flex:none;width:33.3333333333%}.columns.is-mobile>.column.is-offset-4{margin-left:33.3333333333%}.columns.is-mobile>.column.is-5{flex:none;width:41.6666666667%}.columns.is-mobile>.column.is-offset-5{margin-left:41.6666666667%}.columns.is-mobile>.column.is-6{flex:none;width:50%}.columns.is-mobile>.column.is-offset-6{margin-left:50%}.columns.is-mobile>.column.is-7{flex:none;width:58.3333333333%}.columns.is-mobile>.column.is-offset-7{margin-left:58.3333333333%}.columns.is-mobile>.column.is-8{flex:none;width:66.6666666667%}.columns.is-mobile>.column.is-offset-8{margin-left:66.6666666667%}.columns.is-mobile>.column.is-9{flex:none;width:75%}.columns.is-mobile>.column.is-offset-9{margin-left:75%}.columns.is-mobile>.column.is-10{flex:none;width:83.3333333333%}.columns.is-mobile>.column.is-offset-10{margin-left:83.3333333333%}.columns.is-mobile>.column.is-11{flex:none;width:91.6666666667%}.columns.is-mobile>.column.is-offset-11{margin-left:91.6666666667%}.columns.is-mobile>.column.is-12{flex:none;width:100%}.columns.is-mobile>.column.is-offset-12{margin-left:100%}@media screen and (max-width: 768px){.column.is-narrow-mobile{flex:none}.column.is-full-mobile{flex:none;width:100%}.column.is-three-quarters-mobile{flex:none;width:75%}.column.is-two-thirds-mobile{flex:none;width:66.6666%}.column.is-half-mobile{flex:none;width:50%}.column.is-one-third-mobile{flex:none;width:33.3333%}.column.is-one-quarter-mobile{flex:none;width:25%}.column.is-one-fifth-mobile{flex:none;width:20%}.column.is-two-fifths-mobile{flex:none;width:40%}.column.is-three-fifths-mobile{flex:none;width:60%}.column.is-four-fifths-mobile{flex:none;width:80%}.column.is-offset-three-quarters-mobile{margin-left:75%}.column.is-offset-two-thirds-mobile{margin-left:66.6666%}.column.is-offset-half-mobile{margin-left:50%}.column.is-offset-one-third-mobile{margin-left:33.3333%}.column.is-offset-one-quarter-mobile{margin-left:25%}.column.is-offset-one-fifth-mobile{margin-left:20%}.column.is-offset-two-fifths-mobile{margin-left:40%}.column.is-offset-three-fifths-mobile{margin-left:60%}.column.is-offset-four-fifths-mobile{margin-left:80%}.column.is-0-mobile{flex:none;width:0%}.column.is-offset-0-mobile{margin-left:0%}.column.is-1-mobile{flex:none;width:8.3333333333%}.column.is-offset-1-mobile{margin-left:8.3333333333%}.column.is-2-mobile{flex:none;width:16.6666666667%}.column.is-offset-2-mobile{margin-left:16.6666666667%}.column.is-3-mobile{flex:none;width:25%}.column.is-offset-3-mobile{margin-left:25%}.column.is-4-mobile{flex:none;width:33.3333333333%}.column.is-offset-4-mobile{margin-left:33.3333333333%}.column.is-5-mobile{flex:none;width:41.6666666667%}.column.is-offset-5-mobile{margin-left:41.6666666667%}.column.is-6-mobile{flex:none;width:50%}.column.is-offset-6-mobile{margin-left:50%}.column.is-7-mobile{flex:none;width:58.3333333333%}.column.is-offset-7-mobile{margin-left:58.3333333333%}.column.is-8-mobile{flex:none;width:66.6666666667%}.column.is-offset-8-mobile{margin-left:66.6666666667%}.column.is-9-mobile{flex:none;width:75%}.column.is-offset-9-mobile{margin-left:75%}.column.is-10-mobile{flex:none;width:83.3333333333%}.column.is-offset-10-mobile{margin-left:83.3333333333%}.column.is-11-mobile{flex:none;width:91.6666666667%}.column.is-offset-11-mobile{margin-left:91.6666666667%}.column.is-12-mobile{flex:none;width:100%}.column.is-offset-12-mobile{margin-left:100%}}@media screen and (min-width: 769px),print{.column.is-narrow,.column.is-narrow-tablet{flex:none}.column.is-full,.column.is-full-tablet{flex:none;width:100%}.column.is-three-quarters,.column.is-three-quarters-tablet{flex:none;width:75%}.column.is-two-thirds,.column.is-two-thirds-tablet{flex:none;width:66.6666%}.column.is-half,.column.is-half-tablet{flex:none;width:50%}.column.is-one-third,.column.is-one-third-tablet{flex:none;width:33.3333%}.column.is-one-quarter,.column.is-one-quarter-tablet{flex:none;width:25%}.column.is-one-fifth,.column.is-one-fifth-tablet{flex:none;width:20%}.column.is-two-fifths,.column.is-two-fifths-tablet{flex:none;width:40%}.column.is-three-fifths,.column.is-three-fifths-tablet{flex:none;width:60%}.column.is-four-fifths,.column.is-four-fifths-tablet{flex:none;width:80%}.column.is-offset-three-quarters,.column.is-offset-three-quarters-tablet{margin-left:75%}.column.is-offset-two-thirds,.column.is-offset-two-thirds-tablet{margin-left:66.6666%}.column.is-offset-half,.column.is-offset-half-tablet{margin-left:50%}.column.is-offset-one-third,.column.is-offset-one-third-tablet{margin-left:33.3333%}.column.is-offset-one-quarter,.column.is-offset-one-quarter-tablet{margin-left:25%}.column.is-offset-one-fifth,.column.is-offset-one-fifth-tablet{margin-left:20%}.column.is-offset-two-fifths,.column.is-offset-two-fifths-tablet{margin-left:40%}.column.is-offset-three-fifths,.column.is-offset-three-fifths-tablet{margin-left:60%}.column.is-offset-four-fifths,.column.is-offset-four-fifths-tablet{margin-left:80%}.column.is-0,.column.is-0-tablet{flex:none;width:0%}.column.is-offset-0,.column.is-offset-0-tablet{margin-left:0%}.column.is-1,.column.is-1-tablet{flex:none;width:8.3333333333%}.column.is-offset-1,.column.is-offset-1-tablet{margin-left:8.3333333333%}.column.is-2,.column.is-2-tablet{flex:none;width:16.6666666667%}.column.is-offset-2,.column.is-offset-2-tablet{margin-left:16.6666666667%}.column.is-3,.column.is-3-tablet{flex:none;width:25%}.column.is-offset-3,.column.is-offset-3-tablet{margin-left:25%}.column.is-4,.column.is-4-tablet{flex:none;width:33.3333333333%}.column.is-offset-4,.column.is-offset-4-tablet{margin-left:33.3333333333%}.column.is-5,.column.is-5-tablet{flex:none;width:41.6666666667%}.column.is-offset-5,.column.is-offset-5-tablet{margin-left:41.6666666667%}.column.is-6,.column.is-6-tablet{flex:none;width:50%}.column.is-offset-6,.column.is-offset-6-tablet{margin-left:50%}.column.is-7,.column.is-7-tablet{flex:none;width:58.3333333333%}.column.is-offset-7,.column.is-offset-7-tablet{margin-left:58.3333333333%}.column.is-8,.column.is-8-tablet{flex:none;width:66.6666666667%}.column.is-offset-8,.column.is-offset-8-tablet{margin-left:66.6666666667%}.column.is-9,.column.is-9-tablet{flex:none;width:75%}.column.is-offset-9,.column.is-offset-9-tablet{margin-left:75%}.column.is-10,.column.is-10-tablet{flex:none;width:83.3333333333%}.column.is-offset-10,.column.is-offset-10-tablet{margin-left:83.3333333333%}.column.is-11,.column.is-11-tablet{flex:none;width:91.6666666667%}.column.is-offset-11,.column.is-offset-11-tablet{margin-left:91.6666666667%}.column.is-12,.column.is-12-tablet{flex:none;width:100%}.column.is-offset-12,.column.is-offset-12-tablet{margin-left:100%}}@media screen and (max-width: 1055px){.column.is-narrow-touch{flex:none}.column.is-full-touch{flex:none;width:100%}.column.is-three-quarters-touch{flex:none;width:75%}.column.is-two-thirds-touch{flex:none;width:66.6666%}.column.is-half-touch{flex:none;width:50%}.column.is-one-third-touch{flex:none;width:33.3333%}.column.is-one-quarter-touch{flex:none;width:25%}.column.is-one-fifth-touch{flex:none;width:20%}.column.is-two-fifths-touch{flex:none;width:40%}.column.is-three-fifths-touch{flex:none;width:60%}.column.is-four-fifths-touch{flex:none;width:80%}.column.is-offset-three-quarters-touch{margin-left:75%}.column.is-offset-two-thirds-touch{margin-left:66.6666%}.column.is-offset-half-touch{margin-left:50%}.column.is-offset-one-third-touch{margin-left:33.3333%}.column.is-offset-one-quarter-touch{margin-left:25%}.column.is-offset-one-fifth-touch{margin-left:20%}.column.is-offset-two-fifths-touch{margin-left:40%}.column.is-offset-three-fifths-touch{margin-left:60%}.column.is-offset-four-fifths-touch{margin-left:80%}.column.is-0-touch{flex:none;width:0%}.column.is-offset-0-touch{margin-left:0%}.column.is-1-touch{flex:none;width:8.3333333333%}.column.is-offset-1-touch{margin-left:8.3333333333%}.column.is-2-touch{flex:none;width:16.6666666667%}.column.is-offset-2-touch{margin-left:16.6666666667%}.column.is-3-touch{flex:none;width:25%}.column.is-offset-3-touch{margin-left:25%}.column.is-4-touch{flex:none;width:33.3333333333%}.column.is-offset-4-touch{margin-left:33.3333333333%}.column.is-5-touch{flex:none;width:41.6666666667%}.column.is-offset-5-touch{margin-left:41.6666666667%}.column.is-6-touch{flex:none;width:50%}.column.is-offset-6-touch{margin-left:50%}.column.is-7-touch{flex:none;width:58.3333333333%}.column.is-offset-7-touch{margin-left:58.3333333333%}.column.is-8-touch{flex:none;width:66.6666666667%}.column.is-offset-8-touch{margin-left:66.6666666667%}.column.is-9-touch{flex:none;width:75%}.column.is-offset-9-touch{margin-left:75%}.column.is-10-touch{flex:none;width:83.3333333333%}.column.is-offset-10-touch{margin-left:83.3333333333%}.column.is-11-touch{flex:none;width:91.6666666667%}.column.is-offset-11-touch{margin-left:91.6666666667%}.column.is-12-touch{flex:none;width:100%}.column.is-offset-12-touch{margin-left:100%}}@media screen and (min-width: 1056px){.column.is-narrow-desktop{flex:none}.column.is-full-desktop{flex:none;width:100%}.column.is-three-quarters-desktop{flex:none;width:75%}.column.is-two-thirds-desktop{flex:none;width:66.6666%}.column.is-half-desktop{flex:none;width:50%}.column.is-one-third-desktop{flex:none;width:33.3333%}.column.is-one-quarter-desktop{flex:none;width:25%}.column.is-one-fifth-desktop{flex:none;width:20%}.column.is-two-fifths-desktop{flex:none;width:40%}.column.is-three-fifths-desktop{flex:none;width:60%}.column.is-four-fifths-desktop{flex:none;width:80%}.column.is-offset-three-quarters-desktop{margin-left:75%}.column.is-offset-two-thirds-desktop{margin-left:66.6666%}.column.is-offset-half-desktop{margin-left:50%}.column.is-offset-one-third-desktop{margin-left:33.3333%}.column.is-offset-one-quarter-desktop{margin-left:25%}.column.is-offset-one-fifth-desktop{margin-left:20%}.column.is-offset-two-fifths-desktop{margin-left:40%}.column.is-offset-three-fifths-desktop{margin-left:60%}.column.is-offset-four-fifths-desktop{margin-left:80%}.column.is-0-desktop{flex:none;width:0%}.column.is-offset-0-desktop{margin-left:0%}.column.is-1-desktop{flex:none;width:8.3333333333%}.column.is-offset-1-desktop{margin-left:8.3333333333%}.column.is-2-desktop{flex:none;width:16.6666666667%}.column.is-offset-2-desktop{margin-left:16.6666666667%}.column.is-3-desktop{flex:none;width:25%}.column.is-offset-3-desktop{margin-left:25%}.column.is-4-desktop{flex:none;width:33.3333333333%}.column.is-offset-4-desktop{margin-left:33.3333333333%}.column.is-5-desktop{flex:none;width:41.6666666667%}.column.is-offset-5-desktop{margin-left:41.6666666667%}.column.is-6-desktop{flex:none;width:50%}.column.is-offset-6-desktop{margin-left:50%}.column.is-7-desktop{flex:none;width:58.3333333333%}.column.is-offset-7-desktop{margin-left:58.3333333333%}.column.is-8-desktop{flex:none;width:66.6666666667%}.column.is-offset-8-desktop{margin-left:66.6666666667%}.column.is-9-desktop{flex:none;width:75%}.column.is-offset-9-desktop{margin-left:75%}.column.is-10-desktop{flex:none;width:83.3333333333%}.column.is-offset-10-desktop{margin-left:83.3333333333%}.column.is-11-desktop{flex:none;width:91.6666666667%}.column.is-offset-11-desktop{margin-left:91.6666666667%}.column.is-12-desktop{flex:none;width:100%}.column.is-offset-12-desktop{margin-left:100%}}@media screen and (min-width: 1216px){.column.is-narrow-widescreen{flex:none}.column.is-full-widescreen{flex:none;width:100%}.column.is-three-quarters-widescreen{flex:none;width:75%}.column.is-two-thirds-widescreen{flex:none;width:66.6666%}.column.is-half-widescreen{flex:none;width:50%}.column.is-one-third-widescreen{flex:none;width:33.3333%}.column.is-one-quarter-widescreen{flex:none;width:25%}.column.is-one-fifth-widescreen{flex:none;width:20%}.column.is-two-fifths-widescreen{flex:none;width:40%}.column.is-three-fifths-widescreen{flex:none;width:60%}.column.is-four-fifths-widescreen{flex:none;width:80%}.column.is-offset-three-quarters-widescreen{margin-left:75%}.column.is-offset-two-thirds-widescreen{margin-left:66.6666%}.column.is-offset-half-widescreen{margin-left:50%}.column.is-offset-one-third-widescreen{margin-left:33.3333%}.column.is-offset-one-quarter-widescreen{margin-left:25%}.column.is-offset-one-fifth-widescreen{margin-left:20%}.column.is-offset-two-fifths-widescreen{margin-left:40%}.column.is-offset-three-fifths-widescreen{margin-left:60%}.column.is-offset-four-fifths-widescreen{margin-left:80%}.column.is-0-widescreen{flex:none;width:0%}.column.is-offset-0-widescreen{margin-left:0%}.column.is-1-widescreen{flex:none;width:8.3333333333%}.column.is-offset-1-widescreen{margin-left:8.3333333333%}.column.is-2-widescreen{flex:none;width:16.6666666667%}.column.is-offset-2-widescreen{margin-left:16.6666666667%}.column.is-3-widescreen{flex:none;width:25%}.column.is-offset-3-widescreen{margin-left:25%}.column.is-4-widescreen{flex:none;width:33.3333333333%}.column.is-offset-4-widescreen{margin-left:33.3333333333%}.column.is-5-widescreen{flex:none;width:41.6666666667%}.column.is-offset-5-widescreen{margin-left:41.6666666667%}.column.is-6-widescreen{flex:none;width:50%}.column.is-offset-6-widescreen{margin-left:50%}.column.is-7-widescreen{flex:none;width:58.3333333333%}.column.is-offset-7-widescreen{margin-left:58.3333333333%}.column.is-8-widescreen{flex:none;width:66.6666666667%}.column.is-offset-8-widescreen{margin-left:66.6666666667%}.column.is-9-widescreen{flex:none;width:75%}.column.is-offset-9-widescreen{margin-left:75%}.column.is-10-widescreen{flex:none;width:83.3333333333%}.column.is-offset-10-widescreen{margin-left:83.3333333333%}.column.is-11-widescreen{flex:none;width:91.6666666667%}.column.is-offset-11-widescreen{margin-left:91.6666666667%}.column.is-12-widescreen{flex:none;width:100%}.column.is-offset-12-widescreen{margin-left:100%}}@media screen and (min-width: 1408px){.column.is-narrow-fullhd{flex:none}.column.is-full-fullhd{flex:none;width:100%}.column.is-three-quarters-fullhd{flex:none;width:75%}.column.is-two-thirds-fullhd{flex:none;width:66.6666%}.column.is-half-fullhd{flex:none;width:50%}.column.is-one-third-fullhd{flex:none;width:33.3333%}.column.is-one-quarter-fullhd{flex:none;width:25%}.column.is-one-fifth-fullhd{flex:none;width:20%}.column.is-two-fifths-fullhd{flex:none;width:40%}.column.is-three-fifths-fullhd{flex:none;width:60%}.column.is-four-fifths-fullhd{flex:none;width:80%}.column.is-offset-three-quarters-fullhd{margin-left:75%}.column.is-offset-two-thirds-fullhd{margin-left:66.6666%}.column.is-offset-half-fullhd{margin-left:50%}.column.is-offset-one-third-fullhd{margin-left:33.3333%}.column.is-offset-one-quarter-fullhd{margin-left:25%}.column.is-offset-one-fifth-fullhd{margin-left:20%}.column.is-offset-two-fifths-fullhd{margin-left:40%}.column.is-offset-three-fifths-fullhd{margin-left:60%}.column.is-offset-four-fifths-fullhd{margin-left:80%}.column.is-0-fullhd{flex:none;width:0%}.column.is-offset-0-fullhd{margin-left:0%}.column.is-1-fullhd{flex:none;width:8.3333333333%}.column.is-offset-1-fullhd{margin-left:8.3333333333%}.column.is-2-fullhd{flex:none;width:16.6666666667%}.column.is-offset-2-fullhd{margin-left:16.6666666667%}.column.is-3-fullhd{flex:none;width:25%}.column.is-offset-3-fullhd{margin-left:25%}.column.is-4-fullhd{flex:none;width:33.3333333333%}.column.is-offset-4-fullhd{margin-left:33.3333333333%}.column.is-5-fullhd{flex:none;width:41.6666666667%}.column.is-offset-5-fullhd{margin-left:41.6666666667%}.column.is-6-fullhd{flex:none;width:50%}.column.is-offset-6-fullhd{margin-left:50%}.column.is-7-fullhd{flex:none;width:58.3333333333%}.column.is-offset-7-fullhd{margin-left:58.3333333333%}.column.is-8-fullhd{flex:none;width:66.6666666667%}.column.is-offset-8-fullhd{margin-left:66.6666666667%}.column.is-9-fullhd{flex:none;width:75%}.column.is-offset-9-fullhd{margin-left:75%}.column.is-10-fullhd{flex:none;width:83.3333333333%}.column.is-offset-10-fullhd{margin-left:83.3333333333%}.column.is-11-fullhd{flex:none;width:91.6666666667%}.column.is-offset-11-fullhd{margin-left:91.6666666667%}.column.is-12-fullhd{flex:none;width:100%}.column.is-offset-12-fullhd{margin-left:100%}}.columns{margin-left:-.75rem;margin-right:-.75rem;margin-top:-.75rem}.columns:last-child{margin-bottom:-.75rem}.columns:not(:last-child){margin-bottom:calc(1.5rem - .75rem)}.columns.is-centered{justify-content:center}.columns.is-gapless{margin-left:0;margin-right:0;margin-top:0}.columns.is-gapless>.column{margin:0;padding:0 !important}.columns.is-gapless:not(:last-child){margin-bottom:1.5rem}.columns.is-gapless:last-child{margin-bottom:0}.columns.is-mobile{display:flex}.columns.is-multiline{flex-wrap:wrap}.columns.is-vcentered{align-items:center}@media screen and (min-width: 769px),print{.columns:not(.is-desktop){display:flex}}@media screen and (min-width: 1056px){.columns.is-desktop{display:flex}}.columns.is-variable{--columnGap: 0.75rem;margin-left:calc(-1 * var(--columnGap));margin-right:calc(-1 * var(--columnGap))}.columns.is-variable .column{padding-left:var(--columnGap);padding-right:var(--columnGap)}.columns.is-variable.is-0{--columnGap: 0rem}@media screen and (max-width: 768px){.columns.is-variable.is-0-mobile{--columnGap: 0rem}}@media screen and (min-width: 769px),print{.columns.is-variable.is-0-tablet{--columnGap: 0rem}}@media screen and (min-width: 769px) and (max-width: 1055px){.columns.is-variable.is-0-tablet-only{--columnGap: 0rem}}@media screen and (max-width: 1055px){.columns.is-variable.is-0-touch{--columnGap: 0rem}}@media screen and (min-width: 1056px){.columns.is-variable.is-0-desktop{--columnGap: 0rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){.columns.is-variable.is-0-desktop-only{--columnGap: 0rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-0-widescreen{--columnGap: 0rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-0-widescreen-only{--columnGap: 0rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-0-fullhd{--columnGap: 0rem}}.columns.is-variable.is-1{--columnGap: .25rem}@media screen and (max-width: 768px){.columns.is-variable.is-1-mobile{--columnGap: .25rem}}@media screen and (min-width: 769px),print{.columns.is-variable.is-1-tablet{--columnGap: .25rem}}@media screen and (min-width: 769px) and (max-width: 1055px){.columns.is-variable.is-1-tablet-only{--columnGap: .25rem}}@media screen and (max-width: 1055px){.columns.is-variable.is-1-touch{--columnGap: .25rem}}@media screen and (min-width: 1056px){.columns.is-variable.is-1-desktop{--columnGap: .25rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){.columns.is-variable.is-1-desktop-only{--columnGap: .25rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-1-widescreen{--columnGap: .25rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-1-widescreen-only{--columnGap: .25rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-1-fullhd{--columnGap: .25rem}}.columns.is-variable.is-2{--columnGap: .5rem}@media screen and (max-width: 768px){.columns.is-variable.is-2-mobile{--columnGap: .5rem}}@media screen and (min-width: 769px),print{.columns.is-variable.is-2-tablet{--columnGap: .5rem}}@media screen and (min-width: 769px) and (max-width: 1055px){.columns.is-variable.is-2-tablet-only{--columnGap: .5rem}}@media screen and (max-width: 1055px){.columns.is-variable.is-2-touch{--columnGap: .5rem}}@media screen and (min-width: 1056px){.columns.is-variable.is-2-desktop{--columnGap: .5rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){.columns.is-variable.is-2-desktop-only{--columnGap: .5rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-2-widescreen{--columnGap: .5rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-2-widescreen-only{--columnGap: .5rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-2-fullhd{--columnGap: .5rem}}.columns.is-variable.is-3{--columnGap: .75rem}@media screen and (max-width: 768px){.columns.is-variable.is-3-mobile{--columnGap: .75rem}}@media screen and (min-width: 769px),print{.columns.is-variable.is-3-tablet{--columnGap: .75rem}}@media screen and (min-width: 769px) and (max-width: 1055px){.columns.is-variable.is-3-tablet-only{--columnGap: .75rem}}@media screen and (max-width: 1055px){.columns.is-variable.is-3-touch{--columnGap: .75rem}}@media screen and (min-width: 1056px){.columns.is-variable.is-3-desktop{--columnGap: .75rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){.columns.is-variable.is-3-desktop-only{--columnGap: .75rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-3-widescreen{--columnGap: .75rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-3-widescreen-only{--columnGap: .75rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-3-fullhd{--columnGap: .75rem}}.columns.is-variable.is-4{--columnGap: 1rem}@media screen and (max-width: 768px){.columns.is-variable.is-4-mobile{--columnGap: 1rem}}@media screen and (min-width: 769px),print{.columns.is-variable.is-4-tablet{--columnGap: 1rem}}@media screen and (min-width: 769px) and (max-width: 1055px){.columns.is-variable.is-4-tablet-only{--columnGap: 1rem}}@media screen and (max-width: 1055px){.columns.is-variable.is-4-touch{--columnGap: 1rem}}@media screen and (min-width: 1056px){.columns.is-variable.is-4-desktop{--columnGap: 1rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){.columns.is-variable.is-4-desktop-only{--columnGap: 1rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-4-widescreen{--columnGap: 1rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-4-widescreen-only{--columnGap: 1rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-4-fullhd{--columnGap: 1rem}}.columns.is-variable.is-5{--columnGap: 1.25rem}@media screen and (max-width: 768px){.columns.is-variable.is-5-mobile{--columnGap: 1.25rem}}@media screen and (min-width: 769px),print{.columns.is-variable.is-5-tablet{--columnGap: 1.25rem}}@media screen and (min-width: 769px) and (max-width: 1055px){.columns.is-variable.is-5-tablet-only{--columnGap: 1.25rem}}@media screen and (max-width: 1055px){.columns.is-variable.is-5-touch{--columnGap: 1.25rem}}@media screen and (min-width: 1056px){.columns.is-variable.is-5-desktop{--columnGap: 1.25rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){.columns.is-variable.is-5-desktop-only{--columnGap: 1.25rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-5-widescreen{--columnGap: 1.25rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-5-widescreen-only{--columnGap: 1.25rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-5-fullhd{--columnGap: 1.25rem}}.columns.is-variable.is-6{--columnGap: 1.5rem}@media screen and (max-width: 768px){.columns.is-variable.is-6-mobile{--columnGap: 1.5rem}}@media screen and (min-width: 769px),print{.columns.is-variable.is-6-tablet{--columnGap: 1.5rem}}@media screen and (min-width: 769px) and (max-width: 1055px){.columns.is-variable.is-6-tablet-only{--columnGap: 1.5rem}}@media screen and (max-width: 1055px){.columns.is-variable.is-6-touch{--columnGap: 1.5rem}}@media screen and (min-width: 1056px){.columns.is-variable.is-6-desktop{--columnGap: 1.5rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){.columns.is-variable.is-6-desktop-only{--columnGap: 1.5rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-6-widescreen{--columnGap: 1.5rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-6-widescreen-only{--columnGap: 1.5rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-6-fullhd{--columnGap: 1.5rem}}.columns.is-variable.is-7{--columnGap: 1.75rem}@media screen and (max-width: 768px){.columns.is-variable.is-7-mobile{--columnGap: 1.75rem}}@media screen and (min-width: 769px),print{.columns.is-variable.is-7-tablet{--columnGap: 1.75rem}}@media screen and (min-width: 769px) and (max-width: 1055px){.columns.is-variable.is-7-tablet-only{--columnGap: 1.75rem}}@media screen and (max-width: 1055px){.columns.is-variable.is-7-touch{--columnGap: 1.75rem}}@media screen and (min-width: 1056px){.columns.is-variable.is-7-desktop{--columnGap: 1.75rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){.columns.is-variable.is-7-desktop-only{--columnGap: 1.75rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-7-widescreen{--columnGap: 1.75rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-7-widescreen-only{--columnGap: 1.75rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-7-fullhd{--columnGap: 1.75rem}}.columns.is-variable.is-8{--columnGap: 2rem}@media screen and (max-width: 768px){.columns.is-variable.is-8-mobile{--columnGap: 2rem}}@media screen and (min-width: 769px),print{.columns.is-variable.is-8-tablet{--columnGap: 2rem}}@media screen and (min-width: 769px) and (max-width: 1055px){.columns.is-variable.is-8-tablet-only{--columnGap: 2rem}}@media screen and (max-width: 1055px){.columns.is-variable.is-8-touch{--columnGap: 2rem}}@media screen and (min-width: 1056px){.columns.is-variable.is-8-desktop{--columnGap: 2rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){.columns.is-variable.is-8-desktop-only{--columnGap: 2rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-8-widescreen{--columnGap: 2rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-8-widescreen-only{--columnGap: 2rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-8-fullhd{--columnGap: 2rem}}.tile{align-items:stretch;display:block;flex-basis:0;flex-grow:1;flex-shrink:1;min-height:min-content}.tile.is-ancestor{margin-left:-.75rem;margin-right:-.75rem;margin-top:-.75rem}.tile.is-ancestor:last-child{margin-bottom:-.75rem}.tile.is-ancestor:not(:last-child){margin-bottom:.75rem}.tile.is-child{margin:0 !important}.tile.is-parent{padding:.75rem}.tile.is-vertical{flex-direction:column}.tile.is-vertical>.tile.is-child:not(:last-child){margin-bottom:1.5rem !important}@media screen and (min-width: 769px),print{.tile:not(.is-child){display:flex}.tile.is-1{flex:none;width:8.3333333333%}.tile.is-2{flex:none;width:16.6666666667%}.tile.is-3{flex:none;width:25%}.tile.is-4{flex:none;width:33.3333333333%}.tile.is-5{flex:none;width:41.6666666667%}.tile.is-6{flex:none;width:50%}.tile.is-7{flex:none;width:58.3333333333%}.tile.is-8{flex:none;width:66.6666666667%}.tile.is-9{flex:none;width:75%}.tile.is-10{flex:none;width:83.3333333333%}.tile.is-11{flex:none;width:91.6666666667%}.tile.is-12{flex:none;width:100%}}.hero{align-items:stretch;display:flex;flex-direction:column;justify-content:space-between}.hero .navbar{background:none}.hero .tabs ul{border-bottom:none}.hero.is-white{background-color:#fff;color:#0a0a0a}.hero.is-white a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-white strong{color:inherit}.hero.is-white .title{color:#0a0a0a}.hero.is-white .subtitle{color:rgba(10,10,10,0.9)}.hero.is-white .subtitle a:not(.button),.hero.is-white .subtitle strong{color:#0a0a0a}@media screen and (max-width: 1055px){.hero.is-white .navbar-menu{background-color:#fff}}.hero.is-white .navbar-item,.hero.is-white .navbar-link{color:rgba(10,10,10,0.7)}.hero.is-white a.navbar-item:hover,.hero.is-white a.navbar-item.is-active,.hero.is-white .navbar-link:hover,.hero.is-white .navbar-link.is-active{background-color:#f2f2f2;color:#0a0a0a}.hero.is-white .tabs a{color:#0a0a0a;opacity:0.9}.hero.is-white .tabs a:hover{opacity:1}.hero.is-white .tabs li.is-active a{opacity:1}.hero.is-white .tabs.is-boxed a,.hero.is-white .tabs.is-toggle a{color:#0a0a0a}.hero.is-white .tabs.is-boxed a:hover,.hero.is-white .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-white .tabs.is-boxed li.is-active a,.hero.is-white .tabs.is-boxed li.is-active a:hover,.hero.is-white .tabs.is-toggle li.is-active a,.hero.is-white .tabs.is-toggle li.is-active a:hover{background-color:#0a0a0a;border-color:#0a0a0a;color:#fff}.hero.is-white.is-bold{background-image:linear-gradient(141deg, #e8e3e4 0%, #fff 71%, #fff 100%)}@media screen and (max-width: 768px){.hero.is-white.is-bold .navbar-menu{background-image:linear-gradient(141deg, #e8e3e4 0%, #fff 71%, #fff 100%)}}.hero.is-black{background-color:#0a0a0a;color:#fff}.hero.is-black a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-black strong{color:inherit}.hero.is-black .title{color:#fff}.hero.is-black .subtitle{color:rgba(255,255,255,0.9)}.hero.is-black .subtitle a:not(.button),.hero.is-black .subtitle strong{color:#fff}@media screen and (max-width: 1055px){.hero.is-black .navbar-menu{background-color:#0a0a0a}}.hero.is-black .navbar-item,.hero.is-black .navbar-link{color:rgba(255,255,255,0.7)}.hero.is-black a.navbar-item:hover,.hero.is-black a.navbar-item.is-active,.hero.is-black .navbar-link:hover,.hero.is-black .navbar-link.is-active{background-color:#000;color:#fff}.hero.is-black .tabs a{color:#fff;opacity:0.9}.hero.is-black .tabs a:hover{opacity:1}.hero.is-black .tabs li.is-active a{opacity:1}.hero.is-black .tabs.is-boxed a,.hero.is-black .tabs.is-toggle a{color:#fff}.hero.is-black .tabs.is-boxed a:hover,.hero.is-black .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-black .tabs.is-boxed li.is-active a,.hero.is-black .tabs.is-boxed li.is-active a:hover,.hero.is-black .tabs.is-toggle li.is-active a,.hero.is-black .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#0a0a0a}.hero.is-black.is-bold{background-image:linear-gradient(141deg, #000 0%, #0a0a0a 71%, #181616 100%)}@media screen and (max-width: 768px){.hero.is-black.is-bold .navbar-menu{background-image:linear-gradient(141deg, #000 0%, #0a0a0a 71%, #181616 100%)}}.hero.is-light{background-color:#f5f5f5;color:#363636}.hero.is-light a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-light strong{color:inherit}.hero.is-light .title{color:#363636}.hero.is-light .subtitle{color:rgba(54,54,54,0.9)}.hero.is-light .subtitle a:not(.button),.hero.is-light .subtitle strong{color:#363636}@media screen and (max-width: 1055px){.hero.is-light .navbar-menu{background-color:#f5f5f5}}.hero.is-light .navbar-item,.hero.is-light .navbar-link{color:rgba(54,54,54,0.7)}.hero.is-light a.navbar-item:hover,.hero.is-light a.navbar-item.is-active,.hero.is-light .navbar-link:hover,.hero.is-light .navbar-link.is-active{background-color:#e8e8e8;color:#363636}.hero.is-light .tabs a{color:#363636;opacity:0.9}.hero.is-light .tabs a:hover{opacity:1}.hero.is-light .tabs li.is-active a{opacity:1}.hero.is-light .tabs.is-boxed a,.hero.is-light .tabs.is-toggle a{color:#363636}.hero.is-light .tabs.is-boxed a:hover,.hero.is-light .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-light .tabs.is-boxed li.is-active a,.hero.is-light .tabs.is-boxed li.is-active a:hover,.hero.is-light .tabs.is-toggle li.is-active a,.hero.is-light .tabs.is-toggle li.is-active a:hover{background-color:#363636;border-color:#363636;color:#f5f5f5}.hero.is-light.is-bold{background-image:linear-gradient(141deg, #dfd8d9 0%, #f5f5f5 71%, #fff 100%)}@media screen and (max-width: 768px){.hero.is-light.is-bold .navbar-menu{background-image:linear-gradient(141deg, #dfd8d9 0%, #f5f5f5 71%, #fff 100%)}}.hero.is-dark,.content kbd.hero{background-color:#363636;color:#f5f5f5}.hero.is-dark a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.content kbd.hero a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-dark strong,.content kbd.hero strong{color:inherit}.hero.is-dark .title,.content kbd.hero .title{color:#f5f5f5}.hero.is-dark .subtitle,.content kbd.hero .subtitle{color:rgba(245,245,245,0.9)}.hero.is-dark .subtitle a:not(.button),.content kbd.hero .subtitle a:not(.button),.hero.is-dark .subtitle strong,.content kbd.hero .subtitle strong{color:#f5f5f5}@media screen and (max-width: 1055px){.hero.is-dark .navbar-menu,.content kbd.hero .navbar-menu{background-color:#363636}}.hero.is-dark .navbar-item,.content kbd.hero .navbar-item,.hero.is-dark .navbar-link,.content kbd.hero .navbar-link{color:rgba(245,245,245,0.7)}.hero.is-dark a.navbar-item:hover,.content kbd.hero a.navbar-item:hover,.hero.is-dark a.navbar-item.is-active,.content kbd.hero a.navbar-item.is-active,.hero.is-dark .navbar-link:hover,.content kbd.hero .navbar-link:hover,.hero.is-dark .navbar-link.is-active,.content kbd.hero .navbar-link.is-active{background-color:#292929;color:#f5f5f5}.hero.is-dark .tabs a,.content kbd.hero .tabs a{color:#f5f5f5;opacity:0.9}.hero.is-dark .tabs a:hover,.content kbd.hero .tabs a:hover{opacity:1}.hero.is-dark .tabs li.is-active a,.content kbd.hero .tabs li.is-active a{opacity:1}.hero.is-dark .tabs.is-boxed a,.content kbd.hero .tabs.is-boxed a,.hero.is-dark .tabs.is-toggle a,.content kbd.hero .tabs.is-toggle a{color:#f5f5f5}.hero.is-dark .tabs.is-boxed a:hover,.content kbd.hero .tabs.is-boxed a:hover,.hero.is-dark .tabs.is-toggle a:hover,.content kbd.hero .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-dark .tabs.is-boxed li.is-active a,.content kbd.hero .tabs.is-boxed li.is-active a,.hero.is-dark .tabs.is-boxed li.is-active a:hover,.hero.is-dark .tabs.is-toggle li.is-active a,.content kbd.hero .tabs.is-toggle li.is-active a,.hero.is-dark .tabs.is-toggle li.is-active a:hover{background-color:#f5f5f5;border-color:#f5f5f5;color:#363636}.hero.is-dark.is-bold,.content kbd.hero.is-bold{background-image:linear-gradient(141deg, #1f191a 0%, #363636 71%, #46403f 100%)}@media screen and (max-width: 768px){.hero.is-dark.is-bold .navbar-menu,.content kbd.hero.is-bold .navbar-menu{background-image:linear-gradient(141deg, #1f191a 0%, #363636 71%, #46403f 100%)}}.hero.is-primary,.docstring>section>a.hero.docs-sourcelink{background-color:#4eb5de;color:#fff}.hero.is-primary a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.docstring>section>a.hero.docs-sourcelink a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-primary strong,.docstring>section>a.hero.docs-sourcelink strong{color:inherit}.hero.is-primary .title,.docstring>section>a.hero.docs-sourcelink .title{color:#fff}.hero.is-primary .subtitle,.docstring>section>a.hero.docs-sourcelink .subtitle{color:rgba(255,255,255,0.9)}.hero.is-primary .subtitle a:not(.button),.docstring>section>a.hero.docs-sourcelink .subtitle a:not(.button),.hero.is-primary .subtitle strong,.docstring>section>a.hero.docs-sourcelink .subtitle strong{color:#fff}@media screen and (max-width: 1055px){.hero.is-primary .navbar-menu,.docstring>section>a.hero.docs-sourcelink .navbar-menu{background-color:#4eb5de}}.hero.is-primary .navbar-item,.docstring>section>a.hero.docs-sourcelink .navbar-item,.hero.is-primary .navbar-link,.docstring>section>a.hero.docs-sourcelink .navbar-link{color:rgba(255,255,255,0.7)}.hero.is-primary a.navbar-item:hover,.docstring>section>a.hero.docs-sourcelink a.navbar-item:hover,.hero.is-primary a.navbar-item.is-active,.docstring>section>a.hero.docs-sourcelink a.navbar-item.is-active,.hero.is-primary .navbar-link:hover,.docstring>section>a.hero.docs-sourcelink .navbar-link:hover,.hero.is-primary .navbar-link.is-active,.docstring>section>a.hero.docs-sourcelink .navbar-link.is-active{background-color:#39acda;color:#fff}.hero.is-primary .tabs a,.docstring>section>a.hero.docs-sourcelink .tabs a{color:#fff;opacity:0.9}.hero.is-primary .tabs a:hover,.docstring>section>a.hero.docs-sourcelink .tabs a:hover{opacity:1}.hero.is-primary .tabs li.is-active a,.docstring>section>a.hero.docs-sourcelink .tabs li.is-active a{opacity:1}.hero.is-primary .tabs.is-boxed a,.docstring>section>a.hero.docs-sourcelink .tabs.is-boxed a,.hero.is-primary .tabs.is-toggle a,.docstring>section>a.hero.docs-sourcelink .tabs.is-toggle a{color:#fff}.hero.is-primary .tabs.is-boxed a:hover,.docstring>section>a.hero.docs-sourcelink .tabs.is-boxed a:hover,.hero.is-primary .tabs.is-toggle a:hover,.docstring>section>a.hero.docs-sourcelink .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-primary .tabs.is-boxed li.is-active a,.docstring>section>a.hero.docs-sourcelink .tabs.is-boxed li.is-active a,.hero.is-primary .tabs.is-boxed li.is-active a:hover,.hero.is-primary .tabs.is-toggle li.is-active a,.docstring>section>a.hero.docs-sourcelink .tabs.is-toggle li.is-active a,.hero.is-primary .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#4eb5de}.hero.is-primary.is-bold,.docstring>section>a.hero.is-bold.docs-sourcelink{background-image:linear-gradient(141deg, #1bc7de 0%, #4eb5de 71%, #5fa9e7 100%)}@media screen and (max-width: 768px){.hero.is-primary.is-bold .navbar-menu,.docstring>section>a.hero.is-bold.docs-sourcelink .navbar-menu{background-image:linear-gradient(141deg, #1bc7de 0%, #4eb5de 71%, #5fa9e7 100%)}}.hero.is-link{background-color:#2e63b8;color:#fff}.hero.is-link a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-link strong{color:inherit}.hero.is-link .title{color:#fff}.hero.is-link .subtitle{color:rgba(255,255,255,0.9)}.hero.is-link .subtitle a:not(.button),.hero.is-link .subtitle strong{color:#fff}@media screen and (max-width: 1055px){.hero.is-link .navbar-menu{background-color:#2e63b8}}.hero.is-link .navbar-item,.hero.is-link .navbar-link{color:rgba(255,255,255,0.7)}.hero.is-link a.navbar-item:hover,.hero.is-link a.navbar-item.is-active,.hero.is-link .navbar-link:hover,.hero.is-link .navbar-link.is-active{background-color:#2958a4;color:#fff}.hero.is-link .tabs a{color:#fff;opacity:0.9}.hero.is-link .tabs a:hover{opacity:1}.hero.is-link .tabs li.is-active a{opacity:1}.hero.is-link .tabs.is-boxed a,.hero.is-link .tabs.is-toggle a{color:#fff}.hero.is-link .tabs.is-boxed a:hover,.hero.is-link .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-link .tabs.is-boxed li.is-active a,.hero.is-link .tabs.is-boxed li.is-active a:hover,.hero.is-link .tabs.is-toggle li.is-active a,.hero.is-link .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#2e63b8}.hero.is-link.is-bold{background-image:linear-gradient(141deg, #1b6098 0%, #2e63b8 71%, #2d51d2 100%)}@media screen and (max-width: 768px){.hero.is-link.is-bold .navbar-menu{background-image:linear-gradient(141deg, #1b6098 0%, #2e63b8 71%, #2d51d2 100%)}}.hero.is-info{background-color:#209cee;color:#fff}.hero.is-info a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-info strong{color:inherit}.hero.is-info .title{color:#fff}.hero.is-info .subtitle{color:rgba(255,255,255,0.9)}.hero.is-info .subtitle a:not(.button),.hero.is-info .subtitle strong{color:#fff}@media screen and (max-width: 1055px){.hero.is-info .navbar-menu{background-color:#209cee}}.hero.is-info .navbar-item,.hero.is-info .navbar-link{color:rgba(255,255,255,0.7)}.hero.is-info a.navbar-item:hover,.hero.is-info a.navbar-item.is-active,.hero.is-info .navbar-link:hover,.hero.is-info .navbar-link.is-active{background-color:#1190e3;color:#fff}.hero.is-info .tabs a{color:#fff;opacity:0.9}.hero.is-info .tabs a:hover{opacity:1}.hero.is-info .tabs li.is-active a{opacity:1}.hero.is-info .tabs.is-boxed a,.hero.is-info .tabs.is-toggle a{color:#fff}.hero.is-info .tabs.is-boxed a:hover,.hero.is-info .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-info .tabs.is-boxed li.is-active a,.hero.is-info .tabs.is-boxed li.is-active a:hover,.hero.is-info .tabs.is-toggle li.is-active a,.hero.is-info .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#209cee}.hero.is-info.is-bold{background-image:linear-gradient(141deg, #05a6d6 0%, #209cee 71%, #3287f5 100%)}@media screen and (max-width: 768px){.hero.is-info.is-bold .navbar-menu{background-image:linear-gradient(141deg, #05a6d6 0%, #209cee 71%, #3287f5 100%)}}.hero.is-success{background-color:#22c35b;color:#fff}.hero.is-success a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-success strong{color:inherit}.hero.is-success .title{color:#fff}.hero.is-success .subtitle{color:rgba(255,255,255,0.9)}.hero.is-success .subtitle a:not(.button),.hero.is-success .subtitle strong{color:#fff}@media screen and (max-width: 1055px){.hero.is-success .navbar-menu{background-color:#22c35b}}.hero.is-success .navbar-item,.hero.is-success .navbar-link{color:rgba(255,255,255,0.7)}.hero.is-success a.navbar-item:hover,.hero.is-success a.navbar-item.is-active,.hero.is-success .navbar-link:hover,.hero.is-success .navbar-link.is-active{background-color:#1ead51;color:#fff}.hero.is-success .tabs a{color:#fff;opacity:0.9}.hero.is-success .tabs a:hover{opacity:1}.hero.is-success .tabs li.is-active a{opacity:1}.hero.is-success .tabs.is-boxed a,.hero.is-success .tabs.is-toggle a{color:#fff}.hero.is-success .tabs.is-boxed a:hover,.hero.is-success .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-success .tabs.is-boxed li.is-active a,.hero.is-success .tabs.is-boxed li.is-active a:hover,.hero.is-success .tabs.is-toggle li.is-active a,.hero.is-success .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#22c35b}.hero.is-success.is-bold{background-image:linear-gradient(141deg, #12a02c 0%, #22c35b 71%, #1fdf83 100%)}@media screen and (max-width: 768px){.hero.is-success.is-bold .navbar-menu{background-image:linear-gradient(141deg, #12a02c 0%, #22c35b 71%, #1fdf83 100%)}}.hero.is-warning{background-color:#ffdd57;color:rgba(0,0,0,0.7)}.hero.is-warning a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-warning strong{color:inherit}.hero.is-warning .title{color:rgba(0,0,0,0.7)}.hero.is-warning .subtitle{color:rgba(0,0,0,0.9)}.hero.is-warning .subtitle a:not(.button),.hero.is-warning .subtitle strong{color:rgba(0,0,0,0.7)}@media screen and (max-width: 1055px){.hero.is-warning .navbar-menu{background-color:#ffdd57}}.hero.is-warning .navbar-item,.hero.is-warning .navbar-link{color:rgba(0,0,0,0.7)}.hero.is-warning a.navbar-item:hover,.hero.is-warning a.navbar-item.is-active,.hero.is-warning .navbar-link:hover,.hero.is-warning .navbar-link.is-active{background-color:#ffd83e;color:rgba(0,0,0,0.7)}.hero.is-warning .tabs a{color:rgba(0,0,0,0.7);opacity:0.9}.hero.is-warning .tabs a:hover{opacity:1}.hero.is-warning .tabs li.is-active a{opacity:1}.hero.is-warning .tabs.is-boxed a,.hero.is-warning .tabs.is-toggle a{color:rgba(0,0,0,0.7)}.hero.is-warning .tabs.is-boxed a:hover,.hero.is-warning .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-warning .tabs.is-boxed li.is-active a,.hero.is-warning .tabs.is-boxed li.is-active a:hover,.hero.is-warning .tabs.is-toggle li.is-active a,.hero.is-warning .tabs.is-toggle li.is-active a:hover{background-color:rgba(0,0,0,0.7);border-color:rgba(0,0,0,0.7);color:#ffdd57}.hero.is-warning.is-bold{background-image:linear-gradient(141deg, #ffae24 0%, #ffdd57 71%, #fffa71 100%)}@media screen and (max-width: 768px){.hero.is-warning.is-bold .navbar-menu{background-image:linear-gradient(141deg, #ffae24 0%, #ffdd57 71%, #fffa71 100%)}}.hero.is-danger{background-color:#da0b00;color:#fff}.hero.is-danger a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-danger strong{color:inherit}.hero.is-danger .title{color:#fff}.hero.is-danger .subtitle{color:rgba(255,255,255,0.9)}.hero.is-danger .subtitle a:not(.button),.hero.is-danger .subtitle strong{color:#fff}@media screen and (max-width: 1055px){.hero.is-danger .navbar-menu{background-color:#da0b00}}.hero.is-danger .navbar-item,.hero.is-danger .navbar-link{color:rgba(255,255,255,0.7)}.hero.is-danger a.navbar-item:hover,.hero.is-danger a.navbar-item.is-active,.hero.is-danger .navbar-link:hover,.hero.is-danger .navbar-link.is-active{background-color:#c10a00;color:#fff}.hero.is-danger .tabs a{color:#fff;opacity:0.9}.hero.is-danger .tabs a:hover{opacity:1}.hero.is-danger .tabs li.is-active a{opacity:1}.hero.is-danger .tabs.is-boxed a,.hero.is-danger .tabs.is-toggle a{color:#fff}.hero.is-danger .tabs.is-boxed a:hover,.hero.is-danger .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-danger .tabs.is-boxed li.is-active a,.hero.is-danger .tabs.is-boxed li.is-active a:hover,.hero.is-danger .tabs.is-toggle li.is-active a,.hero.is-danger .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#da0b00}.hero.is-danger.is-bold{background-image:linear-gradient(141deg, #a70013 0%, #da0b00 71%, #f43500 100%)}@media screen and (max-width: 768px){.hero.is-danger.is-bold .navbar-menu{background-image:linear-gradient(141deg, #a70013 0%, #da0b00 71%, #f43500 100%)}}.hero.is-small .hero-body,#documenter .docs-sidebar form.docs-search>input.hero .hero-body{padding-bottom:1.5rem;padding-top:1.5rem}@media screen and (min-width: 769px),print{.hero.is-medium .hero-body{padding-bottom:9rem;padding-top:9rem}}@media screen and (min-width: 769px),print{.hero.is-large .hero-body{padding-bottom:18rem;padding-top:18rem}}.hero.is-halfheight .hero-body,.hero.is-fullheight .hero-body,.hero.is-fullheight-with-navbar .hero-body{align-items:center;display:flex}.hero.is-halfheight .hero-body>.container,.hero.is-fullheight .hero-body>.container,.hero.is-fullheight-with-navbar .hero-body>.container{flex-grow:1;flex-shrink:1}.hero.is-halfheight{min-height:50vh}.hero.is-fullheight{min-height:100vh}.hero-video{overflow:hidden}.hero-video video{left:50%;min-height:100%;min-width:100%;position:absolute;top:50%;transform:translate3d(-50%, -50%, 0)}.hero-video.is-transparent{opacity:0.3}@media screen and (max-width: 768px){.hero-video{display:none}}.hero-buttons{margin-top:1.5rem}@media screen and (max-width: 768px){.hero-buttons .button{display:flex}.hero-buttons .button:not(:last-child){margin-bottom:0.75rem}}@media screen and (min-width: 769px),print{.hero-buttons{display:flex;justify-content:center}.hero-buttons .button:not(:last-child){margin-right:1.5rem}}.hero-head,.hero-foot{flex-grow:0;flex-shrink:0}.hero-body{flex-grow:1;flex-shrink:0;padding:3rem 1.5rem}.section{padding:3rem 1.5rem}@media screen and (min-width: 1056px){.section.is-medium{padding:9rem 1.5rem}.section.is-large{padding:18rem 1.5rem}}.footer{background-color:#fafafa;padding:3rem 1.5rem 6rem}h1 .docs-heading-anchor,h1 .docs-heading-anchor:hover,h1 .docs-heading-anchor:visited,h2 .docs-heading-anchor,h2 .docs-heading-anchor:hover,h2 .docs-heading-anchor:visited,h3 .docs-heading-anchor,h3 .docs-heading-anchor:hover,h3 .docs-heading-anchor:visited,h4 .docs-heading-anchor,h4 .docs-heading-anchor:hover,h4 .docs-heading-anchor:visited,h5 .docs-heading-anchor,h5 .docs-heading-anchor:hover,h5 .docs-heading-anchor:visited,h6 .docs-heading-anchor,h6 .docs-heading-anchor:hover,h6 .docs-heading-anchor:visited{color:#222}h1 .docs-heading-anchor-permalink,h2 .docs-heading-anchor-permalink,h3 .docs-heading-anchor-permalink,h4 .docs-heading-anchor-permalink,h5 .docs-heading-anchor-permalink,h6 .docs-heading-anchor-permalink{visibility:hidden;vertical-align:middle;margin-left:0.5em;font-size:0.7rem}h1 .docs-heading-anchor-permalink::before,h2 .docs-heading-anchor-permalink::before,h3 .docs-heading-anchor-permalink::before,h4 .docs-heading-anchor-permalink::before,h5 .docs-heading-anchor-permalink::before,h6 .docs-heading-anchor-permalink::before{font-family:"Font Awesome 5 Free";font-weight:900;content:"\f0c1"}h1:hover .docs-heading-anchor-permalink,h2:hover .docs-heading-anchor-permalink,h3:hover .docs-heading-anchor-permalink,h4:hover .docs-heading-anchor-permalink,h5:hover .docs-heading-anchor-permalink,h6:hover .docs-heading-anchor-permalink{visibility:visible}.docs-dark-only{display:none !important}pre{position:relative;overflow:hidden}pre code,pre code.hljs{padding:0 .75rem !important;overflow:auto;display:block}pre code:first-of-type,pre code.hljs:first-of-type{padding-top:0.5rem !important}pre code:last-of-type,pre code.hljs:last-of-type{padding-bottom:0.5rem !important}pre .copy-button{opacity:0.2;transition:opacity 0.2s;position:absolute;right:0em;top:0em;padding:0.5em;width:2.5em;height:2.5em;background:transparent;border:none;font-family:"Font Awesome 5 Free";color:#222;cursor:pointer;text-align:center}pre .copy-button:focus,pre .copy-button:hover{opacity:1;background:rgba(34,34,34,0.1);color:#2e63b8}pre .copy-button.success{color:#259a12;opacity:1}pre .copy-button.error{color:#cb3c33;opacity:1}pre:hover .copy-button{opacity:1}.admonition{background-color:#b5b5b5;border-style:solid;border-width:1px;border-color:#363636;border-radius:4px;font-size:1rem}.admonition strong{color:currentColor}.admonition.is-small,#documenter .docs-sidebar form.docs-search>input.admonition{font-size:.75rem}.admonition.is-medium{font-size:1.25rem}.admonition.is-large{font-size:1.5rem}.admonition.is-default{background-color:#b5b5b5;border-color:#363636}.admonition.is-default>.admonition-header{background-color:#363636;color:#fff}.admonition.is-default>.admonition-body{color:#fff}.admonition.is-info{background-color:#def0fc;border-color:#209cee}.admonition.is-info>.admonition-header{background-color:#209cee;color:#fff}.admonition.is-info>.admonition-body{color:rgba(0,0,0,0.7)}.admonition.is-success{background-color:#bdf4d1;border-color:#22c35b}.admonition.is-success>.admonition-header{background-color:#22c35b;color:#fff}.admonition.is-success>.admonition-body{color:rgba(0,0,0,0.7)}.admonition.is-warning{background-color:#fff3c5;border-color:#ffdd57}.admonition.is-warning>.admonition-header{background-color:#ffdd57;color:rgba(0,0,0,0.7)}.admonition.is-warning>.admonition-body{color:rgba(0,0,0,0.7)}.admonition.is-danger{background-color:#ffaba7;border-color:#da0b00}.admonition.is-danger>.admonition-header{background-color:#da0b00;color:#fff}.admonition.is-danger>.admonition-body{color:rgba(0,0,0,0.7)}.admonition.is-compat{background-color:#bdeff5;border-color:#1db5c9}.admonition.is-compat>.admonition-header{background-color:#1db5c9;color:#fff}.admonition.is-compat>.admonition-body{color:rgba(0,0,0,0.7)}.admonition-header{color:#fff;background-color:#363636;align-items:center;font-weight:700;justify-content:space-between;line-height:1.25;padding:0.5rem .75rem;position:relative}.admonition-header:before{font-family:"Font Awesome 5 Free";font-weight:900;margin-right:.75rem;content:"\f06a"}.admonition-body{color:#222;padding:0.5rem .75rem}.admonition-body pre{background-color:#f5f5f5}.admonition-body code{background-color:rgba(0,0,0,0.05)}.docstring{margin-bottom:1em;background-color:rgba(0,0,0,0);border:1px solid #dbdbdb;box-shadow:2px 2px 3px rgba(10,10,10,0.1);max-width:100%}.docstring>header{display:flex;flex-grow:1;align-items:stretch;padding:0.5rem .75rem;background-color:#f5f5f5;box-shadow:0 1px 2px rgba(10,10,10,0.1);box-shadow:none;border-bottom:1px solid #dbdbdb}.docstring>header code{background-color:transparent}.docstring>header .docstring-binding{margin-right:0.3em}.docstring>header .docstring-category{margin-left:0.3em}.docstring>section{position:relative;padding:.75rem .75rem;border-bottom:1px solid #dbdbdb}.docstring>section:last-child{border-bottom:none}.docstring>section>a.docs-sourcelink{transition:opacity 0.3s;opacity:0;position:absolute;right:.375rem;bottom:.375rem}.docstring>section>a.docs-sourcelink:focus{opacity:1 !important}.docstring:hover>section>a.docs-sourcelink{opacity:0.2}.docstring:focus-within>section>a.docs-sourcelink{opacity:0.2}.docstring>section:hover a.docs-sourcelink{opacity:1}.documenter-example-output{background-color:#fff}.outdated-warning-overlay{position:fixed;top:0;left:0;right:0;box-shadow:0 0 10px rgba(0,0,0,0.3);z-index:999;background-color:#ffaba7;color:rgba(0,0,0,0.7);border-bottom:3px solid #da0b00;padding:10px 35px;text-align:center;font-size:15px}.outdated-warning-overlay .outdated-warning-closer{position:absolute;top:calc(50% - 10px);right:18px;cursor:pointer;width:12px}.outdated-warning-overlay a{color:#2e63b8}.outdated-warning-overlay a:hover{color:#363636}.content pre{border:1px solid #dbdbdb}.content code{font-weight:inherit}.content a code{color:#2e63b8}.content h1 code,.content h2 code,.content h3 code,.content h4 code,.content h5 code,.content h6 code{color:#222}.content table{display:block;width:initial;max-width:100%;overflow-x:auto}.content blockquote>ul:first-child,.content blockquote>ol:first-child,.content .admonition-body>ul:first-child,.content .admonition-body>ol:first-child{margin-top:0}pre,code{font-variant-ligatures:no-contextual}.breadcrumb a.is-disabled{cursor:default;pointer-events:none}.breadcrumb a.is-disabled,.breadcrumb a.is-disabled:hover{color:#222}.hljs{background:initial !important}.katex .katex-mathml{top:0;right:0}.katex-display,mjx-container,.MathJax_Display{margin:0.5em 0 !important}html{-moz-osx-font-smoothing:auto;-webkit-font-smoothing:auto}li.no-marker{list-style:none}#documenter .docs-main>article{overflow-wrap:break-word}#documenter .docs-main>article .math-container{overflow-x:auto;overflow-y:hidden}@media screen and (min-width: 1056px){#documenter .docs-main{max-width:52rem;margin-left:20rem;padding-right:1rem}}@media screen and (max-width: 1055px){#documenter .docs-main{width:100%}#documenter .docs-main>article{max-width:52rem;margin-left:auto;margin-right:auto;margin-bottom:1rem;padding:0 1rem}#documenter .docs-main>header,#documenter .docs-main>nav{max-width:100%;width:100%;margin:0}}#documenter .docs-main header.docs-navbar{background-color:#fff;border-bottom:1px solid #dbdbdb;z-index:2;min-height:4rem;margin-bottom:1rem;display:flex}#documenter .docs-main header.docs-navbar .breadcrumb{flex-grow:1}#documenter .docs-main header.docs-navbar .docs-right{display:flex;white-space:nowrap}#documenter .docs-main header.docs-navbar .docs-right .docs-icon,#documenter .docs-main header.docs-navbar .docs-right .docs-label,#documenter .docs-main header.docs-navbar .docs-right .docs-sidebar-button{display:inline-block}#documenter .docs-main header.docs-navbar .docs-right .docs-label{padding:0;margin-left:0.3em}#documenter .docs-main header.docs-navbar .docs-right .docs-settings-button{margin:auto 0 auto 1rem}#documenter .docs-main header.docs-navbar .docs-right .docs-sidebar-button{font-size:1.5rem;margin:auto 0 auto 1rem}#documenter .docs-main header.docs-navbar>*{margin:auto 0}@media screen and (max-width: 1055px){#documenter .docs-main header.docs-navbar{position:sticky;top:0;padding:0 1rem;transition-property:top, box-shadow;-webkit-transition-property:top, box-shadow;transition-duration:0.3s;-webkit-transition-duration:0.3s}#documenter .docs-main header.docs-navbar.headroom--not-top{box-shadow:.2rem 0rem .4rem #bbb;transition-duration:0.7s;-webkit-transition-duration:0.7s}#documenter .docs-main header.docs-navbar.headroom--unpinned.headroom--not-top.headroom--not-bottom{top:-4.5rem;transition-duration:0.7s;-webkit-transition-duration:0.7s}}#documenter .docs-main section.footnotes{border-top:1px solid #dbdbdb}#documenter .docs-main section.footnotes li .tag:first-child,#documenter .docs-main section.footnotes li .docstring>section>a.docs-sourcelink:first-child,#documenter .docs-main section.footnotes li .content kbd:first-child,.content #documenter .docs-main section.footnotes li kbd:first-child{margin-right:1em;margin-bottom:0.4em}#documenter .docs-main .docs-footer{display:flex;flex-wrap:wrap;margin-left:0;margin-right:0;border-top:1px solid #dbdbdb;padding-top:1rem;padding-bottom:1rem}@media screen and (max-width: 1055px){#documenter .docs-main .docs-footer{padding-left:1rem;padding-right:1rem}}#documenter .docs-main .docs-footer .docs-footer-nextpage,#documenter .docs-main .docs-footer .docs-footer-prevpage{flex-grow:1}#documenter .docs-main .docs-footer .docs-footer-nextpage{text-align:right}#documenter .docs-main .docs-footer .flexbox-break{flex-basis:100%;height:0}#documenter .docs-main .docs-footer .footer-message{font-size:0.8em;margin:0.5em auto 0 auto;text-align:center}#documenter .docs-sidebar{display:flex;flex-direction:column;color:#0a0a0a;background-color:#f5f5f5;border-right:1px solid #dbdbdb;padding:0;flex:0 0 18rem;z-index:5;font-size:1rem;position:fixed;left:-18rem;width:18rem;height:100%;transition:left 0.3s}#documenter .docs-sidebar.visible{left:0;box-shadow:.4rem 0rem .8rem #bbb}@media screen and (min-width: 1056px){#documenter .docs-sidebar.visible{box-shadow:none}}@media screen and (min-width: 1056px){#documenter .docs-sidebar{left:0;top:0}}#documenter .docs-sidebar .docs-logo{margin-top:1rem;padding:0 1rem}#documenter .docs-sidebar .docs-logo>img{max-height:6rem;margin:auto}#documenter .docs-sidebar .docs-package-name{flex-shrink:0;font-size:1.5rem;font-weight:700;text-align:center;white-space:nowrap;overflow:hidden;padding:0.5rem 0}#documenter .docs-sidebar .docs-package-name .docs-autofit{max-width:16.2rem}#documenter .docs-sidebar .docs-package-name a,#documenter .docs-sidebar .docs-package-name a:hover{color:#0a0a0a}#documenter .docs-sidebar .docs-version-selector{border-top:1px solid #dbdbdb;display:none;padding:0.5rem}#documenter .docs-sidebar .docs-version-selector.visible{display:flex}#documenter .docs-sidebar ul.docs-menu{flex-grow:1;user-select:none;border-top:1px solid #dbdbdb;padding-bottom:1.5rem}#documenter .docs-sidebar ul.docs-menu>li>.tocitem{font-weight:bold}#documenter .docs-sidebar ul.docs-menu>li li{font-size:.95rem;margin-left:1em;border-left:1px solid #dbdbdb}#documenter .docs-sidebar ul.docs-menu input.collapse-toggle{display:none}#documenter .docs-sidebar ul.docs-menu ul.collapsed{display:none}#documenter .docs-sidebar ul.docs-menu input:checked~ul.collapsed{display:block}#documenter .docs-sidebar ul.docs-menu label.tocitem{display:flex}#documenter .docs-sidebar ul.docs-menu label.tocitem .docs-label{flex-grow:2}#documenter .docs-sidebar ul.docs-menu label.tocitem .docs-chevron{display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1;font-size:.75rem;margin-left:1rem;margin-top:auto;margin-bottom:auto}#documenter .docs-sidebar ul.docs-menu label.tocitem .docs-chevron::before{font-family:"Font Awesome 5 Free";font-weight:900;content:"\f054"}#documenter .docs-sidebar ul.docs-menu input:checked~label.tocitem .docs-chevron::before{content:"\f078"}#documenter .docs-sidebar ul.docs-menu .tocitem{display:block;padding:0.5rem 0.5rem}#documenter .docs-sidebar ul.docs-menu .tocitem,#documenter .docs-sidebar ul.docs-menu .tocitem:hover{color:#0a0a0a;background:#f5f5f5}#documenter .docs-sidebar ul.docs-menu a.tocitem:hover,#documenter .docs-sidebar ul.docs-menu label.tocitem:hover{color:#0a0a0a;background-color:#ebebeb}#documenter .docs-sidebar ul.docs-menu li.is-active{border-top:1px solid #dbdbdb;border-bottom:1px solid #dbdbdb;background-color:#fff}#documenter .docs-sidebar ul.docs-menu li.is-active .tocitem,#documenter .docs-sidebar ul.docs-menu li.is-active .tocitem:hover{background-color:#fff;color:#0a0a0a}#documenter .docs-sidebar ul.docs-menu li.is-active ul.internal .tocitem:hover{background-color:#ebebeb;color:#0a0a0a}#documenter .docs-sidebar ul.docs-menu>li.is-active:first-child{border-top:none}#documenter .docs-sidebar ul.docs-menu ul.internal{margin:0 0.5rem 0.5rem;border-top:1px solid #dbdbdb}#documenter .docs-sidebar ul.docs-menu ul.internal li{font-size:.85rem;border-left:none;margin-left:0;margin-top:0.5rem}#documenter .docs-sidebar ul.docs-menu ul.internal .tocitem{width:100%;padding:0}#documenter .docs-sidebar ul.docs-menu ul.internal .tocitem::before{content:"⚬";margin-right:0.4em}#documenter .docs-sidebar form.docs-search{margin:auto;margin-top:0.5rem;margin-bottom:0.5rem}#documenter .docs-sidebar form.docs-search>input{width:14.4rem}@media screen and (min-width: 1056px){#documenter .docs-sidebar ul.docs-menu{overflow-y:auto;-webkit-overflow-scroll:touch}#documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar{width:.3rem;background:none}#documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar-thumb{border-radius:5px 0px 0px 5px;background:#e0e0e0}#documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar-thumb:hover{background:#ccc}}@media screen and (max-width: 1055px){#documenter .docs-sidebar{overflow-y:auto;-webkit-overflow-scroll:touch}#documenter .docs-sidebar::-webkit-scrollbar{width:.3rem;background:none}#documenter .docs-sidebar::-webkit-scrollbar-thumb{border-radius:5px 0px 0px 5px;background:#e0e0e0}#documenter .docs-sidebar::-webkit-scrollbar-thumb:hover{background:#ccc}}#documenter .docs-main #documenter-search-info{margin-bottom:1rem}#documenter .docs-main #documenter-search-results{list-style-type:circle;list-style-position:outside}#documenter .docs-main #documenter-search-results li{margin-left:2rem}#documenter .docs-main #documenter-search-results .docs-highlight{background-color:yellow}.ansi span.sgr1{font-weight:bolder}.ansi span.sgr2{font-weight:lighter}.ansi span.sgr3{font-style:italic}.ansi span.sgr4{text-decoration:underline}.ansi span.sgr7{color:#fff;background-color:#222}.ansi span.sgr8{color:transparent}.ansi span.sgr8 span{color:transparent}.ansi span.sgr9{text-decoration:line-through}.ansi span.sgr30{color:#242424}.ansi span.sgr31{color:#a7201f}.ansi span.sgr32{color:#066f00}.ansi span.sgr33{color:#856b00}.ansi span.sgr34{color:#2149b0}.ansi span.sgr35{color:#7d4498}.ansi span.sgr36{color:#007989}.ansi span.sgr37{color:gray}.ansi span.sgr40{background-color:#242424}.ansi span.sgr41{background-color:#a7201f}.ansi span.sgr42{background-color:#066f00}.ansi span.sgr43{background-color:#856b00}.ansi span.sgr44{background-color:#2149b0}.ansi span.sgr45{background-color:#7d4498}.ansi span.sgr46{background-color:#007989}.ansi span.sgr47{background-color:gray}.ansi span.sgr90{color:#616161}.ansi span.sgr91{color:#cb3c33}.ansi span.sgr92{color:#0e8300}.ansi span.sgr93{color:#a98800}.ansi span.sgr94{color:#3c5dcd}.ansi span.sgr95{color:#9256af}.ansi span.sgr96{color:#008fa3}.ansi span.sgr97{color:#f5f5f5}.ansi span.sgr100{background-color:#616161}.ansi span.sgr101{background-color:#cb3c33}.ansi span.sgr102{background-color:#0e8300}.ansi span.sgr103{background-color:#a98800}.ansi span.sgr104{background-color:#3c5dcd}.ansi span.sgr105{background-color:#9256af}.ansi span.sgr106{background-color:#008fa3}.ansi span.sgr107{background-color:#f5f5f5}code.language-julia-repl>span.hljs-meta{color:#066f00;font-weight:bolder}/*!
-  Theme: Default
-  Description: Original highlight.js style
-  Author: (c) Ivan Sagalaev <maniac@softwaremaniacs.org>
-  Maintainer: @highlightjs/core-team
-  Website: https://highlightjs.org/
-  License: see project LICENSE
-  Touched: 2021
-*/pre code.hljs{display:block;overflow-x:auto}code.hljs{padding:3px 5px}.hljs{background:#F0F0F0;color:#444}.hljs-comment{color:#888888}.hljs-tag,.hljs-punctuation{color:#444a}.hljs-tag .hljs-name,.hljs-tag .hljs-attr{color:#444}.hljs-keyword,.hljs-attribute,.hljs-selector-tag,.hljs-meta .hljs-keyword,.hljs-doctag,.hljs-name{font-weight:bold}.hljs-type,.hljs-string,.hljs-number,.hljs-selector-id,.hljs-selector-class,.hljs-quote,.hljs-template-tag,.hljs-deletion{color:#880000}.hljs-title,.hljs-section{color:#880000;font-weight:bold}.hljs-regexp,.hljs-symbol,.hljs-variable,.hljs-template-variable,.hljs-link,.hljs-selector-attr,.hljs-operator,.hljs-selector-pseudo{color:#BC6060}.hljs-literal{color:#78A960}.hljs-built_in,.hljs-bullet,.hljs-code,.hljs-addition{color:#397300}.hljs-meta{color:#1f7199}.hljs-meta .hljs-string{color:#4d99bf}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:bold}
diff --git a/previews/PR747/assets/themeswap.js b/previews/PR747/assets/themeswap.js
deleted file mode 100644
index c58e993e3..000000000
--- a/previews/PR747/assets/themeswap.js
+++ /dev/null
@@ -1,66 +0,0 @@
-// Small function to quickly swap out themes. Gets put into the <head> tag..
-function set_theme_from_local_storage() {
-  // Intialize the theme to null, which means default
-  var theme = null;
-  // If the browser supports the localstorage and is not disabled then try to get the
-  // documenter theme
-  if(window.localStorage != null) {
-    // Get the user-picked theme from localStorage. May be `null`, which means the default
-    // theme.
-    theme =  window.localStorage.getItem("documenter-theme");
-  }
-  // Check if the browser supports user color preference
-  var darkPreference = false;
-  // Check if the users preference is for dark color scheme
-  if(window.matchMedia('(prefers-color-scheme: dark)').matches === true) {
-    darkPreference = true;
-  }
-  // Initialize a few variables for the loop:
-  //
-  //  - active: will contain the index of the theme that should be active. Note that there
-  //    is no guarantee that localStorage contains sane values. If `active` stays `null`
-  //    we either could not find the theme or it is the default (primary) theme anyway.
-  //    Either way, we then need to stick to the primary theme.
-  //
-  //  - disabled: style sheets that should be disabled (i.e. all the theme style sheets
-  //    that are not the currently active theme)
-  var active = null; var disabled = []; var darkTheme = null;
-  for (var i = 0; i < document.styleSheets.length; i++) {
-    var ss = document.styleSheets[i];
-    // The <link> tag of each style sheet is expected to have a data-theme-name attribute
-    // which must contain the name of the theme. The names in localStorage much match this.
-    var themename = ss.ownerNode.getAttribute("data-theme-name");
-    // attribute not set => non-theme stylesheet => ignore
-    if(themename === null) continue;
-    // To distinguish the default (primary) theme, it needs to have the data-theme-primary
-    // attribute set.
-    var isprimary = (ss.ownerNode.getAttribute("data-theme-primary") !== null);
-    // Check if the theme is primary dark theme
-    var isDarkTheme = (ss.ownerNode.getAttribute("data-theme-primary-dark") !== null);
-    // If ss is for dark theme then set the value of darkTheme to the name of the theme
-    if(isDarkTheme) darkTheme = themename;
-    // If we find a matching theme (and it's not the default), we'll set active to non-null
-    if(themename === theme) active = i;
-    // Store the style sheets of inactive themes so that we could disable them
-    if(themename !== theme) disabled.push(ss);
-  }
-  if(active !== null) {
-    // If we did find an active theme, we'll (1) add the theme--$(theme) class to <html>
-    document.getElementsByTagName('html')[0].className = "theme--" + theme;
-    // and (2) disable all the other theme stylesheets
-    disabled.forEach(function(ss){
-      ss.disabled = true;
-    });
-  }
-  else if(darkTheme !== null && darkPreference === true) {
-    // If we did find an active theme, we'll (1) add the theme--$(theme) class to <html>
-    document.getElementsByTagName('html')[0].className = "theme--" + darkTheme;
-    // and (2) disable all the other theme stylesheets
-    disabled.forEach(function(ss){
-      if (ss.ownerNode.getAttribute("data-theme-name") !== darkTheme) {
-        ss.disabled = true;
-      }
-    });
-  }
-}
-set_theme_from_local_storage();
diff --git a/previews/PR747/assets/warner.js b/previews/PR747/assets/warner.js
deleted file mode 100644
index 5531c8851..000000000
--- a/previews/PR747/assets/warner.js
+++ /dev/null
@@ -1,49 +0,0 @@
-function maybeAddWarning () {
-    // DOCUMENTER_NEWEST is defined in versions.js, DOCUMENTER_CURRENT_VERSION and DOCUMENTER_STABLE
-    // in siteinfo.js.
-    // If either of these are undefined something went horribly wrong, so we abort.
-    if (
-            window.DOCUMENTER_NEWEST === undefined ||
-            window.DOCUMENTER_CURRENT_VERSION === undefined ||
-            window.DOCUMENTER_STABLE === undefined
-       ) {
-        return
-    };
-
-    // Current version is not a version number, so we can't tell if it's the newest version. Abort.
-    if (!/v(\d+\.)*\d+/.test(window.DOCUMENTER_CURRENT_VERSION)) {
-        return
-    };
-
-    // Current version is newest version, so no need to add a warning.
-    if (window.DOCUMENTER_NEWEST === window.DOCUMENTER_CURRENT_VERSION) {
-        return
-    };
-
-    // Add a noindex meta tag (unless one exists) so that search engines don't index this version of the docs.
-    if (document.body.querySelector('meta[name="robots"]') === null) {
-        const meta = document.createElement('meta');
-        meta.name = 'robots';
-        meta.content = 'noindex';
-
-        document.getElementsByTagName('head')[0].appendChild(meta);
-    };
-
-    const div = document.createElement('div');
-    div.classList.add('outdated-warning-overlay');
-    const closer = document.createElement('button');
-    closer.classList.add('outdated-warning-closer', 'delete');
-    closer.addEventListener('click', function () {
-        document.body.removeChild(div);
-    });
-    const href = window.documenterBaseURL + '/../' + window.DOCUMENTER_STABLE;
-    div.innerHTML = 'This documentation is not for the latest stable release, but for either the development version or an older release.<br><a href="' + href + '">Click here to go to the documentation for the latest stable release.</a>';
-    div.appendChild(closer);
-    document.body.appendChild(div);
-};
-
-if (document.readyState === 'loading') {
-    document.addEventListener('DOMContentLoaded', maybeAddWarning);
-} else {
-    maybeAddWarning();
-};
diff --git a/previews/PR747/configuration/index.html b/previews/PR747/configuration/index.html
deleted file mode 100644
index 8bbb301c8..000000000
--- a/previews/PR747/configuration/index.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Configuration · MPI.jl</title><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../"><img src="../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../">MPI.jl</a></span></div><form class="docs-search" action="../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../">MPI.jl</a></li><li class="is-active"><a class="tocitem" href>Configuration</a><ul class="internal"><li><a class="tocitem" href="#using_system_mpi"><span>Using a system-provided MPI backend</span></a></li><li><a class="tocitem" href="#configure_jll_binary"><span>Using an alternative JLL-provided MPI library</span></a></li><li><a class="tocitem" href="#Configuration-of-the-MPI.jl-testsuite"><span>Configuration of the MPI.jl testsuite</span></a></li><li><a class="tocitem" href="#Migration-from-MPI.jl-v0.19-or-earlier"><span>Migration from MPI.jl v0.19 or earlier</span></a></li></ul></li><li><a class="tocitem" href="../usage/">Usage</a></li><li><a class="tocitem" href="../external/">External libraries and packages</a></li><li><a class="tocitem" href="../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../reference/library/">Library information</a></li><li><a class="tocitem" href="../reference/environment/">Environment</a></li><li><a class="tocitem" href="../reference/misc/">Miscellanea</a></li><li><a class="tocitem" href="../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../reference/topology/">Topology</a></li><li><a class="tocitem" href="../reference/io/">I/O</a></li><li><a class="tocitem" href="../reference/advanced/">Advanced</a></li><li><a class="tocitem" href="../reference/api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>Configuration</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Configuration</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/configuration.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Configuration"><a class="docs-heading-anchor" href="#Configuration">Configuration</a><a id="Configuration-1"></a><a class="docs-heading-anchor-permalink" href="#Configuration" title="Permalink"></a></h1><p>By default, MPI.jl will download and link against the following MPI implementations:</p><ul><li><a href="https://docs.microsoft.com/en-us/message-passing-interface/microsoft-mpi">Microsoft MPI</a> on Windows</li><li><a href="http://www.mpich.org/">MPICH</a> on all other platforms</li></ul><p>This is suitable for most single-node use cases, but for larger systems, such as HPC clusters or multi-GPU machines, you will probably want to configure against a system-provided MPI implementation in order to exploit features such as fast network interfaces and CUDA-aware or ROCm-aware MPI interfaces.</p><p>The MPIPreferences.jl package allows the user to choose which MPI implementation to use in MPI.jl. It uses <a href="https://github.com/JuliaPackaging/Preferences.jl">Preferences.jl</a> to configure the MPI backend for each project separately. This provides a single source of truth that can be used for JLL packages (Julia packages providing C libraries) that link against MPI. It can be installed by</p><pre><code class="language-sh hljs">julia --project -e &#39;using Pkg; Pkg.add(&quot;MPIPreferences&quot;)&#39;</code></pre><div class="admonition is-info"><header class="admonition-header">Note</header><div class="admonition-body"><p>The way MPI.jl is configured has changed with MPI.jl v0.20. See <a href="#Migration-from-MPI.jl-v0.19-or-earlier">Migration from MPI.jl v0.19 or earlier</a> for more information on how to migrate your configuration from earlier MPI.jl versions.</p></div></div><h2 id="using_system_mpi"><a class="docs-heading-anchor" href="#using_system_mpi">Using a system-provided MPI backend</a><a id="using_system_mpi-1"></a><a class="docs-heading-anchor-permalink" href="#using_system_mpi" title="Permalink"></a></h2><h3 id="Requirements"><a class="docs-heading-anchor" href="#Requirements">Requirements</a><a id="Requirements-1"></a><a class="docs-heading-anchor-permalink" href="#Requirements" title="Permalink"></a></h3><p>MPI.jl requires a shared library installation of a C MPI library, supporting the MPI 3.0 standard or later. The following MPI implementations should work out-of-the-box with MPI.jl:</p><ul><li><a href="http://www.open-mpi.org/">Open MPI</a></li><li><a href="http://www.mpich.org/">MPICH</a> (v3.1 or later)</li><li><a href="https://software.intel.com/en-us/mpi-library">Intel MPI</a></li><li><a href="https://docs.microsoft.com/en-us/message-passing-interface/microsoft-mpi">Microsoft MPI</a></li><li><a href="https://www.ibm.com/us-en/marketplace/spectrum-mpi">IBM Spectrum MPI</a></li><li><a href="http://mvapich.cse.ohio-state.edu/">MVAPICH</a></li><li><a href="https://docs.nersc.gov/development/compilers/wrappers/">Cray MPICH</a></li><li><a href="https://www.fujitsu.com/global/about/resources/publications/technicalreview/2020-03/article07.html#cap-03">Fujitsu MPI</a></li><li><a href="https://support.hpe.com/hpesc/public/docDisplay?docLocale=en_US&amp;docId=a00105727en_us">HPE MPT/HMPT</a></li></ul><h3 id="configure_system_binary"><a class="docs-heading-anchor" href="#configure_system_binary">Configuration</a><a id="configure_system_binary-1"></a><a class="docs-heading-anchor-permalink" href="#configure_system_binary" title="Permalink"></a></h3><p>Run <code>MPIPreferences.use_system_binary()</code>. This will attempt to locate and to identify any available MPI implementation, and create a file called <code>LocalPreferences.toml</code> adjacent to the current <code>Project.toml</code>.</p><pre><code class="language-sh hljs">julia --project -e &#39;using MPIPreferences; MPIPreferences.use_system_binary()&#39;</code></pre><p>If the implementation is changed, you will need to call this function again. See the <a href="../reference/mpipreferences/#MPIPreferences.use_system_binary"><code>MPIPreferences.use_system_binary</code></a> documentation for specific options.</p><div class="admonition is-info"><header class="admonition-header">Note</header><div class="admonition-body"><p>You can copy <code>LocalPreferences.toml</code> to a different project folder, but you must list <code>MPIPreferences</code> in the <code>[extras]</code> or <code>[deps]</code> section of the <code>Project.toml</code> for the settings to take effect.</p></div></div><div class="admonition is-info"><header class="admonition-header">Note</header><div class="admonition-body"><p>Due to a bug in Julia (until <code>v1.6.5</code> and <code>v1.7.1</code>), getting preferences from transitive dependencies is broken (<a href="https://github.com/JuliaPackaging/Preferences.jl/issues/24">Preferences.jl#24</a>). To fix this update your version of Julia, or add <code>MPIPreferences</code> as a direct dependency to your project.</p></div></div><h3 id="Notes-to-HPC-cluster-administrators"><a class="docs-heading-anchor" href="#Notes-to-HPC-cluster-administrators">Notes to HPC cluster administrators</a><a id="Notes-to-HPC-cluster-administrators-1"></a><a class="docs-heading-anchor-permalink" href="#Notes-to-HPC-cluster-administrators" title="Permalink"></a></h3><p>Preferences are merged across the Julia load path, such that it is feasible to provide a module file that appends a path to <code>JULIA_LOAD_PATH</code> variable that contains system-wide preferences. The steps are as follows:</p><ol><li><p>Run <a href="../reference/mpipreferences/#MPIPreferences.use_system_binary"><code>MPIPreferences.use_system_binary()</code></a>, which will generate a file <code>LocalPreferences.toml</code> containing something like the following:</p><pre><code class="language-toml hljs">[MPIPreferences]
-_format = &quot;1.0&quot;
-abi = &quot;OpenMPI&quot;
-binary = &quot;system&quot;
-libmpi = &quot;/software/mpi/lib/libmpi.so&quot;
-mpiexec = &quot;/software/mpi/bin/mpiexec&quot;</code></pre></li><li><p>Create a file called <code>Project.toml</code> or <code>JuliaProject.toml</code> in a central location, for example <code>/software/mpi/julia</code> or in the same directory as the MPI library module, and add the following contents:</p><pre><code class="language-toml hljs">[extras]
-MPIPreferences = &quot;3da0fdf6-3ccc-4f1b-acd9-58baa6c99267&quot;
-
-[preferences.MPIPreferences]
-_format = &quot;1.0&quot;
-abi = &quot;OpenMPI&quot;
-binary = &quot;system&quot;
-libmpi = &quot;/software/mpi/lib/libmpi.so&quot;
-mpiexec = &quot;/software/mpi/bin/mpiexec&quot;</code></pre><p>updating the contents of the <code>[preferences.MPIPreferences]</code> section match those of the <code>[MPIPreferences]</code> in <code>LocalPreferences.toml</code>.</p></li><li><p>Append the directory containing the file to the <a href="https://docs.julialang.org/en/v1/manual/environment-variables/#JULIA_LOAD_PATH"><code>JULIA_LOAD_PATH</code></a> environment variable, with a colon (<code>:</code>) separator.</p><p>If this variable is <em>not</em> already set, it should be prefixed with a colon to ensure correct behavior of the Julia load path, e.g. <code>JULIA_LOAD_PATH=&quot;:/software/mpi/julia&quot;</code>. If using environment modules, this can be achieved with</p><pre><code class="nohighlight hljs">append-path -d {} JULIA_LOAD_PATH :/software/mpi/julia</code></pre><p>in the corresponding module file (preferably the module file for the MPI installation or for Julia).</p><p>The user can still provide differing MPI configurations for each Julia project that will take precedent by modifying the local <code>Project.toml</code> or by providing a <code>LocalPreferences.toml</code> file.</p></li></ol><h2 id="configure_jll_binary"><a class="docs-heading-anchor" href="#configure_jll_binary">Using an alternative JLL-provided MPI library</a><a id="configure_jll_binary-1"></a><a class="docs-heading-anchor-permalink" href="#configure_jll_binary" title="Permalink"></a></h2><p>The following MPI implementations are provided as JLL packages and automatically obtained when installing MPI.jl:</p><ul><li><code>MicrosoftMPI_jll</code>: <a href="https://docs.microsoft.com/en-us/message-passing-interface/microsoft-mpi">Microsoft MPI</a> Default for Windows</li><li><code>MPICH_jll</code>: <a href="https://www.mpich.org/">MPICH</a>. Default for all other systems</li><li><code>OpenMPI_jll</code>: <a href="https://www.open-mpi.org/">Open MPI</a></li><li><code>MPItrampoline_jll</code>: <a href="https://github.com/eschnett/MPItrampoline">MPItrampoline</a>: an MPI forwarding layer.</li></ul><p>Call <a href="../reference/mpipreferences/#MPIPreferences.use_jll_binary"><code>MPIPreferences.use_jll_binary</code></a>, for example</p><pre><code class="language-sh hljs">julia --project -e &#39;using MPIPreferences; MPIPreferences.use_jll_binary(&quot;MPItrampoline_jll&quot;)&#39;</code></pre><p>If you omit the JLL binary name, the default is selected for the respective operating system.</p><h2 id="Configuration-of-the-MPI.jl-testsuite"><a class="docs-heading-anchor" href="#Configuration-of-the-MPI.jl-testsuite">Configuration of the MPI.jl testsuite</a><a id="Configuration-of-the-MPI.jl-testsuite-1"></a><a class="docs-heading-anchor-permalink" href="#Configuration-of-the-MPI.jl-testsuite" title="Permalink"></a></h2><h3 id="Testing-against-a-different-MPI-implementation"><a class="docs-heading-anchor" href="#Testing-against-a-different-MPI-implementation">Testing against a different MPI implementation</a><a id="Testing-against-a-different-MPI-implementation-1"></a><a class="docs-heading-anchor-permalink" href="#Testing-against-a-different-MPI-implementation" title="Permalink"></a></h3><p>The <code>LocalPreferences.toml</code> must be located within the <code>test</code> folder, you can either create it in place or copy it into place.</p><pre><code class="nohighlight hljs">~/MPI&gt; julia --project=test
-julia&gt; using MPIPreferences
-julia&gt; MPIPreferences.use_system_binary()
-~/MPI&gt; rm test/Manifest.toml
-~/MPI&gt; julia --project
-(MPI) pkg&gt; test</code></pre><h3 id="Environment-variables"><a class="docs-heading-anchor" href="#Environment-variables">Environment variables</a><a id="Environment-variables-1"></a><a class="docs-heading-anchor-permalink" href="#Environment-variables" title="Permalink"></a></h3><p>The test suite can also be modified by the following variables:</p><ul><li><code>JULIA_MPI_TEST_NPROCS</code>: How many ranks to use within the tests</li><li><code>JULIA_MPI_TEST_ARRAYTYPE</code>: Set to <code>CuArray</code> or <code>ROCArray</code> to test the CUDA-aware interface with <a href="https://github.com/JuliaGPU/CUDA.jl"><code>CUDA.CuArray</code></a> or the ROCm-aware interface with <a href="https://github.com/JuliaGPU/AMDGPU.jl"><code>AMDGPU.ROCArray</code></a> or buffers.</li><li><code>JULIA_MPI_TEST_BINARY</code>: Check that the specified MPI binary is used for the tests</li><li><code>JULIA_MPI_TEST_ABI</code>: Check that the specified MPI ABI is used for the tests</li></ul><h2 id="Migration-from-MPI.jl-v0.19-or-earlier"><a class="docs-heading-anchor" href="#Migration-from-MPI.jl-v0.19-or-earlier">Migration from MPI.jl v0.19 or earlier</a><a id="Migration-from-MPI.jl-v0.19-or-earlier-1"></a><a class="docs-heading-anchor-permalink" href="#Migration-from-MPI.jl-v0.19-or-earlier" title="Permalink"></a></h2><p>For MPI.jl v0.20, environment variables were used to configure which MPI library to use. These have been removed and no longer have any effect. The following subsections explain how to the same effects can be achieved with v0.20 or later.</p><div class="admonition is-info"><header class="admonition-header">Note</header><div class="admonition-body"><p>Please refer to <a href="#Notes-to-HPC-cluster-administrators">Notes to HPC cluster administrators</a> if you want to migrate your MPI.jl preferences on a cluster with a centrally managed MPI.jl configuration.</p></div></div><h3 id="JULIA_MPI_BINARY"><a class="docs-heading-anchor" href="#JULIA_MPI_BINARY"><code>JULIA_MPI_BINARY</code></a><a id="JULIA_MPI_BINARY-1"></a><a class="docs-heading-anchor-permalink" href="#JULIA_MPI_BINARY" title="Permalink"></a></h3><p>Use <a href="../reference/mpipreferences/#MPIPreferences.use_system_binary"><code>MPIPreferences.use_system_binary</code></a> to use a system-provided MPI binary as described <a href="#configure_system_binary">here</a>. To switch back or select a different JLL-provided MPI binary, use <a href="../reference/mpipreferences/#MPIPreferences.use_jll_binary"><code>MPIPreferences.use_jll_binary</code></a> as described <a href="#configure_jll_binary">here</a>.</p><h3 id="JULIA_MPI_PATH"><a class="docs-heading-anchor" href="#JULIA_MPI_PATH"><code>JULIA_MPI_PATH</code></a><a id="JULIA_MPI_PATH-1"></a><a class="docs-heading-anchor-permalink" href="#JULIA_MPI_PATH" title="Permalink"></a></h3><p>Removed without replacement.</p><h3 id="JULIA_MPI_LIBRARY"><a class="docs-heading-anchor" href="#JULIA_MPI_LIBRARY"><code>JULIA_MPI_LIBRARY</code></a><a id="JULIA_MPI_LIBRARY-1"></a><a class="docs-heading-anchor-permalink" href="#JULIA_MPI_LIBRARY" title="Permalink"></a></h3><p>Use <a href="../reference/mpipreferences/#MPIPreferences.use_system_binary"><code>MPIPreferences.use_system_binary</code></a> with keyword argument <code>library_names</code> to specify possible, non-standard library names. Alternatively, you can also specify the full path to the library.</p><h3 id="JULIA_MPI_ABI"><a class="docs-heading-anchor" href="#JULIA_MPI_ABI"><code>JULIA_MPI_ABI</code></a><a id="JULIA_MPI_ABI-1"></a><a class="docs-heading-anchor-permalink" href="#JULIA_MPI_ABI" title="Permalink"></a></h3><p>Use <a href="../reference/mpipreferences/#MPIPreferences.use_system_binary"><code>MPIPreferences.use_system_binary</code></a> with keyword argument <code>abi</code> to specify which ABI to use. See <a href="../reference/mpipreferences/#MPIPreferences.abi"><code>MPIPreferences.abi</code></a> for possible values.</p><h3 id="JULIA_MPIEXEC"><a class="docs-heading-anchor" href="#JULIA_MPIEXEC"><code>JULIA_MPIEXEC</code></a><a id="JULIA_MPIEXEC-1"></a><a class="docs-heading-anchor-permalink" href="#JULIA_MPIEXEC" title="Permalink"></a></h3><p>Use <a href="../reference/mpipreferences/#MPIPreferences.use_system_binary"><code>MPIPreferences.use_system_binary</code></a> with keyword argument <code>mpiexec</code> to specify the MPI launcher executable.</p><h3 id="JULIA_MPIEXEC_ARGS"><a class="docs-heading-anchor" href="#JULIA_MPIEXEC_ARGS"><code>JULIA_MPIEXEC_ARGS</code></a><a id="JULIA_MPIEXEC_ARGS-1"></a><a class="docs-heading-anchor-permalink" href="#JULIA_MPIEXEC_ARGS" title="Permalink"></a></h3><p>Use <a href="../reference/mpipreferences/#MPIPreferences.use_system_binary"><code>MPIPreferences.use_system_binary</code></a> with keyword argument <code>mpiexec</code>, and pass a <a href="https://docs.julialang.org/en/v1/manual/running-external-programs/#Cmd-Objects"><code>Cmd</code></a> object to set the MPI launcher executable and to include specific command line options.</p><h3 id="JULIA_MPI_INCLUDE_PATH"><a class="docs-heading-anchor" href="#JULIA_MPI_INCLUDE_PATH"><code>JULIA_MPI_INCLUDE_PATH</code></a><a id="JULIA_MPI_INCLUDE_PATH-1"></a><a class="docs-heading-anchor-permalink" href="#JULIA_MPI_INCLUDE_PATH" title="Permalink"></a></h3><p>Removed without replacement. Automatic generation of a constants file for unknown MPI ABIs is not supported anymore. See also <a href="https://github.com/JuliaParallel/MPI.jl/issues/574">#574</a>.</p><h3 id="JULIA_MPI_CFLAGS"><a class="docs-heading-anchor" href="#JULIA_MPI_CFLAGS"><code>JULIA_MPI_CFLAGS</code></a><a id="JULIA_MPI_CFLAGS-1"></a><a class="docs-heading-anchor-permalink" href="#JULIA_MPI_CFLAGS" title="Permalink"></a></h3><p>Removed without replacement. Automatic generation of a constants file for unknown MPI ABIs is not supported anymore. See also <a href="https://github.com/JuliaParallel/MPI.jl/issues/574">#574</a>.</p><h3 id="JULIA_MPICC"><a class="docs-heading-anchor" href="#JULIA_MPICC"><code>JULIA_MPICC</code></a><a id="JULIA_MPICC-1"></a><a class="docs-heading-anchor-permalink" href="#JULIA_MPICC" title="Permalink"></a></h3><p>Removed without replacement. Automatic generation of a constants file for unknown MPI ABIs is not supported anymore. See also <a href="https://github.com/JuliaParallel/MPI.jl/issues/574">#574</a>.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../">« MPI.jl</a><a class="docs-footer-nextpage" href="../usage/">Usage »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Sunday 16 July 2023 20:17">Sunday 16 July 2023</span>. Using Julia version 1.9.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR747/examples/01-hello/index.html b/previews/PR747/examples/01-hello/index.html
deleted file mode 100644
index 650807a8a..000000000
--- a/previews/PR747/examples/01-hello/index.html
+++ /dev/null
@@ -1,12 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Hello world · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../external/">External libraries and packages</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li class="is-active"><a class="tocitem" href>Hello world</a></li><li><a class="tocitem" href="../02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../03-reduce/">Reduce</a></li><li><a class="tocitem" href="../04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../../reference/library/">Library information</a></li><li><a class="tocitem" href="../../reference/environment/">Environment</a></li><li><a class="tocitem" href="../../reference/misc/">Miscellanea</a></li><li><a class="tocitem" href="../../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../../reference/topology/">Topology</a></li><li><a class="tocitem" href="../../reference/io/">I/O</a></li><li><a class="tocitem" href="../../reference/advanced/">Advanced</a></li><li><a class="tocitem" href="../../reference/api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Examples</a></li><li class="is-active"><a href>Hello world</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Hello world</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/01-hello.jl" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Hello-world"><a class="docs-heading-anchor" href="#Hello-world">Hello world</a><a id="Hello-world-1"></a><a class="docs-heading-anchor-permalink" href="#Hello-world" title="Permalink"></a></h1><pre><code class="language-julia hljs"># examples/01-hello.jl
-using MPI
-MPI.Init()
-
-comm = MPI.COMM_WORLD
-print(&quot;Hello world, I am rank $(MPI.Comm_rank(comm)) of $(MPI.Comm_size(comm))\n&quot;)
-MPI.Barrier(comm)</code></pre><pre><code class="nohighlight hljs">&gt; mpiexecjl -n 4 julia examples/01-hello.jl
-Hello world, I am rank 3 of 4
-Hello world, I am rank 2 of 4
-Hello world, I am rank 1 of 4
-Hello world, I am rank 0 of 4</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../../knownissues/">« Known issues</a><a class="docs-footer-nextpage" href="../02-broadcast/">Broadcast »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Sunday 16 July 2023 20:17">Sunday 16 July 2023</span>. Using Julia version 1.9.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR747/examples/02-broadcast/index.html b/previews/PR747/examples/02-broadcast/index.html
deleted file mode 100644
index 38e014c9b..000000000
--- a/previews/PR747/examples/02-broadcast/index.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Broadcast · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../external/">External libraries and packages</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../01-hello/">Hello world</a></li><li class="is-active"><a class="tocitem" href>Broadcast</a></li><li><a class="tocitem" href="../03-reduce/">Reduce</a></li><li><a class="tocitem" href="../04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../../reference/library/">Library information</a></li><li><a class="tocitem" href="../../reference/environment/">Environment</a></li><li><a class="tocitem" href="../../reference/misc/">Miscellanea</a></li><li><a class="tocitem" href="../../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../../reference/topology/">Topology</a></li><li><a class="tocitem" href="../../reference/io/">I/O</a></li><li><a class="tocitem" href="../../reference/advanced/">Advanced</a></li><li><a class="tocitem" href="../../reference/api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Examples</a></li><li class="is-active"><a href>Broadcast</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Broadcast</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/02-broadcast.jl" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Broadcast"><a class="docs-heading-anchor" href="#Broadcast">Broadcast</a><a id="Broadcast-1"></a><a class="docs-heading-anchor-permalink" href="#Broadcast" title="Permalink"></a></h1><pre><code class="language-julia hljs"># examples/02-broadcast.jl
-import MPI
-MPI.Init()
-
-comm = MPI.COMM_WORLD
-N = 5
-root = 0
-
-if MPI.Comm_rank(comm) == root
-    print(&quot; Running on $(MPI.Comm_size(comm)) processes\n&quot;)
-end
-MPI.Barrier(comm)
-
-if MPI.Comm_rank(comm) == root
-    A = [i*(1.0 + im*2.0) for i = 1:N]
-else
-    A = Array{ComplexF64}(undef, N)
-end
-
-MPI.Bcast!(A, root, comm)
-
-print(&quot;rank = $(MPI.Comm_rank(comm)), A = $A\n&quot;)
-
-if MPI.Comm_rank(comm) == root
-    B = Dict(&quot;foo&quot; =&gt; &quot;bar&quot;)
-else
-    B = nothing
-end
-
-B = MPI.bcast(B, root, comm)
-print(&quot;rank = $(MPI.Comm_rank(comm)), B = $B\n&quot;)
-
-if MPI.Comm_rank(comm) == root
-    f = x -&gt; x^2 + 2x - 1
-else
-    f = nothing
-end
-
-f = MPI.bcast(f, root, comm)
-print(&quot;rank = $(MPI.Comm_rank(comm)), f(3) = $(f(3))\n&quot;)</code></pre><pre><code class="nohighlight hljs">&gt; mpiexecjl -n 4 julia examples/02-broadcast.jl
- Running on 4 processes
-rank = 0, A = ComplexF64[1.0 + 2.0im, 2.0 + 4.0im, 3.0 + 6.0im, 4.0 + 8.0im, 5.0 + 10.0im]
-rank = 2, A = ComplexF64[1.0 + 2.0im, 2.0 + 4.0im, 3.0 + 6.0im, 4.0 + 8.0im, 5.0 + 10.0im]
-rank = 3, A = ComplexF64[1.0 + 2.0im, 2.0 + 4.0im, 3.0 + 6.0im, 4.0 + 8.0im, 5.0 + 10.0im]
-rank = 1, A = ComplexF64[1.0 + 2.0im, 2.0 + 4.0im, 3.0 + 6.0im, 4.0 + 8.0im, 5.0 + 10.0im]
-rank = 0, B = Dict(&quot;foo&quot; =&gt; &quot;bar&quot;)
-rank = 1, B = Dict(&quot;foo&quot; =&gt; &quot;bar&quot;)
-rank = 3, B = Dict(&quot;foo&quot; =&gt; &quot;bar&quot;)
-rank = 2, B = Dict(&quot;foo&quot; =&gt; &quot;bar&quot;)
-rank = 0, f(3) = 14
-rank = 2, f(3) = 14
-rank = 3, f(3) = 14
-rank = 1, f(3) = 14</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../01-hello/">« Hello world</a><a class="docs-footer-nextpage" href="../03-reduce/">Reduce »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Sunday 16 July 2023 20:17">Sunday 16 July 2023</span>. Using Julia version 1.9.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR747/examples/03-reduce/index.html b/previews/PR747/examples/03-reduce/index.html
deleted file mode 100644
index ff70f03a0..000000000
--- a/previews/PR747/examples/03-reduce/index.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Reduce · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../external/">External libraries and packages</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../01-hello/">Hello world</a></li><li><a class="tocitem" href="../02-broadcast/">Broadcast</a></li><li class="is-active"><a class="tocitem" href>Reduce</a></li><li><a class="tocitem" href="../04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../../reference/library/">Library information</a></li><li><a class="tocitem" href="../../reference/environment/">Environment</a></li><li><a class="tocitem" href="../../reference/misc/">Miscellanea</a></li><li><a class="tocitem" href="../../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../../reference/topology/">Topology</a></li><li><a class="tocitem" href="../../reference/io/">I/O</a></li><li><a class="tocitem" href="../../reference/advanced/">Advanced</a></li><li><a class="tocitem" href="../../reference/api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Examples</a></li><li class="is-active"><a href>Reduce</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Reduce</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/03-reduce.jl" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Reduce"><a class="docs-heading-anchor" href="#Reduce">Reduce</a><a id="Reduce-1"></a><a class="docs-heading-anchor-permalink" href="#Reduce" title="Permalink"></a></h1><pre><code class="language-julia hljs"># examples/03-reduce.jl
-# This example shows how to use custom datatypes and reduction operators
-# It computes the variance in parallel in a numerically stable way
-
-using MPI, Statistics
-
-MPI.Init()
-const comm = MPI.COMM_WORLD
-const root = 0
-
-# Define a custom struct
-# This contains the summary statistics (mean, variance, length) of a vector
-struct SummaryStat
-    mean::Float64
-    var::Float64
-    n::Float64
-end
-function SummaryStat(X::AbstractArray)
-    m = mean(X)
-    v = varm(X,m, corrected=false)
-    n = length(X)
-    SummaryStat(m,v,n)
-end
-
-# Define a custom reduction operator
-# this computes the pooled mean, pooled variance and total length
-function pool(S1::SummaryStat, S2::SummaryStat)
-    n = S1.n + S2.n
-    m = (S1.mean*S1.n + S2.mean*S2.n) / n
-    v = (S1.n * (S1.var + S1.mean * (S1.mean-m)) +
-         S2.n * (S2.var + S2.mean * (S2.mean-m)))/n
-    SummaryStat(m,v,n)
-end
-
-X = randn(10,3) .* [1,3,7]&#39;
-
-# Perform a scalar reduction
-summ = MPI.Reduce(SummaryStat(X), pool, root, comm)
-
-if MPI.Comm_rank(comm) == root
-    @show summ.var
-end
-
-# Perform a vector reduction:
-# the reduction operator is applied elementwise
-col_summ = MPI.Reduce(mapslices(SummaryStat,X,dims=1), pool, root, comm)
-
-if MPI.Comm_rank(comm) == root
-    col_var = map(summ -&gt; summ.var, col_summ)
-    @show col_var
-end</code></pre><pre><code class="nohighlight hljs">&gt; mpiexecjl -n 4 julia examples/03-reduce.jl
-summ.var = 16.998987563939835
-col_var = [1.2100565967779722 8.673861760724193 41.07327481452388]</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../02-broadcast/">« Broadcast</a><a class="docs-footer-nextpage" href="../04-sendrecv/">Send/receive »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Sunday 16 July 2023 20:17">Sunday 16 July 2023</span>. Using Julia version 1.9.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR747/examples/04-sendrecv/index.html b/previews/PR747/examples/04-sendrecv/index.html
deleted file mode 100644
index 789100a08..000000000
--- a/previews/PR747/examples/04-sendrecv/index.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Send/receive · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../external/">External libraries and packages</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../01-hello/">Hello world</a></li><li><a class="tocitem" href="../02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../03-reduce/">Reduce</a></li><li class="is-active"><a class="tocitem" href>Send/receive</a></li><li><a class="tocitem" href="../05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../../reference/library/">Library information</a></li><li><a class="tocitem" href="../../reference/environment/">Environment</a></li><li><a class="tocitem" href="../../reference/misc/">Miscellanea</a></li><li><a class="tocitem" href="../../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../../reference/topology/">Topology</a></li><li><a class="tocitem" href="../../reference/io/">I/O</a></li><li><a class="tocitem" href="../../reference/advanced/">Advanced</a></li><li><a class="tocitem" href="../../reference/api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Examples</a></li><li class="is-active"><a href>Send/receive</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Send/receive</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/04-sendrecv.jl" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Send/receive"><a class="docs-heading-anchor" href="#Send/receive">Send/receive</a><a id="Send/receive-1"></a><a class="docs-heading-anchor-permalink" href="#Send/receive" title="Permalink"></a></h1><pre><code class="language-julia hljs"># examples/04-sendrecv.jl
-using MPI
-MPI.Init()
-
-comm = MPI.COMM_WORLD
-rank = MPI.Comm_rank(comm)
-size = MPI.Comm_size(comm)
-
-dst = mod(rank+1, size)
-src = mod(rank-1, size)
-
-N = 4
-
-send_mesg = Array{Float64}(undef, N)
-recv_mesg = Array{Float64}(undef, N)
-
-fill!(send_mesg, Float64(rank))
-
-rreq = MPI.Irecv!(recv_mesg, comm; source=src, tag=src+32)
-
-print(&quot;$rank: Sending   $rank -&gt; $dst = $send_mesg\n&quot;)
-sreq = MPI.Isend(send_mesg, comm; dest=dst, tag=rank+32)
-
-stats = MPI.Waitall([rreq, sreq])
-
-print(&quot;$rank: Received $src -&gt; $rank = $recv_mesg\n&quot;)
-
-MPI.Barrier(comm)</code></pre><pre><code class="nohighlight hljs">&gt; mpiexecjl -n 4 julia examples/04-sendrecv.jl
-1: Sending   1 -&gt; 2 = [1.0, 1.0, 1.0, 1.0]
-3: Sending   3 -&gt; 0 = [3.0, 3.0, 3.0, 3.0]
-0: Sending   0 -&gt; 1 = [0.0, 0.0, 0.0, 0.0]
-2: Sending   2 -&gt; 3 = [2.0, 2.0, 2.0, 2.0]
-2: Received 1 -&gt; 2 = [1.0, 1.0, 1.0, 1.0]
-0: Received 3 -&gt; 0 = [3.0, 3.0, 3.0, 3.0]
-3: Received 2 -&gt; 3 = [2.0, 2.0, 2.0, 2.0]
-1: Received 0 -&gt; 1 = [0.0, 0.0, 0.0, 0.0]</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../03-reduce/">« Reduce</a><a class="docs-footer-nextpage" href="../05-job_schedule/">Job Scheduling »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Sunday 16 July 2023 20:17">Sunday 16 July 2023</span>. Using Julia version 1.9.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR747/examples/05-job_schedule/index.html b/previews/PR747/examples/05-job_schedule/index.html
deleted file mode 100644
index c05bc3b0a..000000000
--- a/previews/PR747/examples/05-job_schedule/index.html
+++ /dev/null
@@ -1,172 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Job Scheduling · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../external/">External libraries and packages</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../01-hello/">Hello world</a></li><li><a class="tocitem" href="../02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../03-reduce/">Reduce</a></li><li><a class="tocitem" href="../04-sendrecv/">Send/receive</a></li><li class="is-active"><a class="tocitem" href>Job Scheduling</a></li><li><a class="tocitem" href="../06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../../reference/library/">Library information</a></li><li><a class="tocitem" href="../../reference/environment/">Environment</a></li><li><a class="tocitem" href="../../reference/misc/">Miscellanea</a></li><li><a class="tocitem" href="../../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../../reference/topology/">Topology</a></li><li><a class="tocitem" href="../../reference/io/">I/O</a></li><li><a class="tocitem" href="../../reference/advanced/">Advanced</a></li><li><a class="tocitem" href="../../reference/api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Examples</a></li><li class="is-active"><a href>Job Scheduling</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Job Scheduling</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/05-job_schedule.jl" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Job-Scheduling"><a class="docs-heading-anchor" href="#Job-Scheduling">Job Scheduling</a><a id="Job-Scheduling-1"></a><a class="docs-heading-anchor-permalink" href="#Job-Scheduling" title="Permalink"></a></h1><pre><code class="language-julia hljs"># examples/05-job_schedule.jl
-# This example demonstrates a job scheduling through adding the
-# number 100 to every component of the vector data. The root
-# assigns one element to each worker to compute the operation.
-# When the worker is finished, the root sends another element
-# until each element is added 100
-# Inspired on
-# https://www.hpc.ntnu.no/ntnu-hpc-group/vilje/user-guide/software/mpi-and-mpi-io-training-tutorial/basic-mpi/job-queue
-
-using MPI
-
-function job_queue(data,f)
-    MPI.Init()
-
-    comm = MPI.COMM_WORLD
-    rank = MPI.Comm_rank(comm)
-    world_size = MPI.Comm_size(comm)
-    nworkers = world_size - 1
-
-    root = 0
-
-    MPI.Barrier(comm)
-    T = eltype(data)
-    N = size(data)[1]
-    send_mesg = Array{T}(undef, 1)
-    recv_mesg = Array{T}(undef, 1)
-
-    if rank == root # I am root
-
-        idx_recv = 0
-        idx_sent = 1
-
-        new_data = Array{T}(undef, N)
-        # Array of workers requests
-        sreqs_workers = Array{MPI.Request}(undef,nworkers)
-        # -1 = start, 0 = channel not available, 1 = channel available
-        status_workers = ones(nworkers).*-1
-
-        # Send message to workers
-        for dst in 1:nworkers
-            if idx_sent &gt; N
-                break
-            end
-            send_mesg[1] = data[idx_sent]
-            sreq = MPI.Isend(send_mesg, comm; dest=dst, tag=dst+32)
-            idx_sent += 1
-            sreqs_workers[dst] = sreq
-            status_workers[dst] = 0
-            print(&quot;Root: Sent number $(send_mesg[1]) to Worker $dst\n&quot;)
-        end
-
-        # Send and receive messages until all elements are added
-        while idx_recv != N
-            # Check to see if there is an available message to receive
-            for dst in 1:nworkers
-                if status_workers[dst] == 0
-                    flag = MPI.Test(sreqs_workers[dst])
-                    if flag
-                        status_workers[dst] = 1
-                    end
-                end
-            end
-            for dst in 1:nworkers
-                if status_workers[dst] == 1
-                    ismessage = MPI.Iprobe(comm; source=dst, tag=dst+32)
-                    if ismessage
-                        # Receives message
-                        MPI.Recv!(recv_mesg, comm; source=dst, tag=dst+32)
-                        idx_recv += 1
-                        new_data[idx_recv] = recv_mesg[1]
-                        print(&quot;Root: Received number $(recv_mesg[1]) from Worker $dst\n&quot;)
-                        if idx_sent &lt;= N
-                            send_mesg[1] = data[idx_sent]
-                            # Sends new message
-                            sreq = MPI.Isend(send_mesg, comm; dest=dst, tag=dst+32)
-                            idx_sent += 1
-                            sreqs_workers[dst] = sreq
-                            status_workers[dst] = 1
-                            print(&quot;Root: Sent number $(send_mesg[1]) to Worker $dst\n&quot;)
-                        end
-                    end
-                end
-            end
-        end
-
-        for dst in 1:nworkers
-            # Termination message to worker
-            send_mesg[1] = -1
-            sreq = MPI.Isend(send_mesg, comm; dest=dst, tag=dst+32)
-            sreqs_workers[dst] = sreq
-            status_workers[dst] = 0
-            print(&quot;Root: Finish Worker $dst\n&quot;)
-        end
-
-        MPI.Waitall(sreqs_workers)
-        print(&quot;Root: New data = $new_data\n&quot;)
-    else # If rank == worker
-        # -1 = start, 0 = channel not available, 1 = channel available
-        status_worker = -1
-        while true
-            sreqs_workers = Array{MPI.Request}(undef,1)
-            ismessage = MPI.Iprobe(comm; source=root, tag=rank+32)
-
-            if ismessage
-                # Receives message
-                MPI.Recv!(recv_mesg, comm; source=root, tag=rank+32)
-                # Termination message from root
-                if recv_mesg[1] == -1
-                    print(&quot;Worker $rank: Finish\n&quot;)
-                    break
-                end
-                print(&quot;Worker $rank: Received number $(recv_mesg[1]) from root\n&quot;)
-                # Apply function (add number 100) to array
-                send_mesg = f(recv_mesg)
-                sreq = MPI.Isend(send_mesg, comm; dest=root, tag=rank+32)
-                sreqs_workers[1] = sreq
-                status_worker = 0
-            end
-            # Check to see if there is an available message to receive
-            if status_worker == 0
-                flag = MPI.Test(sreqs_workers[1])
-                if flag
-                    status_worker = 1
-                end
-            end
-        end
-    end
-    MPI.Barrier(comm)
-    MPI.Finalize()
-end
-
-f = x -&gt; x.+100
-data = collect(1:10)
-job_queue(data,f)</code></pre><pre><code class="nohighlight hljs">&gt; mpiexecjl -n 4 julia examples/05-job_schedule.jl
-Root: Sent number 1 to Worker 1
-Root: Sent number 2 to Worker 2
-Root: Sent number 3 to Worker 3
-Worker 1: Received number 1 from root
-Worker 3: Received number 3 from root
-Root: Received number 101 from Worker 1
-Root: Sent number 4 to Worker 1
-Worker 1: Received number 4 from root
-Root: Received number 104 from Worker 1
-Root: Sent number 5 to Worker 1
-Worker 1: Received number 5 from root
-Root: Received number 105 from Worker 1
-Root: Sent number 6 to Worker 1
-Worker 1: Received number 6 from root
-Root: Received number 106 from Worker 1
-Root: Sent number 7 to Worker 1
-Worker 1: Received number 7 from root
-Root: Received number 107 from Worker 1
-Root: Sent number 8 to Worker 1
-Worker 1: Received number 8 from root
-Root: Received number 108 from Worker 1
-Root: Sent number 9 to Worker 1
-Worker 1: Received number 9 from root
-Root: Received number 109 from Worker 1
-Root: Sent number 10 to Worker 1
-Worker 1: Received number 10 from root
-Root: Received number 110 from Worker 1
-Root: Received number 103 from Worker 3
-Worker 2: Received number 2 from root
-Root: Received number 102 from Worker 2
-Root: Finish Worker 1
-Worker 1: Finish
-Root: Finish Worker 2
-Root: Finish Worker 3
-Root: New data = [101, 104, 105, 106, 107, 108, 109, 110, 103, 102]
-Worker 3: Finish
-Worker 2: Finish</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../04-sendrecv/">« Send/receive</a><a class="docs-footer-nextpage" href="../06-scatterv/">Scatterv and Gatherv »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Sunday 16 July 2023 20:17">Sunday 16 July 2023</span>. Using Julia version 1.9.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR747/examples/06-scatterv/index.html b/previews/PR747/examples/06-scatterv/index.html
deleted file mode 100644
index b282426be..000000000
--- a/previews/PR747/examples/06-scatterv/index.html
+++ /dev/null
@@ -1,101 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Scatterv and Gatherv · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../external/">External libraries and packages</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../01-hello/">Hello world</a></li><li><a class="tocitem" href="../02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../03-reduce/">Reduce</a></li><li><a class="tocitem" href="../04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../05-job_schedule/">Job Scheduling</a></li><li class="is-active"><a class="tocitem" href>Scatterv and Gatherv</a></li><li><a class="tocitem" href="../07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../../reference/library/">Library information</a></li><li><a class="tocitem" href="../../reference/environment/">Environment</a></li><li><a class="tocitem" href="../../reference/misc/">Miscellanea</a></li><li><a class="tocitem" href="../../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../../reference/topology/">Topology</a></li><li><a class="tocitem" href="../../reference/io/">I/O</a></li><li><a class="tocitem" href="../../reference/advanced/">Advanced</a></li><li><a class="tocitem" href="../../reference/api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Examples</a></li><li class="is-active"><a href>Scatterv and Gatherv</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Scatterv and Gatherv</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/06-scatterv.jl" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Scatterv-and-Gatherv"><a class="docs-heading-anchor" href="#Scatterv-and-Gatherv">Scatterv and Gatherv</a><a id="Scatterv-and-Gatherv-1"></a><a class="docs-heading-anchor-permalink" href="#Scatterv-and-Gatherv" title="Permalink"></a></h1><pre><code class="language-julia hljs"># examples/06-scatterv.jl
-# This example shows how to use MPI.Scatterv! and MPI.Gatherv!
-# roughly based on the example from
-# https://stackoverflow.com/a/36082684/392585
-
-using MPI
-
-&quot;&quot;&quot;
-    split_count(N::Integer, n::Integer)
-
-Return a vector of `n` integers which are approximately equally sized and sum to `N`.
-&quot;&quot;&quot;
-function split_count(N::Integer, n::Integer)
-    q,r = divrem(N, n)
-    return [i &lt;= r ? q+1 : q for i = 1:n]
-end
-
-
-MPI.Init()
-
-comm = MPI.COMM_WORLD
-rank = MPI.Comm_rank(comm)
-comm_size = MPI.Comm_size(comm)
-
-root = 0
-
-if rank == root
-    M, N = 4, 7
-
-    test = Float64[i for i = 1:M, j = 1:N]
-    output = similar(test)
-    
-    # Julia arrays are stored in column-major order, so we need to split along the last dimension
-    # dimension
-    M_counts = [M for i = 1:comm_size]
-    N_counts = split_count(N, comm_size)
-
-    # store sizes in 2 * comm_size Array
-    sizes = vcat(M_counts&#39;, N_counts&#39;)
-    size_ubuf = UBuffer(sizes, 2)
-
-    # store number of values to send to each rank in comm_size length Vector
-    counts = vec(prod(sizes, dims=1))
-
-    test_vbuf = VBuffer(test, counts) # VBuffer for scatter
-    output_vbuf = VBuffer(output, counts) # VBuffer for gather
-else
-    # these variables can be set to `nothing` on non-root processes
-    size_ubuf = UBuffer(nothing)
-    output_vbuf = test_vbuf = VBuffer(nothing)
-end
-
-if rank == root
-    println(&quot;Original matrix&quot;)
-    println(&quot;================&quot;)
-    @show test sizes counts
-    println()
-    println(&quot;Each rank&quot;)
-    println(&quot;================&quot;)
-end 
-MPI.Barrier(comm)
-
-local_size = MPI.Scatter(size_ubuf, NTuple{2,Int}, root, comm)
-local_test = MPI.Scatterv!(test_vbuf, zeros(Float64, local_size), root, comm)
-
-for i = 0:comm_size-1
-    if rank == i
-        @show rank local_test
-    end
-    MPI.Barrier(comm)
-end
-
-MPI.Gatherv!(local_test, output_vbuf, root, comm)
-
-if rank == root
-    println()
-    println(&quot;Final matrix&quot;)
-    println(&quot;================&quot;)
-    @show output
-end </code></pre><pre><code class="nohighlight hljs">&gt; mpiexecjl -n 4 julia examples/06-scatterv.jl
-Original matrix
-================
-test = [1.0 1.0 1.0 1.0 1.0 1.0 1.0; 2.0 2.0 2.0 2.0 2.0 2.0 2.0; 3.0 3.0 3.0 3.0 3.0 3.0 3.0; 4.0 4.0 4.0 4.0 4.0 4.0 4.0]
-sizes = [4 4 4 4; 2 2 2 1]
-counts = [8, 8, 8, 4]
-
-Each rank
-================
-rank = 0
-local_test = [1.0 1.0; 2.0 2.0; 3.0 3.0; 4.0 4.0]
-rank = 1
-local_test = [1.0 1.0; 2.0 2.0; 3.0 3.0; 4.0 4.0]
-rank = 2
-local_test = [1.0 1.0; 2.0 2.0; 3.0 3.0; 4.0 4.0]
-rank = 3
-local_test = [1.0; 2.0; 3.0; 4.0;;]
-
-Final matrix
-================
-output = [1.0 1.0 1.0 1.0 1.0 1.0 1.0; 2.0 2.0 2.0 2.0 2.0 2.0 2.0; 3.0 3.0 3.0 3.0 3.0 3.0 3.0; 4.0 4.0 4.0 4.0 4.0 4.0 4.0]</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../05-job_schedule/">« Job Scheduling</a><a class="docs-footer-nextpage" href="../07-rma_active/">Active RMA »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Sunday 16 July 2023 20:17">Sunday 16 July 2023</span>. Using Julia version 1.9.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR747/examples/07-rma_active/index.html b/previews/PR747/examples/07-rma_active/index.html
deleted file mode 100644
index fc0485f70..000000000
--- a/previews/PR747/examples/07-rma_active/index.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Active RMA · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../external/">External libraries and packages</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../01-hello/">Hello world</a></li><li><a class="tocitem" href="../02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../03-reduce/">Reduce</a></li><li><a class="tocitem" href="../04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../06-scatterv/">Scatterv and Gatherv</a></li><li class="is-active"><a class="tocitem" href>Active RMA</a></li><li><a class="tocitem" href="../08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../../reference/library/">Library information</a></li><li><a class="tocitem" href="../../reference/environment/">Environment</a></li><li><a class="tocitem" href="../../reference/misc/">Miscellanea</a></li><li><a class="tocitem" href="../../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../../reference/topology/">Topology</a></li><li><a class="tocitem" href="../../reference/io/">I/O</a></li><li><a class="tocitem" href="../../reference/advanced/">Advanced</a></li><li><a class="tocitem" href="../../reference/api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Examples</a></li><li class="is-active"><a href>Active RMA</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Active RMA</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/07-rma_active.jl" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Active-RMA"><a class="docs-heading-anchor" href="#Active-RMA">Active RMA</a><a id="Active-RMA-1"></a><a class="docs-heading-anchor-permalink" href="#Active-RMA" title="Permalink"></a></h1><pre><code class="language-julia hljs"># examples/07-rma_active.jl
-# This example demonstrates one-sided communication,
-# specifically activate Remote Memory Access (RMA)
-
-using MPI
-
-MPI.Init()
-const world_sz = MPI.Comm_size(MPI.COMM_WORLD)
-const rank = MPI.Comm_rank(MPI.COMM_WORLD)
-
-# allocate memory
-all_ranks = fill(-1, world_sz)
-# create RMA window on all ranks
-win = MPI.Win_create(all_ranks, MPI.COMM_WORLD)
-
-#### first, let&#39;s MPI.Put on all ranks
-
-# start the communication epoch
-MPI.Win_fence(0, win)
-# each rank writes to exposed windows of rank 0
-# Signature: obj, target_rank, target_displacement, window
-MPI.Put(rank, 0, rank, win)
-# finish the communication epoch
-MPI.Win_fence(0, win)
-# print window content on all ranks
-for j in 0:world_sz-1
-    if rank == j
-        println(&quot;After Put, Rank $rank:&quot;)
-        @show all_ranks
-    end
-    MPI.Barrier(MPI.COMM_WORLD)
-end
-rank == 0 &amp;&amp; println()
-
-#### now, let&#39;s MPI.Get on all ranks
-
-# start the communication epoch
-MPI.Win_fence(0, win)
-# each rank reads from exposed windows of rank 0
-MPI.Get(all_ranks, 0, win)
-# finish the communication epoch
-MPI.Win_fence(0, win)
-# print window content on all ranks
-for j in 0:world_sz-1
-    if rank == j
-        println(&quot;After Get, Rank $rank:&quot;)
-        @show all_ranks
-    end
-    MPI.Barrier(MPI.COMM_WORLD)
-end
-
-# free window
-MPI.free(win)</code></pre><pre><code class="nohighlight hljs">&gt; mpiexecjl -n 4 julia examples/07-rma_active.jl
-After Put, Rank 0:
-all_ranks = [0, 1, 2, 3]
-After Put, Rank 1:
-all_ranks = [-1, -1, -1, -1]
-After Put, Rank 2:
-all_ranks = [-1, -1, -1, -1]
-After Put, Rank 3:
-all_ranks = [-1, -1, -1, -1]
-
-After Get, Rank 0:
-all_ranks = [0, 1, 2, 3]
-After Get, Rank 1:
-all_ranks = [0, 1, 2, 3]
-After Get, Rank 2:
-all_ranks = [0, 1, 2, 3]
-After Get, Rank 3:
-all_ranks = [0, 1, 2, 3]</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../06-scatterv/">« Scatterv and Gatherv</a><a class="docs-footer-nextpage" href="../08-rma_passive/">Passive RMA »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Sunday 16 July 2023 20:17">Sunday 16 July 2023</span>. Using Julia version 1.9.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR747/examples/08-rma_passive/index.html b/previews/PR747/examples/08-rma_passive/index.html
deleted file mode 100644
index 9fe4804bc..000000000
--- a/previews/PR747/examples/08-rma_passive/index.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Passive RMA · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../external/">External libraries and packages</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../01-hello/">Hello world</a></li><li><a class="tocitem" href="../02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../03-reduce/">Reduce</a></li><li><a class="tocitem" href="../04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../07-rma_active/">Active RMA</a></li><li class="is-active"><a class="tocitem" href>Passive RMA</a></li><li><a class="tocitem" href="../09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../../reference/library/">Library information</a></li><li><a class="tocitem" href="../../reference/environment/">Environment</a></li><li><a class="tocitem" href="../../reference/misc/">Miscellanea</a></li><li><a class="tocitem" href="../../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../../reference/topology/">Topology</a></li><li><a class="tocitem" href="../../reference/io/">I/O</a></li><li><a class="tocitem" href="../../reference/advanced/">Advanced</a></li><li><a class="tocitem" href="../../reference/api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Examples</a></li><li class="is-active"><a href>Passive RMA</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Passive RMA</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/08-rma_passive.jl" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Passive-RMA"><a class="docs-heading-anchor" href="#Passive-RMA">Passive RMA</a><a id="Passive-RMA-1"></a><a class="docs-heading-anchor-permalink" href="#Passive-RMA" title="Permalink"></a></h1><pre><code class="language-julia hljs"># examples/08-rma_passive.jl
-# This example demonstrates one-sided communication,
-# specifically passive Remote Memory Access (RMA)
-
-using MPI
-
-MPI.Init()
-const world_sz = MPI.Comm_size(MPI.COMM_WORLD)
-const rank = MPI.Comm_rank(MPI.COMM_WORLD)
-
-# allocate memory
-all_ranks = fill(-1, world_sz)
-# create RMA window on all ranks
-win = MPI.Win_create(all_ranks, MPI.COMM_WORLD)
-
-# let each rank write its rank number into window
-if rank != 0
-    # lock window (MPI.LOCK_SHARED works as well)
-    MPI.Win_lock(MPI.LOCK_EXCLUSIVE, 0, 0, win)
-    # each rank writes to exposed windows of rank 0
-    # Signature: obj, target_rank, target_displacement, window
-    MPI.Put(rank, 0, rank, win)
-    # finish the communication epoch
-    MPI.Win_unlock(0, win)
-else
-    all_ranks[1] = 0
-end
-
-# wait with printing
-MPI.Win_fence(0, win)
-
-# print window content on all ranks
-if rank == 0
-    println(&quot;After Put with lock / unlock, window content on rank 0:&quot;)
-    @show all_ranks
-end
-
-# free window
-MPI.free(win)</code></pre><pre><code class="nohighlight hljs">&gt; mpiexecjl -n 4 julia examples/08-rma_passive.jl
-After Put with lock / unlock, window content on rank 0:
-all_ranks = [0, 1, 2, 3]</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../07-rma_active/">« Active RMA</a><a class="docs-footer-nextpage" href="../09-graph_communication/">Graph Communication »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Sunday 16 July 2023 20:17">Sunday 16 July 2023</span>. Using Julia version 1.9.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR747/examples/09-graph_communication/index.html b/previews/PR747/examples/09-graph_communication/index.html
deleted file mode 100644
index 378f54693..000000000
--- a/previews/PR747/examples/09-graph_communication/index.html
+++ /dev/null
@@ -1,103 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Graph Communication · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../external/">External libraries and packages</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../01-hello/">Hello world</a></li><li><a class="tocitem" href="../02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../03-reduce/">Reduce</a></li><li><a class="tocitem" href="../04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../08-rma_passive/">Passive RMA</a></li><li class="is-active"><a class="tocitem" href>Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../../reference/library/">Library information</a></li><li><a class="tocitem" href="../../reference/environment/">Environment</a></li><li><a class="tocitem" href="../../reference/misc/">Miscellanea</a></li><li><a class="tocitem" href="../../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../../reference/topology/">Topology</a></li><li><a class="tocitem" href="../../reference/io/">I/O</a></li><li><a class="tocitem" href="../../reference/advanced/">Advanced</a></li><li><a class="tocitem" href="../../reference/api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Examples</a></li><li class="is-active"><a href>Graph Communication</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Graph Communication</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/09-graph_communication.jl" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Graph-Communication"><a class="docs-heading-anchor" href="#Graph-Communication">Graph Communication</a><a id="Graph-Communication-1"></a><a class="docs-heading-anchor-permalink" href="#Graph-Communication" title="Permalink"></a></h1><pre><code class="language-julia hljs"># examples/09-graph_communication.jl
-using Test
-using MPI
-
-MPI.Init()
-
-comm = MPI.COMM_WORLD
-size = MPI.Comm_size(comm)
-rank = MPI.Comm_rank(comm)
-
-#
-# Setup the following communication graph
-#
-#   +-----+
-#   |     |
-#   v     v
-#   0&lt;-+  3
-#   ^  |  ^
-#   |  |  |
-#   v  |  v
-#   1  +--2
-#   ^     |
-#   |     |
-#   +-----+
-#
-#
-
-if rank == 0
-    dest   = Cint[1,3]
-    degree = Cint[length(dest)]
-elseif rank == 1
-    dest   = Cint[0]
-    degree = Cint[length(dest)]
-elseif rank == 2
-    dest   = Cint[3,0,1]
-    degree = Cint[length(dest)]
-elseif rank == 3
-    dest   = Cint[0,2,1]
-    degree = Cint[length(dest)]
-end
-
-source = Cint[rank]
-graph_comm = MPI.Dist_graph_create(comm, source, degree, dest)
-
-# Query number of ranks that point to this rank, and number of ranks this rank point to
-indegree, outdegree, _ = MPI.Dist_graph_neighbors_count(graph_comm)
-
-# Query which ranks that point to this rank, and which ranks this rank point to
-inranks = Vector{Cint}(undef, indegree)
-outranks = Vector{Cint}(undef, outdegree)
-MPI.Dist_graph_neighbors!(graph_comm, inranks, outranks)
-
-#
-# Now send the rank across the edges.
-#
-# Version 1: use allgather primitive
-#
-
-send = Cint[rank]
-recv = Vector{Cint}(undef, indegree)
-
-MPI.Neighbor_allgather!(send, recv, graph_comm);
-
-print(&quot;rank = $(rank): $(recv)\n&quot;)
-
-#
-# Version 2: use alltoall primitive
-#
-
-send = fill(Cint(rank), outdegree)
-recv = Vector{Cint}(undef, indegree)
-
-MPI.Neighbor_alltoall!(UBuffer(send,1), UBuffer(recv,1), graph_comm);
-
-print(&quot;rank = $(rank): $(recv)\n&quot;)
-
-#
-# Now send the this rank &quot;destination rank&quot;+1 times across the edges.
-# Rank i receives i+1 values from each adjacent process
-#
-
-send_count = outranks .+ Cint(1)
-send = fill(Cint(rank), sum(send_count))
-recv_count = fill(Cint(rank + 1), length(inranks))
-recv = Vector{Cint}(undef, sum(recv_count))
-
-MPI.Neighbor_alltoallv!(VBuffer(send,send_count), VBuffer(recv,recv_count), graph_comm);
-print(&quot;rank = $(rank): $(recv)\n&quot;)
-
-MPI.Finalize()</code></pre><pre><code class="nohighlight hljs">&gt; mpiexecjl -n 4 julia examples/09-graph_communication.jl
-rank = 2: Int32[3]
-rank = 1: Int32[2, 3, 0]
-rank = 3: Int32[2, 0]
-rank = 0: Int32[3, 1, 2]
-rank = 2: Int32[3]
-rank = 3: Int32[2, 0]
-rank = 0: Int32[3, 1, 2]
-rank = 1: Int32[2, 3, 0]
-rank = 2: Int32[3, 3, 3]
-rank = 1: Int32[2, 2, 3, 3, 0, 0]
-rank = 0: Int32[3, 1, 2]
-rank = 3: Int32[2, 2, 2, 2, 0, 0, 0, 0]</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../08-rma_passive/">« Passive RMA</a><a class="docs-footer-nextpage" href="../../reference/mpipreferences/">MPIPreferences.jl »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Sunday 16 July 2023 20:17">Sunday 16 July 2023</span>. Using Julia version 1.9.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR747/external/index.html b/previews/PR747/external/index.html
deleted file mode 100644
index ee7b9602f..000000000
--- a/previews/PR747/external/index.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>External libraries and packages · MPI.jl</title><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../"><img src="../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../">MPI.jl</a></span></div><form class="docs-search" action="../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../">MPI.jl</a></li><li><a class="tocitem" href="../configuration/">Configuration</a></li><li><a class="tocitem" href="../usage/">Usage</a></li><li class="is-active"><a class="tocitem" href>External libraries and packages</a><ul class="internal"><li><a class="tocitem" href="#Binary-requirements"><span>Binary requirements</span></a></li><li><a class="tocitem" href="#Passing-MPI-handles-via-ccall"><span>Passing MPI handles via <code>ccall</code></span></a></li><li><a class="tocitem" href="#Object-finalizers-and-MPI.Finalize"><span>Object finalizers and <code>MPI.Finalize</code></span></a></li></ul></li><li><a class="tocitem" href="../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../reference/library/">Library information</a></li><li><a class="tocitem" href="../reference/environment/">Environment</a></li><li><a class="tocitem" href="../reference/misc/">Miscellanea</a></li><li><a class="tocitem" href="../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../reference/topology/">Topology</a></li><li><a class="tocitem" href="../reference/io/">I/O</a></li><li><a class="tocitem" href="../reference/advanced/">Advanced</a></li><li><a class="tocitem" href="../reference/api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>External libraries and packages</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>External libraries and packages</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/external.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="External-libraries-and-packages"><a class="docs-heading-anchor" href="#External-libraries-and-packages">External libraries and packages</a><a id="External-libraries-and-packages-1"></a><a class="docs-heading-anchor-permalink" href="#External-libraries-and-packages" title="Permalink"></a></h1><p>Other libraries and packages may also make use of MPI. There are several concerns to ensure things are set up correctly.</p><h2 id="Binary-requirements"><a class="docs-heading-anchor" href="#Binary-requirements">Binary requirements</a><a id="Binary-requirements-1"></a><a class="docs-heading-anchor-permalink" href="#Binary-requirements" title="Permalink"></a></h2><p>You need to ensure that external libraries are built correctly. In particular, if you are <a href="../configuration/#using_system_mpi">using a system-provided MPI backend</a> in Julia, you also need to use the <em>same</em> system-provided binary for all packages and external libraries you use.</p><h2 id="Passing-MPI-handles-via-ccall"><a class="docs-heading-anchor" href="#Passing-MPI-handles-via-ccall">Passing MPI handles via <code>ccall</code></a><a id="Passing-MPI-handles-via-ccall-1"></a><a class="docs-heading-anchor-permalink" href="#Passing-MPI-handles-via-ccall" title="Permalink"></a></h2><p>When passing MPI.jl handle objects (<a href="../reference/comm/#MPI.Comm"><code>MPI.Comm</code></a>, <a href="../reference/advanced/#MPI.Info"><code>MPI.Info</code></a>, etc) to C/C++ functions <a href="https://docs.julialang.org/en/v1/manual/calling-c-and-fortran-code/">via <code>ccall</code></a>, you should pass the object directly as an argument, and specify the argument type as either the underlying handle type (<code>MPI.MPI_Comm</code>, <code>MPI.MPI_Info</code>, etc.), or a pointer (<code>Ptr{MPI.MPI_Comm}</code>, <code>Ptr{MPI.MPI_Info}</code>, etc.). This will internally handle the unwrapping, but ensure that a reference is kept to avoid premature garbage collection.</p><p>For example the C function signatures</p><pre><code class="language-C hljs">int cfunc1(MPI_Comm comm);
-int cfunc2(MPI_Comm * comm);</code></pre><p>would be called as</p><pre><code class="language-julia hljs">ccall((:cfunc1, lib), Cint, (MPI.MPI_Comm,), comm)
-ccall((:cfunc2, lib), Cint, (Ptr{MPI.MPI_Comm},), comm)</code></pre><h2 id="Object-finalizers-and-MPI.Finalize"><a class="docs-heading-anchor" href="#Object-finalizers-and-MPI.Finalize">Object finalizers and <code>MPI.Finalize</code></a><a id="Object-finalizers-and-MPI.Finalize-1"></a><a class="docs-heading-anchor-permalink" href="#Object-finalizers-and-MPI.Finalize" title="Permalink"></a></h2><p>External libraries may allocate their own MPI handles (e.g., create or duplicate MPI communictors), which need to be cleaned up before MPI is finalized. If these are attached to <a href="https://docs.julialang.org/en/v1/base/base/#Base.finalizer">object finalizers</a>, they may not be guaranteed to be called before <code>MPI.Finalize</code>, which can result in an error upon program exit. (By default, MPI.jl will install an <a href="https://docs.julialang.org/en/v1/base/base/#Base.atexit"><code>atexit</code></a> hook that calls <code>MPI.Finalize</code> if it hasn&#39;t already been invoked.)</p><p>There are two typical solutions to this problem:</p><ol><li><p>Gate the clean up functions behind an <a href="../reference/environment/#MPI.Finalized"><code>MPI.Finalized</code></a> call, e.g.</p><pre><code class="language-julia hljs">finalizer(obj) do obj
-    if !MPI.Finalized
-        # call clean up function
-    end
-end</code></pre></li><li><p>Keep track of all such objects, clean them up via <a href="../reference/environment/#MPI.add_finalize_hook!"><code>MPI.add_finalize_hook!</code></a>, e.g.</p><pre><code class="language-julia hljs">finalizer(obj) do obj
-    # call clean up function
-end
-MPI.add_finalize_hook!(() -&gt; finalize(obj))</code></pre><p>A variant of this is to keep track of all such objects, for example, using a <a href="https://docs.julialang.org/en/v1/base/collections/#Base.WeakKeyDict"><code>WeakKeyDict</code></a>, and use a hook to clean them all:</p><pre><code class="language-julia hljs">const REFS = WeakKeyDict{ObjType, Nothing}()
-MPI.add_finalize_hook!() do
-    for obj in keys(REFS)
-        finalize(obj)
-    end
-end
-
-# for each object `obj`
-finalizer(obj) do obj
-    # call clean up function
-end
-REFS[obj] = nothing</code></pre></li></ol></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../usage/">« Usage</a><a class="docs-footer-nextpage" href="../knownissues/">Known issues »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Sunday 16 July 2023 20:17">Sunday 16 July 2023</span>. Using Julia version 1.9.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR747/index.html b/previews/PR747/index.html
deleted file mode 100644
index 4d598c2ba..000000000
--- a/previews/PR747/index.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>MPI.jl · MPI.jl</title><script data-outdated-warner src="assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="assets/documenter.js"></script><script src="siteinfo.js"></script><script src="../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href><img src="assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href>MPI.jl</a></span></div><form class="docs-search" action="search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li class="is-active"><a class="tocitem" href>MPI.jl</a></li><li><a class="tocitem" href="configuration/">Configuration</a></li><li><a class="tocitem" href="usage/">Usage</a></li><li><a class="tocitem" href="external/">External libraries and packages</a></li><li><a class="tocitem" href="knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="reference/library/">Library information</a></li><li><a class="tocitem" href="reference/environment/">Environment</a></li><li><a class="tocitem" href="reference/misc/">Miscellanea</a></li><li><a class="tocitem" href="reference/comm/">Communicators</a></li><li><a class="tocitem" href="reference/buffers/">Buffers</a></li><li><a class="tocitem" href="reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="reference/collective/">Collective communication</a></li><li><a class="tocitem" href="reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="reference/topology/">Topology</a></li><li><a class="tocitem" href="reference/io/">I/O</a></li><li><a class="tocitem" href="reference/advanced/">Advanced</a></li><li><a class="tocitem" href="reference/api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>MPI.jl</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>MPI.jl</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/index.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="MPI.jl"><a class="docs-heading-anchor" href="#MPI.jl">MPI.jl</a><a id="MPI.jl-1"></a><a class="docs-heading-anchor-permalink" href="#MPI.jl" title="Permalink"></a></h1><p>This is a basic <a href="http://julialang.org/">Julia</a> wrapper for the portable message passing system Message Passing Interface (<a href="http://www.mpi-forum.org/">MPI</a>). Inspiration is taken from <a href="http://mpi4py.scipy.org">mpi4py</a>, although we generally follow the C and not the C++ MPI API. (The C++ MPI API is deprecated.)</p><p>If you use MPI.jl in your work, please cite the following paper:</p><blockquote><p>Simon Byrne, Lucas C. Wilcox, and Valentin Churavy (2021) &quot;MPI.jl: Julia bindings for the Message Passing Interface&quot;. <em>JuliaCon Proceedings</em>, 1(1), 68, doi: <a href="https://doi.org/10.21105/jcon.00068">10.21105/jcon.00068</a></p></blockquote></article><nav class="docs-footer"><a class="docs-footer-nextpage" href="configuration/">Configuration »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Sunday 16 July 2023 20:17">Sunday 16 July 2023</span>. Using Julia version 1.9.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR747/knownissues/index.html b/previews/PR747/knownissues/index.html
deleted file mode 100644
index a6ecf979f..000000000
--- a/previews/PR747/knownissues/index.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Known issues · MPI.jl</title><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../"><img src="../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../">MPI.jl</a></span></div><form class="docs-search" action="../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../">MPI.jl</a></li><li><a class="tocitem" href="../configuration/">Configuration</a></li><li><a class="tocitem" href="../usage/">Usage</a></li><li><a class="tocitem" href="../external/">External libraries and packages</a></li><li class="is-active"><a class="tocitem" href>Known issues</a><ul class="internal"><li><a class="tocitem" href="#Julia-module-precompilation"><span>Julia module precompilation</span></a></li><li><a class="tocitem" href="#Open-MPI"><span>Open MPI</span></a></li><li><a class="tocitem" href="#UCX"><span>UCX</span></a></li><li><a class="tocitem" href="#CUDA-aware-MPI"><span>CUDA-aware MPI</span></a></li><li><a class="tocitem" href="#ROCm-aware-MPI"><span>ROCm-aware MPI</span></a></li><li><a class="tocitem" href="#Custom-reduction-operators"><span>Custom reduction operators</span></a></li></ul></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../reference/library/">Library information</a></li><li><a class="tocitem" href="../reference/environment/">Environment</a></li><li><a class="tocitem" href="../reference/misc/">Miscellanea</a></li><li><a class="tocitem" href="../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../reference/topology/">Topology</a></li><li><a class="tocitem" href="../reference/io/">I/O</a></li><li><a class="tocitem" href="../reference/advanced/">Advanced</a></li><li><a class="tocitem" href="../reference/api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>Known issues</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Known issues</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/knownissues.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Known-issues"><a class="docs-heading-anchor" href="#Known-issues">Known issues</a><a id="Known-issues-1"></a><a class="docs-heading-anchor-permalink" href="#Known-issues" title="Permalink"></a></h1><h2 id="Julia-module-precompilation"><a class="docs-heading-anchor" href="#Julia-module-precompilation">Julia module precompilation</a><a id="Julia-module-precompilation-1"></a><a class="docs-heading-anchor-permalink" href="#Julia-module-precompilation" title="Permalink"></a></h2><p>If multiple MPI ranks trigger Julia&#39;s module precompilation, then a race condition can result in an error such as:</p><pre><code class="nohighlight hljs">ERROR: LoadError: IOError: mkdir: file already exists (EEXIST)
-Stacktrace:
- [1] uv_error at ./libuv.jl:97 [inlined]
- [2] mkdir(::String; mode::UInt16) at ./file.jl:177
- [3] mkpath(::String; mode::UInt16) at ./file.jl:227
- [4] mkpath at ./file.jl:222 [inlined]
- [5] compilecache_path(::Base.PkgId) at ./loading.jl:1210
- [6] compilecache(::Base.PkgId, ::String) at ./loading.jl:1240
- [7] _require(::Base.PkgId) at ./loading.jl:1029
- [8] require(::Base.PkgId) at ./loading.jl:927
- [9] require(::Module, ::Symbol) at ./loading.jl:922
- [10] include(::Module, ::String) at ./Base.jl:377
- [11] exec_options(::Base.JLOptions) at ./client.jl:288
- [12] _start() at ./client.jl:484</code></pre><p>See <a href="https://github.com/JuliaLang/julia/pull/30174">julia issue #30174</a> for more discussion of this problem. There are similar issues with Pkg operations, see <a href="https://github.com/JuliaLang/Pkg.jl/issues/1219">Pkg issue #1219</a>.</p><p>This can be worked around be either:</p><ol><li><p>Triggering precompilation before launching MPI processes, for example:</p><pre><code class="nohighlight hljs">julia --project -e &#39;using Pkg; pkg&quot;instantiate&quot;&#39;
-julia --project -e &#39;using Pkg; pkg&quot;precompile&quot;&#39;
-mpiexec julia --project script.jl</code></pre></li><li><p>Launching julia with the  <code>--compiled-modules=no</code> option. This can result in much longer package load times.</p></li></ol><h2 id="Open-MPI"><a class="docs-heading-anchor" href="#Open-MPI">Open MPI</a><a id="Open-MPI-1"></a><a class="docs-heading-anchor-permalink" href="#Open-MPI" title="Permalink"></a></h2><h3 id="Segmentation-fault-when-loading-the-library"><a class="docs-heading-anchor" href="#Segmentation-fault-when-loading-the-library">Segmentation fault when loading the library</a><a id="Segmentation-fault-when-loading-the-library-1"></a><a class="docs-heading-anchor-permalink" href="#Segmentation-fault-when-loading-the-library" title="Permalink"></a></h3><p>When attempting to use a system-provided Open MPI implementation, you may encounter a segmentation fault upon loading the library, or whenever the value of an environment variable is requested. This can be fixed by setting the environment variable <code>ZES_ENABLE_SYSMAN=1</code>. See <a href="https://github.com/open-mpi/ompi/issues/10142">Open MPI issue #10142</a> for more details.</p><h3 id="Segmentation-fault-in-HCOLL"><a class="docs-heading-anchor" href="#Segmentation-fault-in-HCOLL">Segmentation fault in HCOLL</a><a id="Segmentation-fault-in-HCOLL-1"></a><a class="docs-heading-anchor-permalink" href="#Segmentation-fault-in-HCOLL" title="Permalink"></a></h3><p>If Open MPI was built with support for HCOLL, you may encounter a segmentation fault in certain operations involving custom datatypes. The stacktrace may look something like</p><pre><code class="nohighlight hljs">hcoll_create_mpi_type at /opt/mellanox/hcoll/lib/libhcoll.so.1 (unknown line)
-ompi_dtype_2_hcoll_dtype at /lustre/software/openmpi/llvm14/4.1.4/lib/openmpi/mca_coll_hcoll.so (unknown line)
-mca_coll_hcoll_allgather at /lustre/software/openmpi/llvm14/4.1.4/lib/openmpi/mca_coll_hcoll.so (unknown line)
-MPI_Allgather at /lustre/software/openmpi/llvm14/4.1.4/lib/libmpi.so (unknown line)</code></pre><p>This is due to a bug in HCOLL, see <a href="https://github.com/open-mpi/ompi/issues/11201">Open MPI issue #11201</a> for more details. You can disable HCOLL by exporting the environment variable</p><pre><code class="language-sh hljs">export OMPI_MCA_coll_hcoll_enable=&quot;0&quot;</code></pre><p>before starting the MPI process.</p><h2 id="UCX"><a class="docs-heading-anchor" href="#UCX">UCX</a><a id="UCX-1"></a><a class="docs-heading-anchor-permalink" href="#UCX" title="Permalink"></a></h2><p><a href="https://www.openucx.org/">UCX</a> is a communication framework used by several MPI implementations.</p><h3 id="Memory-cache"><a class="docs-heading-anchor" href="#Memory-cache">Memory cache</a><a id="Memory-cache-1"></a><a class="docs-heading-anchor-permalink" href="#Memory-cache" title="Permalink"></a></h3><p>When used with CUDA, UCX intercepts <code>cudaMalloc</code> so it can determine whether the pointer passed to MPI is on the host (main memory) or the device (GPU). Unfortunately, there are several known issues with how this works with Julia:</p><ul><li><a href="https://github.com/openucx/ucx/issues/5061">UCX issue #5061</a></li><li><a href="https://github.com/openucx/ucx/issues/4001">UCX issue #4001</a> (fixed in UCX v1.7.0)</li></ul><p>By default, MPI.jl disables this by setting</p><pre><code class="nohighlight hljs">ENV[&quot;UCX_MEMTYPE_CACHE&quot;] = &quot;no&quot;</code></pre><p>at <code>__init__</code> which may result in reduced performance, especially for smaller messages.</p><h3 id="Multi-threading-and-signal-handling"><a class="docs-heading-anchor" href="#Multi-threading-and-signal-handling">Multi-threading and signal handling</a><a id="Multi-threading-and-signal-handling-1"></a><a class="docs-heading-anchor-permalink" href="#Multi-threading-and-signal-handling" title="Permalink"></a></h3><p>When using <a href="https://docs.julialang.org/en/v1/manual/parallel-computing/#man-multithreading-1">Julia multi-threading</a>, the Julia garbage collector internally <a href="https://docs.julialang.org/en/v1/devdocs/debuggingtips/#Dealing-with-signals-1">uses <code>SIGSEGV</code> to synchronize threads</a>.</p><p>By default, UCX will error if this signal is raised (<a href="https://github.com/JuliaParallel/MPI.jl/issues/337">#337</a>), resulting in a message such as:</p><pre><code class="nohighlight hljs">Caught signal 11 (Segmentation fault: invalid permissions for mapped object at address 0xXXXXXXXX)</code></pre><p>This signal interception can be controlled by setting the environment variable <code>UCX_ERROR_SIGNALS</code>: if not already defined, MPI.jl will set it as:</p><pre><code class="nohighlight hljs">ENV[&quot;UCX_ERROR_SIGNALS&quot;] = &quot;SIGILL,SIGBUS,SIGFPE&quot;</code></pre><p>at <code>__init__</code>. If set externally, it should be modified to exclude <code>SIGSEGV</code> from the list.</p><h2 id="CUDA-aware-MPI"><a class="docs-heading-anchor" href="#CUDA-aware-MPI">CUDA-aware MPI</a><a id="CUDA-aware-MPI-1"></a><a class="docs-heading-anchor-permalink" href="#CUDA-aware-MPI" title="Permalink"></a></h2><h3 id="Memory-pool"><a class="docs-heading-anchor" href="#Memory-pool">Memory pool</a><a id="Memory-pool-1"></a><a class="docs-heading-anchor-permalink" href="#Memory-pool" title="Permalink"></a></h3><p>Using CUDA-aware MPI on multi-GPU nodes with recent CUDA.jl may trigger (see <a href="https://github.com/JuliaGPU/CUDA.jl/issues/1053#issue-946826096">here</a>)</p><pre><code class="nohighlight hljs">The call to cuIpcGetMemHandle failed. This means the GPU RDMA protocol
-cannot be used.
-  cuIpcGetMemHandle return value:   1</code></pre><p>in the MPI layer, or fail on a segmentation fault (see <a href="https://discourse.julialang.org/t/cuda-aware-mpi-works-on-system-but-not-for-julia/75060">here</a>) with</p><pre><code class="nohighlight hljs">[1642930332.032032] [gcn19:4087661:0] gdr_copy_md.c:122 UCX ERROR gdr_pin_buffer failed. length :65536 ret:22</code></pre><p>This is due to the MPI implementation using legacy <code>cuIpc*</code> APIs, which are incompatible with stream-ordered allocator, now default in CUDA.jl, see <a href="https://github.com/openucx/ucx/issues/7110">UCX issue #7110</a>.</p><p>To circumvent this, one has to ensure the CUDA memory pool to be set to <code>none</code>:</p><pre><code class="nohighlight hljs">export JULIA_CUDA_MEMORY_POOL=none</code></pre><p><em>More about CUDA.jl <a href="https://cuda.juliagpu.org/stable/usage/memory/#Memory-pool">memory environment-variables</a>.</em></p><h3 id="Hints-to-ensure-CUDA-aware-MPI-to-be-functional"><a class="docs-heading-anchor" href="#Hints-to-ensure-CUDA-aware-MPI-to-be-functional">Hints to ensure CUDA-aware MPI to be functional</a><a id="Hints-to-ensure-CUDA-aware-MPI-to-be-functional-1"></a><a class="docs-heading-anchor-permalink" href="#Hints-to-ensure-CUDA-aware-MPI-to-be-functional" title="Permalink"></a></h3><p>Make sure to:</p><ul><li>Have MPI and CUDA on path (or module loaded) that were used to build the CUDA-aware MPI</li><li>Set the following environment variables:   <code>export JULIA_CUDA_MEMORY_POOL=none   export JULIA_CUDA_USE_BINARYBUILDER=false</code></li><li>Add CUDA, MPIPreferences, and MPI packages in Julia. Switch to using the system binary<pre><code class="nohighlight hljs">julia --project -e &#39;using Pkg; Pkg.add([&quot;CUDA&quot;, &quot;MPIPreferences&quot;, &quot;MPI&quot;]); using MPIPreferences; MPIPreferences.use_system_binary()&#39;</code></pre></li><li>Then in Julia, upon loading MPI and CUDA modules, you can check<ul><li>CUDA version: <code>CUDA.versioninfo()</code></li><li>If MPI has CUDA: <code>MPI.has_cuda()</code></li><li>If you are using correct MPI library: <code>MPI.libmpi</code></li></ul></li></ul><p>After that, it may be preferred to run the Julia MPI script (as suggested <a href="https://discourse.julialang.org/t/cuda-aware-mpi-works-on-system-but-not-for-julia/75060/11">here</a>) launching it from a shell script (as suggested <a href="https://discourse.julialang.org/t/cuda-aware-mpi-works-on-system-but-not-for-julia/75060/4">here</a>).</p><h2 id="ROCm-aware-MPI"><a class="docs-heading-anchor" href="#ROCm-aware-MPI">ROCm-aware MPI</a><a id="ROCm-aware-MPI-1"></a><a class="docs-heading-anchor-permalink" href="#ROCm-aware-MPI" title="Permalink"></a></h2><h3 id="Hints-to-ensure-ROCm-aware-MPI-to-be-functional"><a class="docs-heading-anchor" href="#Hints-to-ensure-ROCm-aware-MPI-to-be-functional">Hints to ensure ROCm-aware MPI to be functional</a><a id="Hints-to-ensure-ROCm-aware-MPI-to-be-functional-1"></a><a class="docs-heading-anchor-permalink" href="#Hints-to-ensure-ROCm-aware-MPI-to-be-functional" title="Permalink"></a></h3><p>Make sure to:</p><ul><li>Have MPI and ROCm on path (or module loaded) that were used to build the ROCm-aware MPI</li><li>Add AMDGPU, MPIPreferences, and MPI packages in Julia:<pre><code class="nohighlight hljs">julia --project -e &#39;using Pkg; Pkg.add([&quot;AMDGPU&quot;, &quot;MPIPreferences&quot;, &quot;MPI&quot;]); using MPIPreferences; MPIPreferences.use_system_binary()&#39;</code></pre></li><li>Then in Julia, upon loading MPI and CUDA modules, you can check<ul><li>AMDGPU version: <code>AMDGPU.versioninfo()</code></li><li>If you are using correct MPI implementation: <code>MPI.identify_implementation()</code></li></ul></li></ul><p>After that, <a href="https://gist.github.com/luraess/c228ec08629737888a18c6a1e397643c">this script</a> can be used to verify if ROCm-aware MPI is functional (modified after the CUDA-aware version from <a href="https://discourse.julialang.org/t/cuda-aware-mpi-works-on-system-but-not-for-julia/75060/11">here</a>). It may be preferred to run the Julia ROCm-aware MPI script launching it from a shell script (as suggested <a href="https://discourse.julialang.org/t/cuda-aware-mpi-works-on-system-but-not-for-julia/75060/4">here</a>).</p><h2 id="Custom-reduction-operators"><a class="docs-heading-anchor" href="#Custom-reduction-operators">Custom reduction operators</a><a id="Custom-reduction-operators-1"></a><a class="docs-heading-anchor-permalink" href="#Custom-reduction-operators" title="Permalink"></a></h2><p>It is not possible to use custom reduction operators <a href="https://github.com/JuliaParallel/MPI.jl/issues/246">with 32-bit Microsoft MPI</a> on Windows and on <a href="https://github.com/JuliaParallel/MPI.jl/issues/404">ARM CPUs</a> with any operating system. These issues are due to due how custom operators are currently implemented in MPI.jl, that is by using <a href="https://docs.julialang.org/en/v1/manual/calling-c-and-fortran-code/index.html#Closure-cfunctions">closure cfunctions</a>. However they have two limitations:</p><ul><li><a href="https://docs.julialang.org/en/v1/manual/calling-c-and-fortran-code/index.html#Creating-C-Compatible-Julia-Function-Pointers-1">Julia&#39;s C-compatible function pointers</a> cannot be used where the <code>stdcall</code> calling convention is expected, which is the case for 32-bit Microsoft MPI,</li><li>closure cfunctions in Julia are based on LLVM trampolines, which are not supported on ARM architecture.</li></ul></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../external/">« External libraries and packages</a><a class="docs-footer-nextpage" href="../examples/01-hello/">Hello world »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Sunday 16 July 2023 20:17">Sunday 16 July 2023</span>. Using Julia version 1.9.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR747/reference/advanced/index.html b/previews/PR747/reference/advanced/index.html
deleted file mode 100644
index 21c1c5f75..000000000
--- a/previews/PR747/reference/advanced/index.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Advanced · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../external/">External libraries and packages</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../library/">Library information</a></li><li><a class="tocitem" href="../environment/">Environment</a></li><li><a class="tocitem" href="../misc/">Miscellanea</a></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li class="is-active"><a class="tocitem" href>Advanced</a><ul class="internal"><li><a class="tocitem" href="#Object-handling"><span>Object handling</span></a></li><li><a class="tocitem" href="#Datatype-objects"><span>Datatype objects</span></a></li><li><a class="tocitem" href="#Operator-objects"><span>Operator objects</span></a></li><li><a class="tocitem" href="#Info-objects"><span>Info objects</span></a></li><li><a class="tocitem" href="#Error-handler-objects"><span>Error handler objects</span></a></li><li><a class="tocitem" href="#Miscellaneous"><span>Miscellaneous</span></a></li></ul></li><li><a class="tocitem" href="../api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>Advanced</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Advanced</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/advanced.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Advanced"><a class="docs-heading-anchor" href="#Advanced">Advanced</a><a id="Advanced-1"></a><a class="docs-heading-anchor-permalink" href="#Advanced" title="Permalink"></a></h1><h2 id="Object-handling"><a class="docs-heading-anchor" href="#Object-handling">Object handling</a><a id="Object-handling-1"></a><a class="docs-heading-anchor-permalink" href="#Object-handling" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.free" href="#MPI.free"><code>MPI.free</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.free(obj)</code></pre><p>Free the MPI object handle <code>obj</code>. This is typically used as the finalizer, and so need not be called directly unless otherwise noted.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/environment.jl#L35-L39">source</a></section></article><h2 id="Datatype-objects"><a class="docs-heading-anchor" href="#Datatype-objects">Datatype objects</a><a id="Datatype-objects-1"></a><a class="docs-heading-anchor-permalink" href="#Datatype-objects" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Datatype" href="#MPI.Datatype"><code>MPI.Datatype</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">Datatype</code></pre><p>A <code>Datatype</code> represents the layout of the data in memory.</p><p><strong>Usage</strong></p><pre><code class="nohighlight hljs">Datatype(T)</code></pre><p>Either return the predefined <code>Datatype</code> corresponding to <code>T</code>, or create a new <code>Datatype</code> for the Julia type <code>T</code>, calling <a href="#MPI.Types.commit!"><code>Types.commit!</code></a> so that it can be used for communication operations.</p><p>Note that this can only be called on types for which <code>isbitstype(T)</code> is <code>true</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/datatypes.jl#L1-L15">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.to_type" href="#MPI.to_type"><code>MPI.to_type</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">to_type(datatype::Datatype)</code></pre><p>Return the Julia type corresponding to the MPI <a href="#MPI.Datatype"><code>Datatype</code></a> <code>datatype</code>, or <code>nothing</code> if it doesn&#39;t correspond directly.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/datatypes.jl#L73-L78">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Types.extent" href="#MPI.Types.extent"><code>MPI.Types.extent</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">lb, extent = MPI.Types.extent(dt::MPI.Datatype)</code></pre><p>Gets the lowerbound <code>lb</code> and the extent <code>extent</code> in bytes.</p><p><strong>External links</strong></p><ul><li><code>MPI_Type_get_extent</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_get_extent.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_get_extent.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/datatypes.jl#L195-L202">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Types.create_contiguous" href="#MPI.Types.create_contiguous"><code>MPI.Types.create_contiguous</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.Types.create_contiguous(count::Integer, oldtype::MPI.Datatype)</code></pre><p>Create a derived <a href="#MPI.Datatype"><code>Datatype</code></a> that replicates <code>oldtype</code> into <code>count</code> contiguous locations.</p><p>Note that <a href="#MPI.Types.commit!"><code>MPI.Types.commit!</code></a> must be used before the datatype can be used for communication.</p><p><strong>External links</strong></p><ul><li><code>MPI_Type_contiguous</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_contiguous.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_contiguous.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/datatypes.jl#L212-L222">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Types.create_vector" href="#MPI.Types.create_vector"><code>MPI.Types.create_vector</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.Types.create_vector(count::Integer, blocklength::Integer, stride::Integer, oldtype::MPI.Datatype)</code></pre><p>Create a derived <a href="#MPI.Datatype"><code>Datatype</code></a> that replicates <code>oldtype</code> into locations that consist of equally spaced blocks.</p><p>Note that <a href="#MPI.Types.commit!"><code>MPI.Types.commit!</code></a> must be used before the datatype can be used for communication.</p><p><strong>Example</strong></p><pre><code class="language-julia hljs">datatype = MPI.Types.create_vector(3, 2, 5, MPI.Datatype(Int64))
-MPI.Types.commit!(datatype)</code></pre><p>will create a datatype with the following layout</p><pre><code class="nohighlight hljs">|&lt;-----&gt;|  block length
-
-+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
-| X | X |   |   |   | X | X |   |   |   | X | X |   |   |   |
-+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
-
-|&lt;---- stride -----&gt;|</code></pre><p>where each segment represents an <code>Int64</code>.</p><p>(image by Jonathan Dursi, <a href="https://stackoverflow.com/a/10788351/392585">https://stackoverflow.com/a/10788351/392585</a>)</p><p><strong>External links</strong></p><ul><li><code>MPI_Type_vector</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_vector.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_vector.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/datatypes.jl#L234-L265">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Types.create_hvector" href="#MPI.Types.create_hvector"><code>MPI.Types.create_hvector</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.Types.create_hvector(count::Integer, blocklength::Integer, stride::Integer, oldtype::MPI.Datatype)</code></pre><p>Create a derived <a href="#MPI.Datatype"><code>Datatype</code></a> that replicates <code>oldtype</code> into locations that consist of equally spaced (bytes) blocks.</p><p>Note that <a href="#MPI.Types.commit!"><code>MPI.Types.commit!</code></a> must be used before the datatype can be used for communication.</p><p><strong>Example</strong></p><pre><code class="language-julia hljs">datatype = MPI.Types.create_hvector(3, 2, 5, MPI.Datatype(Int64))
-MPI.Types.commit!(datatype)</code></pre><p><strong>External links</strong></p><ul><li><code>MPI_Type_create_hvector</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_hvector.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_hvector.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/datatypes.jl#L276-L294">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Types.create_subarray" href="#MPI.Types.create_subarray"><code>MPI.Types.create_subarray</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.Types.create_subarray(sizes, subsizes, offset, oldtype::Datatype;
-                          rowmajor=false)</code></pre><p>Creates a derived <a href="#MPI.Datatype"><code>Datatype</code></a> describing an <code>N</code>-dimensional subarray of size <code>subsizes</code> of an <code>N</code>-dimensional array of size <code>sizes</code> and element type <code>oldtype</code>, with the first element offset by <code>offset</code> (i.e. the 0-based index of the first element).</p><p>Column-major indexing (used by Julia and Fortran) is assumed; use the keyword <code>rowmajor=true</code> to specify row-major layout (used by C and numpy).</p><p>Note that <a href="#MPI.Types.commit!"><code>MPI.Types.commit!</code></a> must be used before the datatype can be used for communication.</p><p><strong>External links</strong></p><ul><li><code>MPI_Type_create_subarray</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_subarray.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_subarray.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/datatypes.jl#L305-L321">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Types.create_struct" href="#MPI.Types.create_struct"><code>MPI.Types.create_struct</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.Types.create_struct(blocklengths, displacements, types)</code></pre><p>Creates a derived <a href="#MPI.Datatype"><code>Datatype</code></a> describing a struct layout.</p><p>Note that <a href="#MPI.Types.commit!"><code>MPI.Types.commit!</code></a> must be used before the datatype can be used for communication.</p><p><strong>External links</strong></p><ul><li><code>MPI_Type_create_struct</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_struct.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_struct.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/datatypes.jl#L345-L355">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Types.create_resized" href="#MPI.Types.create_resized"><code>MPI.Types.create_resized</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.Types.create_resized(oldtype::Datatype, lb::Integer, extent::Integer)</code></pre><p>Creates a new <a href="#MPI.Datatype"><code>Datatype</code></a> that is identical to <code>oldtype</code>, except that the lower bound of this new datatype is set to be <code>lb</code>, and its upper bound is set to be <code>lb + extent</code>.</p><p>Note that <a href="#MPI.Types.commit!"><code>MPI.Types.commit!</code></a> must be used before the datatype can be used for communication.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Types.extent"><code>MPI.Types.extent</code></a></li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Type_create_resized</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_resized.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_resized.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/datatypes.jl#L377-L392">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Types.commit!" href="#MPI.Types.commit!"><code>MPI.Types.commit!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.Types.commit!(newtype::Datatype)</code></pre><p>Commits the <a href="#MPI.Datatype"><code>Datatype</code></a> <code>newtype</code> so that it can be used for communication. Returns <code>newtype</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Type_commit</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_commit.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_commit.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/datatypes.jl#L418-L426">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Types.duplicate" href="#MPI.Types.duplicate"><code>MPI.Types.duplicate</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.Types.duplicate(oldtype::Datatype)</code></pre><p>Duplicates the datatype <code>oldtype</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Type_dup</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_dup.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_dup.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/datatypes.jl#L408-L415">source</a></section></article><h2 id="Operator-objects"><a class="docs-heading-anchor" href="#Operator-objects">Operator objects</a><a id="Operator-objects-1"></a><a class="docs-heading-anchor-permalink" href="#Operator-objects" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Op" href="#MPI.Op"><code>MPI.Op</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">Op</code></pre><p>An MPI reduction operator, for use with <a href="../collective/#Reduce/Scan">Reduce/Scan collective operations</a> to wrap binary operators. MPI.jl will perform this conversion automatically.</p><p><strong>Usage</strong></p><pre><code class="nohighlight hljs">Op(op, T=Any; iscommutative=false)</code></pre><p>Wrap the Julia reduction function <code>op</code> for arguments of type <code>T</code>. <code>op</code> is assumed to be associative, and if <code>iscommutative</code> is true, assumed to be commutative as well.</p><p><strong>See also</strong></p><ul><li><a href="../collective/#MPI.Reduce!"><code>Reduce!</code></a>/<a href="../collective/#MPI.Reduce"><code>Reduce</code></a></li><li><a href="../collective/#MPI.Allreduce!"><code>Allreduce!</code></a>/<a href="../collective/#MPI.Allreduce"><code>Allreduce</code></a></li><li><a href="../collective/#MPI.Scan!"><code>Scan!</code></a>/<a href="../collective/#MPI.Scan"><code>Scan</code></a></li><li><a href="../collective/#MPI.Exscan!"><code>Exscan!</code></a>/<a href="../collective/#MPI.Exscan"><code>Exscan</code></a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/operators.jl#L1-L19">source</a></section></article><h2 id="Info-objects"><a class="docs-heading-anchor" href="#Info-objects">Info objects</a><a id="Info-objects-1"></a><a class="docs-heading-anchor-permalink" href="#Info-objects" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Info" href="#MPI.Info"><code>MPI.Info</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">Info &lt;: AbstractDict{Symbol,String}</code></pre><p><code>MPI.Info</code> objects store key-value pairs, and are typically used for passing optional arguments to MPI functions.</p><p><strong>Usage</strong></p><p>These will typically be hidden from user-facing APIs by splatting keywords, e.g.</p><pre><code class="language-julia hljs">function f(args...; kwargs...)
-    info = Info(kwargs...)
-    # pass `info` object to `ccall`
-end</code></pre><p>For manual usage, <code>Info</code> objects act like Julia <code>Dict</code> objects:</p><pre><code class="language-julia hljs">info = Info(init=true) # keyword argument is required
-info[key] = value
-x = info[key]
-delete!(info, key)</code></pre><p>If <code>init=false</code> is used in the costructor (the default), a &quot;null&quot; <code>Info</code> object will be returned: no keys can be added to such an object.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/info.jl#L1-L27">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.infoval" href="#MPI.infoval"><code>MPI.infoval</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">infoval(x)</code></pre><p>Convert Julia object <code>x</code> to a string representation for storing in an <a href="#MPI.Info"><code>Info</code></a> object.</p><p>The MPI specification allows passing strings, Boolean values, integers, and lists.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/info.jl#L65-L71">source</a></section></article><h2 id="Error-handler-objects"><a class="docs-heading-anchor" href="#Error-handler-objects">Error handler objects</a><a id="Error-handler-objects-1"></a><a class="docs-heading-anchor-permalink" href="#Error-handler-objects" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Errhandler" href="#MPI.Errhandler"><code>MPI.Errhandler</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.Errhandler</code></pre><p>An MPI error handler object. Currently only two are supported:</p><ul><li><code>ERRORS_ARE_FATAL</code> (default): program will immediately abort</li><li><code>ERRORS_RETURN</code>: program will throw an <code>MPIError</code>.</li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/errhandler.jl#L1-L8">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.get_errorhandler" href="#MPI.get_errorhandler"><code>MPI.get_errorhandler</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.get_errorhandler(comm::MPI.Comm)
-MPI.get_errorhandler(win::MPI.Win)
-MPI.get_errorhandler(file::MPI.File.FileHandle)</code></pre><p>Get the current <a href="#MPI.Errhandler"><code>Errhandler</code></a> for the relevant MPI object.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.set_errorhandler!"><code>set_errorhandler!</code></a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/errhandler.jl#L39-L48">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.set_errorhandler!" href="#MPI.set_errorhandler!"><code>MPI.set_errorhandler!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.set_errorhandler!(comm::MPI.Comm, errh::Errhandler)
-MPI.set_errorhandler!(win::MPI.Win, errh::Errhandler)
-MPI.set_errorhandler!(file::MPI.File.FileHandle, errh::Errhandler)</code></pre><p>Set the <a href="#MPI.Errhandler"><code>Errhandler</code></a> for the relevant MPI object.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.get_errorhandler"><code>get_errorhandler</code></a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/errhandler.jl#L65-L74">source</a></section></article><h2 id="Miscellaneous"><a class="docs-heading-anchor" href="#Miscellaneous">Miscellaneous</a><a id="Miscellaneous-1"></a><a class="docs-heading-anchor-permalink" href="#Miscellaneous" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.API.@const_ref" href="#MPI.API.@const_ref"><code>MPI.API.@const_ref</code></a> — <span class="docstring-category">Macro</span></header><section><div><pre><code class="language-julia hljs">@const_ref name T expr</code></pre><p>Defines an constant binding</p><pre><code class="language-julia hljs">const name = Ref{T}()</code></pre><p>and adds a hook to execute</p><pre><code class="language-julia hljs">name[] = expr</code></pre><p>at module initialization time.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/api.jl#L33-L45">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../io/">« I/O</a><a class="docs-footer-nextpage" href="../api/">Low-level API »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Sunday 16 July 2023 20:17">Sunday 16 July 2023</span>. Using Julia version 1.9.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR747/reference/api/index.html b/previews/PR747/reference/api/index.html
deleted file mode 100644
index fd87d95b0..000000000
--- a/previews/PR747/reference/api/index.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Low-level API · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../external/">External libraries and packages</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../library/">Library information</a></li><li><a class="tocitem" href="../environment/">Environment</a></li><li><a class="tocitem" href="../misc/">Miscellanea</a></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../advanced/">Advanced</a></li><li class="is-active"><a class="tocitem" href>Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>Low-level API</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Low-level API</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/api.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Low-level-API"><a class="docs-heading-anchor" href="#Low-level-API">Low-level API</a><a id="Low-level-API-1"></a><a class="docs-heading-anchor-permalink" href="#Low-level-API" title="Permalink"></a></h1><p>The <code>MPI.API</code> submodule provides a low-level interface which closely matches the MPI C API. While these functions are not intended for general usage, they are useful for calling MPI routines not yet available in <code>MPI.jl</code> main interface, and is the basis for the high-level wrappers. The methods suffixed with <code>_c</code> allow <code>MPI_count</code> typed arguments (vs <code>int</code> for the standard ones). The size of <code>MPI_count</code> depends on the implementation, but usually allows <code>64bit</code> integer offsets.</p><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Abort-Tuple{Any, Any}" href="#MPI.API.MPI_Abort-Tuple{Any, Any}"><code>MPI.API.MPI_Abort</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Abort(comm, errorcode)</code></pre><ul><li><code>MPI_Abort</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Abort.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Abort.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1848-L1852">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Accumulate-NTuple{9, Any}" href="#MPI.API.MPI_Accumulate-NTuple{9, Any}"><code>MPI.API.MPI_Accumulate</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Accumulate(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win)</code></pre><ul><li><code>MPI_Accumulate</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Accumulate.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Accumulate.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2433-L2437">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Accumulate_c-NTuple{9, Any}" href="#MPI.API.MPI_Accumulate_c-NTuple{9, Any}"><code>MPI.API.MPI_Accumulate_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Accumulate_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win)</code></pre><ul><li><code>MPI_Accumulate_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Accumulate_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Accumulate_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4107-L4111">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Add_error_class-Tuple{Any}" href="#MPI.API.MPI_Add_error_class-Tuple{Any}"><code>MPI.API.MPI_Add_error_class</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Add_error_class(errorclass)</code></pre><ul><li><code>MPI_Add_error_class</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Add_error_class.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Add_error_class.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1452-L1456">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Add_error_code-Tuple{Any, Any}" href="#MPI.API.MPI_Add_error_code-Tuple{Any, Any}"><code>MPI.API.MPI_Add_error_code</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Add_error_code(errorclass, errorcode)</code></pre><ul><li><code>MPI_Add_error_code</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Add_error_code.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Add_error_code.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1461-L1465">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Add_error_string-Tuple{Any, Any}" href="#MPI.API.MPI_Add_error_string-Tuple{Any, Any}"><code>MPI.API.MPI_Add_error_string</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Add_error_string(errorcode, string)</code></pre><ul><li><code>MPI_Add_error_string</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Add_error_string.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Add_error_string.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1470-L1474">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Address-Tuple{Any, Any}" href="#MPI.API.MPI_Address-Tuple{Any, Any}"><code>MPI.API.MPI_Address</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Address(location, address)</code></pre><ul><li><code>MPI_Address</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Address.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Address.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1389-L1393">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Aint_add-Tuple{Any, Any}" href="#MPI.API.MPI_Aint_add-Tuple{Any, Any}"><code>MPI.API.MPI_Aint_add</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Aint_add(base, disp)</code></pre><ul><li><code>MPI_Aint_add</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Aint_add.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Aint_add.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1929-L1933">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Aint_diff-Tuple{Any, Any}" href="#MPI.API.MPI_Aint_diff-Tuple{Any, Any}"><code>MPI.API.MPI_Aint_diff</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Aint_diff(addr1, addr2)</code></pre><ul><li><code>MPI_Aint_diff</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Aint_diff.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Aint_diff.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1938-L1942">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Allgather-NTuple{7, Any}" href="#MPI.API.MPI_Allgather-NTuple{7, Any}"><code>MPI.API.MPI_Allgather</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Allgather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)</code></pre><ul><li><code>MPI_Allgather</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allgather.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allgather.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L246-L250">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Allgather_c-NTuple{7, Any}" href="#MPI.API.MPI_Allgather_c-NTuple{7, Any}"><code>MPI.API.MPI_Allgather_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Allgather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)</code></pre><ul><li><code>MPI_Allgather_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allgather_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allgather_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3099-L3103">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Allgather_init-NTuple{9, Any}" href="#MPI.API.MPI_Allgather_init-NTuple{9, Any}"><code>MPI.API.MPI_Allgather_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Allgather_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Allgather_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allgather_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allgather_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L255-L259">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Allgather_init_c-NTuple{9, Any}" href="#MPI.API.MPI_Allgather_init_c-NTuple{9, Any}"><code>MPI.API.MPI_Allgather_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Allgather_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Allgather_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allgather_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allgather_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3108-L3112">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Allgatherv-NTuple{8, Any}" href="#MPI.API.MPI_Allgatherv-NTuple{8, Any}"><code>MPI.API.MPI_Allgatherv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Allgatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm)</code></pre><ul><li><code>MPI_Allgatherv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allgatherv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allgatherv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L264-L268">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Allgatherv_c-NTuple{8, Any}" href="#MPI.API.MPI_Allgatherv_c-NTuple{8, Any}"><code>MPI.API.MPI_Allgatherv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Allgatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm)</code></pre><ul><li><code>MPI_Allgatherv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allgatherv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allgatherv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3117-L3121">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Allgatherv_init-NTuple{10, Any}" href="#MPI.API.MPI_Allgatherv_init-NTuple{10, Any}"><code>MPI.API.MPI_Allgatherv_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Allgatherv_init(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Allgatherv_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allgatherv_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allgatherv_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L273-L277">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Allgatherv_init_c-NTuple{10, Any}" href="#MPI.API.MPI_Allgatherv_init_c-NTuple{10, Any}"><code>MPI.API.MPI_Allgatherv_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Allgatherv_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Allgatherv_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allgatherv_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allgatherv_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3126-L3130">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Alloc_mem-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Alloc_mem-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Alloc_mem</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Alloc_mem(size, info, baseptr)</code></pre><ul><li><code>MPI_Alloc_mem</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alloc_mem.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alloc_mem.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2442-L2446">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Allreduce-NTuple{6, Any}" href="#MPI.API.MPI_Allreduce-NTuple{6, Any}"><code>MPI.API.MPI_Allreduce</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Allreduce(sendbuf, recvbuf, count, datatype, op, comm)</code></pre><ul><li><code>MPI_Allreduce</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allreduce.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allreduce.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L282-L286">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Allreduce_c-NTuple{6, Any}" href="#MPI.API.MPI_Allreduce_c-NTuple{6, Any}"><code>MPI.API.MPI_Allreduce_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Allreduce_c(sendbuf, recvbuf, count, datatype, op, comm)</code></pre><ul><li><code>MPI_Allreduce_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allreduce_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allreduce_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3135-L3139">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Allreduce_init-NTuple{8, Any}" href="#MPI.API.MPI_Allreduce_init-NTuple{8, Any}"><code>MPI.API.MPI_Allreduce_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Allreduce_init(sendbuf, recvbuf, count, datatype, op, comm, info, request)</code></pre><ul><li><code>MPI_Allreduce_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allreduce_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allreduce_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L291-L295">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Allreduce_init_c-NTuple{8, Any}" href="#MPI.API.MPI_Allreduce_init_c-NTuple{8, Any}"><code>MPI.API.MPI_Allreduce_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Allreduce_init_c(sendbuf, recvbuf, count, datatype, op, comm, info, request)</code></pre><ul><li><code>MPI_Allreduce_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allreduce_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allreduce_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3144-L3148">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Alltoall-NTuple{7, Any}" href="#MPI.API.MPI_Alltoall-NTuple{7, Any}"><code>MPI.API.MPI_Alltoall</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Alltoall(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)</code></pre><ul><li><code>MPI_Alltoall</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoall.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoall.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L300-L304">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Alltoall_c-NTuple{7, Any}" href="#MPI.API.MPI_Alltoall_c-NTuple{7, Any}"><code>MPI.API.MPI_Alltoall_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Alltoall_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)</code></pre><ul><li><code>MPI_Alltoall_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoall_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoall_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3153-L3157">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Alltoall_init-NTuple{9, Any}" href="#MPI.API.MPI_Alltoall_init-NTuple{9, Any}"><code>MPI.API.MPI_Alltoall_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Alltoall_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Alltoall_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoall_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoall_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L309-L313">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Alltoall_init_c-NTuple{9, Any}" href="#MPI.API.MPI_Alltoall_init_c-NTuple{9, Any}"><code>MPI.API.MPI_Alltoall_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Alltoall_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Alltoall_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoall_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoall_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3162-L3166">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Alltoallv-NTuple{9, Any}" href="#MPI.API.MPI_Alltoallv-NTuple{9, Any}"><code>MPI.API.MPI_Alltoallv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Alltoallv(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm)</code></pre><ul><li><code>MPI_Alltoallv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoallv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoallv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L318-L322">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Alltoallv_c-NTuple{9, Any}" href="#MPI.API.MPI_Alltoallv_c-NTuple{9, Any}"><code>MPI.API.MPI_Alltoallv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Alltoallv_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm)</code></pre><ul><li><code>MPI_Alltoallv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoallv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoallv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3171-L3175">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Alltoallv_init-NTuple{11, Any}" href="#MPI.API.MPI_Alltoallv_init-NTuple{11, Any}"><code>MPI.API.MPI_Alltoallv_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Alltoallv_init(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Alltoallv_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoallv_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoallv_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L327-L331">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Alltoallv_init_c-NTuple{11, Any}" href="#MPI.API.MPI_Alltoallv_init_c-NTuple{11, Any}"><code>MPI.API.MPI_Alltoallv_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Alltoallv_init_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Alltoallv_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoallv_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoallv_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3180-L3184">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Alltoallw-NTuple{9, Any}" href="#MPI.API.MPI_Alltoallw-NTuple{9, Any}"><code>MPI.API.MPI_Alltoallw</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Alltoallw(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm)</code></pre><ul><li><code>MPI_Alltoallw</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoallw.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoallw.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L336-L340">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Alltoallw_c-NTuple{9, Any}" href="#MPI.API.MPI_Alltoallw_c-NTuple{9, Any}"><code>MPI.API.MPI_Alltoallw_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Alltoallw_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm)</code></pre><ul><li><code>MPI_Alltoallw_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoallw_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoallw_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3189-L3193">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Alltoallw_init-NTuple{11, Any}" href="#MPI.API.MPI_Alltoallw_init-NTuple{11, Any}"><code>MPI.API.MPI_Alltoallw_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Alltoallw_init(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request)</code></pre><ul><li><code>MPI_Alltoallw_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoallw_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoallw_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L345-L349">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Alltoallw_init_c-NTuple{11, Any}" href="#MPI.API.MPI_Alltoallw_init_c-NTuple{11, Any}"><code>MPI.API.MPI_Alltoallw_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Alltoallw_init_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request)</code></pre><ul><li><code>MPI_Alltoallw_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoallw_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoallw_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3198-L3202">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Attr_delete-Tuple{Any, Any}" href="#MPI.API.MPI_Attr_delete-Tuple{Any, Any}"><code>MPI.API.MPI_Attr_delete</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Attr_delete(comm, keyval)</code></pre><ul><li><code>MPI_Attr_delete</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Attr_delete.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Attr_delete.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L66-L70">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Attr_get-NTuple{4, Any}" href="#MPI.API.MPI_Attr_get-NTuple{4, Any}"><code>MPI.API.MPI_Attr_get</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Attr_get(comm, keyval, attribute_val, flag)</code></pre><ul><li><code>MPI_Attr_get</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Attr_get.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Attr_get.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L75-L79">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Attr_put-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Attr_put-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Attr_put</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Attr_put(comm, keyval, attribute_val)</code></pre><ul><li><code>MPI_Attr_put</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Attr_put.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Attr_put.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L84-L88">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Barrier-Tuple{Any}" href="#MPI.API.MPI_Barrier-Tuple{Any}"><code>MPI.API.MPI_Barrier</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Barrier(comm)</code></pre><ul><li><code>MPI_Barrier</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Barrier.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Barrier.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L354-L358">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Barrier_init-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Barrier_init-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Barrier_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Barrier_init(comm, info, request)</code></pre><ul><li><code>MPI_Barrier_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Barrier_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Barrier_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L363-L367">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Bcast-NTuple{5, Any}" href="#MPI.API.MPI_Bcast-NTuple{5, Any}"><code>MPI.API.MPI_Bcast</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Bcast(buffer, count, datatype, root, comm)</code></pre><ul><li><code>MPI_Bcast</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Bcast.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Bcast.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L372-L376">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Bcast_c-NTuple{5, Any}" href="#MPI.API.MPI_Bcast_c-NTuple{5, Any}"><code>MPI.API.MPI_Bcast_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Bcast_c(buffer, count, datatype, root, comm)</code></pre><ul><li><code>MPI_Bcast_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Bcast_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Bcast_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3207-L3211">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Bcast_init-NTuple{7, Any}" href="#MPI.API.MPI_Bcast_init-NTuple{7, Any}"><code>MPI.API.MPI_Bcast_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Bcast_init(buffer, count, datatype, root, comm, info, request)</code></pre><ul><li><code>MPI_Bcast_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Bcast_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Bcast_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L381-L385">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Bcast_init_c-NTuple{7, Any}" href="#MPI.API.MPI_Bcast_init_c-NTuple{7, Any}"><code>MPI.API.MPI_Bcast_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Bcast_init_c(buffer, count, datatype, root, comm, info, request)</code></pre><ul><li><code>MPI_Bcast_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Bcast_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Bcast_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3216-L3220">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Bsend-NTuple{6, Any}" href="#MPI.API.MPI_Bsend-NTuple{6, Any}"><code>MPI.API.MPI_Bsend</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Bsend(buf, count, datatype, dest, tag, comm)</code></pre><ul><li><code>MPI_Bsend</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Bsend.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Bsend.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2055-L2059">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Bsend_c-NTuple{6, Any}" href="#MPI.API.MPI_Bsend_c-NTuple{6, Any}"><code>MPI.API.MPI_Bsend_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Bsend_c(buf, count, datatype, dest, tag, comm)</code></pre><ul><li><code>MPI_Bsend_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Bsend_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Bsend_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3900-L3904">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Bsend_init-NTuple{7, Any}" href="#MPI.API.MPI_Bsend_init-NTuple{7, Any}"><code>MPI.API.MPI_Bsend_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Bsend_init(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Bsend_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Bsend_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Bsend_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2064-L2068">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Bsend_init_c-NTuple{7, Any}" href="#MPI.API.MPI_Bsend_init_c-NTuple{7, Any}"><code>MPI.API.MPI_Bsend_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Bsend_init_c(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Bsend_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Bsend_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Bsend_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3909-L3913">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Buffer_attach-Tuple{Any, Any}" href="#MPI.API.MPI_Buffer_attach-Tuple{Any, Any}"><code>MPI.API.MPI_Buffer_attach</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Buffer_attach(buffer, size)</code></pre><ul><li><code>MPI_Buffer_attach</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Buffer_attach.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Buffer_attach.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2073-L2077">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Buffer_attach_c-Tuple{Any, Any}" href="#MPI.API.MPI_Buffer_attach_c-Tuple{Any, Any}"><code>MPI.API.MPI_Buffer_attach_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Buffer_attach_c(buffer, size)</code></pre><ul><li><code>MPI_Buffer_attach_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Buffer_attach_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Buffer_attach_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3918-L3922">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Buffer_detach-Tuple{Any, Any}" href="#MPI.API.MPI_Buffer_detach-Tuple{Any, Any}"><code>MPI.API.MPI_Buffer_detach</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Buffer_detach(buffer_addr, size)</code></pre><ul><li><code>MPI_Buffer_detach</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Buffer_detach.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Buffer_detach.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2082-L2086">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Buffer_detach_c-Tuple{Any, Any}" href="#MPI.API.MPI_Buffer_detach_c-Tuple{Any, Any}"><code>MPI.API.MPI_Buffer_detach_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Buffer_detach_c(buffer_addr, size)</code></pre><ul><li><code>MPI_Buffer_detach_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Buffer_detach_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Buffer_detach_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3927-L3931">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Cancel-Tuple{Any}" href="#MPI.API.MPI_Cancel-Tuple{Any}"><code>MPI.API.MPI_Cancel</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Cancel(request)</code></pre><ul><li><code>MPI_Cancel</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cancel.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cancel.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2298-L2302">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Cart_coords-NTuple{4, Any}" href="#MPI.API.MPI_Cart_coords-NTuple{4, Any}"><code>MPI.API.MPI_Cart_coords</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Cart_coords(comm, rank, maxdims, coords)</code></pre><ul><li><code>MPI_Cart_coords</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cart_coords.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cart_coords.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2919-L2923">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Cart_create-NTuple{6, Any}" href="#MPI.API.MPI_Cart_create-NTuple{6, Any}"><code>MPI.API.MPI_Cart_create</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Cart_create(comm_old, ndims, dims, periods, reorder, comm_cart)</code></pre><ul><li><code>MPI_Cart_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cart_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cart_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2928-L2932">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Cart_get-NTuple{5, Any}" href="#MPI.API.MPI_Cart_get-NTuple{5, Any}"><code>MPI.API.MPI_Cart_get</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Cart_get(comm, maxdims, dims, periods, coords)</code></pre><ul><li><code>MPI_Cart_get</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cart_get.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cart_get.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2937-L2941">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Cart_map-NTuple{5, Any}" href="#MPI.API.MPI_Cart_map-NTuple{5, Any}"><code>MPI.API.MPI_Cart_map</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Cart_map(comm, ndims, dims, periods, newrank)</code></pre><ul><li><code>MPI_Cart_map</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cart_map.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cart_map.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2946-L2950">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Cart_rank-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Cart_rank-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Cart_rank</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Cart_rank(comm, coords, rank)</code></pre><ul><li><code>MPI_Cart_rank</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cart_rank.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cart_rank.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2955-L2959">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Cart_shift-NTuple{5, Any}" href="#MPI.API.MPI_Cart_shift-NTuple{5, Any}"><code>MPI.API.MPI_Cart_shift</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Cart_shift(comm, direction, disp, rank_source, rank_dest)</code></pre><ul><li><code>MPI_Cart_shift</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cart_shift.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cart_shift.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2964-L2968">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Cart_sub-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Cart_sub-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Cart_sub</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Cart_sub(comm, remain_dims, newcomm)</code></pre><ul><li><code>MPI_Cart_sub</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cart_sub.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cart_sub.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2973-L2977">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Cartdim_get-Tuple{Any, Any}" href="#MPI.API.MPI_Cartdim_get-Tuple{Any, Any}"><code>MPI.API.MPI_Cartdim_get</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Cartdim_get(comm, ndims)</code></pre><ul><li><code>MPI_Cartdim_get</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cartdim_get.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cartdim_get.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2982-L2986">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Close_port-Tuple{Any}" href="#MPI.API.MPI_Close_port-Tuple{Any}"><code>MPI.API.MPI_Close_port</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Close_port(port_name)</code></pre><ul><li><code>MPI_Close_port</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Close_port.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Close_port.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2793-L2797">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_accept-NTuple{5, Any}" href="#MPI.API.MPI_Comm_accept-NTuple{5, Any}"><code>MPI.API.MPI_Comm_accept</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_accept(port_name, info, root, comm, newcomm)</code></pre><ul><li><code>MPI_Comm_accept</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_accept.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_accept.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2802-L2806">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_call_errhandler-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_call_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_call_errhandler</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_call_errhandler(comm, errorcode)</code></pre><ul><li><code>MPI_Comm_call_errhandler</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_call_errhandler.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_call_errhandler.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1479-L1483">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_compare-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Comm_compare-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Comm_compare</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_compare(comm1, comm2, result)</code></pre><ul><li><code>MPI_Comm_compare</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_compare.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_compare.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L849-L853">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_connect-NTuple{5, Any}" href="#MPI.API.MPI_Comm_connect-NTuple{5, Any}"><code>MPI.API.MPI_Comm_connect</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_connect(port_name, info, root, comm, newcomm)</code></pre><ul><li><code>MPI_Comm_connect</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_connect.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_connect.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2811-L2815">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_create-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Comm_create-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Comm_create</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_create(comm, group, newcomm)</code></pre><ul><li><code>MPI_Comm_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L858-L862">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_create_errhandler-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_create_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_create_errhandler</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_create_errhandler(comm_errhandler_fn, errhandler)</code></pre><ul><li><code>MPI_Comm_create_errhandler</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_create_errhandler.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_create_errhandler.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1488-L1492">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_create_from_group-NTuple{5, Any}" href="#MPI.API.MPI_Comm_create_from_group-NTuple{5, Any}"><code>MPI.API.MPI_Comm_create_from_group</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_create_from_group(group, stringtag, info, errhandler, newcomm)</code></pre><ul><li><code>MPI_Comm_create_from_group</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_create_from_group.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_create_from_group.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1857-L1861">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_create_group-NTuple{4, Any}" href="#MPI.API.MPI_Comm_create_group-NTuple{4, Any}"><code>MPI.API.MPI_Comm_create_group</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_create_group(comm, group, tag, newcomm)</code></pre><ul><li><code>MPI_Comm_create_group</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_create_group.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_create_group.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L867-L871">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_create_keyval-NTuple{4, Any}" href="#MPI.API.MPI_Comm_create_keyval-NTuple{4, Any}"><code>MPI.API.MPI_Comm_create_keyval</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_create_keyval(comm_copy_attr_fn, comm_delete_attr_fn, comm_keyval, extra_state)</code></pre><ul><li><code>MPI_Comm_create_keyval</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_create_keyval.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_create_keyval.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L93-L97">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_delete_attr-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_delete_attr-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_delete_attr</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_delete_attr(comm, comm_keyval)</code></pre><ul><li><code>MPI_Comm_delete_attr</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_delete_attr.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_delete_attr.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L102-L106">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_disconnect-Tuple{Any}" href="#MPI.API.MPI_Comm_disconnect-Tuple{Any}"><code>MPI.API.MPI_Comm_disconnect</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_disconnect(comm)</code></pre><ul><li><code>MPI_Comm_disconnect</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_disconnect.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_disconnect.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2820-L2824">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_dup-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_dup-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_dup</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_dup(comm, newcomm)</code></pre><ul><li><code>MPI_Comm_dup</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_dup.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_dup.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L876-L880">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_dup_with_info-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Comm_dup_with_info-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Comm_dup_with_info</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_dup_with_info(comm, info, newcomm)</code></pre><ul><li><code>MPI_Comm_dup_with_info</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_dup_with_info.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_dup_with_info.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L885-L889">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_free-Tuple{Any}" href="#MPI.API.MPI_Comm_free-Tuple{Any}"><code>MPI.API.MPI_Comm_free</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_free(comm)</code></pre><ul><li><code>MPI_Comm_free</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_free.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_free.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L894-L898">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_free_keyval-Tuple{Any}" href="#MPI.API.MPI_Comm_free_keyval-Tuple{Any}"><code>MPI.API.MPI_Comm_free_keyval</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_free_keyval(comm_keyval)</code></pre><ul><li><code>MPI_Comm_free_keyval</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_free_keyval.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_free_keyval.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L111-L115">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_get_attr-NTuple{4, Any}" href="#MPI.API.MPI_Comm_get_attr-NTuple{4, Any}"><code>MPI.API.MPI_Comm_get_attr</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_get_attr(comm, comm_keyval, attribute_val, flag)</code></pre><ul><li><code>MPI_Comm_get_attr</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_get_attr.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_get_attr.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L120-L124">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_get_errhandler-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_get_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_get_errhandler</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_get_errhandler(comm, errhandler)</code></pre><ul><li><code>MPI_Comm_get_errhandler</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_get_errhandler.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_get_errhandler.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1497-L1501">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_get_info-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_get_info-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_get_info</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_get_info(comm, info_used)</code></pre><ul><li><code>MPI_Comm_get_info</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_get_info.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_get_info.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L903-L907">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_get_name-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Comm_get_name-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Comm_get_name</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_get_name(comm, comm_name, resultlen)</code></pre><ul><li><code>MPI_Comm_get_name</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_get_name.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_get_name.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L912-L916">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_get_parent-Tuple{Any}" href="#MPI.API.MPI_Comm_get_parent-Tuple{Any}"><code>MPI.API.MPI_Comm_get_parent</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_get_parent(parent)</code></pre><ul><li><code>MPI_Comm_get_parent</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_get_parent.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_get_parent.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2829-L2833">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_group-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_group-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_group</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_group(comm, group)</code></pre><ul><li><code>MPI_Comm_group</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_group.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_group.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L921-L925">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_idup-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Comm_idup-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Comm_idup</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_idup(comm, newcomm, request)</code></pre><ul><li><code>MPI_Comm_idup</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_idup.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_idup.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L930-L934">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_idup_with_info-NTuple{4, Any}" href="#MPI.API.MPI_Comm_idup_with_info-NTuple{4, Any}"><code>MPI.API.MPI_Comm_idup_with_info</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_idup_with_info(comm, info, newcomm, request)</code></pre><ul><li><code>MPI_Comm_idup_with_info</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_idup_with_info.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_idup_with_info.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L939-L943">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_join-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_join-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_join</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_join(fd, intercomm)</code></pre><ul><li><code>MPI_Comm_join</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_join.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_join.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2838-L2842">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_rank-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_rank-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_rank</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_rank(comm, rank)</code></pre><ul><li><code>MPI_Comm_rank</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_rank.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_rank.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L948-L952">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_remote_group-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_remote_group-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_remote_group</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_remote_group(comm, group)</code></pre><ul><li><code>MPI_Comm_remote_group</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_remote_group.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_remote_group.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L957-L961">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_remote_size-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_remote_size-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_remote_size</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_remote_size(comm, size)</code></pre><ul><li><code>MPI_Comm_remote_size</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_remote_size.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_remote_size.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L966-L970">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_set_attr-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Comm_set_attr-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Comm_set_attr</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_set_attr(comm, comm_keyval, attribute_val)</code></pre><ul><li><code>MPI_Comm_set_attr</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_set_attr.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_set_attr.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L129-L133">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_set_errhandler-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_set_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_set_errhandler</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_set_errhandler(comm, errhandler)</code></pre><ul><li><code>MPI_Comm_set_errhandler</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_set_errhandler.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_set_errhandler.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1506-L1510">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_set_info-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_set_info-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_set_info</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_set_info(comm, info)</code></pre><ul><li><code>MPI_Comm_set_info</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_set_info.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_set_info.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L975-L979">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_set_name-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_set_name-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_set_name</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_set_name(comm, comm_name)</code></pre><ul><li><code>MPI_Comm_set_name</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_set_name.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_set_name.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L984-L988">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_size-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_size-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_size</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_size(comm, size)</code></pre><ul><li><code>MPI_Comm_size</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_size.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_size.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L993-L997">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_spawn-NTuple{8, Any}" href="#MPI.API.MPI_Comm_spawn-NTuple{8, Any}"><code>MPI.API.MPI_Comm_spawn</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_spawn(command, argv, maxprocs, info, root, comm, intercomm, array_of_errcodes)</code></pre><ul><li><code>MPI_Comm_spawn</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_spawn.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_spawn.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2847-L2851">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_spawn_multiple-NTuple{9, Any}" href="#MPI.API.MPI_Comm_spawn_multiple-NTuple{9, Any}"><code>MPI.API.MPI_Comm_spawn_multiple</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_spawn_multiple(count, array_of_commands, array_of_argv, array_of_maxprocs, array_of_info, root, comm, intercomm, array_of_errcodes)</code></pre><ul><li><code>MPI_Comm_spawn_multiple</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_spawn_multiple.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_spawn_multiple.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2856-L2860">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_split-NTuple{4, Any}" href="#MPI.API.MPI_Comm_split-NTuple{4, Any}"><code>MPI.API.MPI_Comm_split</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_split(comm, color, key, newcomm)</code></pre><ul><li><code>MPI_Comm_split</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_split.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_split.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1002-L1006">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_split_type-NTuple{5, Any}" href="#MPI.API.MPI_Comm_split_type-NTuple{5, Any}"><code>MPI.API.MPI_Comm_split_type</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_split_type(comm, split_type, key, info, newcomm)</code></pre><ul><li><code>MPI_Comm_split_type</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_split_type.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_split_type.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1011-L1015">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Comm_test_inter-Tuple{Any, Any}" href="#MPI.API.MPI_Comm_test_inter-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_test_inter</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Comm_test_inter(comm, flag)</code></pre><ul><li><code>MPI_Comm_test_inter</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_test_inter.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_test_inter.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1020-L1024">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Compare_and_swap-NTuple{7, Any}" href="#MPI.API.MPI_Compare_and_swap-NTuple{7, Any}"><code>MPI.API.MPI_Compare_and_swap</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Compare_and_swap(origin_addr, compare_addr, result_addr, datatype, target_rank, target_disp, win)</code></pre><ul><li><code>MPI_Compare_and_swap</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Compare_and_swap.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Compare_and_swap.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2451-L2455">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Dims_create-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Dims_create-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Dims_create</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Dims_create(nnodes, ndims, dims)</code></pre><ul><li><code>MPI_Dims_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Dims_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Dims_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2991-L2995">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Dist_graph_create-NTuple{9, Any}" href="#MPI.API.MPI_Dist_graph_create-NTuple{9, Any}"><code>MPI.API.MPI_Dist_graph_create</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Dist_graph_create(comm_old, n, sources, degrees, destinations, weights, info, reorder, comm_dist_graph)</code></pre><ul><li><code>MPI_Dist_graph_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Dist_graph_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Dist_graph_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3000-L3004">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Dist_graph_create_adjacent-NTuple{10, Any}" href="#MPI.API.MPI_Dist_graph_create_adjacent-NTuple{10, Any}"><code>MPI.API.MPI_Dist_graph_create_adjacent</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Dist_graph_create_adjacent(comm_old, indegree, sources, sourceweights, outdegree, destinations, destweights, info, reorder, comm_dist_graph)</code></pre><ul><li><code>MPI_Dist_graph_create_adjacent</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Dist_graph_create_adjacent.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Dist_graph_create_adjacent.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3009-L3013">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Dist_graph_neighbors-NTuple{7, Any}" href="#MPI.API.MPI_Dist_graph_neighbors-NTuple{7, Any}"><code>MPI.API.MPI_Dist_graph_neighbors</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Dist_graph_neighbors(comm, maxindegree, sources, sourceweights, maxoutdegree, destinations, destweights)</code></pre><ul><li><code>MPI_Dist_graph_neighbors</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Dist_graph_neighbors.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Dist_graph_neighbors.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3018-L3022">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Dist_graph_neighbors_count-NTuple{4, Any}" href="#MPI.API.MPI_Dist_graph_neighbors_count-NTuple{4, Any}"><code>MPI.API.MPI_Dist_graph_neighbors_count</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Dist_graph_neighbors_count(comm, indegree, outdegree, weighted)</code></pre><ul><li><code>MPI_Dist_graph_neighbors_count</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Dist_graph_neighbors_count.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Dist_graph_neighbors_count.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3027-L3031">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Errhandler_create-Tuple{Any, Any}" href="#MPI.API.MPI_Errhandler_create-Tuple{Any, Any}"><code>MPI.API.MPI_Errhandler_create</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Errhandler_create(comm_errhandler_fn, errhandler)</code></pre><ul><li><code>MPI_Errhandler_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Errhandler_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Errhandler_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1614-L1618">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Errhandler_free-Tuple{Any}" href="#MPI.API.MPI_Errhandler_free-Tuple{Any}"><code>MPI.API.MPI_Errhandler_free</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Errhandler_free(errhandler)</code></pre><ul><li><code>MPI_Errhandler_free</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Errhandler_free.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Errhandler_free.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1515-L1519">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Errhandler_get-Tuple{Any, Any}" href="#MPI.API.MPI_Errhandler_get-Tuple{Any, Any}"><code>MPI.API.MPI_Errhandler_get</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Errhandler_get(comm, errhandler)</code></pre><ul><li><code>MPI_Errhandler_get</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Errhandler_get.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Errhandler_get.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1623-L1627">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Errhandler_set-Tuple{Any, Any}" href="#MPI.API.MPI_Errhandler_set-Tuple{Any, Any}"><code>MPI.API.MPI_Errhandler_set</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Errhandler_set(comm, errhandler)</code></pre><ul><li><code>MPI_Errhandler_set</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Errhandler_set.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Errhandler_set.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1632-L1636">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Error_class-Tuple{Any, Any}" href="#MPI.API.MPI_Error_class-Tuple{Any, Any}"><code>MPI.API.MPI_Error_class</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Error_class(errorcode, errorclass)</code></pre><ul><li><code>MPI_Error_class</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Error_class.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Error_class.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1524-L1528">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Error_string-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Error_string-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Error_string</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Error_string(errorcode, string, resultlen)</code></pre><ul><li><code>MPI_Error_string</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Error_string.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Error_string.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1533-L1537">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Exscan-NTuple{6, Any}" href="#MPI.API.MPI_Exscan-NTuple{6, Any}"><code>MPI.API.MPI_Exscan</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Exscan(sendbuf, recvbuf, count, datatype, op, comm)</code></pre><ul><li><code>MPI_Exscan</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Exscan.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Exscan.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L390-L394">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Exscan_c-NTuple{6, Any}" href="#MPI.API.MPI_Exscan_c-NTuple{6, Any}"><code>MPI.API.MPI_Exscan_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Exscan_c(sendbuf, recvbuf, count, datatype, op, comm)</code></pre><ul><li><code>MPI_Exscan_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Exscan_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Exscan_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3225-L3229">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Exscan_init-NTuple{8, Any}" href="#MPI.API.MPI_Exscan_init-NTuple{8, Any}"><code>MPI.API.MPI_Exscan_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Exscan_init(sendbuf, recvbuf, count, datatype, op, comm, info, request)</code></pre><ul><li><code>MPI_Exscan_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Exscan_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Exscan_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L399-L403">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Exscan_init_c-NTuple{8, Any}" href="#MPI.API.MPI_Exscan_init_c-NTuple{8, Any}"><code>MPI.API.MPI_Exscan_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Exscan_init_c(sendbuf, recvbuf, count, datatype, op, comm, info, request)</code></pre><ul><li><code>MPI_Exscan_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Exscan_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Exscan_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3234-L3238">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Fetch_and_op-NTuple{7, Any}" href="#MPI.API.MPI_Fetch_and_op-NTuple{7, Any}"><code>MPI.API.MPI_Fetch_and_op</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Fetch_and_op(origin_addr, result_addr, datatype, target_rank, target_disp, op, win)</code></pre><ul><li><code>MPI_Fetch_and_op</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Fetch_and_op.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Fetch_and_op.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2460-L2464">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_c2f-Tuple{Any}" href="#MPI.API.MPI_File_c2f-Tuple{Any}"><code>MPI.API.MPI_File_c2f</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_c2f(file)</code></pre><ul><li><code>MPI_File_c2f</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_c2f.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_c2f.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4998-L5002">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_call_errhandler-Tuple{Any, Any}" href="#MPI.API.MPI_File_call_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_File_call_errhandler</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_call_errhandler(fh, errorcode)</code></pre><ul><li><code>MPI_File_call_errhandler</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_call_errhandler.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_call_errhandler.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1542-L1546">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_close-Tuple{Any}" href="#MPI.API.MPI_File_close-Tuple{Any}"><code>MPI.API.MPI_File_close</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_close(fh)</code></pre><ul><li><code>MPI_File_close</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_close.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_close.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4224-L4228">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_create_errhandler-Tuple{Any, Any}" href="#MPI.API.MPI_File_create_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_File_create_errhandler</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_create_errhandler(file_errhandler_fn, errhandler)</code></pre><ul><li><code>MPI_File_create_errhandler</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_create_errhandler.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_create_errhandler.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1551-L1555">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_delete-Tuple{Any, Any}" href="#MPI.API.MPI_File_delete-Tuple{Any, Any}"><code>MPI.API.MPI_File_delete</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_delete(filename, info)</code></pre><ul><li><code>MPI_File_delete</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_delete.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_delete.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4233-L4237">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_f2c-Tuple{Any}" href="#MPI.API.MPI_File_f2c-Tuple{Any}"><code>MPI.API.MPI_File_f2c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_f2c(file)</code></pre><ul><li><code>MPI_File_f2c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_f2c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_f2c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4989-L4993">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_get_amode-Tuple{Any, Any}" href="#MPI.API.MPI_File_get_amode-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_amode</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_get_amode(fh, amode)</code></pre><ul><li><code>MPI_File_get_amode</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_amode.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_amode.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4278-L4282">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_get_atomicity-Tuple{Any, Any}" href="#MPI.API.MPI_File_get_atomicity-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_atomicity</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_get_atomicity(fh, flag)</code></pre><ul><li><code>MPI_File_get_atomicity</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_atomicity.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_atomicity.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4665-L4669">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_get_byte_offset-Tuple{Any, Any, Any}" href="#MPI.API.MPI_File_get_byte_offset-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_get_byte_offset</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_get_byte_offset(fh, offset, disp)</code></pre><ul><li><code>MPI_File_get_byte_offset</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_byte_offset.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_byte_offset.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4449-L4453">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_get_errhandler-Tuple{Any, Any}" href="#MPI.API.MPI_File_get_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_errhandler</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_get_errhandler(file, errhandler)</code></pre><ul><li><code>MPI_File_get_errhandler</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_errhandler.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_errhandler.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1560-L1564">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_get_group-Tuple{Any, Any}" href="#MPI.API.MPI_File_get_group-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_group</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_get_group(fh, group)</code></pre><ul><li><code>MPI_File_get_group</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_group.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_group.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4269-L4273">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_get_info-Tuple{Any, Any}" href="#MPI.API.MPI_File_get_info-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_info</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_get_info(fh, info_used)</code></pre><ul><li><code>MPI_File_get_info</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_info.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_info.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4296-L4300">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_get_position-Tuple{Any, Any}" href="#MPI.API.MPI_File_get_position-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_position</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_get_position(fh, offset)</code></pre><ul><li><code>MPI_File_get_position</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_position.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_position.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4440-L4444">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_get_position_shared-Tuple{Any, Any}" href="#MPI.API.MPI_File_get_position_shared-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_position_shared</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_get_position_shared(fh, offset)</code></pre><ul><li><code>MPI_File_get_position_shared</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_position_shared.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_position_shared.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4521-L4525">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_get_size-Tuple{Any, Any}" href="#MPI.API.MPI_File_get_size-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_size</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_get_size(fh, size)</code></pre><ul><li><code>MPI_File_get_size</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_size.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_size.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4260-L4264">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_get_type_extent-Tuple{Any, Any, Any}" href="#MPI.API.MPI_File_get_type_extent-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_get_type_extent</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_get_type_extent(fh, datatype, extent)</code></pre><ul><li><code>MPI_File_get_type_extent</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_type_extent.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_type_extent.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4638-L4642">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_get_type_extent_c-Tuple{Any, Any, Any}" href="#MPI.API.MPI_File_get_type_extent_c-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_get_type_extent_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_get_type_extent_c(fh, datatype, extent)</code></pre><ul><li><code>MPI_File_get_type_extent_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_type_extent_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_type_extent_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4971-L4975">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_get_view-NTuple{5, Any}" href="#MPI.API.MPI_File_get_view-NTuple{5, Any}"><code>MPI.API.MPI_File_get_view</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_get_view(fh, disp, etype, filetype, datarep)</code></pre><ul><li><code>MPI_File_get_view</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_view.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_view.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4314-L4318">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iread-NTuple{5, Any}" href="#MPI.API.MPI_File_iread-NTuple{5, Any}"><code>MPI.API.MPI_File_iread</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iread(fh, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iread</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iread.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iread.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4413-L4417">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iread_all-NTuple{5, Any}" href="#MPI.API.MPI_File_iread_all-NTuple{5, Any}"><code>MPI.API.MPI_File_iread_all</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iread_all(fh, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iread_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iread_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iread_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4701-L4705">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iread_all_c-NTuple{5, Any}" href="#MPI.API.MPI_File_iread_all_c-NTuple{5, Any}"><code>MPI.API.MPI_File_iread_all_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iread_all_c(fh, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iread_all_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iread_all_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iread_all_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4890-L4894">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iread_at-NTuple{6, Any}" href="#MPI.API.MPI_File_iread_at-NTuple{6, Any}"><code>MPI.API.MPI_File_iread_at</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iread_at(fh, offset, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iread_at</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iread_at.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iread_at.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4359-L4363">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iread_at_all-NTuple{6, Any}" href="#MPI.API.MPI_File_iread_at_all-NTuple{6, Any}"><code>MPI.API.MPI_File_iread_at_all</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iread_at_all(fh, offset, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iread_at_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iread_at_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iread_at_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4683-L4687">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iread_at_all_c-NTuple{6, Any}" href="#MPI.API.MPI_File_iread_at_all_c-NTuple{6, Any}"><code>MPI.API.MPI_File_iread_at_all_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iread_at_all_c(fh, offset, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iread_at_all_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iread_at_all_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iread_at_all_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4908-L4912">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iread_at_c-NTuple{6, Any}" href="#MPI.API.MPI_File_iread_at_c-NTuple{6, Any}"><code>MPI.API.MPI_File_iread_at_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iread_at_c(fh, offset, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iread_at_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iread_at_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iread_at_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4899-L4903">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iread_c-NTuple{5, Any}" href="#MPI.API.MPI_File_iread_c-NTuple{5, Any}"><code>MPI.API.MPI_File_iread_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iread_c(fh, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iread_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iread_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iread_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4881-L4885">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iread_shared-NTuple{5, Any}" href="#MPI.API.MPI_File_iread_shared-NTuple{5, Any}"><code>MPI.API.MPI_File_iread_shared</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iread_shared(fh, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iread_shared</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iread_shared.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iread_shared.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4476-L4480">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iread_shared_c-NTuple{5, Any}" href="#MPI.API.MPI_File_iread_shared_c-NTuple{5, Any}"><code>MPI.API.MPI_File_iread_shared_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iread_shared_c(fh, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iread_shared_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iread_shared_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iread_shared_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4917-L4921">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iwrite-NTuple{5, Any}" href="#MPI.API.MPI_File_iwrite-NTuple{5, Any}"><code>MPI.API.MPI_File_iwrite</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iwrite(fh, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iwrite</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iwrite.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iwrite.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4422-L4426">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iwrite_all-NTuple{5, Any}" href="#MPI.API.MPI_File_iwrite_all-NTuple{5, Any}"><code>MPI.API.MPI_File_iwrite_all</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iwrite_all(fh, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iwrite_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iwrite_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iwrite_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4710-L4714">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iwrite_all_c-NTuple{5, Any}" href="#MPI.API.MPI_File_iwrite_all_c-NTuple{5, Any}"><code>MPI.API.MPI_File_iwrite_all_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iwrite_all_c(fh, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iwrite_all_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iwrite_all_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iwrite_all_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4935-L4939">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iwrite_at-NTuple{6, Any}" href="#MPI.API.MPI_File_iwrite_at-NTuple{6, Any}"><code>MPI.API.MPI_File_iwrite_at</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iwrite_at(fh, offset, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iwrite_at</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iwrite_at.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iwrite_at.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4368-L4372">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iwrite_at_all-NTuple{6, Any}" href="#MPI.API.MPI_File_iwrite_at_all-NTuple{6, Any}"><code>MPI.API.MPI_File_iwrite_at_all</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iwrite_at_all(fh, offset, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iwrite_at_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iwrite_at_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iwrite_at_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4692-L4696">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iwrite_at_all_c-NTuple{6, Any}" href="#MPI.API.MPI_File_iwrite_at_all_c-NTuple{6, Any}"><code>MPI.API.MPI_File_iwrite_at_all_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iwrite_at_all_c(fh, offset, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iwrite_at_all_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iwrite_at_all_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iwrite_at_all_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4953-L4957">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iwrite_at_c-NTuple{6, Any}" href="#MPI.API.MPI_File_iwrite_at_c-NTuple{6, Any}"><code>MPI.API.MPI_File_iwrite_at_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iwrite_at_c(fh, offset, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iwrite_at_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iwrite_at_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iwrite_at_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4944-L4948">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iwrite_c-NTuple{5, Any}" href="#MPI.API.MPI_File_iwrite_c-NTuple{5, Any}"><code>MPI.API.MPI_File_iwrite_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iwrite_c(fh, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iwrite_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iwrite_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iwrite_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4926-L4930">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iwrite_shared-NTuple{5, Any}" href="#MPI.API.MPI_File_iwrite_shared-NTuple{5, Any}"><code>MPI.API.MPI_File_iwrite_shared</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iwrite_shared(fh, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iwrite_shared</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iwrite_shared.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iwrite_shared.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4485-L4489">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_iwrite_shared_c-NTuple{5, Any}" href="#MPI.API.MPI_File_iwrite_shared_c-NTuple{5, Any}"><code>MPI.API.MPI_File_iwrite_shared_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_iwrite_shared_c(fh, buf, count, datatype, request)</code></pre><ul><li><code>MPI_File_iwrite_shared_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_iwrite_shared_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_iwrite_shared_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4962-L4966">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_open-NTuple{5, Any}" href="#MPI.API.MPI_File_open-NTuple{5, Any}"><code>MPI.API.MPI_File_open</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_open(comm, filename, amode, info, fh)</code></pre><ul><li><code>MPI_File_open</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_open.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_open.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4215-L4219">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_preallocate-Tuple{Any, Any}" href="#MPI.API.MPI_File_preallocate-Tuple{Any, Any}"><code>MPI.API.MPI_File_preallocate</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_preallocate(fh, size)</code></pre><ul><li><code>MPI_File_preallocate</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_preallocate.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_preallocate.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4251-L4255">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read-NTuple{5, Any}" href="#MPI.API.MPI_File_read-NTuple{5, Any}"><code>MPI.API.MPI_File_read</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_read</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4377-L4381">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_all-NTuple{5, Any}" href="#MPI.API.MPI_File_read_all-NTuple{5, Any}"><code>MPI.API.MPI_File_read_all</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_all(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_read_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4386-L4390">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_all_begin-NTuple{4, Any}" href="#MPI.API.MPI_File_read_all_begin-NTuple{4, Any}"><code>MPI.API.MPI_File_read_all_begin</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_all_begin(fh, buf, count, datatype)</code></pre><ul><li><code>MPI_File_read_all_begin</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_all_begin.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_all_begin.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4566-L4570">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_all_begin_c-NTuple{4, Any}" href="#MPI.API.MPI_File_read_all_begin_c-NTuple{4, Any}"><code>MPI.API.MPI_File_read_all_begin_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_all_begin_c(fh, buf, count, datatype)</code></pre><ul><li><code>MPI_File_read_all_begin_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_all_begin_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_all_begin_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4737-L4741">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_all_c-NTuple{5, Any}" href="#MPI.API.MPI_File_read_all_c-NTuple{5, Any}"><code>MPI.API.MPI_File_read_all_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_all_c(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_read_all_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_all_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_all_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4728-L4732">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_all_end-Tuple{Any, Any, Any}" href="#MPI.API.MPI_File_read_all_end-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_read_all_end</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_all_end(fh, buf, status)</code></pre><ul><li><code>MPI_File_read_all_end</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_all_end.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_all_end.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4575-L4579">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_at-NTuple{6, Any}" href="#MPI.API.MPI_File_read_at-NTuple{6, Any}"><code>MPI.API.MPI_File_read_at</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_at(fh, offset, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_read_at</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_at.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_at.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4323-L4327">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_at_all-NTuple{6, Any}" href="#MPI.API.MPI_File_read_at_all-NTuple{6, Any}"><code>MPI.API.MPI_File_read_at_all</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_at_all(fh, offset, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_read_at_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_at_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_at_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4332-L4336">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_at_all_begin-NTuple{5, Any}" href="#MPI.API.MPI_File_read_at_all_begin-NTuple{5, Any}"><code>MPI.API.MPI_File_read_at_all_begin</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_at_all_begin(fh, offset, buf, count, datatype)</code></pre><ul><li><code>MPI_File_read_at_all_begin</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_at_all_begin.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_at_all_begin.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4530-L4534">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_at_all_begin_c-NTuple{5, Any}" href="#MPI.API.MPI_File_read_at_all_begin_c-NTuple{5, Any}"><code>MPI.API.MPI_File_read_at_all_begin_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_at_all_begin_c(fh, offset, buf, count, datatype)</code></pre><ul><li><code>MPI_File_read_at_all_begin_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_at_all_begin_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_at_all_begin_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4764-L4768">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_at_all_c-NTuple{6, Any}" href="#MPI.API.MPI_File_read_at_all_c-NTuple{6, Any}"><code>MPI.API.MPI_File_read_at_all_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_at_all_c(fh, offset, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_read_at_all_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_at_all_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_at_all_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4755-L4759">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_at_all_end-Tuple{Any, Any, Any}" href="#MPI.API.MPI_File_read_at_all_end-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_read_at_all_end</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_at_all_end(fh, buf, status)</code></pre><ul><li><code>MPI_File_read_at_all_end</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_at_all_end.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_at_all_end.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4539-L4543">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_at_c-NTuple{6, Any}" href="#MPI.API.MPI_File_read_at_c-NTuple{6, Any}"><code>MPI.API.MPI_File_read_at_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_at_c(fh, offset, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_read_at_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_at_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_at_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4746-L4750">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_c-NTuple{5, Any}" href="#MPI.API.MPI_File_read_c-NTuple{5, Any}"><code>MPI.API.MPI_File_read_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_c(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_read_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4719-L4723">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_ordered-NTuple{5, Any}" href="#MPI.API.MPI_File_read_ordered-NTuple{5, Any}"><code>MPI.API.MPI_File_read_ordered</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_ordered(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_read_ordered</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_ordered.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_ordered.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4494-L4498">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_ordered_begin-NTuple{4, Any}" href="#MPI.API.MPI_File_read_ordered_begin-NTuple{4, Any}"><code>MPI.API.MPI_File_read_ordered_begin</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_ordered_begin(fh, buf, count, datatype)</code></pre><ul><li><code>MPI_File_read_ordered_begin</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_ordered_begin.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_ordered_begin.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4602-L4606">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_ordered_begin_c-NTuple{4, Any}" href="#MPI.API.MPI_File_read_ordered_begin_c-NTuple{4, Any}"><code>MPI.API.MPI_File_read_ordered_begin_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_ordered_begin_c(fh, buf, count, datatype)</code></pre><ul><li><code>MPI_File_read_ordered_begin_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_ordered_begin_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_ordered_begin_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4782-L4786">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_ordered_c-NTuple{5, Any}" href="#MPI.API.MPI_File_read_ordered_c-NTuple{5, Any}"><code>MPI.API.MPI_File_read_ordered_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_ordered_c(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_read_ordered_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_ordered_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_ordered_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4773-L4777">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_ordered_end-Tuple{Any, Any, Any}" href="#MPI.API.MPI_File_read_ordered_end-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_read_ordered_end</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_ordered_end(fh, buf, status)</code></pre><ul><li><code>MPI_File_read_ordered_end</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_ordered_end.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_ordered_end.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4611-L4615">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_shared-NTuple{5, Any}" href="#MPI.API.MPI_File_read_shared-NTuple{5, Any}"><code>MPI.API.MPI_File_read_shared</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_shared(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_read_shared</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_shared.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_shared.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4458-L4462">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_read_shared_c-NTuple{5, Any}" href="#MPI.API.MPI_File_read_shared_c-NTuple{5, Any}"><code>MPI.API.MPI_File_read_shared_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_read_shared_c(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_read_shared_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_shared_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_shared_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4791-L4795">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_seek-Tuple{Any, Any, Any}" href="#MPI.API.MPI_File_seek-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_seek</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_seek(fh, offset, whence)</code></pre><ul><li><code>MPI_File_seek</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_seek.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_seek.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4431-L4435">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_seek_shared-Tuple{Any, Any, Any}" href="#MPI.API.MPI_File_seek_shared-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_seek_shared</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_seek_shared(fh, offset, whence)</code></pre><ul><li><code>MPI_File_seek_shared</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_seek_shared.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_seek_shared.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4512-L4516">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_set_atomicity-Tuple{Any, Any}" href="#MPI.API.MPI_File_set_atomicity-Tuple{Any, Any}"><code>MPI.API.MPI_File_set_atomicity</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_set_atomicity(fh, flag)</code></pre><ul><li><code>MPI_File_set_atomicity</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_set_atomicity.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_set_atomicity.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4656-L4660">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_set_errhandler-Tuple{Any, Any}" href="#MPI.API.MPI_File_set_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_File_set_errhandler</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_set_errhandler(file, errhandler)</code></pre><ul><li><code>MPI_File_set_errhandler</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_set_errhandler.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_set_errhandler.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1569-L1573">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_set_info-Tuple{Any, Any}" href="#MPI.API.MPI_File_set_info-Tuple{Any, Any}"><code>MPI.API.MPI_File_set_info</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_set_info(fh, info)</code></pre><ul><li><code>MPI_File_set_info</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_set_info.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_set_info.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4287-L4291">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_set_size-Tuple{Any, Any}" href="#MPI.API.MPI_File_set_size-Tuple{Any, Any}"><code>MPI.API.MPI_File_set_size</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_set_size(fh, size)</code></pre><ul><li><code>MPI_File_set_size</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_set_size.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_set_size.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4242-L4246">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_set_view-NTuple{6, Any}" href="#MPI.API.MPI_File_set_view-NTuple{6, Any}"><code>MPI.API.MPI_File_set_view</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_set_view(fh, disp, etype, filetype, datarep, info)</code></pre><ul><li><code>MPI_File_set_view</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_set_view.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_set_view.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4305-L4309">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_sync-Tuple{Any}" href="#MPI.API.MPI_File_sync-Tuple{Any}"><code>MPI.API.MPI_File_sync</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_sync(fh)</code></pre><ul><li><code>MPI_File_sync</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_sync.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_sync.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4674-L4678">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write-NTuple{5, Any}" href="#MPI.API.MPI_File_write-NTuple{5, Any}"><code>MPI.API.MPI_File_write</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_write</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4395-L4399">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_all-NTuple{5, Any}" href="#MPI.API.MPI_File_write_all-NTuple{5, Any}"><code>MPI.API.MPI_File_write_all</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_all(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_write_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4404-L4408">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_all_begin-NTuple{4, Any}" href="#MPI.API.MPI_File_write_all_begin-NTuple{4, Any}"><code>MPI.API.MPI_File_write_all_begin</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_all_begin(fh, buf, count, datatype)</code></pre><ul><li><code>MPI_File_write_all_begin</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_all_begin.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_all_begin.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4584-L4588">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_all_begin_c-NTuple{4, Any}" href="#MPI.API.MPI_File_write_all_begin_c-NTuple{4, Any}"><code>MPI.API.MPI_File_write_all_begin_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_all_begin_c(fh, buf, count, datatype)</code></pre><ul><li><code>MPI_File_write_all_begin_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_all_begin_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_all_begin_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4818-L4822">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_all_c-NTuple{5, Any}" href="#MPI.API.MPI_File_write_all_c-NTuple{5, Any}"><code>MPI.API.MPI_File_write_all_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_all_c(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_write_all_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_all_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_all_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4809-L4813">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_all_end-Tuple{Any, Any, Any}" href="#MPI.API.MPI_File_write_all_end-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_write_all_end</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_all_end(fh, buf, status)</code></pre><ul><li><code>MPI_File_write_all_end</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_all_end.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_all_end.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4593-L4597">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_at-NTuple{6, Any}" href="#MPI.API.MPI_File_write_at-NTuple{6, Any}"><code>MPI.API.MPI_File_write_at</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_at(fh, offset, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_write_at</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_at.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_at.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4341-L4345">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_at_all-NTuple{6, Any}" href="#MPI.API.MPI_File_write_at_all-NTuple{6, Any}"><code>MPI.API.MPI_File_write_at_all</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_at_all(fh, offset, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_write_at_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_at_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_at_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4350-L4354">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_at_all_begin-NTuple{5, Any}" href="#MPI.API.MPI_File_write_at_all_begin-NTuple{5, Any}"><code>MPI.API.MPI_File_write_at_all_begin</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_at_all_begin(fh, offset, buf, count, datatype)</code></pre><ul><li><code>MPI_File_write_at_all_begin</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_at_all_begin.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_at_all_begin.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4548-L4552">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_at_all_begin_c-NTuple{5, Any}" href="#MPI.API.MPI_File_write_at_all_begin_c-NTuple{5, Any}"><code>MPI.API.MPI_File_write_at_all_begin_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_at_all_begin_c(fh, offset, buf, count, datatype)</code></pre><ul><li><code>MPI_File_write_at_all_begin_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_at_all_begin_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_at_all_begin_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4845-L4849">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_at_all_c-NTuple{6, Any}" href="#MPI.API.MPI_File_write_at_all_c-NTuple{6, Any}"><code>MPI.API.MPI_File_write_at_all_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_at_all_c(fh, offset, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_write_at_all_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_at_all_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_at_all_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4836-L4840">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_at_all_end-Tuple{Any, Any, Any}" href="#MPI.API.MPI_File_write_at_all_end-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_write_at_all_end</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_at_all_end(fh, buf, status)</code></pre><ul><li><code>MPI_File_write_at_all_end</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_at_all_end.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_at_all_end.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4557-L4561">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_at_c-NTuple{6, Any}" href="#MPI.API.MPI_File_write_at_c-NTuple{6, Any}"><code>MPI.API.MPI_File_write_at_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_at_c(fh, offset, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_write_at_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_at_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_at_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4827-L4831">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_c-NTuple{5, Any}" href="#MPI.API.MPI_File_write_c-NTuple{5, Any}"><code>MPI.API.MPI_File_write_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_c(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_write_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4800-L4804">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_ordered-NTuple{5, Any}" href="#MPI.API.MPI_File_write_ordered-NTuple{5, Any}"><code>MPI.API.MPI_File_write_ordered</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_ordered(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_write_ordered</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_ordered.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_ordered.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4503-L4507">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_ordered_begin-NTuple{4, Any}" href="#MPI.API.MPI_File_write_ordered_begin-NTuple{4, Any}"><code>MPI.API.MPI_File_write_ordered_begin</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_ordered_begin(fh, buf, count, datatype)</code></pre><ul><li><code>MPI_File_write_ordered_begin</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_ordered_begin.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_ordered_begin.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4620-L4624">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_ordered_begin_c-NTuple{4, Any}" href="#MPI.API.MPI_File_write_ordered_begin_c-NTuple{4, Any}"><code>MPI.API.MPI_File_write_ordered_begin_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_ordered_begin_c(fh, buf, count, datatype)</code></pre><ul><li><code>MPI_File_write_ordered_begin_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_ordered_begin_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_ordered_begin_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4863-L4867">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_ordered_c-NTuple{5, Any}" href="#MPI.API.MPI_File_write_ordered_c-NTuple{5, Any}"><code>MPI.API.MPI_File_write_ordered_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_ordered_c(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_write_ordered_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_ordered_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_ordered_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4854-L4858">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_ordered_end-Tuple{Any, Any, Any}" href="#MPI.API.MPI_File_write_ordered_end-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_write_ordered_end</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_ordered_end(fh, buf, status)</code></pre><ul><li><code>MPI_File_write_ordered_end</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_ordered_end.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_ordered_end.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4629-L4633">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_shared-NTuple{5, Any}" href="#MPI.API.MPI_File_write_shared-NTuple{5, Any}"><code>MPI.API.MPI_File_write_shared</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_shared(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_write_shared</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_shared.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_shared.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4467-L4471">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_File_write_shared_c-NTuple{5, Any}" href="#MPI.API.MPI_File_write_shared_c-NTuple{5, Any}"><code>MPI.API.MPI_File_write_shared_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_File_write_shared_c(fh, buf, count, datatype, status)</code></pre><ul><li><code>MPI_File_write_shared_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_shared_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_shared_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4872-L4876">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Finalize-Tuple{}" href="#MPI.API.MPI_Finalize-Tuple{}"><code>MPI.API.MPI_Finalize</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Finalize()</code></pre><ul><li><code>MPI_Finalize</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Finalize.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Finalize.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1866-L1870">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Finalized-Tuple{Any}" href="#MPI.API.MPI_Finalized-Tuple{Any}"><code>MPI.API.MPI_Finalized</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Finalized(flag)</code></pre><ul><li><code>MPI_Finalized</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Finalized.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Finalized.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1875-L1879">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Free_mem-Tuple{Any}" href="#MPI.API.MPI_Free_mem-Tuple{Any}"><code>MPI.API.MPI_Free_mem</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Free_mem(base)</code></pre><ul><li><code>MPI_Free_mem</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Free_mem.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Free_mem.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2469-L2473">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Gather-NTuple{8, Any}" href="#MPI.API.MPI_Gather-NTuple{8, Any}"><code>MPI.API.MPI_Gather</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Gather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm)</code></pre><ul><li><code>MPI_Gather</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Gather.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Gather.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L408-L412">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Gather_c-NTuple{8, Any}" href="#MPI.API.MPI_Gather_c-NTuple{8, Any}"><code>MPI.API.MPI_Gather_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Gather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm)</code></pre><ul><li><code>MPI_Gather_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Gather_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Gather_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3243-L3247">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Gather_init-NTuple{10, Any}" href="#MPI.API.MPI_Gather_init-NTuple{10, Any}"><code>MPI.API.MPI_Gather_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Gather_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request)</code></pre><ul><li><code>MPI_Gather_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Gather_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Gather_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L417-L421">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Gather_init_c-NTuple{10, Any}" href="#MPI.API.MPI_Gather_init_c-NTuple{10, Any}"><code>MPI.API.MPI_Gather_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Gather_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request)</code></pre><ul><li><code>MPI_Gather_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Gather_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Gather_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3252-L3256">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Gatherv-NTuple{9, Any}" href="#MPI.API.MPI_Gatherv-NTuple{9, Any}"><code>MPI.API.MPI_Gatherv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Gatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm)</code></pre><ul><li><code>MPI_Gatherv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Gatherv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Gatherv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L426-L430">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Gatherv_c-NTuple{9, Any}" href="#MPI.API.MPI_Gatherv_c-NTuple{9, Any}"><code>MPI.API.MPI_Gatherv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Gatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm)</code></pre><ul><li><code>MPI_Gatherv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Gatherv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Gatherv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3261-L3265">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Gatherv_init-NTuple{11, Any}" href="#MPI.API.MPI_Gatherv_init-NTuple{11, Any}"><code>MPI.API.MPI_Gatherv_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Gatherv_init(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, info, request)</code></pre><ul><li><code>MPI_Gatherv_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Gatherv_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Gatherv_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L435-L439">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Gatherv_init_c-NTuple{11, Any}" href="#MPI.API.MPI_Gatherv_init_c-NTuple{11, Any}"><code>MPI.API.MPI_Gatherv_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Gatherv_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, info, request)</code></pre><ul><li><code>MPI_Gatherv_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Gatherv_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Gatherv_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3270-L3274">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Get-NTuple{8, Any}" href="#MPI.API.MPI_Get-NTuple{8, Any}"><code>MPI.API.MPI_Get</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Get(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win)</code></pre><ul><li><code>MPI_Get</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2478-L2482">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Get_accumulate-NTuple{12, Any}" href="#MPI.API.MPI_Get_accumulate-NTuple{12, Any}"><code>MPI.API.MPI_Get_accumulate</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Get_accumulate(origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win)</code></pre><ul><li><code>MPI_Get_accumulate</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_accumulate.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_accumulate.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2487-L2491">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Get_accumulate_c-NTuple{12, Any}" href="#MPI.API.MPI_Get_accumulate_c-NTuple{12, Any}"><code>MPI.API.MPI_Get_accumulate_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Get_accumulate_c(origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win)</code></pre><ul><li><code>MPI_Get_accumulate_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_accumulate_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_accumulate_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4125-L4129">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Get_address-Tuple{Any, Any}" href="#MPI.API.MPI_Get_address-Tuple{Any, Any}"><code>MPI.API.MPI_Get_address</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Get_address(location, address)</code></pre><ul><li><code>MPI_Get_address</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_address.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_address.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1056-L1060">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Get_c-NTuple{8, Any}" href="#MPI.API.MPI_Get_c-NTuple{8, Any}"><code>MPI.API.MPI_Get_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Get_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win)</code></pre><ul><li><code>MPI_Get_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4116-L4120">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Get_count-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Get_count-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Get_count</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Get_count(status, datatype, count)</code></pre><ul><li><code>MPI_Get_count</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_count.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_count.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1065-L1069">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Get_count_c-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Get_count_c-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Get_count_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Get_count_c(status, datatype, count)</code></pre><ul><li><code>MPI_Get_count_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_count_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_count_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3675-L3679">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Get_elements-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Get_elements-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Get_elements</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Get_elements(status, datatype, count)</code></pre><ul><li><code>MPI_Get_elements</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_elements.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_elements.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1074-L1078">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Get_elements_c-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Get_elements_c-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Get_elements_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Get_elements_c(status, datatype, count)</code></pre><ul><li><code>MPI_Get_elements_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_elements_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_elements_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3684-L3688">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Get_elements_x-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Get_elements_x-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Get_elements_x</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Get_elements_x(status, datatype, count)</code></pre><ul><li><code>MPI_Get_elements_x</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_elements_x.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_elements_x.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1083-L1087">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Get_library_version-Tuple{Any, Any}" href="#MPI.API.MPI_Get_library_version-Tuple{Any, Any}"><code>MPI.API.MPI_Get_library_version</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Get_library_version(version, resultlen)</code></pre><ul><li><code>MPI_Get_library_version</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_library_version.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_library_version.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1947-L1951">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Get_processor_name-Tuple{Any, Any}" href="#MPI.API.MPI_Get_processor_name-Tuple{Any, Any}"><code>MPI.API.MPI_Get_processor_name</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Get_processor_name(name, resultlen)</code></pre><ul><li><code>MPI_Get_processor_name</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_processor_name.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_processor_name.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1956-L1960">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Get_version-Tuple{Any, Any}" href="#MPI.API.MPI_Get_version-Tuple{Any, Any}"><code>MPI.API.MPI_Get_version</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Get_version(version, subversion)</code></pre><ul><li><code>MPI_Get_version</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_version.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_version.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1965-L1969">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Graph_create-NTuple{6, Any}" href="#MPI.API.MPI_Graph_create-NTuple{6, Any}"><code>MPI.API.MPI_Graph_create</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Graph_create(comm_old, nnodes, indx, edges, reorder, comm_graph)</code></pre><ul><li><code>MPI_Graph_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Graph_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Graph_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3036-L3040">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Graph_get-NTuple{5, Any}" href="#MPI.API.MPI_Graph_get-NTuple{5, Any}"><code>MPI.API.MPI_Graph_get</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Graph_get(comm, maxindex, maxedges, indx, edges)</code></pre><ul><li><code>MPI_Graph_get</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Graph_get.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Graph_get.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3045-L3049">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Graph_map-NTuple{5, Any}" href="#MPI.API.MPI_Graph_map-NTuple{5, Any}"><code>MPI.API.MPI_Graph_map</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Graph_map(comm, nnodes, indx, edges, newrank)</code></pre><ul><li><code>MPI_Graph_map</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Graph_map.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Graph_map.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3054-L3058">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Graph_neighbors-NTuple{4, Any}" href="#MPI.API.MPI_Graph_neighbors-NTuple{4, Any}"><code>MPI.API.MPI_Graph_neighbors</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Graph_neighbors(comm, rank, maxneighbors, neighbors)</code></pre><ul><li><code>MPI_Graph_neighbors</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Graph_neighbors.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Graph_neighbors.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3063-L3067">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Graph_neighbors_count-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Graph_neighbors_count-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Graph_neighbors_count</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Graph_neighbors_count(comm, rank, nneighbors)</code></pre><ul><li><code>MPI_Graph_neighbors_count</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Graph_neighbors_count.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Graph_neighbors_count.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3072-L3076">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Graphdims_get-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Graphdims_get-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Graphdims_get</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Graphdims_get(comm, nnodes, nedges)</code></pre><ul><li><code>MPI_Graphdims_get</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Graphdims_get.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Graphdims_get.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3081-L3085">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Grequest_complete-Tuple{Any}" href="#MPI.API.MPI_Grequest_complete-Tuple{Any}"><code>MPI.API.MPI_Grequest_complete</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Grequest_complete(request)</code></pre><ul><li><code>MPI_Grequest_complete</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Grequest_complete.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Grequest_complete.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2307-L2311">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Grequest_start-NTuple{5, Any}" href="#MPI.API.MPI_Grequest_start-NTuple{5, Any}"><code>MPI.API.MPI_Grequest_start</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Grequest_start(query_fn, free_fn, cancel_fn, extra_state, request)</code></pre><ul><li><code>MPI_Grequest_start</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Grequest_start.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Grequest_start.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2316-L2320">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Group_compare-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Group_compare-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Group_compare</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Group_compare(group1, group2, result)</code></pre><ul><li><code>MPI_Group_compare</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Group_compare.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Group_compare.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1641-L1645">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Group_difference-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Group_difference-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Group_difference</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Group_difference(group1, group2, newgroup)</code></pre><ul><li><code>MPI_Group_difference</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Group_difference.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Group_difference.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1650-L1654">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Group_excl-NTuple{4, Any}" href="#MPI.API.MPI_Group_excl-NTuple{4, Any}"><code>MPI.API.MPI_Group_excl</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Group_excl(group, n, ranks, newgroup)</code></pre><ul><li><code>MPI_Group_excl</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Group_excl.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Group_excl.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1659-L1663">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Group_free-Tuple{Any}" href="#MPI.API.MPI_Group_free-Tuple{Any}"><code>MPI.API.MPI_Group_free</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Group_free(group)</code></pre><ul><li><code>MPI_Group_free</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Group_free.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Group_free.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1668-L1672">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Group_incl-NTuple{4, Any}" href="#MPI.API.MPI_Group_incl-NTuple{4, Any}"><code>MPI.API.MPI_Group_incl</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Group_incl(group, n, ranks, newgroup)</code></pre><ul><li><code>MPI_Group_incl</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Group_incl.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Group_incl.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1677-L1681">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Group_intersection-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Group_intersection-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Group_intersection</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Group_intersection(group1, group2, newgroup)</code></pre><ul><li><code>MPI_Group_intersection</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Group_intersection.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Group_intersection.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1686-L1690">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Group_range_excl-NTuple{4, Any}" href="#MPI.API.MPI_Group_range_excl-NTuple{4, Any}"><code>MPI.API.MPI_Group_range_excl</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Group_range_excl(group, n, ranges, newgroup)</code></pre><ul><li><code>MPI_Group_range_excl</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Group_range_excl.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Group_range_excl.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1695-L1699">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Group_range_incl-NTuple{4, Any}" href="#MPI.API.MPI_Group_range_incl-NTuple{4, Any}"><code>MPI.API.MPI_Group_range_incl</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Group_range_incl(group, n, ranges, newgroup)</code></pre><ul><li><code>MPI_Group_range_incl</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Group_range_incl.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Group_range_incl.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1704-L1708">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Group_rank-Tuple{Any, Any}" href="#MPI.API.MPI_Group_rank-Tuple{Any, Any}"><code>MPI.API.MPI_Group_rank</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Group_rank(group, rank)</code></pre><ul><li><code>MPI_Group_rank</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Group_rank.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Group_rank.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1713-L1717">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Group_size-Tuple{Any, Any}" href="#MPI.API.MPI_Group_size-Tuple{Any, Any}"><code>MPI.API.MPI_Group_size</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Group_size(group, size)</code></pre><ul><li><code>MPI_Group_size</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Group_size.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Group_size.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1722-L1726">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Group_translate_ranks-NTuple{5, Any}" href="#MPI.API.MPI_Group_translate_ranks-NTuple{5, Any}"><code>MPI.API.MPI_Group_translate_ranks</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Group_translate_ranks(group1, n, ranks1, group2, ranks2)</code></pre><ul><li><code>MPI_Group_translate_ranks</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Group_translate_ranks.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Group_translate_ranks.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1731-L1735">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Group_union-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Group_union-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Group_union</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Group_union(group1, group2, newgroup)</code></pre><ul><li><code>MPI_Group_union</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Group_union.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Group_union.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1740-L1744">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Iallgather-NTuple{8, Any}" href="#MPI.API.MPI_Iallgather-NTuple{8, Any}"><code>MPI.API.MPI_Iallgather</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Iallgather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)</code></pre><ul><li><code>MPI_Iallgather</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iallgather.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iallgather.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L444-L448">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Iallgather_c-NTuple{8, Any}" href="#MPI.API.MPI_Iallgather_c-NTuple{8, Any}"><code>MPI.API.MPI_Iallgather_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Iallgather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)</code></pre><ul><li><code>MPI_Iallgather_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iallgather_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iallgather_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3279-L3283">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Iallgatherv-NTuple{9, Any}" href="#MPI.API.MPI_Iallgatherv-NTuple{9, Any}"><code>MPI.API.MPI_Iallgatherv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Iallgatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request)</code></pre><ul><li><code>MPI_Iallgatherv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iallgatherv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iallgatherv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L453-L457">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Iallgatherv_c-NTuple{9, Any}" href="#MPI.API.MPI_Iallgatherv_c-NTuple{9, Any}"><code>MPI.API.MPI_Iallgatherv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Iallgatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request)</code></pre><ul><li><code>MPI_Iallgatherv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iallgatherv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iallgatherv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3288-L3292">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Iallreduce-NTuple{7, Any}" href="#MPI.API.MPI_Iallreduce-NTuple{7, Any}"><code>MPI.API.MPI_Iallreduce</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Iallreduce(sendbuf, recvbuf, count, datatype, op, comm, request)</code></pre><ul><li><code>MPI_Iallreduce</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iallreduce.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iallreduce.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L462-L466">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Iallreduce_c-NTuple{7, Any}" href="#MPI.API.MPI_Iallreduce_c-NTuple{7, Any}"><code>MPI.API.MPI_Iallreduce_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Iallreduce_c(sendbuf, recvbuf, count, datatype, op, comm, request)</code></pre><ul><li><code>MPI_Iallreduce_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iallreduce_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iallreduce_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3297-L3301">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ialltoall-NTuple{8, Any}" href="#MPI.API.MPI_Ialltoall-NTuple{8, Any}"><code>MPI.API.MPI_Ialltoall</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ialltoall(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)</code></pre><ul><li><code>MPI_Ialltoall</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ialltoall.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ialltoall.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L471-L475">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ialltoall_c-NTuple{8, Any}" href="#MPI.API.MPI_Ialltoall_c-NTuple{8, Any}"><code>MPI.API.MPI_Ialltoall_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ialltoall_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)</code></pre><ul><li><code>MPI_Ialltoall_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ialltoall_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ialltoall_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3306-L3310">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ialltoallv-NTuple{10, Any}" href="#MPI.API.MPI_Ialltoallv-NTuple{10, Any}"><code>MPI.API.MPI_Ialltoallv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ialltoallv(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request)</code></pre><ul><li><code>MPI_Ialltoallv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ialltoallv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ialltoallv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L480-L484">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ialltoallv_c-NTuple{10, Any}" href="#MPI.API.MPI_Ialltoallv_c-NTuple{10, Any}"><code>MPI.API.MPI_Ialltoallv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ialltoallv_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request)</code></pre><ul><li><code>MPI_Ialltoallv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ialltoallv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ialltoallv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3315-L3319">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ialltoallw-NTuple{10, Any}" href="#MPI.API.MPI_Ialltoallw-NTuple{10, Any}"><code>MPI.API.MPI_Ialltoallw</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ialltoallw(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request)</code></pre><ul><li><code>MPI_Ialltoallw</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ialltoallw.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ialltoallw.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L489-L493">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ialltoallw_c-NTuple{10, Any}" href="#MPI.API.MPI_Ialltoallw_c-NTuple{10, Any}"><code>MPI.API.MPI_Ialltoallw_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ialltoallw_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request)</code></pre><ul><li><code>MPI_Ialltoallw_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ialltoallw_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ialltoallw_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3324-L3328">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ibarrier-Tuple{Any, Any}" href="#MPI.API.MPI_Ibarrier-Tuple{Any, Any}"><code>MPI.API.MPI_Ibarrier</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ibarrier(comm, request)</code></pre><ul><li><code>MPI_Ibarrier</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ibarrier.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ibarrier.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L498-L502">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ibcast-NTuple{6, Any}" href="#MPI.API.MPI_Ibcast-NTuple{6, Any}"><code>MPI.API.MPI_Ibcast</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ibcast(buffer, count, datatype, root, comm, request)</code></pre><ul><li><code>MPI_Ibcast</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ibcast.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ibcast.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L507-L511">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ibcast_c-NTuple{6, Any}" href="#MPI.API.MPI_Ibcast_c-NTuple{6, Any}"><code>MPI.API.MPI_Ibcast_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ibcast_c(buffer, count, datatype, root, comm, request)</code></pre><ul><li><code>MPI_Ibcast_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ibcast_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ibcast_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3333-L3337">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ibsend-NTuple{7, Any}" href="#MPI.API.MPI_Ibsend-NTuple{7, Any}"><code>MPI.API.MPI_Ibsend</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ibsend(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Ibsend</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ibsend.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ibsend.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2091-L2095">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ibsend_c-NTuple{7, Any}" href="#MPI.API.MPI_Ibsend_c-NTuple{7, Any}"><code>MPI.API.MPI_Ibsend_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ibsend_c(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Ibsend_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ibsend_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ibsend_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3936-L3940">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Iexscan-NTuple{7, Any}" href="#MPI.API.MPI_Iexscan-NTuple{7, Any}"><code>MPI.API.MPI_Iexscan</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Iexscan(sendbuf, recvbuf, count, datatype, op, comm, request)</code></pre><ul><li><code>MPI_Iexscan</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iexscan.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iexscan.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L516-L520">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Iexscan_c-NTuple{7, Any}" href="#MPI.API.MPI_Iexscan_c-NTuple{7, Any}"><code>MPI.API.MPI_Iexscan_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Iexscan_c(sendbuf, recvbuf, count, datatype, op, comm, request)</code></pre><ul><li><code>MPI_Iexscan_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iexscan_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iexscan_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3342-L3346">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Igather-NTuple{9, Any}" href="#MPI.API.MPI_Igather-NTuple{9, Any}"><code>MPI.API.MPI_Igather</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Igather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request)</code></pre><ul><li><code>MPI_Igather</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Igather.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Igather.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L525-L529">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Igather_c-NTuple{9, Any}" href="#MPI.API.MPI_Igather_c-NTuple{9, Any}"><code>MPI.API.MPI_Igather_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Igather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request)</code></pre><ul><li><code>MPI_Igather_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Igather_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Igather_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3351-L3355">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Igatherv-NTuple{10, Any}" href="#MPI.API.MPI_Igatherv-NTuple{10, Any}"><code>MPI.API.MPI_Igatherv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Igatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, request)</code></pre><ul><li><code>MPI_Igatherv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Igatherv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Igatherv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L534-L538">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Igatherv_c-NTuple{10, Any}" href="#MPI.API.MPI_Igatherv_c-NTuple{10, Any}"><code>MPI.API.MPI_Igatherv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Igatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, request)</code></pre><ul><li><code>MPI_Igatherv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Igatherv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Igatherv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3360-L3364">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Improbe-NTuple{6, Any}" href="#MPI.API.MPI_Improbe-NTuple{6, Any}"><code>MPI.API.MPI_Improbe</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Improbe(source, tag, comm, flag, message, status)</code></pre><ul><li><code>MPI_Improbe</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Improbe.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Improbe.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2100-L2104">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Imrecv-NTuple{5, Any}" href="#MPI.API.MPI_Imrecv-NTuple{5, Any}"><code>MPI.API.MPI_Imrecv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Imrecv(buf, count, datatype, message, request)</code></pre><ul><li><code>MPI_Imrecv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Imrecv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Imrecv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2109-L2113">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Imrecv_c-NTuple{5, Any}" href="#MPI.API.MPI_Imrecv_c-NTuple{5, Any}"><code>MPI.API.MPI_Imrecv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Imrecv_c(buf, count, datatype, message, request)</code></pre><ul><li><code>MPI_Imrecv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Imrecv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Imrecv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3945-L3949">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ineighbor_allgather-NTuple{8, Any}" href="#MPI.API.MPI_Ineighbor_allgather-NTuple{8, Any}"><code>MPI.API.MPI_Ineighbor_allgather</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ineighbor_allgather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)</code></pre><ul><li><code>MPI_Ineighbor_allgather</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ineighbor_allgather.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ineighbor_allgather.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L543-L547">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ineighbor_allgather_c-NTuple{8, Any}" href="#MPI.API.MPI_Ineighbor_allgather_c-NTuple{8, Any}"><code>MPI.API.MPI_Ineighbor_allgather_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ineighbor_allgather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)</code></pre><ul><li><code>MPI_Ineighbor_allgather_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ineighbor_allgather_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ineighbor_allgather_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3369-L3373">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ineighbor_allgatherv-NTuple{9, Any}" href="#MPI.API.MPI_Ineighbor_allgatherv-NTuple{9, Any}"><code>MPI.API.MPI_Ineighbor_allgatherv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ineighbor_allgatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request)</code></pre><ul><li><code>MPI_Ineighbor_allgatherv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ineighbor_allgatherv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ineighbor_allgatherv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L552-L556">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ineighbor_allgatherv_c-NTuple{9, Any}" href="#MPI.API.MPI_Ineighbor_allgatherv_c-NTuple{9, Any}"><code>MPI.API.MPI_Ineighbor_allgatherv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ineighbor_allgatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request)</code></pre><ul><li><code>MPI_Ineighbor_allgatherv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ineighbor_allgatherv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ineighbor_allgatherv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3378-L3382">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ineighbor_alltoall-NTuple{8, Any}" href="#MPI.API.MPI_Ineighbor_alltoall-NTuple{8, Any}"><code>MPI.API.MPI_Ineighbor_alltoall</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ineighbor_alltoall(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)</code></pre><ul><li><code>MPI_Ineighbor_alltoall</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ineighbor_alltoall.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ineighbor_alltoall.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L561-L565">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ineighbor_alltoall_c-NTuple{8, Any}" href="#MPI.API.MPI_Ineighbor_alltoall_c-NTuple{8, Any}"><code>MPI.API.MPI_Ineighbor_alltoall_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ineighbor_alltoall_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)</code></pre><ul><li><code>MPI_Ineighbor_alltoall_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ineighbor_alltoall_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ineighbor_alltoall_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3387-L3391">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ineighbor_alltoallv-NTuple{10, Any}" href="#MPI.API.MPI_Ineighbor_alltoallv-NTuple{10, Any}"><code>MPI.API.MPI_Ineighbor_alltoallv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ineighbor_alltoallv(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request)</code></pre><ul><li><code>MPI_Ineighbor_alltoallv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ineighbor_alltoallv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ineighbor_alltoallv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L570-L574">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ineighbor_alltoallv_c-NTuple{10, Any}" href="#MPI.API.MPI_Ineighbor_alltoallv_c-NTuple{10, Any}"><code>MPI.API.MPI_Ineighbor_alltoallv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ineighbor_alltoallv_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request)</code></pre><ul><li><code>MPI_Ineighbor_alltoallv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ineighbor_alltoallv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ineighbor_alltoallv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3396-L3400">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ineighbor_alltoallw-NTuple{10, Any}" href="#MPI.API.MPI_Ineighbor_alltoallw-NTuple{10, Any}"><code>MPI.API.MPI_Ineighbor_alltoallw</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ineighbor_alltoallw(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request)</code></pre><ul><li><code>MPI_Ineighbor_alltoallw</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ineighbor_alltoallw.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ineighbor_alltoallw.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L579-L583">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ineighbor_alltoallw_c-NTuple{10, Any}" href="#MPI.API.MPI_Ineighbor_alltoallw_c-NTuple{10, Any}"><code>MPI.API.MPI_Ineighbor_alltoallw_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ineighbor_alltoallw_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request)</code></pre><ul><li><code>MPI_Ineighbor_alltoallw_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ineighbor_alltoallw_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ineighbor_alltoallw_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3405-L3409">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Info_create-Tuple{Any}" href="#MPI.API.MPI_Info_create-Tuple{Any}"><code>MPI.API.MPI_Info_create</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Info_create(info)</code></pre><ul><li><code>MPI_Info_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Info_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Info_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1749-L1753">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Info_create_env-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Info_create_env-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Info_create_env</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Info_create_env(argc, argv, info)</code></pre><ul><li><code>MPI_Info_create_env</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Info_create_env.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Info_create_env.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1758-L1762">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Info_delete-Tuple{Any, Any}" href="#MPI.API.MPI_Info_delete-Tuple{Any, Any}"><code>MPI.API.MPI_Info_delete</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Info_delete(info, key)</code></pre><ul><li><code>MPI_Info_delete</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Info_delete.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Info_delete.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1767-L1771">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Info_dup-Tuple{Any, Any}" href="#MPI.API.MPI_Info_dup-Tuple{Any, Any}"><code>MPI.API.MPI_Info_dup</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Info_dup(info, newinfo)</code></pre><ul><li><code>MPI_Info_dup</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Info_dup.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Info_dup.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1776-L1780">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Info_free-Tuple{Any}" href="#MPI.API.MPI_Info_free-Tuple{Any}"><code>MPI.API.MPI_Info_free</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Info_free(info)</code></pre><ul><li><code>MPI_Info_free</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Info_free.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Info_free.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1785-L1789">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Info_get-NTuple{5, Any}" href="#MPI.API.MPI_Info_get-NTuple{5, Any}"><code>MPI.API.MPI_Info_get</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Info_get(info, key, valuelen, value, flag)</code></pre><ul><li><code>MPI_Info_get</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Info_get.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Info_get.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1794-L1798">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Info_get_nkeys-Tuple{Any, Any}" href="#MPI.API.MPI_Info_get_nkeys-Tuple{Any, Any}"><code>MPI.API.MPI_Info_get_nkeys</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Info_get_nkeys(info, nkeys)</code></pre><ul><li><code>MPI_Info_get_nkeys</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Info_get_nkeys.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Info_get_nkeys.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1803-L1807">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Info_get_nthkey-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Info_get_nthkey-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Info_get_nthkey</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Info_get_nthkey(info, n, key)</code></pre><ul><li><code>MPI_Info_get_nthkey</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Info_get_nthkey.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Info_get_nthkey.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1812-L1816">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Info_get_string-NTuple{5, Any}" href="#MPI.API.MPI_Info_get_string-NTuple{5, Any}"><code>MPI.API.MPI_Info_get_string</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Info_get_string(info, key, buflen, value, flag)</code></pre><ul><li><code>MPI_Info_get_string</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Info_get_string.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Info_get_string.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1821-L1825">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Info_get_valuelen-NTuple{4, Any}" href="#MPI.API.MPI_Info_get_valuelen-NTuple{4, Any}"><code>MPI.API.MPI_Info_get_valuelen</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Info_get_valuelen(info, key, valuelen, flag)</code></pre><ul><li><code>MPI_Info_get_valuelen</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Info_get_valuelen.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Info_get_valuelen.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1830-L1834">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Info_set-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Info_set-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Info_set</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Info_set(info, key, value)</code></pre><ul><li><code>MPI_Info_set</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Info_set.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Info_set.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1839-L1843">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Init-Tuple{Any, Any}" href="#MPI.API.MPI_Init-Tuple{Any, Any}"><code>MPI.API.MPI_Init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Init(argc, argv)</code></pre><ul><li><code>MPI_Init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1884-L1888">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Init_thread-NTuple{4, Any}" href="#MPI.API.MPI_Init_thread-NTuple{4, Any}"><code>MPI.API.MPI_Init_thread</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Init_thread(argc, argv, required, provided)</code></pre><ul><li><code>MPI_Init_thread</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Init_thread.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Init_thread.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1893-L1897">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Initialized-Tuple{Any}" href="#MPI.API.MPI_Initialized-Tuple{Any}"><code>MPI.API.MPI_Initialized</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Initialized(flag)</code></pre><ul><li><code>MPI_Initialized</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Initialized.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Initialized.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1902-L1906">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Intercomm_create-NTuple{6, Any}" href="#MPI.API.MPI_Intercomm_create-NTuple{6, Any}"><code>MPI.API.MPI_Intercomm_create</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Intercomm_create(local_comm, local_leader, peer_comm, remote_leader, tag, newintercomm)</code></pre><ul><li><code>MPI_Intercomm_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Intercomm_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Intercomm_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1029-L1033">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Intercomm_create_from_groups-NTuple{8, Any}" href="#MPI.API.MPI_Intercomm_create_from_groups-NTuple{8, Any}"><code>MPI.API.MPI_Intercomm_create_from_groups</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Intercomm_create_from_groups(local_group, local_leader, remote_group, remote_leader, stringtag, info, errhandler, newintercomm)</code></pre><ul><li><code>MPI_Intercomm_create_from_groups</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Intercomm_create_from_groups.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Intercomm_create_from_groups.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1038-L1042">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Intercomm_merge-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Intercomm_merge-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Intercomm_merge</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Intercomm_merge(intercomm, high, newintracomm)</code></pre><ul><li><code>MPI_Intercomm_merge</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Intercomm_merge.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Intercomm_merge.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1047-L1051">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Iprobe-NTuple{5, Any}" href="#MPI.API.MPI_Iprobe-NTuple{5, Any}"><code>MPI.API.MPI_Iprobe</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Iprobe(source, tag, comm, flag, status)</code></pre><ul><li><code>MPI_Iprobe</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iprobe.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iprobe.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2118-L2122">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Irecv-NTuple{7, Any}" href="#MPI.API.MPI_Irecv-NTuple{7, Any}"><code>MPI.API.MPI_Irecv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Irecv(buf, count, datatype, source, tag, comm, request)</code></pre><ul><li><code>MPI_Irecv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Irecv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Irecv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2127-L2131">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Irecv_c-NTuple{7, Any}" href="#MPI.API.MPI_Irecv_c-NTuple{7, Any}"><code>MPI.API.MPI_Irecv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Irecv_c(buf, count, datatype, source, tag, comm, request)</code></pre><ul><li><code>MPI_Irecv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Irecv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Irecv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3954-L3958">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ireduce-NTuple{8, Any}" href="#MPI.API.MPI_Ireduce-NTuple{8, Any}"><code>MPI.API.MPI_Ireduce</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ireduce(sendbuf, recvbuf, count, datatype, op, root, comm, request)</code></pre><ul><li><code>MPI_Ireduce</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ireduce.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ireduce.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L588-L592">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ireduce_c-NTuple{8, Any}" href="#MPI.API.MPI_Ireduce_c-NTuple{8, Any}"><code>MPI.API.MPI_Ireduce_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ireduce_c(sendbuf, recvbuf, count, datatype, op, root, comm, request)</code></pre><ul><li><code>MPI_Ireduce_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ireduce_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ireduce_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3414-L3418">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ireduce_scatter-NTuple{7, Any}" href="#MPI.API.MPI_Ireduce_scatter-NTuple{7, Any}"><code>MPI.API.MPI_Ireduce_scatter</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ireduce_scatter(sendbuf, recvbuf, recvcounts, datatype, op, comm, request)</code></pre><ul><li><code>MPI_Ireduce_scatter</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ireduce_scatter.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ireduce_scatter.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L597-L601">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ireduce_scatter_block-NTuple{7, Any}" href="#MPI.API.MPI_Ireduce_scatter_block-NTuple{7, Any}"><code>MPI.API.MPI_Ireduce_scatter_block</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ireduce_scatter_block(sendbuf, recvbuf, recvcount, datatype, op, comm, request)</code></pre><ul><li><code>MPI_Ireduce_scatter_block</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ireduce_scatter_block.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ireduce_scatter_block.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L606-L610">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ireduce_scatter_block_c-NTuple{7, Any}" href="#MPI.API.MPI_Ireduce_scatter_block_c-NTuple{7, Any}"><code>MPI.API.MPI_Ireduce_scatter_block_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ireduce_scatter_block_c(sendbuf, recvbuf, recvcount, datatype, op, comm, request)</code></pre><ul><li><code>MPI_Ireduce_scatter_block_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ireduce_scatter_block_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ireduce_scatter_block_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3432-L3436">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ireduce_scatter_c-NTuple{7, Any}" href="#MPI.API.MPI_Ireduce_scatter_c-NTuple{7, Any}"><code>MPI.API.MPI_Ireduce_scatter_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ireduce_scatter_c(sendbuf, recvbuf, recvcounts, datatype, op, comm, request)</code></pre><ul><li><code>MPI_Ireduce_scatter_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ireduce_scatter_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ireduce_scatter_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3423-L3427">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Irsend-NTuple{7, Any}" href="#MPI.API.MPI_Irsend-NTuple{7, Any}"><code>MPI.API.MPI_Irsend</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Irsend(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Irsend</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Irsend.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Irsend.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2136-L2140">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Irsend_c-NTuple{7, Any}" href="#MPI.API.MPI_Irsend_c-NTuple{7, Any}"><code>MPI.API.MPI_Irsend_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Irsend_c(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Irsend_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Irsend_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Irsend_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3963-L3967">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Is_thread_main-Tuple{Any}" href="#MPI.API.MPI_Is_thread_main-Tuple{Any}"><code>MPI.API.MPI_Is_thread_main</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Is_thread_main(flag)</code></pre><ul><li><code>MPI_Is_thread_main</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Is_thread_main.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Is_thread_main.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1911-L1915">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Iscan-NTuple{7, Any}" href="#MPI.API.MPI_Iscan-NTuple{7, Any}"><code>MPI.API.MPI_Iscan</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Iscan(sendbuf, recvbuf, count, datatype, op, comm, request)</code></pre><ul><li><code>MPI_Iscan</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iscan.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iscan.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L615-L619">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Iscan_c-NTuple{7, Any}" href="#MPI.API.MPI_Iscan_c-NTuple{7, Any}"><code>MPI.API.MPI_Iscan_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Iscan_c(sendbuf, recvbuf, count, datatype, op, comm, request)</code></pre><ul><li><code>MPI_Iscan_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iscan_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iscan_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3441-L3445">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Iscatter-NTuple{9, Any}" href="#MPI.API.MPI_Iscatter-NTuple{9, Any}"><code>MPI.API.MPI_Iscatter</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Iscatter(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request)</code></pre><ul><li><code>MPI_Iscatter</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iscatter.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iscatter.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L624-L628">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Iscatter_c-NTuple{9, Any}" href="#MPI.API.MPI_Iscatter_c-NTuple{9, Any}"><code>MPI.API.MPI_Iscatter_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Iscatter_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request)</code></pre><ul><li><code>MPI_Iscatter_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iscatter_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iscatter_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3450-L3454">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Iscatterv-NTuple{10, Any}" href="#MPI.API.MPI_Iscatterv-NTuple{10, Any}"><code>MPI.API.MPI_Iscatterv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Iscatterv(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, request)</code></pre><ul><li><code>MPI_Iscatterv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iscatterv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iscatterv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L633-L637">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Iscatterv_c-NTuple{10, Any}" href="#MPI.API.MPI_Iscatterv_c-NTuple{10, Any}"><code>MPI.API.MPI_Iscatterv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Iscatterv_c(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, request)</code></pre><ul><li><code>MPI_Iscatterv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iscatterv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iscatterv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3459-L3463">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Isend-NTuple{7, Any}" href="#MPI.API.MPI_Isend-NTuple{7, Any}"><code>MPI.API.MPI_Isend</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Isend(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Isend</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Isend.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Isend.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2145-L2149">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Isend_c-NTuple{7, Any}" href="#MPI.API.MPI_Isend_c-NTuple{7, Any}"><code>MPI.API.MPI_Isend_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Isend_c(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Isend_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Isend_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Isend_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3972-L3976">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Isendrecv-NTuple{12, Any}" href="#MPI.API.MPI_Isendrecv-NTuple{12, Any}"><code>MPI.API.MPI_Isendrecv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Isendrecv(sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, request)</code></pre><ul><li><code>MPI_Isendrecv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Isendrecv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Isendrecv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2154-L2158">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Isendrecv_c-NTuple{12, Any}" href="#MPI.API.MPI_Isendrecv_c-NTuple{12, Any}"><code>MPI.API.MPI_Isendrecv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Isendrecv_c(sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, request)</code></pre><ul><li><code>MPI_Isendrecv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Isendrecv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Isendrecv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3981-L3985">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Isendrecv_replace-NTuple{9, Any}" href="#MPI.API.MPI_Isendrecv_replace-NTuple{9, Any}"><code>MPI.API.MPI_Isendrecv_replace</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Isendrecv_replace(buf, count, datatype, dest, sendtag, source, recvtag, comm, request)</code></pre><ul><li><code>MPI_Isendrecv_replace</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Isendrecv_replace.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Isendrecv_replace.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2163-L2167">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Isendrecv_replace_c-NTuple{9, Any}" href="#MPI.API.MPI_Isendrecv_replace_c-NTuple{9, Any}"><code>MPI.API.MPI_Isendrecv_replace_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Isendrecv_replace_c(buf, count, datatype, dest, sendtag, source, recvtag, comm, request)</code></pre><ul><li><code>MPI_Isendrecv_replace_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Isendrecv_replace_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Isendrecv_replace_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3990-L3994">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Issend-NTuple{7, Any}" href="#MPI.API.MPI_Issend-NTuple{7, Any}"><code>MPI.API.MPI_Issend</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Issend(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Issend</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Issend.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Issend.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2172-L2176">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Issend_c-NTuple{7, Any}" href="#MPI.API.MPI_Issend_c-NTuple{7, Any}"><code>MPI.API.MPI_Issend_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Issend_c(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Issend_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Issend_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Issend_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3999-L4003">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Keyval_create-NTuple{4, Any}" href="#MPI.API.MPI_Keyval_create-NTuple{4, Any}"><code>MPI.API.MPI_Keyval_create</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Keyval_create(copy_fn, delete_fn, keyval, extra_state)</code></pre><ul><li><code>MPI_Keyval_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Keyval_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Keyval_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L138-L142">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Keyval_free-Tuple{Any}" href="#MPI.API.MPI_Keyval_free-Tuple{Any}"><code>MPI.API.MPI_Keyval_free</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Keyval_free(keyval)</code></pre><ul><li><code>MPI_Keyval_free</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Keyval_free.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Keyval_free.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L147-L151">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Lookup_name-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Lookup_name-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Lookup_name</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Lookup_name(service_name, info, port_name)</code></pre><ul><li><code>MPI_Lookup_name</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Lookup_name.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Lookup_name.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2865-L2869">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Mprobe-NTuple{5, Any}" href="#MPI.API.MPI_Mprobe-NTuple{5, Any}"><code>MPI.API.MPI_Mprobe</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Mprobe(source, tag, comm, message, status)</code></pre><ul><li><code>MPI_Mprobe</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Mprobe.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Mprobe.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2181-L2185">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Mrecv-NTuple{5, Any}" href="#MPI.API.MPI_Mrecv-NTuple{5, Any}"><code>MPI.API.MPI_Mrecv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Mrecv(buf, count, datatype, message, status)</code></pre><ul><li><code>MPI_Mrecv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Mrecv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Mrecv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2190-L2194">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Mrecv_c-NTuple{5, Any}" href="#MPI.API.MPI_Mrecv_c-NTuple{5, Any}"><code>MPI.API.MPI_Mrecv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Mrecv_c(buf, count, datatype, message, status)</code></pre><ul><li><code>MPI_Mrecv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Mrecv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Mrecv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4008-L4012">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_allgather-NTuple{7, Any}" href="#MPI.API.MPI_Neighbor_allgather-NTuple{7, Any}"><code>MPI.API.MPI_Neighbor_allgather</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_allgather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)</code></pre><ul><li><code>MPI_Neighbor_allgather</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_allgather.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_allgather.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L642-L646">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_allgather_c-NTuple{7, Any}" href="#MPI.API.MPI_Neighbor_allgather_c-NTuple{7, Any}"><code>MPI.API.MPI_Neighbor_allgather_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_allgather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)</code></pre><ul><li><code>MPI_Neighbor_allgather_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_allgather_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_allgather_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3468-L3472">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_allgather_init-NTuple{9, Any}" href="#MPI.API.MPI_Neighbor_allgather_init-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_allgather_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_allgather_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Neighbor_allgather_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_allgather_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_allgather_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L651-L655">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_allgather_init_c-NTuple{9, Any}" href="#MPI.API.MPI_Neighbor_allgather_init_c-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_allgather_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_allgather_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Neighbor_allgather_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_allgather_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_allgather_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3477-L3481">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_allgatherv-NTuple{8, Any}" href="#MPI.API.MPI_Neighbor_allgatherv-NTuple{8, Any}"><code>MPI.API.MPI_Neighbor_allgatherv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_allgatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm)</code></pre><ul><li><code>MPI_Neighbor_allgatherv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_allgatherv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_allgatherv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L660-L664">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_allgatherv_c-NTuple{8, Any}" href="#MPI.API.MPI_Neighbor_allgatherv_c-NTuple{8, Any}"><code>MPI.API.MPI_Neighbor_allgatherv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_allgatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm)</code></pre><ul><li><code>MPI_Neighbor_allgatherv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_allgatherv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_allgatherv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3486-L3490">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_allgatherv_init-NTuple{10, Any}" href="#MPI.API.MPI_Neighbor_allgatherv_init-NTuple{10, Any}"><code>MPI.API.MPI_Neighbor_allgatherv_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_allgatherv_init(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Neighbor_allgatherv_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_allgatherv_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_allgatherv_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L669-L673">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_allgatherv_init_c-NTuple{10, Any}" href="#MPI.API.MPI_Neighbor_allgatherv_init_c-NTuple{10, Any}"><code>MPI.API.MPI_Neighbor_allgatherv_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_allgatherv_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Neighbor_allgatherv_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_allgatherv_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_allgatherv_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3495-L3499">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_alltoall-NTuple{7, Any}" href="#MPI.API.MPI_Neighbor_alltoall-NTuple{7, Any}"><code>MPI.API.MPI_Neighbor_alltoall</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_alltoall(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)</code></pre><ul><li><code>MPI_Neighbor_alltoall</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_alltoall.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_alltoall.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L678-L682">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_alltoall_c-NTuple{7, Any}" href="#MPI.API.MPI_Neighbor_alltoall_c-NTuple{7, Any}"><code>MPI.API.MPI_Neighbor_alltoall_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_alltoall_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)</code></pre><ul><li><code>MPI_Neighbor_alltoall_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_alltoall_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_alltoall_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3504-L3508">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_alltoall_init-NTuple{9, Any}" href="#MPI.API.MPI_Neighbor_alltoall_init-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_alltoall_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_alltoall_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Neighbor_alltoall_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_alltoall_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_alltoall_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L687-L691">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_alltoall_init_c-NTuple{9, Any}" href="#MPI.API.MPI_Neighbor_alltoall_init_c-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_alltoall_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_alltoall_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Neighbor_alltoall_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_alltoall_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_alltoall_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3513-L3517">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_alltoallv-NTuple{9, Any}" href="#MPI.API.MPI_Neighbor_alltoallv-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_alltoallv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_alltoallv(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm)</code></pre><ul><li><code>MPI_Neighbor_alltoallv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_alltoallv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_alltoallv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L696-L700">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_alltoallv_c-NTuple{9, Any}" href="#MPI.API.MPI_Neighbor_alltoallv_c-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_alltoallv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_alltoallv_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm)</code></pre><ul><li><code>MPI_Neighbor_alltoallv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_alltoallv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_alltoallv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3522-L3526">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_alltoallv_init-NTuple{11, Any}" href="#MPI.API.MPI_Neighbor_alltoallv_init-NTuple{11, Any}"><code>MPI.API.MPI_Neighbor_alltoallv_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_alltoallv_init(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Neighbor_alltoallv_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_alltoallv_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_alltoallv_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L705-L709">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_alltoallv_init_c-NTuple{11, Any}" href="#MPI.API.MPI_Neighbor_alltoallv_init_c-NTuple{11, Any}"><code>MPI.API.MPI_Neighbor_alltoallv_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_alltoallv_init_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request)</code></pre><ul><li><code>MPI_Neighbor_alltoallv_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_alltoallv_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_alltoallv_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3531-L3535">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_alltoallw-NTuple{9, Any}" href="#MPI.API.MPI_Neighbor_alltoallw-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_alltoallw</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_alltoallw(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm)</code></pre><ul><li><code>MPI_Neighbor_alltoallw</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_alltoallw.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_alltoallw.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L714-L718">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_alltoallw_c-NTuple{9, Any}" href="#MPI.API.MPI_Neighbor_alltoallw_c-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_alltoallw_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_alltoallw_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm)</code></pre><ul><li><code>MPI_Neighbor_alltoallw_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_alltoallw_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_alltoallw_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3540-L3544">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_alltoallw_init-NTuple{11, Any}" href="#MPI.API.MPI_Neighbor_alltoallw_init-NTuple{11, Any}"><code>MPI.API.MPI_Neighbor_alltoallw_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_alltoallw_init(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request)</code></pre><ul><li><code>MPI_Neighbor_alltoallw_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_alltoallw_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_alltoallw_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L723-L727">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Neighbor_alltoallw_init_c-NTuple{11, Any}" href="#MPI.API.MPI_Neighbor_alltoallw_init_c-NTuple{11, Any}"><code>MPI.API.MPI_Neighbor_alltoallw_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Neighbor_alltoallw_init_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request)</code></pre><ul><li><code>MPI_Neighbor_alltoallw_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_alltoallw_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_alltoallw_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3549-L3553">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Op_commutative-Tuple{Any, Any}" href="#MPI.API.MPI_Op_commutative-Tuple{Any, Any}"><code>MPI.API.MPI_Op_commutative</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Op_commutative(op, commute)</code></pre><ul><li><code>MPI_Op_commutative</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Op_commutative.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Op_commutative.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1974-L1978">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Op_create-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Op_create-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Op_create</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Op_create(user_fn, commute, op)</code></pre><ul><li><code>MPI_Op_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Op_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Op_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1983-L1987">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Op_create_c-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Op_create_c-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Op_create_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Op_create_c(user_fn, commute, op)</code></pre><ul><li><code>MPI_Op_create_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Op_create_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Op_create_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3891-L3895">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Op_free-Tuple{Any}" href="#MPI.API.MPI_Op_free-Tuple{Any}"><code>MPI.API.MPI_Op_free</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Op_free(op)</code></pre><ul><li><code>MPI_Op_free</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Op_free.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Op_free.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1992-L1996">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Open_port-Tuple{Any, Any}" href="#MPI.API.MPI_Open_port-Tuple{Any, Any}"><code>MPI.API.MPI_Open_port</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Open_port(info, port_name)</code></pre><ul><li><code>MPI_Open_port</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Open_port.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Open_port.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2874-L2878">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Pack-NTuple{7, Any}" href="#MPI.API.MPI_Pack-NTuple{7, Any}"><code>MPI.API.MPI_Pack</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Pack(inbuf, incount, datatype, outbuf, outsize, position, comm)</code></pre><ul><li><code>MPI_Pack</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Pack.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Pack.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1092-L1096">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Pack_c-NTuple{7, Any}" href="#MPI.API.MPI_Pack_c-NTuple{7, Any}"><code>MPI.API.MPI_Pack_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Pack_c(inbuf, incount, datatype, outbuf, outsize, position, comm)</code></pre><ul><li><code>MPI_Pack_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Pack_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Pack_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3693-L3697">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Pack_external-NTuple{7, Any}" href="#MPI.API.MPI_Pack_external-NTuple{7, Any}"><code>MPI.API.MPI_Pack_external</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Pack_external(datarep, inbuf, incount, datatype, outbuf, outsize, position)</code></pre><ul><li><code>MPI_Pack_external</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Pack_external.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Pack_external.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1101-L1105">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Pack_external_c-NTuple{7, Any}" href="#MPI.API.MPI_Pack_external_c-NTuple{7, Any}"><code>MPI.API.MPI_Pack_external_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Pack_external_c(datarep, inbuf, incount, datatype, outbuf, outsize, position)</code></pre><ul><li><code>MPI_Pack_external_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Pack_external_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Pack_external_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3702-L3706">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Pack_external_size-NTuple{4, Any}" href="#MPI.API.MPI_Pack_external_size-NTuple{4, Any}"><code>MPI.API.MPI_Pack_external_size</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Pack_external_size(datarep, incount, datatype, size)</code></pre><ul><li><code>MPI_Pack_external_size</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Pack_external_size.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Pack_external_size.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1110-L1114">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Pack_external_size_c-NTuple{4, Any}" href="#MPI.API.MPI_Pack_external_size_c-NTuple{4, Any}"><code>MPI.API.MPI_Pack_external_size_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Pack_external_size_c(datarep, incount, datatype, size)</code></pre><ul><li><code>MPI_Pack_external_size_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Pack_external_size_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Pack_external_size_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3711-L3715">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Pack_size-NTuple{4, Any}" href="#MPI.API.MPI_Pack_size-NTuple{4, Any}"><code>MPI.API.MPI_Pack_size</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Pack_size(incount, datatype, comm, size)</code></pre><ul><li><code>MPI_Pack_size</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Pack_size.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Pack_size.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1119-L1123">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Pack_size_c-NTuple{4, Any}" href="#MPI.API.MPI_Pack_size_c-NTuple{4, Any}"><code>MPI.API.MPI_Pack_size_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Pack_size_c(incount, datatype, comm, size)</code></pre><ul><li><code>MPI_Pack_size_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Pack_size_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Pack_size_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3720-L3724">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Parrived-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Parrived-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Parrived</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Parrived(request, partition, flag)</code></pre><ul><li><code>MPI_Parrived</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Parrived.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Parrived.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2001-L2005">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Pready-Tuple{Any, Any}" href="#MPI.API.MPI_Pready-Tuple{Any, Any}"><code>MPI.API.MPI_Pready</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Pready(partition, request)</code></pre><ul><li><code>MPI_Pready</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Pready.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Pready.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2010-L2014">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Pready_list-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Pready_list-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Pready_list</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Pready_list(length, array_of_partitions, request)</code></pre><ul><li><code>MPI_Pready_list</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Pready_list.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Pready_list.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2019-L2023">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Pready_range-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Pready_range-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Pready_range</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Pready_range(partition_low, partition_high, request)</code></pre><ul><li><code>MPI_Pready_range</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Pready_range.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Pready_range.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2028-L2032">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Precv_init-NTuple{9, Any}" href="#MPI.API.MPI_Precv_init-NTuple{9, Any}"><code>MPI.API.MPI_Precv_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Precv_init(buf, partitions, count, datatype, dest, tag, comm, info, request)</code></pre><ul><li><code>MPI_Precv_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Precv_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Precv_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2037-L2041">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Probe-NTuple{4, Any}" href="#MPI.API.MPI_Probe-NTuple{4, Any}"><code>MPI.API.MPI_Probe</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Probe(source, tag, comm, status)</code></pre><ul><li><code>MPI_Probe</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Probe.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Probe.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2199-L2203">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Psend_init-NTuple{9, Any}" href="#MPI.API.MPI_Psend_init-NTuple{9, Any}"><code>MPI.API.MPI_Psend_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Psend_init(buf, partitions, count, datatype, dest, tag, comm, info, request)</code></pre><ul><li><code>MPI_Psend_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Psend_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Psend_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2046-L2050">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Publish_name-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Publish_name-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Publish_name</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Publish_name(service_name, info, port_name)</code></pre><ul><li><code>MPI_Publish_name</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Publish_name.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Publish_name.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2883-L2887">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Put-NTuple{8, Any}" href="#MPI.API.MPI_Put-NTuple{8, Any}"><code>MPI.API.MPI_Put</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Put(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win)</code></pre><ul><li><code>MPI_Put</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Put.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Put.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2496-L2500">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Put_c-NTuple{8, Any}" href="#MPI.API.MPI_Put_c-NTuple{8, Any}"><code>MPI.API.MPI_Put_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Put_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win)</code></pre><ul><li><code>MPI_Put_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Put_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Put_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4134-L4138">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Query_thread-Tuple{Any}" href="#MPI.API.MPI_Query_thread-Tuple{Any}"><code>MPI.API.MPI_Query_thread</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Query_thread(provided)</code></pre><ul><li><code>MPI_Query_thread</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Query_thread.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Query_thread.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1920-L1924">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Raccumulate-NTuple{10, Any}" href="#MPI.API.MPI_Raccumulate-NTuple{10, Any}"><code>MPI.API.MPI_Raccumulate</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Raccumulate(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request)</code></pre><ul><li><code>MPI_Raccumulate</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Raccumulate.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Raccumulate.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2505-L2509">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Raccumulate_c-NTuple{10, Any}" href="#MPI.API.MPI_Raccumulate_c-NTuple{10, Any}"><code>MPI.API.MPI_Raccumulate_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Raccumulate_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request)</code></pre><ul><li><code>MPI_Raccumulate_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Raccumulate_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Raccumulate_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4143-L4147">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Recv-NTuple{7, Any}" href="#MPI.API.MPI_Recv-NTuple{7, Any}"><code>MPI.API.MPI_Recv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Recv(buf, count, datatype, source, tag, comm, status)</code></pre><ul><li><code>MPI_Recv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Recv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Recv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2208-L2212">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Recv_c-NTuple{7, Any}" href="#MPI.API.MPI_Recv_c-NTuple{7, Any}"><code>MPI.API.MPI_Recv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Recv_c(buf, count, datatype, source, tag, comm, status)</code></pre><ul><li><code>MPI_Recv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Recv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Recv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4017-L4021">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Recv_init-NTuple{7, Any}" href="#MPI.API.MPI_Recv_init-NTuple{7, Any}"><code>MPI.API.MPI_Recv_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Recv_init(buf, count, datatype, source, tag, comm, request)</code></pre><ul><li><code>MPI_Recv_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Recv_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Recv_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2217-L2221">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Recv_init_c-NTuple{7, Any}" href="#MPI.API.MPI_Recv_init_c-NTuple{7, Any}"><code>MPI.API.MPI_Recv_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Recv_init_c(buf, count, datatype, source, tag, comm, request)</code></pre><ul><li><code>MPI_Recv_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Recv_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Recv_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4026-L4030">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Reduce-NTuple{7, Any}" href="#MPI.API.MPI_Reduce-NTuple{7, Any}"><code>MPI.API.MPI_Reduce</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Reduce(sendbuf, recvbuf, count, datatype, op, root, comm)</code></pre><ul><li><code>MPI_Reduce</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L732-L736">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Reduce_c-NTuple{7, Any}" href="#MPI.API.MPI_Reduce_c-NTuple{7, Any}"><code>MPI.API.MPI_Reduce_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Reduce_c(sendbuf, recvbuf, count, datatype, op, root, comm)</code></pre><ul><li><code>MPI_Reduce_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3558-L3562">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Reduce_init-NTuple{9, Any}" href="#MPI.API.MPI_Reduce_init-NTuple{9, Any}"><code>MPI.API.MPI_Reduce_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Reduce_init(sendbuf, recvbuf, count, datatype, op, root, comm, info, request)</code></pre><ul><li><code>MPI_Reduce_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L741-L745">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Reduce_init_c-NTuple{9, Any}" href="#MPI.API.MPI_Reduce_init_c-NTuple{9, Any}"><code>MPI.API.MPI_Reduce_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Reduce_init_c(sendbuf, recvbuf, count, datatype, op, root, comm, info, request)</code></pre><ul><li><code>MPI_Reduce_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3567-L3571">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Reduce_local-NTuple{5, Any}" href="#MPI.API.MPI_Reduce_local-NTuple{5, Any}"><code>MPI.API.MPI_Reduce_local</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Reduce_local(inbuf, inoutbuf, count, datatype, op)</code></pre><ul><li><code>MPI_Reduce_local</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce_local.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce_local.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L750-L754">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Reduce_local_c-NTuple{5, Any}" href="#MPI.API.MPI_Reduce_local_c-NTuple{5, Any}"><code>MPI.API.MPI_Reduce_local_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Reduce_local_c(inbuf, inoutbuf, count, datatype, op)</code></pre><ul><li><code>MPI_Reduce_local_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce_local_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce_local_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3576-L3580">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Reduce_scatter-NTuple{6, Any}" href="#MPI.API.MPI_Reduce_scatter-NTuple{6, Any}"><code>MPI.API.MPI_Reduce_scatter</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Reduce_scatter(sendbuf, recvbuf, recvcounts, datatype, op, comm)</code></pre><ul><li><code>MPI_Reduce_scatter</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce_scatter.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce_scatter.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L759-L763">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Reduce_scatter_block-NTuple{6, Any}" href="#MPI.API.MPI_Reduce_scatter_block-NTuple{6, Any}"><code>MPI.API.MPI_Reduce_scatter_block</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Reduce_scatter_block(sendbuf, recvbuf, recvcount, datatype, op, comm)</code></pre><ul><li><code>MPI_Reduce_scatter_block</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce_scatter_block.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce_scatter_block.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L768-L772">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Reduce_scatter_block_c-NTuple{6, Any}" href="#MPI.API.MPI_Reduce_scatter_block_c-NTuple{6, Any}"><code>MPI.API.MPI_Reduce_scatter_block_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Reduce_scatter_block_c(sendbuf, recvbuf, recvcount, datatype, op, comm)</code></pre><ul><li><code>MPI_Reduce_scatter_block_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce_scatter_block_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce_scatter_block_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3594-L3598">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Reduce_scatter_block_init-NTuple{8, Any}" href="#MPI.API.MPI_Reduce_scatter_block_init-NTuple{8, Any}"><code>MPI.API.MPI_Reduce_scatter_block_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Reduce_scatter_block_init(sendbuf, recvbuf, recvcount, datatype, op, comm, info, request)</code></pre><ul><li><code>MPI_Reduce_scatter_block_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce_scatter_block_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce_scatter_block_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L777-L781">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Reduce_scatter_block_init_c-NTuple{8, Any}" href="#MPI.API.MPI_Reduce_scatter_block_init_c-NTuple{8, Any}"><code>MPI.API.MPI_Reduce_scatter_block_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Reduce_scatter_block_init_c(sendbuf, recvbuf, recvcount, datatype, op, comm, info, request)</code></pre><ul><li><code>MPI_Reduce_scatter_block_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce_scatter_block_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce_scatter_block_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3603-L3607">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Reduce_scatter_c-NTuple{6, Any}" href="#MPI.API.MPI_Reduce_scatter_c-NTuple{6, Any}"><code>MPI.API.MPI_Reduce_scatter_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Reduce_scatter_c(sendbuf, recvbuf, recvcounts, datatype, op, comm)</code></pre><ul><li><code>MPI_Reduce_scatter_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce_scatter_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce_scatter_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3585-L3589">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Reduce_scatter_init-NTuple{8, Any}" href="#MPI.API.MPI_Reduce_scatter_init-NTuple{8, Any}"><code>MPI.API.MPI_Reduce_scatter_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Reduce_scatter_init(sendbuf, recvbuf, recvcounts, datatype, op, comm, info, request)</code></pre><ul><li><code>MPI_Reduce_scatter_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce_scatter_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce_scatter_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L786-L790">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Reduce_scatter_init_c-NTuple{8, Any}" href="#MPI.API.MPI_Reduce_scatter_init_c-NTuple{8, Any}"><code>MPI.API.MPI_Reduce_scatter_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Reduce_scatter_init_c(sendbuf, recvbuf, recvcounts, datatype, op, comm, info, request)</code></pre><ul><li><code>MPI_Reduce_scatter_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce_scatter_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce_scatter_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3612-L3616">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Register_datarep-NTuple{5, Any}" href="#MPI.API.MPI_Register_datarep-NTuple{5, Any}"><code>MPI.API.MPI_Register_datarep</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Register_datarep(datarep, read_conversion_fn, write_conversion_fn, dtype_file_extent_fn, extra_state)</code></pre><ul><li><code>MPI_Register_datarep</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Register_datarep.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Register_datarep.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4647-L4651">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Register_datarep_c-NTuple{5, Any}" href="#MPI.API.MPI_Register_datarep_c-NTuple{5, Any}"><code>MPI.API.MPI_Register_datarep_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Register_datarep_c(datarep, read_conversion_fn, write_conversion_fn, dtype_file_extent_fn, extra_state)</code></pre><ul><li><code>MPI_Register_datarep_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Register_datarep_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Register_datarep_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4980-L4984">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Request_free-Tuple{Any}" href="#MPI.API.MPI_Request_free-Tuple{Any}"><code>MPI.API.MPI_Request_free</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Request_free(request)</code></pre><ul><li><code>MPI_Request_free</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Request_free.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Request_free.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2325-L2329">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Request_get_status-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Request_get_status-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Request_get_status</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Request_get_status(request, flag, status)</code></pre><ul><li><code>MPI_Request_get_status</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Request_get_status.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Request_get_status.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2334-L2338">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Rget-NTuple{9, Any}" href="#MPI.API.MPI_Rget-NTuple{9, Any}"><code>MPI.API.MPI_Rget</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Rget(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request)</code></pre><ul><li><code>MPI_Rget</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Rget.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Rget.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2514-L2518">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Rget_accumulate-NTuple{13, Any}" href="#MPI.API.MPI_Rget_accumulate-NTuple{13, Any}"><code>MPI.API.MPI_Rget_accumulate</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Rget_accumulate(origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request)</code></pre><ul><li><code>MPI_Rget_accumulate</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Rget_accumulate.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Rget_accumulate.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2523-L2527">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Rget_accumulate_c-NTuple{13, Any}" href="#MPI.API.MPI_Rget_accumulate_c-NTuple{13, Any}"><code>MPI.API.MPI_Rget_accumulate_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Rget_accumulate_c(origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request)</code></pre><ul><li><code>MPI_Rget_accumulate_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Rget_accumulate_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Rget_accumulate_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4161-L4165">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Rget_c-NTuple{9, Any}" href="#MPI.API.MPI_Rget_c-NTuple{9, Any}"><code>MPI.API.MPI_Rget_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Rget_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request)</code></pre><ul><li><code>MPI_Rget_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Rget_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Rget_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4152-L4156">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Rput-NTuple{9, Any}" href="#MPI.API.MPI_Rput-NTuple{9, Any}"><code>MPI.API.MPI_Rput</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Rput(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request)</code></pre><ul><li><code>MPI_Rput</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Rput.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Rput.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2532-L2536">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Rput_c-NTuple{9, Any}" href="#MPI.API.MPI_Rput_c-NTuple{9, Any}"><code>MPI.API.MPI_Rput_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Rput_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request)</code></pre><ul><li><code>MPI_Rput_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Rput_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Rput_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4170-L4174">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Rsend-NTuple{6, Any}" href="#MPI.API.MPI_Rsend-NTuple{6, Any}"><code>MPI.API.MPI_Rsend</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Rsend(buf, count, datatype, dest, tag, comm)</code></pre><ul><li><code>MPI_Rsend</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Rsend.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Rsend.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2226-L2230">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Rsend_c-NTuple{6, Any}" href="#MPI.API.MPI_Rsend_c-NTuple{6, Any}"><code>MPI.API.MPI_Rsend_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Rsend_c(buf, count, datatype, dest, tag, comm)</code></pre><ul><li><code>MPI_Rsend_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Rsend_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Rsend_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4035-L4039">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Rsend_init-NTuple{7, Any}" href="#MPI.API.MPI_Rsend_init-NTuple{7, Any}"><code>MPI.API.MPI_Rsend_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Rsend_init(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Rsend_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Rsend_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Rsend_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2235-L2239">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Rsend_init_c-NTuple{7, Any}" href="#MPI.API.MPI_Rsend_init_c-NTuple{7, Any}"><code>MPI.API.MPI_Rsend_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Rsend_init_c(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Rsend_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Rsend_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Rsend_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4044-L4048">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Scan-NTuple{6, Any}" href="#MPI.API.MPI_Scan-NTuple{6, Any}"><code>MPI.API.MPI_Scan</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Scan(sendbuf, recvbuf, count, datatype, op, comm)</code></pre><ul><li><code>MPI_Scan</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scan.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scan.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L795-L799">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Scan_c-NTuple{6, Any}" href="#MPI.API.MPI_Scan_c-NTuple{6, Any}"><code>MPI.API.MPI_Scan_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Scan_c(sendbuf, recvbuf, count, datatype, op, comm)</code></pre><ul><li><code>MPI_Scan_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scan_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scan_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3621-L3625">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Scan_init-NTuple{8, Any}" href="#MPI.API.MPI_Scan_init-NTuple{8, Any}"><code>MPI.API.MPI_Scan_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Scan_init(sendbuf, recvbuf, count, datatype, op, comm, info, request)</code></pre><ul><li><code>MPI_Scan_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scan_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scan_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L804-L808">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Scan_init_c-NTuple{8, Any}" href="#MPI.API.MPI_Scan_init_c-NTuple{8, Any}"><code>MPI.API.MPI_Scan_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Scan_init_c(sendbuf, recvbuf, count, datatype, op, comm, info, request)</code></pre><ul><li><code>MPI_Scan_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scan_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scan_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3630-L3634">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Scatter-NTuple{8, Any}" href="#MPI.API.MPI_Scatter-NTuple{8, Any}"><code>MPI.API.MPI_Scatter</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Scatter(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm)</code></pre><ul><li><code>MPI_Scatter</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scatter.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scatter.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L813-L817">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Scatter_c-NTuple{8, Any}" href="#MPI.API.MPI_Scatter_c-NTuple{8, Any}"><code>MPI.API.MPI_Scatter_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Scatter_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm)</code></pre><ul><li><code>MPI_Scatter_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scatter_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scatter_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3639-L3643">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Scatter_init-NTuple{10, Any}" href="#MPI.API.MPI_Scatter_init-NTuple{10, Any}"><code>MPI.API.MPI_Scatter_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Scatter_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request)</code></pre><ul><li><code>MPI_Scatter_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scatter_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scatter_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L822-L826">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Scatter_init_c-NTuple{10, Any}" href="#MPI.API.MPI_Scatter_init_c-NTuple{10, Any}"><code>MPI.API.MPI_Scatter_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Scatter_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request)</code></pre><ul><li><code>MPI_Scatter_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scatter_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scatter_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3648-L3652">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Scatterv-NTuple{9, Any}" href="#MPI.API.MPI_Scatterv-NTuple{9, Any}"><code>MPI.API.MPI_Scatterv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Scatterv(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm)</code></pre><ul><li><code>MPI_Scatterv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scatterv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scatterv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L831-L835">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Scatterv_c-NTuple{9, Any}" href="#MPI.API.MPI_Scatterv_c-NTuple{9, Any}"><code>MPI.API.MPI_Scatterv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Scatterv_c(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm)</code></pre><ul><li><code>MPI_Scatterv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scatterv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scatterv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3657-L3661">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Scatterv_init-NTuple{11, Any}" href="#MPI.API.MPI_Scatterv_init-NTuple{11, Any}"><code>MPI.API.MPI_Scatterv_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Scatterv_init(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request)</code></pre><ul><li><code>MPI_Scatterv_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scatterv_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scatterv_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L840-L844">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Scatterv_init_c-NTuple{11, Any}" href="#MPI.API.MPI_Scatterv_init_c-NTuple{11, Any}"><code>MPI.API.MPI_Scatterv_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Scatterv_init_c(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request)</code></pre><ul><li><code>MPI_Scatterv_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scatterv_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scatterv_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3666-L3670">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Send-NTuple{6, Any}" href="#MPI.API.MPI_Send-NTuple{6, Any}"><code>MPI.API.MPI_Send</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Send(buf, count, datatype, dest, tag, comm)</code></pre><ul><li><code>MPI_Send</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Send.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Send.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2244-L2248">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Send_c-NTuple{6, Any}" href="#MPI.API.MPI_Send_c-NTuple{6, Any}"><code>MPI.API.MPI_Send_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Send_c(buf, count, datatype, dest, tag, comm)</code></pre><ul><li><code>MPI_Send_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Send_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Send_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4053-L4057">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Send_init-NTuple{7, Any}" href="#MPI.API.MPI_Send_init-NTuple{7, Any}"><code>MPI.API.MPI_Send_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Send_init(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Send_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Send_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Send_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2253-L2257">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Send_init_c-NTuple{7, Any}" href="#MPI.API.MPI_Send_init_c-NTuple{7, Any}"><code>MPI.API.MPI_Send_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Send_init_c(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Send_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Send_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Send_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4062-L4066">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Sendrecv-NTuple{12, Any}" href="#MPI.API.MPI_Sendrecv-NTuple{12, Any}"><code>MPI.API.MPI_Sendrecv</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Sendrecv(sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, status)</code></pre><ul><li><code>MPI_Sendrecv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Sendrecv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Sendrecv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2262-L2266">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Sendrecv_c-NTuple{12, Any}" href="#MPI.API.MPI_Sendrecv_c-NTuple{12, Any}"><code>MPI.API.MPI_Sendrecv_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Sendrecv_c(sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, status)</code></pre><ul><li><code>MPI_Sendrecv_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Sendrecv_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Sendrecv_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4071-L4075">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Sendrecv_replace-NTuple{9, Any}" href="#MPI.API.MPI_Sendrecv_replace-NTuple{9, Any}"><code>MPI.API.MPI_Sendrecv_replace</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Sendrecv_replace(buf, count, datatype, dest, sendtag, source, recvtag, comm, status)</code></pre><ul><li><code>MPI_Sendrecv_replace</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Sendrecv_replace.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Sendrecv_replace.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2271-L2275">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Sendrecv_replace_c-NTuple{9, Any}" href="#MPI.API.MPI_Sendrecv_replace_c-NTuple{9, Any}"><code>MPI.API.MPI_Sendrecv_replace_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Sendrecv_replace_c(buf, count, datatype, dest, sendtag, source, recvtag, comm, status)</code></pre><ul><li><code>MPI_Sendrecv_replace_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Sendrecv_replace_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Sendrecv_replace_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4080-L4084">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ssend-NTuple{6, Any}" href="#MPI.API.MPI_Ssend-NTuple{6, Any}"><code>MPI.API.MPI_Ssend</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ssend(buf, count, datatype, dest, tag, comm)</code></pre><ul><li><code>MPI_Ssend</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ssend.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ssend.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2280-L2284">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ssend_c-NTuple{6, Any}" href="#MPI.API.MPI_Ssend_c-NTuple{6, Any}"><code>MPI.API.MPI_Ssend_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ssend_c(buf, count, datatype, dest, tag, comm)</code></pre><ul><li><code>MPI_Ssend_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ssend_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ssend_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4089-L4093">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ssend_init-NTuple{7, Any}" href="#MPI.API.MPI_Ssend_init-NTuple{7, Any}"><code>MPI.API.MPI_Ssend_init</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ssend_init(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Ssend_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ssend_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ssend_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2289-L2293">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Ssend_init_c-NTuple{7, Any}" href="#MPI.API.MPI_Ssend_init_c-NTuple{7, Any}"><code>MPI.API.MPI_Ssend_init_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Ssend_init_c(buf, count, datatype, dest, tag, comm, request)</code></pre><ul><li><code>MPI_Ssend_init_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ssend_init_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ssend_init_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4098-L4102">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Start-Tuple{Any}" href="#MPI.API.MPI_Start-Tuple{Any}"><code>MPI.API.MPI_Start</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Start(request)</code></pre><ul><li><code>MPI_Start</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Start.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Start.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2343-L2347">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Startall-Tuple{Any, Any}" href="#MPI.API.MPI_Startall-Tuple{Any, Any}"><code>MPI.API.MPI_Startall</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Startall(count, array_of_requests)</code></pre><ul><li><code>MPI_Startall</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Startall.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Startall.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2352-L2356">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Status_c2f-Tuple{Any, Any}" href="#MPI.API.MPI_Status_c2f-Tuple{Any, Any}"><code>MPI.API.MPI_Status_c2f</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Status_c2f(c_status, f_status)</code></pre><ul><li><code>MPI_Status_c2f</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Status_c2f.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Status_c2f.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L21-L25">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Status_f2c-Tuple{Any, Any}" href="#MPI.API.MPI_Status_f2c-Tuple{Any, Any}"><code>MPI.API.MPI_Status_f2c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Status_f2c(f_status, c_status)</code></pre><ul><li><code>MPI_Status_f2c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Status_f2c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Status_f2c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L30-L34">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Status_set_cancelled-Tuple{Any, Any}" href="#MPI.API.MPI_Status_set_cancelled-Tuple{Any, Any}"><code>MPI.API.MPI_Status_set_cancelled</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Status_set_cancelled(status, flag)</code></pre><ul><li><code>MPI_Status_set_cancelled</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Status_set_cancelled.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Status_set_cancelled.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2361-L2365">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Status_set_elements-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Status_set_elements-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Status_set_elements</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Status_set_elements(status, datatype, count)</code></pre><ul><li><code>MPI_Status_set_elements</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Status_set_elements.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Status_set_elements.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1128-L1132">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Status_set_elements_x-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Status_set_elements_x-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Status_set_elements_x</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Status_set_elements_x(status, datatype, count)</code></pre><ul><li><code>MPI_Status_set_elements_x</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Status_set_elements_x.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Status_set_elements_x.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1137-L1141">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Test-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Test-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Test</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Test(request, flag, status)</code></pre><ul><li><code>MPI_Test</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Test.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Test.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L12-L16">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Test_cancelled-Tuple{Any, Any}" href="#MPI.API.MPI_Test_cancelled-Tuple{Any, Any}"><code>MPI.API.MPI_Test_cancelled</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Test_cancelled(status, flag)</code></pre><ul><li><code>MPI_Test_cancelled</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Test_cancelled.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Test_cancelled.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2370-L2374">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Testall-NTuple{4, Any}" href="#MPI.API.MPI_Testall-NTuple{4, Any}"><code>MPI.API.MPI_Testall</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Testall(count, array_of_requests, flag, array_of_statuses)</code></pre><ul><li><code>MPI_Testall</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Testall.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Testall.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2379-L2383">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Testany-NTuple{5, Any}" href="#MPI.API.MPI_Testany-NTuple{5, Any}"><code>MPI.API.MPI_Testany</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Testany(count, array_of_requests, indx, flag, status)</code></pre><ul><li><code>MPI_Testany</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Testany.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Testany.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2388-L2392">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Testsome-NTuple{5, Any}" href="#MPI.API.MPI_Testsome-NTuple{5, Any}"><code>MPI.API.MPI_Testsome</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Testsome(incount, array_of_requests, outcount, array_of_indices, array_of_statuses)</code></pre><ul><li><code>MPI_Testsome</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Testsome.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Testsome.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2397-L2401">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Topo_test-Tuple{Any, Any}" href="#MPI.API.MPI_Topo_test-Tuple{Any, Any}"><code>MPI.API.MPI_Topo_test</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Topo_test(comm, status)</code></pre><ul><li><code>MPI_Topo_test</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Topo_test.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Topo_test.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3090-L3094">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_commit-Tuple{Any}" href="#MPI.API.MPI_Type_commit-Tuple{Any}"><code>MPI.API.MPI_Type_commit</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_commit(datatype)</code></pre><ul><li><code>MPI_Type_commit</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_commit.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_commit.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1146-L1150">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_contiguous-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Type_contiguous-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_contiguous</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_contiguous(count, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_contiguous</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_contiguous.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_contiguous.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1155-L1159">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_contiguous_c-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Type_contiguous_c-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_contiguous_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_contiguous_c(count, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_contiguous_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_contiguous_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_contiguous_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3729-L3733">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_darray-NTuple{10, Any}" href="#MPI.API.MPI_Type_create_darray-NTuple{10, Any}"><code>MPI.API.MPI_Type_create_darray</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_darray(size, rank, ndims, array_of_gsizes, array_of_distribs, array_of_dargs, array_of_psizes, order, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_create_darray</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_darray.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_darray.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1164-L1168">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_darray_c-NTuple{10, Any}" href="#MPI.API.MPI_Type_create_darray_c-NTuple{10, Any}"><code>MPI.API.MPI_Type_create_darray_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_darray_c(size, rank, ndims, array_of_gsizes, array_of_distribs, array_of_dargs, array_of_psizes, order, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_create_darray_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_darray_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_darray_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3738-L3742">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_f90_complex-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Type_create_f90_complex-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_create_f90_complex</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_f90_complex(p, r, newtype)</code></pre><ul><li><code>MPI_Type_create_f90_complex</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_f90_complex.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_f90_complex.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L57-L61">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_f90_integer-Tuple{Any, Any}" href="#MPI.API.MPI_Type_create_f90_integer-Tuple{Any, Any}"><code>MPI.API.MPI_Type_create_f90_integer</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_f90_integer(r, newtype)</code></pre><ul><li><code>MPI_Type_create_f90_integer</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_f90_integer.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_f90_integer.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L39-L43">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_f90_real-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Type_create_f90_real-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_create_f90_real</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_f90_real(p, r, newtype)</code></pre><ul><li><code>MPI_Type_create_f90_real</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_f90_real.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_f90_real.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L48-L52">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_hindexed-NTuple{5, Any}" href="#MPI.API.MPI_Type_create_hindexed-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_hindexed</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_hindexed(count, array_of_blocklengths, array_of_displacements, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_create_hindexed</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_hindexed.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_hindexed.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1173-L1177">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_hindexed_block-NTuple{5, Any}" href="#MPI.API.MPI_Type_create_hindexed_block-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_hindexed_block</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_hindexed_block(count, blocklength, array_of_displacements, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_create_hindexed_block</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_hindexed_block.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_hindexed_block.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1182-L1186">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_hindexed_block_c-NTuple{5, Any}" href="#MPI.API.MPI_Type_create_hindexed_block_c-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_hindexed_block_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_hindexed_block_c(count, blocklength, array_of_displacements, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_create_hindexed_block_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_hindexed_block_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_hindexed_block_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3756-L3760">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_hindexed_c-NTuple{5, Any}" href="#MPI.API.MPI_Type_create_hindexed_c-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_hindexed_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_hindexed_c(count, array_of_blocklengths, array_of_displacements, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_create_hindexed_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_hindexed_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_hindexed_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3747-L3751">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_hvector-NTuple{5, Any}" href="#MPI.API.MPI_Type_create_hvector-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_hvector</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_hvector(count, blocklength, stride, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_create_hvector</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_hvector.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_hvector.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1191-L1195">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_hvector_c-NTuple{5, Any}" href="#MPI.API.MPI_Type_create_hvector_c-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_hvector_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_hvector_c(count, blocklength, stride, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_create_hvector_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_hvector_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_hvector_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3765-L3769">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_indexed_block-NTuple{5, Any}" href="#MPI.API.MPI_Type_create_indexed_block-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_indexed_block</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_indexed_block(count, blocklength, array_of_displacements, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_create_indexed_block</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_indexed_block.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_indexed_block.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1200-L1204">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_indexed_block_c-NTuple{5, Any}" href="#MPI.API.MPI_Type_create_indexed_block_c-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_indexed_block_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_indexed_block_c(count, blocklength, array_of_displacements, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_create_indexed_block_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_indexed_block_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_indexed_block_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3774-L3778">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_keyval-NTuple{4, Any}" href="#MPI.API.MPI_Type_create_keyval-NTuple{4, Any}"><code>MPI.API.MPI_Type_create_keyval</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_keyval(type_copy_attr_fn, type_delete_attr_fn, type_keyval, extra_state)</code></pre><ul><li><code>MPI_Type_create_keyval</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_keyval.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_keyval.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L156-L160">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_resized-NTuple{4, Any}" href="#MPI.API.MPI_Type_create_resized-NTuple{4, Any}"><code>MPI.API.MPI_Type_create_resized</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_resized(oldtype, lb, extent, newtype)</code></pre><ul><li><code>MPI_Type_create_resized</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_resized.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_resized.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1209-L1213">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_resized_c-NTuple{4, Any}" href="#MPI.API.MPI_Type_create_resized_c-NTuple{4, Any}"><code>MPI.API.MPI_Type_create_resized_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_resized_c(oldtype, lb, extent, newtype)</code></pre><ul><li><code>MPI_Type_create_resized_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_resized_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_resized_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3783-L3787">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_struct-NTuple{5, Any}" href="#MPI.API.MPI_Type_create_struct-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_struct</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_struct(count, array_of_blocklengths, array_of_displacements, array_of_types, newtype)</code></pre><ul><li><code>MPI_Type_create_struct</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_struct.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_struct.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1218-L1222">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_struct_c-NTuple{5, Any}" href="#MPI.API.MPI_Type_create_struct_c-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_struct_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_struct_c(count, array_of_blocklengths, array_of_displacements, array_of_types, newtype)</code></pre><ul><li><code>MPI_Type_create_struct_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_struct_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_struct_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3792-L3796">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_subarray-NTuple{7, Any}" href="#MPI.API.MPI_Type_create_subarray-NTuple{7, Any}"><code>MPI.API.MPI_Type_create_subarray</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_subarray(ndims, array_of_sizes, array_of_subsizes, array_of_starts, order, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_create_subarray</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_subarray.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_subarray.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1227-L1231">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_create_subarray_c-NTuple{7, Any}" href="#MPI.API.MPI_Type_create_subarray_c-NTuple{7, Any}"><code>MPI.API.MPI_Type_create_subarray_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_create_subarray_c(ndims, array_of_sizes, array_of_subsizes, array_of_starts, order, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_create_subarray_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_create_subarray_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_create_subarray_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3801-L3805">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_delete_attr-Tuple{Any, Any}" href="#MPI.API.MPI_Type_delete_attr-Tuple{Any, Any}"><code>MPI.API.MPI_Type_delete_attr</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_delete_attr(datatype, type_keyval)</code></pre><ul><li><code>MPI_Type_delete_attr</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_delete_attr.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_delete_attr.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L165-L169">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_dup-Tuple{Any, Any}" href="#MPI.API.MPI_Type_dup-Tuple{Any, Any}"><code>MPI.API.MPI_Type_dup</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_dup(oldtype, newtype)</code></pre><ul><li><code>MPI_Type_dup</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_dup.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_dup.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1236-L1240">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_extent-Tuple{Any, Any}" href="#MPI.API.MPI_Type_extent-Tuple{Any, Any}"><code>MPI.API.MPI_Type_extent</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_extent(datatype, extent)</code></pre><ul><li><code>MPI_Type_extent</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_extent.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_extent.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1398-L1402">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_free-Tuple{Any}" href="#MPI.API.MPI_Type_free-Tuple{Any}"><code>MPI.API.MPI_Type_free</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_free(datatype)</code></pre><ul><li><code>MPI_Type_free</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_free.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_free.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1245-L1249">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_free_keyval-Tuple{Any}" href="#MPI.API.MPI_Type_free_keyval-Tuple{Any}"><code>MPI.API.MPI_Type_free_keyval</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_free_keyval(type_keyval)</code></pre><ul><li><code>MPI_Type_free_keyval</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_free_keyval.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_free_keyval.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L174-L178">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_get_attr-NTuple{4, Any}" href="#MPI.API.MPI_Type_get_attr-NTuple{4, Any}"><code>MPI.API.MPI_Type_get_attr</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_get_attr(datatype, type_keyval, attribute_val, flag)</code></pre><ul><li><code>MPI_Type_get_attr</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_get_attr.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_get_attr.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L183-L187">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_get_contents-NTuple{7, Any}" href="#MPI.API.MPI_Type_get_contents-NTuple{7, Any}"><code>MPI.API.MPI_Type_get_contents</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_get_contents(datatype, max_integers, max_addresses, max_datatypes, array_of_integers, array_of_addresses, array_of_datatypes)</code></pre><ul><li><code>MPI_Type_get_contents</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_get_contents.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_get_contents.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1254-L1258">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_get_contents_c-NTuple{9, Any}" href="#MPI.API.MPI_Type_get_contents_c-NTuple{9, Any}"><code>MPI.API.MPI_Type_get_contents_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_get_contents_c(datatype, max_integers, max_addresses, max_large_counts, max_datatypes, array_of_integers, array_of_addresses, array_of_large_counts, array_of_datatypes)</code></pre><ul><li><code>MPI_Type_get_contents_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_get_contents_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_get_contents_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3810-L3814">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_get_envelope-NTuple{5, Any}" href="#MPI.API.MPI_Type_get_envelope-NTuple{5, Any}"><code>MPI.API.MPI_Type_get_envelope</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_get_envelope(datatype, num_integers, num_addresses, num_datatypes, combiner)</code></pre><ul><li><code>MPI_Type_get_envelope</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_get_envelope.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_get_envelope.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1263-L1267">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_get_envelope_c-NTuple{6, Any}" href="#MPI.API.MPI_Type_get_envelope_c-NTuple{6, Any}"><code>MPI.API.MPI_Type_get_envelope_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_get_envelope_c(datatype, num_integers, num_addresses, num_large_counts, num_datatypes, combiner)</code></pre><ul><li><code>MPI_Type_get_envelope_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_get_envelope_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_get_envelope_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3819-L3823">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_get_extent-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Type_get_extent-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_get_extent</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_get_extent(datatype, lb, extent)</code></pre><ul><li><code>MPI_Type_get_extent</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_get_extent.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_get_extent.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1272-L1276">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_get_extent_c-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Type_get_extent_c-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_get_extent_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_get_extent_c(datatype, lb, extent)</code></pre><ul><li><code>MPI_Type_get_extent_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_get_extent_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_get_extent_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3828-L3832">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_get_extent_x-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Type_get_extent_x-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_get_extent_x</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_get_extent_x(datatype, lb, extent)</code></pre><ul><li><code>MPI_Type_get_extent_x</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_get_extent_x.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_get_extent_x.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1281-L1285">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_get_name-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Type_get_name-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_get_name</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_get_name(datatype, type_name, resultlen)</code></pre><ul><li><code>MPI_Type_get_name</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_get_name.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_get_name.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1290-L1294">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_get_true_extent-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Type_get_true_extent-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_get_true_extent</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_get_true_extent(datatype, true_lb, true_extent)</code></pre><ul><li><code>MPI_Type_get_true_extent</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_get_true_extent.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_get_true_extent.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1299-L1303">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_get_true_extent_c-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Type_get_true_extent_c-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_get_true_extent_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_get_true_extent_c(datatype, true_lb, true_extent)</code></pre><ul><li><code>MPI_Type_get_true_extent_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_get_true_extent_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_get_true_extent_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3837-L3841">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_get_true_extent_x-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Type_get_true_extent_x-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_get_true_extent_x</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_get_true_extent_x(datatype, true_lb, true_extent)</code></pre><ul><li><code>MPI_Type_get_true_extent_x</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_get_true_extent_x.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_get_true_extent_x.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1308-L1312">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_hindexed-NTuple{5, Any}" href="#MPI.API.MPI_Type_hindexed-NTuple{5, Any}"><code>MPI.API.MPI_Type_hindexed</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_hindexed(count, array_of_blocklengths, array_of_displacements, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_hindexed</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_hindexed.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_hindexed.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1425-L1429">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_hvector-NTuple{5, Any}" href="#MPI.API.MPI_Type_hvector-NTuple{5, Any}"><code>MPI.API.MPI_Type_hvector</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_hvector(count, blocklength, stride, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_hvector</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_hvector.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_hvector.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1434-L1438">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_indexed-NTuple{5, Any}" href="#MPI.API.MPI_Type_indexed-NTuple{5, Any}"><code>MPI.API.MPI_Type_indexed</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_indexed(count, array_of_blocklengths, array_of_displacements, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_indexed</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_indexed.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_indexed.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1317-L1321">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_indexed_c-NTuple{5, Any}" href="#MPI.API.MPI_Type_indexed_c-NTuple{5, Any}"><code>MPI.API.MPI_Type_indexed_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_indexed_c(count, array_of_blocklengths, array_of_displacements, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_indexed_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_indexed_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_indexed_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3846-L3850">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_lb-Tuple{Any, Any}" href="#MPI.API.MPI_Type_lb-Tuple{Any, Any}"><code>MPI.API.MPI_Type_lb</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_lb(datatype, displacement)</code></pre><ul><li><code>MPI_Type_lb</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_lb.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_lb.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1407-L1411">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_match_size-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Type_match_size-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_match_size</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_match_size(typeclass, size, datatype)</code></pre><ul><li><code>MPI_Type_match_size</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_match_size.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_match_size.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1326-L1330">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_set_attr-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Type_set_attr-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_set_attr</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_set_attr(datatype, type_keyval, attribute_val)</code></pre><ul><li><code>MPI_Type_set_attr</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_set_attr.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_set_attr.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L192-L196">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_set_name-Tuple{Any, Any}" href="#MPI.API.MPI_Type_set_name-Tuple{Any, Any}"><code>MPI.API.MPI_Type_set_name</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_set_name(datatype, type_name)</code></pre><ul><li><code>MPI_Type_set_name</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_set_name.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_set_name.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1335-L1339">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_size-Tuple{Any, Any}" href="#MPI.API.MPI_Type_size-Tuple{Any, Any}"><code>MPI.API.MPI_Type_size</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_size(datatype, size)</code></pre><ul><li><code>MPI_Type_size</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_size.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_size.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1344-L1348">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_size_c-Tuple{Any, Any}" href="#MPI.API.MPI_Type_size_c-Tuple{Any, Any}"><code>MPI.API.MPI_Type_size_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_size_c(datatype, size)</code></pre><ul><li><code>MPI_Type_size_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_size_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_size_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3855-L3859">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_size_x-Tuple{Any, Any}" href="#MPI.API.MPI_Type_size_x-Tuple{Any, Any}"><code>MPI.API.MPI_Type_size_x</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_size_x(datatype, size)</code></pre><ul><li><code>MPI_Type_size_x</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_size_x.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_size_x.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1353-L1357">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_struct-NTuple{5, Any}" href="#MPI.API.MPI_Type_struct-NTuple{5, Any}"><code>MPI.API.MPI_Type_struct</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_struct(count, array_of_blocklengths, array_of_displacements, array_of_types, newtype)</code></pre><ul><li><code>MPI_Type_struct</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_struct.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_struct.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1443-L1447">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_ub-Tuple{Any, Any}" href="#MPI.API.MPI_Type_ub-Tuple{Any, Any}"><code>MPI.API.MPI_Type_ub</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_ub(datatype, displacement)</code></pre><ul><li><code>MPI_Type_ub</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_ub.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_ub.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1416-L1420">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_vector-NTuple{5, Any}" href="#MPI.API.MPI_Type_vector-NTuple{5, Any}"><code>MPI.API.MPI_Type_vector</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_vector(count, blocklength, stride, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_vector</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_vector.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_vector.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1362-L1366">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Type_vector_c-NTuple{5, Any}" href="#MPI.API.MPI_Type_vector_c-NTuple{5, Any}"><code>MPI.API.MPI_Type_vector_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Type_vector_c(count, blocklength, stride, oldtype, newtype)</code></pre><ul><li><code>MPI_Type_vector_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Type_vector_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Type_vector_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3864-L3868">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Unpack-NTuple{7, Any}" href="#MPI.API.MPI_Unpack-NTuple{7, Any}"><code>MPI.API.MPI_Unpack</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Unpack(inbuf, insize, position, outbuf, outcount, datatype, comm)</code></pre><ul><li><code>MPI_Unpack</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Unpack.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Unpack.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1371-L1375">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Unpack_c-NTuple{7, Any}" href="#MPI.API.MPI_Unpack_c-NTuple{7, Any}"><code>MPI.API.MPI_Unpack_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Unpack_c(inbuf, insize, position, outbuf, outcount, datatype, comm)</code></pre><ul><li><code>MPI_Unpack_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Unpack_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Unpack_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3873-L3877">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Unpack_external-NTuple{7, Any}" href="#MPI.API.MPI_Unpack_external-NTuple{7, Any}"><code>MPI.API.MPI_Unpack_external</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Unpack_external(datarep, inbuf, insize, position, outbuf, outcount, datatype)</code></pre><ul><li><code>MPI_Unpack_external</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Unpack_external.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Unpack_external.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1380-L1384">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Unpack_external_c-NTuple{7, Any}" href="#MPI.API.MPI_Unpack_external_c-NTuple{7, Any}"><code>MPI.API.MPI_Unpack_external_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Unpack_external_c(datarep, inbuf, insize, position, outbuf, outcount, datatype)</code></pre><ul><li><code>MPI_Unpack_external_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Unpack_external_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Unpack_external_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3882-L3886">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Unpublish_name-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Unpublish_name-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Unpublish_name</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Unpublish_name(service_name, info, port_name)</code></pre><ul><li><code>MPI_Unpublish_name</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Unpublish_name.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Unpublish_name.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2892-L2896">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Wait-Tuple{Any, Any}" href="#MPI.API.MPI_Wait-Tuple{Any, Any}"><code>MPI.API.MPI_Wait</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Wait(request, status)</code></pre><ul><li><code>MPI_Wait</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Wait.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Wait.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L3-L7">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Waitall-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Waitall-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Waitall</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Waitall(count, array_of_requests, array_of_statuses)</code></pre><ul><li><code>MPI_Waitall</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Waitall.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Waitall.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2406-L2410">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Waitany-NTuple{4, Any}" href="#MPI.API.MPI_Waitany-NTuple{4, Any}"><code>MPI.API.MPI_Waitany</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Waitany(count, array_of_requests, indx, status)</code></pre><ul><li><code>MPI_Waitany</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Waitany.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Waitany.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2415-L2419">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Waitsome-NTuple{5, Any}" href="#MPI.API.MPI_Waitsome-NTuple{5, Any}"><code>MPI.API.MPI_Waitsome</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Waitsome(incount, array_of_requests, outcount, array_of_indices, array_of_statuses)</code></pre><ul><li><code>MPI_Waitsome</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Waitsome.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Waitsome.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2424-L2428">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_allocate-NTuple{6, Any}" href="#MPI.API.MPI_Win_allocate-NTuple{6, Any}"><code>MPI.API.MPI_Win_allocate</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_allocate(size, disp_unit, info, comm, baseptr, win)</code></pre><ul><li><code>MPI_Win_allocate</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_allocate.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_allocate.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2541-L2545">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_allocate_c-NTuple{6, Any}" href="#MPI.API.MPI_Win_allocate_c-NTuple{6, Any}"><code>MPI.API.MPI_Win_allocate_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_allocate_c(size, disp_unit, info, comm, baseptr, win)</code></pre><ul><li><code>MPI_Win_allocate_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_allocate_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_allocate_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4179-L4183">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_allocate_shared-NTuple{6, Any}" href="#MPI.API.MPI_Win_allocate_shared-NTuple{6, Any}"><code>MPI.API.MPI_Win_allocate_shared</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_allocate_shared(size, disp_unit, info, comm, baseptr, win)</code></pre><ul><li><code>MPI_Win_allocate_shared</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_allocate_shared.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_allocate_shared.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2550-L2554">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_allocate_shared_c-NTuple{6, Any}" href="#MPI.API.MPI_Win_allocate_shared_c-NTuple{6, Any}"><code>MPI.API.MPI_Win_allocate_shared_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_allocate_shared_c(size, disp_unit, info, comm, baseptr, win)</code></pre><ul><li><code>MPI_Win_allocate_shared_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_allocate_shared_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_allocate_shared_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4188-L4192">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_attach-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Win_attach-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Win_attach</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_attach(win, base, size)</code></pre><ul><li><code>MPI_Win_attach</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_attach.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_attach.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2559-L2563">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_call_errhandler-Tuple{Any, Any}" href="#MPI.API.MPI_Win_call_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Win_call_errhandler</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_call_errhandler(win, errorcode)</code></pre><ul><li><code>MPI_Win_call_errhandler</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_call_errhandler.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_call_errhandler.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1578-L1582">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_complete-Tuple{Any}" href="#MPI.API.MPI_Win_complete-Tuple{Any}"><code>MPI.API.MPI_Win_complete</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_complete(win)</code></pre><ul><li><code>MPI_Win_complete</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_complete.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_complete.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2568-L2572">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_create-NTuple{6, Any}" href="#MPI.API.MPI_Win_create-NTuple{6, Any}"><code>MPI.API.MPI_Win_create</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_create(base, size, disp_unit, info, comm, win)</code></pre><ul><li><code>MPI_Win_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2577-L2581">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_create_c-NTuple{6, Any}" href="#MPI.API.MPI_Win_create_c-NTuple{6, Any}"><code>MPI.API.MPI_Win_create_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_create_c(base, size, disp_unit, info, comm, win)</code></pre><ul><li><code>MPI_Win_create_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_create_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_create_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4197-L4201">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_create_dynamic-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Win_create_dynamic-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Win_create_dynamic</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_create_dynamic(info, comm, win)</code></pre><ul><li><code>MPI_Win_create_dynamic</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_create_dynamic.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_create_dynamic.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2586-L2590">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_create_errhandler-Tuple{Any, Any}" href="#MPI.API.MPI_Win_create_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Win_create_errhandler</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_create_errhandler(win_errhandler_fn, errhandler)</code></pre><ul><li><code>MPI_Win_create_errhandler</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_create_errhandler.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_create_errhandler.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1587-L1591">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_create_keyval-NTuple{4, Any}" href="#MPI.API.MPI_Win_create_keyval-NTuple{4, Any}"><code>MPI.API.MPI_Win_create_keyval</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_create_keyval(win_copy_attr_fn, win_delete_attr_fn, win_keyval, extra_state)</code></pre><ul><li><code>MPI_Win_create_keyval</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_create_keyval.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_create_keyval.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L201-L205">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_delete_attr-Tuple{Any, Any}" href="#MPI.API.MPI_Win_delete_attr-Tuple{Any, Any}"><code>MPI.API.MPI_Win_delete_attr</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_delete_attr(win, win_keyval)</code></pre><ul><li><code>MPI_Win_delete_attr</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_delete_attr.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_delete_attr.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L210-L214">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_detach-Tuple{Any, Any}" href="#MPI.API.MPI_Win_detach-Tuple{Any, Any}"><code>MPI.API.MPI_Win_detach</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_detach(win, base)</code></pre><ul><li><code>MPI_Win_detach</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_detach.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_detach.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2595-L2599">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_fence-Tuple{Any, Any}" href="#MPI.API.MPI_Win_fence-Tuple{Any, Any}"><code>MPI.API.MPI_Win_fence</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_fence(assert, win)</code></pre><ul><li><code>MPI_Win_fence</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_fence.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_fence.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2604-L2608">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_flush-Tuple{Any, Any}" href="#MPI.API.MPI_Win_flush-Tuple{Any, Any}"><code>MPI.API.MPI_Win_flush</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_flush(rank, win)</code></pre><ul><li><code>MPI_Win_flush</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_flush.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_flush.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2613-L2617">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_flush_all-Tuple{Any}" href="#MPI.API.MPI_Win_flush_all-Tuple{Any}"><code>MPI.API.MPI_Win_flush_all</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_flush_all(win)</code></pre><ul><li><code>MPI_Win_flush_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_flush_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_flush_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2622-L2626">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_flush_local-Tuple{Any, Any}" href="#MPI.API.MPI_Win_flush_local-Tuple{Any, Any}"><code>MPI.API.MPI_Win_flush_local</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_flush_local(rank, win)</code></pre><ul><li><code>MPI_Win_flush_local</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_flush_local.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_flush_local.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2631-L2635">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_flush_local_all-Tuple{Any}" href="#MPI.API.MPI_Win_flush_local_all-Tuple{Any}"><code>MPI.API.MPI_Win_flush_local_all</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_flush_local_all(win)</code></pre><ul><li><code>MPI_Win_flush_local_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_flush_local_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_flush_local_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2640-L2644">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_free-Tuple{Any}" href="#MPI.API.MPI_Win_free-Tuple{Any}"><code>MPI.API.MPI_Win_free</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_free(win)</code></pre><ul><li><code>MPI_Win_free</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_free.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_free.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2649-L2653">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_free_keyval-Tuple{Any}" href="#MPI.API.MPI_Win_free_keyval-Tuple{Any}"><code>MPI.API.MPI_Win_free_keyval</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_free_keyval(win_keyval)</code></pre><ul><li><code>MPI_Win_free_keyval</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_free_keyval.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_free_keyval.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L219-L223">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_get_attr-NTuple{4, Any}" href="#MPI.API.MPI_Win_get_attr-NTuple{4, Any}"><code>MPI.API.MPI_Win_get_attr</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_get_attr(win, win_keyval, attribute_val, flag)</code></pre><ul><li><code>MPI_Win_get_attr</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_get_attr.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_get_attr.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L228-L232">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_get_errhandler-Tuple{Any, Any}" href="#MPI.API.MPI_Win_get_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Win_get_errhandler</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_get_errhandler(win, errhandler)</code></pre><ul><li><code>MPI_Win_get_errhandler</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_get_errhandler.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_get_errhandler.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1596-L1600">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_get_group-Tuple{Any, Any}" href="#MPI.API.MPI_Win_get_group-Tuple{Any, Any}"><code>MPI.API.MPI_Win_get_group</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_get_group(win, group)</code></pre><ul><li><code>MPI_Win_get_group</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_get_group.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_get_group.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2658-L2662">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_get_info-Tuple{Any, Any}" href="#MPI.API.MPI_Win_get_info-Tuple{Any, Any}"><code>MPI.API.MPI_Win_get_info</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_get_info(win, info_used)</code></pre><ul><li><code>MPI_Win_get_info</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_get_info.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_get_info.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2667-L2671">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_get_name-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Win_get_name-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Win_get_name</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_get_name(win, win_name, resultlen)</code></pre><ul><li><code>MPI_Win_get_name</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_get_name.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_get_name.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2676-L2680">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_lock-NTuple{4, Any}" href="#MPI.API.MPI_Win_lock-NTuple{4, Any}"><code>MPI.API.MPI_Win_lock</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_lock(lock_type, rank, assert, win)</code></pre><ul><li><code>MPI_Win_lock</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_lock.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_lock.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2685-L2689">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_lock_all-Tuple{Any, Any}" href="#MPI.API.MPI_Win_lock_all-Tuple{Any, Any}"><code>MPI.API.MPI_Win_lock_all</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_lock_all(assert, win)</code></pre><ul><li><code>MPI_Win_lock_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_lock_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_lock_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2694-L2698">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_post-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Win_post-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Win_post</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_post(group, assert, win)</code></pre><ul><li><code>MPI_Win_post</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_post.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_post.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2703-L2707">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_set_attr-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Win_set_attr-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Win_set_attr</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_set_attr(win, win_keyval, attribute_val)</code></pre><ul><li><code>MPI_Win_set_attr</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_set_attr.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_set_attr.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L237-L241">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_set_errhandler-Tuple{Any, Any}" href="#MPI.API.MPI_Win_set_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Win_set_errhandler</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_set_errhandler(win, errhandler)</code></pre><ul><li><code>MPI_Win_set_errhandler</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_set_errhandler.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_set_errhandler.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L1605-L1609">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_set_info-Tuple{Any, Any}" href="#MPI.API.MPI_Win_set_info-Tuple{Any, Any}"><code>MPI.API.MPI_Win_set_info</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_set_info(win, info)</code></pre><ul><li><code>MPI_Win_set_info</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_set_info.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_set_info.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2712-L2716">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_set_name-Tuple{Any, Any}" href="#MPI.API.MPI_Win_set_name-Tuple{Any, Any}"><code>MPI.API.MPI_Win_set_name</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_set_name(win, win_name)</code></pre><ul><li><code>MPI_Win_set_name</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_set_name.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_set_name.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2721-L2725">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_shared_query-NTuple{5, Any}" href="#MPI.API.MPI_Win_shared_query-NTuple{5, Any}"><code>MPI.API.MPI_Win_shared_query</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_shared_query(win, rank, size, disp_unit, baseptr)</code></pre><ul><li><code>MPI_Win_shared_query</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_shared_query.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_shared_query.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2730-L2734">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_shared_query_c-NTuple{5, Any}" href="#MPI.API.MPI_Win_shared_query_c-NTuple{5, Any}"><code>MPI.API.MPI_Win_shared_query_c</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_shared_query_c(win, rank, size, disp_unit, baseptr)</code></pre><ul><li><code>MPI_Win_shared_query_c</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_shared_query_c.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_shared_query_c.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L4206-L4210">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_start-Tuple{Any, Any, Any}" href="#MPI.API.MPI_Win_start-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Win_start</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_start(group, assert, win)</code></pre><ul><li><code>MPI_Win_start</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_start.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_start.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2739-L2743">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_sync-Tuple{Any}" href="#MPI.API.MPI_Win_sync-Tuple{Any}"><code>MPI.API.MPI_Win_sync</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_sync(win)</code></pre><ul><li><code>MPI_Win_sync</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_sync.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_sync.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2748-L2752">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_test-Tuple{Any, Any}" href="#MPI.API.MPI_Win_test-Tuple{Any, Any}"><code>MPI.API.MPI_Win_test</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_test(win, flag)</code></pre><ul><li><code>MPI_Win_test</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_test.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_test.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2757-L2761">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_unlock-Tuple{Any, Any}" href="#MPI.API.MPI_Win_unlock-Tuple{Any, Any}"><code>MPI.API.MPI_Win_unlock</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_unlock(rank, win)</code></pre><ul><li><code>MPI_Win_unlock</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_unlock.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_unlock.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2766-L2770">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_unlock_all-Tuple{Any}" href="#MPI.API.MPI_Win_unlock_all-Tuple{Any}"><code>MPI.API.MPI_Win_unlock_all</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_unlock_all(win)</code></pre><ul><li><code>MPI_Win_unlock_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_unlock_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_unlock_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2775-L2779">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Win_wait-Tuple{Any}" href="#MPI.API.MPI_Win_wait-Tuple{Any}"><code>MPI.API.MPI_Win_wait</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Win_wait(win)</code></pre><ul><li><code>MPI_Win_wait</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_wait.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_wait.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2784-L2788">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Wtick-Tuple{}" href="#MPI.API.MPI_Wtick-Tuple{}"><code>MPI.API.MPI_Wtick</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Wtick()</code></pre><ul><li><code>MPI_Wtick</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Wtick.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Wtick.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2901-L2905">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPI_Wtime-Tuple{}" href="#MPI.API.MPI_Wtime-Tuple{}"><code>MPI.API.MPI_Wtime</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">MPI_Wtime()</code></pre><ul><li><code>MPI_Wtime</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Wtime.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Wtime.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/generated_api.jl#L2910-L2914">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../advanced/">« Advanced</a><a class="docs-footer-nextpage" href="../../refindex/">Index »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Sunday 16 July 2023 20:17">Sunday 16 July 2023</span>. Using Julia version 1.9.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR747/reference/buffers/index.html b/previews/PR747/reference/buffers/index.html
deleted file mode 100644
index 4e25bf3f5..000000000
--- a/previews/PR747/reference/buffers/index.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Buffers · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../external/">External libraries and packages</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../library/">Library information</a></li><li><a class="tocitem" href="../environment/">Environment</a></li><li><a class="tocitem" href="../misc/">Miscellanea</a></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li class="is-active"><a class="tocitem" href>Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../advanced/">Advanced</a></li><li><a class="tocitem" href="../api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>Buffers</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Buffers</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/buffers.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Buffers"><a class="docs-heading-anchor" href="#Buffers">Buffers</a><a id="Buffers-1"></a><a class="docs-heading-anchor-permalink" href="#Buffers" title="Permalink"></a></h1><p>Buffers are used for sending and receiving data. MPI.jl provides the following buffer types:</p><article class="docstring"><header><a class="docstring-binding" id="MPI.IN_PLACE" href="#MPI.IN_PLACE"><code>MPI.IN_PLACE</code></a> — <span class="docstring-category">Constant</span></header><section><div><pre><code class="language-julia hljs">MPI.IN_PLACE</code></pre><p>A sentinel value that can be passed as a buffer argument for certain collective operations to use the same buffer for send and receive operations.</p><ul><li><p><a href="../collective/#MPI.Scatter!"><code>Scatter!</code></a> and <a href="../collective/#MPI.Scatterv!"><code>Scatterv!</code></a>: can be used as the <code>recvbuf</code> argument on the root process.</p></li><li><p><a href="../collective/#MPI.Gather!"><code>Gather!</code></a> and <a href="../collective/#MPI.Gatherv!"><code>Gatherv!</code></a>: can be used as the <code>sendbuf</code> argument on the root process.</p></li><li><p><a href="../collective/#MPI.Allgather!"><code>Allgather!</code></a>, <a href="../collective/#MPI.Allgatherv!"><code>Allgatherv!</code></a>, <a href="../collective/#MPI.Alltoall!"><code>Alltoall!</code></a> and <a href="../collective/#MPI.Alltoallv!"><code>Alltoallv!</code></a>: can be used as the <code>sendbuf</code> argument on all processes.</p></li><li><p><a href="../collective/#MPI.Reduce!"><code>Reduce!</code></a> (root only), <a href="../collective/#MPI.Allreduce!"><code>Allreduce!</code></a>, <a href="../collective/#MPI.Scan!"><code>Scan!</code></a> and <a href="../collective/#MPI.Exscan!"><code>Exscan!</code></a>: can be used as <code>sendbuf</code> argument.</p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/buffers.jl#L51-L69">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Buffer" href="#MPI.Buffer"><code>MPI.Buffer</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.Buffer</code></pre><p>An MPI buffer for communication with a single rank. It is used for point-to-point and one-sided operations, as well as some collective operations. Operations will implicitly construct a <code>Buffer</code> when required via the generic constructor, but it can be advantageous to manually construct <code>Buffer</code>s when doing so incurs additional overhead, for example when using a non-predefined <a href="../advanced/#MPI.Datatype"><code>MPI.Datatype</code></a>.</p><p><strong>Fields</strong></p><ul><li><p><code>data</code>: a Julia object referencing a region of memory to be used for communication. It is required that the object can be <code>cconvert</code>ed to an <a href="#MPI.API.MPIPtr"><code>MPIPtr</code></a>.</p></li><li><p><code>count</code>: the number of elements of <code>datatype</code> in the buffer. Note that this may not correspond to the number of elements in the array if derived types are used.</p></li><li><p><code>datatype</code>: the <a href="../advanced/#MPI.Datatype"><code>MPI.Datatype</code></a> stored in the buffer.</p></li></ul><p><strong>Usage</strong></p><pre><code class="nohighlight hljs">Buffer(data, count::Integer, datatype::Datatype)</code></pre><p>Generic constructor.</p><pre><code class="nohighlight hljs">Buffer(data)</code></pre><p>Construct a <code>Buffer</code> backed by <code>data</code>, automatically determining the appropriate <code>count</code> and <code>datatype</code>. Methods are provided for</p><ul><li><code>Ref</code></li><li><code>Array</code></li><li><code>CUDA.CuArray</code> if CUDA.jl is loaded.</li><li><code>AMDGPU.ROCArray</code> if AMDGPU.jl is loaded.</li><li><code>SubArray</code>s of an <code>Array</code>, <code>CUDA.CuArray</code> or <code>AMDGPU.ROCArray</code> where the layout is contiguous, sequential or blocked.</li></ul><p><strong>See also</strong></p><ul><li><a href="#MPI.Buffer_send"><code>Buffer_send</code></a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/buffers.jl#L75-L106">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Buffer_send" href="#MPI.Buffer_send"><code>MPI.Buffer_send</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Buffer_send(data)</code></pre><p>Construct a <a href="#MPI.Buffer"><code>Buffer</code></a> object for a send operation from <code>data</code>, allowing cases where <code>isbits(data)</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/buffers.jl#L158-L163">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.UBuffer" href="#MPI.UBuffer"><code>MPI.UBuffer</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.UBuffer</code></pre><p>An MPI buffer for chunked collective communication, where all chunks are of uniform size.</p><p><strong>Fields</strong></p><ul><li><p><code>data</code>: A Julia object referencing a region of memory to be used for communication. It is required that the object can be <code>cconvert</code>ed to an <a href="#MPI.API.MPIPtr"><code>MPIPtr</code></a>.</p></li><li><p><code>count</code>: The number of elements of <code>datatype</code> in each chunk.</p></li><li><p><code>nchunks</code>: The maximum number of chunks stored in the buffer. This is used only for validation, and can be set to <code>nothing</code> to disable checks.</p></li><li><p><code>datatype</code>: The <a href="../advanced/#MPI.Datatype"><code>MPI.Datatype</code></a> stored in the buffer.</p></li></ul><p><strong>Usage</strong></p><pre><code class="nohighlight hljs">UBuffer(data, count::Integer, nchunks::Union{Nothing, Integer}, datatype::Datatype)</code></pre><p>Generic constructor.</p><pre><code class="nohighlight hljs">UBuffer(data, count::Integer)</code></pre><p>Construct a <code>UBuffer</code> backed by <code>data</code>, where <code>count</code> is the number of elements in each chunk.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.VBuffer"><code>VBuffer</code></a>: similar, but supports chunks of non-uniform sizes.</li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/buffers.jl#L170-L191">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.VBuffer" href="#MPI.VBuffer"><code>MPI.VBuffer</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.VBuffer</code></pre><p>An MPI buffer for chunked collective communication, where chunks can be of different sizes and at different offsets.</p><p><strong>Fields</strong></p><ul><li><p><code>data</code>: A Julia object referencing a region of memory to be used for communication. It is required that the object can be <code>cconvert</code>ed to an <a href="#MPI.API.MPIPtr"><code>MPIPtr</code></a>.</p></li><li><p><code>counts</code>: An array containing the length of each chunk.</p></li><li><p><code>displs</code>: An array containing the (0-based) displacements of each chunk.</p></li><li><p><code>datatype</code>: The <a href="../advanced/#MPI.Datatype"><code>MPI.Datatype</code></a> stored in the buffer.</p></li></ul><p><strong>Usage</strong></p><pre><code class="nohighlight hljs">VBuffer(data, counts[, displs[, datatype]])</code></pre><p>Construct a <code>VBuffer</code> backed by <code>data</code>, where <code>counts[j]</code> is the number of elements in the <code>j</code>th chunk, and <code>displs[j]</code> is the 0-based displacement. In other words, the <code>j</code>th chunk occurs in indices <code>displs[j]+1:displs[j]+counts[j]</code>.</p><p>The default value for <code>displs[j] = sum(counts[1:j-1])</code>.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.UBuffer"><code>UBuffer</code></a> when chunks are all of the same size.</li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/buffers.jl#L221-L243">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.RBuffer" href="#MPI.RBuffer"><code>MPI.RBuffer</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.RBuffer</code></pre><p>An MPI buffer for reduction operations (<a href="../collective/#MPI.Reduce!"><code>MPI.Reduce!</code></a>, <a href="../collective/#MPI.Allreduce!"><code>MPI.Allreduce!</code></a>, <a href="../collective/#MPI.Scan!"><code>MPI.Scan!</code></a>, <a href="../collective/#MPI.Exscan!"><code>MPI.Exscan!</code></a>).</p><p><strong>Fields</strong></p><ul><li><p><code>senddata</code>: A Julia object referencing a region of memory to be used for the send buffer. It is required that the object can be <code>cconvert</code>ed to an <a href="#MPI.API.MPIPtr"><code>MPIPtr</code></a>.</p></li><li><p><code>recvdata</code>: A Julia object referencing a region of memory to be used for the receive buffer. It is required that the object can be <code>cconvert</code>ed to an <a href="#MPI.API.MPIPtr"><code>MPIPtr</code></a>.</p></li><li><p><code>count</code>: the number of elements of <code>datatype</code> in the buffer. Note that this may not correspond to the number of elements in the array if derived types are used.</p></li><li><p><code>datatype</code>: the <a href="../advanced/#MPI.Datatype"><code>MPI.Datatype</code></a> stored in the buffer.</p></li></ul><p><strong>Usage</strong></p><pre><code class="nohighlight hljs">RBuffer(senddata, recvdata[, count, datatype])</code></pre><p>Generic constructor.</p><pre><code class="nohighlight hljs">RBuffer(senddata, recvdata)</code></pre><p>Construct a <code>Buffer</code> backed by <code>senddata</code> and <code>recvdata</code>, automatically determining the appropriate <code>count</code> and <code>datatype</code>.</p><ul><li><code>senddata</code> can be <a href="#MPI.IN_PLACE"><code>MPI.IN_PLACE</code></a></li><li><code>recvdata</code> can be <code>nothing</code> on a non-root node with <a href="../collective/#MPI.Reduce!"><code>MPI.Reduce!</code></a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/buffers.jl#L281-L302">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.MPIPtr" href="#MPI.API.MPIPtr"><code>MPI.API.MPIPtr</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.MPIPtr</code></pre><p>A pointer to an MPI buffer. This type is used only as part of the implicit conversion in <code>ccall</code>: a Julia object can be passed to MPI by defining methods for <code>Base.cconvert(::Type{MPIPtr}, ...)</code>/<code>Base.unsafe_convert(::Type{MPIPtr}, ...)</code>.</p><p>Currently supported are:</p><ul><li><code>Ptr</code></li><li><code>Ref</code></li><li><code>Array</code></li><li><code>SubArray</code></li><li><code>CUDA.CuArray</code> if CUDA.jl is loaded.</li><li><code>AMDGPU.ROCArray</code> if AMDGPU.jl is loaded.</li></ul><p>Additionally, certain sentinel values can be used, e.g. <code>MPI_IN_PLACE</code> or <code>MPI_BOTTOM</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/buffers.jl#L25-L41">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../comm/">« Communicators</a><a class="docs-footer-nextpage" href="../pointtopoint/">Point-to-point communication »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Sunday 16 July 2023 20:17">Sunday 16 July 2023</span>. Using Julia version 1.9.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR747/reference/collective/index.html b/previews/PR747/reference/collective/index.html
deleted file mode 100644
index 8c9574116..000000000
--- a/previews/PR747/reference/collective/index.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Collective communication · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../external/">External libraries and packages</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../library/">Library information</a></li><li><a class="tocitem" href="../environment/">Environment</a></li><li><a class="tocitem" href="../misc/">Miscellanea</a></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li class="is-active"><a class="tocitem" href>Collective communication</a><ul class="internal"><li><a class="tocitem" href="#Synchronization"><span>Synchronization</span></a></li><li><a class="tocitem" href="#Broadcast"><span>Broadcast</span></a></li><li><a class="tocitem" href="#Gather/Scatter"><span>Gather/Scatter</span></a></li><li><a class="tocitem" href="#Reduce/Scan"><span>Reduce/Scan</span></a></li></ul></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../advanced/">Advanced</a></li><li><a class="tocitem" href="../api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>Collective communication</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Collective communication</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/collective.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Collective-communication"><a class="docs-heading-anchor" href="#Collective-communication">Collective communication</a><a id="Collective-communication-1"></a><a class="docs-heading-anchor-permalink" href="#Collective-communication" title="Permalink"></a></h1><h2 id="Synchronization"><a class="docs-heading-anchor" href="#Synchronization">Synchronization</a><a id="Synchronization-1"></a><a class="docs-heading-anchor-permalink" href="#Synchronization" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Barrier" href="#MPI.Barrier"><code>MPI.Barrier</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Barrier(comm::Comm)</code></pre><p>Blocks until <code>comm</code> is synchronized.</p><p>If <code>comm</code> is an intracommunicator, then it blocks until all members of the group have called it.</p><p>If <code>comm</code> is an intercommunicator, then it blocks until all members of the other group have called it.</p><p><strong>External links</strong></p><ul><li><code>MPI_Barrier</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Barrier.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Barrier.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/collective.jl#L1-L12">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Ibarrier" href="#MPI.Ibarrier"><code>MPI.Ibarrier</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Ibarrier(comm::Comm[, req::AbstractRequest = Request())</code></pre><p>Blocks until <code>comm</code> is synchronized.</p><p>If <code>comm</code> is an intracommunicator, then it blocks until all members of the group have called it.</p><p>If <code>comm</code> is an intercommunicator, then it blocks until all members of the other group have called it.</p><p><strong>External links</strong></p><ul><li><code>MPI_Ibarrier</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Ibarrier.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Ibarrier.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/collective.jl#L19-L30">source</a></section></article><h2 id="Broadcast"><a class="docs-heading-anchor" href="#Broadcast">Broadcast</a><a id="Broadcast-1"></a><a class="docs-heading-anchor-permalink" href="#Broadcast" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Bcast!" href="#MPI.Bcast!"><code>MPI.Bcast!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Bcast!(buf, comm::Comm; root::Integer=0)</code></pre><p>Broadcast the buffer <code>buf</code> from <code>root</code> to all processes in <code>comm</code>.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.bcast"><code>bcast</code></a></li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Bcast</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Bcast.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Bcast.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/collective.jl#L39-L49">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Bcast" href="#MPI.Bcast"><code>MPI.Bcast</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Bcast(obj, root::Integer, comm::Comm)</code></pre><p>Broadcast the <code>obj</code> from <code>root</code> to all processes in <code>comm</code>. Returns the object. Currently <code>obj</code> must be <code>isbits</code>, i.e. <code>isbitstype(typeof(obj)) == true</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/collective.jl#L63-L68">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.bcast" href="#MPI.bcast"><code>MPI.bcast</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">bcast(obj, comm::Comm; root::Integer=0)</code></pre><p>Broadcast the object <code>obj</code> from rank <code>root</code> to all processes on <code>comm</code>. This is able to handle arbitrary data.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Bcast!"><code>Bcast!</code></a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/collective.jl#L76-L85">source</a></section></article><h2 id="Gather/Scatter"><a class="docs-heading-anchor" href="#Gather/Scatter">Gather/Scatter</a><a id="Gather/Scatter-1"></a><a class="docs-heading-anchor-permalink" href="#Gather/Scatter" title="Permalink"></a></h2><h3 id="Gather"><a class="docs-heading-anchor" href="#Gather">Gather</a><a id="Gather-1"></a><a class="docs-heading-anchor-permalink" href="#Gather" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.Gather!" href="#MPI.Gather!"><code>MPI.Gather!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Gather!(sendbuf, recvbuf, comm::Comm; root::Integer=0)</code></pre><p>Each process sends the contents of the buffer <code>sendbuf</code> to the <code>root</code> process. The <code>root</code> process stores elements in rank order in the buffer buffer <code>recvbuf</code>.</p><p><code>sendbuf</code> should be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a> object, or any object for which <a href="../buffers/#MPI.Buffer_send"><code>Buffer_send</code></a> is defined, with the same length on all processes, and should be the same length on all processes.</p><p>On the root process, <code>sendbuf</code> can be <a href="../buffers/#MPI.IN_PLACE"><code>MPI.IN_PLACE</code></a> on the root process, in which case the corresponding entries in <code>recvbuf</code> are assumed to be already in place (this corresponds the behaviour of <code>MPI_IN_PLACE</code> in <code>MPI_Gather</code>). For example:</p><pre><code class="nohighlight hljs">if root == MPI.Comm_rank(comm)
-    MPI.Gather!(MPI.IN_PLACE, UBuffer(buf, count), comm; root=root)
-else
-    MPI.Gather!(buf, nothing, comm; root=root)
-end</code></pre><p><code>recvbuf</code> on the root process should be a <a href="../buffers/#MPI.UBuffer"><code>UBuffer</code></a>, or can be an <code>AbstractArray</code> if the length can be determined from <code>sendbuf</code>. On non-root processes it is ignored and can be <code>nothing</code>.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Gather"><code>Gather</code></a> for the allocating operation.</li><li><a href="#MPI.Gatherv!"><code>Gatherv!</code></a> if the number of elements varies between processes.</li><li><a href="#MPI.Allgather!"><code>Allgather!</code></a> to send the result to all processes.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Gather</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Gather.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Gather.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/collective.jl#L216-L248">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Gather" href="#MPI.Gather"><code>MPI.Gather</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Gather(sendbuf, comm::Comm; root=0)</code></pre><p>Each process sends the contents of the buffer <code>sendbuf</code> to the <code>root</code> process. The <code>root</code> allocates the output buffer and stores elements in rank order.</p><p><code>sendbuf</code> can be an <code>AbstractArray</code> or a scalar, and should be the same length on all processes.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Gather!"><code>Gather!</code></a> for the mutating operation.</li><li><a href="#MPI.Gatherv!"><code>Gatherv!</code></a> if the number of elements varies between processes.</li><li><a href="#MPI.Allgather!"><code>Allgather!</code></a>/<a href="#MPI.Allgather"><code>Allgather</code></a> to send the result to all processes.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Gather</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Gather.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Gather.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/collective.jl#L273-L289">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Gatherv!" href="#MPI.Gatherv!"><code>MPI.Gatherv!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Gatherv!(sendbuf, recvbuf, comm::Comm; root::Integer=0)</code></pre><p>Each process sends the contents of the buffer <code>sendbuf</code> to the <code>root</code> process. The <code>root</code> stores elements in rank order in the buffer <code>recvbuf</code>.</p><p><code>sendbuf</code> should be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a> object, or any object for which <a href="../buffers/#MPI.Buffer_send"><code>Buffer_send</code></a> is defined, with the same length on all processes.</p><p>On the root process, <code>sendbuf</code> can be <a href="../buffers/#MPI.IN_PLACE"><code>MPI.IN_PLACE</code></a>, in which case the corresponding entries in <code>recvbuf</code> are assumed to be already in place. For example</p><pre><code class="nohighlight hljs">if root == MPI.Comm_rank(comm)
-    Gatherv!(MPI.IN_PLACE, VBuffer(buf, counts), comm; root=root)
-else
-    Gatherv!(buf, nothing, comm; root=root)
-end</code></pre><p><code>recvbuf</code> on the root process should be a <a href="../buffers/#MPI.VBuffer"><code>VBuffer</code></a>, or can be an <code>AbstractArray</code> if the length can be determined from <code>sendbuf</code>. On non-root processes it is ignored and can be <code>nothing</code>.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Gather!"><code>Gather!</code></a> if the number of elements is the same between processes.</li><li><a href="#MPI.Allgatherv!"><code>Allgatherv!</code></a> to send the result to all processes.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Gatherv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Gatherv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Gatherv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/collective.jl#L297-L326">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Allgather!" href="#MPI.Allgather!"><code>MPI.Allgather!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Allgather!(sendbuf, recvbuf::UBuffer, comm::Comm)
-Allgather!(sendrecvbuf::UBuffer, comm::Comm)</code></pre><p>Each process sends the contents of <code>sendbuf</code> to the other processes, the result of which is stored in rank order into <code>recvbuf</code>.</p><p><code>sendbuf</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a> object, or any object for which <a href="../buffers/#MPI.Buffer_send"><code>Buffer_send</code></a> is defined, and should be the same length on all processes.</p><p><code>recvbuf</code> can be a <a href="../buffers/#MPI.UBuffer"><code>UBuffer</code></a>, or can be an <code>AbstractArray</code> if the length can be determined from <code>sendbuf</code>.</p><p>If only one buffer <code>sendrecvbuf</code> is provided, then on each process the data to send is assumed to be in the area where it would receive its own contribution.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Allgather"><code>Allgather</code></a> for the allocating operation</li><li><a href="#MPI.Allgatherv!"><code>Allgatherv!</code></a> if the number of elements varies between processes.</li><li><a href="#MPI.Gather!"><code>Gather!</code></a> to send only to a single root process</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Allgather</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allgather.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allgather.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/collective.jl#L347-L370">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Allgather" href="#MPI.Allgather"><code>MPI.Allgather</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Allgather(sendbuf, comm)</code></pre><p>Each process sends the contents of <code>sendbuf</code> to the other processes, who store the results in rank order allocating the output buffer.</p><p><code>sendbuf</code> can be an <code>AbstractArray</code> or a scalar, and should be the same size on all processes.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Allgather!"><code>Allgather!</code></a> for the mutating operation</li><li><a href="#MPI.Allgatherv!"><code>Allgatherv!</code></a> if the number of elements varies between processes.</li><li><a href="#MPI.Gather!"><code>Gather!</code></a> to send only to a single root process</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Allgather</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allgather.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allgather.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/collective.jl#L393-L409">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Allgatherv!" href="#MPI.Allgatherv!"><code>MPI.Allgatherv!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Allgatherv!(sendbuf, recvbuf::VBuffer, comm::Comm)
-Allgatherv!(sendrecvbuf::VBuffer, comm::Comm)</code></pre><p>Each process sends the contents of <code>sendbuf</code> to all other process. Each process stores the received in the <a href="../buffers/#MPI.VBuffer"><code>VBuffer</code></a> <code>recvbuf</code>.</p><p><code>sendbuf</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a> object, or any object for which <a href="../buffers/#MPI.Buffer_send"><code>Buffer_send</code></a> is defined.</p><p>If only one buffer <code>sendrecvbuf</code> is provided, then for each process, the data to be sent is taken from the interval of <code>recvbuf</code> where it would store its own data.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Gatherv!"><code>Gatherv!</code></a> to send the result to a single process</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Allgatherv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allgatherv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allgatherv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/collective.jl#L416-L434">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Neighbor_allgather!" href="#MPI.Neighbor_allgather!"><code>MPI.Neighbor_allgather!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Neighbor_allgather!(sendbuf::Buffer, recvbuf::UBuffer, comm::Comm)</code></pre><p>Perform an all-gather communication along the directed edges of the graph.</p><p>See also <a href="#MPI.Allgather!"><code>MPI.Allgather!</code></a>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Neighbor_allgather</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_allgather.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_allgather.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/collective.jl#L856-L865">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Neighbor_allgatherv!" href="#MPI.Neighbor_allgatherv!"><code>MPI.Neighbor_allgatherv!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Neighbor_allgatherv!(sendbuf::Buffer, recvbuf::VBuffer, comm::Comm)</code></pre><p>Perform an all-gather communication along the directed edges of the graph with variable sized data.</p><p>See also <a href="#MPI.Allgatherv!"><code>MPI.Allgatherv!</code></a>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Neighbor_allgatherv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_allgatherv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_allgatherv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/collective.jl#L884-L893">source</a></section></article><h3 id="Scatter"><a class="docs-heading-anchor" href="#Scatter">Scatter</a><a id="Scatter-1"></a><a class="docs-heading-anchor-permalink" href="#Scatter" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.Scatter!" href="#MPI.Scatter!"><code>MPI.Scatter!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Scatter!(sendbuf::Union{UBuffer,Nothing}, recvbuf, comm::Comm;
-    root::Integer=0)</code></pre><p>Splits the buffer <code>sendbuf</code> in the <code>root</code> process into <code>Comm_size(comm)</code> chunks, sending the <code>j</code>-th chunk to the process of rank <code>j-1</code> into the <code>recvbuf</code> buffer.</p><p><code>sendbuf</code> on the root process should be a <a href="../buffers/#MPI.UBuffer"><code>UBuffer</code></a> (an <code>Array</code> can also be passed directly if the sizes can be determined from <code>recvbuf</code>). On non-root processes it is ignored, and <code>nothing</code> can be passed instead.</p><p><code>recvbuf</code> is a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a> object, or any object for which <code>Buffer(recvbuf)</code> is defined. On the root process, it can also be <a href="../buffers/#MPI.IN_PLACE"><code>MPI.IN_PLACE</code></a>, in which case it is unmodified. For example:</p><pre><code class="nohighlight hljs">if root == MPI.Comm_rank(comm)
-    MPI.Scatter!(UBuffer(buf, count), MPI.IN_PLACE, comm; root=root)
-else
-    MPI.Scatter!(nothing, buf, comm; root=root)
-end</code></pre><p><strong>See also</strong></p><ul><li><a href="#MPI.Scatterv!"><code>Scatterv!</code></a> if the number of elements varies between processes.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Scatter</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scatter.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scatter.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/collective.jl#L106-L133">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Scatter" href="#MPI.Scatter"><code>MPI.Scatter</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Scatter(sendbuf, T, comm::Comm; root::Integer=0)</code></pre><p>Splits the buffer <code>sendbuf</code> in the <code>root</code> process into <code>Comm_size(comm)</code> chunks, sending the <code>j</code>-th chunk to the process of rank <code>j-1</code> as an object of type <code>T</code>.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Scatter!"><code>Scatter!</code></a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/collective.jl#L156-L164">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Scatterv!" href="#MPI.Scatterv!"><code>MPI.Scatterv!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Scatterv!(sendbuf, recvbuf, comm::Comm; root::Integer=0)</code></pre><p>Splits the buffer <code>sendbuf</code> in the <code>root</code> process into <code>Comm_size(comm)</code> chunks and sends the <code>j</code>th chunk to the process of rank <code>j-1</code> into the <code>recvbuf</code> buffer.</p><p><code>sendbuf</code> on the root process should be a <a href="../buffers/#MPI.VBuffer"><code>VBuffer</code></a>. On non-root processes it is ignored, and <code>nothing</code> can be passed instead.</p><p><code>recvbuf</code> is a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a> object, or any object for which <code>Buffer(recvbuf)</code> is defined. On the root process, it can also be <a href="../buffers/#MPI.IN_PLACE"><code>MPI.IN_PLACE</code></a>, in which case it is unmodified. For example:</p><pre><code class="nohighlight hljs">if root == MPI.Comm_rank(comm)
-    MPI.Scatterv!(VBuffer(buf, counts), MPI.IN_PLACE, comm; root=root)
-else
-    MPI.Scatterv!(nothing, buf, comm; root=root)
-end</code></pre><p><strong>See also</strong></p><ul><li><a href="#MPI.Scatter!"><code>Scatter!</code></a> if the number of elements are the same for all processes</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Scatterv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scatterv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scatterv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/collective.jl#L170-L195">source</a></section></article><h3 id="All-to-all"><a class="docs-heading-anchor" href="#All-to-all">All-to-all</a><a id="All-to-all-1"></a><a class="docs-heading-anchor-permalink" href="#All-to-all" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.Alltoall!" href="#MPI.Alltoall!"><code>MPI.Alltoall!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Alltoall!(sendbuf::UBuffer, recvbuf::UBuffer, comm::Comm)
-Alltoall!(sendrecvbuf::UBuffer, comm::Comm)</code></pre><p>Every process divides the <a href="../buffers/#MPI.UBuffer"><code>UBuffer</code></a> <code>sendbuf</code> into <code>Comm_size(comm)</code> chunks of equal size, sending the <code>j</code>-th chunk to the process of rank <code>j-1</code>.  Every process stores the data received from rank <code>j-1</code> process in the <code>j</code>-th chunk of the buffer <code>recvbuf</code>.</p><pre><code class="nohighlight hljs">rank    send buf                        recv buf
-----    --------                        --------
- 0      a,b,c,d,e,f       Alltoall      a,b,A,B,α,β
- 1      A,B,C,D,E,F  ----------------&gt;  c,d,C,D,γ,ψ
- 2      α,β,γ,ψ,η,ν                     e,f,E,F,η,ν</code></pre><p>If only one buffer <code>sendrecvbuf</code> is used, then data is overwritten.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Alltoall"><code>Alltoall</code></a> for the allocating operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Alltoall</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoall.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoall.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/collective.jl#L454-L477">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Alltoall" href="#MPI.Alltoall"><code>MPI.Alltoall</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Alltoall(sendbuf::UBuffer, comm::Comm)</code></pre><p>Every process divides the <a href="../buffers/#MPI.UBuffer"><code>UBuffer</code></a> <code>sendbuf</code> into <code>Comm_size(comm)</code> chunks of equal size, sending the <code>j</code>-th chunk to the process of rank <code>j-1</code>. Every process allocates the output buffer and stores the data received from the process on rank <code>j-1</code> in the <code>j</code>-th chunk.</p><pre><code class="nohighlight hljs">rank    send buf                        recv buf
-----    --------                        --------
- 0      a,b,c,d,e,f       Alltoall      a,b,A,B,α,β
- 1      A,B,C,D,E,F  ----------------&gt;  c,d,C,D,γ,ψ
- 2      α,β,γ,ψ,η,ν                     e,f,E,F,η,ν</code></pre><p><strong>See also</strong></p><ul><li><a href="#MPI.Alltoall!"><code>Alltoall!</code></a> for the mutating operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Alltoall</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoall.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoall.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/collective.jl#L498-L519">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Alltoallv!" href="#MPI.Alltoallv!"><code>MPI.Alltoallv!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Alltoallv!(sendbuf::VBuffer, recvbuf::VBuffer, comm::Comm)</code></pre><p>Similar to <a href="#MPI.Alltoall!"><code>Alltoall!</code></a>, except with different size chunks per process.</p><p><strong>See also</strong></p><ul><li><a href="../buffers/#MPI.VBuffer"><code>VBuffer</code></a></li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Alltoallv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Alltoallv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Alltoallv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/collective.jl#L524-L534">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Neighbor_alltoall!" href="#MPI.Neighbor_alltoall!"><code>MPI.Neighbor_alltoall!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Neighbor_alltoall!(sendbuf::UBuffer, recvbuf::UBuffer, comm::Comm)</code></pre><p>Perform an all-to-all communication along the directed edges of the graph with fixed size messages.</p><p>See also <a href="#MPI.Alltoall!"><code>MPI.Alltoall!</code></a>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Neighbor_alltoall</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_alltoall.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_alltoall.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/collective.jl#L809-L818">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Neighbor_alltoallv!" href="#MPI.Neighbor_alltoallv!"><code>MPI.Neighbor_alltoallv!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Neighbor_alltoallv!(sendbuf::VBuffer, recvbuf::VBuffer, graph_comm::Comm)</code></pre><p>Perform an all-to-all communication along the directed edges of the graph with variable size messages.</p><p>See also <a href="#MPI.Alltoallv!"><code>MPI.Alltoallv!</code></a>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Neighbor_alltoallv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Neighbor_alltoallv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Neighbor_alltoallv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/collective.jl#L835-L844">source</a></section></article><h2 id="Reduce/Scan"><a class="docs-heading-anchor" href="#Reduce/Scan">Reduce/Scan</a><a id="Reduce/Scan-1"></a><a class="docs-heading-anchor-permalink" href="#Reduce/Scan" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Reduce!" href="#MPI.Reduce!"><code>MPI.Reduce!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Reduce!(sendbuf, recvbuf, op, comm::Comm; root::Integer=0)
-Reduce!(sendrecvbuf, op, comm::Comm; root::Integer=0)</code></pre><p>Performs elementwise reduction using the operator <code>op</code> on the buffer <code>sendbuf</code> and stores the result in <code>recvbuf</code> on the process of rank <code>root</code>.</p><p>On non-root processes <code>recvbuf</code> is ignored, and can be <code>nothing</code>.</p><p>To perform the reduction in place, provide a single buffer <code>sendrecvbuf</code>.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Reduce"><code>Reduce</code></a> to handle allocation of the output buffer.</li><li><a href="#MPI.Allreduce!"><code>Allreduce!</code></a>/<a href="#MPI.Allreduce"><code>Allreduce</code></a> to send reduction to all ranks.</li><li><a href="../advanced/#MPI.Op"><code>Op</code></a> for details on reduction operators.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Reduce</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/collective.jl#L557-L575">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Reduce" href="#MPI.Reduce"><code>MPI.Reduce</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">recvbuf = Reduce(sendbuf, op, comm::Comm; root::Integer=0)</code></pre><p>Performs elementwise reduction using the operator <code>op</code> on the buffer <code>sendbuf</code>, returning the result <code>recvbuf</code> on the process of rank <code>root</code>, and <code>nothing</code> on non-root processes.</p><p><code>sendbuf</code> can also be a scalar, in which case <code>recvbuf</code> will be a value of the same type.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Reduce!"><code>Reduce!</code></a> for mutating and in-place operations</li><li><a href="#MPI.Allreduce!"><code>Allreduce!</code></a>/<a href="#MPI.Allreduce"><code>Allreduce</code></a> to send reduction to all ranks.</li><li><a href="../advanced/#MPI.Op"><code>Op</code></a> for details on reduction operators.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Reduce</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Reduce.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Reduce.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/collective.jl#L605-L620">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Allreduce!" href="#MPI.Allreduce!"><code>MPI.Allreduce!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Allreduce!(sendbuf, recvbuf, op, comm::Comm)
-Allreduce!(sendrecvbuf, op, comm::Comm)</code></pre><p>Performs elementwise reduction using the operator <code>op</code> on the buffer <code>sendbuf</code>, storing the result in the <code>recvbuf</code> of all processes in the group.</p><p><code>Allreduce!</code> is equivalent to a <a href="#MPI.Reduce!"><code>Reduce!</code></a> operation followed by a <a href="#MPI.Bcast!"><code>Bcast!</code></a>, but can lead to better performance.</p><p>If only one <code>sendrecvbuf</code> buffer is provided, then the operation is performed in-place.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Allreduce"><code>Allreduce</code></a>, to handle allocation of the output buffer.</li><li><a href="#MPI.Reduce!"><code>Reduce!</code></a>/<a href="#MPI.Reduce"><code>Reduce</code></a> to send reduction to a single rank.</li><li><a href="../advanced/#MPI.Op"><code>Op</code></a> for details on reduction operators.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Allreduce</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allreduce.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allreduce.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/collective.jl#L642-L661">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Allreduce" href="#MPI.Allreduce"><code>MPI.Allreduce</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">recvbuf = Allreduce(sendbuf, op, comm)</code></pre><p>Performs elementwise reduction using the operator <code>op</code> on the buffer <code>sendbuf</code>, returning the result in the <code>recvbuf</code> of all processes in the group.</p><p><code>sendbuf</code> can also be a scalar, in which case <code>recvbuf</code> will be a value of the same type.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Allreduce!"><code>Allreduce!</code></a> for mutating or in-place operations.</li><li><a href="#MPI.Reduce!"><code>Reduce!</code></a>/<a href="#MPI.Reduce"><code>Reduce</code></a> to send reduction to a single rank.</li><li><a href="../advanced/#MPI.Op"><code>Op</code></a> for details on reduction operators.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Allreduce</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Allreduce.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Allreduce.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/collective.jl#L677-L692">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Scan!" href="#MPI.Scan!"><code>MPI.Scan!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Scan!(sendbuf, recvbuf, op, comm::Comm)
-Scan!(sendrecvbuf, op, comm::Comm)</code></pre><p>Inclusive prefix reduction (analagous to <code>accumulate</code> in Julia): <code>recvbuf</code> on rank <code>i</code> will contain the the result of reducing <code>sendbuf</code> by <code>op</code> from ranks <code>0:i</code>.</p><p>If only a single buffer <code>sendrecvbuf</code> is provided, then operations will be performed in-place.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Scan"><code>Scan</code></a> to handle allocation of the output buffer</li><li><a href="#MPI.Exscan!"><code>Exscan!</code></a>/<a href="#MPI.Exscan"><code>Exscan</code></a> for exclusive scan</li><li><a href="../advanced/#MPI.Op"><code>Op</code></a> for details on reduction operators.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Scan</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scan.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scan.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/collective.jl#L701-L718">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Scan" href="#MPI.Scan"><code>MPI.Scan</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">recvbuf = Scan(sendbuf, op, comm::Comm)</code></pre><p>Inclusive prefix reduction (analagous to <code>accumulate</code> in Julia): <code>recvbuf</code> on rank <code>i</code> will contain the the result of reducing <code>sendbuf</code> by <code>op</code> from ranks <code>0:i</code>.</p><p><code>sendbuf</code> can also be a scalar, in which case <code>recvbuf</code> will also be a scalar of the same type.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Scan!"><code>Scan!</code></a> for mutating or in-place operations</li><li><a href="#MPI.Exscan!"><code>Exscan!</code></a>/<a href="#MPI.Exscan"><code>Exscan</code></a> for exclusive scan</li><li><a href="../advanced/#MPI.Op"><code>Op</code></a> for details on reduction operators.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Scan</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scan.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scan.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/collective.jl#L733-L749">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Exscan!" href="#MPI.Exscan!"><code>MPI.Exscan!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Exscan!(sendbuf, recvbuf, op, comm::Comm)
-Exscan!(sendrecvbuf, op, comm::Comm)</code></pre><p>Exclusive prefix reduction (analagous to <code>accumulate</code> in Julia): <code>recvbuf</code> on rank <code>i</code> will contain the the result of reducing <code>sendbuf</code> by <code>op</code> from ranks <code>0:i-1</code>. The <code>recvbuf</code> on rank <code>0</code> is ignored, and the <code>recvbuf</code> on rank <code>1</code> will contain the contents of <code>sendbuf</code> on rank <code>0</code>.</p><p>If only a single <code>sendrecvbuf</code> is provided, then operations are performed in-place, and <code>buf</code> on rank 0 will remain unchanged.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Exscan"><code>Exscan</code></a> to handle allocation of the output buffer</li><li><a href="#MPI.Scan!"><code>Scan!</code></a>/<a href="#MPI.Scan"><code>Scan</code></a> for inclusive scan</li><li><a href="../advanced/#MPI.Op"><code>Op</code></a> for details on reduction operators.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Exscan</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Exscan.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Exscan.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/collective.jl#L756-L775">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Exscan" href="#MPI.Exscan"><code>MPI.Exscan</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">recvbuf = Exscan(sendbuf, op, comm::Comm)</code></pre><p>Exclusive prefix reduction (analagous to <code>accumulate</code> in Julia): <code>recvbuf</code> on rank <code>i</code> will contain the the result of reducing <code>sendbuf</code> by <code>op</code> from ranks <code>0:i-1</code>. The <code>recvbuf</code> on rank <code>0</code> is undefined, and the <code>recvbuf</code> on rank <code>1</code> will contain the contents of <code>sendbuf</code> on rank <code>0</code>.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Exscan!"><code>Exscan!</code></a> for mutating and in-place operations</li><li><a href="#MPI.Scan!"><code>Scan!</code></a>/<a href="#MPI.Scan"><code>Scan</code></a> for inclusive scan</li><li><a href="../advanced/#MPI.Op"><code>Op</code></a> for details on reduction operators.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Scan</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Scan.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Scan.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/collective.jl#L789-L804">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../pointtopoint/">« Point-to-point communication</a><a class="docs-footer-nextpage" href="../onesided/">One-sided communication »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Sunday 16 July 2023 20:17">Sunday 16 July 2023</span>. Using Julia version 1.9.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR747/reference/comm/index.html b/previews/PR747/reference/comm/index.html
deleted file mode 100644
index ed5b1c0ef..000000000
--- a/previews/PR747/reference/comm/index.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Communicators · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../external/">External libraries and packages</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../library/">Library information</a></li><li><a class="tocitem" href="../environment/">Environment</a></li><li><a class="tocitem" href="../misc/">Miscellanea</a></li><li class="is-active"><a class="tocitem" href>Communicators</a><ul class="internal"><li><a class="tocitem" href="#Types-and-enums"><span>Types and enums</span></a></li><li><a class="tocitem" href="#Constants"><span>Constants</span></a></li><li><a class="tocitem" href="#Functions"><span>Functions</span></a></li></ul></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../advanced/">Advanced</a></li><li><a class="tocitem" href="../api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>Communicators</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Communicators</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/comm.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Communicators"><a class="docs-heading-anchor" href="#Communicators">Communicators</a><a id="Communicators-1"></a><a class="docs-heading-anchor-permalink" href="#Communicators" title="Permalink"></a></h1><p>An MPI communicator specifies the communication context for a communication operation. In particular, it specifies the set of processes which share the context, and assigns each each process a unique <em>rank</em> (see <a href="#MPI.Comm_rank"><code>MPI.Comm_rank</code></a>) taking an integer value in <code>0:n-1</code>, where <code>n</code> is the number of processes in the communicator (see <a href="#MPI.Comm_size"><code>MPI.Comm_size</code></a>.</p><h2 id="Types-and-enums"><a class="docs-heading-anchor" href="#Types-and-enums">Types and enums</a><a id="Types-and-enums-1"></a><a class="docs-heading-anchor-permalink" href="#Types-and-enums" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm" href="#MPI.Comm"><code>MPI.Comm</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.Comm</code></pre><p>An MPI Communicator object.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/comm.jl#L1-L5">source</a></section></article><h2 id="Constants"><a class="docs-heading-anchor" href="#Constants">Constants</a><a id="Constants-1"></a><a class="docs-heading-anchor-permalink" href="#Constants" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.COMM_WORLD" href="#MPI.COMM_WORLD"><code>MPI.COMM_WORLD</code></a> — <span class="docstring-category">Constant</span></header><section><div><pre><code class="language-julia hljs">MPI.COMM_WORLD</code></pre><p>A communicator containing all processes with which the local rank can communicate at initialization. In a typical &quot;static-process&quot; model, this will be all processes.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/comm.jl#L18-L23">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.COMM_SELF" href="#MPI.COMM_SELF"><code>MPI.COMM_SELF</code></a> — <span class="docstring-category">Constant</span></header><section><div><pre><code class="language-julia hljs">MPI.COMM_SELF</code></pre><p>A communicator containing only the local process.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/comm.jl#L27-L31">source</a></section></article><h2 id="Functions"><a class="docs-heading-anchor" href="#Functions">Functions</a><a id="Functions-1"></a><a class="docs-heading-anchor-permalink" href="#Functions" title="Permalink"></a></h2><h3 id="Operations"><a class="docs-heading-anchor" href="#Operations">Operations</a><a id="Operations-1"></a><a class="docs-heading-anchor-permalink" href="#Operations" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_size" href="#MPI.Comm_size"><code>MPI.Comm_size</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_size(comm::Comm)</code></pre><p>The number of processes involved in communicator.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Comm_rank"><code>MPI.Comm_rank</code></a>.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Comm_size</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_size.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_size.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/comm.jl#L65-L75">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_rank" href="#MPI.Comm_rank"><code>MPI.Comm_rank</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_rank(comm::Comm)</code></pre><p>The rank of the process in the particular communicator&#39;s group.</p><p>Returns an integer in the range <code>0:MPI.Comm_size()-1</code>.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Comm_size"><code>MPI.Comm_size</code></a>.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Comm_rank</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_rank.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_rank.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/comm.jl#L46-L58">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_compare" href="#MPI.Comm_compare"><code>MPI.Comm_compare</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_compare(comm1::Comm, comm2::Comm)::MPI.Comparison</code></pre><p>Compare two communicators and their underlying groups, returning an element of the <a href="../group/#MPI.Comparison"><code>Comparison</code></a> enum.</p><p><strong>External links</strong></p><ul><li><code>MPI_Comm_compare</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_compare.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_compare.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/comm.jl#L295-L302">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_group" href="#MPI.Comm_group"><code>MPI.Comm_group</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_group(comm::Comm)</code></pre><p>Accesses the group associated with given communicator.</p><p><strong>External links</strong></p><ul><li><code>MPI_Comm_group</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_group.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_group.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/comm.jl#L82-L89">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_remote_group" href="#MPI.Comm_remote_group"><code>MPI.Comm_remote_group</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_remote_group(comm::Comm)</code></pre><p>Accesses the remote group associated with the given inter-communicator.</p><p><strong>External links</strong></p><ul><li><code>MPI_Comm_remote_group</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_remote_group.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_remote_group.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/comm.jl#L97-L104">source</a></section></article><h3 id="Constructors"><a class="docs-heading-anchor" href="#Constructors">Constructors</a><a id="Constructors-1"></a><a class="docs-heading-anchor-permalink" href="#Constructors" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_create" href="#MPI.Comm_create"><code>MPI.Comm_create</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_create(comm::Comm, group::Group)</code></pre><p>Collectively creates a new communicator.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Comm_create_group"><code>MPI.Comm_create_group</code></a> for the noncollective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Comm_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/comm.jl#L112-L122">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_create_group" href="#MPI.Comm_create_group"><code>MPI.Comm_create_group</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_create_group(comm::Comm, group::Group, tag::Integer)</code></pre><p>Noncollectively creates a new communicator.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Comm_create"><code>MPI.Comm_create</code></a> for the noncollective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Comm_create_group</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_create_group.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_create_group.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/comm.jl#L130-L140">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_dup" href="#MPI.Comm_dup"><code>MPI.Comm_dup</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_dup(comm::Comm)</code></pre><p><strong>External links</strong></p><ul><li><code>MPI_Comm_dup</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_dup.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_dup.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/comm.jl#L148-L153">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_get_parent" href="#MPI.Comm_get_parent"><code>MPI.Comm_get_parent</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_get_parent()</code></pre><p><strong>External links</strong></p><ul><li><code>MPI_Comm_get_parent</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_get_parent.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_get_parent.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/comm.jl#L218-L223">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_spawn" href="#MPI.Comm_spawn"><code>MPI.Comm_spawn</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_spawn(command, argv::Vector{String}, nprocs::Integer, comm::Comm[, errors::Vector{Cint}]; kwargs...)</code></pre><p><strong>External links</strong></p><ul><li><code>MPI_Comm_spawn</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_spawn.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_spawn.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/comm.jl#L230-L235">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_split" href="#MPI.Comm_split"><code>MPI.Comm_split</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_split(comm::Comm, color::Union{Integer,Nothing}, key::Integer)</code></pre><p>Partition the communicator <code>comm</code>, one for each value of <code>color</code>, returning a new communicator. Within each group, the processes are ranked in the order of <code>key</code>, with ties broken by the order of <code>comm</code>.</p><p><code>color</code> should be a non-negative integer, or <code>nothing</code>, in which case a null communicator is returned for that rank.</p><p><strong>External links</strong></p><ul><li><code>MPI_Comm_split</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_split.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_split.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/comm.jl#L161-L173">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Comm_split_type" href="#MPI.Comm_split_type"><code>MPI.Comm_split_type</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Comm_split_type(comm::Comm, split_type, key::Integer; kwargs...)</code></pre><p>Partitions the communicator <code>comm</code> based on <code>split_type</code>, returning a new communicator. Within each group, the processes are ranked in the order of <code>key</code>, with ties broken by the order of <code>comm</code>.</p><p>Currently only one <code>split_type</code> is provided:</p><ul><li><code>MPI.COMM_TYPE_SHARED</code>: splits the communicator into subcommunicators, each of which can create a shared memory region.</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Comm_split_type</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Comm_split_type.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Comm_split_type.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/comm.jl#L191-L205">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Intercomm_merge" href="#MPI.Intercomm_merge"><code>MPI.Intercomm_merge</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Intercomm_merge(intercomm::Comm, flag::Bool)</code></pre><p><strong>External links</strong></p><ul><li><code>MPI_Intercomm_merge</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Intercomm_merge.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Intercomm_merge.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/comm.jl#L247-L252">source</a></section></article><h3 id="Miscellaneous"><a class="docs-heading-anchor" href="#Miscellaneous">Miscellaneous</a><a id="Miscellaneous-1"></a><a class="docs-heading-anchor-permalink" href="#Miscellaneous" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.universe_size" href="#MPI.universe_size"><code>MPI.universe_size</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">universe_size()</code></pre><p>The total number of available slots, or <code>nothing</code> if it is not defined. This is determined by the <code>MPI_UNIVERSE_SIZE</code> attribute of <code>COMM_WORLD</code>.</p><p>This is typically dependent on the MPI implementation: for MPICH-based implementations, this is specified by the <code>-usize</code> argument. OpenMPI defines a default value based on the number of processes available.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/comm.jl#L271-L277">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.tag_ub" href="#MPI.tag_ub"><code>MPI.tag_ub</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">tag_ub()</code></pre><p>The maximum value tag value for point-to-point operations.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/comm.jl#L284-L288">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../misc/">« Miscellanea</a><a class="docs-footer-nextpage" href="../buffers/">Buffers »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Sunday 16 July 2023 20:17">Sunday 16 July 2023</span>. Using Julia version 1.9.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR747/reference/environment/index.html b/previews/PR747/reference/environment/index.html
deleted file mode 100644
index 0b42ca00d..000000000
--- a/previews/PR747/reference/environment/index.html
+++ /dev/null
@@ -1,7 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Environment · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../external/">External libraries and packages</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../library/">Library information</a></li><li class="is-active"><a class="tocitem" href>Environment</a><ul class="internal"><li><a class="tocitem" href="#Launching-MPI-programs"><span>Launching MPI programs</span></a></li><li><a class="tocitem" href="#Enums"><span>Enums</span></a></li><li><a class="tocitem" href="#Functions"><span>Functions</span></a></li><li><a class="tocitem" href="#Errors"><span>Errors</span></a></li></ul></li><li><a class="tocitem" href="../misc/">Miscellanea</a></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../advanced/">Advanced</a></li><li><a class="tocitem" href="../api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>Environment</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Environment</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/environment.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Environment"><a class="docs-heading-anchor" href="#Environment">Environment</a><a id="Environment-1"></a><a class="docs-heading-anchor-permalink" href="#Environment" title="Permalink"></a></h1><h2 id="Launching-MPI-programs"><a class="docs-heading-anchor" href="#Launching-MPI-programs">Launching MPI programs</a><a id="Launching-MPI-programs-1"></a><a class="docs-heading-anchor-permalink" href="#Launching-MPI-programs" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPICH_jll.mpiexec" href="#MPICH_jll.mpiexec"><code>MPICH_jll.mpiexec</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">mpiexec(fn)</code></pre><p>A wrapper function for the MPI launcher executable. Calls <code>fn(cmd)</code>, where <code>cmd</code> is a <code>Cmd</code> object of the MPI launcher.</p><p><strong>Usage</strong></p><pre><code class="language-julia-repl hljs">julia&gt; mpiexec(cmd -&gt; run(`$cmd -n 3 echo hello world`));
-hello world
-hello world
-hello world</code></pre></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/environment.jl#L1-L14">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.install_mpiexecjl" href="#MPI.install_mpiexecjl"><code>MPI.install_mpiexecjl</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.install_mpiexecjl(; command::String = &quot;mpiexecjl&quot;,
-                      destdir::String = joinpath(DEPOT_PATH[1], &quot;bin&quot;),
-                      force::Bool = false, verbose::Bool = true)</code></pre><p>Install the <code>mpiexec</code> wrapper to <code>destdir</code> directory, with filename <code>command</code>. Set <code>force</code> to <code>true</code> to overwrite an existing destination file with the same path.  If <code>verbose</code> is <code>true</code>, the installation prints information about the progress of the process.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/mpiexec_wrapper.jl#L1-L10">source</a></section></article><h2 id="Enums"><a class="docs-heading-anchor" href="#Enums">Enums</a><a id="Enums-1"></a><a class="docs-heading-anchor-permalink" href="#Enums" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.ThreadLevel" href="#MPI.ThreadLevel"><code>MPI.ThreadLevel</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">ThreadLevel</code></pre><p>An Enum denoting the level of threading support in the current process:</p><ul><li><p><code>MPI.THREAD_SINGLE</code>: Only one thread will execute.</p></li><li><p><code>MPI.THREAD_FUNNELED</code>: The process may be multi-threaded, but the application must ensure that only the main thread makes MPI calls. See <a href="#MPI.Is_thread_main"><code>Is_thread_main</code></a>.</p></li><li><p><code>MPI.THREAD_SERIALIZED</code>: The process may be multi-threaded, and multiple threads may make MPI calls, but only one at a time (i.e. all MPI calls are serialized).</p></li><li><p><code>MPI.THREAD_MULTIPLE</code>: Multiple threads may call MPI, with no restrictions.</p></li></ul><p><strong>See also</strong></p><ul><li><a href="#MPI.Init"><code>Init</code></a></li><li><a href="#MPI.Query_thread"><code>Query_thread</code></a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/environment.jl#L154-L173">source</a></section></article><h2 id="Functions"><a class="docs-heading-anchor" href="#Functions">Functions</a><a id="Functions-1"></a><a class="docs-heading-anchor-permalink" href="#Functions" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Abort" href="#MPI.Abort"><code>MPI.Abort</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Abort(comm::Comm, errcode::Integer)</code></pre><p>Make a “best attempt” to abort all tasks in the group of <code>comm</code>. This function does not require that the invoking environment take any action with the error code. However, a Unix or POSIX environment should handle this as a return errorcode from the main program.</p><p><strong>External links</strong></p><ul><li><code>MPI_Abort</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Abort.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Abort.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/environment.jl#L259-L268">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Init" href="#MPI.Init"><code>MPI.Init</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Init(;threadlevel=:serialized, finalize_atexit=true, errors_return=true)</code></pre><p>Initialize MPI in the current process. The keyword options:</p><ul><li><code>threadlevel</code>: either <code>:single</code>, <code>:funneled</code>, <code>:serialized</code> (default), <code>:multiple</code>, or an instance of <a href="#MPI.ThreadLevel"><code>ThreadLevel</code></a>.</li><li><code>finalize_atexit</code>: if <code>true</code> (default), adds an <code>atexit</code> hook to call <a href="#MPI.Finalize"><code>MPI.Finalize</code></a> if it hasn&#39;t already been called.</li><li><code>errors_return</code>: if <code>true</code> (default), will set the default error handlers for <a href="../comm/#MPI.COMM_SELF"><code>MPI.COMM_SELF</code></a> and <a href="../comm/#MPI.COMM_WORLD"><code>MPI.COMM_WORLD</code></a> to be <code>MPI.ERRORS_RETURN</code>. MPI errors will then appear as Julia exceptions.</li></ul><p>It will return the <a href="#MPI.ThreadLevel"><code>ThreadLevel</code></a> value which MPI is initialized at.</p><p>All MPI programs must call this function at least once before calling any other MPI operations: the only MPI functions that may be called before <code>MPI.Init</code> are <a href="#MPI.Initialized"><code>MPI.Initialized</code></a> and <a href="#MPI.Finalized"><code>MPI.Finalized</code></a>.</p><p>It is safe to call <code>MPI.Init</code> multiple times, however it is not valid to call it after calling <a href="#MPI.Finalize"><code>MPI.Finalize</code></a>.</p><p><strong>External links</strong></p><ul><li><p><code>MPI_Init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Init.html">MPICH</a></p></li><li><p><code>MPI_Init_thread</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Init_thread.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Init_thread.html">MPICH</a></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/environment.jl#L78-L103">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Query_thread" href="#MPI.Query_thread"><code>MPI.Query_thread</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Query_thread()</code></pre><p>Query the level of threading support in the current process. Returns a <a href="#MPI.ThreadLevel"><code>ThreadLevel</code></a> value denoting</p><p><strong>External links</strong></p><ul><li><code>MPI_Query_thread</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Query_thread.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Query_thread.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/environment.jl#L202-L210">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Is_thread_main" href="#MPI.Is_thread_main"><code>MPI.Is_thread_main</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Is_thread_main()</code></pre><p>Queries whether the current thread is the main thread according to MPI. This can be called by any thread, and is useful for the  <code>THREAD_FUNNELED</code> <a href="#MPI.ThreadLevel"><code>ThreadLevel</code></a>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Is_thread_main</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Is_thread_main.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Is_thread_main.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/environment.jl#L219-L227">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Initialized" href="#MPI.Initialized"><code>MPI.Initialized</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Initialized()</code></pre><p>Returns <code>true</code> if <a href="#MPI.Init"><code>MPI.Init</code></a> has been called, <code>false</code> otherwise.</p><p>It is unaffected by <a href="#MPI.Finalize"><code>MPI.Finalize</code></a>, and is one of the few functions that may be called before <a href="#MPI.Init"><code>MPI.Init</code></a>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Intialized</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Intialized.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Intialized.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/environment.jl#L271-L281">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Finalize" href="#MPI.Finalize"><code>MPI.Finalize</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Finalize()</code></pre><p>Marks MPI state for cleanup. This should be called after <a href="#MPI.Init"><code>MPI.Init</code></a>, and can be called at most once. No further MPI calls (other than <a href="#MPI.Initialized"><code>Initialized</code></a> or <a href="#MPI.Finalized"><code>Finalized</code></a>) should be made after it is called.</p><p><a href="#MPI.Init"><code>MPI.Init</code></a> will automatically insert a hook to call this function when Julia exits, if it hasn&#39;t already been called.</p><p><strong>External links</strong></p><ul><li><code>MPI_Finalize</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Finalize.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Finalize.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/environment.jl#L237-L249">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Finalized" href="#MPI.Finalized"><code>MPI.Finalized</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Finalized()</code></pre><p>Returns <code>true</code> if <a href="#MPI.Finalize"><code>MPI.Finalize</code></a> has completed, <code>false</code> otherwise.</p><p>It is safe to call before <a href="#MPI.Init"><code>MPI.Init</code></a> and after <a href="#MPI.Finalize"><code>MPI.Finalize</code></a>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Finalized</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Finalized.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Finalized.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/environment.jl#L288-L297">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.add_init_hook!" href="#MPI.add_init_hook!"><code>MPI.add_init_hook!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.add_init_hook!(f)</code></pre><p>Register a function <code>f</code> that will be called as <code>f()</code> when <code>MPI.Init</code> is called. These are invoked in a first-in, first-out (FIFO) order.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/environment.jl#L46-L51">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.add_finalize_hook!" href="#MPI.add_finalize_hook!"><code>MPI.add_finalize_hook!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.add_finalize_hook!(f)</code></pre><p>Register a function <code>f</code> that will be called as <code>f()</code> when <code>MPI.Finalizer</code> is called. These are invoked in a last-in, first-out (LIFO) order.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/environment.jl#L63-L68">source</a></section></article><h2 id="Errors"><a class="docs-heading-anchor" href="#Errors">Errors</a><a id="Errors-1"></a><a class="docs-heading-anchor-permalink" href="#Errors" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.MPIError" href="#MPI.MPIError"><code>MPI.MPIError</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPIError</code></pre><p>Error thrown when an MPI function returns an error code. The <code>code</code> field contains the MPI error code.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/MPI.jl#L27-L31">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.API.FeatureLevelError" href="#MPI.API.FeatureLevelError"><code>MPI.API.FeatureLevelError</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">FeatureLevelError</code></pre><p>Error thrown if a feature is not implemented in the current MPI backend.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/api/api.jl#L107-L111">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../library/">« Library information</a><a class="docs-footer-nextpage" href="../misc/">Miscellanea »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Sunday 16 July 2023 20:17">Sunday 16 July 2023</span>. Using Julia version 1.9.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR747/reference/group/index.html b/previews/PR747/reference/group/index.html
deleted file mode 100644
index c06756331..000000000
--- a/previews/PR747/reference/group/index.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Groups · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../external/">External libraries and packages</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../library/">Library information</a></li><li><a class="tocitem" href="../environment/">Environment</a></li><li><a class="tocitem" href="../misc/">Miscellanea</a></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../advanced/">Advanced</a></li><li><a class="tocitem" href="../api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>Groups</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Groups</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/group.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Groups"><a class="docs-heading-anchor" href="#Groups">Groups</a><a id="Groups-1"></a><a class="docs-heading-anchor-permalink" href="#Groups" title="Permalink"></a></h1><p>An MPI group is a set of process identifiers identified by their <em>rank</em> (see  <a href="../comm/#MPI.Comm_rank"><code>MPI.Comm_rank</code></a> and <a href="#MPI.Group_rank"><code>MPI.Group_rank</code></a>). They are used within a  communicator to describe the participants in a communication <em>universe</em>.</p><h2 id="Types-and-enums"><a class="docs-heading-anchor" href="#Types-and-enums">Types and enums</a><a id="Types-and-enums-1"></a><a class="docs-heading-anchor-permalink" href="#Types-and-enums" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Group" href="#MPI.Group"><code>MPI.Group</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.Group</code></pre><p>An MPI Group object.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/group.jl#L1-L5">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Comparison" href="#MPI.Comparison"><code>MPI.Comparison</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">Comparison</code></pre><p>An enum denoting the result of <a href="../comm/#MPI.Comm_compare"><code>Comm_compare</code></a>:</p><ul><li><p><code>MPI.IDENT</code>: the objects are handles for the same object (identical groups and same contexts).</p></li><li><p><code>MPI.CONGRUENT</code>: the underlying groups are identical in constituents and rank order; these communicators differ only by context.</p></li><li><p><code>MPI.SIMILAR</code>: members of both objects are the same but the rank order differs.</p></li><li><p><code>MPI.UNEQUAL</code>: otherwise</p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/group.jl#L63-L75">source</a></section></article><h2 id="Functions"><a class="docs-heading-anchor" href="#Functions">Functions</a><a id="Functions-1"></a><a class="docs-heading-anchor-permalink" href="#Functions" title="Permalink"></a></h2><h3 id="Operations"><a class="docs-heading-anchor" href="#Operations">Operations</a><a id="Operations-1"></a><a class="docs-heading-anchor-permalink" href="#Operations" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.Group_size" href="#MPI.Group_size"><code>MPI.Group_size</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Group_size(group::Group)</code></pre><p>The number of processes involved in group.</p><p><strong>External links</strong></p><ul><li><code>MPI_Group_size</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Group_size.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Group_size.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/group.jl#L33-L40">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Group_rank" href="#MPI.Group_rank"><code>MPI.Group_rank</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Group_rank(group::Group)</code></pre><p>The rank of the process in the particular group.</p><p>Returns an integer in the range <code>0:MPI.Group_size()-1</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Group_rank</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Group_rank.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Group_rank.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/group.jl#L47-L56">source</a></section></article></article><nav class="docs-footer"><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Sunday 16 July 2023 20:17">Sunday 16 July 2023</span>. Using Julia version 1.9.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR747/reference/io/index.html b/previews/PR747/reference/io/index.html
deleted file mode 100644
index b2f18d7c2..000000000
--- a/previews/PR747/reference/io/index.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>I/O · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../external/">External libraries and packages</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../library/">Library information</a></li><li><a class="tocitem" href="../environment/">Environment</a></li><li><a class="tocitem" href="../misc/">Miscellanea</a></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li class="is-active"><a class="tocitem" href>I/O</a><ul class="internal"><li><a class="tocitem" href="#File-manipulation"><span>File manipulation</span></a></li><li><a class="tocitem" href="#Views"><span>Views</span></a></li><li><a class="tocitem" href="#Consistency"><span>Consistency</span></a></li><li><a class="tocitem" href="#Data-access"><span>Data access</span></a></li></ul></li><li><a class="tocitem" href="../advanced/">Advanced</a></li><li><a class="tocitem" href="../api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>I/O</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>I/O</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/io.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="I/O"><a class="docs-heading-anchor" href="#I/O">I/O</a><a id="I/O-1"></a><a class="docs-heading-anchor-permalink" href="#I/O" title="Permalink"></a></h1><h2 id="File-manipulation"><a class="docs-heading-anchor" href="#File-manipulation">File manipulation</a><a id="File-manipulation-1"></a><a class="docs-heading-anchor-permalink" href="#File-manipulation" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.File.open" href="#MPI.File.open"><code>MPI.File.open</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.open(comm::Comm, filename::AbstractString; keywords...)</code></pre><p>Open the file identified by <code>filename</code>. This is a collective operation on <code>comm</code>.</p><p>Supported keywords are as follows:</p><ul><li><code>read</code>, <code>write</code>, <code>create</code>, <code>append</code> have the same behaviour and defaults as <code>Base.open</code>.</li><li><code>sequential</code>: file will only be accessed sequentially (default: <code>false</code>)</li><li><code>uniqueopen</code>: file will not be concurrently opened elsewhere (default: <code>false</code>)</li><li><code>deleteonclose</code>: delete file on close (default: <code>false</code>)</li></ul><p>Any additional keywords are passed via an <a href="../advanced/#MPI.Info"><code>Info</code></a> object, and are implementation dependent.</p><p><strong>External links</strong></p><ul><li><code>MPI_File_open</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_open.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_open.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/io.jl#L29-L44">source</a></section></article><h2 id="Views"><a class="docs-heading-anchor" href="#Views">Views</a><a id="Views-1"></a><a class="docs-heading-anchor-permalink" href="#Views" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.File.set_view!" href="#MPI.File.set_view!"><code>MPI.File.set_view!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.set_view!(file::FileHandle, disp::Integer, etype::Datatype, filetype::Datatype, datarep::AbstractString; kwargs...)</code></pre><p>Set the current process&#39;s view of <code>file</code>.</p><p>The start of the view is set to <code>disp</code>; the type of data is set to <code>etype</code>; the distribution of data to processes is set to <code>filetype</code>; and the representation of data in the file is set to <code>datarep</code>: one of <code>&quot;native&quot;</code> (default), <code>&quot;internal&quot;</code>, or <code>&quot;external32&quot;</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_File_set_view</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_set_view.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_set_view.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/io.jl#L72-L83">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.get_byte_offset" href="#MPI.File.get_byte_offset"><code>MPI.File.get_byte_offset</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.get_byte_offset(file::FileHandle, offset::Integer)</code></pre><p>Converts a view-relative offset into an absolute byte position. Returns the absolute byte position (from the beginning of the file) of <code>offset</code> relative to the current view of <code>file</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_File_get_byte_offset</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_byte_offset.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_byte_offset.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/io.jl#L95-L104">source</a></section></article><h2 id="Consistency"><a class="docs-heading-anchor" href="#Consistency">Consistency</a><a id="Consistency-1"></a><a class="docs-heading-anchor-permalink" href="#Consistency" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.File.sync" href="#MPI.File.sync"><code>MPI.File.sync</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.sync(fh::FileHandle)</code></pre><p>A collective operation causing all previous writes to <code>fh</code> by the calling process to be transferred to the storage device. If other processes have made updates to the storage device, then all such updates become visible to subsequent reads of <code>fh</code> by the calling process.</p><p><strong>External links</strong></p><ul><li><code>MPI_File_sync</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_sync.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_sync.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/io.jl#L113-L123">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.get_atomicity" href="#MPI.File.get_atomicity"><code>MPI.File.get_atomicity</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.get_atomicity(file::FileHandle)</code></pre><p>Get the consistency option for the <code>fh</code>. If <code>false</code> it is non-atomic.</p><p><strong>External links</strong></p><ul><li><code>MPI_File_get_atomicity</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_atomicity.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_atomicity.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/io.jl#L449-L456">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.set_atomicity" href="#MPI.File.set_atomicity"><code>MPI.File.set_atomicity</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.set_atomicity(file::FileHandle, flag::Bool)</code></pre><p>Set the consitency option for the <code>fh</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_File_get_atomicity</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_atomicity.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_atomicity.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/io.jl#L464-L471">source</a></section></article><h2 id="Data-access"><a class="docs-heading-anchor" href="#Data-access">Data access</a><a id="Data-access-1"></a><a class="docs-heading-anchor-permalink" href="#Data-access" title="Permalink"></a></h2><h3 id="Individual-pointer"><a class="docs-heading-anchor" href="#Individual-pointer">Individual pointer</a><a id="Individual-pointer-1"></a><a class="docs-heading-anchor-permalink" href="#Individual-pointer" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.File.read!" href="#MPI.File.read!"><code>MPI.File.read!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.read!(file::FileHandle, data)</code></pre><p>Reads current view of <code>file</code> into <code>data</code>. <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(data)</code> is defined.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.set_view!"><code>MPI.File.set_view!</code></a> to set the current view of the file</li><li><a href="#MPI.File.read_all!"><code>MPI.File.read_all!</code></a> for the collective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_read</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/io.jl#L132-L144">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.read_all!" href="#MPI.File.read_all!"><code>MPI.File.read_all!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.read_all!(file::FileHandle, data)</code></pre><p>Reads current view of <code>file</code> into <code>data</code>. <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(data)</code> is defined. This is a collective operation, so must be called on all ranks in the communicator on which <code>file</code> was opened.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.set_view!"><code>MPI.File.set_view!</code></a> to set the current view of the file</li><li><a href="#MPI.File.read!"><code>MPI.File.read!</code></a> for the noncollective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_read_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/io.jl#L154-L167">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.write" href="#MPI.File.write"><code>MPI.File.write</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.write(file::FileHandle, data)</code></pre><p>Writes <code>data</code> to the current view of <code>file</code>. <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer_send(data)</code> is defined.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.set_view!"><code>MPI.File.set_view!</code></a> to set the current view of the file</li><li><a href="#MPI.File.write_all"><code>MPI.File.write_all</code></a> for the collective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_write</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/io.jl#L177-L189">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.write_all" href="#MPI.File.write_all"><code>MPI.File.write_all</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.write_all(file::FileHandle, data)</code></pre><p>Writes <code>data</code> to the current view of <code>file</code>. <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer_send(data)</code> is defined. This is a collective operation, so must be called on all ranks in the communicator on which <code>file</code> was opened.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.set_view!"><code>MPI.File.set_view!</code></a> to set the current view of the file</li><li><a href="#MPI.File.write"><code>MPI.File.write</code></a> for the noncollective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_write_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/io.jl#L199-L212">source</a></section></article><h3 id="Explicit-offsets"><a class="docs-heading-anchor" href="#Explicit-offsets">Explicit offsets</a><a id="Explicit-offsets-1"></a><a class="docs-heading-anchor-permalink" href="#Explicit-offsets" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.File.read_at!" href="#MPI.File.read_at!"><code>MPI.File.read_at!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.read_at!(file::FileHandle, offset::Integer, data)</code></pre><p>Reads from <code>file</code> at position <code>offset</code> into <code>data</code>. <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(data)</code> is defined.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.read_at_all!"><code>MPI.File.read_at_all!</code></a> for the collective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_read_at</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_at.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_at.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/io.jl#L224-L235">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.read_at_all!" href="#MPI.File.read_at_all!"><code>MPI.File.read_at_all!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.read_at_all!(file::FileHandle, offset::Integer, data)</code></pre><p>Reads from <code>file</code> at position <code>offset</code> into <code>data</code>. <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(data)</code> is defined. This is a collective operation, so must be called on all ranks in the communicator on which <code>file</code> was opened.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.read_at!"><code>MPI.File.read_at!</code></a> for the noncollective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_read_at_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_at_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_at_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/io.jl#L245-L257">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.write_at" href="#MPI.File.write_at"><code>MPI.File.write_at</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.write_at(file::FileHandle, offset::Integer, data)</code></pre><p>Writes <code>data</code> to <code>file</code> at position <code>offset</code>. <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <a href="../buffers/#MPI.Buffer_send"><code>Buffer_send(data)</code></a> is defined.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.write_at_all"><code>MPI.File.write_at_all</code></a> for the collective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_write_at</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_at.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_at.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/io.jl#L268-L279">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.write_at_all" href="#MPI.File.write_at_all"><code>MPI.File.write_at_all</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.write_at_all(file::FileHandle, offset::Integer, data)</code></pre><p>Writes from <code>data</code> to <code>file</code> at position <code>offset</code>. <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <a href="../buffers/#MPI.Buffer_send"><code>Buffer_send(data)</code></a> is defined. This is a collective operation, so must be called on all ranks in the communicator on which <code>file</code> was opened.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.write_at"><code>MPI.File.write_at</code></a> for the noncollective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_write_at_all</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_at_all.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_at_all.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/io.jl#L289-L301">source</a></section></article><h3 id="Shared-pointer"><a class="docs-heading-anchor" href="#Shared-pointer">Shared pointer</a><a id="Shared-pointer-1"></a><a class="docs-heading-anchor-permalink" href="#Shared-pointer" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.File.read_shared!" href="#MPI.File.read_shared!"><code>MPI.File.read_shared!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.read_shared!(file::FileHandle, data)</code></pre><p>Reads from <code>file</code> using the shared file pointer into <code>data</code>.  <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(data)</code> is defined.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.read_ordered!"><code>MPI.File.read_ordered!</code></a> for the collective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_read_shared</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_shared.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_shared.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/io.jl#L313-L324">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.write_shared" href="#MPI.File.write_shared"><code>MPI.File.write_shared</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.write_shared(file::FileHandle, data)</code></pre><p>Writes to <code>file</code> using the shared file pointer from <code>data</code>. <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(data)</code> is defined.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.write_ordered"><code>MPI.File.write_ordered</code></a> for the collective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_write_shared</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_shared.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_shared.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/io.jl#L334-L345">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.read_ordered!" href="#MPI.File.read_ordered!"><code>MPI.File.read_ordered!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.read_ordered!(file::FileHandle, data)</code></pre><p>Collectively reads in rank order from <code>file</code> using the shared file pointer into <code>data</code>. <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(data)</code> is defined. This is a collective operation, so must be called on all ranks in the communicator on which <code>file</code> was opened.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.read_shared!"><code>MPI.File.read_shared!</code></a> for the noncollective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_read_ordered</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_read_ordered.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_read_ordered.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/io.jl#L356-L369">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.write_ordered" href="#MPI.File.write_ordered"><code>MPI.File.write_ordered</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.write_ordered(file::FileHandle, data)</code></pre><p>Collectively writes in rank order to <code>file</code> using the shared file pointer from <code>data</code>. <code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(data)</code> is defined. This is a collective operation, so must be called on all ranks in the communicator on which <code>file</code> was opened.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.File.write_shared"><code>MPI.File.write_shared</code></a> for the noncollective operation</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_File_write_ordered</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_write_ordered.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_write_ordered.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/io.jl#L379-L392">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.seek_shared" href="#MPI.File.seek_shared"><code>MPI.File.seek_shared</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.seek_shared(file::FileHandle, offset::Integer, whence::Seek=SEEK_SET)</code></pre><p>Updates the shared file pointer according to <code>whence</code>, which has the following possible values:</p><ul><li><code>MPI.File.SEEK_SET</code> (default): the pointer is set to <code>offset</code></li><li><code>MPI.File.SEEK_CUR</code>: the pointer is set to the current pointer position plus <code>offset</code></li><li><code>MPI.File.SEEK_END</code>: the pointer is set to the end of file plus <code>offset</code></li></ul><p>This is a collective operation, and must be called with the same value on all processes in the communicator.</p><p><strong>External links</strong></p><ul><li><code>MPI_File_seek_shared</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_seek_shared.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_seek_shared.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/io.jl#L413-L428">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.File.get_position_shared" href="#MPI.File.get_position_shared"><code>MPI.File.get_position_shared</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.File.get_position_shared(file::FileHandle)</code></pre><p>The current position of the shared file pointer (in <code>etype</code> units) relative to the current view.</p><p><strong>External links</strong></p><ul><li><code>MPI_File_get_position_shared</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_File_get_position_shared.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_File_get_position_shared.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/io.jl#L434-L441">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../topology/">« Topology</a><a class="docs-footer-nextpage" href="../advanced/">Advanced »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Sunday 16 July 2023 20:17">Sunday 16 July 2023</span>. Using Julia version 1.9.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR747/reference/library/index.html b/previews/PR747/reference/library/index.html
deleted file mode 100644
index 7211962c8..000000000
--- a/previews/PR747/reference/library/index.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Library information · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../external/">External libraries and packages</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li class="is-active"><a class="tocitem" href>Library information</a><ul class="internal"><li><a class="tocitem" href="#Constants"><span>Constants</span></a></li><li><a class="tocitem" href="#Functions"><span>Functions</span></a></li></ul></li><li><a class="tocitem" href="../environment/">Environment</a></li><li><a class="tocitem" href="../misc/">Miscellanea</a></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../advanced/">Advanced</a></li><li><a class="tocitem" href="../api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>Library information</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Library information</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/library.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Library-information"><a class="docs-heading-anchor" href="#Library-information">Library information</a><a id="Library-information-1"></a><a class="docs-heading-anchor-permalink" href="#Library-information" title="Permalink"></a></h1><h2 id="Constants"><a class="docs-heading-anchor" href="#Constants">Constants</a><a id="Constants-1"></a><a class="docs-heading-anchor-permalink" href="#Constants" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.MPI_VERSION" href="#MPI.MPI_VERSION"><code>MPI.MPI_VERSION</code></a> — <span class="docstring-category">Constant</span></header><section><div><pre><code class="language-julia hljs">MPI_VERSION :: VersionNumber</code></pre><p>The supported version of the MPI standard.</p><p><strong>External links</strong></p><ul><li><code>MPI_Get_version</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_version.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_version.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/implementations.jl#L73-L80">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.MPI_LIBRARY" href="#MPI.MPI_LIBRARY"><code>MPI.MPI_LIBRARY</code></a> — <span class="docstring-category">Constant</span></header><section><div><pre><code class="language-julia hljs">MPI_LIBRARY :: String</code></pre><p>The current MPI implementation: this is determined by</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/implementations.jl#L51-L55">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.MPI_LIBRARY_VERSION" href="#MPI.MPI_LIBRARY_VERSION"><code>MPI.MPI_LIBRARY_VERSION</code></a> — <span class="docstring-category">Constant</span></header><section><div><pre><code class="language-julia hljs">MPI_LIBRARY_VERSION :: VersionNumber</code></pre><p>The version of the MPI library</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/implementations.jl#L58-L62">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.MPI_LIBRARY_VERSION_STRING" href="#MPI.MPI_LIBRARY_VERSION_STRING"><code>MPI.MPI_LIBRARY_VERSION_STRING</code></a> — <span class="docstring-category">Constant</span></header><section><div><pre><code class="language-julia hljs">MPI_LIBRARY_VERSION_STRING :: String</code></pre><p>The full version string provided by the library</p><p><strong>External links</strong></p><ul><li><code>MPI_Get_library_version</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_library_version.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_library_version.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/implementations.jl#L22-L29">source</a></section></article><h2 id="Functions"><a class="docs-heading-anchor" href="#Functions">Functions</a><a id="Functions-1"></a><a class="docs-heading-anchor-permalink" href="#Functions" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.versioninfo" href="#MPI.versioninfo"><code>MPI.versioninfo</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.versioninfo()</code></pre><p>Print a summary of the curent MPI configuration.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/implementations.jl#L84-L88">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.has_cuda" href="#MPI.has_cuda"><code>MPI.has_cuda</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.has_cuda()</code></pre><p>Check if the MPI implementation is known to have CUDA support. Currently only Open MPI provides a mechanism to check, so it will return <code>false</code> with other implementations (unless overriden).</p><p>This can be overriden by setting the <code>JULIA_MPI_HAS_CUDA</code> environment variable to <code>true</code> or <code>false</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/environment.jl#L308-L317">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.identify_implementation" href="#MPI.identify_implementation"><code>MPI.identify_implementation</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">impl, version = identify_implementation()</code></pre><p>Attempt to identify the MPI implementation based on <a href="#MPI.MPI_LIBRARY_VERSION_STRING"><code>MPI_LIBRARY_VERSION_STRING</code></a>. Returns a triple of values:</p><ul><li><code>impl</code>: a <code>String</code> with the name of the MPI implementation, or <code>&quot;unknown&quot;</code> if it cannot be determined,</li><li><code>version</code>: a <code>VersionNumber</code> of the library, or <code>nothing</code> if it cannot be determined.</li></ul><p>This function is only intended for internal use. Users should use <a href="#MPI.MPI_LIBRARY"><code>MPI_LIBRARY</code></a>, <a href="#MPI.MPI_LIBRARY_VERSION"><code>MPI_LIBRARY_VERSION</code></a>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/implementations.jl#L32-L43">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../mpipreferences/">« MPIPreferences.jl</a><a class="docs-footer-nextpage" href="../environment/">Environment »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Sunday 16 July 2023 20:17">Sunday 16 July 2023</span>. Using Julia version 1.9.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR747/reference/misc/index.html b/previews/PR747/reference/misc/index.html
deleted file mode 100644
index dd1a0a364..000000000
--- a/previews/PR747/reference/misc/index.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Miscellanea · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../external/">External libraries and packages</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../library/">Library information</a></li><li><a class="tocitem" href="../environment/">Environment</a></li><li class="is-active"><a class="tocitem" href>Miscellanea</a><ul class="internal"><li><a class="tocitem" href="#Functions"><span>Functions</span></a></li></ul></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../advanced/">Advanced</a></li><li><a class="tocitem" href="../api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>Miscellanea</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Miscellanea</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/misc.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Miscellanea"><a class="docs-heading-anchor" href="#Miscellanea">Miscellanea</a><a id="Miscellanea-1"></a><a class="docs-heading-anchor-permalink" href="#Miscellanea" title="Permalink"></a></h1><h2 id="Functions"><a class="docs-heading-anchor" href="#Functions">Functions</a><a id="Functions-1"></a><a class="docs-heading-anchor-permalink" href="#Functions" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Get_processor_name" href="#MPI.Get_processor_name"><code>MPI.Get_processor_name</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Get_processor_name()</code></pre><p>Return the name of the processor, as a <code>String</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Get_processor_name</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_processor_name.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_processor_name.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/misc.jl#L1-L8">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../environment/">« Environment</a><a class="docs-footer-nextpage" href="../comm/">Communicators »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Sunday 16 July 2023 20:17">Sunday 16 July 2023</span>. Using Julia version 1.9.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR747/reference/mpipreferences/index.html b/previews/PR747/reference/mpipreferences/index.html
deleted file mode 100644
index 9c46aaa6c..000000000
--- a/previews/PR747/reference/mpipreferences/index.html
+++ /dev/null
@@ -1,7 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>MPIPreferences.jl · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../external/">External libraries and packages</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li class="is-active"><a class="tocitem" href>MPIPreferences.jl</a><ul class="internal"><li><a class="tocitem" href="#Consts"><span>Consts</span></a></li><li><a class="tocitem" href="#Changing-implementations"><span>Changing implementations</span></a></li><li><a class="tocitem" href="#Utils"><span>Utils</span></a></li><li><a class="tocitem" href="#Preferences-schema"><span>Preferences schema</span></a></li></ul></li><li><a class="tocitem" href="../library/">Library information</a></li><li><a class="tocitem" href="../environment/">Environment</a></li><li><a class="tocitem" href="../misc/">Miscellanea</a></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../advanced/">Advanced</a></li><li><a class="tocitem" href="../api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>MPIPreferences.jl</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>MPIPreferences.jl</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/mpipreferences.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="MPIPreferences.jl"><a class="docs-heading-anchor" href="#MPIPreferences.jl">MPIPreferences.jl</a><a id="MPIPreferences.jl-1"></a><a class="docs-heading-anchor-permalink" href="#MPIPreferences.jl" title="Permalink"></a></h1><p>MPIPreferences.jl is a small package based on <a href="https://github.com/JuliaPackaging/Preferences.jl/">Preferences.jl</a> for selecting MPI implementations. These choices are compile-time constants, and so any changes will require a Julia restart.</p><h2 id="Consts"><a class="docs-heading-anchor" href="#Consts">Consts</a><a id="Consts-1"></a><a class="docs-heading-anchor-permalink" href="#Consts" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPIPreferences.binary" href="#MPIPreferences.binary"><code>MPIPreferences.binary</code></a> — <span class="docstring-category">Constant</span></header><section><div><pre><code class="language-julia hljs">MPIPreferences.binary :: String</code></pre><p>The currently selected binary. The possible values are</p><ul><li><code>&quot;MPICH_jll&quot;</code>: use the binary provided by <a href="https://github.com/JuliaBinaryWrappers/MPICH_jll.jl">MPICH_jll</a></li><li><code>&quot;OpenMPI_jll&quot;</code>: use the binary provided by <a href="https://github.com/JuliaBinaryWrappers/OpenMPI_jll.jl">OpenMPI_jll</a></li><li><code>&quot;MicrosoftMPI_jll&quot;</code>: use binary provided by <a href="https://github.com/JuliaBinaryWrappers/MicrosoftMPI_jll.jl/">MicrosoftMPI_jll</a></li><li><code>&quot;MPItrampoline_jll&quot;</code>: use the binary provided by <a href="https://github.com/JuliaBinaryWrappers/MPItrampoline_jll.jl/">MPItrampoline_jll</a></li><li><code>&quot;system&quot;</code>: use a system-provided binary.</li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/lib/MPIPreferences/src/MPIPreferences.jl#L14-L25">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPIPreferences.abi" href="#MPIPreferences.abi"><code>MPIPreferences.abi</code></a> — <span class="docstring-category">Constant</span></header><section><div><pre><code class="language-julia hljs">MPIPreferences.abi :: String</code></pre><p>The ABI (application binary interface) of the currently selected binary. Supported values are:</p><ul><li><code>&quot;MPICH&quot;</code>: MPICH-compatible ABI (https://www.mpich.org/abi/)</li><li><code>&quot;OpenMPI&quot;</code>: Open MPI compatible ABI (Open MPI, IBM Spectrum MPI, Fujitsu MPI)</li><li><code>&quot;MicrosoftMPI&quot;</code>: Microsoft MPI</li><li><code>&quot;MPItrampoline&quot;</code>: MPItrampoline</li><li><code>&quot;HPE MPT&quot;</code>: HPE MPT</li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/lib/MPIPreferences/src/MPIPreferences.jl#L28-L38">source</a></section></article><h2 id="Changing-implementations"><a class="docs-heading-anchor" href="#Changing-implementations">Changing implementations</a><a id="Changing-implementations-1"></a><a class="docs-heading-anchor-permalink" href="#Changing-implementations" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPIPreferences.use_system_binary" href="#MPIPreferences.use_system_binary"><code>MPIPreferences.use_system_binary</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">use_system_binary(;
-    library_names = [&quot;libmpi&quot;, &quot;libmpi_ibm&quot;, &quot;msmpi&quot;, &quot;libmpich&quot;, &quot;libmpi_cray&quot;, &quot;libmpitrampoline&quot;],
-    mpiexec = &quot;mpiexec&quot;,
-    abi = nothing,
-    export_prefs = false,
-    force = true)</code></pre><p>Switches the underlying MPI implementation to a system provided one. A restart of Julia is required for the changes to take effect.</p><p>Options:</p><ul><li><p><code>library_names</code>: a name or collection of names of the MPI library, passed to <a href="https://docs.julialang.org/en/v1/stdlib/Libdl/#Base.Libc.Libdl.find_library"><code>Libdl.find_library</code></a>. If the library isn&#39;t in the library search path, you can specify the full path to the library.</p></li><li><p><code>mpiexec</code>: the MPI launcher executable. The default is <code>mpiexec</code>, but some clusters require using the scheduler launcher interface (e.g. <code>srun</code> on Slurm, <code>aprun</code> on PBS). It is also possible to pass a <a href="https://docs.julialang.org/en/v1/manual/running-external-programs/#Cmd-Objects"><code>Cmd</code> object</a> to include specific command line options.</p></li><li><p><code>abi</code>: the ABI of the MPI library. By default this is determined automatically using <a href="#MPIPreferences.identify_abi"><code>identify_abi</code></a>. See <a href="#MPIPreferences.abi"><code>abi</code></a> for currently supported values.</p></li><li><p><code>export_prefs</code>: if <code>true</code>, the preferences into the <code>Project.toml</code> instead of <code>LocalPreferences.toml</code>.</p></li><li><p><code>force</code>: if <code>true</code>, the preferences are set even if they are already set.</p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/lib/MPIPreferences/src/MPIPreferences.jl#L111-L143">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPIPreferences.use_jll_binary" href="#MPIPreferences.use_jll_binary"><code>MPIPreferences.use_jll_binary</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">use_jll_binary([binary]; export_prefs=false, force=true)</code></pre><p>Switches the underlying MPI implementation to one provided by JLL packages. A restart of Julia is required for the changes to take effect.</p><p>Available options are:</p><ul><li><code>&quot;MicrosoftMPI_jll&quot;</code> (Only option and default on Winddows)</li><li><code>&quot;MPICH_jll&quot;</code> (Default on all other platform)</li><li><code>&quot;OpenMPI_jll&quot;</code></li><li><code>&quot;MPItrampoline_jll&quot;</code></li></ul><p>The <code>export_prefs</code> option determines whether the preferences being set should be stored within <code>LocalPreferences.toml</code> or <code>Project.toml</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/lib/MPIPreferences/src/MPIPreferences.jl#L57-L71">source</a></section></article><h2 id="Utils"><a class="docs-heading-anchor" href="#Utils">Utils</a><a id="Utils-1"></a><a class="docs-heading-anchor-permalink" href="#Utils" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPIPreferences.check_unchanged" href="#MPIPreferences.check_unchanged"><code>MPIPreferences.check_unchanged</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPIPreferences.check_unchanged()</code></pre><p>Throws an error if the preferences have been modified in the current Julia session, or if they are modified after this function is called.</p><p>This is should be called from the <code>__init__()</code> function of any package which relies on the values of MPIPreferences.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/lib/MPIPreferences/src/MPIPreferences.jl#L201-L209">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPIPreferences.identify_abi" href="#MPIPreferences.identify_abi"><code>MPIPreferences.identify_abi</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">identify_abi(libmpi)</code></pre><p>Identify the MPI implementation from the library version string</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/lib/MPIPreferences/src/MPIPreferences.jl#L326-L330">source</a></section></article><h2 id="Preferences-schema"><a class="docs-heading-anchor" href="#Preferences-schema">Preferences schema</a><a id="Preferences-schema-1"></a><a class="docs-heading-anchor-permalink" href="#Preferences-schema" title="Permalink"></a></h2><p>MPIPreferences utilizes the following keys to store information in the Preferences key-value store.</p><ul><li><code>_format</code>: the version number of the schema. Currently only <code>&quot;1.0&quot;</code> is supported.</li><li><code>binary</code>: the choice of binary. This should be one of the strings listed in <a href="#MPIPreferences.binary"><code>MPIPreferences.binary</code></a>.</li></ul><p>If <code>binary == &quot;system&quot;</code>, then the following keys are also required (otherwise they have no effect):</p><ul><li><code>libmpi</code>: the filename or path of the MPI dynamic library.</li><li><code>abi</code>: The ABI of the MPI implementation. This should be one of the strings listed in <a href="#MPIPreferences.abi"><code>MPIPreferences.abi</code></a>.</li><li><code>mpiexec</code>: either<ul><li>a string corresponding to the MPI launcher executable</li><li>an array of strings, with the first entry being the executable and remaining entried being additional flags that should be used with the executable.</li></ul></li></ul></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../../examples/09-graph_communication/">« Graph Communication</a><a class="docs-footer-nextpage" href="../library/">Library information »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Sunday 16 July 2023 20:17">Sunday 16 July 2023</span>. Using Julia version 1.9.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR747/reference/onesided/index.html b/previews/PR747/reference/onesided/index.html
deleted file mode 100644
index 0e33626a5..000000000
--- a/previews/PR747/reference/onesided/index.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>One-sided communication · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../external/">External libraries and packages</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../library/">Library information</a></li><li><a class="tocitem" href="../environment/">Environment</a></li><li><a class="tocitem" href="../misc/">Miscellanea</a></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li class="is-active"><a class="tocitem" href>One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../advanced/">Advanced</a></li><li><a class="tocitem" href="../api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>One-sided communication</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>One-sided communication</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/onesided.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="One-sided-communication"><a class="docs-heading-anchor" href="#One-sided-communication">One-sided communication</a><a id="One-sided-communication-1"></a><a class="docs-heading-anchor-permalink" href="#One-sided-communication" title="Permalink"></a></h1><article class="docstring"><header><a class="docstring-binding" id="MPI.Win_create" href="#MPI.Win_create"><code>MPI.Win_create</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.Win_create(base[, size::Integer, disp_unit::Integer], comm::Comm; infokws...)</code></pre><p>Create a window over the array <code>base</code>, returning a <code>Win</code> object used by these processes to perform RMA operations. This is a collective call over <code>comm</code>.</p><ul><li><code>size</code> is the size of the window in bytes (default = <code>sizeof(base)</code>)</li><li><code>disp_unit</code> is the size of address scaling in bytes (default = <code>sizeof(eltype(base))</code>)</li><li><code>infokws</code> are info keys providing optimization hints to the runtime.</li></ul><p><a href="../advanced/#MPI.free"><code>MPI.free</code></a> should be called on the <code>Win</code> object once operations have been completed.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/onesided.jl#L41-L54">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Win_create_dynamic" href="#MPI.Win_create_dynamic"><code>MPI.Win_create_dynamic</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.Win_create_dynamic(comm::Comm; infokws...)</code></pre><p>Create a dynamic window returning a <code>Win</code> object used by these processes to perform RMA operations</p><p>This is a collective call over <code>comm</code>.</p><p><code>infokws</code> are info keys providing optimization hints.</p><p><a href="../advanced/#MPI.free"><code>MPI.free</code></a> should be called on the <code>Win</code> object once operations have been completed.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/onesided.jl#L145-L155">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Win_allocate_shared" href="#MPI.Win_allocate_shared"><code>MPI.Win_allocate_shared</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">win, array = MPI.Win_allocate_shared(Array{T}, dims, comm::Comm; infokws...)</code></pre><p>Create and allocate a shared memory window for objects of type <code>T</code> of dimension <code>dims</code> (either an integer or tuple of integers), returning a <code>Win</code> and the <code>Array{T}</code> attached to the local process.</p><p>This is a collective call over <code>comm</code>, but <code>dims</code> can differ for each call (and can be zero).</p><p>Use <a href="#MPI.Win_shared_query"><code>MPI.Win_shared_query</code></a> to obtain the <code>Array</code> attached to a different process in the same shared memory space.</p><p><code>infokws</code> are info keys providing optimization hints.</p><p><a href="../advanced/#MPI.free"><code>MPI.free</code></a> should be called on the <code>Win</code> object once operations have been completed.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/onesided.jl#L72-L89">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Win_shared_query" href="#MPI.Win_shared_query"><code>MPI.Win_shared_query</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">array = Win_shared_query(Array{T}, [dims,] win; rank)</code></pre><p>Obtain the shared memory allocated by <a href="#MPI.Win_allocate_shared"><code>Win_allocate_shared</code></a> of the process <code>rank</code> in <code>win</code>. Returns an <code>Array{T}</code> of size <code>dims</code> (being a <code>Vector{T}</code> if no <code>dims</code> argument is provided).</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/onesided.jl#L107-L113">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Win_flush" href="#MPI.Win_flush"><code>MPI.Win_flush</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Win_flush(win::Win; rank)</code></pre><p>Completes all outstanding RMA operations initiated by the calling process to the target rank on the specified window.</p><p><strong>External links</strong></p><ul><li><code>MPI_Win_flush</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_flush.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_flush.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/onesided.jl#L187-L195">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Win_lock" href="#MPI.Win_lock"><code>MPI.Win_lock</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Win_lock(win::Win; rank::Integer, type=:exclusive/:shared, nocheck=false)</code></pre><p>Starts an RMA access epoch. The window at the process with rank <code>rank</code> can be accessed by RMA operations on <code>win</code> during that epoch.</p><p>Multiple RMA access epochs (with calls to <code>MPI.Win_lock</code>) can occur simultaneously; however, each access epoch must target a different process.</p><p>Accesses that are protected by an exclusive lock (<code>type=:exclusive</code>) will not be concurrent at the window site with other accesses to the same window that are lock protected. Accesses that are protected by a shared lock (<code>type=:shared</code>) will not be concurrent at the window site with accesses protected by an exclusive lock to the same window.</p><p>If <code>nocheck=true</code>, no other process holds, or will attempt to acquire, a conflicting lock, while the caller holds the window lock. This is useful when mutual exclusion is achieved by other means, but the coherence operations that may be attached to the lock and unlock calls are still required.</p><p><strong>External links</strong></p><ul><li><code>MPI_Win_lock</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_lock.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_lock.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/onesided.jl#L201-L223">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Win_unlock" href="#MPI.Win_unlock"><code>MPI.Win_unlock</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Win_unlock(win::Win; rank::Integer)</code></pre><p>Completes an RMA access epoch started by a call to <a href="#MPI.Win_lock"><code>Win_lock</code></a>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Win_unlock</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Win_unlock.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Win_unlock.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/onesided.jl#L232-L239">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Get!" href="#MPI.Get!"><code>MPI.Get!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Get!(origin, win::Win; rank::Integer, disp::Integer=0)</code></pre><p>Copies data from the memory window <code>win</code> on the remote rank <code>rank</code>, with displacement <code>disp</code>, into <code>origin</code> using remote memory access. <code>origin</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(origin)</code> is defined.</p><p><strong>External links</strong></p><ul><li><code>MPI_Get</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/onesided.jl#L246-L255">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Put!" href="#MPI.Put!"><code>MPI.Put!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Put!(origin, win::Win; rank::Integer, disp::Integer=0)</code></pre><p>Copies data from <code>origin</code> into memory window <code>win</code> on remote rank <code>rank</code> at displacement <code>disp</code> using remote memory access. <code>origin</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <a href="../buffers/#MPI.Buffer_send"><code>Buffer_send(origin)</code></a> is defined.</p><p><strong>External links</strong></p><ul><li><code>MPI_Put</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Put.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Put.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/onesided.jl#L271-L281">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Accumulate!" href="#MPI.Accumulate!"><code>MPI.Accumulate!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Accumulate!(origin, op, win::Win; rank::Integer, disp::Integer=0)</code></pre><p>Combine the content of the <code>origin</code> buffer into the target buffer (specified by <code>win</code> and displacement <code>target_disp</code>) with reduction operator <code>op</code> on the remote rank <code>target_rank</code> using remote memory access.</p><p><code>origin</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <a href="../buffers/#MPI.Buffer_send"><code>Buffer_send(origin)</code></a> is defined. <code>op</code> can be any predefined <a href="../advanced/#MPI.Op"><code>Op</code></a> (custom operators are not supported).</p><p><strong>External links</strong></p><ul><li><code>MPI_Accumulate</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Accumulate.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Accumulate.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/onesided.jl#L307-L319">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Get_accumulate!" href="#MPI.Get_accumulate!"><code>MPI.Get_accumulate!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Get_accumulate!(origin, result, target_rank::Integer, target_disp::Integer, op::Op, win::Win)</code></pre><p>Combine the content of the <code>origin</code> buffer into the target buffer (specified by <code>win</code> and displacement <code>target_disp</code>) with reduction operator <code>op</code> on the remote rank <code>target_rank</code> using remote memory access. <code>Get_accumulate</code> also returns the content of the target buffer <em>before</em> accumulation into the <code>result</code> buffer.</p><p><code>origin</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer_send(origin)</code> is defined, <code>result</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(result)</code> is defined. <code>op</code> can be any predefined <a href="../advanced/#MPI.Op"><code>Op</code></a> (custom operators are not supported).</p><p><strong>External links</strong></p><ul><li><code>MPI_Get_accumulate</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_accumulate.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_accumulate.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/onesided.jl#L333-L346">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../collective/">« Collective communication</a><a class="docs-footer-nextpage" href="../topology/">Topology »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Sunday 16 July 2023 20:17">Sunday 16 July 2023</span>. Using Julia version 1.9.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR747/reference/pointtopoint/index.html b/previews/PR747/reference/pointtopoint/index.html
deleted file mode 100644
index 28ce14b8f..000000000
--- a/previews/PR747/reference/pointtopoint/index.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Point-to-point communication · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../external/">External libraries and packages</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../library/">Library information</a></li><li><a class="tocitem" href="../environment/">Environment</a></li><li><a class="tocitem" href="../misc/">Miscellanea</a></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li class="is-active"><a class="tocitem" href>Point-to-point communication</a><ul class="internal"><li><a class="tocitem" href="#Types"><span>Types</span></a></li><li><a class="tocitem" href="#Blocking-communication"><span>Blocking communication</span></a></li><li><a class="tocitem" href="#Non-blocking-communication"><span>Non-blocking communication</span></a></li><li><a class="tocitem" href="#Persistent-requests"><span>Persistent requests</span></a></li><li><a class="tocitem" href="#Matching-probes-and-receives"><span>Matching probes and receives</span></a></li></ul></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li><a class="tocitem" href="../topology/">Topology</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../advanced/">Advanced</a></li><li><a class="tocitem" href="../api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>Point-to-point communication</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Point-to-point communication</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/pointtopoint.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Point-to-point-communication"><a class="docs-heading-anchor" href="#Point-to-point-communication">Point-to-point communication</a><a id="Point-to-point-communication-1"></a><a class="docs-heading-anchor-permalink" href="#Point-to-point-communication" title="Permalink"></a></h1><h2 id="Types"><a class="docs-heading-anchor" href="#Types">Types</a><a id="Types-1"></a><a class="docs-heading-anchor-permalink" href="#Types" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.AbstractRequest" href="#MPI.AbstractRequest"><code>MPI.AbstractRequest</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.AbstractRequest</code></pre><p>An abstract type for Julia objects wrapping MPI Requests objects, which represent non-blocking MPI communication operations. The following implementations provided in MPI.jl</p><ul><li><a href="#MPI.Request"><code>Request</code></a>: this is the default request type.</li><li><a href="#MPI.UnsafeRequest"><code>UnsafeRequest</code></a>: similar to <code>Request</code>, but does not maintain a reference to the underlying communication buffer.</li><li><code>MultiRequestItem</code>: created by calling <code>getindex</code> on a <a href="#MPI.MultiRequest"><code>MultiRequest</code></a> / <a href="#MPI.UnsafeMultiRequest"><code>UnsafeMultiRequest</code></a> object, which efficiently stores a collection of requests.</li></ul><p><strong>How request objects are used</strong></p><p>A request object can be passed to non-blocking communication operations, such as <a href="#MPI.Isend"><code>MPI.Isend</code></a> and <a href="#MPI.Irecv!"><code>MPI.Irecv!</code></a>. If no object is provided, then an <a href="#MPI.Request"><code>MPI.Request</code></a> is used.</p><p>The status of a Request can be checked by the <a href="#MPI.Wait"><code>Wait</code></a> and <a href="#MPI.Test"><code>Test</code></a> functions or their mœultiple-request variants, which will deallocate the request once it is determined to be complete.</p><p>Alternatively, it will be deallocated by calling <code>MPI.free</code> or at finalization, meaning that it is safe to ignore the request objects if the status of the communication can be checked by other means.</p><p>In certain cases, the operation can also be cancelled by <a href="#MPI.Cancel!"><code>Cancel!</code></a>.</p><p><strong>Implementing new request types</strong></p><p>Subtypes <code>R &lt;: AbstractRequest</code> should define the methods for the following functions:</p><ul><li>C conversion functions to <code>MPI_Request</code> and <code>Ptr{MPI_Request}</code>:<ul><li><code>Base.cconvert(::Type{MPI_Request}, req::R)</code> / <code>Base.unsafe_convert(::Type{MPI_Request}, req::R)</code></li><li><code>Base.cconvert(::Type{Ptr{MPI_Request}}, req::R)</code> / <code>Base.unsafe_convert(::Type{Ptr{MPI_Request}}, req::R)</code>`</li></ul></li><li>setbuffer!(req::R, val)<code>: keep a reference to the communication buffer</code>val<code>. If</code>val == nothing`, then clear the reference.</li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/nonblocking.jl#L77-L119">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Request" href="#MPI.Request"><code>MPI.Request</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.Request()</code></pre><p>The default MPI Request object, representing a non-blocking communication. This also contains a reference to the buffer used in the communication to ensure it isn&#39;t garbage-collected during communication.</p><p>See <a href="#MPI.AbstractRequest"><code>AbstractRequest</code></a> for more information.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/nonblocking.jl#L168-L176">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.UnsafeRequest" href="#MPI.UnsafeRequest"><code>MPI.UnsafeRequest</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.UnsafeRequest()</code></pre><p>Similar to <a href="#MPI.Request"><code>MPI.Request</code></a>, but does not maintain a reference to the underlying communication buffer. This may have improve performance by reducing memory allocations.</p><div class="admonition is-warning"><header class="admonition-header">Warning</header><div class="admonition-body"><p>The user should ensure that another reference to the communication buffer is maintained so that it is not cleaned up by the garbage collector before the communication operation is complete.</p><p>For example ```julia buf = MPI.Buffer(zeros(10)) GC.@preserve buf begin     req = MPI.Isend(buf, comm, UnsafeRequest(); rank=1)     # ...     MPI.Wait(req) end</p></div></div></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/nonblocking.jl#L196-L217">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.MultiRequest" href="#MPI.MultiRequest"><code>MPI.MultiRequest</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.MultiRequest(n::Integer=0)</code></pre><p>A collection of MPI Requests. This is useful when operating on multiple MPI requests at the same time. <code>MultiRequest</code> objects can be passed directly to <a href="#MPI.Waitall"><code>MPI.Waitall</code></a>, <a href="#MPI.Testall"><code>MPI.Testall</code></a>, etc.</p><p><code>req[i]</code> will return a <code>MultiRequestItem</code> which adheres to the [<code>AbstractRequest</code>] interface.</p><p><strong>Usage</strong></p><pre><code class="language-julia hljs">reqs = MPI.MultiRequest(n)
-for i = 1:n
-    MPI.Isend(buf, comm, reqs[i]; rank=dest[i])
-end
-MPI.Waitall(reqs)</code></pre></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/nonblocking.jl#L239-L257">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.UnsafeMultiRequest" href="#MPI.UnsafeMultiRequest"><code>MPI.UnsafeMultiRequest</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.UnsafeMultiRequest(n::Integer=0)</code></pre><p>Similar to <a href="#MPI.MultiRequest"><code>MPI.MultiRequest</code></a>, except that it does not maintain references to the underlying communication buffers. The same caveats apply as <a href="#MPI.UnsafeRequest"><code>MPI.UnsafeRequest</code></a>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/nonblocking.jl#L277-L283">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.RequestSet" href="#MPI.RequestSet"><code>MPI.RequestSet</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">RequestSet(requests::Vector{Request})
-RequestSet() # create an empty RequestSet</code></pre><p>A wrapper for an array of <code>Request</code>s that can be used to reduce intermediate memory allocations in <a href="#MPI.Waitall"><code>Waitall</code></a>, <a href="#MPI.Testall"><code>Testall</code></a>, <a href="#MPI.Waitany"><code>Waitany</code></a>, <a href="#MPI.Testany"><code>Testany</code></a>, <a href="#MPI.Waitsome"><code>Waitsome</code></a> or <a href="#MPI.Testsome"><code>Testsome</code></a>.</p><p>Consider using a <a href="#MPI.MultiRequest"><code>MultiRequest</code></a> or <a href="#MPI.UnsafeMultiRequest"><code>UnsafeMultiRequest</code></a> instead.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/nonblocking.jl#L487-L496">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Status" href="#MPI.Status"><code>MPI.Status</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.Status</code></pre><p>The status of an MPI receive communication. It has 3 accessible fields</p><ul><li><code>source</code>: source of the received message</li><li><code>tag</code>: tag of the received message</li><li><code>error</code>: error code. This is only set if a function returns multiple statuses.</li></ul><p>Additionally, the accessor function <a href="#MPI.Get_count"><code>MPI.Get_count</code></a> can be used to determine the number of entries received.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/nonblocking.jl#L39-L50">source</a></section></article><h3 id="Accessors"><a class="docs-heading-anchor" href="#Accessors">Accessors</a><a id="Accessors-1"></a><a class="docs-heading-anchor-permalink" href="#Accessors" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.Get_count" href="#MPI.Get_count"><code>MPI.Get_count</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">MPI.Get_count(status::Status, T)</code></pre><p>The number of entries received. <code>T</code> should match the argument provided by the receive call that set the status variable.</p><p>If the number of entries received exceeds the limits of the count parameter, then it returns <code>MPI_UNDEFINED</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Get_count</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Get_count.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Get_count.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/nonblocking.jl#L416-L425">source</a></section></article><h3 id="Constants"><a class="docs-heading-anchor" href="#Constants">Constants</a><a id="Constants-1"></a><a class="docs-heading-anchor-permalink" href="#Constants" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.PROC_NULL" href="#MPI.PROC_NULL"><code>MPI.PROC_NULL</code></a> — <span class="docstring-category">Constant</span></header><section><div><pre><code class="language-julia hljs">MPI.PROC_NULL</code></pre><p>A dummy value that can be used instead of a rank wherever a source or a destination argument is required in a call. A send</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/nonblocking.jl#L17-L22">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.ANY_SOURCE" href="#MPI.ANY_SOURCE"><code>MPI.ANY_SOURCE</code></a> — <span class="docstring-category">Constant</span></header><section><div><pre><code class="language-julia hljs">MPI.ANY_SOURCE</code></pre><p>A wild card value for receive or probe operations that matches any source rank.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/nonblocking.jl#L25-L29">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.ANY_TAG" href="#MPI.ANY_TAG"><code>MPI.ANY_TAG</code></a> — <span class="docstring-category">Constant</span></header><section><div><pre><code class="language-julia hljs">MPI.ANY_TAG</code></pre><p>A wild card value for receive or probe operations that matches any tag.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/nonblocking.jl#L32-L36">source</a></section></article><h2 id="Blocking-communication"><a class="docs-heading-anchor" href="#Blocking-communication">Blocking communication</a><a id="Blocking-communication-1"></a><a class="docs-heading-anchor-permalink" href="#Blocking-communication" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Send" href="#MPI.Send"><code>MPI.Send</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Send(buf, comm::Comm; dest::Integer, tag::Integer=0)</code></pre><p>Perform a blocking send from the buffer <code>buf</code> to MPI rank <code>dest</code> of communicator <code>comm</code> using the message tag <code>tag</code>.</p><pre><code class="nohighlight hljs">Send(obj, comm::Comm; dest::Integer, tag::Integer=0)</code></pre><p>Complete a blocking send of an <code>isbits</code> object <code>obj</code> to MPI rank <code>dest</code> of communicator <code>comm</code> using with the message tag <code>tag</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Send</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Send.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Send.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/pointtopoint.jl#L2-L15">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.send" href="#MPI.send"><code>MPI.send</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">send(obj, comm::Comm; dest::Integer, tag::Integer=0)</code></pre><p>Complete a blocking send using a serialized version of <code>obj</code> to MPI rank <code>dest</code> of communicator <code>comm</code> using with the message tag <code>tag</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/pointtopoint.jl#L33-L38">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Recv!" href="#MPI.Recv!"><code>MPI.Recv!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">data = Recv!(recvbuf, comm::Comm;
-        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)
-data, status = Recv!(recvbuf, comm::Comm, MPI.Status;
-        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)</code></pre><p>Completes a blocking receive into the buffer <code>recvbuf</code> from MPI rank <code>source</code> of communicator <code>comm</code> using with the message tag <code>tag</code>.</p><p><code>recvbuf</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(recvbuf)</code> is defined.</p><p>Optionally returns the <a href="#MPI.Status"><code>Status</code></a> object of the receive.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Recv"><code>Recv</code></a></li><li><a href="#MPI.recv"><code>recv</code></a></li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Recv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Recv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Recv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/pointtopoint.jl#L88-L107">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Recv" href="#MPI.Recv"><code>MPI.Recv</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">data = Recv(::Type{T}, comm::Comm;
-        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)
-data, status = Recv(::Type{T}, comm::Comm, MPI.Status;
-        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)</code></pre><p>Completes a blocking receive of a single <code>isbits</code> object of type <code>T</code> from MPI rank <code>source</code> of communicator <code>comm</code> using with the message tag <code>tag</code>.</p><p>Returns a tuple of the object of type <code>T</code> and optionally the <a href="#MPI.Status"><code>Status</code></a> of the receive.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Recv!"><code>Recv!</code></a></li><li><a href="#MPI.recv"><code>recv</code></a></li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Recv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Recv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Recv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/pointtopoint.jl#L125-L142">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.recv" href="#MPI.recv"><code>MPI.recv</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">obj = recv(comm::Comm;
-        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)
-obj, status = recv(comm::Comm, MPI.Status;
-        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)</code></pre><p>Completes a blocking receive of a serialized object from MPI rank <code>source</code> of communicator <code>comm</code> using with the message tag <code>tag</code>.</p><p>Returns the deserialized object and optionally the <a href="#MPI.Status"><code>Status</code></a> of the receive.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/pointtopoint.jl#L156-L166">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Sendrecv!" href="#MPI.Sendrecv!"><code>MPI.Sendrecv!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">data = Sendrecv!(sendbuf, recvbuf, comm;
-        dest::Integer, sendtag::Integer=0, source::Integer=MPI.ANY_SOURCE, recvtag::Integer=MPI.ANY_TAG)
-data, status = Sendrecv!(sendbuf, recvbuf, comm, MPI.Status;
-        dest::Integer, sendtag::Integer=0, source::Integer=MPI.ANY_SOURCE, recvtag::Integer=MPI.ANY_TAG)</code></pre><p>Complete a blocking send-receive operation over the MPI communicator <code>comm</code>. Send <code>sendbuf</code> to the MPI rank <code>dest</code> using message tag <code>sendtag</code>, and receive from MPI rank <code>source</code> into the buffer <code>recvbuf</code> using message tag <code>recvtag</code>. Return a <a href="#MPI.Status"><code>Status</code></a> object.</p><p><strong>External links</strong></p><ul><li><code>MPI_Sendrecv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Sendrecv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Sendrecv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/pointtopoint.jl#L212-L224">source</a></section></article><h2 id="Non-blocking-communication"><a class="docs-heading-anchor" href="#Non-blocking-communication">Non-blocking communication</a><a id="Non-blocking-communication-1"></a><a class="docs-heading-anchor-permalink" href="#Non-blocking-communication" title="Permalink"></a></h2><h3 id="Initiation"><a class="docs-heading-anchor" href="#Initiation">Initiation</a><a id="Initiation-1"></a><a class="docs-heading-anchor-permalink" href="#Initiation" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.Isend" href="#MPI.Isend"><code>MPI.Isend</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Isend(data, comm::Comm[, req::AbstractRequest = Request()]; dest::Integer, tag::Integer=0)</code></pre><p>Starts a nonblocking send of <code>data</code> to MPI rank <code>dest</code> of communicator <code>comm</code> using with the message tag <code>tag</code>.</p><p><code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <a href="../buffers/#MPI.Buffer_send"><code>Buffer_send</code></a> is defined.</p><p>Returns the <a href="#MPI.AbstractRequest"><code>AbstractRequest</code></a> object for the nonblocking send.</p><p><strong>External links</strong></p><ul><li><code>MPI_Isend</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Isend.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Isend.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/pointtopoint.jl#L46-L58">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.isend" href="#MPI.isend"><code>MPI.isend</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">isend(obj, comm::Comm[, req::AbstractRequest = Request()]; dest::Integer, tag::Integer=0)</code></pre><p>Starts a nonblocking send of using a serialized version of <code>obj</code> to MPI rank <code>dest</code> of communicator <code>comm</code> using with the message tag <code>tag</code>.</p><p>Returns the commication <code>Request</code> for the nonblocking send.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/pointtopoint.jl#L73-L80">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Irecv!" href="#MPI.Irecv!"><code>MPI.Irecv!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">req = Irecv!(recvbuf, comm::Comm[, req::AbstractRequest = Request()];
-        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)</code></pre><p>Starts a nonblocking receive into the buffer <code>data</code> from MPI rank <code>source</code> of communicator <code>comm</code> using with the message tag <code>tag</code>.</p><p><code>data</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(data)</code> is defined.</p><p>Returns the <a href="#MPI.AbstractRequest"><code>AbstractRequest</code></a> object for the nonblocking receive.</p><p><strong>External links</strong></p><ul><li><code>MPI_Irecv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Irecv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Irecv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/pointtopoint.jl#L184-L197">source</a></section></article><h3 id="Completion"><a class="docs-heading-anchor" href="#Completion">Completion</a><a id="Completion-1"></a><a class="docs-heading-anchor-permalink" href="#Completion" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.Test" href="#MPI.Test"><code>MPI.Test</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">flag = Test(req::AbstractRequest)
-flag, status = Test(req::AbstractRequest, Status)</code></pre><p>Check if the request <code>req</code> is complete. If so, the request is deallocated and <code>flag = true</code> is returned. Otherwise <code>flag = false</code>.</p><p>The <code>Status</code> argument additionally returns the <a href="#MPI.Status"><code>Status</code></a> of the completed request.</p><p><strong>External links</strong></p><ul><li><code>MPI_Test</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Test.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Test.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/nonblocking.jl#L460-L470">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Testall" href="#MPI.Testall"><code>MPI.Testall</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">flag = Testall(reqs::AbstractVector{Request}[, statuses::Vector{Status}])
-flag, statuses = Testall(reqs::AbstractVector{Request}, Status)</code></pre><p>Check if all active requests in the array <code>reqs</code> are complete. If so, the requests are deallocated and <code>true</code> is returned. Otherwise no requests are modified, and <code>false</code> is returned.</p><p>The optional <code>statuses</code> or <code>Status</code> argument can be used to obtain the return <a href="#MPI.Status"><code>Status</code></a> of each request.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.RequestSet"><code>RequestSet</code></a> can be used to minimize allocations</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Testall</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Testall.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Testall.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/nonblocking.jl#L565-L581">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Testany" href="#MPI.Testany"><code>MPI.Testany</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">flag, idx = Testany(reqs::AbstractVector{Request}[, status::Ref{Status}])
-flag, idx, status = Testany(reqs::AbstractVector{Request}, Status)</code></pre><p>Checks if any one of the requests in the array <code>reqs</code> is complete.</p><p>If one or more requests are complete, then one is chosen arbitrarily, deallocated. <code>flag = true</code> and its (1-based) index <code>idx</code> is returned.</p><p>If there are no completed requests, then <code>flag = false</code> and <code>idx = nothing</code> is returned.</p><p>If there are no active requests, <code>flag = true</code> and <code>idx = nothing</code>.</p><p>The optional <code>status</code> argument can be used to obtain the return <a href="#MPI.Status"><code>Status</code></a> of the request.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.RequestSet"><code>RequestSet</code></a> can be used to minimize allocations</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Testany</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Testany.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Testany.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/nonblocking.jl#L637-L657">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Testsome" href="#MPI.Testsome"><code>MPI.Testsome</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">inds = Testsome(reqs::AbstractVector{Request}[, statuses::Vector{Status}])</code></pre><p>Similar to <a href="#MPI.Waitsome"><code>Waitsome</code></a> except that if no operations have completed it will return an empty array.</p><p>If there are no active requests, then the function returns <code>nothing</code>.</p><p>The optional <code>statuses</code> argument can be used to obtain the return <a href="#MPI.Status"><code>Status</code></a> of each completed request.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.RequestSet"><code>RequestSet</code></a> can be used to minimize allocations</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Testsome</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Testsome.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Testsome.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/nonblocking.jl#L721-L737">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Wait" href="#MPI.Wait"><code>MPI.Wait</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Wait(req::AbstractRequest)
-status = Wait(req::AbstractRequest, Status)</code></pre><p>Block until the request <code>req</code> is complete and deallocated.</p><p>The <code>Status</code> argument returns the <a href="#MPI.Status"><code>Status</code></a> of the completed request.</p><p><strong>External links</strong></p><ul><li><code>MPI_Wait</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Wait.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Wait.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/nonblocking.jl#L434-L444">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Waitall" href="#MPI.Waitall"><code>MPI.Waitall</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Waitall(reqs::AbstractVector{Request}[, statuses::Vector{Status}])
-statuses = Waitall(reqs::AbstractVector{Request}, Status)</code></pre><p>Block until all active requests in the array <code>reqs</code> are complete.</p><p>The optional <code>statuses</code> or <code>Status</code> argument can be used to obtain the return <a href="#MPI.Status"><code>Status</code></a> of each request.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.RequestSet"><code>RequestSet</code></a> can be used to minimize allocations</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Waitall</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Waitall.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Waitall.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/nonblocking.jl#L532-L546">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Waitany" href="#MPI.Waitany"><code>MPI.Waitany</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">i = Waitany(reqs::AbstractVector{Request}[, status::Ref{Status}])
-i, status = Waitany(reqs::AbstractVector{Request}, Status)</code></pre><p>Blocks until one of the requests in the array <code>reqs</code> is complete: if more than one is complete, one is chosen arbitrarily. The request is deallocated and the (1-based) index <code>i</code> of the completed request is returned.</p><p>If there are no active requests, then <code>i = nothing</code>.</p><p>The optional <code>status</code> argument can be used to obtain the return <a href="#MPI.Status"><code>Status</code></a> of the request.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.RequestSet"><code>RequestSet</code></a> can be used to minimize allocations</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Waitany</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Waitany.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Waitany.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/nonblocking.jl#L599-L617">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Waitsome" href="#MPI.Waitsome"><code>MPI.Waitsome</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">inds = Waitsome(reqs::AbstractVector{Request}[, statuses::Vector{Status}])</code></pre><p>Block until at least one of the active requests in the array <code>reqs</code> is complete. The completed requests are deallocated, and an array <code>inds</code> of their indices in <code>reqs</code> is returned.</p><p>If there are no active requests, then <code>inds = nothing</code>.</p><p>The optional <code>statuses</code> argument can be used to obtain the return <a href="#MPI.Status"><code>Status</code></a> of each completed request.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.RequestSet"><code>RequestSet</code></a> can be used to minimize allocations</li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Waitsome</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Waitsome.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Waitsome.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/nonblocking.jl#L679-L696">source</a></section></article><h3 id="Probe/Cancel"><a class="docs-heading-anchor" href="#Probe/Cancel">Probe/Cancel</a><a id="Probe/Cancel-1"></a><a class="docs-heading-anchor-permalink" href="#Probe/Cancel" title="Permalink"></a></h3><article class="docstring"><header><a class="docstring-binding" id="MPI.isnull" href="#MPI.isnull"><code>MPI.isnull</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">isnull(req::AbstractRequest)</code></pre><p>Is <code>req</code> is a null request.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/nonblocking.jl#L122-L126">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Cancel!" href="#MPI.Cancel!"><code>MPI.Cancel!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Cancel!(req::Request)</code></pre><p>Marks a pending <a href="#MPI.Irecv!"><code>Irecv!</code></a> operation for cancellation (cancelling a <a href="#MPI.Isend"><code>Isend</code></a>, while supported in some implementations, is deprecated as of MPI 3.1). Note that the request is not deallocated, and can still be queried using the test or wait functions.</p><p><strong>External links</strong></p><ul><li><code>MPI_Cancel</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cancel.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cancel.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/nonblocking.jl#L762-L771">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Iprobe" href="#MPI.Iprobe"><code>MPI.Iprobe</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">ismsg = Iprobe(comm::Comm;
-        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)
-ismsg, status = Iprobe(comm::Comm, MPI.Status;
-        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)</code></pre><p>Checks if there is a message that can be received matching <code>source</code>, <code>tag</code> and <code>comm</code>. If so, returns <code>ismsg = true</code>. The <code>Status</code> argument additionally returns the <a href="#MPI.Status"><code>Status</code></a> of the completed request.</p><p><strong>External links</strong></p><ul><li><code>MPI_Iprobe</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Iprobe.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Iprobe.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/nonblocking.jl#L383-L396">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Probe" href="#MPI.Probe"><code>MPI.Probe</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Probe(comm::Comm;
-        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)
-status = Probe(comm::Comm, MPI.Status;
-    source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)</code></pre><p>Blocks until there is a message that can be received matching <code>source</code>, <code>tag</code> and <code>comm</code>. Optionally returns the corresponding <a href="#MPI.Status"><code>Status</code></a> object.</p><p><strong>External links</strong></p><ul><li><code>MPI_Probe</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Probe.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Probe.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/nonblocking.jl#L355-L366">source</a></section></article><h2 id="Persistent-requests"><a class="docs-heading-anchor" href="#Persistent-requests">Persistent requests</a><a id="Persistent-requests-1"></a><a class="docs-heading-anchor-permalink" href="#Persistent-requests" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Send_init" href="#MPI.Send_init"><code>MPI.Send_init</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Send_init(buf, comm::MPI.Comm[, req::AbstractRequest = Request()];
-    dest, tag=0)</code></pre><p>Allocate a persistent send request, returning a <a href="#MPI.AbstractRequest"><code>AbstractRequest</code></a> object. Use <a href="#MPI.Start"><code>Start</code></a> or <a href="#MPI.Startall"><code>Startall</code></a> to start the communication operation, and <code>free</code> to deallocate the request.</p><p><strong>External links</strong></p><ul><li><code>MPI_Send_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Send_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Send_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/pointtopoint.jl#L249-L259">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Recv_init" href="#MPI.Recv_init"><code>MPI.Recv_init</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Recv_init(buf, comm::MPI.Comm[, req::AbstractRequest = Request()];
-    source=MPI.ANY_SOURCE, tag=MPI.ANY_TAG)</code></pre><p>Allocate a persistent receive request, returning a <a href="#MPI.AbstractRequest"><code>AbstractRequest</code></a> object. Use <a href="#MPI.Start"><code>Start</code></a> or <a href="#MPI.Startall"><code>Startall</code></a> to start the communication operation, and <code>free</code> to deallocate the request.</p><p><strong>External links</strong></p><ul><li><code>MPI_Recv_init</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Recv_init.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Recv_init.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/pointtopoint.jl#L271-L281">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Start" href="#MPI.Start"><code>MPI.Start</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Start(request::AbstractRequest)</code></pre><p>Start a persistent communication request created by <a href="#MPI.Send_init"><code>Send_init</code></a> or <a href="#MPI.Recv_init"><code>Recv_init</code></a>. Call <a href="#MPI.Wait"><code>Wait</code></a> to complete the request.</p><p><strong>External links</strong></p><ul><li><code>MPI_Start</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Start.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Start.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/pointtopoint.jl#L293-L301">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Startall" href="#MPI.Startall"><code>MPI.Startall</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Startall(reqs::AbstractVector{Request})</code></pre><p>Start a set of persistent communication requests created by <a href="#MPI.Send_init"><code>Send_init</code></a> or <a href="#MPI.Recv_init"><code>Recv_init</code></a>. Call <a href="#MPI.Waitall"><code>Waitall</code></a> to complete the requests.</p><p><strong>External links</strong></p><ul><li><code>MPI_Startall</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Startall.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Startall.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/pointtopoint.jl#L307-L315">source</a></section></article><h2 id="Matching-probes-and-receives"><a class="docs-heading-anchor" href="#Matching-probes-and-receives">Matching probes and receives</a><a id="Matching-probes-and-receives-1"></a><a class="docs-heading-anchor-permalink" href="#Matching-probes-and-receives" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Message" href="#MPI.Message"><code>MPI.Message</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">MPI.Message</code></pre><p>An MPI message handle object, used by matched receive operations. These are returned by <a href="#MPI.Mprobe"><code>MPI.Mprobe</code></a> and <a href="#MPI.Improbe"><code>MPI.Improbe</code></a> operations, and must be received by either <a href="#MPI.Mrecv!"><code>MPI.Mrecv!</code></a> or <a href="#MPI.Imrecv!"><code>MPI.Imrecv!</code></a>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/pointtopoint.jl#L324-L330">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Mprobe" href="#MPI.Mprobe"><code>MPI.Mprobe</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">msg = MPI.Mprobe(comm::MPI.Comm;
-    source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)
-msg, status = MPI.Mprobe(comm::MPI.Comm, MPI.Status;
-    source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)</code></pre><p>Matching blocking probe. Similar to <a href="#MPI.Probe"><code>MPI.Probe</code></a>, except that it also returns <code>msg</code>, an <a href="#MPI.Message"><code>MPI.Message</code></a> object. </p><p>Blocks until a message that can be received matching <code>source</code>, <code>tag</code> and <code>comm</code>, returning a <a href="#MPI.Message"><code>Message</code></a> objec <code>msg</code>, which must be received by either <a href="#MPI.Mrecv!"><code>MPI.Mrecv!</code></a> or <a href="#MPI.Imrecv!"><code>MPI.Imrecv!</code></a>.</p><p>The <code>Status</code> argument additionally returns the <a href="#MPI.Status"><code>Status</code></a> of the completed request.</p><p><strong>External links</strong></p><ul><li><code>MPI_Mprobe</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Mprobe.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Mprobe.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/pointtopoint.jl#L373-L391">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Improbe" href="#MPI.Improbe"><code>MPI.Improbe</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">ismsg, msg = MPI.Improbe(comm::MPI.Comm;
-    source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)
-ismsg, msg, status = MPI.Improbe(comm::MPI.Comm, MPI.Status;
-    source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)</code></pre><p>Matching non-blocking probe. Similar to <a href="#MPI.Iprobe"><code>MPI.Iprobe</code></a>, except that it also returns <code>msg</code>, an <a href="#MPI.Message"><code>MPI.Message</code></a> object. </p><p>Checks if there is a message that can be received matching <code>source</code>, <code>tag</code> and <code>comm</code>. If so, returns <code>ismsg = true</code>, and a <a href="#MPI.Message"><code>Message</code></a> objec <code>msg</code>, which must be received by either <a href="#MPI.Mrecv!"><code>MPI.Mrecv!</code></a> or <a href="#MPI.Imrecv!"><code>MPI.Imrecv!</code></a>. Otherwise <code>msg</code> is set to be a null <code>Message</code>.</p><p>The <code>Status</code> argument additionally returns the <a href="#MPI.Status"><code>Status</code></a> of the completed request.</p><p><strong>External links</strong></p><ul><li><code>MPI_Improbe</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Improbe.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Improbe.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/pointtopoint.jl#L339-L358">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Mrecv!" href="#MPI.Mrecv!"><code>MPI.Mrecv!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">data = MPI.Mrecv!(recvbuf, msg::MPI.Message)
-data, status = MPI.Mrecv!(recvbuf, msg::MPI.Message, MPI.Status)</code></pre><p>Completes a blocking receive matched by a matching probe operation into the buffer <code>recvbuf</code>, and the <a href="#MPI.Message"><code>Message</code></a> <code>msg</code>.</p><p><code>recvbuf</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(recvbuf)</code> is defined.</p><p>Optionally returns the <a href="#MPI.Status"><code>Status</code></a> object of the receive.</p><p><strong>External links</strong></p><ul><li><code>MPI_Mrecv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Mrecv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Mrecv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/pointtopoint.jl#L405-L419">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Imrecv!" href="#MPI.Imrecv!"><code>MPI.Imrecv!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">req = MPI.Imrecv!(recvbuf, msg::MPI.Message[, req::AbstractRequest=Request()])</code></pre><p>Starts a nonblocking receive matched by a matching probe operation into the buffer <code>recvbuf</code>, and the <a href="#MPI.Message"><code>Message</code></a> <code>msg</code>.</p><p><code>recvbuf</code> can be a <a href="../buffers/#MPI.Buffer"><code>Buffer</code></a>, or any object for which <code>Buffer(recvbuf)</code> is defined.</p><p>Returns <code>req</code>, an <a href="#MPI.AbstractRequest"><code>AbstractRequest</code></a> object for the nonblocking receive.</p><p><strong>External links</strong></p><ul><li><code>MPI_Imrecv</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Imrecv.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Imrecv.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/pointtopoint.jl#L432-L444">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../buffers/">« Buffers</a><a class="docs-footer-nextpage" href="../collective/">Collective communication »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Sunday 16 July 2023 20:17">Sunday 16 July 2023</span>. Using Julia version 1.9.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR747/reference/topology/index.html b/previews/PR747/reference/topology/index.html
deleted file mode 100644
index 92fcf915d..000000000
--- a/previews/PR747/reference/topology/index.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Topology · MPI.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../../">MPI.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">MPI.jl</a></li><li><a class="tocitem" href="../../configuration/">Configuration</a></li><li><a class="tocitem" href="../../usage/">Usage</a></li><li><a class="tocitem" href="../../external/">External libraries and packages</a></li><li><a class="tocitem" href="../../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../library/">Library information</a></li><li><a class="tocitem" href="../environment/">Environment</a></li><li><a class="tocitem" href="../misc/">Miscellanea</a></li><li><a class="tocitem" href="../comm/">Communicators</a></li><li><a class="tocitem" href="../buffers/">Buffers</a></li><li><a class="tocitem" href="../pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../collective/">Collective communication</a></li><li><a class="tocitem" href="../onesided/">One-sided communication</a></li><li class="is-active"><a class="tocitem" href>Topology</a><ul class="internal"><li><a class="tocitem" href="#Cartesian"><span>Cartesian</span></a></li><li><a class="tocitem" href="#Graph-topology"><span>Graph topology</span></a></li></ul></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../advanced/">Advanced</a></li><li><a class="tocitem" href="../api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>Topology</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Topology</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/reference/topology.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Topology"><a class="docs-heading-anchor" href="#Topology">Topology</a><a id="Topology-1"></a><a class="docs-heading-anchor-permalink" href="#Topology" title="Permalink"></a></h1><h2 id="Cartesian"><a class="docs-heading-anchor" href="#Cartesian">Cartesian</a><a id="Cartesian-1"></a><a class="docs-heading-anchor-permalink" href="#Cartesian" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.Dims_create" href="#MPI.Dims_create"><code>MPI.Dims_create</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">newdims = Dims_create(nnodes::Integer, dims)</code></pre><p>A convenience function for selecting a balanced Cartesian grid of a total of <code>nnodes</code> nodes, for example to use with <a href="#MPI.Cart_create"><code>MPI.Cart_create</code></a>.</p><p><code>dims</code> is an array or tuple of integers specifying the number of nodes in each dimension. The function returns an array <code>newdims</code> of the same length, such that if <code>newdims[i] = dims[i]</code> if <code>dims[i]</code> is non-zero, and <code>prod(newdims) == nnodes</code>, and values <code>newdims</code> are as close to each other as possible.</p><p><code>nnodes</code> should be divisible by the product of the non-zero entries of <code>dims</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Dims_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Dims_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Dims_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/topology.jl#L1-L16">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Cart_create" href="#MPI.Cart_create"><code>MPI.Cart_create</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">comm_cart = Cart_create(comm::Comm, dims; periodic=map(_-&gt;false, dims), reorder=false)</code></pre><p>Create new MPI communicator with Cartesian topology information attached.</p><p><code>dims</code> is an array or tuple of integers specifying the number of MPI processes in each coordinate direction, and <code>periodic</code> is an array or tuple of <code>Bool</code>s indicating the periodicity of each coordinate. <code>prod(dims)</code> must be less than or equal to the size of <code>comm</code>; if it is smaller than some processes are returned a null communicator.</p><p>If <code>reorder == false</code> then the rank of each process in the new group is identical to its rank in the old group, otherwise the function may reorder the processes.</p><p>See also <a href="#MPI.Dims_create"><code>MPI.Dims_create</code></a>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Cart_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cart_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cart_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/topology.jl#L24-L41">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Cart_get" href="#MPI.Cart_get"><code>MPI.Cart_get</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">dims, periods, coords = Cart_get(comm::Comm)</code></pre><p>Obtain information on the Cartesian topology of dimension <code>N</code> underlying the communicator <code>comm</code>. This is specified by two <code>Cint</code> arrays of <code>N</code> elements for the number of processes and periodicity properties along each Cartesian dimension. A third <code>Cint</code> array is returned, containing the Cartesian coordinates of the calling process.</p><p><strong>External links</strong></p><ul><li><code>MPI_Cart_get</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cart_get.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cart_get.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/topology.jl#L78-L88">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Cart_coords" href="#MPI.Cart_coords"><code>MPI.Cart_coords</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">coords = Cart_coords(comm::Comm, rank::Integer=Comm_rank(comm))</code></pre><p>Determine coordinates of a process with rank <code>rank</code> in the Cartesian communicator <code>comm</code>. If no <code>rank</code> is provided, it returns the coordinates of the current process.</p><p>Returns an integer array of the 0-based coordinates. The inverse of <a href="#MPI.Cart_rank"><code>Cart_rank</code></a>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Cart_coords</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cart_coords.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cart_coords.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/topology.jl#L115-L125">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Cart_rank" href="#MPI.Cart_rank"><code>MPI.Cart_rank</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">rank = Cart_rank(comm::Comm, coords)</code></pre><p>Determine process rank in communicator <code>comm</code> with Cartesian structure.  The <code>coords</code> array specifies the 0-based Cartesian coordinates of the process. This is the inverse of <a href="#MPI.Cart_coords"><code>MPI.Cart_coords</code></a></p><p><strong>External links</strong></p><ul><li><code>MPI_Cart_rank</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cart_rank.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cart_rank.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/topology.jl#L58-L66">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Cart_shift" href="#MPI.Cart_shift"><code>MPI.Cart_shift</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">rank_source, rank_dest = Cart_shift(comm::Comm, direction::Integer, disp::Integer)</code></pre><p>Return the source and destination ranks associated to a shift along a given direction.</p><p><strong>External links</strong></p><ul><li><code>MPI_Cart_shift</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cart_shift.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cart_shift.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/topology.jl#L134-L142">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Cart_sub" href="#MPI.Cart_sub"><code>MPI.Cart_sub</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">comm_sub = Cart_sub(comm::Comm, remain_dims)</code></pre><p>Create lower-dimensional Cartesian communicator from existent Cartesian topology.</p><p><code>remain_dims</code> should be a boolean vector specifying the dimensions that should be kept in the generated subgrid.</p><p><strong>External links</strong></p><ul><li><code>MPI_Cart_sub</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cart_sub.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cart_sub.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/topology.jl#L152-L163">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Cartdim_get" href="#MPI.Cartdim_get"><code>MPI.Cartdim_get</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">ndims = Cartdim_get(comm::Comm)</code></pre><p>Return number of dimensions of the Cartesian topology associated with the communicator <code>comm</code>.</p><p><strong>External links</strong></p><ul><li><code>MPI_Cartdim_get</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Cartdim_get.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Cartdim_get.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/topology.jl#L100-L107">source</a></section></article><h2 id="Graph-topology"><a class="docs-heading-anchor" href="#Graph-topology">Graph topology</a><a id="Graph-topology-1"></a><a class="docs-heading-anchor-permalink" href="#Graph-topology" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="MPI.UNWEIGHTED" href="#MPI.UNWEIGHTED"><code>MPI.UNWEIGHTED</code></a> — <span class="docstring-category">Constant</span></header><section><div><pre><code class="language-julia hljs">MPI.UNWEIGHTED :: MPI.Unweighted</code></pre><p>This is used to indicate that a graph topology is unweighted. It can be supplied as an argument to <a href="#MPI.Dist_graph_create_adjacent"><code>Dist_graph_create_adjacent</code></a>, <a href="#MPI.Dist_graph_create"><code>Dist_graph_create</code></a>, and <a href="#MPI.Dist_graph_neighbors!"><code>Dist_graph_neighbors!</code></a>; or obtained as the return value from <a href="#MPI.Dist_graph_neighbors"><code>Dist_graph_neighbors</code></a>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/topology.jl#L178-L185">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Dist_graph_create" href="#MPI.Dist_graph_create"><code>MPI.Dist_graph_create</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">graph_comm = Dist_graph_create(comm::Comm, sources::Vector{Cint}, degrees::Vector{Cint}, destinations::Vector{Cint}; weights::Union{Vector{Cint}, Unweighted, WeightsEmpty}=UNWEIGHTED, reorder=false, infokws...)</code></pre><p>Create a new communicator from a given directed graph topology, described by incoming and outgoing edges on an existing communicator.</p><p><strong>Arguments</strong></p><ul><li><code>comm::Comm</code>: The communicator on which the distributed graph topology should be induced.</li><li><code>sources::Vector{Cint}</code>: An array with the ranks for which this call will specify outgoing edges.</li><li><code>degrees::Vector{Cint}</code>: An array with the number of outgoing edges for each entry in the sources array.</li><li><code>destinations::Vector{Cint}</code>: An array containing with lenght of the sum of the entries in the degrees array                               describing the ranks towards the edges point.</li><li><code>weights::Union{Vector{Cint}, Unweighted, WeightsEmpty}</code>: The edge weights of the specified edges. The default is <a href="#MPI.UNWEIGHTED"><code>MPI.UNWEIGHTED</code></a>.</li><li><code>reorder::Bool=false</code>: If set true, then the MPI implementation can reorder the source and destination indices.</li></ul><p><strong>Example</strong></p><p>We can generate a ring graph <code>1 --&gt; 2 --&gt; ... --&gt; N --&gt; 1</code>, where N is the number of ranks in the communicator, as follows</p><pre><code class="language-julia hljs">julia&gt; rank = MPI.Comm_rank(comm);
-julia&gt; N = MPI.Comm_size(comm);
-julia&gt; sources = Cint[rank];
-julia&gt; degrees = Cint[1];
-julia&gt; destinations = Cint[mod(rank-1, N)];
-julia&gt; graph_comm = Dist_graph_create(comm, sources, degrees, destinations)</code></pre><p><strong>External links</strong></p><ul><li><code>MPI_Dist_graph_create</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Dist_graph_create.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Dist_graph_create.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/topology.jl#L235-L262">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Dist_graph_create_adjacent" href="#MPI.Dist_graph_create_adjacent"><code>MPI.Dist_graph_create_adjacent</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">graph_comm = Dist_graph_create_adjacent(comm::Comm,
-    sources::Vector{Cint}, destinations::Vector{Cint};
-    source_weights::Union{Vector{Cint}, Unweighted, WeightsEmpty}=UNWEIGHTED, destination_weights::Union{Vector{Cint}, Unweighted, WeightsEmpty}=UNWEIGHTED,
-    reorder=false, infokws...)</code></pre><p>Create a new communicator from a given directed graph topology, described by local incoming and outgoing edges on an existing communicator.</p><p><strong>Arguments</strong></p><ul><li><code>comm::Comm</code>: The communicator on which the distributed graph topology should be induced.</li><li><code>sources::Vector{Cint}</code>: The local, incoming edges on the rank of the calling process.</li><li><code>destinations::Vector{Cint}</code>: The local, outgoing edges on the rank of the calling process.</li><li><code>source_weights::Union{Vector{Cint}, Unweighted, WeightsEmpty}</code>: The edge weights of the local, incoming edges. The default is <a href="#MPI.UNWEIGHTED"><code>MPI.UNWEIGHTED</code></a>.</li><li><code>destinations_weights::Union{Vector{Cint}, Unweighted, WeightsEmpty}</code>: The edge weights of the local, outgoing edges. The default is <a href="#MPI.UNWEIGHTED"><code>MPI.UNWEIGHTED</code></a>.</li><li><code>reorder::Bool=false</code>: If set true, then the MPI implementation can reorder the source and destination indices.</li></ul><p><strong>Example</strong></p><p>We can generate a ring graph <code>1 --&gt; 2 --&gt; ... --&gt; N --&gt; 1</code>, where N is the number of ranks in the communicator, as follows</p><pre><code class="language-julia hljs">julia&gt; rank = MPI.Comm_rank(comm);
-julia&gt; N = MPI.Comm_size(comm);
-julia&gt; sources = Cint[mod(rank-1, N)];
-julia&gt; destinations = Cint[mod(rank+1, N)];
-julia&gt; graph_comm = Dist_graph_create_adjacent(comm, sources, destinations);</code></pre><p><strong>External links</strong></p><ul><li><code>MPI_Dist_graph_create_adjacent</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Dist_graph_create_adjacent.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Dist_graph_create_adjacent.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/topology.jl#L193-L221">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Dist_graph_neighbors_count" href="#MPI.Dist_graph_neighbors_count"><code>MPI.Dist_graph_neighbors_count</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">indegree, outdegree, weighted = Dist_graph_neighbors_count(graph_comm::Comm)</code></pre><p>Return the number of in and out edges for the calling processes in a distributed graph topology and a flag indicating whether the distributed graph is weighted.</p><p><strong>Arguments</strong></p><ul><li><code>graph_comm::Comm</code>: The communicator of the distributed graph topology.</li></ul><p><strong>Example</strong></p><p>Let us assume the following graph <code>0 &lt;--&gt; 1 --&gt; 2</code>, which has no weights on its edges, then the process with rank 1 will obtain the following result from calling the function</p><pre><code class="language-julia-repl hljs">julia&gt; Dist_graph_neighbors_count(graph_comm)
-(1,2,false)</code></pre><p><strong>External links</strong></p><ul><li><code>MPI_Dist_graph_neighbors_count</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Dist_graph_neighbors_count.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Dist_graph_neighbors_count.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/topology.jl#L274-L293">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Dist_graph_neighbors!" href="#MPI.Dist_graph_neighbors!"><code>MPI.Dist_graph_neighbors!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">Dist_graph_neighbors!(graph_comm::MPI.Comm,
-   sources::Vector{Cint}, source_weights::Union{Vector{Cint}, Unweighted},
-   destinations::Vector{Cint}, destination_weights::Union{Vector{Cint}, Unweighted},
-)
-Dist_graph_neighbors!(graph_comm::Comm, sources::Vector{Cint}, destinations::Vector{Cint})</code></pre><p>Query the neighbors and edge weights (optional) of the calling process in a distributed graph topology.</p><p><strong>Arguments</strong></p><ul><li><code>graph_comm::Comm</code>: The communicator of the distributed graph topology.</li><li><code>sources</code>: A preallocated <code>Vector{Cint}</code>, which will be filled with the ranks           of the processes whose edges pointing towards the calling process.           The length is exactly the indegree returned by           <a href="#MPI.Dist_graph_neighbors_count"><code>MPI.Dist_graph_neighbors_count</code></a>.</li><li><code>source_weights</code>: A preallocated <code>Vector{Cint}</code>, which will be filled with the           weights associated to the edges pointing towards the calling           process. The length is exactly the indegree returned by           <a href="#MPI.Dist_graph_neighbors_count"><code>MPI.Dist_graph_neighbors_count</code></a>. Alternatively,           <a href="#MPI.UNWEIGHTED"><code>MPI.UNWEIGHTED</code></a> can be used if weight information is not required.</li><li><code>destinations</code>: A preallocated <code>Vector{Cint}</code><code>, which will be filled with the           ranks of the processes towards which the edges of the calling           process point. The length is exactly the outdegree returned by           [</code>MPI.Dist<em>graph</em>neighbors_count`](@ref).</li><li><code>destination_weights</code>: A preallocated <code>Vector{Cint}</code>, which will be filled           with the weights associated to the edges of the outgoing edges of           the calling process point. The length is exactly the outdegree           returned by <a href="#MPI.Dist_graph_neighbors_count"><code>MPI.Dist_graph_neighbors_count</code></a>. Alternatively,           <a href="#MPI.UNWEIGHTED"><code>MPI.UNWEIGHTED</code></a> can be used if weight information is not required.</li></ul><p><strong>Example</strong></p><p>Let us assume the following graph:</p><pre><code class="nohighlight hljs">            rank 0 &lt;-----&gt; rank 1 ------&gt; rank 2
-weights:              3             4</code></pre><p>then then the process with rank 1 will need to preallocate <code>sources</code> and <code>source_weights</code> as vectors of length 1, and a <code>destinations</code> and <code>destination_weights</code> as vectors of length 2.</p><p>The call will fill the vectors as follows:</p><pre><code class="language-julia-repl hljs">julia&gt; MPI.Dist_graph_neighbors!(graph_comm, sources, source_weights, destinations, destination_weights);
-julia&gt; sources
-[0]
-julia&gt; source_weights
-[3]
-julia&gt; destinations
-[0,2]
-julia&gt; destination_weights
-[3,4]</code></pre><p>Note that the edge between ranks 0 and 1 can have a different weight depending on whether it is the incoming edge <code>0 --&gt; 1</code> or the outgoing one <code>0 &lt;-- 1</code>.</p><p><strong>See also</strong></p><ul><li><a href="#MPI.Dist_graph_neighbors"><code>Dist_graph_neighbors</code></a></li></ul><p><strong>External links</strong></p><ul><li><code>MPI_Dist_graph_neighbors</code> man page: <a href="https://www.open-mpi.org/doc/current/man3/MPI_Dist_graph_neighbors.3.php">OpenMPI</a>, <a href="https://www.mpich.org/static/docs/latest/www3/MPI_Dist_graph_neighbors.html">MPICH</a></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/topology.jl#L304-L366">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="MPI.Dist_graph_neighbors" href="#MPI.Dist_graph_neighbors"><code>MPI.Dist_graph_neighbors</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">sources, source_weights, destinations, destination_weights = Dist_graph_neighbors(graph_comm::MPI.Comm)</code></pre><p>Return <code>(sources, source_weights, destinations, destination_weights)</code> of the graph communicator <code>graph_comm</code>. For unweighted graphs <code>source_weights</code> and <code>destination_weights</code> are returned as <a href="#MPI.UNWEIGHTED"><code>MPI.UNWEIGHTED</code></a>.</p><p>This function is a wrapper around <a href="#MPI.Dist_graph_neighbors_count"><code>MPI.Dist_graph_neighbors_count</code></a> and <a href="#MPI.Dist_graph_neighbors!"><code>MPI.Dist_graph_neighbors!</code></a> that automatically handles the allocation of the result vectors.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaParallel/MPI.jl/blob/bfa1f94e1d37e086f25195c558739f73ccd09e68/src/topology.jl#L387-L397">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../onesided/">« One-sided communication</a><a class="docs-footer-nextpage" href="../io/">I/O »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Sunday 16 July 2023 20:17">Sunday 16 July 2023</span>. Using Julia version 1.9.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR747/refindex/index.html b/previews/PR747/refindex/index.html
deleted file mode 100644
index 3292d7140..000000000
--- a/previews/PR747/refindex/index.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Index · MPI.jl</title><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../"><img src="../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../">MPI.jl</a></span></div><form class="docs-search" action="../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../">MPI.jl</a></li><li><a class="tocitem" href="../configuration/">Configuration</a></li><li><a class="tocitem" href="../usage/">Usage</a></li><li><a class="tocitem" href="../external/">External libraries and packages</a></li><li><a class="tocitem" href="../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../reference/library/">Library information</a></li><li><a class="tocitem" href="../reference/environment/">Environment</a></li><li><a class="tocitem" href="../reference/misc/">Miscellanea</a></li><li><a class="tocitem" href="../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../reference/topology/">Topology</a></li><li><a class="tocitem" href="../reference/io/">I/O</a></li><li><a class="tocitem" href="../reference/advanced/">Advanced</a></li><li><a class="tocitem" href="../reference/api/">Low-level API</a></li></ul></li><li class="is-active"><a class="tocitem" href>Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>Index</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Index</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/refindex.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Index"><a class="docs-heading-anchor" href="#Index">Index</a><a id="Index-1"></a><a class="docs-heading-anchor-permalink" href="#Index" title="Permalink"></a></h1><ul><li><a href="../reference/pointtopoint/#MPI.ANY_SOURCE"><code>MPI.ANY_SOURCE</code></a></li><li><a href="../reference/pointtopoint/#MPI.ANY_TAG"><code>MPI.ANY_TAG</code></a></li><li><a href="../reference/comm/#MPI.COMM_SELF"><code>MPI.COMM_SELF</code></a></li><li><a href="../reference/comm/#MPI.COMM_WORLD"><code>MPI.COMM_WORLD</code></a></li><li><a href="../reference/buffers/#MPI.IN_PLACE"><code>MPI.IN_PLACE</code></a></li><li><a href="../reference/library/#MPI.MPI_LIBRARY"><code>MPI.MPI_LIBRARY</code></a></li><li><a href="../reference/library/#MPI.MPI_LIBRARY_VERSION"><code>MPI.MPI_LIBRARY_VERSION</code></a></li><li><a href="../reference/library/#MPI.MPI_LIBRARY_VERSION_STRING"><code>MPI.MPI_LIBRARY_VERSION_STRING</code></a></li><li><a href="../reference/library/#MPI.MPI_VERSION"><code>MPI.MPI_VERSION</code></a></li><li><a href="../reference/pointtopoint/#MPI.PROC_NULL"><code>MPI.PROC_NULL</code></a></li><li><a href="../reference/topology/#MPI.UNWEIGHTED"><code>MPI.UNWEIGHTED</code></a></li><li><a href="../reference/mpipreferences/#MPIPreferences.abi"><code>MPIPreferences.abi</code></a></li><li><a href="../reference/mpipreferences/#MPIPreferences.binary"><code>MPIPreferences.binary</code></a></li><li><a href="../reference/environment/#MPI.API.FeatureLevelError"><code>MPI.API.FeatureLevelError</code></a></li><li><a href="../reference/buffers/#MPI.API.MPIPtr"><code>MPI.API.MPIPtr</code></a></li><li><a href="../reference/pointtopoint/#MPI.AbstractRequest"><code>MPI.AbstractRequest</code></a></li><li><a href="../reference/buffers/#MPI.Buffer"><code>MPI.Buffer</code></a></li><li><a href="../reference/comm/#MPI.Comm"><code>MPI.Comm</code></a></li><li><a href="../reference/group/#MPI.Comparison"><code>MPI.Comparison</code></a></li><li><a href="../reference/advanced/#MPI.Datatype"><code>MPI.Datatype</code></a></li><li><a href="../reference/advanced/#MPI.Errhandler"><code>MPI.Errhandler</code></a></li><li><a href="../reference/group/#MPI.Group"><code>MPI.Group</code></a></li><li><a href="../reference/advanced/#MPI.Info"><code>MPI.Info</code></a></li><li><a href="../reference/environment/#MPI.MPIError"><code>MPI.MPIError</code></a></li><li><a href="../reference/pointtopoint/#MPI.Message"><code>MPI.Message</code></a></li><li><a href="../reference/pointtopoint/#MPI.MultiRequest"><code>MPI.MultiRequest</code></a></li><li><a href="../reference/advanced/#MPI.Op"><code>MPI.Op</code></a></li><li><a href="../reference/buffers/#MPI.RBuffer"><code>MPI.RBuffer</code></a></li><li><a href="../reference/pointtopoint/#MPI.Request"><code>MPI.Request</code></a></li><li><a href="../reference/pointtopoint/#MPI.RequestSet"><code>MPI.RequestSet</code></a></li><li><a href="../reference/pointtopoint/#MPI.Status"><code>MPI.Status</code></a></li><li><a href="../reference/environment/#MPI.ThreadLevel"><code>MPI.ThreadLevel</code></a></li><li><a href="../reference/buffers/#MPI.UBuffer"><code>MPI.UBuffer</code></a></li><li><a href="../reference/pointtopoint/#MPI.UnsafeMultiRequest"><code>MPI.UnsafeMultiRequest</code></a></li><li><a href="../reference/pointtopoint/#MPI.UnsafeRequest"><code>MPI.UnsafeRequest</code></a></li><li><a href="../reference/buffers/#MPI.VBuffer"><code>MPI.VBuffer</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Abort-Tuple{Any, Any}"><code>MPI.API.MPI_Abort</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Accumulate-NTuple{9, Any}"><code>MPI.API.MPI_Accumulate</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Accumulate_c-NTuple{9, Any}"><code>MPI.API.MPI_Accumulate_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Add_error_class-Tuple{Any}"><code>MPI.API.MPI_Add_error_class</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Add_error_code-Tuple{Any, Any}"><code>MPI.API.MPI_Add_error_code</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Add_error_string-Tuple{Any, Any}"><code>MPI.API.MPI_Add_error_string</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Address-Tuple{Any, Any}"><code>MPI.API.MPI_Address</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Aint_add-Tuple{Any, Any}"><code>MPI.API.MPI_Aint_add</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Aint_diff-Tuple{Any, Any}"><code>MPI.API.MPI_Aint_diff</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Allgather-NTuple{7, Any}"><code>MPI.API.MPI_Allgather</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Allgather_c-NTuple{7, Any}"><code>MPI.API.MPI_Allgather_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Allgather_init-NTuple{9, Any}"><code>MPI.API.MPI_Allgather_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Allgather_init_c-NTuple{9, Any}"><code>MPI.API.MPI_Allgather_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Allgatherv-NTuple{8, Any}"><code>MPI.API.MPI_Allgatherv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Allgatherv_c-NTuple{8, Any}"><code>MPI.API.MPI_Allgatherv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Allgatherv_init-NTuple{10, Any}"><code>MPI.API.MPI_Allgatherv_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Allgatherv_init_c-NTuple{10, Any}"><code>MPI.API.MPI_Allgatherv_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Alloc_mem-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Alloc_mem</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Allreduce-NTuple{6, Any}"><code>MPI.API.MPI_Allreduce</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Allreduce_c-NTuple{6, Any}"><code>MPI.API.MPI_Allreduce_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Allreduce_init-NTuple{8, Any}"><code>MPI.API.MPI_Allreduce_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Allreduce_init_c-NTuple{8, Any}"><code>MPI.API.MPI_Allreduce_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Alltoall-NTuple{7, Any}"><code>MPI.API.MPI_Alltoall</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Alltoall_c-NTuple{7, Any}"><code>MPI.API.MPI_Alltoall_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Alltoall_init-NTuple{9, Any}"><code>MPI.API.MPI_Alltoall_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Alltoall_init_c-NTuple{9, Any}"><code>MPI.API.MPI_Alltoall_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Alltoallv-NTuple{9, Any}"><code>MPI.API.MPI_Alltoallv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Alltoallv_c-NTuple{9, Any}"><code>MPI.API.MPI_Alltoallv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Alltoallv_init-NTuple{11, Any}"><code>MPI.API.MPI_Alltoallv_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Alltoallv_init_c-NTuple{11, Any}"><code>MPI.API.MPI_Alltoallv_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Alltoallw-NTuple{9, Any}"><code>MPI.API.MPI_Alltoallw</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Alltoallw_c-NTuple{9, Any}"><code>MPI.API.MPI_Alltoallw_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Alltoallw_init-NTuple{11, Any}"><code>MPI.API.MPI_Alltoallw_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Alltoallw_init_c-NTuple{11, Any}"><code>MPI.API.MPI_Alltoallw_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Attr_delete-Tuple{Any, Any}"><code>MPI.API.MPI_Attr_delete</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Attr_get-NTuple{4, Any}"><code>MPI.API.MPI_Attr_get</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Attr_put-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Attr_put</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Barrier-Tuple{Any}"><code>MPI.API.MPI_Barrier</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Barrier_init-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Barrier_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Bcast-NTuple{5, Any}"><code>MPI.API.MPI_Bcast</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Bcast_c-NTuple{5, Any}"><code>MPI.API.MPI_Bcast_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Bcast_init-NTuple{7, Any}"><code>MPI.API.MPI_Bcast_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Bcast_init_c-NTuple{7, Any}"><code>MPI.API.MPI_Bcast_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Bsend-NTuple{6, Any}"><code>MPI.API.MPI_Bsend</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Bsend_c-NTuple{6, Any}"><code>MPI.API.MPI_Bsend_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Bsend_init-NTuple{7, Any}"><code>MPI.API.MPI_Bsend_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Bsend_init_c-NTuple{7, Any}"><code>MPI.API.MPI_Bsend_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Buffer_attach-Tuple{Any, Any}"><code>MPI.API.MPI_Buffer_attach</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Buffer_attach_c-Tuple{Any, Any}"><code>MPI.API.MPI_Buffer_attach_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Buffer_detach-Tuple{Any, Any}"><code>MPI.API.MPI_Buffer_detach</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Buffer_detach_c-Tuple{Any, Any}"><code>MPI.API.MPI_Buffer_detach_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Cancel-Tuple{Any}"><code>MPI.API.MPI_Cancel</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Cart_coords-NTuple{4, Any}"><code>MPI.API.MPI_Cart_coords</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Cart_create-NTuple{6, Any}"><code>MPI.API.MPI_Cart_create</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Cart_get-NTuple{5, Any}"><code>MPI.API.MPI_Cart_get</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Cart_map-NTuple{5, Any}"><code>MPI.API.MPI_Cart_map</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Cart_rank-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Cart_rank</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Cart_shift-NTuple{5, Any}"><code>MPI.API.MPI_Cart_shift</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Cart_sub-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Cart_sub</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Cartdim_get-Tuple{Any, Any}"><code>MPI.API.MPI_Cartdim_get</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Close_port-Tuple{Any}"><code>MPI.API.MPI_Close_port</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_accept-NTuple{5, Any}"><code>MPI.API.MPI_Comm_accept</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_call_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_call_errhandler</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_compare-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Comm_compare</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_connect-NTuple{5, Any}"><code>MPI.API.MPI_Comm_connect</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_create-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Comm_create</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_create_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_create_errhandler</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_create_from_group-NTuple{5, Any}"><code>MPI.API.MPI_Comm_create_from_group</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_create_group-NTuple{4, Any}"><code>MPI.API.MPI_Comm_create_group</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_create_keyval-NTuple{4, Any}"><code>MPI.API.MPI_Comm_create_keyval</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_delete_attr-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_delete_attr</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_disconnect-Tuple{Any}"><code>MPI.API.MPI_Comm_disconnect</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_dup-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_dup</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_dup_with_info-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Comm_dup_with_info</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_free-Tuple{Any}"><code>MPI.API.MPI_Comm_free</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_free_keyval-Tuple{Any}"><code>MPI.API.MPI_Comm_free_keyval</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_get_attr-NTuple{4, Any}"><code>MPI.API.MPI_Comm_get_attr</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_get_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_get_errhandler</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_get_info-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_get_info</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_get_name-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Comm_get_name</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_get_parent-Tuple{Any}"><code>MPI.API.MPI_Comm_get_parent</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_group-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_group</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_idup-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Comm_idup</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_idup_with_info-NTuple{4, Any}"><code>MPI.API.MPI_Comm_idup_with_info</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_join-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_join</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_rank-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_rank</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_remote_group-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_remote_group</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_remote_size-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_remote_size</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_set_attr-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Comm_set_attr</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_set_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_set_errhandler</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_set_info-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_set_info</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_set_name-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_set_name</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_size-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_size</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_spawn-NTuple{8, Any}"><code>MPI.API.MPI_Comm_spawn</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_spawn_multiple-NTuple{9, Any}"><code>MPI.API.MPI_Comm_spawn_multiple</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_split-NTuple{4, Any}"><code>MPI.API.MPI_Comm_split</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_split_type-NTuple{5, Any}"><code>MPI.API.MPI_Comm_split_type</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Comm_test_inter-Tuple{Any, Any}"><code>MPI.API.MPI_Comm_test_inter</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Compare_and_swap-NTuple{7, Any}"><code>MPI.API.MPI_Compare_and_swap</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Dims_create-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Dims_create</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Dist_graph_create-NTuple{9, Any}"><code>MPI.API.MPI_Dist_graph_create</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Dist_graph_create_adjacent-NTuple{10, Any}"><code>MPI.API.MPI_Dist_graph_create_adjacent</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Dist_graph_neighbors-NTuple{7, Any}"><code>MPI.API.MPI_Dist_graph_neighbors</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Dist_graph_neighbors_count-NTuple{4, Any}"><code>MPI.API.MPI_Dist_graph_neighbors_count</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Errhandler_create-Tuple{Any, Any}"><code>MPI.API.MPI_Errhandler_create</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Errhandler_free-Tuple{Any}"><code>MPI.API.MPI_Errhandler_free</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Errhandler_get-Tuple{Any, Any}"><code>MPI.API.MPI_Errhandler_get</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Errhandler_set-Tuple{Any, Any}"><code>MPI.API.MPI_Errhandler_set</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Error_class-Tuple{Any, Any}"><code>MPI.API.MPI_Error_class</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Error_string-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Error_string</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Exscan-NTuple{6, Any}"><code>MPI.API.MPI_Exscan</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Exscan_c-NTuple{6, Any}"><code>MPI.API.MPI_Exscan_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Exscan_init-NTuple{8, Any}"><code>MPI.API.MPI_Exscan_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Exscan_init_c-NTuple{8, Any}"><code>MPI.API.MPI_Exscan_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Fetch_and_op-NTuple{7, Any}"><code>MPI.API.MPI_Fetch_and_op</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_c2f-Tuple{Any}"><code>MPI.API.MPI_File_c2f</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_call_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_File_call_errhandler</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_close-Tuple{Any}"><code>MPI.API.MPI_File_close</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_create_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_File_create_errhandler</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_delete-Tuple{Any, Any}"><code>MPI.API.MPI_File_delete</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_f2c-Tuple{Any}"><code>MPI.API.MPI_File_f2c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_get_amode-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_amode</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_get_atomicity-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_atomicity</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_get_byte_offset-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_get_byte_offset</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_get_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_errhandler</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_get_group-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_group</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_get_info-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_info</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_get_position-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_position</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_get_position_shared-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_position_shared</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_get_size-Tuple{Any, Any}"><code>MPI.API.MPI_File_get_size</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_get_type_extent-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_get_type_extent</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_get_type_extent_c-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_get_type_extent_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_get_view-NTuple{5, Any}"><code>MPI.API.MPI_File_get_view</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iread-NTuple{5, Any}"><code>MPI.API.MPI_File_iread</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iread_all-NTuple{5, Any}"><code>MPI.API.MPI_File_iread_all</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iread_all_c-NTuple{5, Any}"><code>MPI.API.MPI_File_iread_all_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iread_at-NTuple{6, Any}"><code>MPI.API.MPI_File_iread_at</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iread_at_all-NTuple{6, Any}"><code>MPI.API.MPI_File_iread_at_all</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iread_at_all_c-NTuple{6, Any}"><code>MPI.API.MPI_File_iread_at_all_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iread_at_c-NTuple{6, Any}"><code>MPI.API.MPI_File_iread_at_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iread_c-NTuple{5, Any}"><code>MPI.API.MPI_File_iread_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iread_shared-NTuple{5, Any}"><code>MPI.API.MPI_File_iread_shared</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iread_shared_c-NTuple{5, Any}"><code>MPI.API.MPI_File_iread_shared_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iwrite-NTuple{5, Any}"><code>MPI.API.MPI_File_iwrite</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iwrite_all-NTuple{5, Any}"><code>MPI.API.MPI_File_iwrite_all</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iwrite_all_c-NTuple{5, Any}"><code>MPI.API.MPI_File_iwrite_all_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iwrite_at-NTuple{6, Any}"><code>MPI.API.MPI_File_iwrite_at</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iwrite_at_all-NTuple{6, Any}"><code>MPI.API.MPI_File_iwrite_at_all</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iwrite_at_all_c-NTuple{6, Any}"><code>MPI.API.MPI_File_iwrite_at_all_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iwrite_at_c-NTuple{6, Any}"><code>MPI.API.MPI_File_iwrite_at_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iwrite_c-NTuple{5, Any}"><code>MPI.API.MPI_File_iwrite_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iwrite_shared-NTuple{5, Any}"><code>MPI.API.MPI_File_iwrite_shared</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_iwrite_shared_c-NTuple{5, Any}"><code>MPI.API.MPI_File_iwrite_shared_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_open-NTuple{5, Any}"><code>MPI.API.MPI_File_open</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_preallocate-Tuple{Any, Any}"><code>MPI.API.MPI_File_preallocate</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read-NTuple{5, Any}"><code>MPI.API.MPI_File_read</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_all-NTuple{5, Any}"><code>MPI.API.MPI_File_read_all</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_all_begin-NTuple{4, Any}"><code>MPI.API.MPI_File_read_all_begin</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_all_begin_c-NTuple{4, Any}"><code>MPI.API.MPI_File_read_all_begin_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_all_c-NTuple{5, Any}"><code>MPI.API.MPI_File_read_all_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_all_end-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_read_all_end</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_at-NTuple{6, Any}"><code>MPI.API.MPI_File_read_at</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_at_all-NTuple{6, Any}"><code>MPI.API.MPI_File_read_at_all</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_at_all_begin-NTuple{5, Any}"><code>MPI.API.MPI_File_read_at_all_begin</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_at_all_begin_c-NTuple{5, Any}"><code>MPI.API.MPI_File_read_at_all_begin_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_at_all_c-NTuple{6, Any}"><code>MPI.API.MPI_File_read_at_all_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_at_all_end-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_read_at_all_end</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_at_c-NTuple{6, Any}"><code>MPI.API.MPI_File_read_at_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_c-NTuple{5, Any}"><code>MPI.API.MPI_File_read_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_ordered-NTuple{5, Any}"><code>MPI.API.MPI_File_read_ordered</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_ordered_begin-NTuple{4, Any}"><code>MPI.API.MPI_File_read_ordered_begin</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_ordered_begin_c-NTuple{4, Any}"><code>MPI.API.MPI_File_read_ordered_begin_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_ordered_c-NTuple{5, Any}"><code>MPI.API.MPI_File_read_ordered_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_ordered_end-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_read_ordered_end</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_shared-NTuple{5, Any}"><code>MPI.API.MPI_File_read_shared</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_read_shared_c-NTuple{5, Any}"><code>MPI.API.MPI_File_read_shared_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_seek-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_seek</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_seek_shared-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_seek_shared</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_set_atomicity-Tuple{Any, Any}"><code>MPI.API.MPI_File_set_atomicity</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_set_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_File_set_errhandler</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_set_info-Tuple{Any, Any}"><code>MPI.API.MPI_File_set_info</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_set_size-Tuple{Any, Any}"><code>MPI.API.MPI_File_set_size</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_set_view-NTuple{6, Any}"><code>MPI.API.MPI_File_set_view</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_sync-Tuple{Any}"><code>MPI.API.MPI_File_sync</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write-NTuple{5, Any}"><code>MPI.API.MPI_File_write</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_all-NTuple{5, Any}"><code>MPI.API.MPI_File_write_all</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_all_begin-NTuple{4, Any}"><code>MPI.API.MPI_File_write_all_begin</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_all_begin_c-NTuple{4, Any}"><code>MPI.API.MPI_File_write_all_begin_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_all_c-NTuple{5, Any}"><code>MPI.API.MPI_File_write_all_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_all_end-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_write_all_end</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_at-NTuple{6, Any}"><code>MPI.API.MPI_File_write_at</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_at_all-NTuple{6, Any}"><code>MPI.API.MPI_File_write_at_all</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_at_all_begin-NTuple{5, Any}"><code>MPI.API.MPI_File_write_at_all_begin</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_at_all_begin_c-NTuple{5, Any}"><code>MPI.API.MPI_File_write_at_all_begin_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_at_all_c-NTuple{6, Any}"><code>MPI.API.MPI_File_write_at_all_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_at_all_end-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_write_at_all_end</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_at_c-NTuple{6, Any}"><code>MPI.API.MPI_File_write_at_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_c-NTuple{5, Any}"><code>MPI.API.MPI_File_write_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_ordered-NTuple{5, Any}"><code>MPI.API.MPI_File_write_ordered</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_ordered_begin-NTuple{4, Any}"><code>MPI.API.MPI_File_write_ordered_begin</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_ordered_begin_c-NTuple{4, Any}"><code>MPI.API.MPI_File_write_ordered_begin_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_ordered_c-NTuple{5, Any}"><code>MPI.API.MPI_File_write_ordered_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_ordered_end-Tuple{Any, Any, Any}"><code>MPI.API.MPI_File_write_ordered_end</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_shared-NTuple{5, Any}"><code>MPI.API.MPI_File_write_shared</code></a></li><li><a href="../reference/api/#MPI.API.MPI_File_write_shared_c-NTuple{5, Any}"><code>MPI.API.MPI_File_write_shared_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Finalize-Tuple{}"><code>MPI.API.MPI_Finalize</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Finalized-Tuple{Any}"><code>MPI.API.MPI_Finalized</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Free_mem-Tuple{Any}"><code>MPI.API.MPI_Free_mem</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Gather-NTuple{8, Any}"><code>MPI.API.MPI_Gather</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Gather_c-NTuple{8, Any}"><code>MPI.API.MPI_Gather_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Gather_init-NTuple{10, Any}"><code>MPI.API.MPI_Gather_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Gather_init_c-NTuple{10, Any}"><code>MPI.API.MPI_Gather_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Gatherv-NTuple{9, Any}"><code>MPI.API.MPI_Gatherv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Gatherv_c-NTuple{9, Any}"><code>MPI.API.MPI_Gatherv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Gatherv_init-NTuple{11, Any}"><code>MPI.API.MPI_Gatherv_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Gatherv_init_c-NTuple{11, Any}"><code>MPI.API.MPI_Gatherv_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Get-NTuple{8, Any}"><code>MPI.API.MPI_Get</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Get_accumulate-NTuple{12, Any}"><code>MPI.API.MPI_Get_accumulate</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Get_accumulate_c-NTuple{12, Any}"><code>MPI.API.MPI_Get_accumulate_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Get_address-Tuple{Any, Any}"><code>MPI.API.MPI_Get_address</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Get_c-NTuple{8, Any}"><code>MPI.API.MPI_Get_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Get_count-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Get_count</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Get_count_c-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Get_count_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Get_elements-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Get_elements</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Get_elements_c-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Get_elements_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Get_elements_x-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Get_elements_x</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Get_library_version-Tuple{Any, Any}"><code>MPI.API.MPI_Get_library_version</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Get_processor_name-Tuple{Any, Any}"><code>MPI.API.MPI_Get_processor_name</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Get_version-Tuple{Any, Any}"><code>MPI.API.MPI_Get_version</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Graph_create-NTuple{6, Any}"><code>MPI.API.MPI_Graph_create</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Graph_get-NTuple{5, Any}"><code>MPI.API.MPI_Graph_get</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Graph_map-NTuple{5, Any}"><code>MPI.API.MPI_Graph_map</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Graph_neighbors-NTuple{4, Any}"><code>MPI.API.MPI_Graph_neighbors</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Graph_neighbors_count-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Graph_neighbors_count</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Graphdims_get-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Graphdims_get</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Grequest_complete-Tuple{Any}"><code>MPI.API.MPI_Grequest_complete</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Grequest_start-NTuple{5, Any}"><code>MPI.API.MPI_Grequest_start</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Group_compare-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Group_compare</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Group_difference-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Group_difference</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Group_excl-NTuple{4, Any}"><code>MPI.API.MPI_Group_excl</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Group_free-Tuple{Any}"><code>MPI.API.MPI_Group_free</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Group_incl-NTuple{4, Any}"><code>MPI.API.MPI_Group_incl</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Group_intersection-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Group_intersection</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Group_range_excl-NTuple{4, Any}"><code>MPI.API.MPI_Group_range_excl</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Group_range_incl-NTuple{4, Any}"><code>MPI.API.MPI_Group_range_incl</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Group_rank-Tuple{Any, Any}"><code>MPI.API.MPI_Group_rank</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Group_size-Tuple{Any, Any}"><code>MPI.API.MPI_Group_size</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Group_translate_ranks-NTuple{5, Any}"><code>MPI.API.MPI_Group_translate_ranks</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Group_union-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Group_union</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Iallgather-NTuple{8, Any}"><code>MPI.API.MPI_Iallgather</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Iallgather_c-NTuple{8, Any}"><code>MPI.API.MPI_Iallgather_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Iallgatherv-NTuple{9, Any}"><code>MPI.API.MPI_Iallgatherv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Iallgatherv_c-NTuple{9, Any}"><code>MPI.API.MPI_Iallgatherv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Iallreduce-NTuple{7, Any}"><code>MPI.API.MPI_Iallreduce</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Iallreduce_c-NTuple{7, Any}"><code>MPI.API.MPI_Iallreduce_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ialltoall-NTuple{8, Any}"><code>MPI.API.MPI_Ialltoall</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ialltoall_c-NTuple{8, Any}"><code>MPI.API.MPI_Ialltoall_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ialltoallv-NTuple{10, Any}"><code>MPI.API.MPI_Ialltoallv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ialltoallv_c-NTuple{10, Any}"><code>MPI.API.MPI_Ialltoallv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ialltoallw-NTuple{10, Any}"><code>MPI.API.MPI_Ialltoallw</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ialltoallw_c-NTuple{10, Any}"><code>MPI.API.MPI_Ialltoallw_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ibarrier-Tuple{Any, Any}"><code>MPI.API.MPI_Ibarrier</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ibcast-NTuple{6, Any}"><code>MPI.API.MPI_Ibcast</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ibcast_c-NTuple{6, Any}"><code>MPI.API.MPI_Ibcast_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ibsend-NTuple{7, Any}"><code>MPI.API.MPI_Ibsend</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ibsend_c-NTuple{7, Any}"><code>MPI.API.MPI_Ibsend_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Iexscan-NTuple{7, Any}"><code>MPI.API.MPI_Iexscan</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Iexscan_c-NTuple{7, Any}"><code>MPI.API.MPI_Iexscan_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Igather-NTuple{9, Any}"><code>MPI.API.MPI_Igather</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Igather_c-NTuple{9, Any}"><code>MPI.API.MPI_Igather_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Igatherv-NTuple{10, Any}"><code>MPI.API.MPI_Igatherv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Igatherv_c-NTuple{10, Any}"><code>MPI.API.MPI_Igatherv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Improbe-NTuple{6, Any}"><code>MPI.API.MPI_Improbe</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Imrecv-NTuple{5, Any}"><code>MPI.API.MPI_Imrecv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Imrecv_c-NTuple{5, Any}"><code>MPI.API.MPI_Imrecv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ineighbor_allgather-NTuple{8, Any}"><code>MPI.API.MPI_Ineighbor_allgather</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ineighbor_allgather_c-NTuple{8, Any}"><code>MPI.API.MPI_Ineighbor_allgather_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ineighbor_allgatherv-NTuple{9, Any}"><code>MPI.API.MPI_Ineighbor_allgatherv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ineighbor_allgatherv_c-NTuple{9, Any}"><code>MPI.API.MPI_Ineighbor_allgatherv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ineighbor_alltoall-NTuple{8, Any}"><code>MPI.API.MPI_Ineighbor_alltoall</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ineighbor_alltoall_c-NTuple{8, Any}"><code>MPI.API.MPI_Ineighbor_alltoall_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ineighbor_alltoallv-NTuple{10, Any}"><code>MPI.API.MPI_Ineighbor_alltoallv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ineighbor_alltoallv_c-NTuple{10, Any}"><code>MPI.API.MPI_Ineighbor_alltoallv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ineighbor_alltoallw-NTuple{10, Any}"><code>MPI.API.MPI_Ineighbor_alltoallw</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ineighbor_alltoallw_c-NTuple{10, Any}"><code>MPI.API.MPI_Ineighbor_alltoallw_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Info_create-Tuple{Any}"><code>MPI.API.MPI_Info_create</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Info_create_env-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Info_create_env</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Info_delete-Tuple{Any, Any}"><code>MPI.API.MPI_Info_delete</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Info_dup-Tuple{Any, Any}"><code>MPI.API.MPI_Info_dup</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Info_free-Tuple{Any}"><code>MPI.API.MPI_Info_free</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Info_get-NTuple{5, Any}"><code>MPI.API.MPI_Info_get</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Info_get_nkeys-Tuple{Any, Any}"><code>MPI.API.MPI_Info_get_nkeys</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Info_get_nthkey-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Info_get_nthkey</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Info_get_string-NTuple{5, Any}"><code>MPI.API.MPI_Info_get_string</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Info_get_valuelen-NTuple{4, Any}"><code>MPI.API.MPI_Info_get_valuelen</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Info_set-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Info_set</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Init-Tuple{Any, Any}"><code>MPI.API.MPI_Init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Init_thread-NTuple{4, Any}"><code>MPI.API.MPI_Init_thread</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Initialized-Tuple{Any}"><code>MPI.API.MPI_Initialized</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Intercomm_create-NTuple{6, Any}"><code>MPI.API.MPI_Intercomm_create</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Intercomm_create_from_groups-NTuple{8, Any}"><code>MPI.API.MPI_Intercomm_create_from_groups</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Intercomm_merge-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Intercomm_merge</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Iprobe-NTuple{5, Any}"><code>MPI.API.MPI_Iprobe</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Irecv-NTuple{7, Any}"><code>MPI.API.MPI_Irecv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Irecv_c-NTuple{7, Any}"><code>MPI.API.MPI_Irecv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ireduce-NTuple{8, Any}"><code>MPI.API.MPI_Ireduce</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ireduce_c-NTuple{8, Any}"><code>MPI.API.MPI_Ireduce_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ireduce_scatter-NTuple{7, Any}"><code>MPI.API.MPI_Ireduce_scatter</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ireduce_scatter_block-NTuple{7, Any}"><code>MPI.API.MPI_Ireduce_scatter_block</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ireduce_scatter_block_c-NTuple{7, Any}"><code>MPI.API.MPI_Ireduce_scatter_block_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ireduce_scatter_c-NTuple{7, Any}"><code>MPI.API.MPI_Ireduce_scatter_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Irsend-NTuple{7, Any}"><code>MPI.API.MPI_Irsend</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Irsend_c-NTuple{7, Any}"><code>MPI.API.MPI_Irsend_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Is_thread_main-Tuple{Any}"><code>MPI.API.MPI_Is_thread_main</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Iscan-NTuple{7, Any}"><code>MPI.API.MPI_Iscan</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Iscan_c-NTuple{7, Any}"><code>MPI.API.MPI_Iscan_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Iscatter-NTuple{9, Any}"><code>MPI.API.MPI_Iscatter</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Iscatter_c-NTuple{9, Any}"><code>MPI.API.MPI_Iscatter_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Iscatterv-NTuple{10, Any}"><code>MPI.API.MPI_Iscatterv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Iscatterv_c-NTuple{10, Any}"><code>MPI.API.MPI_Iscatterv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Isend-NTuple{7, Any}"><code>MPI.API.MPI_Isend</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Isend_c-NTuple{7, Any}"><code>MPI.API.MPI_Isend_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Isendrecv-NTuple{12, Any}"><code>MPI.API.MPI_Isendrecv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Isendrecv_c-NTuple{12, Any}"><code>MPI.API.MPI_Isendrecv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Isendrecv_replace-NTuple{9, Any}"><code>MPI.API.MPI_Isendrecv_replace</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Isendrecv_replace_c-NTuple{9, Any}"><code>MPI.API.MPI_Isendrecv_replace_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Issend-NTuple{7, Any}"><code>MPI.API.MPI_Issend</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Issend_c-NTuple{7, Any}"><code>MPI.API.MPI_Issend_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Keyval_create-NTuple{4, Any}"><code>MPI.API.MPI_Keyval_create</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Keyval_free-Tuple{Any}"><code>MPI.API.MPI_Keyval_free</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Lookup_name-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Lookup_name</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Mprobe-NTuple{5, Any}"><code>MPI.API.MPI_Mprobe</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Mrecv-NTuple{5, Any}"><code>MPI.API.MPI_Mrecv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Mrecv_c-NTuple{5, Any}"><code>MPI.API.MPI_Mrecv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_allgather-NTuple{7, Any}"><code>MPI.API.MPI_Neighbor_allgather</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_allgather_c-NTuple{7, Any}"><code>MPI.API.MPI_Neighbor_allgather_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_allgather_init-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_allgather_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_allgather_init_c-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_allgather_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_allgatherv-NTuple{8, Any}"><code>MPI.API.MPI_Neighbor_allgatherv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_allgatherv_c-NTuple{8, Any}"><code>MPI.API.MPI_Neighbor_allgatherv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_allgatherv_init-NTuple{10, Any}"><code>MPI.API.MPI_Neighbor_allgatherv_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_allgatherv_init_c-NTuple{10, Any}"><code>MPI.API.MPI_Neighbor_allgatherv_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_alltoall-NTuple{7, Any}"><code>MPI.API.MPI_Neighbor_alltoall</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_alltoall_c-NTuple{7, Any}"><code>MPI.API.MPI_Neighbor_alltoall_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_alltoall_init-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_alltoall_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_alltoall_init_c-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_alltoall_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_alltoallv-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_alltoallv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_alltoallv_c-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_alltoallv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_alltoallv_init-NTuple{11, Any}"><code>MPI.API.MPI_Neighbor_alltoallv_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_alltoallv_init_c-NTuple{11, Any}"><code>MPI.API.MPI_Neighbor_alltoallv_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_alltoallw-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_alltoallw</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_alltoallw_c-NTuple{9, Any}"><code>MPI.API.MPI_Neighbor_alltoallw_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_alltoallw_init-NTuple{11, Any}"><code>MPI.API.MPI_Neighbor_alltoallw_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Neighbor_alltoallw_init_c-NTuple{11, Any}"><code>MPI.API.MPI_Neighbor_alltoallw_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Op_commutative-Tuple{Any, Any}"><code>MPI.API.MPI_Op_commutative</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Op_create-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Op_create</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Op_create_c-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Op_create_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Op_free-Tuple{Any}"><code>MPI.API.MPI_Op_free</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Open_port-Tuple{Any, Any}"><code>MPI.API.MPI_Open_port</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Pack-NTuple{7, Any}"><code>MPI.API.MPI_Pack</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Pack_c-NTuple{7, Any}"><code>MPI.API.MPI_Pack_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Pack_external-NTuple{7, Any}"><code>MPI.API.MPI_Pack_external</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Pack_external_c-NTuple{7, Any}"><code>MPI.API.MPI_Pack_external_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Pack_external_size-NTuple{4, Any}"><code>MPI.API.MPI_Pack_external_size</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Pack_external_size_c-NTuple{4, Any}"><code>MPI.API.MPI_Pack_external_size_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Pack_size-NTuple{4, Any}"><code>MPI.API.MPI_Pack_size</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Pack_size_c-NTuple{4, Any}"><code>MPI.API.MPI_Pack_size_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Parrived-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Parrived</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Pready-Tuple{Any, Any}"><code>MPI.API.MPI_Pready</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Pready_list-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Pready_list</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Pready_range-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Pready_range</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Precv_init-NTuple{9, Any}"><code>MPI.API.MPI_Precv_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Probe-NTuple{4, Any}"><code>MPI.API.MPI_Probe</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Psend_init-NTuple{9, Any}"><code>MPI.API.MPI_Psend_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Publish_name-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Publish_name</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Put-NTuple{8, Any}"><code>MPI.API.MPI_Put</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Put_c-NTuple{8, Any}"><code>MPI.API.MPI_Put_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Query_thread-Tuple{Any}"><code>MPI.API.MPI_Query_thread</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Raccumulate-NTuple{10, Any}"><code>MPI.API.MPI_Raccumulate</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Raccumulate_c-NTuple{10, Any}"><code>MPI.API.MPI_Raccumulate_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Recv-NTuple{7, Any}"><code>MPI.API.MPI_Recv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Recv_c-NTuple{7, Any}"><code>MPI.API.MPI_Recv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Recv_init-NTuple{7, Any}"><code>MPI.API.MPI_Recv_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Recv_init_c-NTuple{7, Any}"><code>MPI.API.MPI_Recv_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Reduce-NTuple{7, Any}"><code>MPI.API.MPI_Reduce</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Reduce_c-NTuple{7, Any}"><code>MPI.API.MPI_Reduce_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Reduce_init-NTuple{9, Any}"><code>MPI.API.MPI_Reduce_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Reduce_init_c-NTuple{9, Any}"><code>MPI.API.MPI_Reduce_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Reduce_local-NTuple{5, Any}"><code>MPI.API.MPI_Reduce_local</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Reduce_local_c-NTuple{5, Any}"><code>MPI.API.MPI_Reduce_local_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Reduce_scatter-NTuple{6, Any}"><code>MPI.API.MPI_Reduce_scatter</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Reduce_scatter_block-NTuple{6, Any}"><code>MPI.API.MPI_Reduce_scatter_block</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Reduce_scatter_block_c-NTuple{6, Any}"><code>MPI.API.MPI_Reduce_scatter_block_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Reduce_scatter_block_init-NTuple{8, Any}"><code>MPI.API.MPI_Reduce_scatter_block_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Reduce_scatter_block_init_c-NTuple{8, Any}"><code>MPI.API.MPI_Reduce_scatter_block_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Reduce_scatter_c-NTuple{6, Any}"><code>MPI.API.MPI_Reduce_scatter_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Reduce_scatter_init-NTuple{8, Any}"><code>MPI.API.MPI_Reduce_scatter_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Reduce_scatter_init_c-NTuple{8, Any}"><code>MPI.API.MPI_Reduce_scatter_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Register_datarep-NTuple{5, Any}"><code>MPI.API.MPI_Register_datarep</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Register_datarep_c-NTuple{5, Any}"><code>MPI.API.MPI_Register_datarep_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Request_free-Tuple{Any}"><code>MPI.API.MPI_Request_free</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Request_get_status-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Request_get_status</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Rget-NTuple{9, Any}"><code>MPI.API.MPI_Rget</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Rget_accumulate-NTuple{13, Any}"><code>MPI.API.MPI_Rget_accumulate</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Rget_accumulate_c-NTuple{13, Any}"><code>MPI.API.MPI_Rget_accumulate_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Rget_c-NTuple{9, Any}"><code>MPI.API.MPI_Rget_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Rput-NTuple{9, Any}"><code>MPI.API.MPI_Rput</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Rput_c-NTuple{9, Any}"><code>MPI.API.MPI_Rput_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Rsend-NTuple{6, Any}"><code>MPI.API.MPI_Rsend</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Rsend_c-NTuple{6, Any}"><code>MPI.API.MPI_Rsend_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Rsend_init-NTuple{7, Any}"><code>MPI.API.MPI_Rsend_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Rsend_init_c-NTuple{7, Any}"><code>MPI.API.MPI_Rsend_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Scan-NTuple{6, Any}"><code>MPI.API.MPI_Scan</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Scan_c-NTuple{6, Any}"><code>MPI.API.MPI_Scan_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Scan_init-NTuple{8, Any}"><code>MPI.API.MPI_Scan_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Scan_init_c-NTuple{8, Any}"><code>MPI.API.MPI_Scan_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Scatter-NTuple{8, Any}"><code>MPI.API.MPI_Scatter</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Scatter_c-NTuple{8, Any}"><code>MPI.API.MPI_Scatter_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Scatter_init-NTuple{10, Any}"><code>MPI.API.MPI_Scatter_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Scatter_init_c-NTuple{10, Any}"><code>MPI.API.MPI_Scatter_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Scatterv-NTuple{9, Any}"><code>MPI.API.MPI_Scatterv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Scatterv_c-NTuple{9, Any}"><code>MPI.API.MPI_Scatterv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Scatterv_init-NTuple{11, Any}"><code>MPI.API.MPI_Scatterv_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Scatterv_init_c-NTuple{11, Any}"><code>MPI.API.MPI_Scatterv_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Send-NTuple{6, Any}"><code>MPI.API.MPI_Send</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Send_c-NTuple{6, Any}"><code>MPI.API.MPI_Send_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Send_init-NTuple{7, Any}"><code>MPI.API.MPI_Send_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Send_init_c-NTuple{7, Any}"><code>MPI.API.MPI_Send_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Sendrecv-NTuple{12, Any}"><code>MPI.API.MPI_Sendrecv</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Sendrecv_c-NTuple{12, Any}"><code>MPI.API.MPI_Sendrecv_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Sendrecv_replace-NTuple{9, Any}"><code>MPI.API.MPI_Sendrecv_replace</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Sendrecv_replace_c-NTuple{9, Any}"><code>MPI.API.MPI_Sendrecv_replace_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ssend-NTuple{6, Any}"><code>MPI.API.MPI_Ssend</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ssend_c-NTuple{6, Any}"><code>MPI.API.MPI_Ssend_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ssend_init-NTuple{7, Any}"><code>MPI.API.MPI_Ssend_init</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Ssend_init_c-NTuple{7, Any}"><code>MPI.API.MPI_Ssend_init_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Start-Tuple{Any}"><code>MPI.API.MPI_Start</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Startall-Tuple{Any, Any}"><code>MPI.API.MPI_Startall</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Status_c2f-Tuple{Any, Any}"><code>MPI.API.MPI_Status_c2f</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Status_f2c-Tuple{Any, Any}"><code>MPI.API.MPI_Status_f2c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Status_set_cancelled-Tuple{Any, Any}"><code>MPI.API.MPI_Status_set_cancelled</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Status_set_elements-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Status_set_elements</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Status_set_elements_x-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Status_set_elements_x</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Test-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Test</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Test_cancelled-Tuple{Any, Any}"><code>MPI.API.MPI_Test_cancelled</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Testall-NTuple{4, Any}"><code>MPI.API.MPI_Testall</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Testany-NTuple{5, Any}"><code>MPI.API.MPI_Testany</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Testsome-NTuple{5, Any}"><code>MPI.API.MPI_Testsome</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Topo_test-Tuple{Any, Any}"><code>MPI.API.MPI_Topo_test</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_commit-Tuple{Any}"><code>MPI.API.MPI_Type_commit</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_contiguous-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_contiguous</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_contiguous_c-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_contiguous_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_darray-NTuple{10, Any}"><code>MPI.API.MPI_Type_create_darray</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_darray_c-NTuple{10, Any}"><code>MPI.API.MPI_Type_create_darray_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_f90_complex-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_create_f90_complex</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_f90_integer-Tuple{Any, Any}"><code>MPI.API.MPI_Type_create_f90_integer</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_f90_real-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_create_f90_real</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_hindexed-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_hindexed</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_hindexed_block-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_hindexed_block</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_hindexed_block_c-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_hindexed_block_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_hindexed_c-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_hindexed_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_hvector-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_hvector</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_hvector_c-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_hvector_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_indexed_block-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_indexed_block</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_indexed_block_c-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_indexed_block_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_keyval-NTuple{4, Any}"><code>MPI.API.MPI_Type_create_keyval</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_resized-NTuple{4, Any}"><code>MPI.API.MPI_Type_create_resized</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_resized_c-NTuple{4, Any}"><code>MPI.API.MPI_Type_create_resized_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_struct-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_struct</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_struct_c-NTuple{5, Any}"><code>MPI.API.MPI_Type_create_struct_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_subarray-NTuple{7, Any}"><code>MPI.API.MPI_Type_create_subarray</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_create_subarray_c-NTuple{7, Any}"><code>MPI.API.MPI_Type_create_subarray_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_delete_attr-Tuple{Any, Any}"><code>MPI.API.MPI_Type_delete_attr</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_dup-Tuple{Any, Any}"><code>MPI.API.MPI_Type_dup</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_extent-Tuple{Any, Any}"><code>MPI.API.MPI_Type_extent</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_free-Tuple{Any}"><code>MPI.API.MPI_Type_free</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_free_keyval-Tuple{Any}"><code>MPI.API.MPI_Type_free_keyval</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_get_attr-NTuple{4, Any}"><code>MPI.API.MPI_Type_get_attr</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_get_contents-NTuple{7, Any}"><code>MPI.API.MPI_Type_get_contents</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_get_contents_c-NTuple{9, Any}"><code>MPI.API.MPI_Type_get_contents_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_get_envelope-NTuple{5, Any}"><code>MPI.API.MPI_Type_get_envelope</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_get_envelope_c-NTuple{6, Any}"><code>MPI.API.MPI_Type_get_envelope_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_get_extent-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_get_extent</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_get_extent_c-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_get_extent_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_get_extent_x-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_get_extent_x</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_get_name-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_get_name</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_get_true_extent-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_get_true_extent</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_get_true_extent_c-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_get_true_extent_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_get_true_extent_x-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_get_true_extent_x</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_hindexed-NTuple{5, Any}"><code>MPI.API.MPI_Type_hindexed</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_hvector-NTuple{5, Any}"><code>MPI.API.MPI_Type_hvector</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_indexed-NTuple{5, Any}"><code>MPI.API.MPI_Type_indexed</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_indexed_c-NTuple{5, Any}"><code>MPI.API.MPI_Type_indexed_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_lb-Tuple{Any, Any}"><code>MPI.API.MPI_Type_lb</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_match_size-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_match_size</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_set_attr-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Type_set_attr</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_set_name-Tuple{Any, Any}"><code>MPI.API.MPI_Type_set_name</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_size-Tuple{Any, Any}"><code>MPI.API.MPI_Type_size</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_size_c-Tuple{Any, Any}"><code>MPI.API.MPI_Type_size_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_size_x-Tuple{Any, Any}"><code>MPI.API.MPI_Type_size_x</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_struct-NTuple{5, Any}"><code>MPI.API.MPI_Type_struct</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_ub-Tuple{Any, Any}"><code>MPI.API.MPI_Type_ub</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_vector-NTuple{5, Any}"><code>MPI.API.MPI_Type_vector</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Type_vector_c-NTuple{5, Any}"><code>MPI.API.MPI_Type_vector_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Unpack-NTuple{7, Any}"><code>MPI.API.MPI_Unpack</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Unpack_c-NTuple{7, Any}"><code>MPI.API.MPI_Unpack_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Unpack_external-NTuple{7, Any}"><code>MPI.API.MPI_Unpack_external</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Unpack_external_c-NTuple{7, Any}"><code>MPI.API.MPI_Unpack_external_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Unpublish_name-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Unpublish_name</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Wait-Tuple{Any, Any}"><code>MPI.API.MPI_Wait</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Waitall-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Waitall</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Waitany-NTuple{4, Any}"><code>MPI.API.MPI_Waitany</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Waitsome-NTuple{5, Any}"><code>MPI.API.MPI_Waitsome</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_allocate-NTuple{6, Any}"><code>MPI.API.MPI_Win_allocate</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_allocate_c-NTuple{6, Any}"><code>MPI.API.MPI_Win_allocate_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_allocate_shared-NTuple{6, Any}"><code>MPI.API.MPI_Win_allocate_shared</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_allocate_shared_c-NTuple{6, Any}"><code>MPI.API.MPI_Win_allocate_shared_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_attach-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Win_attach</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_call_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Win_call_errhandler</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_complete-Tuple{Any}"><code>MPI.API.MPI_Win_complete</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_create-NTuple{6, Any}"><code>MPI.API.MPI_Win_create</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_create_c-NTuple{6, Any}"><code>MPI.API.MPI_Win_create_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_create_dynamic-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Win_create_dynamic</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_create_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Win_create_errhandler</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_create_keyval-NTuple{4, Any}"><code>MPI.API.MPI_Win_create_keyval</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_delete_attr-Tuple{Any, Any}"><code>MPI.API.MPI_Win_delete_attr</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_detach-Tuple{Any, Any}"><code>MPI.API.MPI_Win_detach</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_fence-Tuple{Any, Any}"><code>MPI.API.MPI_Win_fence</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_flush-Tuple{Any, Any}"><code>MPI.API.MPI_Win_flush</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_flush_all-Tuple{Any}"><code>MPI.API.MPI_Win_flush_all</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_flush_local-Tuple{Any, Any}"><code>MPI.API.MPI_Win_flush_local</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_flush_local_all-Tuple{Any}"><code>MPI.API.MPI_Win_flush_local_all</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_free-Tuple{Any}"><code>MPI.API.MPI_Win_free</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_free_keyval-Tuple{Any}"><code>MPI.API.MPI_Win_free_keyval</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_get_attr-NTuple{4, Any}"><code>MPI.API.MPI_Win_get_attr</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_get_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Win_get_errhandler</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_get_group-Tuple{Any, Any}"><code>MPI.API.MPI_Win_get_group</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_get_info-Tuple{Any, Any}"><code>MPI.API.MPI_Win_get_info</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_get_name-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Win_get_name</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_lock-NTuple{4, Any}"><code>MPI.API.MPI_Win_lock</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_lock_all-Tuple{Any, Any}"><code>MPI.API.MPI_Win_lock_all</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_post-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Win_post</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_set_attr-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Win_set_attr</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_set_errhandler-Tuple{Any, Any}"><code>MPI.API.MPI_Win_set_errhandler</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_set_info-Tuple{Any, Any}"><code>MPI.API.MPI_Win_set_info</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_set_name-Tuple{Any, Any}"><code>MPI.API.MPI_Win_set_name</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_shared_query-NTuple{5, Any}"><code>MPI.API.MPI_Win_shared_query</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_shared_query_c-NTuple{5, Any}"><code>MPI.API.MPI_Win_shared_query_c</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_start-Tuple{Any, Any, Any}"><code>MPI.API.MPI_Win_start</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_sync-Tuple{Any}"><code>MPI.API.MPI_Win_sync</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_test-Tuple{Any, Any}"><code>MPI.API.MPI_Win_test</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_unlock-Tuple{Any, Any}"><code>MPI.API.MPI_Win_unlock</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_unlock_all-Tuple{Any}"><code>MPI.API.MPI_Win_unlock_all</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Win_wait-Tuple{Any}"><code>MPI.API.MPI_Win_wait</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Wtick-Tuple{}"><code>MPI.API.MPI_Wtick</code></a></li><li><a href="../reference/api/#MPI.API.MPI_Wtime-Tuple{}"><code>MPI.API.MPI_Wtime</code></a></li><li><a href="../reference/environment/#MPI.Abort"><code>MPI.Abort</code></a></li><li><a href="../reference/onesided/#MPI.Accumulate!"><code>MPI.Accumulate!</code></a></li><li><a href="../reference/collective/#MPI.Allgather"><code>MPI.Allgather</code></a></li><li><a href="../reference/collective/#MPI.Allgather!"><code>MPI.Allgather!</code></a></li><li><a href="../reference/collective/#MPI.Allgatherv!"><code>MPI.Allgatherv!</code></a></li><li><a href="../reference/collective/#MPI.Allreduce"><code>MPI.Allreduce</code></a></li><li><a href="../reference/collective/#MPI.Allreduce!"><code>MPI.Allreduce!</code></a></li><li><a href="../reference/collective/#MPI.Alltoall"><code>MPI.Alltoall</code></a></li><li><a href="../reference/collective/#MPI.Alltoall!"><code>MPI.Alltoall!</code></a></li><li><a href="../reference/collective/#MPI.Alltoallv!"><code>MPI.Alltoallv!</code></a></li><li><a href="../reference/collective/#MPI.Barrier"><code>MPI.Barrier</code></a></li><li><a href="../reference/collective/#MPI.Bcast"><code>MPI.Bcast</code></a></li><li><a href="../reference/collective/#MPI.Bcast!"><code>MPI.Bcast!</code></a></li><li><a href="../reference/buffers/#MPI.Buffer_send"><code>MPI.Buffer_send</code></a></li><li><a href="../reference/pointtopoint/#MPI.Cancel!"><code>MPI.Cancel!</code></a></li><li><a href="../reference/topology/#MPI.Cart_coords"><code>MPI.Cart_coords</code></a></li><li><a href="../reference/topology/#MPI.Cart_create"><code>MPI.Cart_create</code></a></li><li><a href="../reference/topology/#MPI.Cart_get"><code>MPI.Cart_get</code></a></li><li><a href="../reference/topology/#MPI.Cart_rank"><code>MPI.Cart_rank</code></a></li><li><a href="../reference/topology/#MPI.Cart_shift"><code>MPI.Cart_shift</code></a></li><li><a href="../reference/topology/#MPI.Cart_sub"><code>MPI.Cart_sub</code></a></li><li><a href="../reference/topology/#MPI.Cartdim_get"><code>MPI.Cartdim_get</code></a></li><li><a href="../reference/comm/#MPI.Comm_compare"><code>MPI.Comm_compare</code></a></li><li><a href="../reference/comm/#MPI.Comm_create"><code>MPI.Comm_create</code></a></li><li><a href="../reference/comm/#MPI.Comm_create_group"><code>MPI.Comm_create_group</code></a></li><li><a href="../reference/comm/#MPI.Comm_dup"><code>MPI.Comm_dup</code></a></li><li><a href="../reference/comm/#MPI.Comm_get_parent"><code>MPI.Comm_get_parent</code></a></li><li><a href="../reference/comm/#MPI.Comm_group"><code>MPI.Comm_group</code></a></li><li><a href="../reference/comm/#MPI.Comm_rank"><code>MPI.Comm_rank</code></a></li><li><a href="../reference/comm/#MPI.Comm_remote_group"><code>MPI.Comm_remote_group</code></a></li><li><a href="../reference/comm/#MPI.Comm_size"><code>MPI.Comm_size</code></a></li><li><a href="../reference/comm/#MPI.Comm_spawn"><code>MPI.Comm_spawn</code></a></li><li><a href="../reference/comm/#MPI.Comm_split"><code>MPI.Comm_split</code></a></li><li><a href="../reference/comm/#MPI.Comm_split_type"><code>MPI.Comm_split_type</code></a></li><li><a href="../reference/topology/#MPI.Dims_create"><code>MPI.Dims_create</code></a></li><li><a href="../reference/topology/#MPI.Dist_graph_create"><code>MPI.Dist_graph_create</code></a></li><li><a href="../reference/topology/#MPI.Dist_graph_create_adjacent"><code>MPI.Dist_graph_create_adjacent</code></a></li><li><a href="../reference/topology/#MPI.Dist_graph_neighbors"><code>MPI.Dist_graph_neighbors</code></a></li><li><a href="../reference/topology/#MPI.Dist_graph_neighbors!"><code>MPI.Dist_graph_neighbors!</code></a></li><li><a href="../reference/topology/#MPI.Dist_graph_neighbors_count"><code>MPI.Dist_graph_neighbors_count</code></a></li><li><a href="../reference/collective/#MPI.Exscan"><code>MPI.Exscan</code></a></li><li><a href="../reference/collective/#MPI.Exscan!"><code>MPI.Exscan!</code></a></li><li><a href="../reference/io/#MPI.File.get_atomicity"><code>MPI.File.get_atomicity</code></a></li><li><a href="../reference/io/#MPI.File.get_byte_offset"><code>MPI.File.get_byte_offset</code></a></li><li><a href="../reference/io/#MPI.File.get_position_shared"><code>MPI.File.get_position_shared</code></a></li><li><a href="../reference/io/#MPI.File.open"><code>MPI.File.open</code></a></li><li><a href="../reference/io/#MPI.File.read!"><code>MPI.File.read!</code></a></li><li><a href="../reference/io/#MPI.File.read_all!"><code>MPI.File.read_all!</code></a></li><li><a href="../reference/io/#MPI.File.read_at!"><code>MPI.File.read_at!</code></a></li><li><a href="../reference/io/#MPI.File.read_at_all!"><code>MPI.File.read_at_all!</code></a></li><li><a href="../reference/io/#MPI.File.read_ordered!"><code>MPI.File.read_ordered!</code></a></li><li><a href="../reference/io/#MPI.File.read_shared!"><code>MPI.File.read_shared!</code></a></li><li><a href="../reference/io/#MPI.File.seek_shared"><code>MPI.File.seek_shared</code></a></li><li><a href="../reference/io/#MPI.File.set_atomicity"><code>MPI.File.set_atomicity</code></a></li><li><a href="../reference/io/#MPI.File.set_view!"><code>MPI.File.set_view!</code></a></li><li><a href="../reference/io/#MPI.File.sync"><code>MPI.File.sync</code></a></li><li><a href="../reference/io/#MPI.File.write"><code>MPI.File.write</code></a></li><li><a href="../reference/io/#MPI.File.write_all"><code>MPI.File.write_all</code></a></li><li><a href="../reference/io/#MPI.File.write_at"><code>MPI.File.write_at</code></a></li><li><a href="../reference/io/#MPI.File.write_at_all"><code>MPI.File.write_at_all</code></a></li><li><a href="../reference/io/#MPI.File.write_ordered"><code>MPI.File.write_ordered</code></a></li><li><a href="../reference/io/#MPI.File.write_shared"><code>MPI.File.write_shared</code></a></li><li><a href="../reference/environment/#MPI.Finalize"><code>MPI.Finalize</code></a></li><li><a href="../reference/environment/#MPI.Finalized"><code>MPI.Finalized</code></a></li><li><a href="../reference/collective/#MPI.Gather"><code>MPI.Gather</code></a></li><li><a href="../reference/collective/#MPI.Gather!"><code>MPI.Gather!</code></a></li><li><a href="../reference/collective/#MPI.Gatherv!"><code>MPI.Gatherv!</code></a></li><li><a href="../reference/onesided/#MPI.Get!"><code>MPI.Get!</code></a></li><li><a href="../reference/onesided/#MPI.Get_accumulate!"><code>MPI.Get_accumulate!</code></a></li><li><a href="../reference/pointtopoint/#MPI.Get_count"><code>MPI.Get_count</code></a></li><li><a href="../reference/misc/#MPI.Get_processor_name"><code>MPI.Get_processor_name</code></a></li><li><a href="../reference/group/#MPI.Group_rank"><code>MPI.Group_rank</code></a></li><li><a href="../reference/group/#MPI.Group_size"><code>MPI.Group_size</code></a></li><li><a href="../reference/collective/#MPI.Ibarrier"><code>MPI.Ibarrier</code></a></li><li><a href="../reference/pointtopoint/#MPI.Improbe"><code>MPI.Improbe</code></a></li><li><a href="../reference/pointtopoint/#MPI.Imrecv!"><code>MPI.Imrecv!</code></a></li><li><a href="../reference/environment/#MPI.Init"><code>MPI.Init</code></a></li><li><a href="../reference/environment/#MPI.Initialized"><code>MPI.Initialized</code></a></li><li><a href="../reference/comm/#MPI.Intercomm_merge"><code>MPI.Intercomm_merge</code></a></li><li><a href="../reference/pointtopoint/#MPI.Iprobe"><code>MPI.Iprobe</code></a></li><li><a href="../reference/pointtopoint/#MPI.Irecv!"><code>MPI.Irecv!</code></a></li><li><a href="../reference/environment/#MPI.Is_thread_main"><code>MPI.Is_thread_main</code></a></li><li><a href="../reference/pointtopoint/#MPI.Isend"><code>MPI.Isend</code></a></li><li><a href="../reference/pointtopoint/#MPI.Mprobe"><code>MPI.Mprobe</code></a></li><li><a href="../reference/pointtopoint/#MPI.Mrecv!"><code>MPI.Mrecv!</code></a></li><li><a href="../reference/collective/#MPI.Neighbor_allgather!"><code>MPI.Neighbor_allgather!</code></a></li><li><a href="../reference/collective/#MPI.Neighbor_allgatherv!"><code>MPI.Neighbor_allgatherv!</code></a></li><li><a href="../reference/collective/#MPI.Neighbor_alltoall!"><code>MPI.Neighbor_alltoall!</code></a></li><li><a href="../reference/collective/#MPI.Neighbor_alltoallv!"><code>MPI.Neighbor_alltoallv!</code></a></li><li><a href="../reference/pointtopoint/#MPI.Probe"><code>MPI.Probe</code></a></li><li><a href="../reference/onesided/#MPI.Put!"><code>MPI.Put!</code></a></li><li><a href="../reference/environment/#MPI.Query_thread"><code>MPI.Query_thread</code></a></li><li><a href="../reference/pointtopoint/#MPI.Recv"><code>MPI.Recv</code></a></li><li><a href="../reference/pointtopoint/#MPI.Recv!"><code>MPI.Recv!</code></a></li><li><a href="../reference/pointtopoint/#MPI.Recv_init"><code>MPI.Recv_init</code></a></li><li><a href="../reference/collective/#MPI.Reduce"><code>MPI.Reduce</code></a></li><li><a href="../reference/collective/#MPI.Reduce!"><code>MPI.Reduce!</code></a></li><li><a href="../reference/collective/#MPI.Scan"><code>MPI.Scan</code></a></li><li><a href="../reference/collective/#MPI.Scan!"><code>MPI.Scan!</code></a></li><li><a href="../reference/collective/#MPI.Scatter"><code>MPI.Scatter</code></a></li><li><a href="../reference/collective/#MPI.Scatter!"><code>MPI.Scatter!</code></a></li><li><a href="../reference/collective/#MPI.Scatterv!"><code>MPI.Scatterv!</code></a></li><li><a href="../reference/pointtopoint/#MPI.Send"><code>MPI.Send</code></a></li><li><a href="../reference/pointtopoint/#MPI.Send_init"><code>MPI.Send_init</code></a></li><li><a href="../reference/pointtopoint/#MPI.Sendrecv!"><code>MPI.Sendrecv!</code></a></li><li><a href="../reference/pointtopoint/#MPI.Start"><code>MPI.Start</code></a></li><li><a href="../reference/pointtopoint/#MPI.Startall"><code>MPI.Startall</code></a></li><li><a href="../reference/pointtopoint/#MPI.Test"><code>MPI.Test</code></a></li><li><a href="../reference/pointtopoint/#MPI.Testall"><code>MPI.Testall</code></a></li><li><a href="../reference/pointtopoint/#MPI.Testany"><code>MPI.Testany</code></a></li><li><a href="../reference/pointtopoint/#MPI.Testsome"><code>MPI.Testsome</code></a></li><li><a href="../reference/advanced/#MPI.Types.commit!"><code>MPI.Types.commit!</code></a></li><li><a href="../reference/advanced/#MPI.Types.create_contiguous"><code>MPI.Types.create_contiguous</code></a></li><li><a href="../reference/advanced/#MPI.Types.create_hvector"><code>MPI.Types.create_hvector</code></a></li><li><a href="../reference/advanced/#MPI.Types.create_resized"><code>MPI.Types.create_resized</code></a></li><li><a href="../reference/advanced/#MPI.Types.create_struct"><code>MPI.Types.create_struct</code></a></li><li><a href="../reference/advanced/#MPI.Types.create_subarray"><code>MPI.Types.create_subarray</code></a></li><li><a href="../reference/advanced/#MPI.Types.create_vector"><code>MPI.Types.create_vector</code></a></li><li><a href="../reference/advanced/#MPI.Types.duplicate"><code>MPI.Types.duplicate</code></a></li><li><a href="../reference/advanced/#MPI.Types.extent"><code>MPI.Types.extent</code></a></li><li><a href="../reference/pointtopoint/#MPI.Wait"><code>MPI.Wait</code></a></li><li><a href="../reference/pointtopoint/#MPI.Waitall"><code>MPI.Waitall</code></a></li><li><a href="../reference/pointtopoint/#MPI.Waitany"><code>MPI.Waitany</code></a></li><li><a href="../reference/pointtopoint/#MPI.Waitsome"><code>MPI.Waitsome</code></a></li><li><a href="../reference/onesided/#MPI.Win_allocate_shared"><code>MPI.Win_allocate_shared</code></a></li><li><a href="../reference/onesided/#MPI.Win_create"><code>MPI.Win_create</code></a></li><li><a href="../reference/onesided/#MPI.Win_create_dynamic"><code>MPI.Win_create_dynamic</code></a></li><li><a href="../reference/onesided/#MPI.Win_flush"><code>MPI.Win_flush</code></a></li><li><a href="../reference/onesided/#MPI.Win_lock"><code>MPI.Win_lock</code></a></li><li><a href="../reference/onesided/#MPI.Win_shared_query"><code>MPI.Win_shared_query</code></a></li><li><a href="../reference/onesided/#MPI.Win_unlock"><code>MPI.Win_unlock</code></a></li><li><a href="../reference/environment/#MPI.add_finalize_hook!"><code>MPI.add_finalize_hook!</code></a></li><li><a href="../reference/environment/#MPI.add_init_hook!"><code>MPI.add_init_hook!</code></a></li><li><a href="../reference/collective/#MPI.bcast"><code>MPI.bcast</code></a></li><li><a href="../reference/advanced/#MPI.free"><code>MPI.free</code></a></li><li><a href="../reference/advanced/#MPI.get_errorhandler"><code>MPI.get_errorhandler</code></a></li><li><a href="../reference/library/#MPI.has_cuda"><code>MPI.has_cuda</code></a></li><li><a href="../reference/library/#MPI.identify_implementation"><code>MPI.identify_implementation</code></a></li><li><a href="../reference/advanced/#MPI.infoval"><code>MPI.infoval</code></a></li><li><a href="../reference/environment/#MPI.install_mpiexecjl"><code>MPI.install_mpiexecjl</code></a></li><li><a href="../reference/pointtopoint/#MPI.isend"><code>MPI.isend</code></a></li><li><a href="../reference/pointtopoint/#MPI.isnull"><code>MPI.isnull</code></a></li><li><a href="../reference/pointtopoint/#MPI.recv"><code>MPI.recv</code></a></li><li><a href="../reference/pointtopoint/#MPI.send"><code>MPI.send</code></a></li><li><a href="../reference/advanced/#MPI.set_errorhandler!"><code>MPI.set_errorhandler!</code></a></li><li><a href="../reference/comm/#MPI.tag_ub"><code>MPI.tag_ub</code></a></li><li><a href="../reference/advanced/#MPI.to_type"><code>MPI.to_type</code></a></li><li><a href="../reference/comm/#MPI.universe_size"><code>MPI.universe_size</code></a></li><li><a href="../reference/library/#MPI.versioninfo"><code>MPI.versioninfo</code></a></li><li><a href="../reference/environment/#MPICH_jll.mpiexec"><code>MPICH_jll.mpiexec</code></a></li><li><a href="../reference/mpipreferences/#MPIPreferences.check_unchanged"><code>MPIPreferences.check_unchanged</code></a></li><li><a href="../reference/mpipreferences/#MPIPreferences.identify_abi"><code>MPIPreferences.identify_abi</code></a></li><li><a href="../reference/mpipreferences/#MPIPreferences.use_jll_binary"><code>MPIPreferences.use_jll_binary</code></a></li><li><a href="../reference/mpipreferences/#MPIPreferences.use_system_binary"><code>MPIPreferences.use_system_binary</code></a></li><li><a href="../reference/advanced/#MPI.API.@const_ref"><code>MPI.API.@const_ref</code></a></li></ul></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../reference/api/">« Low-level API</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Sunday 16 July 2023 20:17">Sunday 16 July 2023</span>. Using Julia version 1.9.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/previews/PR747/search/index.html b/previews/PR747/search/index.html
deleted file mode 100644
index d96a0aa5d..000000000
--- a/previews/PR747/search/index.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Search · MPI.jl</title><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../"><img src="../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../">MPI.jl</a></span></div><form class="docs-search" action><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../">MPI.jl</a></li><li><a class="tocitem" href="../configuration/">Configuration</a></li><li><a class="tocitem" href="../usage/">Usage</a></li><li><a class="tocitem" href="../external/">External libraries and packages</a></li><li><a class="tocitem" href="../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../reference/library/">Library information</a></li><li><a class="tocitem" href="../reference/environment/">Environment</a></li><li><a class="tocitem" href="../reference/misc/">Miscellanea</a></li><li><a class="tocitem" href="../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../reference/topology/">Topology</a></li><li><a class="tocitem" href="../reference/io/">I/O</a></li><li><a class="tocitem" href="../reference/advanced/">Advanced</a></li><li><a class="tocitem" href="../reference/api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>Search</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Search</a></li></ul></nav><div class="docs-right"><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article><p id="documenter-search-info">Loading search...</p><ul id="documenter-search-results"></ul></article><nav class="docs-footer"><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Sunday 16 July 2023 20:17">Sunday 16 July 2023</span>. Using Julia version 1.9.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body><script src="../search_index.js"></script><script src="../assets/search.js"></script></html>
diff --git a/previews/PR747/search_index.js b/previews/PR747/search_index.js
deleted file mode 100644
index 93373ad93..000000000
--- a/previews/PR747/search_index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-var documenterSearchIndex = {"docs":
-[{"location":"examples/07-rma_active/","page":"Active RMA","title":"Active RMA","text":"EditURL = \"https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/07-rma_active.jl\"","category":"page"},{"location":"examples/07-rma_active/#Active-RMA","page":"Active RMA","title":"Active RMA","text":"","category":"section"},{"location":"examples/07-rma_active/","page":"Active RMA","title":"Active RMA","text":"# examples/07-rma_active.jl\n# This example demonstrates one-sided communication,\n# specifically activate Remote Memory Access (RMA)\n\nusing MPI\n\nMPI.Init()\nconst world_sz = MPI.Comm_size(MPI.COMM_WORLD)\nconst rank = MPI.Comm_rank(MPI.COMM_WORLD)\n\n# allocate memory\nall_ranks = fill(-1, world_sz)\n# create RMA window on all ranks\nwin = MPI.Win_create(all_ranks, MPI.COMM_WORLD)\n\n#### first, let's MPI.Put on all ranks\n\n# start the communication epoch\nMPI.Win_fence(0, win)\n# each rank writes to exposed windows of rank 0\n# Signature: obj, target_rank, target_displacement, window\nMPI.Put(rank, 0, rank, win)\n# finish the communication epoch\nMPI.Win_fence(0, win)\n# print window content on all ranks\nfor j in 0:world_sz-1\n    if rank == j\n        println(\"After Put, Rank $rank:\")\n        @show all_ranks\n    end\n    MPI.Barrier(MPI.COMM_WORLD)\nend\nrank == 0 && println()\n\n#### now, let's MPI.Get on all ranks\n\n# start the communication epoch\nMPI.Win_fence(0, win)\n# each rank reads from exposed windows of rank 0\nMPI.Get(all_ranks, 0, win)\n# finish the communication epoch\nMPI.Win_fence(0, win)\n# print window content on all ranks\nfor j in 0:world_sz-1\n    if rank == j\n        println(\"After Get, Rank $rank:\")\n        @show all_ranks\n    end\n    MPI.Barrier(MPI.COMM_WORLD)\nend\n\n# free window\nMPI.free(win)","category":"page"},{"location":"examples/07-rma_active/","page":"Active RMA","title":"Active RMA","text":"> mpiexecjl -n 4 julia examples/07-rma_active.jl\nAfter Put, Rank 0:\nall_ranks = [0, 1, 2, 3]\nAfter Put, Rank 1:\nall_ranks = [-1, -1, -1, -1]\nAfter Put, Rank 2:\nall_ranks = [-1, -1, -1, -1]\nAfter Put, Rank 3:\nall_ranks = [-1, -1, -1, -1]\n\nAfter Get, Rank 0:\nall_ranks = [0, 1, 2, 3]\nAfter Get, Rank 1:\nall_ranks = [0, 1, 2, 3]\nAfter Get, Rank 2:\nall_ranks = [0, 1, 2, 3]\nAfter Get, Rank 3:\nall_ranks = [0, 1, 2, 3]","category":"page"},{"location":"examples/08-rma_passive/","page":"Passive RMA","title":"Passive RMA","text":"EditURL = \"https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/08-rma_passive.jl\"","category":"page"},{"location":"examples/08-rma_passive/#Passive-RMA","page":"Passive RMA","title":"Passive RMA","text":"","category":"section"},{"location":"examples/08-rma_passive/","page":"Passive RMA","title":"Passive RMA","text":"# examples/08-rma_passive.jl\n# This example demonstrates one-sided communication,\n# specifically passive Remote Memory Access (RMA)\n\nusing MPI\n\nMPI.Init()\nconst world_sz = MPI.Comm_size(MPI.COMM_WORLD)\nconst rank = MPI.Comm_rank(MPI.COMM_WORLD)\n\n# allocate memory\nall_ranks = fill(-1, world_sz)\n# create RMA window on all ranks\nwin = MPI.Win_create(all_ranks, MPI.COMM_WORLD)\n\n# let each rank write its rank number into window\nif rank != 0\n    # lock window (MPI.LOCK_SHARED works as well)\n    MPI.Win_lock(MPI.LOCK_EXCLUSIVE, 0, 0, win)\n    # each rank writes to exposed windows of rank 0\n    # Signature: obj, target_rank, target_displacement, window\n    MPI.Put(rank, 0, rank, win)\n    # finish the communication epoch\n    MPI.Win_unlock(0, win)\nelse\n    all_ranks[1] = 0\nend\n\n# wait with printing\nMPI.Win_fence(0, win)\n\n# print window content on all ranks\nif rank == 0\n    println(\"After Put with lock / unlock, window content on rank 0:\")\n    @show all_ranks\nend\n\n# free window\nMPI.free(win)","category":"page"},{"location":"examples/08-rma_passive/","page":"Passive RMA","title":"Passive RMA","text":"> mpiexecjl -n 4 julia examples/08-rma_passive.jl\nAfter Put with lock / unlock, window content on rank 0:\nall_ranks = [0, 1, 2, 3]","category":"page"},{"location":"examples/04-sendrecv/","page":"Send/receive","title":"Send/receive","text":"EditURL = \"https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/04-sendrecv.jl\"","category":"page"},{"location":"examples/04-sendrecv/#Send/receive","page":"Send/receive","title":"Send/receive","text":"","category":"section"},{"location":"examples/04-sendrecv/","page":"Send/receive","title":"Send/receive","text":"# examples/04-sendrecv.jl\nusing MPI\nMPI.Init()\n\ncomm = MPI.COMM_WORLD\nrank = MPI.Comm_rank(comm)\nsize = MPI.Comm_size(comm)\n\ndst = mod(rank+1, size)\nsrc = mod(rank-1, size)\n\nN = 4\n\nsend_mesg = Array{Float64}(undef, N)\nrecv_mesg = Array{Float64}(undef, N)\n\nfill!(send_mesg, Float64(rank))\n\nrreq = MPI.Irecv!(recv_mesg, comm; source=src, tag=src+32)\n\nprint(\"$rank: Sending   $rank -> $dst = $send_mesg\\n\")\nsreq = MPI.Isend(send_mesg, comm; dest=dst, tag=rank+32)\n\nstats = MPI.Waitall([rreq, sreq])\n\nprint(\"$rank: Received $src -> $rank = $recv_mesg\\n\")\n\nMPI.Barrier(comm)","category":"page"},{"location":"examples/04-sendrecv/","page":"Send/receive","title":"Send/receive","text":"> mpiexecjl -n 4 julia examples/04-sendrecv.jl\n1: Sending   1 -> 2 = [1.0, 1.0, 1.0, 1.0]\n3: Sending   3 -> 0 = [3.0, 3.0, 3.0, 3.0]\n0: Sending   0 -> 1 = [0.0, 0.0, 0.0, 0.0]\n2: Sending   2 -> 3 = [2.0, 2.0, 2.0, 2.0]\n2: Received 1 -> 2 = [1.0, 1.0, 1.0, 1.0]\n0: Received 3 -> 0 = [3.0, 3.0, 3.0, 3.0]\n3: Received 2 -> 3 = [2.0, 2.0, 2.0, 2.0]\n1: Received 0 -> 1 = [0.0, 0.0, 0.0, 0.0]","category":"page"},{"location":"examples/09-graph_communication/","page":"Graph Communication","title":"Graph Communication","text":"EditURL = \"https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/09-graph_communication.jl\"","category":"page"},{"location":"examples/09-graph_communication/#Graph-Communication","page":"Graph Communication","title":"Graph Communication","text":"","category":"section"},{"location":"examples/09-graph_communication/","page":"Graph Communication","title":"Graph Communication","text":"# examples/09-graph_communication.jl\nusing Test\nusing MPI\n\nMPI.Init()\n\ncomm = MPI.COMM_WORLD\nsize = MPI.Comm_size(comm)\nrank = MPI.Comm_rank(comm)\n\n#\n# Setup the following communication graph\n#\n#   +-----+\n#   |     |\n#   v     v\n#   0<-+  3\n#   ^  |  ^\n#   |  |  |\n#   v  |  v\n#   1  +--2\n#   ^     |\n#   |     |\n#   +-----+\n#\n#\n\nif rank == 0\n    dest   = Cint[1,3]\n    degree = Cint[length(dest)]\nelseif rank == 1\n    dest   = Cint[0]\n    degree = Cint[length(dest)]\nelseif rank == 2\n    dest   = Cint[3,0,1]\n    degree = Cint[length(dest)]\nelseif rank == 3\n    dest   = Cint[0,2,1]\n    degree = Cint[length(dest)]\nend\n\nsource = Cint[rank]\ngraph_comm = MPI.Dist_graph_create(comm, source, degree, dest)\n\n# Query number of ranks that point to this rank, and number of ranks this rank point to\nindegree, outdegree, _ = MPI.Dist_graph_neighbors_count(graph_comm)\n\n# Query which ranks that point to this rank, and which ranks this rank point to\ninranks = Vector{Cint}(undef, indegree)\noutranks = Vector{Cint}(undef, outdegree)\nMPI.Dist_graph_neighbors!(graph_comm, inranks, outranks)\n\n#\n# Now send the rank across the edges.\n#\n# Version 1: use allgather primitive\n#\n\nsend = Cint[rank]\nrecv = Vector{Cint}(undef, indegree)\n\nMPI.Neighbor_allgather!(send, recv, graph_comm);\n\nprint(\"rank = $(rank): $(recv)\\n\")\n\n#\n# Version 2: use alltoall primitive\n#\n\nsend = fill(Cint(rank), outdegree)\nrecv = Vector{Cint}(undef, indegree)\n\nMPI.Neighbor_alltoall!(UBuffer(send,1), UBuffer(recv,1), graph_comm);\n\nprint(\"rank = $(rank): $(recv)\\n\")\n\n#\n# Now send the this rank \"destination rank\"+1 times across the edges.\n# Rank i receives i+1 values from each adjacent process\n#\n\nsend_count = outranks .+ Cint(1)\nsend = fill(Cint(rank), sum(send_count))\nrecv_count = fill(Cint(rank + 1), length(inranks))\nrecv = Vector{Cint}(undef, sum(recv_count))\n\nMPI.Neighbor_alltoallv!(VBuffer(send,send_count), VBuffer(recv,recv_count), graph_comm);\nprint(\"rank = $(rank): $(recv)\\n\")\n\nMPI.Finalize()","category":"page"},{"location":"examples/09-graph_communication/","page":"Graph Communication","title":"Graph Communication","text":"> mpiexecjl -n 4 julia examples/09-graph_communication.jl\nrank = 2: Int32[3]\nrank = 1: Int32[2, 3, 0]\nrank = 3: Int32[2, 0]\nrank = 0: Int32[3, 1, 2]\nrank = 2: Int32[3]\nrank = 3: Int32[2, 0]\nrank = 0: Int32[3, 1, 2]\nrank = 1: Int32[2, 3, 0]\nrank = 2: Int32[3, 3, 3]\nrank = 1: Int32[2, 2, 3, 3, 0, 0]\nrank = 0: Int32[3, 1, 2]\nrank = 3: Int32[2, 2, 2, 2, 0, 0, 0, 0]","category":"page"},{"location":"knownissues/#Known-issues","page":"Known issues","title":"Known issues","text":"","category":"section"},{"location":"knownissues/#Julia-module-precompilation","page":"Known issues","title":"Julia module precompilation","text":"","category":"section"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"If multiple MPI ranks trigger Julia's module precompilation, then a race condition can result in an error such as:","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"ERROR: LoadError: IOError: mkdir: file already exists (EEXIST)\nStacktrace:\n [1] uv_error at ./libuv.jl:97 [inlined]\n [2] mkdir(::String; mode::UInt16) at ./file.jl:177\n [3] mkpath(::String; mode::UInt16) at ./file.jl:227\n [4] mkpath at ./file.jl:222 [inlined]\n [5] compilecache_path(::Base.PkgId) at ./loading.jl:1210\n [6] compilecache(::Base.PkgId, ::String) at ./loading.jl:1240\n [7] _require(::Base.PkgId) at ./loading.jl:1029\n [8] require(::Base.PkgId) at ./loading.jl:927\n [9] require(::Module, ::Symbol) at ./loading.jl:922\n [10] include(::Module, ::String) at ./Base.jl:377\n [11] exec_options(::Base.JLOptions) at ./client.jl:288\n [12] _start() at ./client.jl:484","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"See julia issue #30174 for more discussion of this problem. There are similar issues with Pkg operations, see Pkg issue #1219.","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"This can be worked around be either:","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"Triggering precompilation before launching MPI processes, for example:\njulia --project -e 'using Pkg; pkg\"instantiate\"'\njulia --project -e 'using Pkg; pkg\"precompile\"'\nmpiexec julia --project script.jl\nLaunching julia with the  --compiled-modules=no option. This can result in much longer package load times.","category":"page"},{"location":"knownissues/#Open-MPI","page":"Known issues","title":"Open MPI","text":"","category":"section"},{"location":"knownissues/#Segmentation-fault-when-loading-the-library","page":"Known issues","title":"Segmentation fault when loading the library","text":"","category":"section"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"When attempting to use a system-provided Open MPI implementation, you may encounter a segmentation fault upon loading the library, or whenever the value of an environment variable is requested. This can be fixed by setting the environment variable ZES_ENABLE_SYSMAN=1. See Open MPI issue #10142 for more details.","category":"page"},{"location":"knownissues/#Segmentation-fault-in-HCOLL","page":"Known issues","title":"Segmentation fault in HCOLL","text":"","category":"section"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"If Open MPI was built with support for HCOLL, you may encounter a segmentation fault in certain operations involving custom datatypes. The stacktrace may look something like","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"hcoll_create_mpi_type at /opt/mellanox/hcoll/lib/libhcoll.so.1 (unknown line)\nompi_dtype_2_hcoll_dtype at /lustre/software/openmpi/llvm14/4.1.4/lib/openmpi/mca_coll_hcoll.so (unknown line)\nmca_coll_hcoll_allgather at /lustre/software/openmpi/llvm14/4.1.4/lib/openmpi/mca_coll_hcoll.so (unknown line)\nMPI_Allgather at /lustre/software/openmpi/llvm14/4.1.4/lib/libmpi.so (unknown line)","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"This is due to a bug in HCOLL, see Open MPI issue #11201 for more details. You can disable HCOLL by exporting the environment variable","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"export OMPI_MCA_coll_hcoll_enable=\"0\"","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"before starting the MPI process.","category":"page"},{"location":"knownissues/#UCX","page":"Known issues","title":"UCX","text":"","category":"section"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"UCX is a communication framework used by several MPI implementations.","category":"page"},{"location":"knownissues/#Memory-cache","page":"Known issues","title":"Memory cache","text":"","category":"section"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"When used with CUDA, UCX intercepts cudaMalloc so it can determine whether the pointer passed to MPI is on the host (main memory) or the device (GPU). Unfortunately, there are several known issues with how this works with Julia:","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"UCX issue #5061\nUCX issue #4001 (fixed in UCX v1.7.0)","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"By default, MPI.jl disables this by setting","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"ENV[\"UCX_MEMTYPE_CACHE\"] = \"no\"","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"at __init__ which may result in reduced performance, especially for smaller messages.","category":"page"},{"location":"knownissues/#Multi-threading-and-signal-handling","page":"Known issues","title":"Multi-threading and signal handling","text":"","category":"section"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"When using Julia multi-threading, the Julia garbage collector internally uses SIGSEGV to synchronize threads.","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"By default, UCX will error if this signal is raised (#337), resulting in a message such as:","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"Caught signal 11 (Segmentation fault: invalid permissions for mapped object at address 0xXXXXXXXX)","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"This signal interception can be controlled by setting the environment variable UCX_ERROR_SIGNALS: if not already defined, MPI.jl will set it as:","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"ENV[\"UCX_ERROR_SIGNALS\"] = \"SIGILL,SIGBUS,SIGFPE\"","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"at __init__. If set externally, it should be modified to exclude SIGSEGV from the list.","category":"page"},{"location":"knownissues/#CUDA-aware-MPI","page":"Known issues","title":"CUDA-aware MPI","text":"","category":"section"},{"location":"knownissues/#Memory-pool","page":"Known issues","title":"Memory pool","text":"","category":"section"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"Using CUDA-aware MPI on multi-GPU nodes with recent CUDA.jl may trigger (see here)","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"The call to cuIpcGetMemHandle failed. This means the GPU RDMA protocol\ncannot be used.\n  cuIpcGetMemHandle return value:   1","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"in the MPI layer, or fail on a segmentation fault (see here) with","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"[1642930332.032032] [gcn19:4087661:0] gdr_copy_md.c:122 UCX ERROR gdr_pin_buffer failed. length :65536 ret:22","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"This is due to the MPI implementation using legacy cuIpc* APIs, which are incompatible with stream-ordered allocator, now default in CUDA.jl, see UCX issue #7110.","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"To circumvent this, one has to ensure the CUDA memory pool to be set to none:","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"export JULIA_CUDA_MEMORY_POOL=none","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"More about CUDA.jl memory environment-variables.","category":"page"},{"location":"knownissues/#Hints-to-ensure-CUDA-aware-MPI-to-be-functional","page":"Known issues","title":"Hints to ensure CUDA-aware MPI to be functional","text":"","category":"section"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"Make sure to:","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"Have MPI and CUDA on path (or module loaded) that were used to build the CUDA-aware MPI\nSet the following environment variables:   export JULIA_CUDA_MEMORY_POOL=none   export JULIA_CUDA_USE_BINARYBUILDER=false\nAdd CUDA, MPIPreferences, and MPI packages in Julia. Switch to using the system binary\njulia --project -e 'using Pkg; Pkg.add([\"CUDA\", \"MPIPreferences\", \"MPI\"]); using MPIPreferences; MPIPreferences.use_system_binary()'\nThen in Julia, upon loading MPI and CUDA modules, you can check\nCUDA version: CUDA.versioninfo()\nIf MPI has CUDA: MPI.has_cuda()\nIf you are using correct MPI library: MPI.libmpi","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"After that, it may be preferred to run the Julia MPI script (as suggested here) launching it from a shell script (as suggested here).","category":"page"},{"location":"knownissues/#ROCm-aware-MPI","page":"Known issues","title":"ROCm-aware MPI","text":"","category":"section"},{"location":"knownissues/#Hints-to-ensure-ROCm-aware-MPI-to-be-functional","page":"Known issues","title":"Hints to ensure ROCm-aware MPI to be functional","text":"","category":"section"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"Make sure to:","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"Have MPI and ROCm on path (or module loaded) that were used to build the ROCm-aware MPI\nAdd AMDGPU, MPIPreferences, and MPI packages in Julia:\njulia --project -e 'using Pkg; Pkg.add([\"AMDGPU\", \"MPIPreferences\", \"MPI\"]); using MPIPreferences; MPIPreferences.use_system_binary()'\nThen in Julia, upon loading MPI and CUDA modules, you can check\nAMDGPU version: AMDGPU.versioninfo()\nIf you are using correct MPI implementation: MPI.identify_implementation()","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"After that, this script can be used to verify if ROCm-aware MPI is functional (modified after the CUDA-aware version from here). It may be preferred to run the Julia ROCm-aware MPI script launching it from a shell script (as suggested here).","category":"page"},{"location":"knownissues/#Custom-reduction-operators","page":"Known issues","title":"Custom reduction operators","text":"","category":"section"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"It is not possible to use custom reduction operators with 32-bit Microsoft MPI on Windows and on ARM CPUs with any operating system. These issues are due to due how custom operators are currently implemented in MPI.jl, that is by using closure cfunctions. However they have two limitations:","category":"page"},{"location":"knownissues/","page":"Known issues","title":"Known issues","text":"Julia's C-compatible function pointers cannot be used where the stdcall calling convention is expected, which is the case for 32-bit Microsoft MPI,\nclosure cfunctions in Julia are based on LLVM trampolines, which are not supported on ARM architecture.","category":"page"},{"location":"reference/onesided/#One-sided-communication","page":"One-sided communication","title":"One-sided communication","text":"","category":"section"},{"location":"reference/onesided/","page":"One-sided communication","title":"One-sided communication","text":"MPI.Win_create\nMPI.Win_create_dynamic\nMPI.Win_allocate_shared\nMPI.Win_shared_query\nMPI.Win_flush\nMPI.Win_lock\nMPI.Win_unlock\nMPI.Get!\nMPI.Put!\nMPI.Accumulate!\nMPI.Get_accumulate!","category":"page"},{"location":"reference/onesided/#MPI.Win_create","page":"One-sided communication","title":"MPI.Win_create","text":"MPI.Win_create(base[, size::Integer, disp_unit::Integer], comm::Comm; infokws...)\n\nCreate a window over the array base, returning a Win object used by these processes to perform RMA operations. This is a collective call over comm.\n\nsize is the size of the window in bytes (default = sizeof(base))\ndisp_unit is the size of address scaling in bytes (default = sizeof(eltype(base)))\ninfokws are info keys providing optimization hints to the runtime.\n\nMPI.free should be called on the Win object once operations have been completed.\n\n\n\n\n\n","category":"function"},{"location":"reference/onesided/#MPI.Win_create_dynamic","page":"One-sided communication","title":"MPI.Win_create_dynamic","text":"MPI.Win_create_dynamic(comm::Comm; infokws...)\n\nCreate a dynamic window returning a Win object used by these processes to perform RMA operations\n\nThis is a collective call over comm.\n\ninfokws are info keys providing optimization hints.\n\nMPI.free should be called on the Win object once operations have been completed.\n\n\n\n\n\n","category":"function"},{"location":"reference/onesided/#MPI.Win_allocate_shared","page":"One-sided communication","title":"MPI.Win_allocate_shared","text":"win, array = MPI.Win_allocate_shared(Array{T}, dims, comm::Comm; infokws...)\n\nCreate and allocate a shared memory window for objects of type T of dimension dims (either an integer or tuple of integers), returning a Win and the Array{T} attached to the local process.\n\nThis is a collective call over comm, but dims can differ for each call (and can be zero).\n\nUse MPI.Win_shared_query to obtain the Array attached to a different process in the same shared memory space.\n\ninfokws are info keys providing optimization hints.\n\nMPI.free should be called on the Win object once operations have been completed.\n\n\n\n\n\n","category":"function"},{"location":"reference/onesided/#MPI.Win_shared_query","page":"One-sided communication","title":"MPI.Win_shared_query","text":"array = Win_shared_query(Array{T}, [dims,] win; rank)\n\nObtain the shared memory allocated by Win_allocate_shared of the process rank in win. Returns an Array{T} of size dims (being a Vector{T} if no dims argument is provided).\n\n\n\n\n\n","category":"function"},{"location":"reference/onesided/#MPI.Win_flush","page":"One-sided communication","title":"MPI.Win_flush","text":"Win_flush(win::Win; rank)\n\nCompletes all outstanding RMA operations initiated by the calling process to the target rank on the specified window.\n\nExternal links\n\nMPI_Win_flush man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/onesided/#MPI.Win_lock","page":"One-sided communication","title":"MPI.Win_lock","text":"Win_lock(win::Win; rank::Integer, type=:exclusive/:shared, nocheck=false)\n\nStarts an RMA access epoch. The window at the process with rank rank can be accessed by RMA operations on win during that epoch.\n\nMultiple RMA access epochs (with calls to MPI.Win_lock) can occur simultaneously; however, each access epoch must target a different process.\n\nAccesses that are protected by an exclusive lock (type=:exclusive) will not be concurrent at the window site with other accesses to the same window that are lock protected. Accesses that are protected by a shared lock (type=:shared) will not be concurrent at the window site with accesses protected by an exclusive lock to the same window.\n\nIf nocheck=true, no other process holds, or will attempt to acquire, a conflicting lock, while the caller holds the window lock. This is useful when mutual exclusion is achieved by other means, but the coherence operations that may be attached to the lock and unlock calls are still required.\n\nExternal links\n\nMPI_Win_lock man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/onesided/#MPI.Win_unlock","page":"One-sided communication","title":"MPI.Win_unlock","text":"Win_unlock(win::Win; rank::Integer)\n\nCompletes an RMA access epoch started by a call to Win_lock.\n\nExternal links\n\nMPI_Win_unlock man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/onesided/#MPI.Get!","page":"One-sided communication","title":"MPI.Get!","text":"Get!(origin, win::Win; rank::Integer, disp::Integer=0)\n\nCopies data from the memory window win on the remote rank rank, with displacement disp, into origin using remote memory access. origin can be a Buffer, or any object for which Buffer(origin) is defined.\n\nExternal links\n\nMPI_Get man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/onesided/#MPI.Put!","page":"One-sided communication","title":"MPI.Put!","text":"Put!(origin, win::Win; rank::Integer, disp::Integer=0)\n\nCopies data from origin into memory window win on remote rank rank at displacement disp using remote memory access. origin can be a Buffer, or any object for which Buffer_send(origin) is defined.\n\nExternal links\n\nMPI_Put man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/onesided/#MPI.Accumulate!","page":"One-sided communication","title":"MPI.Accumulate!","text":"Accumulate!(origin, op, win::Win; rank::Integer, disp::Integer=0)\n\nCombine the content of the origin buffer into the target buffer (specified by win and displacement target_disp) with reduction operator op on the remote rank target_rank using remote memory access.\n\norigin can be a Buffer, or any object for which Buffer_send(origin) is defined. op can be any predefined Op (custom operators are not supported).\n\nExternal links\n\nMPI_Accumulate man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/onesided/#MPI.Get_accumulate!","page":"One-sided communication","title":"MPI.Get_accumulate!","text":"Get_accumulate!(origin, result, target_rank::Integer, target_disp::Integer, op::Op, win::Win)\n\nCombine the content of the origin buffer into the target buffer (specified by win and displacement target_disp) with reduction operator op on the remote rank target_rank using remote memory access. Get_accumulate also returns the content of the target buffer before accumulation into the result buffer.\n\norigin can be a Buffer, or any object for which Buffer_send(origin) is defined, result can be a Buffer, or any object for which Buffer(result) is defined. op can be any predefined Op (custom operators are not supported).\n\nExternal links\n\nMPI_Get_accumulate man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/buffers/#Buffers","page":"Buffers","title":"Buffers","text":"","category":"section"},{"location":"reference/buffers/","page":"Buffers","title":"Buffers","text":"Buffers are used for sending and receiving data. MPI.jl provides the following buffer types:","category":"page"},{"location":"reference/buffers/","page":"Buffers","title":"Buffers","text":"MPI.IN_PLACE\nMPI.Buffer\nMPI.Buffer_send\nMPI.UBuffer\nMPI.VBuffer\nMPI.RBuffer\nMPI.MPIPtr","category":"page"},{"location":"reference/buffers/#MPI.IN_PLACE","page":"Buffers","title":"MPI.IN_PLACE","text":"MPI.IN_PLACE\n\nA sentinel value that can be passed as a buffer argument for certain collective operations to use the same buffer for send and receive operations.\n\nScatter! and Scatterv!: can be used as the recvbuf argument on the root process.\nGather! and Gatherv!: can be used as the sendbuf argument on the root process.\nAllgather!, Allgatherv!, Alltoall! and Alltoallv!: can be used as the sendbuf argument on all processes.\nReduce! (root only), Allreduce!, Scan! and Exscan!: can be used as sendbuf argument.\n\n\n\n\n\n","category":"constant"},{"location":"reference/buffers/#MPI.Buffer","page":"Buffers","title":"MPI.Buffer","text":"MPI.Buffer\n\nAn MPI buffer for communication with a single rank. It is used for point-to-point and one-sided operations, as well as some collective operations. Operations will implicitly construct a Buffer when required via the generic constructor, but it can be advantageous to manually construct Buffers when doing so incurs additional overhead, for example when using a non-predefined MPI.Datatype.\n\nFields\n\ndata: a Julia object referencing a region of memory to be used for communication. It is required that the object can be cconverted to an MPIPtr.\ncount: the number of elements of datatype in the buffer. Note that this may not correspond to the number of elements in the array if derived types are used.\ndatatype: the MPI.Datatype stored in the buffer.\n\nUsage\n\nBuffer(data, count::Integer, datatype::Datatype)\n\nGeneric constructor.\n\nBuffer(data)\n\nConstruct a Buffer backed by data, automatically determining the appropriate count and datatype. Methods are provided for\n\nRef\nArray\nCUDA.CuArray if CUDA.jl is loaded.\nAMDGPU.ROCArray if AMDGPU.jl is loaded.\nSubArrays of an Array, CUDA.CuArray or AMDGPU.ROCArray where the layout is contiguous, sequential or blocked.\n\nSee also\n\nBuffer_send\n\n\n\n\n\n","category":"type"},{"location":"reference/buffers/#MPI.Buffer_send","page":"Buffers","title":"MPI.Buffer_send","text":"Buffer_send(data)\n\nConstruct a Buffer object for a send operation from data, allowing cases where isbits(data).\n\n\n\n\n\n","category":"function"},{"location":"reference/buffers/#MPI.UBuffer","page":"Buffers","title":"MPI.UBuffer","text":"MPI.UBuffer\n\nAn MPI buffer for chunked collective communication, where all chunks are of uniform size.\n\nFields\n\ndata: A Julia object referencing a region of memory to be used for communication. It is required that the object can be cconverted to an MPIPtr.\ncount: The number of elements of datatype in each chunk.\nnchunks: The maximum number of chunks stored in the buffer. This is used only for validation, and can be set to nothing to disable checks.\ndatatype: The MPI.Datatype stored in the buffer.\n\nUsage\n\nUBuffer(data, count::Integer, nchunks::Union{Nothing, Integer}, datatype::Datatype)\n\nGeneric constructor.\n\nUBuffer(data, count::Integer)\n\nConstruct a UBuffer backed by data, where count is the number of elements in each chunk.\n\nSee also\n\nVBuffer: similar, but supports chunks of non-uniform sizes.\n\n\n\n\n\n","category":"type"},{"location":"reference/buffers/#MPI.VBuffer","page":"Buffers","title":"MPI.VBuffer","text":"MPI.VBuffer\n\nAn MPI buffer for chunked collective communication, where chunks can be of different sizes and at different offsets.\n\nFields\n\ndata: A Julia object referencing a region of memory to be used for communication. It is required that the object can be cconverted to an MPIPtr.\ncounts: An array containing the length of each chunk.\ndispls: An array containing the (0-based) displacements of each chunk.\ndatatype: The MPI.Datatype stored in the buffer.\n\nUsage\n\nVBuffer(data, counts[, displs[, datatype]])\n\nConstruct a VBuffer backed by data, where counts[j] is the number of elements in the jth chunk, and displs[j] is the 0-based displacement. In other words, the jth chunk occurs in indices displs[j]+1:displs[j]+counts[j].\n\nThe default value for displs[j] = sum(counts[1:j-1]).\n\nSee also\n\nUBuffer when chunks are all of the same size.\n\n\n\n\n\n","category":"type"},{"location":"reference/buffers/#MPI.RBuffer","page":"Buffers","title":"MPI.RBuffer","text":"MPI.RBuffer\n\nAn MPI buffer for reduction operations (MPI.Reduce!, MPI.Allreduce!, MPI.Scan!, MPI.Exscan!).\n\nFields\n\nsenddata: A Julia object referencing a region of memory to be used for the send buffer. It is required that the object can be cconverted to an MPIPtr.\nrecvdata: A Julia object referencing a region of memory to be used for the receive buffer. It is required that the object can be cconverted to an MPIPtr.\ncount: the number of elements of datatype in the buffer. Note that this may not correspond to the number of elements in the array if derived types are used.\ndatatype: the MPI.Datatype stored in the buffer.\n\nUsage\n\nRBuffer(senddata, recvdata[, count, datatype])\n\nGeneric constructor.\n\nRBuffer(senddata, recvdata)\n\nConstruct a Buffer backed by senddata and recvdata, automatically determining the appropriate count and datatype.\n\nsenddata can be MPI.IN_PLACE\nrecvdata can be nothing on a non-root node with MPI.Reduce!\n\n\n\n\n\n","category":"type"},{"location":"reference/buffers/#MPI.API.MPIPtr","page":"Buffers","title":"MPI.API.MPIPtr","text":"MPI.MPIPtr\n\nA pointer to an MPI buffer. This type is used only as part of the implicit conversion in ccall: a Julia object can be passed to MPI by defining methods for Base.cconvert(::Type{MPIPtr}, ...)/Base.unsafe_convert(::Type{MPIPtr}, ...).\n\nCurrently supported are:\n\nPtr\nRef\nArray\nSubArray\nCUDA.CuArray if CUDA.jl is loaded.\nAMDGPU.ROCArray if AMDGPU.jl is loaded.\n\nAdditionally, certain sentinel values can be used, e.g. MPI_IN_PLACE or MPI_BOTTOM.\n\n\n\n\n\n","category":"type"},{"location":"reference/comm/#Communicators","page":"Communicators","title":"Communicators","text":"","category":"section"},{"location":"reference/comm/","page":"Communicators","title":"Communicators","text":"An MPI communicator specifies the communication context for a communication operation. In particular, it specifies the set of processes which share the context, and assigns each each process a unique rank (see MPI.Comm_rank) taking an integer value in 0:n-1, where n is the number of processes in the communicator (see MPI.Comm_size.","category":"page"},{"location":"reference/comm/#Types-and-enums","page":"Communicators","title":"Types and enums","text":"","category":"section"},{"location":"reference/comm/","page":"Communicators","title":"Communicators","text":"MPI.Comm","category":"page"},{"location":"reference/comm/#MPI.Comm","page":"Communicators","title":"MPI.Comm","text":"MPI.Comm\n\nAn MPI Communicator object.\n\n\n\n\n\n","category":"type"},{"location":"reference/comm/#Constants","page":"Communicators","title":"Constants","text":"","category":"section"},{"location":"reference/comm/","page":"Communicators","title":"Communicators","text":"MPI.COMM_WORLD\nMPI.COMM_SELF","category":"page"},{"location":"reference/comm/#MPI.COMM_WORLD","page":"Communicators","title":"MPI.COMM_WORLD","text":"MPI.COMM_WORLD\n\nA communicator containing all processes with which the local rank can communicate at initialization. In a typical \"static-process\" model, this will be all processes.\n\n\n\n\n\n","category":"constant"},{"location":"reference/comm/#MPI.COMM_SELF","page":"Communicators","title":"MPI.COMM_SELF","text":"MPI.COMM_SELF\n\nA communicator containing only the local process.\n\n\n\n\n\n","category":"constant"},{"location":"reference/comm/#Functions","page":"Communicators","title":"Functions","text":"","category":"section"},{"location":"reference/comm/#Operations","page":"Communicators","title":"Operations","text":"","category":"section"},{"location":"reference/comm/","page":"Communicators","title":"Communicators","text":"MPI.Comm_size\nMPI.Comm_rank\nMPI.Comm_compare\nMPI.Comm_group\nMPI.Comm_remote_group","category":"page"},{"location":"reference/comm/#MPI.Comm_size","page":"Communicators","title":"MPI.Comm_size","text":"Comm_size(comm::Comm)\n\nThe number of processes involved in communicator.\n\nSee also\n\nMPI.Comm_rank.\n\nExternal links\n\nMPI_Comm_size man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.Comm_rank","page":"Communicators","title":"MPI.Comm_rank","text":"Comm_rank(comm::Comm)\n\nThe rank of the process in the particular communicator's group.\n\nReturns an integer in the range 0:MPI.Comm_size()-1.\n\nSee also\n\nMPI.Comm_size.\n\nExternal links\n\nMPI_Comm_rank man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.Comm_compare","page":"Communicators","title":"MPI.Comm_compare","text":"Comm_compare(comm1::Comm, comm2::Comm)::MPI.Comparison\n\nCompare two communicators and their underlying groups, returning an element of the Comparison enum.\n\nExternal links\n\nMPI_Comm_compare man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.Comm_group","page":"Communicators","title":"MPI.Comm_group","text":"Comm_group(comm::Comm)\n\nAccesses the group associated with given communicator.\n\nExternal links\n\nMPI_Comm_group man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.Comm_remote_group","page":"Communicators","title":"MPI.Comm_remote_group","text":"Comm_remote_group(comm::Comm)\n\nAccesses the remote group associated with the given inter-communicator.\n\nExternal links\n\nMPI_Comm_remote_group man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#Constructors","page":"Communicators","title":"Constructors","text":"","category":"section"},{"location":"reference/comm/","page":"Communicators","title":"Communicators","text":"MPI.Comm_create\nMPI.Comm_create_group\nMPI.Comm_dup\nMPI.Comm_get_parent\nMPI.Comm_spawn\nMPI.Comm_split\nMPI.Comm_split_type\nMPI.Intercomm_merge","category":"page"},{"location":"reference/comm/#MPI.Comm_create","page":"Communicators","title":"MPI.Comm_create","text":"Comm_create(comm::Comm, group::Group)\n\nCollectively creates a new communicator.\n\nSee also\n\nMPI.Comm_create_group for the noncollective operation\n\nExternal links\n\nMPI_Comm_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.Comm_create_group","page":"Communicators","title":"MPI.Comm_create_group","text":"Comm_create_group(comm::Comm, group::Group, tag::Integer)\n\nNoncollectively creates a new communicator.\n\nSee also\n\nMPI.Comm_create for the noncollective operation\n\nExternal links\n\nMPI_Comm_create_group man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.Comm_dup","page":"Communicators","title":"MPI.Comm_dup","text":"Comm_dup(comm::Comm)\n\nExternal links\n\nMPI_Comm_dup man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.Comm_get_parent","page":"Communicators","title":"MPI.Comm_get_parent","text":"Comm_get_parent()\n\nExternal links\n\nMPI_Comm_get_parent man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.Comm_spawn","page":"Communicators","title":"MPI.Comm_spawn","text":"Comm_spawn(command, argv::Vector{String}, nprocs::Integer, comm::Comm[, errors::Vector{Cint}]; kwargs...)\n\nExternal links\n\nMPI_Comm_spawn man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.Comm_split","page":"Communicators","title":"MPI.Comm_split","text":"Comm_split(comm::Comm, color::Union{Integer,Nothing}, key::Integer)\n\nPartition the communicator comm, one for each value of color, returning a new communicator. Within each group, the processes are ranked in the order of key, with ties broken by the order of comm.\n\ncolor should be a non-negative integer, or nothing, in which case a null communicator is returned for that rank.\n\nExternal links\n\nMPI_Comm_split man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.Comm_split_type","page":"Communicators","title":"MPI.Comm_split_type","text":"Comm_split_type(comm::Comm, split_type, key::Integer; kwargs...)\n\nPartitions the communicator comm based on split_type, returning a new communicator. Within each group, the processes are ranked in the order of key, with ties broken by the order of comm.\n\nCurrently only one split_type is provided:\n\nMPI.COMM_TYPE_SHARED: splits the communicator into subcommunicators, each of which can create a shared memory region.\n\nExternal links\n\nMPI_Comm_split_type man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.Intercomm_merge","page":"Communicators","title":"MPI.Intercomm_merge","text":"Intercomm_merge(intercomm::Comm, flag::Bool)\n\nExternal links\n\nMPI_Intercomm_merge man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#Miscellaneous","page":"Communicators","title":"Miscellaneous","text":"","category":"section"},{"location":"reference/comm/","page":"Communicators","title":"Communicators","text":"MPI.universe_size\nMPI.tag_ub","category":"page"},{"location":"reference/comm/#MPI.universe_size","page":"Communicators","title":"MPI.universe_size","text":"universe_size()\n\nThe total number of available slots, or nothing if it is not defined. This is determined by the MPI_UNIVERSE_SIZE attribute of COMM_WORLD.\n\nThis is typically dependent on the MPI implementation: for MPICH-based implementations, this is specified by the -usize argument. OpenMPI defines a default value based on the number of processes available.\n\n\n\n\n\n","category":"function"},{"location":"reference/comm/#MPI.tag_ub","page":"Communicators","title":"MPI.tag_ub","text":"tag_ub()\n\nThe maximum value tag value for point-to-point operations.\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#Point-to-point-communication","page":"Point-to-point communication","title":"Point-to-point communication","text":"","category":"section"},{"location":"reference/pointtopoint/#Types","page":"Point-to-point communication","title":"Types","text":"","category":"section"},{"location":"reference/pointtopoint/","page":"Point-to-point communication","title":"Point-to-point communication","text":"MPI.AbstractRequest\nMPI.Request\nMPI.UnsafeRequest\nMPI.MultiRequest\nMPI.UnsafeMultiRequest\nMPI.RequestSet\nMPI.Status","category":"page"},{"location":"reference/pointtopoint/#MPI.AbstractRequest","page":"Point-to-point communication","title":"MPI.AbstractRequest","text":"MPI.AbstractRequest\n\nAn abstract type for Julia objects wrapping MPI Requests objects, which represent non-blocking MPI communication operations. The following implementations provided in MPI.jl\n\nRequest: this is the default request type.\nUnsafeRequest: similar to Request, but does not maintain a reference to the underlying communication buffer.\nMultiRequestItem: created by calling getindex on a MultiRequest / UnsafeMultiRequest object, which efficiently stores a collection of requests.\n\nHow request objects are used\n\nA request object can be passed to non-blocking communication operations, such as MPI.Isend and MPI.Irecv!. If no object is provided, then an MPI.Request is used.\n\nThe status of a Request can be checked by the Wait and Test functions or their mœultiple-request variants, which will deallocate the request once it is determined to be complete.\n\nAlternatively, it will be deallocated by calling MPI.free or at finalization, meaning that it is safe to ignore the request objects if the status of the communication can be checked by other means.\n\nIn certain cases, the operation can also be cancelled by Cancel!.\n\nImplementing new request types\n\nSubtypes R <: AbstractRequest should define the methods for the following functions:\n\nC conversion functions to MPI_Request and Ptr{MPI_Request}:\nBase.cconvert(::Type{MPI_Request}, req::R) / Base.unsafe_convert(::Type{MPI_Request}, req::R)\nBase.cconvert(::Type{Ptr{MPI_Request}}, req::R) / Base.unsafe_convert(::Type{Ptr{MPI_Request}}, req::R)`\nsetbuffer!(req::R, val): keep a reference to the communication bufferval. Ifval == nothing`, then clear the reference.\n\n\n\n\n\n","category":"type"},{"location":"reference/pointtopoint/#MPI.Request","page":"Point-to-point communication","title":"MPI.Request","text":"MPI.Request()\n\nThe default MPI Request object, representing a non-blocking communication. This also contains a reference to the buffer used in the communication to ensure it isn't garbage-collected during communication.\n\nSee AbstractRequest for more information.\n\n\n\n\n\n","category":"type"},{"location":"reference/pointtopoint/#MPI.UnsafeRequest","page":"Point-to-point communication","title":"MPI.UnsafeRequest","text":"MPI.UnsafeRequest()\n\nSimilar to MPI.Request, but does not maintain a reference to the underlying communication buffer. This may have improve performance by reducing memory allocations.\n\nwarning: Warning\nThe user should ensure that another reference to the communication buffer is maintained so that it is not cleaned up by the garbage collector before the communication operation is complete.For example ```julia buf = MPI.Buffer(zeros(10)) GC.@preserve buf begin     req = MPI.Isend(buf, comm, UnsafeRequest(); rank=1)     # ...     MPI.Wait(req) end\n\n\n\n\n\n","category":"type"},{"location":"reference/pointtopoint/#MPI.MultiRequest","page":"Point-to-point communication","title":"MPI.MultiRequest","text":"MPI.MultiRequest(n::Integer=0)\n\nA collection of MPI Requests. This is useful when operating on multiple MPI requests at the same time. MultiRequest objects can be passed directly to MPI.Waitall, MPI.Testall, etc.\n\nreq[i] will return a MultiRequestItem which adheres to the [AbstractRequest] interface.\n\nUsage\n\nreqs = MPI.MultiRequest(n)\nfor i = 1:n\n    MPI.Isend(buf, comm, reqs[i]; rank=dest[i])\nend\nMPI.Waitall(reqs)\n\n\n\n\n\n","category":"type"},{"location":"reference/pointtopoint/#MPI.UnsafeMultiRequest","page":"Point-to-point communication","title":"MPI.UnsafeMultiRequest","text":"MPI.UnsafeMultiRequest(n::Integer=0)\n\nSimilar to MPI.MultiRequest, except that it does not maintain references to the underlying communication buffers. The same caveats apply as MPI.UnsafeRequest.\n\n\n\n\n\n","category":"type"},{"location":"reference/pointtopoint/#MPI.RequestSet","page":"Point-to-point communication","title":"MPI.RequestSet","text":"RequestSet(requests::Vector{Request})\nRequestSet() # create an empty RequestSet\n\nA wrapper for an array of Requests that can be used to reduce intermediate memory allocations in Waitall, Testall, Waitany, Testany, Waitsome or Testsome.\n\nConsider using a MultiRequest or UnsafeMultiRequest instead.\n\n\n\n\n\n","category":"type"},{"location":"reference/pointtopoint/#MPI.Status","page":"Point-to-point communication","title":"MPI.Status","text":"MPI.Status\n\nThe status of an MPI receive communication. It has 3 accessible fields\n\nsource: source of the received message\ntag: tag of the received message\nerror: error code. This is only set if a function returns multiple statuses.\n\nAdditionally, the accessor function MPI.Get_count can be used to determine the number of entries received.\n\n\n\n\n\n","category":"type"},{"location":"reference/pointtopoint/#Accessors","page":"Point-to-point communication","title":"Accessors","text":"","category":"section"},{"location":"reference/pointtopoint/","page":"Point-to-point communication","title":"Point-to-point communication","text":"MPI.Get_count","category":"page"},{"location":"reference/pointtopoint/#MPI.Get_count","page":"Point-to-point communication","title":"MPI.Get_count","text":"MPI.Get_count(status::Status, T)\n\nThe number of entries received. T should match the argument provided by the receive call that set the status variable.\n\nIf the number of entries received exceeds the limits of the count parameter, then it returns MPI_UNDEFINED.\n\nExternal links\n\nMPI_Get_count man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#Constants","page":"Point-to-point communication","title":"Constants","text":"","category":"section"},{"location":"reference/pointtopoint/","page":"Point-to-point communication","title":"Point-to-point communication","text":"MPI.PROC_NULL\nMPI.ANY_SOURCE\nMPI.ANY_TAG","category":"page"},{"location":"reference/pointtopoint/#MPI.PROC_NULL","page":"Point-to-point communication","title":"MPI.PROC_NULL","text":"MPI.PROC_NULL\n\nA dummy value that can be used instead of a rank wherever a source or a destination argument is required in a call. A send\n\n\n\n\n\n","category":"constant"},{"location":"reference/pointtopoint/#MPI.ANY_SOURCE","page":"Point-to-point communication","title":"MPI.ANY_SOURCE","text":"MPI.ANY_SOURCE\n\nA wild card value for receive or probe operations that matches any source rank.\n\n\n\n\n\n","category":"constant"},{"location":"reference/pointtopoint/#MPI.ANY_TAG","page":"Point-to-point communication","title":"MPI.ANY_TAG","text":"MPI.ANY_TAG\n\nA wild card value for receive or probe operations that matches any tag.\n\n\n\n\n\n","category":"constant"},{"location":"reference/pointtopoint/#Blocking-communication","page":"Point-to-point communication","title":"Blocking communication","text":"","category":"section"},{"location":"reference/pointtopoint/","page":"Point-to-point communication","title":"Point-to-point communication","text":"MPI.Send\nMPI.send\nMPI.Recv!\nMPI.Recv\nMPI.recv\nMPI.Sendrecv!","category":"page"},{"location":"reference/pointtopoint/#MPI.Send","page":"Point-to-point communication","title":"MPI.Send","text":"Send(buf, comm::Comm; dest::Integer, tag::Integer=0)\n\nPerform a blocking send from the buffer buf to MPI rank dest of communicator comm using the message tag tag.\n\nSend(obj, comm::Comm; dest::Integer, tag::Integer=0)\n\nComplete a blocking send of an isbits object obj to MPI rank dest of communicator comm using with the message tag tag.\n\nExternal links\n\nMPI_Send man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.send","page":"Point-to-point communication","title":"MPI.send","text":"send(obj, comm::Comm; dest::Integer, tag::Integer=0)\n\nComplete a blocking send using a serialized version of obj to MPI rank dest of communicator comm using with the message tag tag.\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Recv!","page":"Point-to-point communication","title":"MPI.Recv!","text":"data = Recv!(recvbuf, comm::Comm;\n        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)\ndata, status = Recv!(recvbuf, comm::Comm, MPI.Status;\n        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)\n\nCompletes a blocking receive into the buffer recvbuf from MPI rank source of communicator comm using with the message tag tag.\n\nrecvbuf can be a Buffer, or any object for which Buffer(recvbuf) is defined.\n\nOptionally returns the Status object of the receive.\n\nSee also\n\nRecv\nrecv\n\nExternal links\n\nMPI_Recv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Recv","page":"Point-to-point communication","title":"MPI.Recv","text":"data = Recv(::Type{T}, comm::Comm;\n        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)\ndata, status = Recv(::Type{T}, comm::Comm, MPI.Status;\n        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)\n\nCompletes a blocking receive of a single isbits object of type T from MPI rank source of communicator comm using with the message tag tag.\n\nReturns a tuple of the object of type T and optionally the Status of the receive.\n\nSee also\n\nRecv!\nrecv\n\nExternal links\n\nMPI_Recv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.recv","page":"Point-to-point communication","title":"MPI.recv","text":"obj = recv(comm::Comm;\n        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)\nobj, status = recv(comm::Comm, MPI.Status;\n        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)\n\nCompletes a blocking receive of a serialized object from MPI rank source of communicator comm using with the message tag tag.\n\nReturns the deserialized object and optionally the Status of the receive.\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Sendrecv!","page":"Point-to-point communication","title":"MPI.Sendrecv!","text":"data = Sendrecv!(sendbuf, recvbuf, comm;\n        dest::Integer, sendtag::Integer=0, source::Integer=MPI.ANY_SOURCE, recvtag::Integer=MPI.ANY_TAG)\ndata, status = Sendrecv!(sendbuf, recvbuf, comm, MPI.Status;\n        dest::Integer, sendtag::Integer=0, source::Integer=MPI.ANY_SOURCE, recvtag::Integer=MPI.ANY_TAG)\n\nComplete a blocking send-receive operation over the MPI communicator comm. Send sendbuf to the MPI rank dest using message tag sendtag, and receive from MPI rank source into the buffer recvbuf using message tag recvtag. Return a Status object.\n\nExternal links\n\nMPI_Sendrecv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#Non-blocking-communication","page":"Point-to-point communication","title":"Non-blocking communication","text":"","category":"section"},{"location":"reference/pointtopoint/#Initiation","page":"Point-to-point communication","title":"Initiation","text":"","category":"section"},{"location":"reference/pointtopoint/","page":"Point-to-point communication","title":"Point-to-point communication","text":"MPI.Isend\nMPI.isend\nMPI.Irecv!","category":"page"},{"location":"reference/pointtopoint/#MPI.Isend","page":"Point-to-point communication","title":"MPI.Isend","text":"Isend(data, comm::Comm[, req::AbstractRequest = Request()]; dest::Integer, tag::Integer=0)\n\nStarts a nonblocking send of data to MPI rank dest of communicator comm using with the message tag tag.\n\ndata can be a Buffer, or any object for which Buffer_send is defined.\n\nReturns the AbstractRequest object for the nonblocking send.\n\nExternal links\n\nMPI_Isend man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.isend","page":"Point-to-point communication","title":"MPI.isend","text":"isend(obj, comm::Comm[, req::AbstractRequest = Request()]; dest::Integer, tag::Integer=0)\n\nStarts a nonblocking send of using a serialized version of obj to MPI rank dest of communicator comm using with the message tag tag.\n\nReturns the commication Request for the nonblocking send.\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Irecv!","page":"Point-to-point communication","title":"MPI.Irecv!","text":"req = Irecv!(recvbuf, comm::Comm[, req::AbstractRequest = Request()];\n        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)\n\nStarts a nonblocking receive into the buffer data from MPI rank source of communicator comm using with the message tag tag.\n\ndata can be a Buffer, or any object for which Buffer(data) is defined.\n\nReturns the AbstractRequest object for the nonblocking receive.\n\nExternal links\n\nMPI_Irecv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#Completion","page":"Point-to-point communication","title":"Completion","text":"","category":"section"},{"location":"reference/pointtopoint/","page":"Point-to-point communication","title":"Point-to-point communication","text":"MPI.Test\nMPI.Testall\nMPI.Testany\nMPI.Testsome\nMPI.Wait\nMPI.Waitall\nMPI.Waitany\nMPI.Waitsome","category":"page"},{"location":"reference/pointtopoint/#MPI.Test","page":"Point-to-point communication","title":"MPI.Test","text":"flag = Test(req::AbstractRequest)\nflag, status = Test(req::AbstractRequest, Status)\n\nCheck if the request req is complete. If so, the request is deallocated and flag = true is returned. Otherwise flag = false.\n\nThe Status argument additionally returns the Status of the completed request.\n\nExternal links\n\nMPI_Test man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Testall","page":"Point-to-point communication","title":"MPI.Testall","text":"flag = Testall(reqs::AbstractVector{Request}[, statuses::Vector{Status}])\nflag, statuses = Testall(reqs::AbstractVector{Request}, Status)\n\nCheck if all active requests in the array reqs are complete. If so, the requests are deallocated and true is returned. Otherwise no requests are modified, and false is returned.\n\nThe optional statuses or Status argument can be used to obtain the return Status of each request.\n\nSee also\n\nRequestSet can be used to minimize allocations\n\nExternal links\n\nMPI_Testall man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Testany","page":"Point-to-point communication","title":"MPI.Testany","text":"flag, idx = Testany(reqs::AbstractVector{Request}[, status::Ref{Status}])\nflag, idx, status = Testany(reqs::AbstractVector{Request}, Status)\n\nChecks if any one of the requests in the array reqs is complete.\n\nIf one or more requests are complete, then one is chosen arbitrarily, deallocated. flag = true and its (1-based) index idx is returned.\n\nIf there are no completed requests, then flag = false and idx = nothing is returned.\n\nIf there are no active requests, flag = true and idx = nothing.\n\nThe optional status argument can be used to obtain the return Status of the request.\n\nSee also\n\nRequestSet can be used to minimize allocations\n\nExternal links\n\nMPI_Testany man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Testsome","page":"Point-to-point communication","title":"MPI.Testsome","text":"inds = Testsome(reqs::AbstractVector{Request}[, statuses::Vector{Status}])\n\nSimilar to Waitsome except that if no operations have completed it will return an empty array.\n\nIf there are no active requests, then the function returns nothing.\n\nThe optional statuses argument can be used to obtain the return Status of each completed request.\n\nSee also\n\nRequestSet can be used to minimize allocations\n\nExternal links\n\nMPI_Testsome man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Wait","page":"Point-to-point communication","title":"MPI.Wait","text":"Wait(req::AbstractRequest)\nstatus = Wait(req::AbstractRequest, Status)\n\nBlock until the request req is complete and deallocated.\n\nThe Status argument returns the Status of the completed request.\n\nExternal links\n\nMPI_Wait man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Waitall","page":"Point-to-point communication","title":"MPI.Waitall","text":"Waitall(reqs::AbstractVector{Request}[, statuses::Vector{Status}])\nstatuses = Waitall(reqs::AbstractVector{Request}, Status)\n\nBlock until all active requests in the array reqs are complete.\n\nThe optional statuses or Status argument can be used to obtain the return Status of each request.\n\nSee also\n\nRequestSet can be used to minimize allocations\n\nExternal links\n\nMPI_Waitall man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Waitany","page":"Point-to-point communication","title":"MPI.Waitany","text":"i = Waitany(reqs::AbstractVector{Request}[, status::Ref{Status}])\ni, status = Waitany(reqs::AbstractVector{Request}, Status)\n\nBlocks until one of the requests in the array reqs is complete: if more than one is complete, one is chosen arbitrarily. The request is deallocated and the (1-based) index i of the completed request is returned.\n\nIf there are no active requests, then i = nothing.\n\nThe optional status argument can be used to obtain the return Status of the request.\n\nSee also\n\nRequestSet can be used to minimize allocations\n\nExternal links\n\nMPI_Waitany man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Waitsome","page":"Point-to-point communication","title":"MPI.Waitsome","text":"inds = Waitsome(reqs::AbstractVector{Request}[, statuses::Vector{Status}])\n\nBlock until at least one of the active requests in the array reqs is complete. The completed requests are deallocated, and an array inds of their indices in reqs is returned.\n\nIf there are no active requests, then inds = nothing.\n\nThe optional statuses argument can be used to obtain the return Status of each completed request.\n\nSee also\n\nRequestSet can be used to minimize allocations\n\nExternal links\n\nMPI_Waitsome man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#Probe/Cancel","page":"Point-to-point communication","title":"Probe/Cancel","text":"","category":"section"},{"location":"reference/pointtopoint/","page":"Point-to-point communication","title":"Point-to-point communication","text":"MPI.isnull\nMPI.Cancel!\nMPI.Iprobe\nMPI.Probe","category":"page"},{"location":"reference/pointtopoint/#MPI.isnull","page":"Point-to-point communication","title":"MPI.isnull","text":"isnull(req::AbstractRequest)\n\nIs req is a null request.\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Cancel!","page":"Point-to-point communication","title":"MPI.Cancel!","text":"Cancel!(req::Request)\n\nMarks a pending Irecv! operation for cancellation (cancelling a Isend, while supported in some implementations, is deprecated as of MPI 3.1). Note that the request is not deallocated, and can still be queried using the test or wait functions.\n\nExternal links\n\nMPI_Cancel man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Iprobe","page":"Point-to-point communication","title":"MPI.Iprobe","text":"ismsg = Iprobe(comm::Comm;\n        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)\nismsg, status = Iprobe(comm::Comm, MPI.Status;\n        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)\n\nChecks if there is a message that can be received matching source, tag and comm. If so, returns ismsg = true. The Status argument additionally returns the Status of the completed request.\n\nExternal links\n\nMPI_Iprobe man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Probe","page":"Point-to-point communication","title":"MPI.Probe","text":"Probe(comm::Comm;\n        source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)\nstatus = Probe(comm::Comm, MPI.Status;\n    source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)\n\nBlocks until there is a message that can be received matching source, tag and comm. Optionally returns the corresponding Status object.\n\nExternal links\n\nMPI_Probe man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#Persistent-requests","page":"Point-to-point communication","title":"Persistent requests","text":"","category":"section"},{"location":"reference/pointtopoint/","page":"Point-to-point communication","title":"Point-to-point communication","text":"MPI.Send_init\nMPI.Recv_init\nMPI.Start\nMPI.Startall","category":"page"},{"location":"reference/pointtopoint/#MPI.Send_init","page":"Point-to-point communication","title":"MPI.Send_init","text":"Send_init(buf, comm::MPI.Comm[, req::AbstractRequest = Request()];\n    dest, tag=0)\n\nAllocate a persistent send request, returning a AbstractRequest object. Use Start or Startall to start the communication operation, and free to deallocate the request.\n\nExternal links\n\nMPI_Send_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Recv_init","page":"Point-to-point communication","title":"MPI.Recv_init","text":"Recv_init(buf, comm::MPI.Comm[, req::AbstractRequest = Request()];\n    source=MPI.ANY_SOURCE, tag=MPI.ANY_TAG)\n\nAllocate a persistent receive request, returning a AbstractRequest object. Use Start or Startall to start the communication operation, and free to deallocate the request.\n\nExternal links\n\nMPI_Recv_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Start","page":"Point-to-point communication","title":"MPI.Start","text":"Start(request::AbstractRequest)\n\nStart a persistent communication request created by Send_init or Recv_init. Call Wait to complete the request.\n\nExternal links\n\nMPI_Start man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Startall","page":"Point-to-point communication","title":"MPI.Startall","text":"Startall(reqs::AbstractVector{Request})\n\nStart a set of persistent communication requests created by Send_init or Recv_init. Call Waitall to complete the requests.\n\nExternal links\n\nMPI_Startall man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#Matching-probes-and-receives","page":"Point-to-point communication","title":"Matching probes and receives","text":"","category":"section"},{"location":"reference/pointtopoint/","page":"Point-to-point communication","title":"Point-to-point communication","text":"MPI.Message\nMPI.Mprobe\nMPI.Improbe\nMPI.Mrecv!\nMPI.Imrecv!","category":"page"},{"location":"reference/pointtopoint/#MPI.Message","page":"Point-to-point communication","title":"MPI.Message","text":"MPI.Message\n\nAn MPI message handle object, used by matched receive operations. These are returned by MPI.Mprobe and MPI.Improbe operations, and must be received by either MPI.Mrecv! or MPI.Imrecv!.\n\n\n\n\n\n","category":"type"},{"location":"reference/pointtopoint/#MPI.Mprobe","page":"Point-to-point communication","title":"MPI.Mprobe","text":"msg = MPI.Mprobe(comm::MPI.Comm;\n    source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)\nmsg, status = MPI.Mprobe(comm::MPI.Comm, MPI.Status;\n    source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)\n\nMatching blocking probe. Similar to MPI.Probe, except that it also returns msg, an MPI.Message object. \n\nBlocks until a message that can be received matching source, tag and comm, returning a Message objec msg, which must be received by either MPI.Mrecv! or MPI.Imrecv!.\n\nThe Status argument additionally returns the Status of the completed request.\n\nExternal links\n\nMPI_Mprobe man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Improbe","page":"Point-to-point communication","title":"MPI.Improbe","text":"ismsg, msg = MPI.Improbe(comm::MPI.Comm;\n    source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)\nismsg, msg, status = MPI.Improbe(comm::MPI.Comm, MPI.Status;\n    source::Integer=MPI.ANY_SOURCE, tag::Integer=MPI.ANY_TAG)\n\nMatching non-blocking probe. Similar to MPI.Iprobe, except that it also returns msg, an MPI.Message object. \n\nChecks if there is a message that can be received matching source, tag and comm. If so, returns ismsg = true, and a Message objec msg, which must be received by either MPI.Mrecv! or MPI.Imrecv!. Otherwise msg is set to be a null Message.\n\nThe Status argument additionally returns the Status of the completed request.\n\nExternal links\n\nMPI_Improbe man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Mrecv!","page":"Point-to-point communication","title":"MPI.Mrecv!","text":"data = MPI.Mrecv!(recvbuf, msg::MPI.Message)\ndata, status = MPI.Mrecv!(recvbuf, msg::MPI.Message, MPI.Status)\n\nCompletes a blocking receive matched by a matching probe operation into the buffer recvbuf, and the Message msg.\n\nrecvbuf can be a Buffer, or any object for which Buffer(recvbuf) is defined.\n\nOptionally returns the Status object of the receive.\n\nExternal links\n\nMPI_Mrecv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/pointtopoint/#MPI.Imrecv!","page":"Point-to-point communication","title":"MPI.Imrecv!","text":"req = MPI.Imrecv!(recvbuf, msg::MPI.Message[, req::AbstractRequest=Request()])\n\nStarts a nonblocking receive matched by a matching probe operation into the buffer recvbuf, and the Message msg.\n\nrecvbuf can be a Buffer, or any object for which Buffer(recvbuf) is defined.\n\nReturns req, an AbstractRequest object for the nonblocking receive.\n\nExternal links\n\nMPI_Imrecv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"external/#External-libraries-and-packages","page":"External libraries and packages","title":"External libraries and packages","text":"","category":"section"},{"location":"external/","page":"External libraries and packages","title":"External libraries and packages","text":"Other libraries and packages may also make use of MPI. There are several concerns to ensure things are set up correctly.","category":"page"},{"location":"external/#Binary-requirements","page":"External libraries and packages","title":"Binary requirements","text":"","category":"section"},{"location":"external/","page":"External libraries and packages","title":"External libraries and packages","text":"You need to ensure that external libraries are built correctly. In particular, if you are using a system-provided MPI backend in Julia, you also need to use the same system-provided binary for all packages and external libraries you use.","category":"page"},{"location":"external/#Passing-MPI-handles-via-ccall","page":"External libraries and packages","title":"Passing MPI handles via ccall","text":"","category":"section"},{"location":"external/","page":"External libraries and packages","title":"External libraries and packages","text":"When passing MPI.jl handle objects (MPI.Comm, MPI.Info, etc) to C/C++ functions via ccall, you should pass the object directly as an argument, and specify the argument type as either the underlying handle type (MPI.MPI_Comm, MPI.MPI_Info, etc.), or a pointer (Ptr{MPI.MPI_Comm}, Ptr{MPI.MPI_Info}, etc.). This will internally handle the unwrapping, but ensure that a reference is kept to avoid premature garbage collection.","category":"page"},{"location":"external/","page":"External libraries and packages","title":"External libraries and packages","text":"For example the C function signatures","category":"page"},{"location":"external/","page":"External libraries and packages","title":"External libraries and packages","text":"int cfunc1(MPI_Comm comm);\nint cfunc2(MPI_Comm * comm);","category":"page"},{"location":"external/","page":"External libraries and packages","title":"External libraries and packages","text":"would be called as","category":"page"},{"location":"external/","page":"External libraries and packages","title":"External libraries and packages","text":"ccall((:cfunc1, lib), Cint, (MPI.MPI_Comm,), comm)\nccall((:cfunc2, lib), Cint, (Ptr{MPI.MPI_Comm},), comm)","category":"page"},{"location":"external/#Object-finalizers-and-MPI.Finalize","page":"External libraries and packages","title":"Object finalizers and MPI.Finalize","text":"","category":"section"},{"location":"external/","page":"External libraries and packages","title":"External libraries and packages","text":"External libraries may allocate their own MPI handles (e.g., create or duplicate MPI communictors), which need to be cleaned up before MPI is finalized. If these are attached to object finalizers, they may not be guaranteed to be called before MPI.Finalize, which can result in an error upon program exit. (By default, MPI.jl will install an atexit hook that calls MPI.Finalize if it hasn't already been invoked.)","category":"page"},{"location":"external/","page":"External libraries and packages","title":"External libraries and packages","text":"There are two typical solutions to this problem:","category":"page"},{"location":"external/","page":"External libraries and packages","title":"External libraries and packages","text":"Gate the clean up functions behind an MPI.Finalized call, e.g.\nfinalizer(obj) do obj\n    if !MPI.Finalized\n        # call clean up function\n    end\nend\nKeep track of all such objects, clean them up via MPI.add_finalize_hook!, e.g.\nfinalizer(obj) do obj\n    # call clean up function\nend\nMPI.add_finalize_hook!(() -> finalize(obj))\nA variant of this is to keep track of all such objects, for example, using a WeakKeyDict, and use a hook to clean them all:\nconst REFS = WeakKeyDict{ObjType, Nothing}()\nMPI.add_finalize_hook!() do\n    for obj in keys(REFS)\n        finalize(obj)\n    end\nend\n\n# for each object `obj`\nfinalizer(obj) do obj\n    # call clean up function\nend\nREFS[obj] = nothing","category":"page"},{"location":"reference/io/#I/O","page":"I/O","title":"I/O","text":"","category":"section"},{"location":"reference/io/#File-manipulation","page":"I/O","title":"File manipulation","text":"","category":"section"},{"location":"reference/io/","page":"I/O","title":"I/O","text":"MPI.File.open","category":"page"},{"location":"reference/io/#MPI.File.open","page":"I/O","title":"MPI.File.open","text":"MPI.File.open(comm::Comm, filename::AbstractString; keywords...)\n\nOpen the file identified by filename. This is a collective operation on comm.\n\nSupported keywords are as follows:\n\nread, write, create, append have the same behaviour and defaults as Base.open.\nsequential: file will only be accessed sequentially (default: false)\nuniqueopen: file will not be concurrently opened elsewhere (default: false)\ndeleteonclose: delete file on close (default: false)\n\nAny additional keywords are passed via an Info object, and are implementation dependent.\n\nExternal links\n\nMPI_File_open man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#Views","page":"I/O","title":"Views","text":"","category":"section"},{"location":"reference/io/","page":"I/O","title":"I/O","text":"MPI.File.set_view!\nMPI.File.get_byte_offset","category":"page"},{"location":"reference/io/#MPI.File.set_view!","page":"I/O","title":"MPI.File.set_view!","text":"MPI.File.set_view!(file::FileHandle, disp::Integer, etype::Datatype, filetype::Datatype, datarep::AbstractString; kwargs...)\n\nSet the current process's view of file.\n\nThe start of the view is set to disp; the type of data is set to etype; the distribution of data to processes is set to filetype; and the representation of data in the file is set to datarep: one of \"native\" (default), \"internal\", or \"external32\".\n\nExternal links\n\nMPI_File_set_view man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.get_byte_offset","page":"I/O","title":"MPI.File.get_byte_offset","text":"MPI.File.get_byte_offset(file::FileHandle, offset::Integer)\n\nConverts a view-relative offset into an absolute byte position. Returns the absolute byte position (from the beginning of the file) of offset relative to the current view of file.\n\nExternal links\n\nMPI_File_get_byte_offset man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#Consistency","page":"I/O","title":"Consistency","text":"","category":"section"},{"location":"reference/io/","page":"I/O","title":"I/O","text":"MPI.File.sync\nMPI.File.get_atomicity\nMPI.File.set_atomicity","category":"page"},{"location":"reference/io/#MPI.File.sync","page":"I/O","title":"MPI.File.sync","text":"MPI.File.sync(fh::FileHandle)\n\nA collective operation causing all previous writes to fh by the calling process to be transferred to the storage device. If other processes have made updates to the storage device, then all such updates become visible to subsequent reads of fh by the calling process.\n\nExternal links\n\nMPI_File_sync man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.get_atomicity","page":"I/O","title":"MPI.File.get_atomicity","text":"MPI.File.get_atomicity(file::FileHandle)\n\nGet the consistency option for the fh. If false it is non-atomic.\n\nExternal links\n\nMPI_File_get_atomicity man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.set_atomicity","page":"I/O","title":"MPI.File.set_atomicity","text":"MPI.File.set_atomicity(file::FileHandle, flag::Bool)\n\nSet the consitency option for the fh.\n\nExternal links\n\nMPI_File_get_atomicity man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#Data-access","page":"I/O","title":"Data access","text":"","category":"section"},{"location":"reference/io/#Individual-pointer","page":"I/O","title":"Individual pointer","text":"","category":"section"},{"location":"reference/io/","page":"I/O","title":"I/O","text":"MPI.File.read!\nMPI.File.read_all!\nMPI.File.write\nMPI.File.write_all","category":"page"},{"location":"reference/io/#MPI.File.read!","page":"I/O","title":"MPI.File.read!","text":"MPI.File.read!(file::FileHandle, data)\n\nReads current view of file into data. data can be a Buffer, or any object for which Buffer(data) is defined.\n\nSee also\n\nMPI.File.set_view! to set the current view of the file\nMPI.File.read_all! for the collective operation\n\nExternal links\n\nMPI_File_read man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.read_all!","page":"I/O","title":"MPI.File.read_all!","text":"MPI.File.read_all!(file::FileHandle, data)\n\nReads current view of file into data. data can be a Buffer, or any object for which Buffer(data) is defined. This is a collective operation, so must be called on all ranks in the communicator on which file was opened.\n\nSee also\n\nMPI.File.set_view! to set the current view of the file\nMPI.File.read! for the noncollective operation\n\nExternal links\n\nMPI_File_read_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.write","page":"I/O","title":"MPI.File.write","text":"MPI.File.write(file::FileHandle, data)\n\nWrites data to the current view of file. data can be a Buffer, or any object for which Buffer_send(data) is defined.\n\nSee also\n\nMPI.File.set_view! to set the current view of the file\nMPI.File.write_all for the collective operation\n\nExternal links\n\nMPI_File_write man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.write_all","page":"I/O","title":"MPI.File.write_all","text":"MPI.File.write_all(file::FileHandle, data)\n\nWrites data to the current view of file. data can be a Buffer, or any object for which Buffer_send(data) is defined. This is a collective operation, so must be called on all ranks in the communicator on which file was opened.\n\nSee also\n\nMPI.File.set_view! to set the current view of the file\nMPI.File.write for the noncollective operation\n\nExternal links\n\nMPI_File_write_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#Explicit-offsets","page":"I/O","title":"Explicit offsets","text":"","category":"section"},{"location":"reference/io/","page":"I/O","title":"I/O","text":"MPI.File.read_at!\nMPI.File.read_at_all!\nMPI.File.write_at\nMPI.File.write_at_all","category":"page"},{"location":"reference/io/#MPI.File.read_at!","page":"I/O","title":"MPI.File.read_at!","text":"MPI.File.read_at!(file::FileHandle, offset::Integer, data)\n\nReads from file at position offset into data. data can be a Buffer, or any object for which Buffer(data) is defined.\n\nSee also\n\nMPI.File.read_at_all! for the collective operation\n\nExternal links\n\nMPI_File_read_at man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.read_at_all!","page":"I/O","title":"MPI.File.read_at_all!","text":"MPI.File.read_at_all!(file::FileHandle, offset::Integer, data)\n\nReads from file at position offset into data. data can be a Buffer, or any object for which Buffer(data) is defined. This is a collective operation, so must be called on all ranks in the communicator on which file was opened.\n\nSee also\n\nMPI.File.read_at! for the noncollective operation\n\nExternal links\n\nMPI_File_read_at_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.write_at","page":"I/O","title":"MPI.File.write_at","text":"MPI.File.write_at(file::FileHandle, offset::Integer, data)\n\nWrites data to file at position offset. data can be a Buffer, or any object for which Buffer_send(data) is defined.\n\nSee also\n\nMPI.File.write_at_all for the collective operation\n\nExternal links\n\nMPI_File_write_at man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.write_at_all","page":"I/O","title":"MPI.File.write_at_all","text":"MPI.File.write_at_all(file::FileHandle, offset::Integer, data)\n\nWrites from data to file at position offset. data can be a Buffer, or any object for which Buffer_send(data) is defined. This is a collective operation, so must be called on all ranks in the communicator on which file was opened.\n\nSee also\n\nMPI.File.write_at for the noncollective operation\n\nExternal links\n\nMPI_File_write_at_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#Shared-pointer","page":"I/O","title":"Shared pointer","text":"","category":"section"},{"location":"reference/io/","page":"I/O","title":"I/O","text":"MPI.File.read_shared!\nMPI.File.write_shared\nMPI.File.read_ordered!\nMPI.File.write_ordered\nMPI.File.seek_shared\nMPI.File.get_position_shared","category":"page"},{"location":"reference/io/#MPI.File.read_shared!","page":"I/O","title":"MPI.File.read_shared!","text":"MPI.File.read_shared!(file::FileHandle, data)\n\nReads from file using the shared file pointer into data.  data can be a Buffer, or any object for which Buffer(data) is defined.\n\nSee also\n\nMPI.File.read_ordered! for the collective operation\n\nExternal links\n\nMPI_File_read_shared man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.write_shared","page":"I/O","title":"MPI.File.write_shared","text":"MPI.File.write_shared(file::FileHandle, data)\n\nWrites to file using the shared file pointer from data. data can be a Buffer, or any object for which Buffer(data) is defined.\n\nSee also\n\nMPI.File.write_ordered for the collective operation\n\nExternal links\n\nMPI_File_write_shared man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.read_ordered!","page":"I/O","title":"MPI.File.read_ordered!","text":"MPI.File.read_ordered!(file::FileHandle, data)\n\nCollectively reads in rank order from file using the shared file pointer into data. data can be a Buffer, or any object for which Buffer(data) is defined. This is a collective operation, so must be called on all ranks in the communicator on which file was opened.\n\nSee also\n\nMPI.File.read_shared! for the noncollective operation\n\nExternal links\n\nMPI_File_read_ordered man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.write_ordered","page":"I/O","title":"MPI.File.write_ordered","text":"MPI.File.write_ordered(file::FileHandle, data)\n\nCollectively writes in rank order to file using the shared file pointer from data. data can be a Buffer, or any object for which Buffer(data) is defined. This is a collective operation, so must be called on all ranks in the communicator on which file was opened.\n\nSee also\n\nMPI.File.write_shared for the noncollective operation\n\nExternal links\n\nMPI_File_write_ordered man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.seek_shared","page":"I/O","title":"MPI.File.seek_shared","text":"MPI.File.seek_shared(file::FileHandle, offset::Integer, whence::Seek=SEEK_SET)\n\nUpdates the shared file pointer according to whence, which has the following possible values:\n\nMPI.File.SEEK_SET (default): the pointer is set to offset\nMPI.File.SEEK_CUR: the pointer is set to the current pointer position plus offset\nMPI.File.SEEK_END: the pointer is set to the end of file plus offset\n\nThis is a collective operation, and must be called with the same value on all processes in the communicator.\n\nExternal links\n\nMPI_File_seek_shared man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/io/#MPI.File.get_position_shared","page":"I/O","title":"MPI.File.get_position_shared","text":"MPI.File.get_position_shared(file::FileHandle)\n\nThe current position of the shared file pointer (in etype units) relative to the current view.\n\nExternal links\n\nMPI_File_get_position_shared man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/environment/#Environment","page":"Environment","title":"Environment","text":"","category":"section"},{"location":"reference/environment/#Launching-MPI-programs","page":"Environment","title":"Launching MPI programs","text":"","category":"section"},{"location":"reference/environment/","page":"Environment","title":"Environment","text":"mpiexec\nMPI.install_mpiexecjl","category":"page"},{"location":"reference/environment/#MPICH_jll.mpiexec","page":"Environment","title":"MPICH_jll.mpiexec","text":"mpiexec(fn)\n\nA wrapper function for the MPI launcher executable. Calls fn(cmd), where cmd is a Cmd object of the MPI launcher.\n\nUsage\n\njulia> mpiexec(cmd -> run(`$cmd -n 3 echo hello world`));\nhello world\nhello world\nhello world\n\n\n\n\n\n","category":"function"},{"location":"reference/environment/#MPI.install_mpiexecjl","page":"Environment","title":"MPI.install_mpiexecjl","text":"MPI.install_mpiexecjl(; command::String = \"mpiexecjl\",\n                      destdir::String = joinpath(DEPOT_PATH[1], \"bin\"),\n                      force::Bool = false, verbose::Bool = true)\n\nInstall the mpiexec wrapper to destdir directory, with filename command. Set force to true to overwrite an existing destination file with the same path.  If verbose is true, the installation prints information about the progress of the process.\n\n\n\n\n\n","category":"function"},{"location":"reference/environment/#Enums","page":"Environment","title":"Enums","text":"","category":"section"},{"location":"reference/environment/","page":"Environment","title":"Environment","text":"MPI.ThreadLevel","category":"page"},{"location":"reference/environment/#MPI.ThreadLevel","page":"Environment","title":"MPI.ThreadLevel","text":"ThreadLevel\n\nAn Enum denoting the level of threading support in the current process:\n\nMPI.THREAD_SINGLE: Only one thread will execute.\nMPI.THREAD_FUNNELED: The process may be multi-threaded, but the application must ensure that only the main thread makes MPI calls. See Is_thread_main.\nMPI.THREAD_SERIALIZED: The process may be multi-threaded, and multiple threads may make MPI calls, but only one at a time (i.e. all MPI calls are serialized).\nMPI.THREAD_MULTIPLE: Multiple threads may call MPI, with no restrictions.\n\nSee also\n\nInit\nQuery_thread\n\n\n\n\n\n","category":"type"},{"location":"reference/environment/#Functions","page":"Environment","title":"Functions","text":"","category":"section"},{"location":"reference/environment/","page":"Environment","title":"Environment","text":"MPI.Abort\nMPI.Init\nMPI.Query_thread\nMPI.Is_thread_main\nMPI.Initialized\nMPI.Finalize\nMPI.Finalized\nMPI.add_init_hook!\nMPI.add_finalize_hook!","category":"page"},{"location":"reference/environment/#MPI.Abort","page":"Environment","title":"MPI.Abort","text":"Abort(comm::Comm, errcode::Integer)\n\nMake a “best attempt” to abort all tasks in the group of comm. This function does not require that the invoking environment take any action with the error code. However, a Unix or POSIX environment should handle this as a return errorcode from the main program.\n\nExternal links\n\nMPI_Abort man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/environment/#MPI.Init","page":"Environment","title":"MPI.Init","text":"Init(;threadlevel=:serialized, finalize_atexit=true, errors_return=true)\n\nInitialize MPI in the current process. The keyword options:\n\nthreadlevel: either :single, :funneled, :serialized (default), :multiple, or an instance of ThreadLevel.\nfinalize_atexit: if true (default), adds an atexit hook to call MPI.Finalize if it hasn't already been called.\nerrors_return: if true (default), will set the default error handlers for MPI.COMM_SELF and MPI.COMM_WORLD to be MPI.ERRORS_RETURN. MPI errors will then appear as Julia exceptions.\n\nIt will return the ThreadLevel value which MPI is initialized at.\n\nAll MPI programs must call this function at least once before calling any other MPI operations: the only MPI functions that may be called before MPI.Init are MPI.Initialized and MPI.Finalized.\n\nIt is safe to call MPI.Init multiple times, however it is not valid to call it after calling MPI.Finalize.\n\nExternal links\n\nMPI_Init man page: OpenMPI, MPICH\nMPI_Init_thread man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/environment/#MPI.Query_thread","page":"Environment","title":"MPI.Query_thread","text":"Query_thread()\n\nQuery the level of threading support in the current process. Returns a ThreadLevel value denoting\n\nExternal links\n\nMPI_Query_thread man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/environment/#MPI.Is_thread_main","page":"Environment","title":"MPI.Is_thread_main","text":"Is_thread_main()\n\nQueries whether the current thread is the main thread according to MPI. This can be called by any thread, and is useful for the  THREAD_FUNNELED ThreadLevel.\n\nExternal links\n\nMPI_Is_thread_main man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/environment/#MPI.Initialized","page":"Environment","title":"MPI.Initialized","text":"Initialized()\n\nReturns true if MPI.Init has been called, false otherwise.\n\nIt is unaffected by MPI.Finalize, and is one of the few functions that may be called before MPI.Init.\n\nExternal links\n\nMPI_Intialized man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/environment/#MPI.Finalize","page":"Environment","title":"MPI.Finalize","text":"Finalize()\n\nMarks MPI state for cleanup. This should be called after MPI.Init, and can be called at most once. No further MPI calls (other than Initialized or Finalized) should be made after it is called.\n\nMPI.Init will automatically insert a hook to call this function when Julia exits, if it hasn't already been called.\n\nExternal links\n\nMPI_Finalize man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/environment/#MPI.Finalized","page":"Environment","title":"MPI.Finalized","text":"Finalized()\n\nReturns true if MPI.Finalize has completed, false otherwise.\n\nIt is safe to call before MPI.Init and after MPI.Finalize.\n\nExternal links\n\nMPI_Finalized man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/environment/#MPI.add_init_hook!","page":"Environment","title":"MPI.add_init_hook!","text":"MPI.add_init_hook!(f)\n\nRegister a function f that will be called as f() when MPI.Init is called. These are invoked in a first-in, first-out (FIFO) order.\n\n\n\n\n\n","category":"function"},{"location":"reference/environment/#MPI.add_finalize_hook!","page":"Environment","title":"MPI.add_finalize_hook!","text":"MPI.add_finalize_hook!(f)\n\nRegister a function f that will be called as f() when MPI.Finalizer is called. These are invoked in a last-in, first-out (LIFO) order.\n\n\n\n\n\n","category":"function"},{"location":"reference/environment/#Errors","page":"Environment","title":"Errors","text":"","category":"section"},{"location":"reference/environment/","page":"Environment","title":"Environment","text":"MPI.MPIError\nMPI.FeatureLevelError","category":"page"},{"location":"reference/environment/#MPI.MPIError","page":"Environment","title":"MPI.MPIError","text":"MPIError\n\nError thrown when an MPI function returns an error code. The code field contains the MPI error code.\n\n\n\n\n\n","category":"type"},{"location":"reference/environment/#MPI.API.FeatureLevelError","page":"Environment","title":"MPI.API.FeatureLevelError","text":"FeatureLevelError\n\nError thrown if a feature is not implemented in the current MPI backend.\n\n\n\n\n\n","category":"type"},{"location":"reference/group/#Groups","page":"Groups","title":"Groups","text":"","category":"section"},{"location":"reference/group/","page":"Groups","title":"Groups","text":"An MPI group is a set of process identifiers identified by their rank (see  MPI.Comm_rank and MPI.Group_rank). They are used within a  communicator to describe the participants in a communication universe.","category":"page"},{"location":"reference/group/#Types-and-enums","page":"Groups","title":"Types and enums","text":"","category":"section"},{"location":"reference/group/","page":"Groups","title":"Groups","text":"MPI.Group\nMPI.Comparison","category":"page"},{"location":"reference/group/#MPI.Group","page":"Groups","title":"MPI.Group","text":"MPI.Group\n\nAn MPI Group object.\n\n\n\n\n\n","category":"type"},{"location":"reference/group/#MPI.Comparison","page":"Groups","title":"MPI.Comparison","text":"Comparison\n\nAn enum denoting the result of Comm_compare:\n\nMPI.IDENT: the objects are handles for the same object (identical groups and same contexts).\nMPI.CONGRUENT: the underlying groups are identical in constituents and rank order; these communicators differ only by context.\nMPI.SIMILAR: members of both objects are the same but the rank order differs.\nMPI.UNEQUAL: otherwise\n\n\n\n\n\n","category":"type"},{"location":"reference/group/#Functions","page":"Groups","title":"Functions","text":"","category":"section"},{"location":"reference/group/#Operations","page":"Groups","title":"Operations","text":"","category":"section"},{"location":"reference/group/","page":"Groups","title":"Groups","text":"MPI.Group_size\nMPI.Group_rank","category":"page"},{"location":"reference/group/#MPI.Group_size","page":"Groups","title":"MPI.Group_size","text":"Group_size(group::Group)\n\nThe number of processes involved in group.\n\nExternal links\n\nMPI_Group_size man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/group/#MPI.Group_rank","page":"Groups","title":"MPI.Group_rank","text":"Group_rank(group::Group)\n\nThe rank of the process in the particular group.\n\nReturns an integer in the range 0:MPI.Group_size()-1.\n\nExternal links\n\nMPI_Group_rank man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#Topology","page":"Topology","title":"Topology","text":"","category":"section"},{"location":"reference/topology/#Cartesian","page":"Topology","title":"Cartesian","text":"","category":"section"},{"location":"reference/topology/","page":"Topology","title":"Topology","text":"MPI.Dims_create\nMPI.Cart_create\nMPI.Cart_get\nMPI.Cart_coords\nMPI.Cart_rank\nMPI.Cart_shift\nMPI.Cart_sub\nMPI.Cartdim_get","category":"page"},{"location":"reference/topology/#MPI.Dims_create","page":"Topology","title":"MPI.Dims_create","text":"newdims = Dims_create(nnodes::Integer, dims)\n\nA convenience function for selecting a balanced Cartesian grid of a total of nnodes nodes, for example to use with MPI.Cart_create.\n\ndims is an array or tuple of integers specifying the number of nodes in each dimension. The function returns an array newdims of the same length, such that if newdims[i] = dims[i] if dims[i] is non-zero, and prod(newdims) == nnodes, and values newdims are as close to each other as possible.\n\nnnodes should be divisible by the product of the non-zero entries of dims.\n\nExternal links\n\nMPI_Dims_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#MPI.Cart_create","page":"Topology","title":"MPI.Cart_create","text":"comm_cart = Cart_create(comm::Comm, dims; periodic=map(_->false, dims), reorder=false)\n\nCreate new MPI communicator with Cartesian topology information attached.\n\ndims is an array or tuple of integers specifying the number of MPI processes in each coordinate direction, and periodic is an array or tuple of Bools indicating the periodicity of each coordinate. prod(dims) must be less than or equal to the size of comm; if it is smaller than some processes are returned a null communicator.\n\nIf reorder == false then the rank of each process in the new group is identical to its rank in the old group, otherwise the function may reorder the processes.\n\nSee also MPI.Dims_create.\n\nExternal links\n\nMPI_Cart_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#MPI.Cart_get","page":"Topology","title":"MPI.Cart_get","text":"dims, periods, coords = Cart_get(comm::Comm)\n\nObtain information on the Cartesian topology of dimension N underlying the communicator comm. This is specified by two Cint arrays of N elements for the number of processes and periodicity properties along each Cartesian dimension. A third Cint array is returned, containing the Cartesian coordinates of the calling process.\n\nExternal links\n\nMPI_Cart_get man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#MPI.Cart_coords","page":"Topology","title":"MPI.Cart_coords","text":"coords = Cart_coords(comm::Comm, rank::Integer=Comm_rank(comm))\n\nDetermine coordinates of a process with rank rank in the Cartesian communicator comm. If no rank is provided, it returns the coordinates of the current process.\n\nReturns an integer array of the 0-based coordinates. The inverse of Cart_rank.\n\nExternal links\n\nMPI_Cart_coords man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#MPI.Cart_rank","page":"Topology","title":"MPI.Cart_rank","text":"rank = Cart_rank(comm::Comm, coords)\n\nDetermine process rank in communicator comm with Cartesian structure.  The coords array specifies the 0-based Cartesian coordinates of the process. This is the inverse of MPI.Cart_coords\n\nExternal links\n\nMPI_Cart_rank man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#MPI.Cart_shift","page":"Topology","title":"MPI.Cart_shift","text":"rank_source, rank_dest = Cart_shift(comm::Comm, direction::Integer, disp::Integer)\n\nReturn the source and destination ranks associated to a shift along a given direction.\n\nExternal links\n\nMPI_Cart_shift man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#MPI.Cart_sub","page":"Topology","title":"MPI.Cart_sub","text":"comm_sub = Cart_sub(comm::Comm, remain_dims)\n\nCreate lower-dimensional Cartesian communicator from existent Cartesian topology.\n\nremain_dims should be a boolean vector specifying the dimensions that should be kept in the generated subgrid.\n\nExternal links\n\nMPI_Cart_sub man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#MPI.Cartdim_get","page":"Topology","title":"MPI.Cartdim_get","text":"ndims = Cartdim_get(comm::Comm)\n\nReturn number of dimensions of the Cartesian topology associated with the communicator comm.\n\nExternal links\n\nMPI_Cartdim_get man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#Graph-topology","page":"Topology","title":"Graph topology","text":"","category":"section"},{"location":"reference/topology/","page":"Topology","title":"Topology","text":"MPI.UNWEIGHTED\nMPI.Dist_graph_create\nMPI.Dist_graph_create_adjacent\nMPI.Dist_graph_neighbors_count\nMPI.Dist_graph_neighbors!\nMPI.Dist_graph_neighbors","category":"page"},{"location":"reference/topology/#MPI.UNWEIGHTED","page":"Topology","title":"MPI.UNWEIGHTED","text":"MPI.UNWEIGHTED :: MPI.Unweighted\n\nThis is used to indicate that a graph topology is unweighted. It can be supplied as an argument to Dist_graph_create_adjacent, Dist_graph_create, and Dist_graph_neighbors!; or obtained as the return value from Dist_graph_neighbors.\n\n\n\n\n\n","category":"constant"},{"location":"reference/topology/#MPI.Dist_graph_create","page":"Topology","title":"MPI.Dist_graph_create","text":"graph_comm = Dist_graph_create(comm::Comm, sources::Vector{Cint}, degrees::Vector{Cint}, destinations::Vector{Cint}; weights::Union{Vector{Cint}, Unweighted, WeightsEmpty}=UNWEIGHTED, reorder=false, infokws...)\n\nCreate a new communicator from a given directed graph topology, described by incoming and outgoing edges on an existing communicator.\n\nArguments\n\ncomm::Comm: The communicator on which the distributed graph topology should be induced.\nsources::Vector{Cint}: An array with the ranks for which this call will specify outgoing edges.\ndegrees::Vector{Cint}: An array with the number of outgoing edges for each entry in the sources array.\ndestinations::Vector{Cint}: An array containing with lenght of the sum of the entries in the degrees array                               describing the ranks towards the edges point.\nweights::Union{Vector{Cint}, Unweighted, WeightsEmpty}: The edge weights of the specified edges. The default is MPI.UNWEIGHTED.\nreorder::Bool=false: If set true, then the MPI implementation can reorder the source and destination indices.\n\nExample\n\nWe can generate a ring graph 1 --> 2 --> ... --> N --> 1, where N is the number of ranks in the communicator, as follows\n\njulia> rank = MPI.Comm_rank(comm);\njulia> N = MPI.Comm_size(comm);\njulia> sources = Cint[rank];\njulia> degrees = Cint[1];\njulia> destinations = Cint[mod(rank-1, N)];\njulia> graph_comm = Dist_graph_create(comm, sources, degrees, destinations)\n\nExternal links\n\nMPI_Dist_graph_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#MPI.Dist_graph_create_adjacent","page":"Topology","title":"MPI.Dist_graph_create_adjacent","text":"graph_comm = Dist_graph_create_adjacent(comm::Comm,\n    sources::Vector{Cint}, destinations::Vector{Cint};\n    source_weights::Union{Vector{Cint}, Unweighted, WeightsEmpty}=UNWEIGHTED, destination_weights::Union{Vector{Cint}, Unweighted, WeightsEmpty}=UNWEIGHTED,\n    reorder=false, infokws...)\n\nCreate a new communicator from a given directed graph topology, described by local incoming and outgoing edges on an existing communicator.\n\nArguments\n\ncomm::Comm: The communicator on which the distributed graph topology should be induced.\nsources::Vector{Cint}: The local, incoming edges on the rank of the calling process.\ndestinations::Vector{Cint}: The local, outgoing edges on the rank of the calling process.\nsource_weights::Union{Vector{Cint}, Unweighted, WeightsEmpty}: The edge weights of the local, incoming edges. The default is MPI.UNWEIGHTED.\ndestinations_weights::Union{Vector{Cint}, Unweighted, WeightsEmpty}: The edge weights of the local, outgoing edges. The default is MPI.UNWEIGHTED.\nreorder::Bool=false: If set true, then the MPI implementation can reorder the source and destination indices.\n\nExample\n\nWe can generate a ring graph 1 --> 2 --> ... --> N --> 1, where N is the number of ranks in the communicator, as follows\n\njulia> rank = MPI.Comm_rank(comm);\njulia> N = MPI.Comm_size(comm);\njulia> sources = Cint[mod(rank-1, N)];\njulia> destinations = Cint[mod(rank+1, N)];\njulia> graph_comm = Dist_graph_create_adjacent(comm, sources, destinations);\n\nExternal links\n\nMPI_Dist_graph_create_adjacent man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#MPI.Dist_graph_neighbors_count","page":"Topology","title":"MPI.Dist_graph_neighbors_count","text":"indegree, outdegree, weighted = Dist_graph_neighbors_count(graph_comm::Comm)\n\nReturn the number of in and out edges for the calling processes in a distributed graph topology and a flag indicating whether the distributed graph is weighted.\n\nArguments\n\ngraph_comm::Comm: The communicator of the distributed graph topology.\n\nExample\n\nLet us assume the following graph 0 <--> 1 --> 2, which has no weights on its edges, then the process with rank 1 will obtain the following result from calling the function\n\njulia> Dist_graph_neighbors_count(graph_comm)\n(1,2,false)\n\nExternal links\n\nMPI_Dist_graph_neighbors_count man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#MPI.Dist_graph_neighbors!","page":"Topology","title":"MPI.Dist_graph_neighbors!","text":"Dist_graph_neighbors!(graph_comm::MPI.Comm,\n   sources::Vector{Cint}, source_weights::Union{Vector{Cint}, Unweighted},\n   destinations::Vector{Cint}, destination_weights::Union{Vector{Cint}, Unweighted},\n)\nDist_graph_neighbors!(graph_comm::Comm, sources::Vector{Cint}, destinations::Vector{Cint})\n\nQuery the neighbors and edge weights (optional) of the calling process in a distributed graph topology.\n\nArguments\n\ngraph_comm::Comm: The communicator of the distributed graph topology.\nsources: A preallocated Vector{Cint}, which will be filled with the ranks           of the processes whose edges pointing towards the calling process.           The length is exactly the indegree returned by           MPI.Dist_graph_neighbors_count.\nsource_weights: A preallocated Vector{Cint}, which will be filled with the           weights associated to the edges pointing towards the calling           process. The length is exactly the indegree returned by           MPI.Dist_graph_neighbors_count. Alternatively,           MPI.UNWEIGHTED can be used if weight information is not required.\ndestinations: A preallocated Vector{Cint}, which will be filled with the           ranks of the processes towards which the edges of the calling           process point. The length is exactly the outdegree returned by           [MPI.Distgraphneighbors_count`](@ref).\ndestination_weights: A preallocated Vector{Cint}, which will be filled           with the weights associated to the edges of the outgoing edges of           the calling process point. The length is exactly the outdegree           returned by MPI.Dist_graph_neighbors_count. Alternatively,           MPI.UNWEIGHTED can be used if weight information is not required.\n\nExample\n\nLet us assume the following graph:\n\n            rank 0 <-----> rank 1 ------> rank 2\nweights:              3             4\n\nthen then the process with rank 1 will need to preallocate sources and source_weights as vectors of length 1, and a destinations and destination_weights as vectors of length 2.\n\nThe call will fill the vectors as follows:\n\njulia> MPI.Dist_graph_neighbors!(graph_comm, sources, source_weights, destinations, destination_weights);\njulia> sources\n[0]\njulia> source_weights\n[3]\njulia> destinations\n[0,2]\njulia> destination_weights\n[3,4]\n\nNote that the edge between ranks 0 and 1 can have a different weight depending on whether it is the incoming edge 0 --> 1 or the outgoing one 0 <-- 1.\n\nSee also\n\nDist_graph_neighbors\n\nExternal links\n\nMPI_Dist_graph_neighbors man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/topology/#MPI.Dist_graph_neighbors","page":"Topology","title":"MPI.Dist_graph_neighbors","text":"sources, source_weights, destinations, destination_weights = Dist_graph_neighbors(graph_comm::MPI.Comm)\n\nReturn (sources, source_weights, destinations, destination_weights) of the graph communicator graph_comm. For unweighted graphs source_weights and destination_weights are returned as MPI.UNWEIGHTED.\n\nThis function is a wrapper around MPI.Dist_graph_neighbors_count and MPI.Dist_graph_neighbors! that automatically handles the allocation of the result vectors.\n\n\n\n\n\n","category":"function"},{"location":"examples/05-job_schedule/","page":"Job Scheduling","title":"Job Scheduling","text":"EditURL = \"https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/05-job_schedule.jl\"","category":"page"},{"location":"examples/05-job_schedule/#Job-Scheduling","page":"Job Scheduling","title":"Job Scheduling","text":"","category":"section"},{"location":"examples/05-job_schedule/","page":"Job Scheduling","title":"Job Scheduling","text":"# examples/05-job_schedule.jl\n# This example demonstrates a job scheduling through adding the\n# number 100 to every component of the vector data. The root\n# assigns one element to each worker to compute the operation.\n# When the worker is finished, the root sends another element\n# until each element is added 100\n# Inspired on\n# https://www.hpc.ntnu.no/ntnu-hpc-group/vilje/user-guide/software/mpi-and-mpi-io-training-tutorial/basic-mpi/job-queue\n\nusing MPI\n\nfunction job_queue(data,f)\n    MPI.Init()\n\n    comm = MPI.COMM_WORLD\n    rank = MPI.Comm_rank(comm)\n    world_size = MPI.Comm_size(comm)\n    nworkers = world_size - 1\n\n    root = 0\n\n    MPI.Barrier(comm)\n    T = eltype(data)\n    N = size(data)[1]\n    send_mesg = Array{T}(undef, 1)\n    recv_mesg = Array{T}(undef, 1)\n\n    if rank == root # I am root\n\n        idx_recv = 0\n        idx_sent = 1\n\n        new_data = Array{T}(undef, N)\n        # Array of workers requests\n        sreqs_workers = Array{MPI.Request}(undef,nworkers)\n        # -1 = start, 0 = channel not available, 1 = channel available\n        status_workers = ones(nworkers).*-1\n\n        # Send message to workers\n        for dst in 1:nworkers\n            if idx_sent > N\n                break\n            end\n            send_mesg[1] = data[idx_sent]\n            sreq = MPI.Isend(send_mesg, comm; dest=dst, tag=dst+32)\n            idx_sent += 1\n            sreqs_workers[dst] = sreq\n            status_workers[dst] = 0\n            print(\"Root: Sent number $(send_mesg[1]) to Worker $dst\\n\")\n        end\n\n        # Send and receive messages until all elements are added\n        while idx_recv != N\n            # Check to see if there is an available message to receive\n            for dst in 1:nworkers\n                if status_workers[dst] == 0\n                    flag = MPI.Test(sreqs_workers[dst])\n                    if flag\n                        status_workers[dst] = 1\n                    end\n                end\n            end\n            for dst in 1:nworkers\n                if status_workers[dst] == 1\n                    ismessage = MPI.Iprobe(comm; source=dst, tag=dst+32)\n                    if ismessage\n                        # Receives message\n                        MPI.Recv!(recv_mesg, comm; source=dst, tag=dst+32)\n                        idx_recv += 1\n                        new_data[idx_recv] = recv_mesg[1]\n                        print(\"Root: Received number $(recv_mesg[1]) from Worker $dst\\n\")\n                        if idx_sent <= N\n                            send_mesg[1] = data[idx_sent]\n                            # Sends new message\n                            sreq = MPI.Isend(send_mesg, comm; dest=dst, tag=dst+32)\n                            idx_sent += 1\n                            sreqs_workers[dst] = sreq\n                            status_workers[dst] = 1\n                            print(\"Root: Sent number $(send_mesg[1]) to Worker $dst\\n\")\n                        end\n                    end\n                end\n            end\n        end\n\n        for dst in 1:nworkers\n            # Termination message to worker\n            send_mesg[1] = -1\n            sreq = MPI.Isend(send_mesg, comm; dest=dst, tag=dst+32)\n            sreqs_workers[dst] = sreq\n            status_workers[dst] = 0\n            print(\"Root: Finish Worker $dst\\n\")\n        end\n\n        MPI.Waitall(sreqs_workers)\n        print(\"Root: New data = $new_data\\n\")\n    else # If rank == worker\n        # -1 = start, 0 = channel not available, 1 = channel available\n        status_worker = -1\n        while true\n            sreqs_workers = Array{MPI.Request}(undef,1)\n            ismessage = MPI.Iprobe(comm; source=root, tag=rank+32)\n\n            if ismessage\n                # Receives message\n                MPI.Recv!(recv_mesg, comm; source=root, tag=rank+32)\n                # Termination message from root\n                if recv_mesg[1] == -1\n                    print(\"Worker $rank: Finish\\n\")\n                    break\n                end\n                print(\"Worker $rank: Received number $(recv_mesg[1]) from root\\n\")\n                # Apply function (add number 100) to array\n                send_mesg = f(recv_mesg)\n                sreq = MPI.Isend(send_mesg, comm; dest=root, tag=rank+32)\n                sreqs_workers[1] = sreq\n                status_worker = 0\n            end\n            # Check to see if there is an available message to receive\n            if status_worker == 0\n                flag = MPI.Test(sreqs_workers[1])\n                if flag\n                    status_worker = 1\n                end\n            end\n        end\n    end\n    MPI.Barrier(comm)\n    MPI.Finalize()\nend\n\nf = x -> x.+100\ndata = collect(1:10)\njob_queue(data,f)","category":"page"},{"location":"examples/05-job_schedule/","page":"Job Scheduling","title":"Job Scheduling","text":"> mpiexecjl -n 4 julia examples/05-job_schedule.jl\nRoot: Sent number 1 to Worker 1\nRoot: Sent number 2 to Worker 2\nRoot: Sent number 3 to Worker 3\nWorker 1: Received number 1 from root\nWorker 3: Received number 3 from root\nRoot: Received number 101 from Worker 1\nRoot: Sent number 4 to Worker 1\nWorker 1: Received number 4 from root\nRoot: Received number 104 from Worker 1\nRoot: Sent number 5 to Worker 1\nWorker 1: Received number 5 from root\nRoot: Received number 105 from Worker 1\nRoot: Sent number 6 to Worker 1\nWorker 1: Received number 6 from root\nRoot: Received number 106 from Worker 1\nRoot: Sent number 7 to Worker 1\nWorker 1: Received number 7 from root\nRoot: Received number 107 from Worker 1\nRoot: Sent number 8 to Worker 1\nWorker 1: Received number 8 from root\nRoot: Received number 108 from Worker 1\nRoot: Sent number 9 to Worker 1\nWorker 1: Received number 9 from root\nRoot: Received number 109 from Worker 1\nRoot: Sent number 10 to Worker 1\nWorker 1: Received number 10 from root\nRoot: Received number 110 from Worker 1\nRoot: Received number 103 from Worker 3\nWorker 2: Received number 2 from root\nRoot: Received number 102 from Worker 2\nRoot: Finish Worker 1\nWorker 1: Finish\nRoot: Finish Worker 2\nRoot: Finish Worker 3\nRoot: New data = [101, 104, 105, 106, 107, 108, 109, 110, 103, 102]\nWorker 3: Finish\nWorker 2: Finish","category":"page"},{"location":"reference/advanced/#Advanced","page":"Advanced","title":"Advanced","text":"","category":"section"},{"location":"reference/advanced/#Object-handling","page":"Advanced","title":"Object handling","text":"","category":"section"},{"location":"reference/advanced/","page":"Advanced","title":"Advanced","text":"MPI.free","category":"page"},{"location":"reference/advanced/#MPI.free","page":"Advanced","title":"MPI.free","text":"MPI.free(obj)\n\nFree the MPI object handle obj. This is typically used as the finalizer, and so need not be called directly unless otherwise noted.\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#Datatype-objects","page":"Advanced","title":"Datatype objects","text":"","category":"section"},{"location":"reference/advanced/","page":"Advanced","title":"Advanced","text":"MPI.Datatype\nMPI.to_type\nMPI.Types.extent\nMPI.Types.create_contiguous\nMPI.Types.create_vector\nMPI.Types.create_hvector\nMPI.Types.create_subarray\nMPI.Types.create_struct\nMPI.Types.create_resized\nMPI.Types.commit!\nMPI.Types.duplicate","category":"page"},{"location":"reference/advanced/#MPI.Datatype","page":"Advanced","title":"MPI.Datatype","text":"Datatype\n\nA Datatype represents the layout of the data in memory.\n\nUsage\n\nDatatype(T)\n\nEither return the predefined Datatype corresponding to T, or create a new Datatype for the Julia type T, calling Types.commit! so that it can be used for communication operations.\n\nNote that this can only be called on types for which isbitstype(T) is true.\n\n\n\n\n\n","category":"type"},{"location":"reference/advanced/#MPI.to_type","page":"Advanced","title":"MPI.to_type","text":"to_type(datatype::Datatype)\n\nReturn the Julia type corresponding to the MPI Datatype datatype, or nothing if it doesn't correspond directly.\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#MPI.Types.extent","page":"Advanced","title":"MPI.Types.extent","text":"lb, extent = MPI.Types.extent(dt::MPI.Datatype)\n\nGets the lowerbound lb and the extent extent in bytes.\n\nExternal links\n\nMPI_Type_get_extent man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#MPI.Types.create_contiguous","page":"Advanced","title":"MPI.Types.create_contiguous","text":"MPI.Types.create_contiguous(count::Integer, oldtype::MPI.Datatype)\n\nCreate a derived Datatype that replicates oldtype into count contiguous locations.\n\nNote that MPI.Types.commit! must be used before the datatype can be used for communication.\n\nExternal links\n\nMPI_Type_contiguous man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#MPI.Types.create_vector","page":"Advanced","title":"MPI.Types.create_vector","text":"MPI.Types.create_vector(count::Integer, blocklength::Integer, stride::Integer, oldtype::MPI.Datatype)\n\nCreate a derived Datatype that replicates oldtype into locations that consist of equally spaced blocks.\n\nNote that MPI.Types.commit! must be used before the datatype can be used for communication.\n\nExample\n\ndatatype = MPI.Types.create_vector(3, 2, 5, MPI.Datatype(Int64))\nMPI.Types.commit!(datatype)\n\nwill create a datatype with the following layout\n\n|<----->|  block length\n\n+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+\n| X | X |   |   |   | X | X |   |   |   | X | X |   |   |   |\n+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+\n\n|<---- stride ----->|\n\nwhere each segment represents an Int64.\n\n(image by Jonathan Dursi, https://stackoverflow.com/a/10788351/392585)\n\nExternal links\n\nMPI_Type_vector man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#MPI.Types.create_hvector","page":"Advanced","title":"MPI.Types.create_hvector","text":"MPI.Types.create_hvector(count::Integer, blocklength::Integer, stride::Integer, oldtype::MPI.Datatype)\n\nCreate a derived Datatype that replicates oldtype into locations that consist of equally spaced (bytes) blocks.\n\nNote that MPI.Types.commit! must be used before the datatype can be used for communication.\n\nExample\n\ndatatype = MPI.Types.create_hvector(3, 2, 5, MPI.Datatype(Int64))\nMPI.Types.commit!(datatype)\n\nExternal links\n\nMPI_Type_create_hvector man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#MPI.Types.create_subarray","page":"Advanced","title":"MPI.Types.create_subarray","text":"MPI.Types.create_subarray(sizes, subsizes, offset, oldtype::Datatype;\n                          rowmajor=false)\n\nCreates a derived Datatype describing an N-dimensional subarray of size subsizes of an N-dimensional array of size sizes and element type oldtype, with the first element offset by offset (i.e. the 0-based index of the first element).\n\nColumn-major indexing (used by Julia and Fortran) is assumed; use the keyword rowmajor=true to specify row-major layout (used by C and numpy).\n\nNote that MPI.Types.commit! must be used before the datatype can be used for communication.\n\nExternal links\n\nMPI_Type_create_subarray man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#MPI.Types.create_struct","page":"Advanced","title":"MPI.Types.create_struct","text":"MPI.Types.create_struct(blocklengths, displacements, types)\n\nCreates a derived Datatype describing a struct layout.\n\nNote that MPI.Types.commit! must be used before the datatype can be used for communication.\n\nExternal links\n\nMPI_Type_create_struct man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#MPI.Types.create_resized","page":"Advanced","title":"MPI.Types.create_resized","text":"MPI.Types.create_resized(oldtype::Datatype, lb::Integer, extent::Integer)\n\nCreates a new Datatype that is identical to oldtype, except that the lower bound of this new datatype is set to be lb, and its upper bound is set to be lb + extent.\n\nNote that MPI.Types.commit! must be used before the datatype can be used for communication.\n\nSee also\n\nMPI.Types.extent\n\nExternal links\n\nMPI_Type_create_resized man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#MPI.Types.commit!","page":"Advanced","title":"MPI.Types.commit!","text":"MPI.Types.commit!(newtype::Datatype)\n\nCommits the Datatype newtype so that it can be used for communication. Returns newtype.\n\nExternal links\n\nMPI_Type_commit man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#MPI.Types.duplicate","page":"Advanced","title":"MPI.Types.duplicate","text":"MPI.Types.duplicate(oldtype::Datatype)\n\nDuplicates the datatype oldtype.\n\nExternal links\n\nMPI_Type_dup man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#Operator-objects","page":"Advanced","title":"Operator objects","text":"","category":"section"},{"location":"reference/advanced/","page":"Advanced","title":"Advanced","text":"MPI.Op","category":"page"},{"location":"reference/advanced/#MPI.Op","page":"Advanced","title":"MPI.Op","text":"Op\n\nAn MPI reduction operator, for use with Reduce/Scan collective operations to wrap binary operators. MPI.jl will perform this conversion automatically.\n\nUsage\n\nOp(op, T=Any; iscommutative=false)\n\nWrap the Julia reduction function op for arguments of type T. op is assumed to be associative, and if iscommutative is true, assumed to be commutative as well.\n\nSee also\n\nReduce!/Reduce\nAllreduce!/Allreduce\nScan!/Scan\nExscan!/Exscan\n\n\n\n\n\n","category":"type"},{"location":"reference/advanced/#Info-objects","page":"Advanced","title":"Info objects","text":"","category":"section"},{"location":"reference/advanced/","page":"Advanced","title":"Advanced","text":"MPI.Info\nMPI.infoval","category":"page"},{"location":"reference/advanced/#MPI.Info","page":"Advanced","title":"MPI.Info","text":"Info <: AbstractDict{Symbol,String}\n\nMPI.Info objects store key-value pairs, and are typically used for passing optional arguments to MPI functions.\n\nUsage\n\nThese will typically be hidden from user-facing APIs by splatting keywords, e.g.\n\nfunction f(args...; kwargs...)\n    info = Info(kwargs...)\n    # pass `info` object to `ccall`\nend\n\nFor manual usage, Info objects act like Julia Dict objects:\n\ninfo = Info(init=true) # keyword argument is required\ninfo[key] = value\nx = info[key]\ndelete!(info, key)\n\nIf init=false is used in the costructor (the default), a \"null\" Info object will be returned: no keys can be added to such an object.\n\n\n\n\n\n","category":"type"},{"location":"reference/advanced/#MPI.infoval","page":"Advanced","title":"MPI.infoval","text":"infoval(x)\n\nConvert Julia object x to a string representation for storing in an Info object.\n\nThe MPI specification allows passing strings, Boolean values, integers, and lists.\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#Error-handler-objects","page":"Advanced","title":"Error handler objects","text":"","category":"section"},{"location":"reference/advanced/","page":"Advanced","title":"Advanced","text":"MPI.Errhandler\nMPI.get_errorhandler\nMPI.set_errorhandler!","category":"page"},{"location":"reference/advanced/#MPI.Errhandler","page":"Advanced","title":"MPI.Errhandler","text":"MPI.Errhandler\n\nAn MPI error handler object. Currently only two are supported:\n\nERRORS_ARE_FATAL (default): program will immediately abort\nERRORS_RETURN: program will throw an MPIError.\n\n\n\n\n\n","category":"type"},{"location":"reference/advanced/#MPI.get_errorhandler","page":"Advanced","title":"MPI.get_errorhandler","text":"MPI.get_errorhandler(comm::MPI.Comm)\nMPI.get_errorhandler(win::MPI.Win)\nMPI.get_errorhandler(file::MPI.File.FileHandle)\n\nGet the current Errhandler for the relevant MPI object.\n\nSee also\n\nset_errorhandler!\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#MPI.set_errorhandler!","page":"Advanced","title":"MPI.set_errorhandler!","text":"MPI.set_errorhandler!(comm::MPI.Comm, errh::Errhandler)\nMPI.set_errorhandler!(win::MPI.Win, errh::Errhandler)\nMPI.set_errorhandler!(file::MPI.File.FileHandle, errh::Errhandler)\n\nSet the Errhandler for the relevant MPI object.\n\nSee also\n\nget_errorhandler\n\n\n\n\n\n","category":"function"},{"location":"reference/advanced/#Miscellaneous","page":"Advanced","title":"Miscellaneous","text":"","category":"section"},{"location":"reference/advanced/","page":"Advanced","title":"Advanced","text":"MPI.API.@const_ref","category":"page"},{"location":"reference/advanced/#MPI.API.@const_ref","page":"Advanced","title":"MPI.API.@const_ref","text":"@const_ref name T expr\n\nDefines an constant binding\n\nconst name = Ref{T}()\n\nand adds a hook to execute\n\nname[] = expr\n\nat module initialization time.\n\n\n\n\n\n","category":"macro"},{"location":"examples/06-scatterv/","page":"Scatterv and Gatherv","title":"Scatterv and Gatherv","text":"EditURL = \"https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/06-scatterv.jl\"","category":"page"},{"location":"examples/06-scatterv/#Scatterv-and-Gatherv","page":"Scatterv and Gatherv","title":"Scatterv and Gatherv","text":"","category":"section"},{"location":"examples/06-scatterv/","page":"Scatterv and Gatherv","title":"Scatterv and Gatherv","text":"# examples/06-scatterv.jl\n# This example shows how to use MPI.Scatterv! and MPI.Gatherv!\n# roughly based on the example from\n# https://stackoverflow.com/a/36082684/392585\n\nusing MPI\n\n\"\"\"\n    split_count(N::Integer, n::Integer)\n\nReturn a vector of `n` integers which are approximately equally sized and sum to `N`.\n\"\"\"\nfunction split_count(N::Integer, n::Integer)\n    q,r = divrem(N, n)\n    return [i <= r ? q+1 : q for i = 1:n]\nend\n\n\nMPI.Init()\n\ncomm = MPI.COMM_WORLD\nrank = MPI.Comm_rank(comm)\ncomm_size = MPI.Comm_size(comm)\n\nroot = 0\n\nif rank == root\n    M, N = 4, 7\n\n    test = Float64[i for i = 1:M, j = 1:N]\n    output = similar(test)\n    \n    # Julia arrays are stored in column-major order, so we need to split along the last dimension\n    # dimension\n    M_counts = [M for i = 1:comm_size]\n    N_counts = split_count(N, comm_size)\n\n    # store sizes in 2 * comm_size Array\n    sizes = vcat(M_counts', N_counts')\n    size_ubuf = UBuffer(sizes, 2)\n\n    # store number of values to send to each rank in comm_size length Vector\n    counts = vec(prod(sizes, dims=1))\n\n    test_vbuf = VBuffer(test, counts) # VBuffer for scatter\n    output_vbuf = VBuffer(output, counts) # VBuffer for gather\nelse\n    # these variables can be set to `nothing` on non-root processes\n    size_ubuf = UBuffer(nothing)\n    output_vbuf = test_vbuf = VBuffer(nothing)\nend\n\nif rank == root\n    println(\"Original matrix\")\n    println(\"================\")\n    @show test sizes counts\n    println()\n    println(\"Each rank\")\n    println(\"================\")\nend \nMPI.Barrier(comm)\n\nlocal_size = MPI.Scatter(size_ubuf, NTuple{2,Int}, root, comm)\nlocal_test = MPI.Scatterv!(test_vbuf, zeros(Float64, local_size), root, comm)\n\nfor i = 0:comm_size-1\n    if rank == i\n        @show rank local_test\n    end\n    MPI.Barrier(comm)\nend\n\nMPI.Gatherv!(local_test, output_vbuf, root, comm)\n\nif rank == root\n    println()\n    println(\"Final matrix\")\n    println(\"================\")\n    @show output\nend ","category":"page"},{"location":"examples/06-scatterv/","page":"Scatterv and Gatherv","title":"Scatterv and Gatherv","text":"> mpiexecjl -n 4 julia examples/06-scatterv.jl\nOriginal matrix\n================\ntest = [1.0 1.0 1.0 1.0 1.0 1.0 1.0; 2.0 2.0 2.0 2.0 2.0 2.0 2.0; 3.0 3.0 3.0 3.0 3.0 3.0 3.0; 4.0 4.0 4.0 4.0 4.0 4.0 4.0]\nsizes = [4 4 4 4; 2 2 2 1]\ncounts = [8, 8, 8, 4]\n\nEach rank\n================\nrank = 0\nlocal_test = [1.0 1.0; 2.0 2.0; 3.0 3.0; 4.0 4.0]\nrank = 1\nlocal_test = [1.0 1.0; 2.0 2.0; 3.0 3.0; 4.0 4.0]\nrank = 2\nlocal_test = [1.0 1.0; 2.0 2.0; 3.0 3.0; 4.0 4.0]\nrank = 3\nlocal_test = [1.0; 2.0; 3.0; 4.0;;]\n\nFinal matrix\n================\noutput = [1.0 1.0 1.0 1.0 1.0 1.0 1.0; 2.0 2.0 2.0 2.0 2.0 2.0 2.0; 3.0 3.0 3.0 3.0 3.0 3.0 3.0; 4.0 4.0 4.0 4.0 4.0 4.0 4.0]","category":"page"},{"location":"reference/mpipreferences/#MPIPreferences.jl","page":"MPIPreferences.jl","title":"MPIPreferences.jl","text":"","category":"section"},{"location":"reference/mpipreferences/","page":"MPIPreferences.jl","title":"MPIPreferences.jl","text":"MPIPreferences.jl is a small package based on Preferences.jl for selecting MPI implementations. These choices are compile-time constants, and so any changes will require a Julia restart.","category":"page"},{"location":"reference/mpipreferences/#Consts","page":"MPIPreferences.jl","title":"Consts","text":"","category":"section"},{"location":"reference/mpipreferences/","page":"MPIPreferences.jl","title":"MPIPreferences.jl","text":"MPIPreferences.binary\nMPIPreferences.abi","category":"page"},{"location":"reference/mpipreferences/#MPIPreferences.binary","page":"MPIPreferences.jl","title":"MPIPreferences.binary","text":"MPIPreferences.binary :: String\n\nThe currently selected binary. The possible values are\n\n\"MPICH_jll\": use the binary provided by MPICH_jll\n\"OpenMPI_jll\": use the binary provided by OpenMPI_jll\n\"MicrosoftMPI_jll\": use binary provided by MicrosoftMPI_jll\n\"MPItrampoline_jll\": use the binary provided by MPItrampoline_jll\n\"system\": use a system-provided binary.\n\n\n\n\n\n","category":"constant"},{"location":"reference/mpipreferences/#MPIPreferences.abi","page":"MPIPreferences.jl","title":"MPIPreferences.abi","text":"MPIPreferences.abi :: String\n\nThe ABI (application binary interface) of the currently selected binary. Supported values are:\n\n\"MPICH\": MPICH-compatible ABI (https://www.mpich.org/abi/)\n\"OpenMPI\": Open MPI compatible ABI (Open MPI, IBM Spectrum MPI, Fujitsu MPI)\n\"MicrosoftMPI\": Microsoft MPI\n\"MPItrampoline\": MPItrampoline\n\"HPE MPT\": HPE MPT\n\n\n\n\n\n","category":"constant"},{"location":"reference/mpipreferences/#Changing-implementations","page":"MPIPreferences.jl","title":"Changing implementations","text":"","category":"section"},{"location":"reference/mpipreferences/","page":"MPIPreferences.jl","title":"MPIPreferences.jl","text":"MPIPreferences.use_system_binary\nMPIPreferences.use_jll_binary","category":"page"},{"location":"reference/mpipreferences/#MPIPreferences.use_system_binary","page":"MPIPreferences.jl","title":"MPIPreferences.use_system_binary","text":"use_system_binary(;\n    library_names = [\"libmpi\", \"libmpi_ibm\", \"msmpi\", \"libmpich\", \"libmpi_cray\", \"libmpitrampoline\"],\n    mpiexec = \"mpiexec\",\n    abi = nothing,\n    export_prefs = false,\n    force = true)\n\nSwitches the underlying MPI implementation to a system provided one. A restart of Julia is required for the changes to take effect.\n\nOptions:\n\nlibrary_names: a name or collection of names of the MPI library, passed to Libdl.find_library. If the library isn't in the library search path, you can specify the full path to the library.\nmpiexec: the MPI launcher executable. The default is mpiexec, but some clusters require using the scheduler launcher interface (e.g. srun on Slurm, aprun on PBS). It is also possible to pass a Cmd object to include specific command line options.\nabi: the ABI of the MPI library. By default this is determined automatically using identify_abi. See abi for currently supported values.\nexport_prefs: if true, the preferences into the Project.toml instead of LocalPreferences.toml.\nforce: if true, the preferences are set even if they are already set.\n\n\n\n\n\n","category":"function"},{"location":"reference/mpipreferences/#MPIPreferences.use_jll_binary","page":"MPIPreferences.jl","title":"MPIPreferences.use_jll_binary","text":"use_jll_binary([binary]; export_prefs=false, force=true)\n\nSwitches the underlying MPI implementation to one provided by JLL packages. A restart of Julia is required for the changes to take effect.\n\nAvailable options are:\n\n\"MicrosoftMPI_jll\" (Only option and default on Winddows)\n\"MPICH_jll\" (Default on all other platform)\n\"OpenMPI_jll\"\n\"MPItrampoline_jll\"\n\nThe export_prefs option determines whether the preferences being set should be stored within LocalPreferences.toml or Project.toml.\n\n\n\n\n\n","category":"function"},{"location":"reference/mpipreferences/#Utils","page":"MPIPreferences.jl","title":"Utils","text":"","category":"section"},{"location":"reference/mpipreferences/","page":"MPIPreferences.jl","title":"MPIPreferences.jl","text":"MPIPreferences.check_unchanged\nMPIPreferences.identify_abi","category":"page"},{"location":"reference/mpipreferences/#MPIPreferences.check_unchanged","page":"MPIPreferences.jl","title":"MPIPreferences.check_unchanged","text":"MPIPreferences.check_unchanged()\n\nThrows an error if the preferences have been modified in the current Julia session, or if they are modified after this function is called.\n\nThis is should be called from the __init__() function of any package which relies on the values of MPIPreferences.\n\n\n\n\n\n","category":"function"},{"location":"reference/mpipreferences/#MPIPreferences.identify_abi","page":"MPIPreferences.jl","title":"MPIPreferences.identify_abi","text":"identify_abi(libmpi)\n\nIdentify the MPI implementation from the library version string\n\n\n\n\n\n","category":"function"},{"location":"reference/mpipreferences/#Preferences-schema","page":"MPIPreferences.jl","title":"Preferences schema","text":"","category":"section"},{"location":"reference/mpipreferences/","page":"MPIPreferences.jl","title":"MPIPreferences.jl","text":"MPIPreferences utilizes the following keys to store information in the Preferences key-value store.","category":"page"},{"location":"reference/mpipreferences/","page":"MPIPreferences.jl","title":"MPIPreferences.jl","text":"_format: the version number of the schema. Currently only \"1.0\" is supported.\nbinary: the choice of binary. This should be one of the strings listed in MPIPreferences.binary.","category":"page"},{"location":"reference/mpipreferences/","page":"MPIPreferences.jl","title":"MPIPreferences.jl","text":"If binary == \"system\", then the following keys are also required (otherwise they have no effect):","category":"page"},{"location":"reference/mpipreferences/","page":"MPIPreferences.jl","title":"MPIPreferences.jl","text":"libmpi: the filename or path of the MPI dynamic library.\nabi: The ABI of the MPI implementation. This should be one of the strings listed in MPIPreferences.abi.\nmpiexec: either\na string corresponding to the MPI launcher executable\nan array of strings, with the first entry being the executable and remaining entried being additional flags that should be used with the executable.","category":"page"},{"location":"configuration/#Configuration","page":"Configuration","title":"Configuration","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"By default, MPI.jl will download and link against the following MPI implementations:","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Microsoft MPI on Windows\nMPICH on all other platforms","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"This is suitable for most single-node use cases, but for larger systems, such as HPC clusters or multi-GPU machines, you will probably want to configure against a system-provided MPI implementation in order to exploit features such as fast network interfaces and CUDA-aware or ROCm-aware MPI interfaces.","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"The MPIPreferences.jl package allows the user to choose which MPI implementation to use in MPI.jl. It uses Preferences.jl to configure the MPI backend for each project separately. This provides a single source of truth that can be used for JLL packages (Julia packages providing C libraries) that link against MPI. It can be installed by","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"julia --project -e 'using Pkg; Pkg.add(\"MPIPreferences\")'","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"note: Note\nThe way MPI.jl is configured has changed with MPI.jl v0.20. See Migration from MPI.jl v0.19 or earlier for more information on how to migrate your configuration from earlier MPI.jl versions.","category":"page"},{"location":"configuration/#using_system_mpi","page":"Configuration","title":"Using a system-provided MPI backend","text":"","category":"section"},{"location":"configuration/#Requirements","page":"Configuration","title":"Requirements","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"MPI.jl requires a shared library installation of a C MPI library, supporting the MPI 3.0 standard or later. The following MPI implementations should work out-of-the-box with MPI.jl:","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Open MPI\nMPICH (v3.1 or later)\nIntel MPI\nMicrosoft MPI\nIBM Spectrum MPI\nMVAPICH\nCray MPICH\nFujitsu MPI\nHPE MPT/HMPT","category":"page"},{"location":"configuration/#configure_system_binary","page":"Configuration","title":"Configuration","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Run MPIPreferences.use_system_binary(). This will attempt to locate and to identify any available MPI implementation, and create a file called LocalPreferences.toml adjacent to the current Project.toml.","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"julia --project -e 'using MPIPreferences; MPIPreferences.use_system_binary()'","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"If the implementation is changed, you will need to call this function again. See the MPIPreferences.use_system_binary documentation for specific options.","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"note: Note\nYou can copy LocalPreferences.toml to a different project folder, but you must list MPIPreferences in the [extras] or [deps] section of the Project.toml for the settings to take effect.","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"note: Note\nDue to a bug in Julia (until v1.6.5 and v1.7.1), getting preferences from transitive dependencies is broken (Preferences.jl#24). To fix this update your version of Julia, or add MPIPreferences as a direct dependency to your project.","category":"page"},{"location":"configuration/#Notes-to-HPC-cluster-administrators","page":"Configuration","title":"Notes to HPC cluster administrators","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Preferences are merged across the Julia load path, such that it is feasible to provide a module file that appends a path to JULIA_LOAD_PATH variable that contains system-wide preferences. The steps are as follows:","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Run MPIPreferences.use_system_binary(), which will generate a file LocalPreferences.toml containing something like the following:\n[MPIPreferences]\n_format = \"1.0\"\nabi = \"OpenMPI\"\nbinary = \"system\"\nlibmpi = \"/software/mpi/lib/libmpi.so\"\nmpiexec = \"/software/mpi/bin/mpiexec\"\nCreate a file called Project.toml or JuliaProject.toml in a central location, for example /software/mpi/julia or in the same directory as the MPI library module, and add the following contents:\n[extras]\nMPIPreferences = \"3da0fdf6-3ccc-4f1b-acd9-58baa6c99267\"\n\n[preferences.MPIPreferences]\n_format = \"1.0\"\nabi = \"OpenMPI\"\nbinary = \"system\"\nlibmpi = \"/software/mpi/lib/libmpi.so\"\nmpiexec = \"/software/mpi/bin/mpiexec\"\nupdating the contents of the [preferences.MPIPreferences] section match those of the [MPIPreferences] in LocalPreferences.toml.\nAppend the directory containing the file to the JULIA_LOAD_PATH environment variable, with a colon (:) separator.\nIf this variable is not already set, it should be prefixed with a colon to ensure correct behavior of the Julia load path, e.g. JULIA_LOAD_PATH=\":/software/mpi/julia\". If using environment modules, this can be achieved with\nappend-path -d {} JULIA_LOAD_PATH :/software/mpi/julia\nin the corresponding module file (preferably the module file for the MPI installation or for Julia).\nThe user can still provide differing MPI configurations for each Julia project that will take precedent by modifying the local Project.toml or by providing a LocalPreferences.toml file.","category":"page"},{"location":"configuration/#configure_jll_binary","page":"Configuration","title":"Using an alternative JLL-provided MPI library","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"The following MPI implementations are provided as JLL packages and automatically obtained when installing MPI.jl:","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"MicrosoftMPI_jll: Microsoft MPI Default for Windows\nMPICH_jll: MPICH. Default for all other systems\nOpenMPI_jll: Open MPI\nMPItrampoline_jll: MPItrampoline: an MPI forwarding layer.","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Call MPIPreferences.use_jll_binary, for example","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"julia --project -e 'using MPIPreferences; MPIPreferences.use_jll_binary(\"MPItrampoline_jll\")'","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"If you omit the JLL binary name, the default is selected for the respective operating system.","category":"page"},{"location":"configuration/#Configuration-of-the-MPI.jl-testsuite","page":"Configuration","title":"Configuration of the MPI.jl testsuite","text":"","category":"section"},{"location":"configuration/#Testing-against-a-different-MPI-implementation","page":"Configuration","title":"Testing against a different MPI implementation","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"The LocalPreferences.toml must be located within the test folder, you can either create it in place or copy it into place.","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"~/MPI> julia --project=test\njulia> using MPIPreferences\njulia> MPIPreferences.use_system_binary()\n~/MPI> rm test/Manifest.toml\n~/MPI> julia --project\n(MPI) pkg> test","category":"page"},{"location":"configuration/#Environment-variables","page":"Configuration","title":"Environment variables","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"The test suite can also be modified by the following variables:","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"JULIA_MPI_TEST_NPROCS: How many ranks to use within the tests\nJULIA_MPI_TEST_ARRAYTYPE: Set to CuArray or ROCArray to test the CUDA-aware interface with CUDA.CuArray or the ROCm-aware interface with AMDGPU.ROCArray or buffers.\nJULIA_MPI_TEST_BINARY: Check that the specified MPI binary is used for the tests\nJULIA_MPI_TEST_ABI: Check that the specified MPI ABI is used for the tests","category":"page"},{"location":"configuration/#Migration-from-MPI.jl-v0.19-or-earlier","page":"Configuration","title":"Migration from MPI.jl v0.19 or earlier","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"For MPI.jl v0.20, environment variables were used to configure which MPI library to use. These have been removed and no longer have any effect. The following subsections explain how to the same effects can be achieved with v0.20 or later.","category":"page"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"note: Note\nPlease refer to Notes to HPC cluster administrators if you want to migrate your MPI.jl preferences on a cluster with a centrally managed MPI.jl configuration.","category":"page"},{"location":"configuration/#JULIA_MPI_BINARY","page":"Configuration","title":"JULIA_MPI_BINARY","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Use MPIPreferences.use_system_binary to use a system-provided MPI binary as described here. To switch back or select a different JLL-provided MPI binary, use MPIPreferences.use_jll_binary as described here.","category":"page"},{"location":"configuration/#JULIA_MPI_PATH","page":"Configuration","title":"JULIA_MPI_PATH","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Removed without replacement.","category":"page"},{"location":"configuration/#JULIA_MPI_LIBRARY","page":"Configuration","title":"JULIA_MPI_LIBRARY","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Use MPIPreferences.use_system_binary with keyword argument library_names to specify possible, non-standard library names. Alternatively, you can also specify the full path to the library.","category":"page"},{"location":"configuration/#JULIA_MPI_ABI","page":"Configuration","title":"JULIA_MPI_ABI","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Use MPIPreferences.use_system_binary with keyword argument abi to specify which ABI to use. See MPIPreferences.abi for possible values.","category":"page"},{"location":"configuration/#JULIA_MPIEXEC","page":"Configuration","title":"JULIA_MPIEXEC","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Use MPIPreferences.use_system_binary with keyword argument mpiexec to specify the MPI launcher executable.","category":"page"},{"location":"configuration/#JULIA_MPIEXEC_ARGS","page":"Configuration","title":"JULIA_MPIEXEC_ARGS","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Use MPIPreferences.use_system_binary with keyword argument mpiexec, and pass a Cmd object to set the MPI launcher executable and to include specific command line options.","category":"page"},{"location":"configuration/#JULIA_MPI_INCLUDE_PATH","page":"Configuration","title":"JULIA_MPI_INCLUDE_PATH","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Removed without replacement. Automatic generation of a constants file for unknown MPI ABIs is not supported anymore. See also #574.","category":"page"},{"location":"configuration/#JULIA_MPI_CFLAGS","page":"Configuration","title":"JULIA_MPI_CFLAGS","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Removed without replacement. Automatic generation of a constants file for unknown MPI ABIs is not supported anymore. See also #574.","category":"page"},{"location":"configuration/#JULIA_MPICC","page":"Configuration","title":"JULIA_MPICC","text":"","category":"section"},{"location":"configuration/","page":"Configuration","title":"Configuration","text":"Removed without replacement. Automatic generation of a constants file for unknown MPI ABIs is not supported anymore. See also #574.","category":"page"},{"location":"refindex/#Index","page":"Index","title":"Index","text":"","category":"section"},{"location":"refindex/","page":"Index","title":"Index","text":"","category":"page"},{"location":"examples/02-broadcast/","page":"Broadcast","title":"Broadcast","text":"EditURL = \"https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/02-broadcast.jl\"","category":"page"},{"location":"examples/02-broadcast/#Broadcast","page":"Broadcast","title":"Broadcast","text":"","category":"section"},{"location":"examples/02-broadcast/","page":"Broadcast","title":"Broadcast","text":"# examples/02-broadcast.jl\nimport MPI\nMPI.Init()\n\ncomm = MPI.COMM_WORLD\nN = 5\nroot = 0\n\nif MPI.Comm_rank(comm) == root\n    print(\" Running on $(MPI.Comm_size(comm)) processes\\n\")\nend\nMPI.Barrier(comm)\n\nif MPI.Comm_rank(comm) == root\n    A = [i*(1.0 + im*2.0) for i = 1:N]\nelse\n    A = Array{ComplexF64}(undef, N)\nend\n\nMPI.Bcast!(A, root, comm)\n\nprint(\"rank = $(MPI.Comm_rank(comm)), A = $A\\n\")\n\nif MPI.Comm_rank(comm) == root\n    B = Dict(\"foo\" => \"bar\")\nelse\n    B = nothing\nend\n\nB = MPI.bcast(B, root, comm)\nprint(\"rank = $(MPI.Comm_rank(comm)), B = $B\\n\")\n\nif MPI.Comm_rank(comm) == root\n    f = x -> x^2 + 2x - 1\nelse\n    f = nothing\nend\n\nf = MPI.bcast(f, root, comm)\nprint(\"rank = $(MPI.Comm_rank(comm)), f(3) = $(f(3))\\n\")","category":"page"},{"location":"examples/02-broadcast/","page":"Broadcast","title":"Broadcast","text":"> mpiexecjl -n 4 julia examples/02-broadcast.jl\n Running on 4 processes\nrank = 0, A = ComplexF64[1.0 + 2.0im, 2.0 + 4.0im, 3.0 + 6.0im, 4.0 + 8.0im, 5.0 + 10.0im]\nrank = 2, A = ComplexF64[1.0 + 2.0im, 2.0 + 4.0im, 3.0 + 6.0im, 4.0 + 8.0im, 5.0 + 10.0im]\nrank = 3, A = ComplexF64[1.0 + 2.0im, 2.0 + 4.0im, 3.0 + 6.0im, 4.0 + 8.0im, 5.0 + 10.0im]\nrank = 1, A = ComplexF64[1.0 + 2.0im, 2.0 + 4.0im, 3.0 + 6.0im, 4.0 + 8.0im, 5.0 + 10.0im]\nrank = 0, B = Dict(\"foo\" => \"bar\")\nrank = 1, B = Dict(\"foo\" => \"bar\")\nrank = 3, B = Dict(\"foo\" => \"bar\")\nrank = 2, B = Dict(\"foo\" => \"bar\")\nrank = 0, f(3) = 14\nrank = 2, f(3) = 14\nrank = 3, f(3) = 14\nrank = 1, f(3) = 14","category":"page"},{"location":"examples/03-reduce/","page":"Reduce","title":"Reduce","text":"EditURL = \"https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/03-reduce.jl\"","category":"page"},{"location":"examples/03-reduce/#Reduce","page":"Reduce","title":"Reduce","text":"","category":"section"},{"location":"examples/03-reduce/","page":"Reduce","title":"Reduce","text":"# examples/03-reduce.jl\n# This example shows how to use custom datatypes and reduction operators\n# It computes the variance in parallel in a numerically stable way\n\nusing MPI, Statistics\n\nMPI.Init()\nconst comm = MPI.COMM_WORLD\nconst root = 0\n\n# Define a custom struct\n# This contains the summary statistics (mean, variance, length) of a vector\nstruct SummaryStat\n    mean::Float64\n    var::Float64\n    n::Float64\nend\nfunction SummaryStat(X::AbstractArray)\n    m = mean(X)\n    v = varm(X,m, corrected=false)\n    n = length(X)\n    SummaryStat(m,v,n)\nend\n\n# Define a custom reduction operator\n# this computes the pooled mean, pooled variance and total length\nfunction pool(S1::SummaryStat, S2::SummaryStat)\n    n = S1.n + S2.n\n    m = (S1.mean*S1.n + S2.mean*S2.n) / n\n    v = (S1.n * (S1.var + S1.mean * (S1.mean-m)) +\n         S2.n * (S2.var + S2.mean * (S2.mean-m)))/n\n    SummaryStat(m,v,n)\nend\n\nX = randn(10,3) .* [1,3,7]'\n\n# Perform a scalar reduction\nsumm = MPI.Reduce(SummaryStat(X), pool, root, comm)\n\nif MPI.Comm_rank(comm) == root\n    @show summ.var\nend\n\n# Perform a vector reduction:\n# the reduction operator is applied elementwise\ncol_summ = MPI.Reduce(mapslices(SummaryStat,X,dims=1), pool, root, comm)\n\nif MPI.Comm_rank(comm) == root\n    col_var = map(summ -> summ.var, col_summ)\n    @show col_var\nend","category":"page"},{"location":"examples/03-reduce/","page":"Reduce","title":"Reduce","text":"> mpiexecjl -n 4 julia examples/03-reduce.jl\nsumm.var = 16.998987563939835\ncol_var = [1.2100565967779722 8.673861760724193 41.07327481452388]","category":"page"},{"location":"usage/#Usage","page":"Usage","title":"Usage","text":"","category":"section"},{"location":"usage/","page":"Usage","title":"Usage","text":"MPI is based on a single program, multiple data (SPMD) model, where multiple processes are launched running independent programs, which then communicate as necessary via messages.","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"As the main entry point for users, MPI.jl provides a high-level interface which loosely follows the MPI C API and is described in details in the following sections. The syntax should look familiar if you know MPI already, but some arguments may not be needed (e.g. the type or the number of elements of arrays, which are inferred automatically), others may be placed slightly differently, and others may be optional keyword arguments (e.g. for the index of the root process, or the source and destination of point-to-point communication functions).","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"In addition to the high-level interface, MPI.jl provides a low-level API which closely matches the MPI C API and from which it has been automatically generated. This is not intended for general usage, but it can be employed if a high-level wrapper is not yet available.","category":"page"},{"location":"usage/#Basic-example","page":"Usage","title":"Basic example","text":"","category":"section"},{"location":"usage/","page":"Usage","title":"Usage","text":"A script should include using MPI and MPI.Init() statements before calling any MPI operations, for example","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"# examples/01-hello.jl\nusing MPI\nMPI.Init()\n\ncomm = MPI.COMM_WORLD\nprintln(\"Hello world, I am $(MPI.Comm_rank(comm)) of $(MPI.Comm_size(comm))\")\nMPI.Barrier(comm)","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"Calling MPI.Finalize() at the end of the program is optional, as it will be called automatically when Julia exits.","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"The program can then be launched via an MPI launch command (typically mpiexec, mpirun or srun), e.g.","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"$ mpiexec -n 3 julia --project examples/01-hello.jl\nHello world, I am rank 0 of 3\nHello world, I am rank 2 of 3\nHello world, I am rank 1 of 3","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"The mpiexec function is provided for launching MPI programs from Julia itself.","category":"page"},{"location":"usage/#Julia-wrapper-for-mpiexec","page":"Usage","title":"Julia wrapper for mpiexec","text":"","category":"section"},{"location":"usage/","page":"Usage","title":"Usage","text":"Since you can configure MPI.jl to use one of several MPI implementations, you may have different Julia projects using different implementation.  Thus, it may be cumbersome to find out which mpiexec executable is associated to a specific project.  To make this easy, on Unix-based systems MPI.jl comes with a thin project-aware wrapper around mpiexec, called mpiexecjl.","category":"page"},{"location":"usage/#Installation","page":"Usage","title":"Installation","text":"","category":"section"},{"location":"usage/","page":"Usage","title":"Usage","text":"You can install mpiexecjl with MPI.install_mpiexecjl().  The default destination directory is joinpath(DEPOT_PATH[1], \"bin\"), which usually translates to ~/.julia/bin, but check the value on your system.  You can also tell MPI.install_mpiexecjl to install to a different directory.","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"$ julia\njulia> using MPI\njulia> MPI.install_mpiexecjl()","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"To quickly call this wrapper we recommend you to add the destination directory to your PATH environment variable.","category":"page"},{"location":"usage/#Usage-2","page":"Usage","title":"Usage","text":"","category":"section"},{"location":"usage/","page":"Usage","title":"Usage","text":"mpiexecjl has the same syntax as the mpiexec binary that will be called, but it takes in addition a --project option to call the specific binary associated to the MPI.jl version in the given project.  If no --project flag is used, the MPI.jl in the global Julia environment will be used instead.","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"After installing mpiexecjl and adding its directory to PATH, you can run it with:","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"$ mpiexecjl --project=/path/to/project -n 20 julia script.jl","category":"page"},{"location":"usage/#CUDA-aware-MPI-support","page":"Usage","title":"CUDA-aware MPI support","text":"","category":"section"},{"location":"usage/","page":"Usage","title":"Usage","text":"If your MPI implementation has been compiled with CUDA support, then CUDA.CuArrays (from the CUDA.jl package) can be passed directly as send and receive buffers for point-to-point and collective operations (they may also work with one-sided operations, but these are not often supported).","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"Successfully running the alltoall_test_cuda.jl  should confirm your MPI implementation to have the CUDA support enabled. Moreover, successfully running the  alltoall_test_cuda_multigpu.jl should confirm  your CUDA-aware MPI implementation to use multiple Nvidia GPUs (one GPU per rank).","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"If using OpenMPI, the status of CUDA support can be checked via the MPI.has_cuda() function.","category":"page"},{"location":"usage/#ROCm-aware-MPI-support","page":"Usage","title":"ROCm-aware MPI support","text":"","category":"section"},{"location":"usage/","page":"Usage","title":"Usage","text":"If your MPI implementation has been compiled with ROCm support (AMDGPU), then AMDGPU.ROCArrays (from the AMDGPU.jl package) can be passed directly as send and receive buffers for point-to-point and collective operations (they may also work with one-sided operations, but these are not often supported).","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"Successfully running the alltoall_test_rocm.jl  should confirm your MPI implementation to have the ROCm support (AMDGPU) enabled. Moreover, successfully running the  alltoall_test_rocm_multigpu.jl should confirm  your ROCm-aware MPI implementation to use multiple AMD GPUs (one GPU per rank).","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"The status of ROCm (AMDGPU) support cannot currently be queried.","category":"page"},{"location":"usage/#Writing-MPI-tests","page":"Usage","title":"Writing MPI tests","text":"","category":"section"},{"location":"usage/","page":"Usage","title":"Usage","text":"It is recommended to use the mpiexec() wrapper when writing your package tests in runtests.jl:","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"# test/runtests.jl\nusing MPI\nusing Test\n\n@testset \"hello\" begin\n    n = 2  # number of processes\n    mpiexec() do exe  # MPI wrapper\n        run(`$exe -n $n $(Base.julia_cmd()) [...]/01-hello.jl`)\n        # alternatively:\n        # p = run(ignorestatus(`...`))\n        # @test success(p)\n    end\nend","category":"page"},{"location":"reference/library/#Library-information","page":"Library information","title":"Library information","text":"","category":"section"},{"location":"reference/library/#Constants","page":"Library information","title":"Constants","text":"","category":"section"},{"location":"reference/library/","page":"Library information","title":"Library information","text":"MPI.MPI_VERSION\nMPI.MPI_LIBRARY\nMPI.MPI_LIBRARY_VERSION\nMPI.MPI_LIBRARY_VERSION_STRING","category":"page"},{"location":"reference/library/#MPI.MPI_VERSION","page":"Library information","title":"MPI.MPI_VERSION","text":"MPI_VERSION :: VersionNumber\n\nThe supported version of the MPI standard.\n\nExternal links\n\nMPI_Get_version man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"constant"},{"location":"reference/library/#MPI.MPI_LIBRARY","page":"Library information","title":"MPI.MPI_LIBRARY","text":"MPI_LIBRARY :: String\n\nThe current MPI implementation: this is determined by\n\n\n\n\n\n","category":"constant"},{"location":"reference/library/#MPI.MPI_LIBRARY_VERSION","page":"Library information","title":"MPI.MPI_LIBRARY_VERSION","text":"MPI_LIBRARY_VERSION :: VersionNumber\n\nThe version of the MPI library\n\n\n\n\n\n","category":"constant"},{"location":"reference/library/#MPI.MPI_LIBRARY_VERSION_STRING","page":"Library information","title":"MPI.MPI_LIBRARY_VERSION_STRING","text":"MPI_LIBRARY_VERSION_STRING :: String\n\nThe full version string provided by the library\n\nExternal links\n\nMPI_Get_library_version man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"constant"},{"location":"reference/library/#Functions","page":"Library information","title":"Functions","text":"","category":"section"},{"location":"reference/library/","page":"Library information","title":"Library information","text":"MPI.versioninfo\nMPI.has_cuda\nMPI.identify_implementation","category":"page"},{"location":"reference/library/#MPI.versioninfo","page":"Library information","title":"MPI.versioninfo","text":"MPI.versioninfo()\n\nPrint a summary of the curent MPI configuration.\n\n\n\n\n\n","category":"function"},{"location":"reference/library/#MPI.has_cuda","page":"Library information","title":"MPI.has_cuda","text":"MPI.has_cuda()\n\nCheck if the MPI implementation is known to have CUDA support. Currently only Open MPI provides a mechanism to check, so it will return false with other implementations (unless overriden).\n\nThis can be overriden by setting the JULIA_MPI_HAS_CUDA environment variable to true or false.\n\n\n\n\n\n","category":"function"},{"location":"reference/library/#MPI.identify_implementation","page":"Library information","title":"MPI.identify_implementation","text":"impl, version = identify_implementation()\n\nAttempt to identify the MPI implementation based on MPI_LIBRARY_VERSION_STRING. Returns a triple of values:\n\nimpl: a String with the name of the MPI implementation, or \"unknown\" if it cannot be determined,\nversion: a VersionNumber of the library, or nothing if it cannot be determined.\n\nThis function is only intended for internal use. Users should use MPI_LIBRARY, MPI_LIBRARY_VERSION.\n\n\n\n\n\n","category":"function"},{"location":"examples/01-hello/","page":"Hello world","title":"Hello world","text":"EditURL = \"https://github.com/JuliaParallel/MPI.jl/blob/master/docs/examples/01-hello.jl\"","category":"page"},{"location":"examples/01-hello/#Hello-world","page":"Hello world","title":"Hello world","text":"","category":"section"},{"location":"examples/01-hello/","page":"Hello world","title":"Hello world","text":"# examples/01-hello.jl\nusing MPI\nMPI.Init()\n\ncomm = MPI.COMM_WORLD\nprint(\"Hello world, I am rank $(MPI.Comm_rank(comm)) of $(MPI.Comm_size(comm))\\n\")\nMPI.Barrier(comm)","category":"page"},{"location":"examples/01-hello/","page":"Hello world","title":"Hello world","text":"> mpiexecjl -n 4 julia examples/01-hello.jl\nHello world, I am rank 3 of 4\nHello world, I am rank 2 of 4\nHello world, I am rank 1 of 4\nHello world, I am rank 0 of 4","category":"page"},{"location":"reference/misc/#Miscellanea","page":"Miscellanea","title":"Miscellanea","text":"","category":"section"},{"location":"reference/misc/#Functions","page":"Miscellanea","title":"Functions","text":"","category":"section"},{"location":"reference/misc/","page":"Miscellanea","title":"Miscellanea","text":"MPI.Get_processor_name","category":"page"},{"location":"reference/misc/#MPI.Get_processor_name","page":"Miscellanea","title":"MPI.Get_processor_name","text":"Get_processor_name()\n\nReturn the name of the processor, as a String.\n\nExternal links\n\nMPI_Get_processor_name man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/api/#Low-level-API","page":"Low-level API","title":"Low-level API","text":"","category":"section"},{"location":"reference/api/","page":"Low-level API","title":"Low-level API","text":"The MPI.API submodule provides a low-level interface which closely matches the MPI C API. While these functions are not intended for general usage, they are useful for calling MPI routines not yet available in MPI.jl main interface, and is the basis for the high-level wrappers. The methods suffixed with _c allow MPI_count typed arguments (vs int for the standard ones). The size of MPI_count depends on the implementation, but usually allows 64bit integer offsets.","category":"page"},{"location":"reference/api/","page":"Low-level API","title":"Low-level API","text":"Modules = [MPI.API]\nOrder = [:function]","category":"page"},{"location":"reference/api/#MPI.API.MPI_Abort-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Abort","text":"MPI_Abort(comm, errorcode)\n\nMPI_Abort man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Accumulate-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Accumulate","text":"MPI_Accumulate(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win)\n\nMPI_Accumulate man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Accumulate_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Accumulate_c","text":"MPI_Accumulate_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win)\n\nMPI_Accumulate_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Add_error_class-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Add_error_class","text":"MPI_Add_error_class(errorclass)\n\nMPI_Add_error_class man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Add_error_code-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Add_error_code","text":"MPI_Add_error_code(errorclass, errorcode)\n\nMPI_Add_error_code man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Add_error_string-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Add_error_string","text":"MPI_Add_error_string(errorcode, string)\n\nMPI_Add_error_string man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Address-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Address","text":"MPI_Address(location, address)\n\nMPI_Address man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Aint_add-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Aint_add","text":"MPI_Aint_add(base, disp)\n\nMPI_Aint_add man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Aint_diff-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Aint_diff","text":"MPI_Aint_diff(addr1, addr2)\n\nMPI_Aint_diff man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Allgather-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Allgather","text":"MPI_Allgather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)\n\nMPI_Allgather man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Allgather_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Allgather_c","text":"MPI_Allgather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)\n\nMPI_Allgather_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Allgather_init-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Allgather_init","text":"MPI_Allgather_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)\n\nMPI_Allgather_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Allgather_init_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Allgather_init_c","text":"MPI_Allgather_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)\n\nMPI_Allgather_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Allgatherv-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Allgatherv","text":"MPI_Allgatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm)\n\nMPI_Allgatherv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Allgatherv_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Allgatherv_c","text":"MPI_Allgatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm)\n\nMPI_Allgatherv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Allgatherv_init-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Allgatherv_init","text":"MPI_Allgatherv_init(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request)\n\nMPI_Allgatherv_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Allgatherv_init_c-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Allgatherv_init_c","text":"MPI_Allgatherv_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request)\n\nMPI_Allgatherv_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Alloc_mem-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Alloc_mem","text":"MPI_Alloc_mem(size, info, baseptr)\n\nMPI_Alloc_mem man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Allreduce-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Allreduce","text":"MPI_Allreduce(sendbuf, recvbuf, count, datatype, op, comm)\n\nMPI_Allreduce man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Allreduce_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Allreduce_c","text":"MPI_Allreduce_c(sendbuf, recvbuf, count, datatype, op, comm)\n\nMPI_Allreduce_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Allreduce_init-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Allreduce_init","text":"MPI_Allreduce_init(sendbuf, recvbuf, count, datatype, op, comm, info, request)\n\nMPI_Allreduce_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Allreduce_init_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Allreduce_init_c","text":"MPI_Allreduce_init_c(sendbuf, recvbuf, count, datatype, op, comm, info, request)\n\nMPI_Allreduce_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Alltoall-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Alltoall","text":"MPI_Alltoall(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)\n\nMPI_Alltoall man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Alltoall_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Alltoall_c","text":"MPI_Alltoall_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)\n\nMPI_Alltoall_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Alltoall_init-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Alltoall_init","text":"MPI_Alltoall_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)\n\nMPI_Alltoall_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Alltoall_init_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Alltoall_init_c","text":"MPI_Alltoall_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)\n\nMPI_Alltoall_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Alltoallv-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Alltoallv","text":"MPI_Alltoallv(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm)\n\nMPI_Alltoallv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Alltoallv_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Alltoallv_c","text":"MPI_Alltoallv_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm)\n\nMPI_Alltoallv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Alltoallv_init-NTuple{11, Any}","page":"Low-level API","title":"MPI.API.MPI_Alltoallv_init","text":"MPI_Alltoallv_init(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request)\n\nMPI_Alltoallv_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Alltoallv_init_c-NTuple{11, Any}","page":"Low-level API","title":"MPI.API.MPI_Alltoallv_init_c","text":"MPI_Alltoallv_init_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request)\n\nMPI_Alltoallv_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Alltoallw-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Alltoallw","text":"MPI_Alltoallw(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm)\n\nMPI_Alltoallw man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Alltoallw_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Alltoallw_c","text":"MPI_Alltoallw_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm)\n\nMPI_Alltoallw_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Alltoallw_init-NTuple{11, Any}","page":"Low-level API","title":"MPI.API.MPI_Alltoallw_init","text":"MPI_Alltoallw_init(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request)\n\nMPI_Alltoallw_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Alltoallw_init_c-NTuple{11, Any}","page":"Low-level API","title":"MPI.API.MPI_Alltoallw_init_c","text":"MPI_Alltoallw_init_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request)\n\nMPI_Alltoallw_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Attr_delete-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Attr_delete","text":"MPI_Attr_delete(comm, keyval)\n\nMPI_Attr_delete man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Attr_get-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Attr_get","text":"MPI_Attr_get(comm, keyval, attribute_val, flag)\n\nMPI_Attr_get man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Attr_put-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Attr_put","text":"MPI_Attr_put(comm, keyval, attribute_val)\n\nMPI_Attr_put man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Barrier-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Barrier","text":"MPI_Barrier(comm)\n\nMPI_Barrier man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Barrier_init-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Barrier_init","text":"MPI_Barrier_init(comm, info, request)\n\nMPI_Barrier_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Bcast-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Bcast","text":"MPI_Bcast(buffer, count, datatype, root, comm)\n\nMPI_Bcast man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Bcast_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Bcast_c","text":"MPI_Bcast_c(buffer, count, datatype, root, comm)\n\nMPI_Bcast_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Bcast_init-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Bcast_init","text":"MPI_Bcast_init(buffer, count, datatype, root, comm, info, request)\n\nMPI_Bcast_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Bcast_init_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Bcast_init_c","text":"MPI_Bcast_init_c(buffer, count, datatype, root, comm, info, request)\n\nMPI_Bcast_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Bsend-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Bsend","text":"MPI_Bsend(buf, count, datatype, dest, tag, comm)\n\nMPI_Bsend man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Bsend_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Bsend_c","text":"MPI_Bsend_c(buf, count, datatype, dest, tag, comm)\n\nMPI_Bsend_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Bsend_init-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Bsend_init","text":"MPI_Bsend_init(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Bsend_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Bsend_init_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Bsend_init_c","text":"MPI_Bsend_init_c(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Bsend_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Buffer_attach-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Buffer_attach","text":"MPI_Buffer_attach(buffer, size)\n\nMPI_Buffer_attach man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Buffer_attach_c-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Buffer_attach_c","text":"MPI_Buffer_attach_c(buffer, size)\n\nMPI_Buffer_attach_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Buffer_detach-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Buffer_detach","text":"MPI_Buffer_detach(buffer_addr, size)\n\nMPI_Buffer_detach man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Buffer_detach_c-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Buffer_detach_c","text":"MPI_Buffer_detach_c(buffer_addr, size)\n\nMPI_Buffer_detach_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Cancel-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Cancel","text":"MPI_Cancel(request)\n\nMPI_Cancel man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Cart_coords-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Cart_coords","text":"MPI_Cart_coords(comm, rank, maxdims, coords)\n\nMPI_Cart_coords man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Cart_create-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Cart_create","text":"MPI_Cart_create(comm_old, ndims, dims, periods, reorder, comm_cart)\n\nMPI_Cart_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Cart_get-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Cart_get","text":"MPI_Cart_get(comm, maxdims, dims, periods, coords)\n\nMPI_Cart_get man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Cart_map-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Cart_map","text":"MPI_Cart_map(comm, ndims, dims, periods, newrank)\n\nMPI_Cart_map man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Cart_rank-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Cart_rank","text":"MPI_Cart_rank(comm, coords, rank)\n\nMPI_Cart_rank man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Cart_shift-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Cart_shift","text":"MPI_Cart_shift(comm, direction, disp, rank_source, rank_dest)\n\nMPI_Cart_shift man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Cart_sub-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Cart_sub","text":"MPI_Cart_sub(comm, remain_dims, newcomm)\n\nMPI_Cart_sub man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Cartdim_get-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Cartdim_get","text":"MPI_Cartdim_get(comm, ndims)\n\nMPI_Cartdim_get man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Close_port-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Close_port","text":"MPI_Close_port(port_name)\n\nMPI_Close_port man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_accept-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_accept","text":"MPI_Comm_accept(port_name, info, root, comm, newcomm)\n\nMPI_Comm_accept man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_call_errhandler-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_call_errhandler","text":"MPI_Comm_call_errhandler(comm, errorcode)\n\nMPI_Comm_call_errhandler man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_compare-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_compare","text":"MPI_Comm_compare(comm1, comm2, result)\n\nMPI_Comm_compare man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_connect-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_connect","text":"MPI_Comm_connect(port_name, info, root, comm, newcomm)\n\nMPI_Comm_connect man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_create-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_create","text":"MPI_Comm_create(comm, group, newcomm)\n\nMPI_Comm_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_create_errhandler-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_create_errhandler","text":"MPI_Comm_create_errhandler(comm_errhandler_fn, errhandler)\n\nMPI_Comm_create_errhandler man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_create_from_group-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_create_from_group","text":"MPI_Comm_create_from_group(group, stringtag, info, errhandler, newcomm)\n\nMPI_Comm_create_from_group man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_create_group-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_create_group","text":"MPI_Comm_create_group(comm, group, tag, newcomm)\n\nMPI_Comm_create_group man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_create_keyval-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_create_keyval","text":"MPI_Comm_create_keyval(comm_copy_attr_fn, comm_delete_attr_fn, comm_keyval, extra_state)\n\nMPI_Comm_create_keyval man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_delete_attr-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_delete_attr","text":"MPI_Comm_delete_attr(comm, comm_keyval)\n\nMPI_Comm_delete_attr man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_disconnect-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_disconnect","text":"MPI_Comm_disconnect(comm)\n\nMPI_Comm_disconnect man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_dup-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_dup","text":"MPI_Comm_dup(comm, newcomm)\n\nMPI_Comm_dup man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_dup_with_info-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_dup_with_info","text":"MPI_Comm_dup_with_info(comm, info, newcomm)\n\nMPI_Comm_dup_with_info man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_free-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_free","text":"MPI_Comm_free(comm)\n\nMPI_Comm_free man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_free_keyval-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_free_keyval","text":"MPI_Comm_free_keyval(comm_keyval)\n\nMPI_Comm_free_keyval man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_get_attr-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_get_attr","text":"MPI_Comm_get_attr(comm, comm_keyval, attribute_val, flag)\n\nMPI_Comm_get_attr man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_get_errhandler-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_get_errhandler","text":"MPI_Comm_get_errhandler(comm, errhandler)\n\nMPI_Comm_get_errhandler man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_get_info-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_get_info","text":"MPI_Comm_get_info(comm, info_used)\n\nMPI_Comm_get_info man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_get_name-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_get_name","text":"MPI_Comm_get_name(comm, comm_name, resultlen)\n\nMPI_Comm_get_name man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_get_parent-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_get_parent","text":"MPI_Comm_get_parent(parent)\n\nMPI_Comm_get_parent man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_group-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_group","text":"MPI_Comm_group(comm, group)\n\nMPI_Comm_group man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_idup-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_idup","text":"MPI_Comm_idup(comm, newcomm, request)\n\nMPI_Comm_idup man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_idup_with_info-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_idup_with_info","text":"MPI_Comm_idup_with_info(comm, info, newcomm, request)\n\nMPI_Comm_idup_with_info man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_join-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_join","text":"MPI_Comm_join(fd, intercomm)\n\nMPI_Comm_join man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_rank-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_rank","text":"MPI_Comm_rank(comm, rank)\n\nMPI_Comm_rank man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_remote_group-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_remote_group","text":"MPI_Comm_remote_group(comm, group)\n\nMPI_Comm_remote_group man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_remote_size-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_remote_size","text":"MPI_Comm_remote_size(comm, size)\n\nMPI_Comm_remote_size man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_set_attr-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_set_attr","text":"MPI_Comm_set_attr(comm, comm_keyval, attribute_val)\n\nMPI_Comm_set_attr man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_set_errhandler-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_set_errhandler","text":"MPI_Comm_set_errhandler(comm, errhandler)\n\nMPI_Comm_set_errhandler man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_set_info-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_set_info","text":"MPI_Comm_set_info(comm, info)\n\nMPI_Comm_set_info man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_set_name-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_set_name","text":"MPI_Comm_set_name(comm, comm_name)\n\nMPI_Comm_set_name man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_size-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_size","text":"MPI_Comm_size(comm, size)\n\nMPI_Comm_size man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_spawn-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_spawn","text":"MPI_Comm_spawn(command, argv, maxprocs, info, root, comm, intercomm, array_of_errcodes)\n\nMPI_Comm_spawn man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_spawn_multiple-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_spawn_multiple","text":"MPI_Comm_spawn_multiple(count, array_of_commands, array_of_argv, array_of_maxprocs, array_of_info, root, comm, intercomm, array_of_errcodes)\n\nMPI_Comm_spawn_multiple man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_split-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_split","text":"MPI_Comm_split(comm, color, key, newcomm)\n\nMPI_Comm_split man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_split_type-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_split_type","text":"MPI_Comm_split_type(comm, split_type, key, info, newcomm)\n\nMPI_Comm_split_type man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Comm_test_inter-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Comm_test_inter","text":"MPI_Comm_test_inter(comm, flag)\n\nMPI_Comm_test_inter man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Compare_and_swap-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Compare_and_swap","text":"MPI_Compare_and_swap(origin_addr, compare_addr, result_addr, datatype, target_rank, target_disp, win)\n\nMPI_Compare_and_swap man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Dims_create-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Dims_create","text":"MPI_Dims_create(nnodes, ndims, dims)\n\nMPI_Dims_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Dist_graph_create-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Dist_graph_create","text":"MPI_Dist_graph_create(comm_old, n, sources, degrees, destinations, weights, info, reorder, comm_dist_graph)\n\nMPI_Dist_graph_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Dist_graph_create_adjacent-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Dist_graph_create_adjacent","text":"MPI_Dist_graph_create_adjacent(comm_old, indegree, sources, sourceweights, outdegree, destinations, destweights, info, reorder, comm_dist_graph)\n\nMPI_Dist_graph_create_adjacent man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Dist_graph_neighbors-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Dist_graph_neighbors","text":"MPI_Dist_graph_neighbors(comm, maxindegree, sources, sourceweights, maxoutdegree, destinations, destweights)\n\nMPI_Dist_graph_neighbors man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Dist_graph_neighbors_count-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Dist_graph_neighbors_count","text":"MPI_Dist_graph_neighbors_count(comm, indegree, outdegree, weighted)\n\nMPI_Dist_graph_neighbors_count man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Errhandler_create-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Errhandler_create","text":"MPI_Errhandler_create(comm_errhandler_fn, errhandler)\n\nMPI_Errhandler_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Errhandler_free-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Errhandler_free","text":"MPI_Errhandler_free(errhandler)\n\nMPI_Errhandler_free man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Errhandler_get-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Errhandler_get","text":"MPI_Errhandler_get(comm, errhandler)\n\nMPI_Errhandler_get man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Errhandler_set-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Errhandler_set","text":"MPI_Errhandler_set(comm, errhandler)\n\nMPI_Errhandler_set man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Error_class-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Error_class","text":"MPI_Error_class(errorcode, errorclass)\n\nMPI_Error_class man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Error_string-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Error_string","text":"MPI_Error_string(errorcode, string, resultlen)\n\nMPI_Error_string man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Exscan-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Exscan","text":"MPI_Exscan(sendbuf, recvbuf, count, datatype, op, comm)\n\nMPI_Exscan man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Exscan_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Exscan_c","text":"MPI_Exscan_c(sendbuf, recvbuf, count, datatype, op, comm)\n\nMPI_Exscan_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Exscan_init-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Exscan_init","text":"MPI_Exscan_init(sendbuf, recvbuf, count, datatype, op, comm, info, request)\n\nMPI_Exscan_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Exscan_init_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Exscan_init_c","text":"MPI_Exscan_init_c(sendbuf, recvbuf, count, datatype, op, comm, info, request)\n\nMPI_Exscan_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Fetch_and_op-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Fetch_and_op","text":"MPI_Fetch_and_op(origin_addr, result_addr, datatype, target_rank, target_disp, op, win)\n\nMPI_Fetch_and_op man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_c2f-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_File_c2f","text":"MPI_File_c2f(file)\n\nMPI_File_c2f man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_call_errhandler-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_call_errhandler","text":"MPI_File_call_errhandler(fh, errorcode)\n\nMPI_File_call_errhandler man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_close-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_File_close","text":"MPI_File_close(fh)\n\nMPI_File_close man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_create_errhandler-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_create_errhandler","text":"MPI_File_create_errhandler(file_errhandler_fn, errhandler)\n\nMPI_File_create_errhandler man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_delete-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_delete","text":"MPI_File_delete(filename, info)\n\nMPI_File_delete man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_f2c-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_File_f2c","text":"MPI_File_f2c(file)\n\nMPI_File_f2c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_get_amode-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_get_amode","text":"MPI_File_get_amode(fh, amode)\n\nMPI_File_get_amode man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_get_atomicity-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_get_atomicity","text":"MPI_File_get_atomicity(fh, flag)\n\nMPI_File_get_atomicity man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_get_byte_offset-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_get_byte_offset","text":"MPI_File_get_byte_offset(fh, offset, disp)\n\nMPI_File_get_byte_offset man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_get_errhandler-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_get_errhandler","text":"MPI_File_get_errhandler(file, errhandler)\n\nMPI_File_get_errhandler man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_get_group-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_get_group","text":"MPI_File_get_group(fh, group)\n\nMPI_File_get_group man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_get_info-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_get_info","text":"MPI_File_get_info(fh, info_used)\n\nMPI_File_get_info man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_get_position-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_get_position","text":"MPI_File_get_position(fh, offset)\n\nMPI_File_get_position man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_get_position_shared-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_get_position_shared","text":"MPI_File_get_position_shared(fh, offset)\n\nMPI_File_get_position_shared man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_get_size-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_get_size","text":"MPI_File_get_size(fh, size)\n\nMPI_File_get_size man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_get_type_extent-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_get_type_extent","text":"MPI_File_get_type_extent(fh, datatype, extent)\n\nMPI_File_get_type_extent man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_get_type_extent_c-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_get_type_extent_c","text":"MPI_File_get_type_extent_c(fh, datatype, extent)\n\nMPI_File_get_type_extent_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_get_view-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_get_view","text":"MPI_File_get_view(fh, disp, etype, filetype, datarep)\n\nMPI_File_get_view man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iread-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iread","text":"MPI_File_iread(fh, buf, count, datatype, request)\n\nMPI_File_iread man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iread_all-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iread_all","text":"MPI_File_iread_all(fh, buf, count, datatype, request)\n\nMPI_File_iread_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iread_all_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iread_all_c","text":"MPI_File_iread_all_c(fh, buf, count, datatype, request)\n\nMPI_File_iread_all_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iread_at-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iread_at","text":"MPI_File_iread_at(fh, offset, buf, count, datatype, request)\n\nMPI_File_iread_at man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iread_at_all-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iread_at_all","text":"MPI_File_iread_at_all(fh, offset, buf, count, datatype, request)\n\nMPI_File_iread_at_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iread_at_all_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iread_at_all_c","text":"MPI_File_iread_at_all_c(fh, offset, buf, count, datatype, request)\n\nMPI_File_iread_at_all_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iread_at_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iread_at_c","text":"MPI_File_iread_at_c(fh, offset, buf, count, datatype, request)\n\nMPI_File_iread_at_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iread_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iread_c","text":"MPI_File_iread_c(fh, buf, count, datatype, request)\n\nMPI_File_iread_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iread_shared-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iread_shared","text":"MPI_File_iread_shared(fh, buf, count, datatype, request)\n\nMPI_File_iread_shared man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iread_shared_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iread_shared_c","text":"MPI_File_iread_shared_c(fh, buf, count, datatype, request)\n\nMPI_File_iread_shared_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iwrite-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iwrite","text":"MPI_File_iwrite(fh, buf, count, datatype, request)\n\nMPI_File_iwrite man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iwrite_all-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iwrite_all","text":"MPI_File_iwrite_all(fh, buf, count, datatype, request)\n\nMPI_File_iwrite_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iwrite_all_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iwrite_all_c","text":"MPI_File_iwrite_all_c(fh, buf, count, datatype, request)\n\nMPI_File_iwrite_all_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iwrite_at-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iwrite_at","text":"MPI_File_iwrite_at(fh, offset, buf, count, datatype, request)\n\nMPI_File_iwrite_at man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iwrite_at_all-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iwrite_at_all","text":"MPI_File_iwrite_at_all(fh, offset, buf, count, datatype, request)\n\nMPI_File_iwrite_at_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iwrite_at_all_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iwrite_at_all_c","text":"MPI_File_iwrite_at_all_c(fh, offset, buf, count, datatype, request)\n\nMPI_File_iwrite_at_all_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iwrite_at_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iwrite_at_c","text":"MPI_File_iwrite_at_c(fh, offset, buf, count, datatype, request)\n\nMPI_File_iwrite_at_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iwrite_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iwrite_c","text":"MPI_File_iwrite_c(fh, buf, count, datatype, request)\n\nMPI_File_iwrite_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iwrite_shared-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iwrite_shared","text":"MPI_File_iwrite_shared(fh, buf, count, datatype, request)\n\nMPI_File_iwrite_shared man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_iwrite_shared_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_iwrite_shared_c","text":"MPI_File_iwrite_shared_c(fh, buf, count, datatype, request)\n\nMPI_File_iwrite_shared_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_open-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_open","text":"MPI_File_open(comm, filename, amode, info, fh)\n\nMPI_File_open man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_preallocate-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_preallocate","text":"MPI_File_preallocate(fh, size)\n\nMPI_File_preallocate man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read","text":"MPI_File_read(fh, buf, count, datatype, status)\n\nMPI_File_read man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_all-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_all","text":"MPI_File_read_all(fh, buf, count, datatype, status)\n\nMPI_File_read_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_all_begin-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_all_begin","text":"MPI_File_read_all_begin(fh, buf, count, datatype)\n\nMPI_File_read_all_begin man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_all_begin_c-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_all_begin_c","text":"MPI_File_read_all_begin_c(fh, buf, count, datatype)\n\nMPI_File_read_all_begin_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_all_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_all_c","text":"MPI_File_read_all_c(fh, buf, count, datatype, status)\n\nMPI_File_read_all_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_all_end-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_all_end","text":"MPI_File_read_all_end(fh, buf, status)\n\nMPI_File_read_all_end man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_at-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_at","text":"MPI_File_read_at(fh, offset, buf, count, datatype, status)\n\nMPI_File_read_at man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_at_all-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_at_all","text":"MPI_File_read_at_all(fh, offset, buf, count, datatype, status)\n\nMPI_File_read_at_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_at_all_begin-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_at_all_begin","text":"MPI_File_read_at_all_begin(fh, offset, buf, count, datatype)\n\nMPI_File_read_at_all_begin man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_at_all_begin_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_at_all_begin_c","text":"MPI_File_read_at_all_begin_c(fh, offset, buf, count, datatype)\n\nMPI_File_read_at_all_begin_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_at_all_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_at_all_c","text":"MPI_File_read_at_all_c(fh, offset, buf, count, datatype, status)\n\nMPI_File_read_at_all_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_at_all_end-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_at_all_end","text":"MPI_File_read_at_all_end(fh, buf, status)\n\nMPI_File_read_at_all_end man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_at_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_at_c","text":"MPI_File_read_at_c(fh, offset, buf, count, datatype, status)\n\nMPI_File_read_at_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_c","text":"MPI_File_read_c(fh, buf, count, datatype, status)\n\nMPI_File_read_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_ordered-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_ordered","text":"MPI_File_read_ordered(fh, buf, count, datatype, status)\n\nMPI_File_read_ordered man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_ordered_begin-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_ordered_begin","text":"MPI_File_read_ordered_begin(fh, buf, count, datatype)\n\nMPI_File_read_ordered_begin man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_ordered_begin_c-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_ordered_begin_c","text":"MPI_File_read_ordered_begin_c(fh, buf, count, datatype)\n\nMPI_File_read_ordered_begin_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_ordered_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_ordered_c","text":"MPI_File_read_ordered_c(fh, buf, count, datatype, status)\n\nMPI_File_read_ordered_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_ordered_end-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_ordered_end","text":"MPI_File_read_ordered_end(fh, buf, status)\n\nMPI_File_read_ordered_end man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_shared-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_shared","text":"MPI_File_read_shared(fh, buf, count, datatype, status)\n\nMPI_File_read_shared man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_read_shared_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_read_shared_c","text":"MPI_File_read_shared_c(fh, buf, count, datatype, status)\n\nMPI_File_read_shared_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_seek-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_seek","text":"MPI_File_seek(fh, offset, whence)\n\nMPI_File_seek man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_seek_shared-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_seek_shared","text":"MPI_File_seek_shared(fh, offset, whence)\n\nMPI_File_seek_shared man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_set_atomicity-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_set_atomicity","text":"MPI_File_set_atomicity(fh, flag)\n\nMPI_File_set_atomicity man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_set_errhandler-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_set_errhandler","text":"MPI_File_set_errhandler(file, errhandler)\n\nMPI_File_set_errhandler man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_set_info-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_set_info","text":"MPI_File_set_info(fh, info)\n\nMPI_File_set_info man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_set_size-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_set_size","text":"MPI_File_set_size(fh, size)\n\nMPI_File_set_size man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_set_view-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_set_view","text":"MPI_File_set_view(fh, disp, etype, filetype, datarep, info)\n\nMPI_File_set_view man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_sync-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_File_sync","text":"MPI_File_sync(fh)\n\nMPI_File_sync man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write","text":"MPI_File_write(fh, buf, count, datatype, status)\n\nMPI_File_write man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_all-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_all","text":"MPI_File_write_all(fh, buf, count, datatype, status)\n\nMPI_File_write_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_all_begin-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_all_begin","text":"MPI_File_write_all_begin(fh, buf, count, datatype)\n\nMPI_File_write_all_begin man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_all_begin_c-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_all_begin_c","text":"MPI_File_write_all_begin_c(fh, buf, count, datatype)\n\nMPI_File_write_all_begin_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_all_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_all_c","text":"MPI_File_write_all_c(fh, buf, count, datatype, status)\n\nMPI_File_write_all_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_all_end-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_all_end","text":"MPI_File_write_all_end(fh, buf, status)\n\nMPI_File_write_all_end man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_at-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_at","text":"MPI_File_write_at(fh, offset, buf, count, datatype, status)\n\nMPI_File_write_at man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_at_all-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_at_all","text":"MPI_File_write_at_all(fh, offset, buf, count, datatype, status)\n\nMPI_File_write_at_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_at_all_begin-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_at_all_begin","text":"MPI_File_write_at_all_begin(fh, offset, buf, count, datatype)\n\nMPI_File_write_at_all_begin man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_at_all_begin_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_at_all_begin_c","text":"MPI_File_write_at_all_begin_c(fh, offset, buf, count, datatype)\n\nMPI_File_write_at_all_begin_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_at_all_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_at_all_c","text":"MPI_File_write_at_all_c(fh, offset, buf, count, datatype, status)\n\nMPI_File_write_at_all_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_at_all_end-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_at_all_end","text":"MPI_File_write_at_all_end(fh, buf, status)\n\nMPI_File_write_at_all_end man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_at_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_at_c","text":"MPI_File_write_at_c(fh, offset, buf, count, datatype, status)\n\nMPI_File_write_at_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_c","text":"MPI_File_write_c(fh, buf, count, datatype, status)\n\nMPI_File_write_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_ordered-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_ordered","text":"MPI_File_write_ordered(fh, buf, count, datatype, status)\n\nMPI_File_write_ordered man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_ordered_begin-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_ordered_begin","text":"MPI_File_write_ordered_begin(fh, buf, count, datatype)\n\nMPI_File_write_ordered_begin man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_ordered_begin_c-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_ordered_begin_c","text":"MPI_File_write_ordered_begin_c(fh, buf, count, datatype)\n\nMPI_File_write_ordered_begin_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_ordered_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_ordered_c","text":"MPI_File_write_ordered_c(fh, buf, count, datatype, status)\n\nMPI_File_write_ordered_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_ordered_end-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_ordered_end","text":"MPI_File_write_ordered_end(fh, buf, status)\n\nMPI_File_write_ordered_end man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_shared-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_shared","text":"MPI_File_write_shared(fh, buf, count, datatype, status)\n\nMPI_File_write_shared man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_File_write_shared_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_File_write_shared_c","text":"MPI_File_write_shared_c(fh, buf, count, datatype, status)\n\nMPI_File_write_shared_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Finalize-Tuple{}","page":"Low-level API","title":"MPI.API.MPI_Finalize","text":"MPI_Finalize()\n\nMPI_Finalize man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Finalized-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Finalized","text":"MPI_Finalized(flag)\n\nMPI_Finalized man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Free_mem-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Free_mem","text":"MPI_Free_mem(base)\n\nMPI_Free_mem man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Gather-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Gather","text":"MPI_Gather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm)\n\nMPI_Gather man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Gather_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Gather_c","text":"MPI_Gather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm)\n\nMPI_Gather_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Gather_init-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Gather_init","text":"MPI_Gather_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request)\n\nMPI_Gather_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Gather_init_c-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Gather_init_c","text":"MPI_Gather_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request)\n\nMPI_Gather_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Gatherv-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Gatherv","text":"MPI_Gatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm)\n\nMPI_Gatherv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Gatherv_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Gatherv_c","text":"MPI_Gatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm)\n\nMPI_Gatherv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Gatherv_init-NTuple{11, Any}","page":"Low-level API","title":"MPI.API.MPI_Gatherv_init","text":"MPI_Gatherv_init(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, info, request)\n\nMPI_Gatherv_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Gatherv_init_c-NTuple{11, Any}","page":"Low-level API","title":"MPI.API.MPI_Gatherv_init_c","text":"MPI_Gatherv_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, info, request)\n\nMPI_Gatherv_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Get-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Get","text":"MPI_Get(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win)\n\nMPI_Get man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Get_accumulate-NTuple{12, Any}","page":"Low-level API","title":"MPI.API.MPI_Get_accumulate","text":"MPI_Get_accumulate(origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win)\n\nMPI_Get_accumulate man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Get_accumulate_c-NTuple{12, Any}","page":"Low-level API","title":"MPI.API.MPI_Get_accumulate_c","text":"MPI_Get_accumulate_c(origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win)\n\nMPI_Get_accumulate_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Get_address-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Get_address","text":"MPI_Get_address(location, address)\n\nMPI_Get_address man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Get_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Get_c","text":"MPI_Get_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win)\n\nMPI_Get_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Get_count-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Get_count","text":"MPI_Get_count(status, datatype, count)\n\nMPI_Get_count man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Get_count_c-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Get_count_c","text":"MPI_Get_count_c(status, datatype, count)\n\nMPI_Get_count_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Get_elements-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Get_elements","text":"MPI_Get_elements(status, datatype, count)\n\nMPI_Get_elements man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Get_elements_c-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Get_elements_c","text":"MPI_Get_elements_c(status, datatype, count)\n\nMPI_Get_elements_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Get_elements_x-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Get_elements_x","text":"MPI_Get_elements_x(status, datatype, count)\n\nMPI_Get_elements_x man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Get_library_version-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Get_library_version","text":"MPI_Get_library_version(version, resultlen)\n\nMPI_Get_library_version man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Get_processor_name-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Get_processor_name","text":"MPI_Get_processor_name(name, resultlen)\n\nMPI_Get_processor_name man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Get_version-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Get_version","text":"MPI_Get_version(version, subversion)\n\nMPI_Get_version man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Graph_create-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Graph_create","text":"MPI_Graph_create(comm_old, nnodes, indx, edges, reorder, comm_graph)\n\nMPI_Graph_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Graph_get-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Graph_get","text":"MPI_Graph_get(comm, maxindex, maxedges, indx, edges)\n\nMPI_Graph_get man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Graph_map-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Graph_map","text":"MPI_Graph_map(comm, nnodes, indx, edges, newrank)\n\nMPI_Graph_map man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Graph_neighbors-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Graph_neighbors","text":"MPI_Graph_neighbors(comm, rank, maxneighbors, neighbors)\n\nMPI_Graph_neighbors man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Graph_neighbors_count-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Graph_neighbors_count","text":"MPI_Graph_neighbors_count(comm, rank, nneighbors)\n\nMPI_Graph_neighbors_count man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Graphdims_get-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Graphdims_get","text":"MPI_Graphdims_get(comm, nnodes, nedges)\n\nMPI_Graphdims_get man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Grequest_complete-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Grequest_complete","text":"MPI_Grequest_complete(request)\n\nMPI_Grequest_complete man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Grequest_start-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Grequest_start","text":"MPI_Grequest_start(query_fn, free_fn, cancel_fn, extra_state, request)\n\nMPI_Grequest_start man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Group_compare-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Group_compare","text":"MPI_Group_compare(group1, group2, result)\n\nMPI_Group_compare man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Group_difference-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Group_difference","text":"MPI_Group_difference(group1, group2, newgroup)\n\nMPI_Group_difference man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Group_excl-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Group_excl","text":"MPI_Group_excl(group, n, ranks, newgroup)\n\nMPI_Group_excl man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Group_free-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Group_free","text":"MPI_Group_free(group)\n\nMPI_Group_free man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Group_incl-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Group_incl","text":"MPI_Group_incl(group, n, ranks, newgroup)\n\nMPI_Group_incl man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Group_intersection-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Group_intersection","text":"MPI_Group_intersection(group1, group2, newgroup)\n\nMPI_Group_intersection man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Group_range_excl-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Group_range_excl","text":"MPI_Group_range_excl(group, n, ranges, newgroup)\n\nMPI_Group_range_excl man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Group_range_incl-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Group_range_incl","text":"MPI_Group_range_incl(group, n, ranges, newgroup)\n\nMPI_Group_range_incl man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Group_rank-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Group_rank","text":"MPI_Group_rank(group, rank)\n\nMPI_Group_rank man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Group_size-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Group_size","text":"MPI_Group_size(group, size)\n\nMPI_Group_size man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Group_translate_ranks-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Group_translate_ranks","text":"MPI_Group_translate_ranks(group1, n, ranks1, group2, ranks2)\n\nMPI_Group_translate_ranks man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Group_union-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Group_union","text":"MPI_Group_union(group1, group2, newgroup)\n\nMPI_Group_union man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Iallgather-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Iallgather","text":"MPI_Iallgather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)\n\nMPI_Iallgather man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Iallgather_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Iallgather_c","text":"MPI_Iallgather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)\n\nMPI_Iallgather_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Iallgatherv-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Iallgatherv","text":"MPI_Iallgatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request)\n\nMPI_Iallgatherv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Iallgatherv_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Iallgatherv_c","text":"MPI_Iallgatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request)\n\nMPI_Iallgatherv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Iallreduce-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Iallreduce","text":"MPI_Iallreduce(sendbuf, recvbuf, count, datatype, op, comm, request)\n\nMPI_Iallreduce man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Iallreduce_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Iallreduce_c","text":"MPI_Iallreduce_c(sendbuf, recvbuf, count, datatype, op, comm, request)\n\nMPI_Iallreduce_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ialltoall-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Ialltoall","text":"MPI_Ialltoall(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)\n\nMPI_Ialltoall man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ialltoall_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Ialltoall_c","text":"MPI_Ialltoall_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)\n\nMPI_Ialltoall_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ialltoallv-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Ialltoallv","text":"MPI_Ialltoallv(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request)\n\nMPI_Ialltoallv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ialltoallv_c-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Ialltoallv_c","text":"MPI_Ialltoallv_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request)\n\nMPI_Ialltoallv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ialltoallw-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Ialltoallw","text":"MPI_Ialltoallw(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request)\n\nMPI_Ialltoallw man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ialltoallw_c-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Ialltoallw_c","text":"MPI_Ialltoallw_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request)\n\nMPI_Ialltoallw_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ibarrier-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Ibarrier","text":"MPI_Ibarrier(comm, request)\n\nMPI_Ibarrier man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ibcast-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Ibcast","text":"MPI_Ibcast(buffer, count, datatype, root, comm, request)\n\nMPI_Ibcast man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ibcast_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Ibcast_c","text":"MPI_Ibcast_c(buffer, count, datatype, root, comm, request)\n\nMPI_Ibcast_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ibsend-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Ibsend","text":"MPI_Ibsend(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Ibsend man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ibsend_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Ibsend_c","text":"MPI_Ibsend_c(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Ibsend_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Iexscan-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Iexscan","text":"MPI_Iexscan(sendbuf, recvbuf, count, datatype, op, comm, request)\n\nMPI_Iexscan man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Iexscan_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Iexscan_c","text":"MPI_Iexscan_c(sendbuf, recvbuf, count, datatype, op, comm, request)\n\nMPI_Iexscan_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Igather-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Igather","text":"MPI_Igather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request)\n\nMPI_Igather man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Igather_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Igather_c","text":"MPI_Igather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request)\n\nMPI_Igather_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Igatherv-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Igatherv","text":"MPI_Igatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, request)\n\nMPI_Igatherv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Igatherv_c-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Igatherv_c","text":"MPI_Igatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, request)\n\nMPI_Igatherv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Improbe-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Improbe","text":"MPI_Improbe(source, tag, comm, flag, message, status)\n\nMPI_Improbe man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Imrecv-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Imrecv","text":"MPI_Imrecv(buf, count, datatype, message, request)\n\nMPI_Imrecv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Imrecv_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Imrecv_c","text":"MPI_Imrecv_c(buf, count, datatype, message, request)\n\nMPI_Imrecv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ineighbor_allgather-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Ineighbor_allgather","text":"MPI_Ineighbor_allgather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)\n\nMPI_Ineighbor_allgather man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ineighbor_allgather_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Ineighbor_allgather_c","text":"MPI_Ineighbor_allgather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)\n\nMPI_Ineighbor_allgather_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ineighbor_allgatherv-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Ineighbor_allgatherv","text":"MPI_Ineighbor_allgatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request)\n\nMPI_Ineighbor_allgatherv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ineighbor_allgatherv_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Ineighbor_allgatherv_c","text":"MPI_Ineighbor_allgatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request)\n\nMPI_Ineighbor_allgatherv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ineighbor_alltoall-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Ineighbor_alltoall","text":"MPI_Ineighbor_alltoall(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)\n\nMPI_Ineighbor_alltoall man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ineighbor_alltoall_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Ineighbor_alltoall_c","text":"MPI_Ineighbor_alltoall_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request)\n\nMPI_Ineighbor_alltoall_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ineighbor_alltoallv-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Ineighbor_alltoallv","text":"MPI_Ineighbor_alltoallv(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request)\n\nMPI_Ineighbor_alltoallv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ineighbor_alltoallv_c-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Ineighbor_alltoallv_c","text":"MPI_Ineighbor_alltoallv_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request)\n\nMPI_Ineighbor_alltoallv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ineighbor_alltoallw-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Ineighbor_alltoallw","text":"MPI_Ineighbor_alltoallw(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request)\n\nMPI_Ineighbor_alltoallw man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ineighbor_alltoallw_c-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Ineighbor_alltoallw_c","text":"MPI_Ineighbor_alltoallw_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request)\n\nMPI_Ineighbor_alltoallw_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Info_create-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Info_create","text":"MPI_Info_create(info)\n\nMPI_Info_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Info_create_env-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Info_create_env","text":"MPI_Info_create_env(argc, argv, info)\n\nMPI_Info_create_env man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Info_delete-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Info_delete","text":"MPI_Info_delete(info, key)\n\nMPI_Info_delete man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Info_dup-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Info_dup","text":"MPI_Info_dup(info, newinfo)\n\nMPI_Info_dup man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Info_free-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Info_free","text":"MPI_Info_free(info)\n\nMPI_Info_free man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Info_get-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Info_get","text":"MPI_Info_get(info, key, valuelen, value, flag)\n\nMPI_Info_get man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Info_get_nkeys-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Info_get_nkeys","text":"MPI_Info_get_nkeys(info, nkeys)\n\nMPI_Info_get_nkeys man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Info_get_nthkey-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Info_get_nthkey","text":"MPI_Info_get_nthkey(info, n, key)\n\nMPI_Info_get_nthkey man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Info_get_string-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Info_get_string","text":"MPI_Info_get_string(info, key, buflen, value, flag)\n\nMPI_Info_get_string man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Info_get_valuelen-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Info_get_valuelen","text":"MPI_Info_get_valuelen(info, key, valuelen, flag)\n\nMPI_Info_get_valuelen man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Info_set-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Info_set","text":"MPI_Info_set(info, key, value)\n\nMPI_Info_set man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Init-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Init","text":"MPI_Init(argc, argv)\n\nMPI_Init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Init_thread-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Init_thread","text":"MPI_Init_thread(argc, argv, required, provided)\n\nMPI_Init_thread man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Initialized-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Initialized","text":"MPI_Initialized(flag)\n\nMPI_Initialized man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Intercomm_create-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Intercomm_create","text":"MPI_Intercomm_create(local_comm, local_leader, peer_comm, remote_leader, tag, newintercomm)\n\nMPI_Intercomm_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Intercomm_create_from_groups-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Intercomm_create_from_groups","text":"MPI_Intercomm_create_from_groups(local_group, local_leader, remote_group, remote_leader, stringtag, info, errhandler, newintercomm)\n\nMPI_Intercomm_create_from_groups man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Intercomm_merge-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Intercomm_merge","text":"MPI_Intercomm_merge(intercomm, high, newintracomm)\n\nMPI_Intercomm_merge man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Iprobe-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Iprobe","text":"MPI_Iprobe(source, tag, comm, flag, status)\n\nMPI_Iprobe man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Irecv-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Irecv","text":"MPI_Irecv(buf, count, datatype, source, tag, comm, request)\n\nMPI_Irecv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Irecv_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Irecv_c","text":"MPI_Irecv_c(buf, count, datatype, source, tag, comm, request)\n\nMPI_Irecv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ireduce-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Ireduce","text":"MPI_Ireduce(sendbuf, recvbuf, count, datatype, op, root, comm, request)\n\nMPI_Ireduce man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ireduce_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Ireduce_c","text":"MPI_Ireduce_c(sendbuf, recvbuf, count, datatype, op, root, comm, request)\n\nMPI_Ireduce_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ireduce_scatter-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Ireduce_scatter","text":"MPI_Ireduce_scatter(sendbuf, recvbuf, recvcounts, datatype, op, comm, request)\n\nMPI_Ireduce_scatter man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ireduce_scatter_block-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Ireduce_scatter_block","text":"MPI_Ireduce_scatter_block(sendbuf, recvbuf, recvcount, datatype, op, comm, request)\n\nMPI_Ireduce_scatter_block man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ireduce_scatter_block_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Ireduce_scatter_block_c","text":"MPI_Ireduce_scatter_block_c(sendbuf, recvbuf, recvcount, datatype, op, comm, request)\n\nMPI_Ireduce_scatter_block_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ireduce_scatter_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Ireduce_scatter_c","text":"MPI_Ireduce_scatter_c(sendbuf, recvbuf, recvcounts, datatype, op, comm, request)\n\nMPI_Ireduce_scatter_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Irsend-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Irsend","text":"MPI_Irsend(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Irsend man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Irsend_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Irsend_c","text":"MPI_Irsend_c(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Irsend_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Is_thread_main-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Is_thread_main","text":"MPI_Is_thread_main(flag)\n\nMPI_Is_thread_main man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Iscan-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Iscan","text":"MPI_Iscan(sendbuf, recvbuf, count, datatype, op, comm, request)\n\nMPI_Iscan man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Iscan_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Iscan_c","text":"MPI_Iscan_c(sendbuf, recvbuf, count, datatype, op, comm, request)\n\nMPI_Iscan_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Iscatter-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Iscatter","text":"MPI_Iscatter(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request)\n\nMPI_Iscatter man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Iscatter_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Iscatter_c","text":"MPI_Iscatter_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request)\n\nMPI_Iscatter_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Iscatterv-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Iscatterv","text":"MPI_Iscatterv(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, request)\n\nMPI_Iscatterv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Iscatterv_c-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Iscatterv_c","text":"MPI_Iscatterv_c(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, request)\n\nMPI_Iscatterv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Isend-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Isend","text":"MPI_Isend(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Isend man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Isend_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Isend_c","text":"MPI_Isend_c(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Isend_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Isendrecv-NTuple{12, Any}","page":"Low-level API","title":"MPI.API.MPI_Isendrecv","text":"MPI_Isendrecv(sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, request)\n\nMPI_Isendrecv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Isendrecv_c-NTuple{12, Any}","page":"Low-level API","title":"MPI.API.MPI_Isendrecv_c","text":"MPI_Isendrecv_c(sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, request)\n\nMPI_Isendrecv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Isendrecv_replace-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Isendrecv_replace","text":"MPI_Isendrecv_replace(buf, count, datatype, dest, sendtag, source, recvtag, comm, request)\n\nMPI_Isendrecv_replace man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Isendrecv_replace_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Isendrecv_replace_c","text":"MPI_Isendrecv_replace_c(buf, count, datatype, dest, sendtag, source, recvtag, comm, request)\n\nMPI_Isendrecv_replace_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Issend-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Issend","text":"MPI_Issend(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Issend man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Issend_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Issend_c","text":"MPI_Issend_c(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Issend_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Keyval_create-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Keyval_create","text":"MPI_Keyval_create(copy_fn, delete_fn, keyval, extra_state)\n\nMPI_Keyval_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Keyval_free-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Keyval_free","text":"MPI_Keyval_free(keyval)\n\nMPI_Keyval_free man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Lookup_name-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Lookup_name","text":"MPI_Lookup_name(service_name, info, port_name)\n\nMPI_Lookup_name man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Mprobe-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Mprobe","text":"MPI_Mprobe(source, tag, comm, message, status)\n\nMPI_Mprobe man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Mrecv-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Mrecv","text":"MPI_Mrecv(buf, count, datatype, message, status)\n\nMPI_Mrecv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Mrecv_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Mrecv_c","text":"MPI_Mrecv_c(buf, count, datatype, message, status)\n\nMPI_Mrecv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_allgather-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_allgather","text":"MPI_Neighbor_allgather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)\n\nMPI_Neighbor_allgather man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_allgather_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_allgather_c","text":"MPI_Neighbor_allgather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)\n\nMPI_Neighbor_allgather_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_allgather_init-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_allgather_init","text":"MPI_Neighbor_allgather_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)\n\nMPI_Neighbor_allgather_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_allgather_init_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_allgather_init_c","text":"MPI_Neighbor_allgather_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)\n\nMPI_Neighbor_allgather_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_allgatherv-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_allgatherv","text":"MPI_Neighbor_allgatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm)\n\nMPI_Neighbor_allgatherv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_allgatherv_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_allgatherv_c","text":"MPI_Neighbor_allgatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm)\n\nMPI_Neighbor_allgatherv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_allgatherv_init-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_allgatherv_init","text":"MPI_Neighbor_allgatherv_init(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request)\n\nMPI_Neighbor_allgatherv_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_allgatherv_init_c-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_allgatherv_init_c","text":"MPI_Neighbor_allgatherv_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request)\n\nMPI_Neighbor_allgatherv_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_alltoall-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_alltoall","text":"MPI_Neighbor_alltoall(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)\n\nMPI_Neighbor_alltoall man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_alltoall_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_alltoall_c","text":"MPI_Neighbor_alltoall_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm)\n\nMPI_Neighbor_alltoall_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_alltoall_init-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_alltoall_init","text":"MPI_Neighbor_alltoall_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)\n\nMPI_Neighbor_alltoall_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_alltoall_init_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_alltoall_init_c","text":"MPI_Neighbor_alltoall_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request)\n\nMPI_Neighbor_alltoall_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_alltoallv-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_alltoallv","text":"MPI_Neighbor_alltoallv(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm)\n\nMPI_Neighbor_alltoallv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_alltoallv_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_alltoallv_c","text":"MPI_Neighbor_alltoallv_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm)\n\nMPI_Neighbor_alltoallv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_alltoallv_init-NTuple{11, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_alltoallv_init","text":"MPI_Neighbor_alltoallv_init(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request)\n\nMPI_Neighbor_alltoallv_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_alltoallv_init_c-NTuple{11, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_alltoallv_init_c","text":"MPI_Neighbor_alltoallv_init_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request)\n\nMPI_Neighbor_alltoallv_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_alltoallw-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_alltoallw","text":"MPI_Neighbor_alltoallw(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm)\n\nMPI_Neighbor_alltoallw man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_alltoallw_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_alltoallw_c","text":"MPI_Neighbor_alltoallw_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm)\n\nMPI_Neighbor_alltoallw_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_alltoallw_init-NTuple{11, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_alltoallw_init","text":"MPI_Neighbor_alltoallw_init(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request)\n\nMPI_Neighbor_alltoallw_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Neighbor_alltoallw_init_c-NTuple{11, Any}","page":"Low-level API","title":"MPI.API.MPI_Neighbor_alltoallw_init_c","text":"MPI_Neighbor_alltoallw_init_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request)\n\nMPI_Neighbor_alltoallw_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Op_commutative-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Op_commutative","text":"MPI_Op_commutative(op, commute)\n\nMPI_Op_commutative man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Op_create-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Op_create","text":"MPI_Op_create(user_fn, commute, op)\n\nMPI_Op_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Op_create_c-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Op_create_c","text":"MPI_Op_create_c(user_fn, commute, op)\n\nMPI_Op_create_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Op_free-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Op_free","text":"MPI_Op_free(op)\n\nMPI_Op_free man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Open_port-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Open_port","text":"MPI_Open_port(info, port_name)\n\nMPI_Open_port man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Pack-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Pack","text":"MPI_Pack(inbuf, incount, datatype, outbuf, outsize, position, comm)\n\nMPI_Pack man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Pack_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Pack_c","text":"MPI_Pack_c(inbuf, incount, datatype, outbuf, outsize, position, comm)\n\nMPI_Pack_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Pack_external-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Pack_external","text":"MPI_Pack_external(datarep, inbuf, incount, datatype, outbuf, outsize, position)\n\nMPI_Pack_external man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Pack_external_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Pack_external_c","text":"MPI_Pack_external_c(datarep, inbuf, incount, datatype, outbuf, outsize, position)\n\nMPI_Pack_external_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Pack_external_size-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Pack_external_size","text":"MPI_Pack_external_size(datarep, incount, datatype, size)\n\nMPI_Pack_external_size man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Pack_external_size_c-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Pack_external_size_c","text":"MPI_Pack_external_size_c(datarep, incount, datatype, size)\n\nMPI_Pack_external_size_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Pack_size-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Pack_size","text":"MPI_Pack_size(incount, datatype, comm, size)\n\nMPI_Pack_size man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Pack_size_c-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Pack_size_c","text":"MPI_Pack_size_c(incount, datatype, comm, size)\n\nMPI_Pack_size_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Parrived-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Parrived","text":"MPI_Parrived(request, partition, flag)\n\nMPI_Parrived man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Pready-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Pready","text":"MPI_Pready(partition, request)\n\nMPI_Pready man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Pready_list-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Pready_list","text":"MPI_Pready_list(length, array_of_partitions, request)\n\nMPI_Pready_list man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Pready_range-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Pready_range","text":"MPI_Pready_range(partition_low, partition_high, request)\n\nMPI_Pready_range man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Precv_init-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Precv_init","text":"MPI_Precv_init(buf, partitions, count, datatype, dest, tag, comm, info, request)\n\nMPI_Precv_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Probe-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Probe","text":"MPI_Probe(source, tag, comm, status)\n\nMPI_Probe man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Psend_init-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Psend_init","text":"MPI_Psend_init(buf, partitions, count, datatype, dest, tag, comm, info, request)\n\nMPI_Psend_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Publish_name-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Publish_name","text":"MPI_Publish_name(service_name, info, port_name)\n\nMPI_Publish_name man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Put-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Put","text":"MPI_Put(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win)\n\nMPI_Put man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Put_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Put_c","text":"MPI_Put_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win)\n\nMPI_Put_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Query_thread-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Query_thread","text":"MPI_Query_thread(provided)\n\nMPI_Query_thread man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Raccumulate-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Raccumulate","text":"MPI_Raccumulate(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request)\n\nMPI_Raccumulate man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Raccumulate_c-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Raccumulate_c","text":"MPI_Raccumulate_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request)\n\nMPI_Raccumulate_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Recv-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Recv","text":"MPI_Recv(buf, count, datatype, source, tag, comm, status)\n\nMPI_Recv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Recv_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Recv_c","text":"MPI_Recv_c(buf, count, datatype, source, tag, comm, status)\n\nMPI_Recv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Recv_init-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Recv_init","text":"MPI_Recv_init(buf, count, datatype, source, tag, comm, request)\n\nMPI_Recv_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Recv_init_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Recv_init_c","text":"MPI_Recv_init_c(buf, count, datatype, source, tag, comm, request)\n\nMPI_Recv_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Reduce-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Reduce","text":"MPI_Reduce(sendbuf, recvbuf, count, datatype, op, root, comm)\n\nMPI_Reduce man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Reduce_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Reduce_c","text":"MPI_Reduce_c(sendbuf, recvbuf, count, datatype, op, root, comm)\n\nMPI_Reduce_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Reduce_init-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Reduce_init","text":"MPI_Reduce_init(sendbuf, recvbuf, count, datatype, op, root, comm, info, request)\n\nMPI_Reduce_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Reduce_init_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Reduce_init_c","text":"MPI_Reduce_init_c(sendbuf, recvbuf, count, datatype, op, root, comm, info, request)\n\nMPI_Reduce_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Reduce_local-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Reduce_local","text":"MPI_Reduce_local(inbuf, inoutbuf, count, datatype, op)\n\nMPI_Reduce_local man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Reduce_local_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Reduce_local_c","text":"MPI_Reduce_local_c(inbuf, inoutbuf, count, datatype, op)\n\nMPI_Reduce_local_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Reduce_scatter-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Reduce_scatter","text":"MPI_Reduce_scatter(sendbuf, recvbuf, recvcounts, datatype, op, comm)\n\nMPI_Reduce_scatter man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Reduce_scatter_block-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Reduce_scatter_block","text":"MPI_Reduce_scatter_block(sendbuf, recvbuf, recvcount, datatype, op, comm)\n\nMPI_Reduce_scatter_block man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Reduce_scatter_block_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Reduce_scatter_block_c","text":"MPI_Reduce_scatter_block_c(sendbuf, recvbuf, recvcount, datatype, op, comm)\n\nMPI_Reduce_scatter_block_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Reduce_scatter_block_init-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Reduce_scatter_block_init","text":"MPI_Reduce_scatter_block_init(sendbuf, recvbuf, recvcount, datatype, op, comm, info, request)\n\nMPI_Reduce_scatter_block_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Reduce_scatter_block_init_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Reduce_scatter_block_init_c","text":"MPI_Reduce_scatter_block_init_c(sendbuf, recvbuf, recvcount, datatype, op, comm, info, request)\n\nMPI_Reduce_scatter_block_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Reduce_scatter_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Reduce_scatter_c","text":"MPI_Reduce_scatter_c(sendbuf, recvbuf, recvcounts, datatype, op, comm)\n\nMPI_Reduce_scatter_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Reduce_scatter_init-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Reduce_scatter_init","text":"MPI_Reduce_scatter_init(sendbuf, recvbuf, recvcounts, datatype, op, comm, info, request)\n\nMPI_Reduce_scatter_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Reduce_scatter_init_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Reduce_scatter_init_c","text":"MPI_Reduce_scatter_init_c(sendbuf, recvbuf, recvcounts, datatype, op, comm, info, request)\n\nMPI_Reduce_scatter_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Register_datarep-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Register_datarep","text":"MPI_Register_datarep(datarep, read_conversion_fn, write_conversion_fn, dtype_file_extent_fn, extra_state)\n\nMPI_Register_datarep man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Register_datarep_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Register_datarep_c","text":"MPI_Register_datarep_c(datarep, read_conversion_fn, write_conversion_fn, dtype_file_extent_fn, extra_state)\n\nMPI_Register_datarep_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Request_free-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Request_free","text":"MPI_Request_free(request)\n\nMPI_Request_free man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Request_get_status-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Request_get_status","text":"MPI_Request_get_status(request, flag, status)\n\nMPI_Request_get_status man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Rget-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Rget","text":"MPI_Rget(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request)\n\nMPI_Rget man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Rget_accumulate-NTuple{13, Any}","page":"Low-level API","title":"MPI.API.MPI_Rget_accumulate","text":"MPI_Rget_accumulate(origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request)\n\nMPI_Rget_accumulate man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Rget_accumulate_c-NTuple{13, Any}","page":"Low-level API","title":"MPI.API.MPI_Rget_accumulate_c","text":"MPI_Rget_accumulate_c(origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request)\n\nMPI_Rget_accumulate_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Rget_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Rget_c","text":"MPI_Rget_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request)\n\nMPI_Rget_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Rput-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Rput","text":"MPI_Rput(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request)\n\nMPI_Rput man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Rput_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Rput_c","text":"MPI_Rput_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request)\n\nMPI_Rput_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Rsend-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Rsend","text":"MPI_Rsend(buf, count, datatype, dest, tag, comm)\n\nMPI_Rsend man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Rsend_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Rsend_c","text":"MPI_Rsend_c(buf, count, datatype, dest, tag, comm)\n\nMPI_Rsend_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Rsend_init-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Rsend_init","text":"MPI_Rsend_init(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Rsend_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Rsend_init_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Rsend_init_c","text":"MPI_Rsend_init_c(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Rsend_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Scan-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Scan","text":"MPI_Scan(sendbuf, recvbuf, count, datatype, op, comm)\n\nMPI_Scan man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Scan_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Scan_c","text":"MPI_Scan_c(sendbuf, recvbuf, count, datatype, op, comm)\n\nMPI_Scan_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Scan_init-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Scan_init","text":"MPI_Scan_init(sendbuf, recvbuf, count, datatype, op, comm, info, request)\n\nMPI_Scan_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Scan_init_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Scan_init_c","text":"MPI_Scan_init_c(sendbuf, recvbuf, count, datatype, op, comm, info, request)\n\nMPI_Scan_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Scatter-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Scatter","text":"MPI_Scatter(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm)\n\nMPI_Scatter man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Scatter_c-NTuple{8, Any}","page":"Low-level API","title":"MPI.API.MPI_Scatter_c","text":"MPI_Scatter_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm)\n\nMPI_Scatter_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Scatter_init-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Scatter_init","text":"MPI_Scatter_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request)\n\nMPI_Scatter_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Scatter_init_c-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Scatter_init_c","text":"MPI_Scatter_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request)\n\nMPI_Scatter_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Scatterv-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Scatterv","text":"MPI_Scatterv(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm)\n\nMPI_Scatterv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Scatterv_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Scatterv_c","text":"MPI_Scatterv_c(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm)\n\nMPI_Scatterv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Scatterv_init-NTuple{11, Any}","page":"Low-level API","title":"MPI.API.MPI_Scatterv_init","text":"MPI_Scatterv_init(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request)\n\nMPI_Scatterv_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Scatterv_init_c-NTuple{11, Any}","page":"Low-level API","title":"MPI.API.MPI_Scatterv_init_c","text":"MPI_Scatterv_init_c(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request)\n\nMPI_Scatterv_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Send-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Send","text":"MPI_Send(buf, count, datatype, dest, tag, comm)\n\nMPI_Send man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Send_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Send_c","text":"MPI_Send_c(buf, count, datatype, dest, tag, comm)\n\nMPI_Send_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Send_init-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Send_init","text":"MPI_Send_init(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Send_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Send_init_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Send_init_c","text":"MPI_Send_init_c(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Send_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Sendrecv-NTuple{12, Any}","page":"Low-level API","title":"MPI.API.MPI_Sendrecv","text":"MPI_Sendrecv(sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, status)\n\nMPI_Sendrecv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Sendrecv_c-NTuple{12, Any}","page":"Low-level API","title":"MPI.API.MPI_Sendrecv_c","text":"MPI_Sendrecv_c(sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, status)\n\nMPI_Sendrecv_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Sendrecv_replace-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Sendrecv_replace","text":"MPI_Sendrecv_replace(buf, count, datatype, dest, sendtag, source, recvtag, comm, status)\n\nMPI_Sendrecv_replace man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Sendrecv_replace_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Sendrecv_replace_c","text":"MPI_Sendrecv_replace_c(buf, count, datatype, dest, sendtag, source, recvtag, comm, status)\n\nMPI_Sendrecv_replace_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ssend-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Ssend","text":"MPI_Ssend(buf, count, datatype, dest, tag, comm)\n\nMPI_Ssend man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ssend_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Ssend_c","text":"MPI_Ssend_c(buf, count, datatype, dest, tag, comm)\n\nMPI_Ssend_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ssend_init-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Ssend_init","text":"MPI_Ssend_init(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Ssend_init man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Ssend_init_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Ssend_init_c","text":"MPI_Ssend_init_c(buf, count, datatype, dest, tag, comm, request)\n\nMPI_Ssend_init_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Start-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Start","text":"MPI_Start(request)\n\nMPI_Start man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Startall-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Startall","text":"MPI_Startall(count, array_of_requests)\n\nMPI_Startall man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Status_c2f-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Status_c2f","text":"MPI_Status_c2f(c_status, f_status)\n\nMPI_Status_c2f man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Status_f2c-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Status_f2c","text":"MPI_Status_f2c(f_status, c_status)\n\nMPI_Status_f2c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Status_set_cancelled-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Status_set_cancelled","text":"MPI_Status_set_cancelled(status, flag)\n\nMPI_Status_set_cancelled man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Status_set_elements-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Status_set_elements","text":"MPI_Status_set_elements(status, datatype, count)\n\nMPI_Status_set_elements man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Status_set_elements_x-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Status_set_elements_x","text":"MPI_Status_set_elements_x(status, datatype, count)\n\nMPI_Status_set_elements_x man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Test-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Test","text":"MPI_Test(request, flag, status)\n\nMPI_Test man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Test_cancelled-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Test_cancelled","text":"MPI_Test_cancelled(status, flag)\n\nMPI_Test_cancelled man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Testall-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Testall","text":"MPI_Testall(count, array_of_requests, flag, array_of_statuses)\n\nMPI_Testall man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Testany-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Testany","text":"MPI_Testany(count, array_of_requests, indx, flag, status)\n\nMPI_Testany man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Testsome-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Testsome","text":"MPI_Testsome(incount, array_of_requests, outcount, array_of_indices, array_of_statuses)\n\nMPI_Testsome man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Topo_test-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Topo_test","text":"MPI_Topo_test(comm, status)\n\nMPI_Topo_test man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_commit-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Type_commit","text":"MPI_Type_commit(datatype)\n\nMPI_Type_commit man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_contiguous-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_contiguous","text":"MPI_Type_contiguous(count, oldtype, newtype)\n\nMPI_Type_contiguous man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_contiguous_c-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_contiguous_c","text":"MPI_Type_contiguous_c(count, oldtype, newtype)\n\nMPI_Type_contiguous_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_darray-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_darray","text":"MPI_Type_create_darray(size, rank, ndims, array_of_gsizes, array_of_distribs, array_of_dargs, array_of_psizes, order, oldtype, newtype)\n\nMPI_Type_create_darray man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_darray_c-NTuple{10, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_darray_c","text":"MPI_Type_create_darray_c(size, rank, ndims, array_of_gsizes, array_of_distribs, array_of_dargs, array_of_psizes, order, oldtype, newtype)\n\nMPI_Type_create_darray_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_f90_complex-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_f90_complex","text":"MPI_Type_create_f90_complex(p, r, newtype)\n\nMPI_Type_create_f90_complex man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_f90_integer-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_f90_integer","text":"MPI_Type_create_f90_integer(r, newtype)\n\nMPI_Type_create_f90_integer man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_f90_real-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_f90_real","text":"MPI_Type_create_f90_real(p, r, newtype)\n\nMPI_Type_create_f90_real man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_hindexed-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_hindexed","text":"MPI_Type_create_hindexed(count, array_of_blocklengths, array_of_displacements, oldtype, newtype)\n\nMPI_Type_create_hindexed man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_hindexed_block-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_hindexed_block","text":"MPI_Type_create_hindexed_block(count, blocklength, array_of_displacements, oldtype, newtype)\n\nMPI_Type_create_hindexed_block man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_hindexed_block_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_hindexed_block_c","text":"MPI_Type_create_hindexed_block_c(count, blocklength, array_of_displacements, oldtype, newtype)\n\nMPI_Type_create_hindexed_block_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_hindexed_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_hindexed_c","text":"MPI_Type_create_hindexed_c(count, array_of_blocklengths, array_of_displacements, oldtype, newtype)\n\nMPI_Type_create_hindexed_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_hvector-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_hvector","text":"MPI_Type_create_hvector(count, blocklength, stride, oldtype, newtype)\n\nMPI_Type_create_hvector man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_hvector_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_hvector_c","text":"MPI_Type_create_hvector_c(count, blocklength, stride, oldtype, newtype)\n\nMPI_Type_create_hvector_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_indexed_block-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_indexed_block","text":"MPI_Type_create_indexed_block(count, blocklength, array_of_displacements, oldtype, newtype)\n\nMPI_Type_create_indexed_block man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_indexed_block_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_indexed_block_c","text":"MPI_Type_create_indexed_block_c(count, blocklength, array_of_displacements, oldtype, newtype)\n\nMPI_Type_create_indexed_block_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_keyval-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_keyval","text":"MPI_Type_create_keyval(type_copy_attr_fn, type_delete_attr_fn, type_keyval, extra_state)\n\nMPI_Type_create_keyval man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_resized-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_resized","text":"MPI_Type_create_resized(oldtype, lb, extent, newtype)\n\nMPI_Type_create_resized man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_resized_c-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_resized_c","text":"MPI_Type_create_resized_c(oldtype, lb, extent, newtype)\n\nMPI_Type_create_resized_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_struct-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_struct","text":"MPI_Type_create_struct(count, array_of_blocklengths, array_of_displacements, array_of_types, newtype)\n\nMPI_Type_create_struct man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_struct_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_struct_c","text":"MPI_Type_create_struct_c(count, array_of_blocklengths, array_of_displacements, array_of_types, newtype)\n\nMPI_Type_create_struct_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_subarray-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_subarray","text":"MPI_Type_create_subarray(ndims, array_of_sizes, array_of_subsizes, array_of_starts, order, oldtype, newtype)\n\nMPI_Type_create_subarray man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_create_subarray_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_create_subarray_c","text":"MPI_Type_create_subarray_c(ndims, array_of_sizes, array_of_subsizes, array_of_starts, order, oldtype, newtype)\n\nMPI_Type_create_subarray_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_delete_attr-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_delete_attr","text":"MPI_Type_delete_attr(datatype, type_keyval)\n\nMPI_Type_delete_attr man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_dup-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_dup","text":"MPI_Type_dup(oldtype, newtype)\n\nMPI_Type_dup man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_extent-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_extent","text":"MPI_Type_extent(datatype, extent)\n\nMPI_Type_extent man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_free-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Type_free","text":"MPI_Type_free(datatype)\n\nMPI_Type_free man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_free_keyval-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Type_free_keyval","text":"MPI_Type_free_keyval(type_keyval)\n\nMPI_Type_free_keyval man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_get_attr-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_get_attr","text":"MPI_Type_get_attr(datatype, type_keyval, attribute_val, flag)\n\nMPI_Type_get_attr man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_get_contents-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_get_contents","text":"MPI_Type_get_contents(datatype, max_integers, max_addresses, max_datatypes, array_of_integers, array_of_addresses, array_of_datatypes)\n\nMPI_Type_get_contents man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_get_contents_c-NTuple{9, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_get_contents_c","text":"MPI_Type_get_contents_c(datatype, max_integers, max_addresses, max_large_counts, max_datatypes, array_of_integers, array_of_addresses, array_of_large_counts, array_of_datatypes)\n\nMPI_Type_get_contents_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_get_envelope-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_get_envelope","text":"MPI_Type_get_envelope(datatype, num_integers, num_addresses, num_datatypes, combiner)\n\nMPI_Type_get_envelope man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_get_envelope_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_get_envelope_c","text":"MPI_Type_get_envelope_c(datatype, num_integers, num_addresses, num_large_counts, num_datatypes, combiner)\n\nMPI_Type_get_envelope_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_get_extent-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_get_extent","text":"MPI_Type_get_extent(datatype, lb, extent)\n\nMPI_Type_get_extent man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_get_extent_c-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_get_extent_c","text":"MPI_Type_get_extent_c(datatype, lb, extent)\n\nMPI_Type_get_extent_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_get_extent_x-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_get_extent_x","text":"MPI_Type_get_extent_x(datatype, lb, extent)\n\nMPI_Type_get_extent_x man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_get_name-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_get_name","text":"MPI_Type_get_name(datatype, type_name, resultlen)\n\nMPI_Type_get_name man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_get_true_extent-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_get_true_extent","text":"MPI_Type_get_true_extent(datatype, true_lb, true_extent)\n\nMPI_Type_get_true_extent man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_get_true_extent_c-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_get_true_extent_c","text":"MPI_Type_get_true_extent_c(datatype, true_lb, true_extent)\n\nMPI_Type_get_true_extent_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_get_true_extent_x-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_get_true_extent_x","text":"MPI_Type_get_true_extent_x(datatype, true_lb, true_extent)\n\nMPI_Type_get_true_extent_x man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_hindexed-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_hindexed","text":"MPI_Type_hindexed(count, array_of_blocklengths, array_of_displacements, oldtype, newtype)\n\nMPI_Type_hindexed man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_hvector-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_hvector","text":"MPI_Type_hvector(count, blocklength, stride, oldtype, newtype)\n\nMPI_Type_hvector man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_indexed-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_indexed","text":"MPI_Type_indexed(count, array_of_blocklengths, array_of_displacements, oldtype, newtype)\n\nMPI_Type_indexed man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_indexed_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_indexed_c","text":"MPI_Type_indexed_c(count, array_of_blocklengths, array_of_displacements, oldtype, newtype)\n\nMPI_Type_indexed_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_lb-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_lb","text":"MPI_Type_lb(datatype, displacement)\n\nMPI_Type_lb man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_match_size-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_match_size","text":"MPI_Type_match_size(typeclass, size, datatype)\n\nMPI_Type_match_size man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_set_attr-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_set_attr","text":"MPI_Type_set_attr(datatype, type_keyval, attribute_val)\n\nMPI_Type_set_attr man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_set_name-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_set_name","text":"MPI_Type_set_name(datatype, type_name)\n\nMPI_Type_set_name man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_size-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_size","text":"MPI_Type_size(datatype, size)\n\nMPI_Type_size man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_size_c-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_size_c","text":"MPI_Type_size_c(datatype, size)\n\nMPI_Type_size_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_size_x-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_size_x","text":"MPI_Type_size_x(datatype, size)\n\nMPI_Type_size_x man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_struct-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_struct","text":"MPI_Type_struct(count, array_of_blocklengths, array_of_displacements, array_of_types, newtype)\n\nMPI_Type_struct man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_ub-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_ub","text":"MPI_Type_ub(datatype, displacement)\n\nMPI_Type_ub man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_vector-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_vector","text":"MPI_Type_vector(count, blocklength, stride, oldtype, newtype)\n\nMPI_Type_vector man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Type_vector_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Type_vector_c","text":"MPI_Type_vector_c(count, blocklength, stride, oldtype, newtype)\n\nMPI_Type_vector_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Unpack-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Unpack","text":"MPI_Unpack(inbuf, insize, position, outbuf, outcount, datatype, comm)\n\nMPI_Unpack man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Unpack_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Unpack_c","text":"MPI_Unpack_c(inbuf, insize, position, outbuf, outcount, datatype, comm)\n\nMPI_Unpack_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Unpack_external-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Unpack_external","text":"MPI_Unpack_external(datarep, inbuf, insize, position, outbuf, outcount, datatype)\n\nMPI_Unpack_external man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Unpack_external_c-NTuple{7, Any}","page":"Low-level API","title":"MPI.API.MPI_Unpack_external_c","text":"MPI_Unpack_external_c(datarep, inbuf, insize, position, outbuf, outcount, datatype)\n\nMPI_Unpack_external_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Unpublish_name-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Unpublish_name","text":"MPI_Unpublish_name(service_name, info, port_name)\n\nMPI_Unpublish_name man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Wait-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Wait","text":"MPI_Wait(request, status)\n\nMPI_Wait man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Waitall-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Waitall","text":"MPI_Waitall(count, array_of_requests, array_of_statuses)\n\nMPI_Waitall man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Waitany-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Waitany","text":"MPI_Waitany(count, array_of_requests, indx, status)\n\nMPI_Waitany man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Waitsome-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Waitsome","text":"MPI_Waitsome(incount, array_of_requests, outcount, array_of_indices, array_of_statuses)\n\nMPI_Waitsome man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_allocate-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_allocate","text":"MPI_Win_allocate(size, disp_unit, info, comm, baseptr, win)\n\nMPI_Win_allocate man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_allocate_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_allocate_c","text":"MPI_Win_allocate_c(size, disp_unit, info, comm, baseptr, win)\n\nMPI_Win_allocate_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_allocate_shared-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_allocate_shared","text":"MPI_Win_allocate_shared(size, disp_unit, info, comm, baseptr, win)\n\nMPI_Win_allocate_shared man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_allocate_shared_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_allocate_shared_c","text":"MPI_Win_allocate_shared_c(size, disp_unit, info, comm, baseptr, win)\n\nMPI_Win_allocate_shared_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_attach-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_attach","text":"MPI_Win_attach(win, base, size)\n\nMPI_Win_attach man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_call_errhandler-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_call_errhandler","text":"MPI_Win_call_errhandler(win, errorcode)\n\nMPI_Win_call_errhandler man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_complete-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Win_complete","text":"MPI_Win_complete(win)\n\nMPI_Win_complete man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_create-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_create","text":"MPI_Win_create(base, size, disp_unit, info, comm, win)\n\nMPI_Win_create man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_create_c-NTuple{6, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_create_c","text":"MPI_Win_create_c(base, size, disp_unit, info, comm, win)\n\nMPI_Win_create_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_create_dynamic-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_create_dynamic","text":"MPI_Win_create_dynamic(info, comm, win)\n\nMPI_Win_create_dynamic man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_create_errhandler-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_create_errhandler","text":"MPI_Win_create_errhandler(win_errhandler_fn, errhandler)\n\nMPI_Win_create_errhandler man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_create_keyval-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_create_keyval","text":"MPI_Win_create_keyval(win_copy_attr_fn, win_delete_attr_fn, win_keyval, extra_state)\n\nMPI_Win_create_keyval man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_delete_attr-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_delete_attr","text":"MPI_Win_delete_attr(win, win_keyval)\n\nMPI_Win_delete_attr man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_detach-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_detach","text":"MPI_Win_detach(win, base)\n\nMPI_Win_detach man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_fence-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_fence","text":"MPI_Win_fence(assert, win)\n\nMPI_Win_fence man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_flush-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_flush","text":"MPI_Win_flush(rank, win)\n\nMPI_Win_flush man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_flush_all-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Win_flush_all","text":"MPI_Win_flush_all(win)\n\nMPI_Win_flush_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_flush_local-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_flush_local","text":"MPI_Win_flush_local(rank, win)\n\nMPI_Win_flush_local man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_flush_local_all-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Win_flush_local_all","text":"MPI_Win_flush_local_all(win)\n\nMPI_Win_flush_local_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_free-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Win_free","text":"MPI_Win_free(win)\n\nMPI_Win_free man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_free_keyval-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Win_free_keyval","text":"MPI_Win_free_keyval(win_keyval)\n\nMPI_Win_free_keyval man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_get_attr-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_get_attr","text":"MPI_Win_get_attr(win, win_keyval, attribute_val, flag)\n\nMPI_Win_get_attr man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_get_errhandler-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_get_errhandler","text":"MPI_Win_get_errhandler(win, errhandler)\n\nMPI_Win_get_errhandler man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_get_group-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_get_group","text":"MPI_Win_get_group(win, group)\n\nMPI_Win_get_group man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_get_info-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_get_info","text":"MPI_Win_get_info(win, info_used)\n\nMPI_Win_get_info man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_get_name-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_get_name","text":"MPI_Win_get_name(win, win_name, resultlen)\n\nMPI_Win_get_name man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_lock-NTuple{4, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_lock","text":"MPI_Win_lock(lock_type, rank, assert, win)\n\nMPI_Win_lock man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_lock_all-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_lock_all","text":"MPI_Win_lock_all(assert, win)\n\nMPI_Win_lock_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_post-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_post","text":"MPI_Win_post(group, assert, win)\n\nMPI_Win_post man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_set_attr-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_set_attr","text":"MPI_Win_set_attr(win, win_keyval, attribute_val)\n\nMPI_Win_set_attr man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_set_errhandler-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_set_errhandler","text":"MPI_Win_set_errhandler(win, errhandler)\n\nMPI_Win_set_errhandler man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_set_info-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_set_info","text":"MPI_Win_set_info(win, info)\n\nMPI_Win_set_info man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_set_name-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_set_name","text":"MPI_Win_set_name(win, win_name)\n\nMPI_Win_set_name man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_shared_query-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_shared_query","text":"MPI_Win_shared_query(win, rank, size, disp_unit, baseptr)\n\nMPI_Win_shared_query man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_shared_query_c-NTuple{5, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_shared_query_c","text":"MPI_Win_shared_query_c(win, rank, size, disp_unit, baseptr)\n\nMPI_Win_shared_query_c man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_start-Tuple{Any, Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_start","text":"MPI_Win_start(group, assert, win)\n\nMPI_Win_start man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_sync-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Win_sync","text":"MPI_Win_sync(win)\n\nMPI_Win_sync man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_test-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_test","text":"MPI_Win_test(win, flag)\n\nMPI_Win_test man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_unlock-Tuple{Any, Any}","page":"Low-level API","title":"MPI.API.MPI_Win_unlock","text":"MPI_Win_unlock(rank, win)\n\nMPI_Win_unlock man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_unlock_all-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Win_unlock_all","text":"MPI_Win_unlock_all(win)\n\nMPI_Win_unlock_all man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Win_wait-Tuple{Any}","page":"Low-level API","title":"MPI.API.MPI_Win_wait","text":"MPI_Win_wait(win)\n\nMPI_Win_wait man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Wtick-Tuple{}","page":"Low-level API","title":"MPI.API.MPI_Wtick","text":"MPI_Wtick()\n\nMPI_Wtick man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/api/#MPI.API.MPI_Wtime-Tuple{}","page":"Low-level API","title":"MPI.API.MPI_Wtime","text":"MPI_Wtime()\n\nMPI_Wtime man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"method"},{"location":"reference/collective/#Collective-communication","page":"Collective communication","title":"Collective communication","text":"","category":"section"},{"location":"reference/collective/#Synchronization","page":"Collective communication","title":"Synchronization","text":"","category":"section"},{"location":"reference/collective/","page":"Collective communication","title":"Collective communication","text":"MPI.Barrier\nMPI.Ibarrier","category":"page"},{"location":"reference/collective/#MPI.Barrier","page":"Collective communication","title":"MPI.Barrier","text":"Barrier(comm::Comm)\n\nBlocks until comm is synchronized.\n\nIf comm is an intracommunicator, then it blocks until all members of the group have called it.\n\nIf comm is an intercommunicator, then it blocks until all members of the other group have called it.\n\nExternal links\n\nMPI_Barrier man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Ibarrier","page":"Collective communication","title":"MPI.Ibarrier","text":"Ibarrier(comm::Comm[, req::AbstractRequest = Request())\n\nBlocks until comm is synchronized.\n\nIf comm is an intracommunicator, then it blocks until all members of the group have called it.\n\nIf comm is an intercommunicator, then it blocks until all members of the other group have called it.\n\nExternal links\n\nMPI_Ibarrier man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#Broadcast","page":"Collective communication","title":"Broadcast","text":"","category":"section"},{"location":"reference/collective/","page":"Collective communication","title":"Collective communication","text":"MPI.Bcast!\nMPI.Bcast\nMPI.bcast","category":"page"},{"location":"reference/collective/#MPI.Bcast!","page":"Collective communication","title":"MPI.Bcast!","text":"Bcast!(buf, comm::Comm; root::Integer=0)\n\nBroadcast the buffer buf from root to all processes in comm.\n\nSee also\n\nbcast\n\nExternal links\n\nMPI_Bcast man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Bcast","page":"Collective communication","title":"MPI.Bcast","text":"Bcast(obj, root::Integer, comm::Comm)\n\nBroadcast the obj from root to all processes in comm. Returns the object. Currently obj must be isbits, i.e. isbitstype(typeof(obj)) == true.\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.bcast","page":"Collective communication","title":"MPI.bcast","text":"bcast(obj, comm::Comm; root::Integer=0)\n\nBroadcast the object obj from rank root to all processes on comm. This is able to handle arbitrary data.\n\nSee also\n\nBcast!\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#Gather/Scatter","page":"Collective communication","title":"Gather/Scatter","text":"","category":"section"},{"location":"reference/collective/#Gather","page":"Collective communication","title":"Gather","text":"","category":"section"},{"location":"reference/collective/","page":"Collective communication","title":"Collective communication","text":"MPI.Gather!\nMPI.Gather\nMPI.Gatherv!\nMPI.Allgather!\nMPI.Allgather\nMPI.Allgatherv!\nMPI.Neighbor_allgather!\nMPI.Neighbor_allgatherv!","category":"page"},{"location":"reference/collective/#MPI.Gather!","page":"Collective communication","title":"MPI.Gather!","text":"Gather!(sendbuf, recvbuf, comm::Comm; root::Integer=0)\n\nEach process sends the contents of the buffer sendbuf to the root process. The root process stores elements in rank order in the buffer buffer recvbuf.\n\nsendbuf should be a Buffer object, or any object for which Buffer_send is defined, with the same length on all processes, and should be the same length on all processes.\n\nOn the root process, sendbuf can be MPI.IN_PLACE on the root process, in which case the corresponding entries in recvbuf are assumed to be already in place (this corresponds the behaviour of MPI_IN_PLACE in MPI_Gather). For example:\n\nif root == MPI.Comm_rank(comm)\n    MPI.Gather!(MPI.IN_PLACE, UBuffer(buf, count), comm; root=root)\nelse\n    MPI.Gather!(buf, nothing, comm; root=root)\nend\n\nrecvbuf on the root process should be a UBuffer, or can be an AbstractArray if the length can be determined from sendbuf. On non-root processes it is ignored and can be nothing.\n\nSee also\n\nGather for the allocating operation.\nGatherv! if the number of elements varies between processes.\nAllgather! to send the result to all processes.\n\nExternal links\n\nMPI_Gather man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Gather","page":"Collective communication","title":"MPI.Gather","text":"Gather(sendbuf, comm::Comm; root=0)\n\nEach process sends the contents of the buffer sendbuf to the root process. The root allocates the output buffer and stores elements in rank order.\n\nsendbuf can be an AbstractArray or a scalar, and should be the same length on all processes.\n\nSee also\n\nGather! for the mutating operation.\nGatherv! if the number of elements varies between processes.\nAllgather!/Allgather to send the result to all processes.\n\nExternal links\n\nMPI_Gather man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Gatherv!","page":"Collective communication","title":"MPI.Gatherv!","text":"Gatherv!(sendbuf, recvbuf, comm::Comm; root::Integer=0)\n\nEach process sends the contents of the buffer sendbuf to the root process. The root stores elements in rank order in the buffer recvbuf.\n\nsendbuf should be a Buffer object, or any object for which Buffer_send is defined, with the same length on all processes.\n\nOn the root process, sendbuf can be MPI.IN_PLACE, in which case the corresponding entries in recvbuf are assumed to be already in place. For example\n\nif root == MPI.Comm_rank(comm)\n    Gatherv!(MPI.IN_PLACE, VBuffer(buf, counts), comm; root=root)\nelse\n    Gatherv!(buf, nothing, comm; root=root)\nend\n\nrecvbuf on the root process should be a VBuffer, or can be an AbstractArray if the length can be determined from sendbuf. On non-root processes it is ignored and can be nothing.\n\nSee also\n\nGather! if the number of elements is the same between processes.\nAllgatherv! to send the result to all processes.\n\nExternal links\n\nMPI_Gatherv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Allgather!","page":"Collective communication","title":"MPI.Allgather!","text":"Allgather!(sendbuf, recvbuf::UBuffer, comm::Comm)\nAllgather!(sendrecvbuf::UBuffer, comm::Comm)\n\nEach process sends the contents of sendbuf to the other processes, the result of which is stored in rank order into recvbuf.\n\nsendbuf can be a Buffer object, or any object for which Buffer_send is defined, and should be the same length on all processes.\n\nrecvbuf can be a UBuffer, or can be an AbstractArray if the length can be determined from sendbuf.\n\nIf only one buffer sendrecvbuf is provided, then on each process the data to send is assumed to be in the area where it would receive its own contribution.\n\nSee also\n\nAllgather for the allocating operation\nAllgatherv! if the number of elements varies between processes.\nGather! to send only to a single root process\n\nExternal links\n\nMPI_Allgather man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Allgather","page":"Collective communication","title":"MPI.Allgather","text":"Allgather(sendbuf, comm)\n\nEach process sends the contents of sendbuf to the other processes, who store the results in rank order allocating the output buffer.\n\nsendbuf can be an AbstractArray or a scalar, and should be the same size on all processes.\n\nSee also\n\nAllgather! for the mutating operation\nAllgatherv! if the number of elements varies between processes.\nGather! to send only to a single root process\n\nExternal links\n\nMPI_Allgather man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Allgatherv!","page":"Collective communication","title":"MPI.Allgatherv!","text":"Allgatherv!(sendbuf, recvbuf::VBuffer, comm::Comm)\nAllgatherv!(sendrecvbuf::VBuffer, comm::Comm)\n\nEach process sends the contents of sendbuf to all other process. Each process stores the received in the VBuffer recvbuf.\n\nsendbuf can be a Buffer object, or any object for which Buffer_send is defined.\n\nIf only one buffer sendrecvbuf is provided, then for each process, the data to be sent is taken from the interval of recvbuf where it would store its own data.\n\nSee also\n\nGatherv! to send the result to a single process\n\nExternal links\n\nMPI_Allgatherv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Neighbor_allgather!","page":"Collective communication","title":"MPI.Neighbor_allgather!","text":"Neighbor_allgather!(sendbuf::Buffer, recvbuf::UBuffer, comm::Comm)\n\nPerform an all-gather communication along the directed edges of the graph.\n\nSee also MPI.Allgather!.\n\nExternal links\n\nMPI_Neighbor_allgather man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Neighbor_allgatherv!","page":"Collective communication","title":"MPI.Neighbor_allgatherv!","text":"Neighbor_allgatherv!(sendbuf::Buffer, recvbuf::VBuffer, comm::Comm)\n\nPerform an all-gather communication along the directed edges of the graph with variable sized data.\n\nSee also MPI.Allgatherv!.\n\nExternal links\n\nMPI_Neighbor_allgatherv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#Scatter","page":"Collective communication","title":"Scatter","text":"","category":"section"},{"location":"reference/collective/","page":"Collective communication","title":"Collective communication","text":"MPI.Scatter!\nMPI.Scatter\nMPI.Scatterv!","category":"page"},{"location":"reference/collective/#MPI.Scatter!","page":"Collective communication","title":"MPI.Scatter!","text":"Scatter!(sendbuf::Union{UBuffer,Nothing}, recvbuf, comm::Comm;\n    root::Integer=0)\n\nSplits the buffer sendbuf in the root process into Comm_size(comm) chunks, sending the j-th chunk to the process of rank j-1 into the recvbuf buffer.\n\nsendbuf on the root process should be a UBuffer (an Array can also be passed directly if the sizes can be determined from recvbuf). On non-root processes it is ignored, and nothing can be passed instead.\n\nrecvbuf is a Buffer object, or any object for which Buffer(recvbuf) is defined. On the root process, it can also be MPI.IN_PLACE, in which case it is unmodified. For example:\n\nif root == MPI.Comm_rank(comm)\n    MPI.Scatter!(UBuffer(buf, count), MPI.IN_PLACE, comm; root=root)\nelse\n    MPI.Scatter!(nothing, buf, comm; root=root)\nend\n\nSee also\n\nScatterv! if the number of elements varies between processes.\n\nExternal links\n\nMPI_Scatter man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Scatter","page":"Collective communication","title":"MPI.Scatter","text":"Scatter(sendbuf, T, comm::Comm; root::Integer=0)\n\nSplits the buffer sendbuf in the root process into Comm_size(comm) chunks, sending the j-th chunk to the process of rank j-1 as an object of type T.\n\nSee also\n\nScatter!\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Scatterv!","page":"Collective communication","title":"MPI.Scatterv!","text":"Scatterv!(sendbuf, recvbuf, comm::Comm; root::Integer=0)\n\nSplits the buffer sendbuf in the root process into Comm_size(comm) chunks and sends the jth chunk to the process of rank j-1 into the recvbuf buffer.\n\nsendbuf on the root process should be a VBuffer. On non-root processes it is ignored, and nothing can be passed instead.\n\nrecvbuf is a Buffer object, or any object for which Buffer(recvbuf) is defined. On the root process, it can also be MPI.IN_PLACE, in which case it is unmodified. For example:\n\nif root == MPI.Comm_rank(comm)\n    MPI.Scatterv!(VBuffer(buf, counts), MPI.IN_PLACE, comm; root=root)\nelse\n    MPI.Scatterv!(nothing, buf, comm; root=root)\nend\n\nSee also\n\nScatter! if the number of elements are the same for all processes\n\nExternal links\n\nMPI_Scatterv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#All-to-all","page":"Collective communication","title":"All-to-all","text":"","category":"section"},{"location":"reference/collective/","page":"Collective communication","title":"Collective communication","text":"MPI.Alltoall!\nMPI.Alltoall\nMPI.Alltoallv!\nMPI.Neighbor_alltoall!\nMPI.Neighbor_alltoallv!","category":"page"},{"location":"reference/collective/#MPI.Alltoall!","page":"Collective communication","title":"MPI.Alltoall!","text":"Alltoall!(sendbuf::UBuffer, recvbuf::UBuffer, comm::Comm)\nAlltoall!(sendrecvbuf::UBuffer, comm::Comm)\n\nEvery process divides the UBuffer sendbuf into Comm_size(comm) chunks of equal size, sending the j-th chunk to the process of rank j-1.  Every process stores the data received from rank j-1 process in the j-th chunk of the buffer recvbuf.\n\nrank    send buf                        recv buf\n----    --------                        --------\n 0      a,b,c,d,e,f       Alltoall      a,b,A,B,α,β\n 1      A,B,C,D,E,F  ---------------->  c,d,C,D,γ,ψ\n 2      α,β,γ,ψ,η,ν                     e,f,E,F,η,ν\n\nIf only one buffer sendrecvbuf is used, then data is overwritten.\n\nSee also\n\nAlltoall for the allocating operation\n\nExternal links\n\nMPI_Alltoall man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Alltoall","page":"Collective communication","title":"MPI.Alltoall","text":"Alltoall(sendbuf::UBuffer, comm::Comm)\n\nEvery process divides the UBuffer sendbuf into Comm_size(comm) chunks of equal size, sending the j-th chunk to the process of rank j-1. Every process allocates the output buffer and stores the data received from the process on rank j-1 in the j-th chunk.\n\nrank    send buf                        recv buf\n----    --------                        --------\n 0      a,b,c,d,e,f       Alltoall      a,b,A,B,α,β\n 1      A,B,C,D,E,F  ---------------->  c,d,C,D,γ,ψ\n 2      α,β,γ,ψ,η,ν                     e,f,E,F,η,ν\n\nSee also\n\nAlltoall! for the mutating operation\n\nExternal links\n\nMPI_Alltoall man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Alltoallv!","page":"Collective communication","title":"MPI.Alltoallv!","text":"Alltoallv!(sendbuf::VBuffer, recvbuf::VBuffer, comm::Comm)\n\nSimilar to Alltoall!, except with different size chunks per process.\n\nSee also\n\nVBuffer\n\nExternal links\n\nMPI_Alltoallv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Neighbor_alltoall!","page":"Collective communication","title":"MPI.Neighbor_alltoall!","text":"Neighbor_alltoall!(sendbuf::UBuffer, recvbuf::UBuffer, comm::Comm)\n\nPerform an all-to-all communication along the directed edges of the graph with fixed size messages.\n\nSee also MPI.Alltoall!.\n\nExternal links\n\nMPI_Neighbor_alltoall man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Neighbor_alltoallv!","page":"Collective communication","title":"MPI.Neighbor_alltoallv!","text":"Neighbor_alltoallv!(sendbuf::VBuffer, recvbuf::VBuffer, graph_comm::Comm)\n\nPerform an all-to-all communication along the directed edges of the graph with variable size messages.\n\nSee also MPI.Alltoallv!.\n\nExternal links\n\nMPI_Neighbor_alltoallv man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#Reduce/Scan","page":"Collective communication","title":"Reduce/Scan","text":"","category":"section"},{"location":"reference/collective/","page":"Collective communication","title":"Collective communication","text":"MPI.Reduce!\nMPI.Reduce\nMPI.Allreduce!\nMPI.Allreduce\nMPI.Scan!\nMPI.Scan\nMPI.Exscan!\nMPI.Exscan","category":"page"},{"location":"reference/collective/#MPI.Reduce!","page":"Collective communication","title":"MPI.Reduce!","text":"Reduce!(sendbuf, recvbuf, op, comm::Comm; root::Integer=0)\nReduce!(sendrecvbuf, op, comm::Comm; root::Integer=0)\n\nPerforms elementwise reduction using the operator op on the buffer sendbuf and stores the result in recvbuf on the process of rank root.\n\nOn non-root processes recvbuf is ignored, and can be nothing.\n\nTo perform the reduction in place, provide a single buffer sendrecvbuf.\n\nSee also\n\nReduce to handle allocation of the output buffer.\nAllreduce!/Allreduce to send reduction to all ranks.\nOp for details on reduction operators.\n\nExternal links\n\nMPI_Reduce man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Reduce","page":"Collective communication","title":"MPI.Reduce","text":"recvbuf = Reduce(sendbuf, op, comm::Comm; root::Integer=0)\n\nPerforms elementwise reduction using the operator op on the buffer sendbuf, returning the result recvbuf on the process of rank root, and nothing on non-root processes.\n\nsendbuf can also be a scalar, in which case recvbuf will be a value of the same type.\n\nSee also\n\nReduce! for mutating and in-place operations\nAllreduce!/Allreduce to send reduction to all ranks.\nOp for details on reduction operators.\n\nExternal links\n\nMPI_Reduce man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Allreduce!","page":"Collective communication","title":"MPI.Allreduce!","text":"Allreduce!(sendbuf, recvbuf, op, comm::Comm)\nAllreduce!(sendrecvbuf, op, comm::Comm)\n\nPerforms elementwise reduction using the operator op on the buffer sendbuf, storing the result in the recvbuf of all processes in the group.\n\nAllreduce! is equivalent to a Reduce! operation followed by a Bcast!, but can lead to better performance.\n\nIf only one sendrecvbuf buffer is provided, then the operation is performed in-place.\n\nSee also\n\nAllreduce, to handle allocation of the output buffer.\nReduce!/Reduce to send reduction to a single rank.\nOp for details on reduction operators.\n\nExternal links\n\nMPI_Allreduce man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Allreduce","page":"Collective communication","title":"MPI.Allreduce","text":"recvbuf = Allreduce(sendbuf, op, comm)\n\nPerforms elementwise reduction using the operator op on the buffer sendbuf, returning the result in the recvbuf of all processes in the group.\n\nsendbuf can also be a scalar, in which case recvbuf will be a value of the same type.\n\nSee also\n\nAllreduce! for mutating or in-place operations.\nReduce!/Reduce to send reduction to a single rank.\nOp for details on reduction operators.\n\nExternal links\n\nMPI_Allreduce man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Scan!","page":"Collective communication","title":"MPI.Scan!","text":"Scan!(sendbuf, recvbuf, op, comm::Comm)\nScan!(sendrecvbuf, op, comm::Comm)\n\nInclusive prefix reduction (analagous to accumulate in Julia): recvbuf on rank i will contain the the result of reducing sendbuf by op from ranks 0:i.\n\nIf only a single buffer sendrecvbuf is provided, then operations will be performed in-place.\n\nSee also\n\nScan to handle allocation of the output buffer\nExscan!/Exscan for exclusive scan\nOp for details on reduction operators.\n\nExternal links\n\nMPI_Scan man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Scan","page":"Collective communication","title":"MPI.Scan","text":"recvbuf = Scan(sendbuf, op, comm::Comm)\n\nInclusive prefix reduction (analagous to accumulate in Julia): recvbuf on rank i will contain the the result of reducing sendbuf by op from ranks 0:i.\n\nsendbuf can also be a scalar, in which case recvbuf will also be a scalar of the same type.\n\nSee also\n\nScan! for mutating or in-place operations\nExscan!/Exscan for exclusive scan\nOp for details on reduction operators.\n\nExternal links\n\nMPI_Scan man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Exscan!","page":"Collective communication","title":"MPI.Exscan!","text":"Exscan!(sendbuf, recvbuf, op, comm::Comm)\nExscan!(sendrecvbuf, op, comm::Comm)\n\nExclusive prefix reduction (analagous to accumulate in Julia): recvbuf on rank i will contain the the result of reducing sendbuf by op from ranks 0:i-1. The recvbuf on rank 0 is ignored, and the recvbuf on rank 1 will contain the contents of sendbuf on rank 0.\n\nIf only a single sendrecvbuf is provided, then operations are performed in-place, and buf on rank 0 will remain unchanged.\n\nSee also\n\nExscan to handle allocation of the output buffer\nScan!/Scan for inclusive scan\nOp for details on reduction operators.\n\nExternal links\n\nMPI_Exscan man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"reference/collective/#MPI.Exscan","page":"Collective communication","title":"MPI.Exscan","text":"recvbuf = Exscan(sendbuf, op, comm::Comm)\n\nExclusive prefix reduction (analagous to accumulate in Julia): recvbuf on rank i will contain the the result of reducing sendbuf by op from ranks 0:i-1. The recvbuf on rank 0 is undefined, and the recvbuf on rank 1 will contain the contents of sendbuf on rank 0.\n\nSee also\n\nExscan! for mutating and in-place operations\nScan!/Scan for inclusive scan\nOp for details on reduction operators.\n\nExternal links\n\nMPI_Scan man page: OpenMPI, MPICH\n\n\n\n\n\n","category":"function"},{"location":"#MPI.jl","page":"MPI.jl","title":"MPI.jl","text":"","category":"section"},{"location":"","page":"MPI.jl","title":"MPI.jl","text":"This is a basic Julia wrapper for the portable message passing system Message Passing Interface (MPI). Inspiration is taken from mpi4py, although we generally follow the C and not the C++ MPI API. (The C++ MPI API is deprecated.)","category":"page"},{"location":"","page":"MPI.jl","title":"MPI.jl","text":"If you use MPI.jl in your work, please cite the following paper:","category":"page"},{"location":"","page":"MPI.jl","title":"MPI.jl","text":"Simon Byrne, Lucas C. Wilcox, and Valentin Churavy (2021) \"MPI.jl: Julia bindings for the Message Passing Interface\". JuliaCon Proceedings, 1(1), 68, doi: 10.21105/jcon.00068","category":"page"}]
-}
diff --git a/previews/PR747/siteinfo.js b/previews/PR747/siteinfo.js
deleted file mode 100644
index 5f942d6d3..000000000
--- a/previews/PR747/siteinfo.js
+++ /dev/null
@@ -1 +0,0 @@
-var DOCUMENTER_CURRENT_VERSION = "previews/PR747";
diff --git a/previews/PR747/usage/index.html b/previews/PR747/usage/index.html
deleted file mode 100644
index 628f09b89..000000000
--- a/previews/PR747/usage/index.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Usage · MPI.jl</title><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../"><img src="../assets/logo.svg" alt="MPI.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../">MPI.jl</a></span></div><form class="docs-search" action="../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../">MPI.jl</a></li><li><a class="tocitem" href="../configuration/">Configuration</a></li><li class="is-active"><a class="tocitem" href>Usage</a><ul class="internal"><li><a class="tocitem" href="#Basic-example"><span>Basic example</span></a></li><li><a class="tocitem" href="#Julia-wrapper-for-mpiexec"><span>Julia wrapper for <code>mpiexec</code></span></a></li><li><a class="tocitem" href="#CUDA-aware-MPI-support"><span>CUDA-aware MPI support</span></a></li><li><a class="tocitem" href="#ROCm-aware-MPI-support"><span>ROCm-aware MPI support</span></a></li><li><a class="tocitem" href="#Writing-MPI-tests"><span>Writing MPI tests</span></a></li></ul></li><li><a class="tocitem" href="../external/">External libraries and packages</a></li><li><a class="tocitem" href="../knownissues/">Known issues</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../examples/01-hello/">Hello world</a></li><li><a class="tocitem" href="../examples/02-broadcast/">Broadcast</a></li><li><a class="tocitem" href="../examples/03-reduce/">Reduce</a></li><li><a class="tocitem" href="../examples/04-sendrecv/">Send/receive</a></li><li><a class="tocitem" href="../examples/05-job_schedule/">Job Scheduling</a></li><li><a class="tocitem" href="../examples/06-scatterv/">Scatterv and Gatherv</a></li><li><a class="tocitem" href="../examples/07-rma_active/">Active RMA</a></li><li><a class="tocitem" href="../examples/08-rma_passive/">Passive RMA</a></li><li><a class="tocitem" href="../examples/09-graph_communication/">Graph Communication</a></li></ul></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../reference/mpipreferences/">MPIPreferences.jl</a></li><li><a class="tocitem" href="../reference/library/">Library information</a></li><li><a class="tocitem" href="../reference/environment/">Environment</a></li><li><a class="tocitem" href="../reference/misc/">Miscellanea</a></li><li><a class="tocitem" href="../reference/comm/">Communicators</a></li><li><a class="tocitem" href="../reference/buffers/">Buffers</a></li><li><a class="tocitem" href="../reference/pointtopoint/">Point-to-point communication</a></li><li><a class="tocitem" href="../reference/collective/">Collective communication</a></li><li><a class="tocitem" href="../reference/onesided/">One-sided communication</a></li><li><a class="tocitem" href="../reference/topology/">Topology</a></li><li><a class="tocitem" href="../reference/io/">I/O</a></li><li><a class="tocitem" href="../reference/advanced/">Advanced</a></li><li><a class="tocitem" href="../reference/api/">Low-level API</a></li></ul></li><li><a class="tocitem" href="../refindex/">Index</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>Usage</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Usage</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaParallel/MPI.jl/blob/master/docs/src/usage.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Usage"><a class="docs-heading-anchor" href="#Usage">Usage</a><a id="Usage-1"></a><a class="docs-heading-anchor-permalink" href="#Usage" title="Permalink"></a></h1><p>MPI is based on a <a href="https://en.wikipedia.org/wiki/SPMD">single program, multiple data (SPMD)</a> model, where multiple processes are launched running independent programs, which then communicate as necessary via messages.</p><p>As the main entry point for users, <code>MPI.jl</code> provides a high-level interface which loosely follows the MPI C API and is described in details in the following sections. The syntax should look familiar if you know MPI already, but some arguments may not be needed (e.g. the type or the number of elements of arrays, which are inferred automatically), others may be placed slightly differently, and others may be optional keyword arguments (e.g. for the index of the root process, or the source and destination of point-to-point communication functions).</p><p>In addition to the high-level interface, <code>MPI.jl</code> provides a <a href="../reference/api/#Low-level-API">low-level API</a> which closely matches the MPI C API and from which it has been automatically generated. This is not intended for general usage, but it can be employed if a high-level wrapper is not yet available.</p><h2 id="Basic-example"><a class="docs-heading-anchor" href="#Basic-example">Basic example</a><a id="Basic-example-1"></a><a class="docs-heading-anchor-permalink" href="#Basic-example" title="Permalink"></a></h2><p>A script should include <code>using MPI</code> and <a href="../reference/environment/#MPI.Init"><code>MPI.Init()</code></a> statements before calling any MPI operations, for example</p><pre><code class="language-julia hljs"># examples/01-hello.jl
-using MPI
-MPI.Init()
-
-comm = MPI.COMM_WORLD
-println(&quot;Hello world, I am $(MPI.Comm_rank(comm)) of $(MPI.Comm_size(comm))&quot;)
-MPI.Barrier(comm)</code></pre><p>Calling <a href="../reference/environment/#MPI.Finalize"><code>MPI.Finalize()</code></a> at the end of the program is optional, as it will be called automatically when Julia exits.</p><p>The program can then be launched via an MPI launch command (typically <code>mpiexec</code>, <code>mpirun</code> or <code>srun</code>), e.g.</p><pre><code class="nohighlight hljs">$ mpiexec -n 3 julia --project examples/01-hello.jl
-Hello world, I am rank 0 of 3
-Hello world, I am rank 2 of 3
-Hello world, I am rank 1 of 3</code></pre><p>The <a href="../reference/environment/#MPICH_jll.mpiexec"><code>mpiexec</code></a> function is provided for launching MPI programs from Julia itself.</p><h2 id="Julia-wrapper-for-mpiexec"><a class="docs-heading-anchor" href="#Julia-wrapper-for-mpiexec">Julia wrapper for <code>mpiexec</code></a><a id="Julia-wrapper-for-mpiexec-1"></a><a class="docs-heading-anchor-permalink" href="#Julia-wrapper-for-mpiexec" title="Permalink"></a></h2><p>Since you can configure <code>MPI.jl</code> to use one of several MPI implementations, you may have different Julia projects using different implementation.  Thus, it may be cumbersome to find out which <code>mpiexec</code> executable is associated to a specific project.  To make this easy, on Unix-based systems <code>MPI.jl</code> comes with a thin project-aware wrapper around <code>mpiexec</code>, called <code>mpiexecjl</code>.</p><h3 id="Installation"><a class="docs-heading-anchor" href="#Installation">Installation</a><a id="Installation-1"></a><a class="docs-heading-anchor-permalink" href="#Installation" title="Permalink"></a></h3><p>You can install <code>mpiexecjl</code> with <a href="../reference/environment/#MPI.install_mpiexecjl"><code>MPI.install_mpiexecjl()</code></a>.  The default destination directory is <code>joinpath(DEPOT_PATH[1], &quot;bin&quot;)</code>, which usually translates to <code>~/.julia/bin</code>, but check the value on your system.  You can also tell <code>MPI.install_mpiexecjl</code> to install to a different directory.</p><pre><code class="language-sh hljs">$ julia
-julia&gt; using MPI
-julia&gt; MPI.install_mpiexecjl()</code></pre><p>To quickly call this wrapper we recommend you to add the destination directory to your <a href="https://en.wikipedia.org/wiki/PATH_(variable)"><code>PATH</code></a> environment variable.</p><h3 id="Usage-2"><a class="docs-heading-anchor" href="#Usage-2">Usage</a><a class="docs-heading-anchor-permalink" href="#Usage-2" title="Permalink"></a></h3><p><code>mpiexecjl</code> has the same syntax as the <code>mpiexec</code> binary that will be called, but it takes in addition a <code>--project</code> option to call the specific binary associated to the <code>MPI.jl</code> version in the given project.  If no <code>--project</code> flag is used, the <code>MPI.jl</code> in the global Julia environment will be used instead.</p><p>After installing <code>mpiexecjl</code> and adding its directory to <code>PATH</code>, you can run it with:</p><pre><code class="language-sh hljs">$ mpiexecjl --project=/path/to/project -n 20 julia script.jl</code></pre><h2 id="CUDA-aware-MPI-support"><a class="docs-heading-anchor" href="#CUDA-aware-MPI-support">CUDA-aware MPI support</a><a id="CUDA-aware-MPI-support-1"></a><a class="docs-heading-anchor-permalink" href="#CUDA-aware-MPI-support" title="Permalink"></a></h2><p>If your MPI implementation has been compiled with CUDA support, then <code>CUDA.CuArray</code>s (from the <a href="https://github.com/JuliaGPU/CUDA.jl">CUDA.jl</a> package) can be passed directly as send and receive buffers for point-to-point and collective operations (they may also work with one-sided operations, but these are not often supported).</p><p>Successfully running the <a href="https://gist.github.com/luraess/0063e90cb08eb2208b7fe204bbd90ed2">alltoall_test_cuda.jl</a>  should confirm your MPI implementation to have the CUDA support enabled. Moreover, successfully running the  <a href="https://gist.github.com/luraess/ed93cc09ba04fe16f63b4219c1811566">alltoall_test_cuda_multigpu.jl</a> should confirm  your CUDA-aware MPI implementation to use multiple Nvidia GPUs (one GPU per rank).</p><p>If using OpenMPI, the status of CUDA support can be checked via the <a href="../reference/library/#MPI.has_cuda"><code>MPI.has_cuda()</code></a> function.</p><h2 id="ROCm-aware-MPI-support"><a class="docs-heading-anchor" href="#ROCm-aware-MPI-support">ROCm-aware MPI support</a><a id="ROCm-aware-MPI-support-1"></a><a class="docs-heading-anchor-permalink" href="#ROCm-aware-MPI-support" title="Permalink"></a></h2><p>If your MPI implementation has been compiled with ROCm support (AMDGPU), then <code>AMDGPU.ROCArray</code>s (from the <a href="https://github.com/JuliaGPU/AMDGPU.jl">AMDGPU.jl</a> package) can be passed directly as send and receive buffers for point-to-point and collective operations (they may also work with one-sided operations, but these are not often supported).</p><p>Successfully running the <a href="https://gist.github.com/luraess/c228ec08629737888a18c6a1e397643c">alltoall_test_rocm.jl</a>  should confirm your MPI implementation to have the ROCm support (AMDGPU) enabled. Moreover, successfully running the  <a href="https://gist.github.com/luraess/a47931d7fb668bd4348a2c730d5489f4">alltoall_test_rocm_multigpu.jl</a> should confirm  your ROCm-aware MPI implementation to use multiple AMD GPUs (one GPU per rank).</p><p>The status of ROCm (AMDGPU) support cannot currently be queried.</p><h2 id="Writing-MPI-tests"><a class="docs-heading-anchor" href="#Writing-MPI-tests">Writing MPI tests</a><a id="Writing-MPI-tests-1"></a><a class="docs-heading-anchor-permalink" href="#Writing-MPI-tests" title="Permalink"></a></h2><p>It is recommended to use the <code>mpiexec()</code> wrapper when writing your package tests in <code>runtests.jl</code>:</p><pre><code class="language-julia hljs"># test/runtests.jl
-using MPI
-using Test
-
-@testset &quot;hello&quot; begin
-    n = 2  # number of processes
-    mpiexec() do exe  # MPI wrapper
-        run(`$exe -n $n $(Base.julia_cmd()) [...]/01-hello.jl`)
-        # alternatively:
-        # p = run(ignorestatus(`...`))
-        # @test success(p)
-    end
-end</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../configuration/">« Configuration</a><a class="docs-footer-nextpage" href="../external/">External libraries and packages »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Sunday 16 July 2023 20:17">Sunday 16 July 2023</span>. Using Julia version 1.9.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>