Copy disabled (too large)
Download .txt
Showing preview only (32,195K chars total). Download the full file to get everything.
Repository: cmbruns/pyopenxr
Branch: main
Commit: a21791bdde76
Files: 222
Total size: 30.6 MB
Directory structure:
gitextract_e2jnrphq/
├── .github/
│ └── workflows/
│ └── python-package.yml
├── .gitignore
├── CMakeLists.txt
├── LICENSE
├── README.md
├── docs/
│ ├── .nojekyll
│ ├── _static/
│ │ ├── _sphinx_javascript_frameworks_compat.js
│ │ ├── basic.css
│ │ ├── css/
│ │ │ ├── badge_only.css
│ │ │ └── theme.css
│ │ ├── doctools.js
│ │ ├── documentation_options.js
│ │ ├── jquery-3.5.1.js
│ │ ├── jquery.js
│ │ ├── js/
│ │ │ ├── badge_only.js
│ │ │ ├── theme.js
│ │ │ └── versions.js
│ │ ├── language_data.js
│ │ ├── pygments.css
│ │ ├── searchtools.js
│ │ ├── sphinx_highlight.js
│ │ ├── underscore-1.13.1.js
│ │ └── underscore.js
│ ├── genindex.html
│ ├── index.html
│ ├── install.html
│ ├── objects.inv
│ ├── py-modindex.html
│ ├── search.html
│ ├── searchindex.js
│ ├── support.html
│ ├── xr.api_layer.html
│ ├── xr.ext.html
│ ├── xr.html
│ └── xr.utils.html
├── examples/
│ └── README.md
├── pyproject.toml
├── requirements-dev.txt
├── requirements.txt
├── src/
│ ├── docs/
│ │ ├── .nojekyll
│ │ ├── _static/
│ │ │ ├── _sphinx_javascript_frameworks_compat.js
│ │ │ ├── basic.css
│ │ │ ├── css/
│ │ │ │ ├── badge_only.css
│ │ │ │ └── theme.css
│ │ │ ├── doctools.js
│ │ │ ├── documentation_options.js
│ │ │ ├── jquery-3.5.1.js
│ │ │ ├── jquery.js
│ │ │ ├── js/
│ │ │ │ ├── badge_only.js
│ │ │ │ ├── theme.js
│ │ │ │ └── versions.js
│ │ │ ├── language_data.js
│ │ │ ├── pygments.css
│ │ │ ├── searchtools.js
│ │ │ ├── sphinx_highlight.js
│ │ │ ├── underscore-1.13.1.js
│ │ │ └── underscore.js
│ │ ├── conf.py
│ │ ├── index.rst
│ │ ├── install.rst
│ │ ├── support.rst
│ │ ├── xr.api_layer.rst
│ │ ├── xr.ext.rst
│ │ ├── xr.rst
│ │ └── xr.utils.rst
│ ├── generate/
│ │ ├── CMakeLists.txt
│ │ ├── generate_android_platform.py
│ │ ├── generate_constants.py
│ │ ├── generate_docstrings.py
│ │ ├── generate_enums.py
│ │ ├── generate_exceptions.py
│ │ ├── generate_extensions3.py
│ │ ├── generate_functions.py
│ │ ├── generate_linux_platform.py
│ │ ├── generate_raw_functions.py
│ │ ├── generate_typedefs.py
│ │ ├── generate_version.py
│ │ ├── generate_windows_platform.py
│ │ ├── print_openxr_version.py
│ │ ├── py_api_layer/
│ │ │ ├── CMakeLists.txt
│ │ │ └── py_api_layer.cpp
│ │ └── xrg/
│ │ ├── __init__.py
│ │ ├── class_docstring_data.py
│ │ ├── declarations.py
│ │ ├── default_values.py
│ │ ├── docstrings.py
│ │ ├── function_docstring_data.py
│ │ ├── headers/
│ │ │ ├── EGL/
│ │ │ │ └── egl.h
│ │ │ ├── __init__.py
│ │ │ └── vulkan/
│ │ │ ├── vk_icd.h
│ │ │ ├── vk_layer.h
│ │ │ ├── vk_platform.h
│ │ │ ├── vulkan.cppm
│ │ │ ├── vulkan.h
│ │ │ ├── vulkan.hpp
│ │ │ ├── vulkan_android.h
│ │ │ ├── vulkan_beta.h
│ │ │ ├── vulkan_core.h
│ │ │ ├── vulkan_directfb.h
│ │ │ ├── vulkan_enums.hpp
│ │ │ ├── vulkan_extension_inspection.hpp
│ │ │ ├── vulkan_format_traits.hpp
│ │ │ ├── vulkan_fuchsia.h
│ │ │ ├── vulkan_funcs.hpp
│ │ │ ├── vulkan_ggp.h
│ │ │ ├── vulkan_handles.hpp
│ │ │ ├── vulkan_hash.hpp
│ │ │ ├── vulkan_hpp_macros.hpp
│ │ │ ├── vulkan_ios.h
│ │ │ ├── vulkan_macos.h
│ │ │ ├── vulkan_metal.h
│ │ │ ├── vulkan_ohos.h
│ │ │ ├── vulkan_raii.hpp
│ │ │ ├── vulkan_screen.h
│ │ │ ├── vulkan_shared.hpp
│ │ │ ├── vulkan_static_assertions.hpp
│ │ │ ├── vulkan_structs.hpp
│ │ │ ├── vulkan_to_string.hpp
│ │ │ ├── vulkan_vi.h
│ │ │ ├── vulkan_video.cppm
│ │ │ ├── vulkan_video.hpp
│ │ │ ├── vulkan_wayland.h
│ │ │ ├── vulkan_win32.h
│ │ │ ├── vulkan_xcb.h
│ │ │ ├── vulkan_xlib.h
│ │ │ └── vulkan_xlib_xrandr.h
│ │ ├── manageable_handles.py
│ │ ├── module_docstring_data.py
│ │ ├── registry.py
│ │ ├── resources.py
│ │ ├── store_docstrings.py
│ │ ├── vendor_tags.py
│ │ └── xrtypes.py
│ └── xr/
│ ├── __init__.py
│ ├── api_layer/
│ │ ├── __init__.py
│ │ ├── aarch64/
│ │ │ ├── XrApiLayer_api_dump.json
│ │ │ ├── XrApiLayer_best_practices_validation.json
│ │ │ ├── XrApiLayer_core_validation.json
│ │ │ └── __init__.py
│ │ ├── dynamic_api_layer_base.py
│ │ ├── layer_path.py
│ │ ├── loader_interfaces.py
│ │ ├── raw_functions.py
│ │ ├── steamvr_linux_destroyinstance_layer.py
│ │ ├── win32/
│ │ │ ├── XrApiLayer_api_dump.json
│ │ │ ├── XrApiLayer_best_practices_validation.json
│ │ │ ├── XrApiLayer_core_validation.json
│ │ │ └── __init__.py
│ │ └── x86_64/
│ │ ├── XrApiLayer_api_dump.json
│ │ ├── XrApiLayer_best_practices_validation.json
│ │ ├── XrApiLayer_core_validation.json
│ │ └── __init__.py
│ ├── base_struct.py
│ ├── callback.py
│ ├── constants.py
│ ├── custom_functions.py
│ ├── enums.py
│ ├── exception.py
│ ├── ext/
│ │ ├── EXT/
│ │ │ ├── __init__.py
│ │ │ └── debug_utils.py
│ │ ├── HTCX/
│ │ │ ├── __init__.py
│ │ │ └── vive_tracker_interaction.py
│ │ ├── KHR/
│ │ │ ├── __init__.py
│ │ │ ├── opengl_enable.py
│ │ │ └── opengl_es_enable.py
│ │ ├── MND/
│ │ │ ├── __init__.py
│ │ │ └── headless.py
│ │ ├── MNDX/
│ │ │ └── egl_enable.py
│ │ └── __init__.py
│ ├── field_helper.py
│ ├── functions.py
│ ├── handle.py
│ ├── library/
│ │ ├── __init__.py
│ │ ├── aarch64/
│ │ │ └── __init__.py
│ │ ├── win32/
│ │ │ └── __init__.py
│ │ └── x86_64/
│ │ └── __init__.py
│ ├── platform/
│ │ ├── __init__.py
│ │ ├── android.py
│ │ ├── linux.py
│ │ └── windows.py
│ ├── raw_functions.py
│ ├── resources.py
│ ├── typedefs.py
│ ├── utils/
│ │ ├── __init__.py
│ │ ├── gl/
│ │ │ ├── __init__.py
│ │ │ ├── context_object.py
│ │ │ ├── egl_util.py
│ │ │ ├── glfw_util/
│ │ │ │ ├── __init__.py
│ │ │ │ └── classes.py
│ │ │ └── pyside.py
│ │ └── matrix4x4f.py
│ └── version.py
├── tests/
│ ├── __init__.py
│ ├── run_tests.py
│ ├── synopsis_debug_utils.py
│ ├── synopsis_gl_ext.py
│ ├── test_api_layers.py
│ ├── test_array_fields.py
│ ├── test_bool.py
│ ├── test_constants.py
│ ├── test_create_info.py
│ ├── test_ctypes_pointer.py
│ ├── test_docstring.py
│ ├── test_egl.py
│ ├── test_enum_field.py
│ ├── test_exceptions.py
│ ├── test_extension_properties.py
│ ├── test_extent2Di.py
│ ├── test_field_next.py
│ ├── test_flags.py
│ ├── test_matrix4x4f.py
│ ├── test_null_handle.py
│ ├── test_package_import.py
│ ├── test_posef.py
│ ├── test_print_object.py
│ ├── test_quaternionf.py
│ ├── test_sequence_parameter.py
│ ├── test_structure_type.py
│ ├── test_vector3f.py
│ ├── test_version.py
│ └── vive_tracker_synopsis.py
└── tox.ini
================================================
FILE CONTENTS
================================================
================================================
FILE: .github/workflows/python-package.yml
================================================
name: build
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.10", "3.13", "3.14"]
os: [ubuntu-latest, ubuntu-22.04, windows-latest]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
# Install EGL/Mesa prerequisites only on Ubuntu
- name: Install EGL/Mesa prerequisites
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y \
mesa-utils \
libegl1 \
libegl-dev \
libgles2 \
libgles2-mesa-dev \
libgl1-mesa-dev \
libgl1-mesa-dri \
libgbm-dev \
libdrm-dev \
libosmesa6-dev \
libx11-dev \
libxext-dev \
libxfixes-dev
- name: Install dependencies 1
run: |
python -m pip install --upgrade pip
python -m pip install pytest
- name: Install dependencies 2
run: |
python -m pip install -e .
- name: Force Mesa software rendering
if: runner.os == 'Linux'
run: |
echo "LIBGL_ALWAYS_SOFTWARE=1" >> $GITHUB_ENV
echo "EGL_PLATFORM=surfaceless" >> $GITHUB_ENV
- name: Test installed code with pytest
run: |
pytest
================================================
FILE: .gitignore
================================================
.idea/
*.pyc
__pycache__/
build_cmake/
build_cmake2/
build_android/
build_android2/
/build
/dist
/src/pyopenxr.egg-info
/.tox
/.coverage
/src/generate/xrg/libclang.dll
/src/generate/xrg/headers/xr.xml
/src/generate/xrg/headers/*.h
src/generate/xrg/libclang*.so
/.venv
/.pytest_cache
/docs/.doctrees/
/docs/.buildinfo
/docs/.buildinfo.bak
/docs/_sources/
================================================
FILE: CMakeLists.txt
================================================
cmake_minimum_required(VERSION 3.10)
project(PyOpenXr LANGUAGES CXX)
# Keep extraneous variables out of the cmake interface
mark_as_advanced(
CMAKE_BACKWARDS_COMPATIBILITY
CMAKE_CONFIGURATION_TYPES
CMAKE_INSTALL_PREFIX
EXECUTABLE_OUTPUT_PATH
LIBRARY_OUTPUT_PATH
)
message(STATUS CMAKE_SYSTEM_NAME = "${CMAKE_SYSTEM_NAME}")
option(PYOPENXR_BUILD_BINDINGS "Generate pyopenxr bindings" OFF)
# Option to control doc build
option(PYOPENXR_BUILD_DOCS "Build Sphinx documentation" OFF)
option(PYOPENXR_BUILD_API_LAYER "Build OpenXR API layer" ON)
# Use local python venv if available
foreach(VENV_DIR "${CMAKE_SOURCE_DIR}/.venv" "$ENV{HOME}/pyopenxr-venv")
if(EXISTS "${VENV_DIR}")
set(ENV{VIRTUAL_ENV} "${VENV_DIR}")
set(Python_FIND_VIRTUALENV ONLY)
endif()
endforeach()
find_package(Python COMPONENTS Interpreter REQUIRED)
message(STATUS "python = ${Python_EXECUTABLE}")
# TODO: better check for android cross build
if (CMAKE_SYSTEM_PROCESSOR MATCHES "^armv")
set(ANDROID_ABI arm64-v8a CACHE STRING "")
set(ANDROID_PLATFORM android-21 CACHE STRING "")
set(CROSS_COMPILE_ROOT_PATH
"$ENV{HOME}/android/cpython/cross-build/aarch64-linux-android/prefix/"
CACHE PATH ""
)
endif()
if (WIN32)
set(XR_ARCH "win32")
elseif(ANDROID_ABI MATCHES "arm64")
set(XR_ARCH "aarch64")
else()
set(XR_ARCH "x86_64")
endif()
message(STATUS "XR_ARCH = ${XR_ARCH}")
if (CROSS_COMPILE_ROOT_PATH)
list(APPEND CMAKE_FIND_ROOT_PATH ${CROSS_COMPILE_ROOT_PATH})
endif()
message(STATUS "CMAKE_FIND_ROOT_PATH = ${CMAKE_FIND_ROOT_PATH}")
# Workaround for trouble parsing $ENV{ProgramFiles(x86)}
set(PF86 "ProgramFiles(x86)")
find_path(OPENXR_INCLUDE_DIR
NAMES openxr/openxr.h
HINTS
"$ENV{${PF86}}/OPENXR"
"$ENV{ProgramW6432}/OPENXR"
"$ENV{ProgramFiles}/OPENXR"
"/usr/local"
PATH_SUFFIXES include
DOC "The file location of the OpenXR C header files"
)
include_directories(${OPENXR_INCLUDE_DIR})
if (PYOPENXR_BUILD_BINDINGS)
add_subdirectory(src/generate)
endif()
if (PYOPENXR_BUILD_API_LAYER)
add_subdirectory(src/generate/py_api_layer)
endif()
# Docs build logic
if(PYOPENXR_BUILD_DOCS)
# Add a custom target that depends on the core generation
add_custom_target(docs ALL
COMMAND ${Python_EXECUTABLE} -m sphinx -b html ${CMAKE_SOURCE_DIR}/src/docs ${CMAKE_SOURCE_DIR}/docs
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMENT "Generating Sphinx documentation"
VERBATIM
)
# add_dependencies(docs xrg_generate) # Replace xrg_generate with the actual target name
endif()
================================================
FILE: LICENSE
================================================
# pyopenxr — Apache 2.0 Licensed
# Copyright 2021 Christopher Bruns
Copyright 2021 Christopher Bruns
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
================================================
FILE: README.md
================================================
# pyopenxr
### Unofficial Python bindings for the [OpenXR SDK](https://github.com/KhronosGroup/OpenXR-SDK) to access VR and AR devices
**pyopenxr** is a Python developer SDK for device tracking and rapid virtual reality prototyping using the headset-agnostic OpenXR API. It provides a clean, Pythonic interface to the OpenXR runtime, enabling cross-platform AR/VR development with minimal boilerplate.

[](https://github.com/cmbruns/pyopenxr/actions/workflows/pages/pages-build-deployment)
[](https://cmbruns.github.io/pyopenxr/)


---
## 🚀 Installation
```bash
pip install pyopenxr
```
## 🧪 Quick Start
```python
import xr
# Query the available VR/AR extensions
available = xr.enumerate_instance_extension_properties()
# Replace with whatever extensions are required for your application...
required = [xr.KHR_OPENGL_ENABLE_EXTENSION_NAME]
for prop in required:
assert prop in available
```
Explore the complete working example
[`hello_xr.py`](https://github.com/cmbruns/pyopenxr_examples/examples)
for a hands-on introduction.
## Pythonic naming conventions
| symbol | Python example | C example |
| ----------- | ------------------------------------ | ------------------------------------- |
| function | `xr.create_instance(...)` | `xrCreateInstance(...)` |
| constant | `xr.MAX_SYSTEM_NAME_SIZE` | `XR_MAX_SYSTEM_NAME_SIZE` |
| struct name | `xr.ExtensionProperties` | `XrExtensionProperties` |
| type alias | `xr.Version` | `XrVersion` |
| enum type | `xr.FormFactor` | `xrFormFactor` |
| enum value | `xr.FormFactor.HEAD_MOUNTED_DISPLAY` | `XR_FORM_FACTOR_HEAD_MOUNTED_DISPLAY` |
| handle | `xr.Instance` | `XrInstance` |
## 📚 Documentation
Full API reference and guides are [available](https://cmbruns.github.io/pyopenxr/)
## 📦 License
This project is licensed under the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0).
Copyright © 2021 Christopher Bruns.
================================================
FILE: docs/.nojekyll
================================================
================================================
FILE: docs/_static/_sphinx_javascript_frameworks_compat.js
================================================
/* Compatability shim for jQuery and underscores.js.
*
* Copyright Sphinx contributors
* Released under the two clause BSD licence
*/
/**
* small helper function to urldecode strings
*
* See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent#Decoding_query_parameters_from_a_URL
*/
jQuery.urldecode = function(x) {
if (!x) {
return x
}
return decodeURIComponent(x.replace(/\+/g, ' '));
};
/**
* small helper function to urlencode strings
*/
jQuery.urlencode = encodeURIComponent;
/**
* This function returns the parsed url parameters of the
* current request. Multiple values per key are supported,
* it will always return arrays of strings for the value parts.
*/
jQuery.getQueryParameters = function(s) {
if (typeof s === 'undefined')
s = document.location.search;
var parts = s.substr(s.indexOf('?') + 1).split('&');
var result = {};
for (var i = 0; i < parts.length; i++) {
var tmp = parts[i].split('=', 2);
var key = jQuery.urldecode(tmp[0]);
var value = jQuery.urldecode(tmp[1]);
if (key in result)
result[key].push(value);
else
result[key] = [value];
}
return result;
};
/**
* highlight a given string on a jquery object by wrapping it in
* span elements with the given class name.
*/
jQuery.fn.highlightText = function(text, className) {
function highlight(node, addItems) {
if (node.nodeType === 3) {
var val = node.nodeValue;
var pos = val.toLowerCase().indexOf(text);
if (pos >= 0 &&
!jQuery(node.parentNode).hasClass(className) &&
!jQuery(node.parentNode).hasClass("nohighlight")) {
var span;
var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg");
if (isInSVG) {
span = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
} else {
span = document.createElement("span");
span.className = className;
}
span.appendChild(document.createTextNode(val.substr(pos, text.length)));
node.parentNode.insertBefore(span, node.parentNode.insertBefore(
document.createTextNode(val.substr(pos + text.length)),
node.nextSibling));
node.nodeValue = val.substr(0, pos);
if (isInSVG) {
var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
var bbox = node.parentElement.getBBox();
rect.x.baseVal.value = bbox.x;
rect.y.baseVal.value = bbox.y;
rect.width.baseVal.value = bbox.width;
rect.height.baseVal.value = bbox.height;
rect.setAttribute('class', className);
addItems.push({
"parent": node.parentNode,
"target": rect});
}
}
}
else if (!jQuery(node).is("button, select, textarea")) {
jQuery.each(node.childNodes, function() {
highlight(this, addItems);
});
}
}
var addItems = [];
var result = this.each(function() {
highlight(this, addItems);
});
for (var i = 0; i < addItems.length; ++i) {
jQuery(addItems[i].parent).before(addItems[i].target);
}
return result;
};
/*
* backward compatibility for jQuery.browser
* This will be supported until firefox bug is fixed.
*/
if (!jQuery.browser) {
jQuery.uaMatch = function(ua) {
ua = ua.toLowerCase();
var match = /(chrome)[ \/]([\w.]+)/.exec(ua) ||
/(webkit)[ \/]([\w.]+)/.exec(ua) ||
/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) ||
/(msie) ([\w.]+)/.exec(ua) ||
ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) ||
[];
return {
browser: match[ 1 ] || "",
version: match[ 2 ] || "0"
};
};
jQuery.browser = {};
jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true;
}
================================================
FILE: docs/_static/basic.css
================================================
/*
* basic.css
* ~~~~~~~~~
*
* Sphinx stylesheet -- basic theme.
*
* :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
/* -- main layout ----------------------------------------------------------- */
div.clearer {
clear: both;
}
div.section::after {
display: block;
content: '';
clear: left;
}
/* -- relbar ---------------------------------------------------------------- */
div.related {
width: 100%;
font-size: 90%;
}
div.related h3 {
display: none;
}
div.related ul {
margin: 0;
padding: 0 0 0 10px;
list-style: none;
}
div.related li {
display: inline;
}
div.related li.right {
float: right;
margin-right: 5px;
}
/* -- sidebar --------------------------------------------------------------- */
div.sphinxsidebarwrapper {
padding: 10px 5px 0 10px;
}
div.sphinxsidebar {
float: left;
width: 230px;
margin-left: -100%;
font-size: 90%;
word-wrap: break-word;
overflow-wrap : break-word;
}
div.sphinxsidebar ul {
list-style: none;
}
div.sphinxsidebar ul ul,
div.sphinxsidebar ul.want-points {
margin-left: 20px;
list-style: square;
}
div.sphinxsidebar ul ul {
margin-top: 0;
margin-bottom: 0;
}
div.sphinxsidebar form {
margin-top: 10px;
}
div.sphinxsidebar input {
border: 1px solid #98dbcc;
font-family: sans-serif;
font-size: 1em;
}
div.sphinxsidebar #searchbox form.search {
overflow: hidden;
}
div.sphinxsidebar #searchbox input[type="text"] {
float: left;
width: 80%;
padding: 0.25em;
box-sizing: border-box;
}
div.sphinxsidebar #searchbox input[type="submit"] {
float: left;
width: 20%;
border-left: none;
padding: 0.25em;
box-sizing: border-box;
}
img {
border: 0;
max-width: 100%;
}
/* -- search page ----------------------------------------------------------- */
ul.search {
margin: 10px 0 0 20px;
padding: 0;
}
ul.search li {
padding: 5px 0 5px 20px;
background-image: url(file.png);
background-repeat: no-repeat;
background-position: 0 7px;
}
ul.search li a {
font-weight: bold;
}
ul.search li p.context {
color: #888;
margin: 2px 0 0 30px;
text-align: left;
}
ul.keywordmatches li.goodmatch a {
font-weight: bold;
}
/* -- index page ------------------------------------------------------------ */
table.contentstable {
width: 90%;
margin-left: auto;
margin-right: auto;
}
table.contentstable p.biglink {
line-height: 150%;
}
a.biglink {
font-size: 1.3em;
}
span.linkdescr {
font-style: italic;
padding-top: 5px;
font-size: 90%;
}
/* -- general index --------------------------------------------------------- */
table.indextable {
width: 100%;
}
table.indextable td {
text-align: left;
vertical-align: top;
}
table.indextable ul {
margin-top: 0;
margin-bottom: 0;
list-style-type: none;
}
table.indextable > tbody > tr > td > ul {
padding-left: 0em;
}
table.indextable tr.pcap {
height: 10px;
}
table.indextable tr.cap {
margin-top: 10px;
background-color: #f2f2f2;
}
img.toggler {
margin-right: 3px;
margin-top: 3px;
cursor: pointer;
}
div.modindex-jumpbox {
border-top: 1px solid #ddd;
border-bottom: 1px solid #ddd;
margin: 1em 0 1em 0;
padding: 0.4em;
}
div.genindex-jumpbox {
border-top: 1px solid #ddd;
border-bottom: 1px solid #ddd;
margin: 1em 0 1em 0;
padding: 0.4em;
}
/* -- domain module index --------------------------------------------------- */
table.modindextable td {
padding: 2px;
border-collapse: collapse;
}
/* -- general body styles --------------------------------------------------- */
div.body {
min-width: 360px;
max-width: 800px;
}
div.body p, div.body dd, div.body li, div.body blockquote {
-moz-hyphens: auto;
-ms-hyphens: auto;
-webkit-hyphens: auto;
hyphens: auto;
}
a.headerlink {
visibility: hidden;
}
a:visited {
color: #551A8B;
}
h1:hover > a.headerlink,
h2:hover > a.headerlink,
h3:hover > a.headerlink,
h4:hover > a.headerlink,
h5:hover > a.headerlink,
h6:hover > a.headerlink,
dt:hover > a.headerlink,
caption:hover > a.headerlink,
p.caption:hover > a.headerlink,
div.code-block-caption:hover > a.headerlink {
visibility: visible;
}
div.body p.caption {
text-align: inherit;
}
div.body td {
text-align: left;
}
.first {
margin-top: 0 !important;
}
p.rubric {
margin-top: 30px;
font-weight: bold;
}
img.align-left, figure.align-left, .figure.align-left, object.align-left {
clear: left;
float: left;
margin-right: 1em;
}
img.align-right, figure.align-right, .figure.align-right, object.align-right {
clear: right;
float: right;
margin-left: 1em;
}
img.align-center, figure.align-center, .figure.align-center, object.align-center {
display: block;
margin-left: auto;
margin-right: auto;
}
img.align-default, figure.align-default, .figure.align-default {
display: block;
margin-left: auto;
margin-right: auto;
}
.align-left {
text-align: left;
}
.align-center {
text-align: center;
}
.align-default {
text-align: center;
}
.align-right {
text-align: right;
}
/* -- sidebars -------------------------------------------------------------- */
div.sidebar,
aside.sidebar {
margin: 0 0 0.5em 1em;
border: 1px solid #ddb;
padding: 7px;
background-color: #ffe;
width: 40%;
float: right;
clear: right;
overflow-x: auto;
}
p.sidebar-title {
font-weight: bold;
}
nav.contents,
aside.topic,
div.admonition, div.topic, blockquote {
clear: left;
}
/* -- topics ---------------------------------------------------------------- */
nav.contents,
aside.topic,
div.topic {
border: 1px solid #ccc;
padding: 7px;
margin: 10px 0 10px 0;
}
p.topic-title {
font-size: 1.1em;
font-weight: bold;
margin-top: 10px;
}
/* -- admonitions ----------------------------------------------------------- */
div.admonition {
margin-top: 10px;
margin-bottom: 10px;
padding: 7px;
}
div.admonition dt {
font-weight: bold;
}
p.admonition-title {
margin: 0px 10px 5px 0px;
font-weight: bold;
}
div.body p.centered {
text-align: center;
margin-top: 25px;
}
/* -- content of sidebars/topics/admonitions -------------------------------- */
div.sidebar > :last-child,
aside.sidebar > :last-child,
nav.contents > :last-child,
aside.topic > :last-child,
div.topic > :last-child,
div.admonition > :last-child {
margin-bottom: 0;
}
div.sidebar::after,
aside.sidebar::after,
nav.contents::after,
aside.topic::after,
div.topic::after,
div.admonition::after,
blockquote::after {
display: block;
content: '';
clear: both;
}
/* -- tables ---------------------------------------------------------------- */
table.docutils {
margin-top: 10px;
margin-bottom: 10px;
border: 0;
border-collapse: collapse;
}
table.align-center {
margin-left: auto;
margin-right: auto;
}
table.align-default {
margin-left: auto;
margin-right: auto;
}
table caption span.caption-number {
font-style: italic;
}
table caption span.caption-text {
}
table.docutils td, table.docutils th {
padding: 1px 8px 1px 5px;
border-top: 0;
border-left: 0;
border-right: 0;
border-bottom: 1px solid #aaa;
}
th {
text-align: left;
padding-right: 5px;
}
table.citation {
border-left: solid 1px gray;
margin-left: 1px;
}
table.citation td {
border-bottom: none;
}
th > :first-child,
td > :first-child {
margin-top: 0px;
}
th > :last-child,
td > :last-child {
margin-bottom: 0px;
}
/* -- figures --------------------------------------------------------------- */
div.figure, figure {
margin: 0.5em;
padding: 0.5em;
}
div.figure p.caption, figcaption {
padding: 0.3em;
}
div.figure p.caption span.caption-number,
figcaption span.caption-number {
font-style: italic;
}
div.figure p.caption span.caption-text,
figcaption span.caption-text {
}
/* -- field list styles ----------------------------------------------------- */
table.field-list td, table.field-list th {
border: 0 !important;
}
.field-list ul {
margin: 0;
padding-left: 1em;
}
.field-list p {
margin: 0;
}
.field-name {
-moz-hyphens: manual;
-ms-hyphens: manual;
-webkit-hyphens: manual;
hyphens: manual;
}
/* -- hlist styles ---------------------------------------------------------- */
table.hlist {
margin: 1em 0;
}
table.hlist td {
vertical-align: top;
}
/* -- object description styles --------------------------------------------- */
.sig {
font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace;
}
.sig-name, code.descname {
background-color: transparent;
font-weight: bold;
}
.sig-name {
font-size: 1.1em;
}
code.descname {
font-size: 1.2em;
}
.sig-prename, code.descclassname {
background-color: transparent;
}
.optional {
font-size: 1.3em;
}
.sig-paren {
font-size: larger;
}
.sig-param.n {
font-style: italic;
}
/* C++ specific styling */
.sig-inline.c-texpr,
.sig-inline.cpp-texpr {
font-family: unset;
}
.sig.c .k, .sig.c .kt,
.sig.cpp .k, .sig.cpp .kt {
color: #0033B3;
}
.sig.c .m,
.sig.cpp .m {
color: #1750EB;
}
.sig.c .s, .sig.c .sc,
.sig.cpp .s, .sig.cpp .sc {
color: #067D17;
}
/* -- other body styles ----------------------------------------------------- */
ol.arabic {
list-style: decimal;
}
ol.loweralpha {
list-style: lower-alpha;
}
ol.upperalpha {
list-style: upper-alpha;
}
ol.lowerroman {
list-style: lower-roman;
}
ol.upperroman {
list-style: upper-roman;
}
:not(li) > ol > li:first-child > :first-child,
:not(li) > ul > li:first-child > :first-child {
margin-top: 0px;
}
:not(li) > ol > li:last-child > :last-child,
:not(li) > ul > li:last-child > :last-child {
margin-bottom: 0px;
}
ol.simple ol p,
ol.simple ul p,
ul.simple ol p,
ul.simple ul p {
margin-top: 0;
}
ol.simple > li:not(:first-child) > p,
ul.simple > li:not(:first-child) > p {
margin-top: 0;
}
ol.simple p,
ul.simple p {
margin-bottom: 0;
}
aside.footnote > span,
div.citation > span {
float: left;
}
aside.footnote > span:last-of-type,
div.citation > span:last-of-type {
padding-right: 0.5em;
}
aside.footnote > p {
margin-left: 2em;
}
div.citation > p {
margin-left: 4em;
}
aside.footnote > p:last-of-type,
div.citation > p:last-of-type {
margin-bottom: 0em;
}
aside.footnote > p:last-of-type:after,
div.citation > p:last-of-type:after {
content: "";
clear: both;
}
dl.field-list {
display: grid;
grid-template-columns: fit-content(30%) auto;
}
dl.field-list > dt {
font-weight: bold;
word-break: break-word;
padding-left: 0.5em;
padding-right: 5px;
}
dl.field-list > dd {
padding-left: 0.5em;
margin-top: 0em;
margin-left: 0em;
margin-bottom: 0em;
}
dl {
margin-bottom: 15px;
}
dd > :first-child {
margin-top: 0px;
}
dd ul, dd table {
margin-bottom: 10px;
}
dd {
margin-top: 3px;
margin-bottom: 10px;
margin-left: 30px;
}
.sig dd {
margin-top: 0px;
margin-bottom: 0px;
}
.sig dl {
margin-top: 0px;
margin-bottom: 0px;
}
dl > dd:last-child,
dl > dd:last-child > :last-child {
margin-bottom: 0;
}
dt:target, span.highlighted {
background-color: #fbe54e;
}
rect.highlighted {
fill: #fbe54e;
}
dl.glossary dt {
font-weight: bold;
font-size: 1.1em;
}
.versionmodified {
font-style: italic;
}
.system-message {
background-color: #fda;
padding: 5px;
border: 3px solid red;
}
.footnote:target {
background-color: #ffa;
}
.line-block {
display: block;
margin-top: 1em;
margin-bottom: 1em;
}
.line-block .line-block {
margin-top: 0;
margin-bottom: 0;
margin-left: 1.5em;
}
.guilabel, .menuselection {
font-family: sans-serif;
}
.accelerator {
text-decoration: underline;
}
.classifier {
font-style: oblique;
}
.classifier:before {
font-style: normal;
margin: 0 0.5em;
content: ":";
display: inline-block;
}
abbr, acronym {
border-bottom: dotted 1px;
cursor: help;
}
.translated {
background-color: rgba(207, 255, 207, 0.2)
}
.untranslated {
background-color: rgba(255, 207, 207, 0.2)
}
/* -- code displays --------------------------------------------------------- */
pre {
overflow: auto;
overflow-y: hidden; /* fixes display issues on Chrome browsers */
}
pre, div[class*="highlight-"] {
clear: both;
}
span.pre {
-moz-hyphens: none;
-ms-hyphens: none;
-webkit-hyphens: none;
hyphens: none;
white-space: nowrap;
}
div[class*="highlight-"] {
margin: 1em 0;
}
td.linenos pre {
border: 0;
background-color: transparent;
color: #aaa;
}
table.highlighttable {
display: block;
}
table.highlighttable tbody {
display: block;
}
table.highlighttable tr {
display: flex;
}
table.highlighttable td {
margin: 0;
padding: 0;
}
table.highlighttable td.linenos {
padding-right: 0.5em;
}
table.highlighttable td.code {
flex: 1;
overflow: hidden;
}
.highlight .hll {
display: block;
}
div.highlight pre,
table.highlighttable pre {
margin: 0;
}
div.code-block-caption + div {
margin-top: 0;
}
div.code-block-caption {
margin-top: 1em;
padding: 2px 5px;
font-size: small;
}
div.code-block-caption code {
background-color: transparent;
}
table.highlighttable td.linenos,
span.linenos,
div.highlight span.gp { /* gp: Generic.Prompt */
user-select: none;
-webkit-user-select: text; /* Safari fallback only */
-webkit-user-select: none; /* Chrome/Safari */
-moz-user-select: none; /* Firefox */
-ms-user-select: none; /* IE10+ */
}
div.code-block-caption span.caption-number {
padding: 0.1em 0.3em;
font-style: italic;
}
div.code-block-caption span.caption-text {
}
div.literal-block-wrapper {
margin: 1em 0;
}
code.xref, a code {
background-color: transparent;
font-weight: bold;
}
h1 code, h2 code, h3 code, h4 code, h5 code, h6 code {
background-color: transparent;
}
.viewcode-link {
float: right;
}
.viewcode-back {
float: right;
font-family: sans-serif;
}
div.viewcode-block:target {
margin: -1px -10px;
padding: 0 10px;
}
/* -- math display ---------------------------------------------------------- */
img.math {
vertical-align: middle;
}
div.body div.math p {
text-align: center;
}
span.eqno {
float: right;
}
span.eqno a.headerlink {
position: absolute;
z-index: 1;
}
div.math:hover a.headerlink {
visibility: visible;
}
/* -- printout stylesheet --------------------------------------------------- */
@media print {
div.document,
div.documentwrapper,
div.bodywrapper {
margin: 0 !important;
width: 100%;
}
div.sphinxsidebar,
div.related,
div.footer,
#top-link {
display: none;
}
}
================================================
FILE: docs/_static/css/badge_only.css
================================================
.clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#FontAwesome) format("svg")}.fa:before{font-family:FontAwesome;font-style:normal;font-weight:400;line-height:1}.fa:before,a .fa{text-decoration:inherit}.fa:before,a .fa,li .fa{display:inline-block}li .fa-large:before{width:1.875em}ul.fas{list-style-type:none;margin-left:2em;text-indent:-.8em}ul.fas li .fa{width:.8em}ul.fas li .fa-large:before{vertical-align:baseline}.fa-book:before,.icon-book:before{content:"\f02d"}.fa-caret-down:before,.icon-caret-down:before{content:"\f0d7"}.fa-caret-up:before,.icon-caret-up:before{content:"\f0d8"}.fa-caret-left:before,.icon-caret-left:before{content:"\f0d9"}.fa-caret-right:before,.icon-caret-right:before{content:"\f0da"}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;z-index:400}.rst-versions a{color:#2980b9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27ae60}.rst-versions .rst-current-version:after{clear:both;content:"";display:block}.rst-versions .rst-current-version .fa{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#e74c3c;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#f1c40f;color:#000}.rst-versions.shift-up{height:auto;max-height:100%;overflow-y:scroll}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:grey;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:1px solid #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions .rst-other-versions .rtd-current-item{font-weight:700}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px;max-height:90%}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none;line-height:30px}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge>.rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width:768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}}#flyout-search-form{padding:6px}
================================================
FILE: docs/_static/css/theme.css
================================================
html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}[hidden],audio:not([controls]){display:none}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}blockquote{margin:0}dfn{font-style:italic}ins{background:#ff9;text-decoration:none}ins,mark{color:#000}mark{background:#ff0;font-style:italic;font-weight:700}.rst-content code,.rst-content tt,code,kbd,pre,samp{font-family:monospace,serif;_font-family:courier new,monospace;font-size:1em}pre{white-space:pre}q{quotes:none}q:after,q:before{content:"";content:none}small{font-size:85%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}dl,ol,ul{margin:0;padding:0;list-style:none;list-style-image:none}li{list-style:none}dd{margin:0}img{border:0;-ms-interpolation-mode:bicubic;vertical-align:middle;max-width:100%}svg:not(:root){overflow:hidden}figure,form{margin:0}label{cursor:pointer}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}button,input{line-height:normal}button,input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button;*overflow:visible}button[disabled],input[disabled]{cursor:default}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}textarea{resize:vertical}table{border-collapse:collapse;border-spacing:0}td{vertical-align:top}.chromeframe{margin:.2em 0;background:#ccc;color:#000;padding:.2em 0}.ir{display:block;border:0;text-indent:-999em;overflow:hidden;background-color:transparent;background-repeat:no-repeat;text-align:left;direction:ltr;*line-height:0}.ir br{display:none}.hidden{display:none!important;visibility:hidden}.visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.invisible{visibility:hidden}.relative{position:relative}big,small{font-size:100%}@media print{body,html,section{background:none!important}*{box-shadow:none!important;text-shadow:none!important;filter:none!important;-ms-filter:none!important}a,a:visited{text-decoration:underline}.ir a:after,a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}.rst-content .toctree-wrapper>p.caption,h2,h3,p{orphans:3;widows:3}.rst-content .toctree-wrapper>p.caption,h2,h3{page-break-after:avoid}}.btn,.fa:before,.icon:before,.rst-content .admonition,.rst-content .admonition-title:before,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .code-block-caption .headerlink:before,.rst-content .danger,.rst-content .eqno .headerlink:before,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning,.rst-content code.download span:first-child:before,.rst-content dl dt .headerlink:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content p .headerlink:before,.rst-content table>caption .headerlink:before,.rst-content tt.download span:first-child:before,.wy-alert,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-menu-vertical li.current>a button.toctree-expand:before,.wy-menu-vertical li.on a button.toctree-expand:before,.wy-menu-vertical li button.toctree-expand:before,input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}/*!
* Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
* License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
*/@font-face{font-family:FontAwesome;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713);src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix&v=4.7.0) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#fontawesomeregular) format("svg");font-weight:400;font-style:normal}.fa,.icon,.rst-content .admonition-title,.rst-content .code-block-caption .headerlink,.rst-content .eqno .headerlink,.rst-content code.download span:first-child,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content p .headerlink,.rst-content table>caption .headerlink,.rst-content tt.download span:first-child,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li button.toctree-expand{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14286em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14286em;width:2.14286em;top:.14286em;text-align:center}.fa-li.fa-lg{left:-1.85714em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa-pull-left.icon,.fa.fa-pull-left,.rst-content .code-block-caption .fa-pull-left.headerlink,.rst-content .eqno .fa-pull-left.headerlink,.rst-content .fa-pull-left.admonition-title,.rst-content code.download span.fa-pull-left:first-child,.rst-content dl dt .fa-pull-left.headerlink,.rst-content h1 .fa-pull-left.headerlink,.rst-content h2 .fa-pull-left.headerlink,.rst-content h3 .fa-pull-left.headerlink,.rst-content h4 .fa-pull-left.headerlink,.rst-content h5 .fa-pull-left.headerlink,.rst-content h6 .fa-pull-left.headerlink,.rst-content p .fa-pull-left.headerlink,.rst-content table>caption .fa-pull-left.headerlink,.rst-content tt.download span.fa-pull-left:first-child,.wy-menu-vertical li.current>a button.fa-pull-left.toctree-expand,.wy-menu-vertical li.on a button.fa-pull-left.toctree-expand,.wy-menu-vertical li button.fa-pull-left.toctree-expand{margin-right:.3em}.fa-pull-right.icon,.fa.fa-pull-right,.rst-content .code-block-caption .fa-pull-right.headerlink,.rst-content .eqno .fa-pull-right.headerlink,.rst-content .fa-pull-right.admonition-title,.rst-content code.download span.fa-pull-right:first-child,.rst-content dl dt .fa-pull-right.headerlink,.rst-content h1 .fa-pull-right.headerlink,.rst-content h2 .fa-pull-right.headerlink,.rst-content h3 .fa-pull-right.headerlink,.rst-content h4 .fa-pull-right.headerlink,.rst-content h5 .fa-pull-right.headerlink,.rst-content h6 .fa-pull-right.headerlink,.rst-content p .fa-pull-right.headerlink,.rst-content table>caption .fa-pull-right.headerlink,.rst-content tt.download span.fa-pull-right:first-child,.wy-menu-vertical li.current>a button.fa-pull-right.toctree-expand,.wy-menu-vertical li.on a button.fa-pull-right.toctree-expand,.wy-menu-vertical li button.fa-pull-right.toctree-expand{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left,.pull-left.icon,.rst-content .code-block-caption .pull-left.headerlink,.rst-content .eqno .pull-left.headerlink,.rst-content .pull-left.admonition-title,.rst-content code.download span.pull-left:first-child,.rst-content dl dt .pull-left.headerlink,.rst-content h1 .pull-left.headerlink,.rst-content h2 .pull-left.headerlink,.rst-content h3 .pull-left.headerlink,.rst-content h4 .pull-left.headerlink,.rst-content h5 .pull-left.headerlink,.rst-content h6 .pull-left.headerlink,.rst-content p .pull-left.headerlink,.rst-content table>caption .pull-left.headerlink,.rst-content tt.download span.pull-left:first-child,.wy-menu-vertical li.current>a button.pull-left.toctree-expand,.wy-menu-vertical li.on a button.pull-left.toctree-expand,.wy-menu-vertical li button.pull-left.toctree-expand{margin-right:.3em}.fa.pull-right,.pull-right.icon,.rst-content .code-block-caption .pull-right.headerlink,.rst-content .eqno .pull-right.headerlink,.rst-content .pull-right.admonition-title,.rst-content code.download span.pull-right:first-child,.rst-content dl dt .pull-right.headerlink,.rst-content h1 .pull-right.headerlink,.rst-content h2 .pull-right.headerlink,.rst-content h3 .pull-right.headerlink,.rst-content h4 .pull-right.headerlink,.rst-content h5 .pull-right.headerlink,.rst-content h6 .pull-right.headerlink,.rst-content p .pull-right.headerlink,.rst-content table>caption .pull-right.headerlink,.rst-content tt.download span.pull-right:first-child,.wy-menu-vertical li.current>a button.pull-right.toctree-expand,.wy-menu-vertical li.on a button.pull-right.toctree-expand,.wy-menu-vertical li button.pull-right.toctree-expand{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);-ms-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scaleY(-1);-ms-transform:scaleY(-1);transform:scaleY(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:""}.fa-music:before{content:""}.fa-search:before,.icon-search:before{content:""}.fa-envelope-o:before{content:""}.fa-heart:before{content:""}.fa-star:before{content:""}.fa-star-o:before{content:""}.fa-user:before{content:""}.fa-film:before{content:""}.fa-th-large:before{content:""}.fa-th:before{content:""}.fa-th-list:before{content:""}.fa-check:before{content:""}.fa-close:before,.fa-remove:before,.fa-times:before{content:""}.fa-search-plus:before{content:""}.fa-search-minus:before{content:""}.fa-power-off:before{content:""}.fa-signal:before{content:""}.fa-cog:before,.fa-gear:before{content:""}.fa-trash-o:before{content:""}.fa-home:before,.icon-home:before{content:""}.fa-file-o:before{content:""}.fa-clock-o:before{content:""}.fa-road:before{content:""}.fa-download:before,.rst-content code.download span:first-child:before,.rst-content tt.download span:first-child:before{content:""}.fa-arrow-circle-o-down:before{content:""}.fa-arrow-circle-o-up:before{content:""}.fa-inbox:before{content:""}.fa-play-circle-o:before{content:""}.fa-repeat:before,.fa-rotate-right:before{content:""}.fa-refresh:before{content:""}.fa-list-alt:before{content:""}.fa-lock:before{content:""}.fa-flag:before{content:""}.fa-headphones:before{content:""}.fa-volume-off:before{content:""}.fa-volume-down:before{content:""}.fa-volume-up:before{content:""}.fa-qrcode:before{content:""}.fa-barcode:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-book:before,.icon-book:before{content:""}.fa-bookmark:before{content:""}.fa-print:before{content:""}.fa-camera:before{content:""}.fa-font:before{content:""}.fa-bold:before{content:""}.fa-italic:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-align-left:before{content:""}.fa-align-center:before{content:""}.fa-align-right:before{content:""}.fa-align-justify:before{content:""}.fa-list:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-indent:before{content:""}.fa-video-camera:before{content:""}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:""}.fa-pencil:before{content:""}.fa-map-marker:before{content:""}.fa-adjust:before{content:""}.fa-tint:before{content:""}.fa-edit:before,.fa-pencil-square-o:before{content:""}.fa-share-square-o:before{content:""}.fa-check-square-o:before{content:""}.fa-arrows:before{content:""}.fa-step-backward:before{content:""}.fa-fast-backward:before{content:""}.fa-backward:before{content:""}.fa-play:before{content:""}.fa-pause:before{content:""}.fa-stop:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before{content:""}.fa-step-forward:before{content:""}.fa-eject:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-plus-circle:before{content:""}.fa-minus-circle:before{content:""}.fa-times-circle:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before{content:""}.fa-check-circle:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before{content:""}.fa-question-circle:before{content:""}.fa-info-circle:before{content:""}.fa-crosshairs:before{content:""}.fa-times-circle-o:before{content:""}.fa-check-circle-o:before{content:""}.fa-ban:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-down:before{content:""}.fa-mail-forward:before,.fa-share:before{content:""}.fa-expand:before{content:""}.fa-compress:before{content:""}.fa-plus:before{content:""}.fa-minus:before{content:""}.fa-asterisk:before{content:""}.fa-exclamation-circle:before,.rst-content .admonition-title:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before{content:""}.fa-gift:before{content:""}.fa-leaf:before{content:""}.fa-fire:before,.icon-fire:before{content:""}.fa-eye:before{content:""}.fa-eye-slash:before{content:""}.fa-exclamation-triangle:before,.fa-warning:before{content:""}.fa-plane:before{content:""}.fa-calendar:before{content:""}.fa-random:before{content:""}.fa-comment:before{content:""}.fa-magnet:before{content:""}.fa-chevron-up:before{content:""}.fa-chevron-down:before{content:""}.fa-retweet:before{content:""}.fa-shopping-cart:before{content:""}.fa-folder:before{content:""}.fa-folder-open:before{content:""}.fa-arrows-v:before{content:""}.fa-arrows-h:before{content:""}.fa-bar-chart-o:before,.fa-bar-chart:before{content:""}.fa-twitter-square:before{content:""}.fa-facebook-square:before{content:""}.fa-camera-retro:before{content:""}.fa-key:before{content:""}.fa-cogs:before,.fa-gears:before{content:""}.fa-comments:before{content:""}.fa-thumbs-o-up:before{content:""}.fa-thumbs-o-down:before{content:""}.fa-star-half:before{content:""}.fa-heart-o:before{content:""}.fa-sign-out:before{content:""}.fa-linkedin-square:before{content:""}.fa-thumb-tack:before{content:""}.fa-external-link:before{content:""}.fa-sign-in:before{content:""}.fa-trophy:before{content:""}.fa-github-square:before{content:""}.fa-upload:before{content:""}.fa-lemon-o:before{content:""}.fa-phone:before{content:""}.fa-square-o:before{content:""}.fa-bookmark-o:before{content:""}.fa-phone-square:before{content:""}.fa-twitter:before{content:""}.fa-facebook-f:before,.fa-facebook:before{content:""}.fa-github:before,.icon-github:before{content:""}.fa-unlock:before{content:""}.fa-credit-card:before{content:""}.fa-feed:before,.fa-rss:before{content:""}.fa-hdd-o:before{content:""}.fa-bullhorn:before{content:""}.fa-bell:before{content:""}.fa-certificate:before{content:""}.fa-hand-o-right:before{content:""}.fa-hand-o-left:before{content:""}.fa-hand-o-up:before{content:""}.fa-hand-o-down:before{content:""}.fa-arrow-circle-left:before,.icon-circle-arrow-left:before{content:""}.fa-arrow-circle-right:before,.icon-circle-arrow-right:before{content:""}.fa-arrow-circle-up:before{content:""}.fa-arrow-circle-down:before{content:""}.fa-globe:before{content:""}.fa-wrench:before{content:""}.fa-tasks:before{content:""}.fa-filter:before{content:""}.fa-briefcase:before{content:""}.fa-arrows-alt:before{content:""}.fa-group:before,.fa-users:before{content:""}.fa-chain:before,.fa-link:before,.icon-link:before{content:""}.fa-cloud:before{content:""}.fa-flask:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-copy:before,.fa-files-o:before{content:""}.fa-paperclip:before{content:""}.fa-floppy-o:before,.fa-save:before{content:""}.fa-square:before{content:""}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:""}.fa-list-ul:before{content:""}.fa-list-ol:before{content:""}.fa-strikethrough:before{content:""}.fa-underline:before{content:""}.fa-table:before{content:""}.fa-magic:before{content:""}.fa-truck:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-square:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-plus:before{content:""}.fa-money:before{content:""}.fa-caret-down:before,.icon-caret-down:before,.wy-dropdown .caret:before{content:""}.fa-caret-up:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-columns:before{content:""}.fa-sort:before,.fa-unsorted:before{content:""}.fa-sort-desc:before,.fa-sort-down:before{content:""}.fa-sort-asc:before,.fa-sort-up:before{content:""}.fa-envelope:before{content:""}.fa-linkedin:before{content:""}.fa-rotate-left:before,.fa-undo:before{content:""}.fa-gavel:before,.fa-legal:before{content:""}.fa-dashboard:before,.fa-tachometer:before{content:""}.fa-comment-o:before{content:""}.fa-comments-o:before{content:""}.fa-bolt:before,.fa-flash:before{content:""}.fa-sitemap:before{content:""}.fa-umbrella:before{content:""}.fa-clipboard:before,.fa-paste:before{content:""}.fa-lightbulb-o:before{content:""}.fa-exchange:before{content:""}.fa-cloud-download:before{content:""}.fa-cloud-upload:before{content:""}.fa-user-md:before{content:""}.fa-stethoscope:before{content:""}.fa-suitcase:before{content:""}.fa-bell-o:before{content:""}.fa-coffee:before{content:""}.fa-cutlery:before{content:""}.fa-file-text-o:before{content:""}.fa-building-o:before{content:""}.fa-hospital-o:before{content:""}.fa-ambulance:before{content:""}.fa-medkit:before{content:""}.fa-fighter-jet:before{content:""}.fa-beer:before{content:""}.fa-h-square:before{content:""}.fa-plus-square:before{content:""}.fa-angle-double-left:before{content:""}.fa-angle-double-right:before{content:""}.fa-angle-double-up:before{content:""}.fa-angle-double-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-down:before{content:""}.fa-desktop:before{content:""}.fa-laptop:before{content:""}.fa-tablet:before{content:""}.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-circle-o:before{content:""}.fa-quote-left:before{content:""}.fa-quote-right:before{content:""}.fa-spinner:before{content:""}.fa-circle:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-github-alt:before{content:""}.fa-folder-o:before{content:""}.fa-folder-open-o:before{content:""}.fa-smile-o:before{content:""}.fa-frown-o:before{content:""}.fa-meh-o:before{content:""}.fa-gamepad:before{content:""}.fa-keyboard-o:before{content:""}.fa-flag-o:before{content:""}.fa-flag-checkered:before{content:""}.fa-terminal:before{content:""}.fa-code:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:""}.fa-location-arrow:before{content:""}.fa-crop:before{content:""}.fa-code-fork:before{content:""}.fa-chain-broken:before,.fa-unlink:before{content:""}.fa-question:before{content:""}.fa-info:before{content:""}.fa-exclamation:before{content:""}.fa-superscript:before{content:""}.fa-subscript:before{content:""}.fa-eraser:before{content:""}.fa-puzzle-piece:before{content:""}.fa-microphone:before{content:""}.fa-microphone-slash:before{content:""}.fa-shield:before{content:""}.fa-calendar-o:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-rocket:before{content:""}.fa-maxcdn:before{content:""}.fa-chevron-circle-left:before{content:""}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-html5:before{content:""}.fa-css3:before{content:""}.fa-anchor:before{content:""}.fa-unlock-alt:before{content:""}.fa-bullseye:before{content:""}.fa-ellipsis-h:before{content:""}.fa-ellipsis-v:before{content:""}.fa-rss-square:before{content:""}.fa-play-circle:before{content:""}.fa-ticket:before{content:""}.fa-minus-square:before{content:""}.fa-minus-square-o:before,.wy-menu-vertical li.current>a button.toctree-expand:before,.wy-menu-vertical li.on a button.toctree-expand:before{content:""}.fa-level-up:before{content:""}.fa-level-down:before{content:""}.fa-check-square:before{content:""}.fa-pencil-square:before{content:""}.fa-external-link-square:before{content:""}.fa-share-square:before{content:""}.fa-compass:before{content:""}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:""}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:""}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:""}.fa-eur:before,.fa-euro:before{content:""}.fa-gbp:before{content:""}.fa-dollar:before,.fa-usd:before{content:""}.fa-inr:before,.fa-rupee:before{content:""}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:""}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:""}.fa-krw:before,.fa-won:before{content:""}.fa-bitcoin:before,.fa-btc:before{content:""}.fa-file:before{content:""}.fa-file-text:before{content:""}.fa-sort-alpha-asc:before{content:""}.fa-sort-alpha-desc:before{content:""}.fa-sort-amount-asc:before{content:""}.fa-sort-amount-desc:before{content:""}.fa-sort-numeric-asc:before{content:""}.fa-sort-numeric-desc:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumbs-down:before{content:""}.fa-youtube-square:before{content:""}.fa-youtube:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-youtube-play:before{content:""}.fa-dropbox:before{content:""}.fa-stack-overflow:before{content:""}.fa-instagram:before{content:""}.fa-flickr:before{content:""}.fa-adn:before{content:""}.fa-bitbucket:before,.icon-bitbucket:before{content:""}.fa-bitbucket-square:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-long-arrow-down:before{content:""}.fa-long-arrow-up:before{content:""}.fa-long-arrow-left:before{content:""}.fa-long-arrow-right:before{content:""}.fa-apple:before{content:""}.fa-windows:before{content:""}.fa-android:before{content:""}.fa-linux:before{content:""}.fa-dribbble:before{content:""}.fa-skype:before{content:""}.fa-foursquare:before{content:""}.fa-trello:before{content:""}.fa-female:before{content:""}.fa-male:before{content:""}.fa-gittip:before,.fa-gratipay:before{content:""}.fa-sun-o:before{content:""}.fa-moon-o:before{content:""}.fa-archive:before{content:""}.fa-bug:before{content:""}.fa-vk:before{content:""}.fa-weibo:before{content:""}.fa-renren:before{content:""}.fa-pagelines:before{content:""}.fa-stack-exchange:before{content:""}.fa-arrow-circle-o-right:before{content:""}.fa-arrow-circle-o-left:before{content:""}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:""}.fa-dot-circle-o:before{content:""}.fa-wheelchair:before{content:""}.fa-vimeo-square:before{content:""}.fa-try:before,.fa-turkish-lira:before{content:""}.fa-plus-square-o:before,.wy-menu-vertical li button.toctree-expand:before{content:""}.fa-space-shuttle:before{content:""}.fa-slack:before{content:""}.fa-envelope-square:before{content:""}.fa-wordpress:before{content:""}.fa-openid:before{content:""}.fa-bank:before,.fa-institution:before,.fa-university:before{content:""}.fa-graduation-cap:before,.fa-mortar-board:before{content:""}.fa-yahoo:before{content:""}.fa-google:before{content:""}.fa-reddit:before{content:""}.fa-reddit-square:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-stumbleupon:before{content:""}.fa-delicious:before{content:""}.fa-digg:before{content:""}.fa-pied-piper-pp:before{content:""}.fa-pied-piper-alt:before{content:""}.fa-drupal:before{content:""}.fa-joomla:before{content:""}.fa-language:before{content:""}.fa-fax:before{content:""}.fa-building:before{content:""}.fa-child:before{content:""}.fa-paw:before{content:""}.fa-spoon:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-recycle:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-tree:before{content:""}.fa-spotify:before{content:""}.fa-deviantart:before{content:""}.fa-soundcloud:before{content:""}.fa-database:before{content:""}.fa-file-pdf-o:before{content:""}.fa-file-word-o:before{content:""}.fa-file-excel-o:before{content:""}.fa-file-powerpoint-o:before{content:""}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:""}.fa-file-archive-o:before,.fa-file-zip-o:before{content:""}.fa-file-audio-o:before,.fa-file-sound-o:before{content:""}.fa-file-movie-o:before,.fa-file-video-o:before{content:""}.fa-file-code-o:before{content:""}.fa-vine:before{content:""}.fa-codepen:before{content:""}.fa-jsfiddle:before{content:""}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:""}.fa-circle-o-notch:before{content:""}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:""}.fa-empire:before,.fa-ge:before{content:""}.fa-git-square:before{content:""}.fa-git:before{content:""}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:""}.fa-tencent-weibo:before{content:""}.fa-qq:before{content:""}.fa-wechat:before,.fa-weixin:before{content:""}.fa-paper-plane:before,.fa-send:before{content:""}.fa-paper-plane-o:before,.fa-send-o:before{content:""}.fa-history:before{content:""}.fa-circle-thin:before{content:""}.fa-header:before{content:""}.fa-paragraph:before{content:""}.fa-sliders:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-bomb:before{content:""}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:""}.fa-tty:before{content:""}.fa-binoculars:before{content:""}.fa-plug:before{content:""}.fa-slideshare:before{content:""}.fa-twitch:before{content:""}.fa-yelp:before{content:""}.fa-newspaper-o:before{content:""}.fa-wifi:before{content:""}.fa-calculator:before{content:""}.fa-paypal:before{content:""}.fa-google-wallet:before{content:""}.fa-cc-visa:before{content:""}.fa-cc-mastercard:before{content:""}.fa-cc-discover:before{content:""}.fa-cc-amex:before{content:""}.fa-cc-paypal:before{content:""}.fa-cc-stripe:before{content:""}.fa-bell-slash:before{content:""}.fa-bell-slash-o:before{content:""}.fa-trash:before{content:""}.fa-copyright:before{content:""}.fa-at:before{content:""}.fa-eyedropper:before{content:""}.fa-paint-brush:before{content:""}.fa-birthday-cake:before{content:""}.fa-area-chart:before{content:""}.fa-pie-chart:before{content:""}.fa-line-chart:before{content:""}.fa-lastfm:before{content:""}.fa-lastfm-square:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-bicycle:before{content:""}.fa-bus:before{content:""}.fa-ioxhost:before{content:""}.fa-angellist:before{content:""}.fa-cc:before{content:""}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:""}.fa-meanpath:before{content:""}.fa-buysellads:before{content:""}.fa-connectdevelop:before{content:""}.fa-dashcube:before{content:""}.fa-forumbee:before{content:""}.fa-leanpub:before{content:""}.fa-sellsy:before{content:""}.fa-shirtsinbulk:before{content:""}.fa-simplybuilt:before{content:""}.fa-skyatlas:before{content:""}.fa-cart-plus:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-diamond:before{content:""}.fa-ship:before{content:""}.fa-user-secret:before{content:""}.fa-motorcycle:before{content:""}.fa-street-view:before{content:""}.fa-heartbeat:before{content:""}.fa-venus:before{content:""}.fa-mars:before{content:""}.fa-mercury:before{content:""}.fa-intersex:before,.fa-transgender:before{content:""}.fa-transgender-alt:before{content:""}.fa-venus-double:before{content:""}.fa-mars-double:before{content:""}.fa-venus-mars:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-v:before{content:""}.fa-mars-stroke-h:before{content:""}.fa-neuter:before{content:""}.fa-genderless:before{content:""}.fa-facebook-official:before{content:""}.fa-pinterest-p:before{content:""}.fa-whatsapp:before{content:""}.fa-server:before{content:""}.fa-user-plus:before{content:""}.fa-user-times:before{content:""}.fa-bed:before,.fa-hotel:before{content:""}.fa-viacoin:before{content:""}.fa-train:before{content:""}.fa-subway:before{content:""}.fa-medium:before{content:""}.fa-y-combinator:before,.fa-yc:before{content:""}.fa-optin-monster:before{content:""}.fa-opencart:before{content:""}.fa-expeditedssl:before{content:""}.fa-battery-4:before,.fa-battery-full:before,.fa-battery:before{content:""}.fa-battery-3:before,.fa-battery-three-quarters:before{content:""}.fa-battery-2:before,.fa-battery-half:before{content:""}.fa-battery-1:before,.fa-battery-quarter:before{content:""}.fa-battery-0:before,.fa-battery-empty:before{content:""}.fa-mouse-pointer:before{content:""}.fa-i-cursor:before{content:""}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-sticky-note:before{content:""}.fa-sticky-note-o:before{content:""}.fa-cc-jcb:before{content:""}.fa-cc-diners-club:before{content:""}.fa-clone:before{content:""}.fa-balance-scale:before{content:""}.fa-hourglass-o:before{content:""}.fa-hourglass-1:before,.fa-hourglass-start:before{content:""}.fa-hourglass-2:before,.fa-hourglass-half:before{content:""}.fa-hourglass-3:before,.fa-hourglass-end:before{content:""}.fa-hourglass:before{content:""}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:""}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:""}.fa-hand-scissors-o:before{content:""}.fa-hand-lizard-o:before{content:""}.fa-hand-spock-o:before{content:""}.fa-hand-pointer-o:before{content:""}.fa-hand-peace-o:before{content:""}.fa-trademark:before{content:""}.fa-registered:before{content:""}.fa-creative-commons:before{content:""}.fa-gg:before{content:""}.fa-gg-circle:before{content:""}.fa-tripadvisor:before{content:""}.fa-odnoklassniki:before{content:""}.fa-odnoklassniki-square:before{content:""}.fa-get-pocket:before{content:""}.fa-wikipedia-w:before{content:""}.fa-safari:before{content:""}.fa-chrome:before{content:""}.fa-firefox:before{content:""}.fa-opera:before{content:""}.fa-internet-explorer:before{content:""}.fa-television:before,.fa-tv:before{content:""}.fa-contao:before{content:""}.fa-500px:before{content:""}.fa-amazon:before{content:""}.fa-calendar-plus-o:before{content:""}.fa-calendar-minus-o:before{content:""}.fa-calendar-times-o:before{content:""}.fa-calendar-check-o:before{content:""}.fa-industry:before{content:""}.fa-map-pin:before{content:""}.fa-map-signs:before{content:""}.fa-map-o:before{content:""}.fa-map:before{content:""}.fa-commenting:before{content:""}.fa-commenting-o:before{content:""}.fa-houzz:before{content:""}.fa-vimeo:before{content:""}.fa-black-tie:before{content:""}.fa-fonticons:before{content:""}.fa-reddit-alien:before{content:""}.fa-edge:before{content:""}.fa-credit-card-alt:before{content:""}.fa-codiepie:before{content:""}.fa-modx:before{content:""}.fa-fort-awesome:before{content:""}.fa-usb:before{content:""}.fa-product-hunt:before{content:""}.fa-mixcloud:before{content:""}.fa-scribd:before{content:""}.fa-pause-circle:before{content:""}.fa-pause-circle-o:before{content:""}.fa-stop-circle:before{content:""}.fa-stop-circle-o:before{content:""}.fa-shopping-bag:before{content:""}.fa-shopping-basket:before{content:""}.fa-hashtag:before{content:""}.fa-bluetooth:before{content:""}.fa-bluetooth-b:before{content:""}.fa-percent:before{content:""}.fa-gitlab:before,.icon-gitlab:before{content:""}.fa-wpbeginner:before{content:""}.fa-wpforms:before{content:""}.fa-envira:before{content:""}.fa-universal-access:before{content:""}.fa-wheelchair-alt:before{content:""}.fa-question-circle-o:before{content:""}.fa-blind:before{content:""}.fa-audio-description:before{content:""}.fa-volume-control-phone:before{content:""}.fa-braille:before{content:""}.fa-assistive-listening-systems:before{content:""}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:""}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:""}.fa-glide:before{content:""}.fa-glide-g:before{content:""}.fa-sign-language:before,.fa-signing:before{content:""}.fa-low-vision:before{content:""}.fa-viadeo:before{content:""}.fa-viadeo-square:before{content:""}.fa-snapchat:before{content:""}.fa-snapchat-ghost:before{content:""}.fa-snapchat-square:before{content:""}.fa-pied-piper:before{content:""}.fa-first-order:before{content:""}.fa-yoast:before{content:""}.fa-themeisle:before{content:""}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:""}.fa-fa:before,.fa-font-awesome:before{content:""}.fa-handshake-o:before{content:""}.fa-envelope-open:before{content:""}.fa-envelope-open-o:before{content:""}.fa-linode:before{content:""}.fa-address-book:before{content:""}.fa-address-book-o:before{content:""}.fa-address-card:before,.fa-vcard:before{content:""}.fa-address-card-o:before,.fa-vcard-o:before{content:""}.fa-user-circle:before{content:""}.fa-user-circle-o:before{content:""}.fa-user-o:before{content:""}.fa-id-badge:before{content:""}.fa-drivers-license:before,.fa-id-card:before{content:""}.fa-drivers-license-o:before,.fa-id-card-o:before{content:""}.fa-quora:before{content:""}.fa-free-code-camp:before{content:""}.fa-telegram:before{content:""}.fa-thermometer-4:before,.fa-thermometer-full:before,.fa-thermometer:before{content:""}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:""}.fa-thermometer-2:before,.fa-thermometer-half:before{content:""}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:""}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:""}.fa-shower:before{content:""}.fa-bath:before,.fa-bathtub:before,.fa-s15:before{content:""}.fa-podcast:before{content:""}.fa-window-maximize:before{content:""}.fa-window-minimize:before{content:""}.fa-window-restore:before{content:""}.fa-times-rectangle:before,.fa-window-close:before{content:""}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:""}.fa-bandcamp:before{content:""}.fa-grav:before{content:""}.fa-etsy:before{content:""}.fa-imdb:before{content:""}.fa-ravelry:before{content:""}.fa-eercast:before{content:""}.fa-microchip:before{content:""}.fa-snowflake-o:before{content:""}.fa-superpowers:before{content:""}.fa-wpexplorer:before{content:""}.fa-meetup:before{content:""}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.fa,.icon,.rst-content .admonition-title,.rst-content .code-block-caption .headerlink,.rst-content .eqno .headerlink,.rst-content code.download span:first-child,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content p .headerlink,.rst-content table>caption .headerlink,.rst-content tt.download span:first-child,.wy-dropdown .caret,.wy-inline-validate.wy-inline-validate-danger .wy-input-context,.wy-inline-validate.wy-inline-validate-info .wy-input-context,.wy-inline-validate.wy-inline-validate-success .wy-input-context,.wy-inline-validate.wy-inline-validate-warning .wy-input-context,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li button.toctree-expand{font-family:inherit}.fa:before,.icon:before,.rst-content .admonition-title:before,.rst-content .code-block-caption .headerlink:before,.rst-content .eqno .headerlink:before,.rst-content code.download span:first-child:before,.rst-content dl dt .headerlink:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content p .headerlink:before,.rst-content table>caption .headerlink:before,.rst-content tt.download span:first-child:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-menu-vertical li.current>a button.toctree-expand:before,.wy-menu-vertical li.on a button.toctree-expand:before,.wy-menu-vertical li button.toctree-expand:before{font-family:FontAwesome;display:inline-block;font-style:normal;font-weight:400;line-height:1;text-decoration:inherit}.rst-content .code-block-caption a .headerlink,.rst-content .eqno a .headerlink,.rst-content a .admonition-title,.rst-content code.download a span:first-child,.rst-content dl dt a .headerlink,.rst-content h1 a .headerlink,.rst-content h2 a .headerlink,.rst-content h3 a .headerlink,.rst-content h4 a .headerlink,.rst-content h5 a .headerlink,.rst-content h6 a .headerlink,.rst-content p.caption a .headerlink,.rst-content p a .headerlink,.rst-content table>caption a .headerlink,.rst-content tt.download a span:first-child,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li a button.toctree-expand,a .fa,a .icon,a .rst-content .admonition-title,a .rst-content .code-block-caption .headerlink,a .rst-content .eqno .headerlink,a .rst-content code.download span:first-child,a .rst-content dl dt .headerlink,a .rst-content h1 .headerlink,a .rst-content h2 .headerlink,a .rst-content h3 .headerlink,a .rst-content h4 .headerlink,a .rst-content h5 .headerlink,a .rst-content h6 .headerlink,a .rst-content p.caption .headerlink,a .rst-content p .headerlink,a .rst-content table>caption .headerlink,a .rst-content tt.download span:first-child,a .wy-menu-vertical li button.toctree-expand{display:inline-block;text-decoration:inherit}.btn .fa,.btn .icon,.btn .rst-content .admonition-title,.btn .rst-content .code-block-caption .headerlink,.btn .rst-content .eqno .headerlink,.btn .rst-content code.download span:first-child,.btn .rst-content dl dt .headerlink,.btn .rst-content h1 .headerlink,.btn .rst-content h2 .headerlink,.btn .rst-content h3 .headerlink,.btn .rst-content h4 .headerlink,.btn .rst-content h5 .headerlink,.btn .rst-content h6 .headerlink,.btn .rst-content p .headerlink,.btn .rst-content table>caption .headerlink,.btn .rst-content tt.download span:first-child,.btn .wy-menu-vertical li.current>a button.toctree-expand,.btn .wy-menu-vertical li.on a button.toctree-expand,.btn .wy-menu-vertical li button.toctree-expand,.nav .fa,.nav .icon,.nav .rst-content .admonition-title,.nav .rst-content .code-block-caption .headerlink,.nav .rst-content .eqno .headerlink,.nav .rst-content code.download span:first-child,.nav .rst-content dl dt .headerlink,.nav .rst-content h1 .headerlink,.nav .rst-content h2 .headerlink,.nav .rst-content h3 .headerlink,.nav .rst-content h4 .headerlink,.nav .rst-content h5 .headerlink,.nav .rst-content h6 .headerlink,.nav .rst-content p .headerlink,.nav .rst-content table>caption .headerlink,.nav .rst-content tt.download span:first-child,.nav .wy-menu-vertical li.current>a button.toctree-expand,.nav .wy-menu-vertical li.on a button.toctree-expand,.nav .wy-menu-vertical li button.toctree-expand,.rst-content .btn .admonition-title,.rst-content .code-block-caption .btn .headerlink,.rst-content .code-block-caption .nav .headerlink,.rst-content .eqno .btn .headerlink,.rst-content .eqno .nav .headerlink,.rst-content .nav .admonition-title,.rst-content code.download .btn span:first-child,.rst-content code.download .nav span:first-child,.rst-content dl dt .btn .headerlink,.rst-content dl dt .nav .headerlink,.rst-content h1 .btn .headerlink,.rst-content h1 .nav .headerlink,.rst-content h2 .btn .headerlink,.rst-content h2 .nav .headerlink,.rst-content h3 .btn .headerlink,.rst-content h3 .nav .headerlink,.rst-content h4 .btn .headerlink,.rst-content h4 .nav .headerlink,.rst-content h5 .btn .headerlink,.rst-content h5 .nav .headerlink,.rst-content h6 .btn .headerlink,.rst-content h6 .nav .headerlink,.rst-content p .btn .headerlink,.rst-content p .nav .headerlink,.rst-content table>caption .btn .headerlink,.rst-content table>caption .nav .headerlink,.rst-content tt.download .btn span:first-child,.rst-content tt.download .nav span:first-child,.wy-menu-vertical li .btn button.toctree-expand,.wy-menu-vertical li.current>a .btn button.toctree-expand,.wy-menu-vertical li.current>a .nav button.toctree-expand,.wy-menu-vertical li .nav button.toctree-expand,.wy-menu-vertical li.on a .btn button.toctree-expand,.wy-menu-vertical li.on a .nav button.toctree-expand{display:inline}.btn .fa-large.icon,.btn .fa.fa-large,.btn .rst-content .code-block-caption .fa-large.headerlink,.btn .rst-content .eqno .fa-large.headerlink,.btn .rst-content .fa-large.admonition-title,.btn .rst-content code.download span.fa-large:first-child,.btn .rst-content dl dt .fa-large.headerlink,.btn .rst-content h1 .fa-large.headerlink,.btn .rst-content h2 .fa-large.headerlink,.btn .rst-content h3 .fa-large.headerlink,.btn .rst-content h4 .fa-large.headerlink,.btn .rst-content h5 .fa-large.headerlink,.btn .rst-content h6 .fa-large.headerlink,.btn .rst-content p .fa-large.headerlink,.btn .rst-content table>caption .fa-large.headerlink,.btn .rst-content tt.download span.fa-large:first-child,.btn .wy-menu-vertical li button.fa-large.toctree-expand,.nav .fa-large.icon,.nav .fa.fa-large,.nav .rst-content .code-block-caption .fa-large.headerlink,.nav .rst-content .eqno .fa-large.headerlink,.nav .rst-content .fa-large.admonition-title,.nav .rst-content code.download span.fa-large:first-child,.nav .rst-content dl dt .fa-large.headerlink,.nav .rst-content h1 .fa-large.headerlink,.nav .rst-content h2 .fa-large.headerlink,.nav .rst-content h3 .fa-large.headerlink,.nav .rst-content h4 .fa-large.headerlink,.nav .rst-content h5 .fa-large.headerlink,.nav .rst-content h6 .fa-large.headerlink,.nav .rst-content p .fa-large.headerlink,.nav .rst-content table>caption .fa-large.headerlink,.nav .rst-content tt.download span.fa-large:first-child,.nav .wy-menu-vertical li button.fa-large.toctree-expand,.rst-content .btn .fa-large.admonition-title,.rst-content .code-block-caption .btn .fa-large.headerlink,.rst-content .code-block-caption .nav .fa-large.headerlink,.rst-content .eqno .btn .fa-large.headerlink,.rst-content .eqno .nav .fa-large.headerlink,.rst-content .nav .fa-large.admonition-title,.rst-content code.download .btn span.fa-large:first-child,.rst-content code.download .nav span.fa-large:first-child,.rst-content dl dt .btn .fa-large.headerlink,.rst-content dl dt .nav .fa-large.headerlink,.rst-content h1 .btn .fa-large.headerlink,.rst-content h1 .nav .fa-large.headerlink,.rst-content h2 .btn .fa-large.headerlink,.rst-content h2 .nav .fa-large.headerlink,.rst-content h3 .btn .fa-large.headerlink,.rst-content h3 .nav .fa-large.headerlink,.rst-content h4 .btn .fa-large.headerlink,.rst-content h4 .nav .fa-large.headerlink,.rst-content h5 .btn .fa-large.headerlink,.rst-content h5 .nav .fa-large.headerlink,.rst-content h6 .btn .fa-large.headerlink,.rst-content h6 .nav .fa-large.headerlink,.rst-content p .btn .fa-large.headerlink,.rst-content p .nav .fa-large.headerlink,.rst-content table>caption .btn .fa-large.headerlink,.rst-content table>caption .nav .fa-large.headerlink,.rst-content tt.download .btn span.fa-large:first-child,.rst-content tt.download .nav span.fa-large:first-child,.wy-menu-vertical li .btn button.fa-large.toctree-expand,.wy-menu-vertical li .nav button.fa-large.toctree-expand{line-height:.9em}.btn .fa-spin.icon,.btn .fa.fa-spin,.btn .rst-content .code-block-caption .fa-spin.headerlink,.btn .rst-content .eqno .fa-spin.headerlink,.btn .rst-content .fa-spin.admonition-title,.btn .rst-content code.download span.fa-spin:first-child,.btn .rst-content dl dt .fa-spin.headerlink,.btn .rst-content h1 .fa-spin.headerlink,.btn .rst-content h2 .fa-spin.headerlink,.btn .rst-content h3 .fa-spin.headerlink,.btn .rst-content h4 .fa-spin.headerlink,.btn .rst-content h5 .fa-spin.headerlink,.btn .rst-content h6 .fa-spin.headerlink,.btn .rst-content p .fa-spin.headerlink,.btn .rst-content table>caption .fa-spin.headerlink,.btn .rst-content tt.download span.fa-spin:first-child,.btn .wy-menu-vertical li button.fa-spin.toctree-expand,.nav .fa-spin.icon,.nav .fa.fa-spin,.nav .rst-content .code-block-caption .fa-spin.headerlink,.nav .rst-content .eqno .fa-spin.headerlink,.nav .rst-content .fa-spin.admonition-title,.nav .rst-content code.download span.fa-spin:first-child,.nav .rst-content dl dt .fa-spin.headerlink,.nav .rst-content h1 .fa-spin.headerlink,.nav .rst-content h2 .fa-spin.headerlink,.nav .rst-content h3 .fa-spin.headerlink,.nav .rst-content h4 .fa-spin.headerlink,.nav .rst-content h5 .fa-spin.headerlink,.nav .rst-content h6 .fa-spin.headerlink,.nav .rst-content p .fa-spin.headerlink,.nav .rst-content table>caption .fa-spin.headerlink,.nav .rst-content tt.download span.fa-spin:first-child,.nav .wy-menu-vertical li button.fa-spin.toctree-expand,.rst-content .btn .fa-spin.admonition-title,.rst-content .code-block-caption .btn .fa-spin.headerlink,.rst-content .code-block-caption .nav .fa-spin.headerlink,.rst-content .eqno .btn .fa-spin.headerlink,.rst-content .eqno .nav .fa-spin.headerlink,.rst-content .nav .fa-spin.admonition-title,.rst-content code.download .btn span.fa-spin:first-child,.rst-content code.download .nav span.fa-spin:first-child,.rst-content dl dt .btn .fa-spin.headerlink,.rst-content dl dt .nav .fa-spin.headerlink,.rst-content h1 .btn .fa-spin.headerlink,.rst-content h1 .nav .fa-spin.headerlink,.rst-content h2 .btn .fa-spin.headerlink,.rst-content h2 .nav .fa-spin.headerlink,.rst-content h3 .btn .fa-spin.headerlink,.rst-content h3 .nav .fa-spin.headerlink,.rst-content h4 .btn .fa-spin.headerlink,.rst-content h4 .nav .fa-spin.headerlink,.rst-content h5 .btn .fa-spin.headerlink,.rst-content h5 .nav .fa-spin.headerlink,.rst-content h6 .btn .fa-spin.headerlink,.rst-content h6 .nav .fa-spin.headerlink,.rst-content p .btn .fa-spin.headerlink,.rst-content p .nav .fa-spin.headerlink,.rst-content table>caption .btn .fa-spin.headerlink,.rst-content table>caption .nav .fa-spin.headerlink,.rst-content tt.download .btn span.fa-spin:first-child,.rst-content tt.download .nav span.fa-spin:first-child,.wy-menu-vertical li .btn button.fa-spin.toctree-expand,.wy-menu-vertical li .nav button.fa-spin.toctree-expand{display:inline-block}.btn.fa:before,.btn.icon:before,.rst-content .btn.admonition-title:before,.rst-content .code-block-caption .btn.headerlink:before,.rst-content .eqno .btn.headerlink:before,.rst-content code.download span.btn:first-child:before,.rst-content dl dt .btn.headerlink:before,.rst-content h1 .btn.headerlink:before,.rst-content h2 .btn.headerlink:before,.rst-content h3 .btn.headerlink:before,.rst-content h4 .btn.headerlink:before,.rst-content h5 .btn.headerlink:before,.rst-content h6 .btn.headerlink:before,.rst-content p .btn.headerlink:before,.rst-content table>caption .btn.headerlink:before,.rst-content tt.download span.btn:first-child:before,.wy-menu-vertical li button.btn.toctree-expand:before{opacity:.5;-webkit-transition:opacity .05s ease-in;-moz-transition:opacity .05s ease-in;transition:opacity .05s ease-in}.btn.fa:hover:before,.btn.icon:hover:before,.rst-content .btn.admonition-title:hover:before,.rst-content .code-block-caption .btn.headerlink:hover:before,.rst-content .eqno .btn.headerlink:hover:before,.rst-content code.download span.btn:first-child:hover:before,.rst-content dl dt .btn.headerlink:hover:before,.rst-content h1 .btn.headerlink:hover:before,.rst-content h2 .btn.headerlink:hover:before,.rst-content h3 .btn.headerlink:hover:before,.rst-content h4 .btn.headerlink:hover:before,.rst-content h5 .btn.headerlink:hover:before,.rst-content h6 .btn.headerlink:hover:before,.rst-content p .btn.headerlink:hover:before,.rst-content table>caption .btn.headerlink:hover:before,.rst-content tt.download span.btn:first-child:hover:before,.wy-menu-vertical li button.btn.toctree-expand:hover:before{opacity:1}.btn-mini .fa:before,.btn-mini .icon:before,.btn-mini .rst-content .admonition-title:before,.btn-mini .rst-content .code-block-caption .headerlink:before,.btn-mini .rst-content .eqno .headerlink:before,.btn-mini .rst-content code.download span:first-child:before,.btn-mini .rst-content dl dt .headerlink:before,.btn-mini .rst-content h1 .headerlink:before,.btn-mini .rst-content h2 .headerlink:before,.btn-mini .rst-content h3 .headerlink:before,.btn-mini .rst-content h4 .headerlink:before,.btn-mini .rst-content h5 .headerlink:before,.btn-mini .rst-content h6 .headerlink:before,.btn-mini .rst-content p .headerlink:before,.btn-mini .rst-content table>caption .headerlink:before,.btn-mini .rst-content tt.download span:first-child:before,.btn-mini .wy-menu-vertical li button.toctree-expand:before,.rst-content .btn-mini .admonition-title:before,.rst-content .code-block-caption .btn-mini .headerlink:before,.rst-content .eqno .btn-mini .headerlink:before,.rst-content code.download .btn-mini span:first-child:before,.rst-content dl dt .btn-mini .headerlink:before,.rst-content h1 .btn-mini .headerlink:before,.rst-content h2 .btn-mini .headerlink:before,.rst-content h3 .btn-mini .headerlink:before,.rst-content h4 .btn-mini .headerlink:before,.rst-content h5 .btn-mini .headerlink:before,.rst-content h6 .btn-mini .headerlink:before,.rst-content p .btn-mini .headerlink:before,.rst-content table>caption .btn-mini .headerlink:before,.rst-content tt.download .btn-mini span:first-child:before,.wy-menu-vertical li .btn-mini button.toctree-expand:before{font-size:14px;vertical-align:-15%}.rst-content .admonition,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning,.wy-alert{padding:12px;line-height:24px;margin-bottom:24px;background:#e7f2fa}.rst-content .admonition-title,.wy-alert-title{font-weight:700;display:block;color:#fff;background:#6ab0de;padding:6px 12px;margin:-12px -12px 12px}.rst-content .danger,.rst-content .error,.rst-content .wy-alert-danger.admonition,.rst-content .wy-alert-danger.admonition-todo,.rst-content .wy-alert-danger.attention,.rst-content .wy-alert-danger.caution,.rst-content .wy-alert-danger.hint,.rst-content .wy-alert-danger.important,.rst-content .wy-alert-danger.note,.rst-content .wy-alert-danger.seealso,.rst-content .wy-alert-danger.tip,.rst-content .wy-alert-danger.warning,.wy-alert.wy-alert-danger{background:#fdf3f2}.rst-content .danger .admonition-title,.rst-content .danger .wy-alert-title,.rst-content .error .admonition-title,.rst-content .error .wy-alert-title,.rst-content .wy-alert-danger.admonition-todo .admonition-title,.rst-content .wy-alert-danger.admonition-todo .wy-alert-title,.rst-content .wy-alert-danger.admonition .admonition-title,.rst-content .wy-alert-danger.admonition .wy-alert-title,.rst-content .wy-alert-danger.attention .admonition-title,.rst-content .wy-alert-danger.attention .wy-alert-title,.rst-content .wy-alert-danger.caution .admonition-title,.rst-content .wy-alert-danger.caution .wy-alert-title,.rst-content .wy-alert-danger.hint .admonition-title,.rst-content .wy-alert-danger.hint .wy-alert-title,.rst-content .wy-alert-danger.important .admonition-title,.rst-content .wy-alert-danger.important .wy-alert-title,.rst-content .wy-alert-danger.note .admonition-title,.rst-content .wy-alert-danger.note .wy-alert-title,.rst-content .wy-alert-danger.seealso .admonition-title,.rst-content .wy-alert-danger.seealso .wy-alert-title,.rst-content .wy-alert-danger.tip .admonition-title,.rst-content .wy-alert-danger.tip .wy-alert-title,.rst-content .wy-alert-danger.warning .admonition-title,.rst-content .wy-alert-danger.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-danger .admonition-title,.wy-alert.wy-alert-danger .rst-content .admonition-title,.wy-alert.wy-alert-danger .wy-alert-title{background:#f29f97}.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .warning,.rst-content .wy-alert-warning.admonition,.rst-content .wy-alert-warning.danger,.rst-content .wy-alert-warning.error,.rst-content .wy-alert-warning.hint,.rst-content .wy-alert-warning.important,.rst-content .wy-alert-warning.note,.rst-content .wy-alert-warning.seealso,.rst-content .wy-alert-warning.tip,.wy-alert.wy-alert-warning{background:#ffedcc}.rst-content .admonition-todo .admonition-title,.rst-content .admonition-todo .wy-alert-title,.rst-content .attention .admonition-title,.rst-content .attention .wy-alert-title,.rst-content .caution .admonition-title,.rst-content .caution .wy-alert-title,.rst-content .warning .admonition-title,.rst-content .warning .wy-alert-title,.rst-content .wy-alert-warning.admonition .admonition-title,.rst-content .wy-alert-warning.admonition .wy-alert-title,.rst-content .wy-alert-warning.danger .admonition-title,.rst-content .wy-alert-warning.danger .wy-alert-title,.rst-content .wy-alert-warning.error .admonition-title,.rst-content .wy-alert-warning.error .wy-alert-title,.rst-content .wy-alert-warning.hint .admonition-title,.rst-content .wy-alert-warning.hint .wy-alert-title,.rst-content .wy-alert-warning.important .admonition-title,.rst-content .wy-alert-warning.important .wy-alert-title,.rst-content .wy-alert-warning.note .admonition-title,.rst-content .wy-alert-warning.note .wy-alert-title,.rst-content .wy-alert-warning.seealso .admonition-title,.rst-content .wy-alert-warning.seealso .wy-alert-title,.rst-content .wy-alert-warning.tip .admonition-title,.rst-content .wy-alert-warning.tip .wy-alert-title,.rst-content .wy-alert.wy-alert-warning .admonition-title,.wy-alert.wy-alert-warning .rst-content .admonition-title,.wy-alert.wy-alert-warning .wy-alert-title{background:#f0b37e}.rst-content .note,.rst-content .seealso,.rst-content .wy-alert-info.admonition,.rst-content .wy-alert-info.admonition-todo,.rst-content .wy-alert-info.attention,.rst-content .wy-alert-info.caution,.rst-content .wy-alert-info.danger,.rst-content .wy-alert-info.error,.rst-content .wy-alert-info.hint,.rst-content .wy-alert-info.important,.rst-content .wy-alert-info.tip,.rst-content .wy-alert-info.warning,.wy-alert.wy-alert-info{background:#e7f2fa}.rst-content .note .admonition-title,.rst-content .note .wy-alert-title,.rst-content .seealso .admonition-title,.rst-content .seealso .wy-alert-title,.rst-content .wy-alert-info.admonition-todo .admonition-title,.rst-content .wy-alert-info.admonition-todo .wy-alert-title,.rst-content .wy-alert-info.admonition .admonition-title,.rst-content .wy-alert-info.admonition .wy-alert-title,.rst-content .wy-alert-info.attention .admonition-title,.rst-content .wy-alert-info.attention .wy-alert-title,.rst-content .wy-alert-info.caution .admonition-title,.rst-content .wy-alert-info.caution .wy-alert-title,.rst-content .wy-alert-info.danger .admonition-title,.rst-content .wy-alert-info.danger .wy-alert-title,.rst-content .wy-alert-info.error .admonition-title,.rst-content .wy-alert-info.error .wy-alert-title,.rst-content .wy-alert-info.hint .admonition-title,.rst-content .wy-alert-info.hint .wy-alert-title,.rst-content .wy-alert-info.important .admonition-title,.rst-content .wy-alert-info.important .wy-alert-title,.rst-content .wy-alert-info.tip .admonition-title,.rst-content .wy-alert-info.tip .wy-alert-title,.rst-content .wy-alert-info.warning .admonition-title,.rst-content .wy-alert-info.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-info .admonition-title,.wy-alert.wy-alert-info .rst-content .admonition-title,.wy-alert.wy-alert-info .wy-alert-title{background:#6ab0de}.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .wy-alert-success.admonition,.rst-content .wy-alert-success.admonition-todo,.rst-content .wy-alert-success.attention,.rst-content .wy-alert-success.caution,.rst-content .wy-alert-success.danger,.rst-content .wy-alert-success.error,.rst-content .wy-alert-success.note,.rst-content .wy-alert-success.seealso,.rst-content .wy-alert-success.warning,.wy-alert.wy-alert-success{background:#dbfaf4}.rst-content .hint .admonition-title,.rst-content .hint .wy-alert-title,.rst-content .important .admonition-title,.rst-content .important .wy-alert-title,.rst-content .tip .admonition-title,.rst-content .tip .wy-alert-title,.rst-content .wy-alert-success.admonition-todo .admonition-title,.rst-content .wy-alert-success.admonition-todo .wy-alert-title,.rst-content .wy-alert-success.admonition .admonition-title,.rst-content .wy-alert-success.admonition .wy-alert-title,.rst-content .wy-alert-success.attention .admonition-title,.rst-content .wy-alert-success.attention .wy-alert-title,.rst-content .wy-alert-success.caution .admonition-title,.rst-content .wy-alert-success.caution .wy-alert-title,.rst-content .wy-alert-success.danger .admonition-title,.rst-content .wy-alert-success.danger .wy-alert-title,.rst-content .wy-alert-success.error .admonition-title,.rst-content .wy-alert-success.error .wy-alert-title,.rst-content .wy-alert-success.note .admonition-title,.rst-content .wy-alert-success.note .wy-alert-title,.rst-content .wy-alert-success.seealso .admonition-title,.rst-content .wy-alert-success.seealso .wy-alert-title,.rst-content .wy-alert-success.warning .admonition-title,.rst-content .wy-alert-success.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-success .admonition-title,.wy-alert.wy-alert-success .rst-content .admonition-title,.wy-alert.wy-alert-success .wy-alert-title{background:#1abc9c}.rst-content .wy-alert-neutral.admonition,.rst-content .wy-alert-neutral.admonition-todo,.rst-content .wy-alert-neutral.attention,.rst-content .wy-alert-neutral.caution,.rst-content .wy-alert-neutral.danger,.rst-content .wy-alert-neutral.error,.rst-content .wy-alert-neutral.hint,.rst-content .wy-alert-neutral.important,.rst-content .wy-alert-neutral.note,.rst-content .wy-alert-neutral.seealso,.rst-content .wy-alert-neutral.tip,.rst-content .wy-alert-neutral.warning,.wy-alert.wy-alert-neutral{background:#f3f6f6}.rst-content .wy-alert-neutral.admonition-todo .admonition-title,.rst-content .wy-alert-neutral.admonition-todo .wy-alert-title,.rst-content .wy-alert-neutral.admonition .admonition-title,.rst-content .wy-alert-neutral.admonition .wy-alert-title,.rst-content .wy-alert-neutral.attention .admonition-title,.rst-content .wy-alert-neutral.attention .wy-alert-title,.rst-content .wy-alert-neutral.caution .admonition-title,.rst-content .wy-alert-neutral.caution .wy-alert-title,.rst-content .wy-alert-neutral.danger .admonition-title,.rst-content .wy-alert-neutral.danger .wy-alert-title,.rst-content .wy-alert-neutral.error .admonition-title,.rst-content .wy-alert-neutral.error .wy-alert-title,.rst-content .wy-alert-neutral.hint .admonition-title,.rst-content .wy-alert-neutral.hint .wy-alert-title,.rst-content .wy-alert-neutral.important .admonition-title,.rst-content .wy-alert-neutral.important .wy-alert-title,.rst-content .wy-alert-neutral.note .admonition-title,.rst-content .wy-alert-neutral.note .wy-alert-title,.rst-content .wy-alert-neutral.seealso .admonition-title,.rst-content .wy-alert-neutral.seealso .wy-alert-title,.rst-content .wy-alert-neutral.tip .admonition-title,.rst-content .wy-alert-neutral.tip .wy-alert-title,.rst-content .wy-alert-neutral.warning .admonition-title,.rst-content .wy-alert-neutral.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-neutral .admonition-title,.wy-alert.wy-alert-neutral .rst-content .admonition-title,.wy-alert.wy-alert-neutral .wy-alert-title{color:#404040;background:#e1e4e5}.rst-content .wy-alert-neutral.admonition-todo a,.rst-content .wy-alert-neutral.admonition a,.rst-content .wy-alert-neutral.attention a,.rst-content .wy-alert-neutral.caution a,.rst-content .wy-alert-neutral.danger a,.rst-content .wy-alert-neutral.error a,.rst-content .wy-alert-neutral.hint a,.rst-content .wy-alert-neutral.important a,.rst-content .wy-alert-neutral.note a,.rst-content .wy-alert-neutral.seealso a,.rst-content .wy-alert-neutral.tip a,.rst-content .wy-alert-neutral.warning a,.wy-alert.wy-alert-neutral a{color:#2980b9}.rst-content .admonition-todo p:last-child,.rst-content .admonition p:last-child,.rst-content .attention p:last-child,.rst-content .caution p:last-child,.rst-content .danger p:last-child,.rst-content .error p:last-child,.rst-content .hint p:last-child,.rst-content .important p:last-child,.rst-content .note p:last-child,.rst-content .seealso p:last-child,.rst-content .tip p:last-child,.rst-content .warning p:last-child,.wy-alert p:last-child{margin-bottom:0}.wy-tray-container{position:fixed;bottom:0;left:0;z-index:600}.wy-tray-container li{display:block;width:300px;background:transparent;color:#fff;text-align:center;box-shadow:0 5px 5px 0 rgba(0,0,0,.1);padding:0 24px;min-width:20%;opacity:0;height:0;line-height:56px;overflow:hidden;-webkit-transition:all .3s ease-in;-moz-transition:all .3s ease-in;transition:all .3s ease-in}.wy-tray-container li.wy-tray-item-success{background:#27ae60}.wy-tray-container li.wy-tray-item-info{background:#2980b9}.wy-tray-container li.wy-tray-item-warning{background:#e67e22}.wy-tray-container li.wy-tray-item-danger{background:#e74c3c}.wy-tray-container li.on{opacity:1;height:56px}@media screen and (max-width:768px){.wy-tray-container{bottom:auto;top:0;width:100%}.wy-tray-container li{width:100%}}button{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle;cursor:pointer;line-height:normal;-webkit-appearance:button;*overflow:visible}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}button[disabled]{cursor:default}.btn{display:inline-block;border-radius:2px;line-height:normal;white-space:nowrap;text-align:center;cursor:pointer;font-size:100%;padding:6px 12px 8px;color:#fff;border:1px solid rgba(0,0,0,.1);background-color:#27ae60;text-decoration:none;font-weight:400;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;box-shadow:inset 0 1px 2px -1px hsla(0,0%,100%,.5),inset 0 -2px 0 0 rgba(0,0,0,.1);outline-none:false;vertical-align:middle;*display:inline;zoom:1;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:all .1s linear;-moz-transition:all .1s linear;transition:all .1s linear}.btn-hover{background:#2e8ece;color:#fff}.btn:hover{background:#2cc36b;color:#fff}.btn:focus{background:#2cc36b;outline:0}.btn:active{box-shadow:inset 0 -1px 0 0 rgba(0,0,0,.05),inset 0 2px 0 0 rgba(0,0,0,.1);padding:8px 12px 6px}.btn:visited{color:#fff}.btn-disabled,.btn-disabled:active,.btn-disabled:focus,.btn-disabled:hover,.btn:disabled{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:.4;cursor:not-allowed;box-shadow:none}.btn::-moz-focus-inner{padding:0;border:0}.btn-small{font-size:80%}.btn-info{background-color:#2980b9!important}.btn-info:hover{background-color:#2e8ece!important}.btn-neutral{background-color:#f3f6f6!important;color:#404040!important}.btn-neutral:hover{background-color:#e5ebeb!important;color:#404040}.btn-neutral:visited{color:#404040!important}.btn-success{background-color:#27ae60!important}.btn-success:hover{background-color:#295!important}.btn-danger{background-color:#e74c3c!important}.btn-danger:hover{background-color:#ea6153!important}.btn-warning{background-color:#e67e22!important}.btn-warning:hover{background-color:#e98b39!important}.btn-invert{background-color:#222}.btn-invert:hover{background-color:#2f2f2f!important}.btn-link{background-color:transparent!important;color:#2980b9;box-shadow:none;border-color:transparent!important}.btn-link:active,.btn-link:hover{background-color:transparent!important;color:#409ad5!important;box-shadow:none}.btn-link:visited{color:#9b59b6}.wy-btn-group .btn,.wy-control .btn{vertical-align:middle}.wy-btn-group{margin-bottom:24px;*zoom:1}.wy-btn-group:after,.wy-btn-group:before{display:table;content:""}.wy-btn-group:after{clear:both}.wy-dropdown{position:relative;display:inline-block}.wy-dropdown-active .wy-dropdown-menu{display:block}.wy-dropdown-menu{position:absolute;left:0;display:none;float:left;top:100%;min-width:100%;background:#fcfcfc;z-index:100;border:1px solid #cfd7dd;box-shadow:0 2px 2px 0 rgba(0,0,0,.1);padding:12px}.wy-dropdown-menu>dd>a{display:block;clear:both;color:#404040;white-space:nowrap;font-size:90%;padding:0 12px;cursor:pointer}.wy-dropdown-menu>dd>a:hover{background:#2980b9;color:#fff}.wy-dropdown-menu>dd.divider{border-top:1px solid #cfd7dd;margin:6px 0}.wy-dropdown-menu>dd.search{padding-bottom:12px}.wy-dropdown-menu>dd.search input[type=search]{width:100%}.wy-dropdown-menu>dd.call-to-action{background:#e3e3e3;text-transform:uppercase;font-weight:500;font-size:80%}.wy-dropdown-menu>dd.call-to-action:hover{background:#e3e3e3}.wy-dropdown-menu>dd.call-to-action .btn{color:#fff}.wy-dropdown.wy-dropdown-up .wy-dropdown-menu{bottom:100%;top:auto;left:auto;right:0}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu{background:#fcfcfc;margin-top:2px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a{padding:6px 12px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a:hover{background:#2980b9;color:#fff}.wy-dropdown.wy-dropdown-left .wy-dropdown-menu{right:0;left:auto;text-align:right}.wy-dropdown-arrow:before{content:" ";border-bottom:5px solid #f5f5f5;border-left:5px solid transparent;border-right:5px solid transparent;position:absolute;display:block;top:-4px;left:50%;margin-left:-3px}.wy-dropdown-arrow.wy-dropdown-arrow-left:before{left:11px}.wy-form-stacked select{display:block}.wy-form-aligned .wy-help-inline,.wy-form-aligned input,.wy-form-aligned label,.wy-form-aligned select,.wy-form-aligned textarea{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-form-aligned .wy-control-group>label{display:inline-block;vertical-align:middle;width:10em;margin:6px 12px 0 0;float:left}.wy-form-aligned .wy-control{float:left}.wy-form-aligned .wy-control label{display:block}.wy-form-aligned .wy-control select{margin-top:6px}fieldset{margin:0}fieldset,legend{border:0;padding:0}legend{width:100%;white-space:normal;margin-bottom:24px;font-size:150%;*margin-left:-7px}label,legend{display:block}label{margin:0 0 .3125em;color:#333;font-size:90%}input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}.wy-control-group{margin-bottom:24px;max-width:1200px;margin-left:auto;margin-right:auto;*zoom:1}.wy-control-group:after,.wy-control-group:before{display:table;content:""}.wy-control-group:after{clear:both}.wy-control-group.wy-control-group-required>label:after{content:" *";color:#e74c3c}.wy-control-group .wy-form-full,.wy-control-group .wy-form-halves,.wy-control-group .wy-form-thirds{padding-bottom:12px}.wy-control-group .wy-form-full input[type=color],.wy-control-group .wy-form-full input[type=date],.wy-control-group .wy-form-full input[type=datetime-local],.wy-control-group .wy-form-full input[type=datetime],.wy-control-group .wy-form-full input[type=email],.wy-control-group .wy-form-full input[type=month],.wy-control-group .wy-form-full input[type=number],.wy-control-group .wy-form-full input[type=password],.wy-control-group .wy-form-full input[type=search],.wy-control-group .wy-form-full input[type=tel],.wy-control-group .wy-form-full input[type=text],.wy-control-group .wy-form-full input[type=time],.wy-control-group .wy-form-full input[type=url],.wy-control-group .wy-form-full input[type=week],.wy-control-group .wy-form-full select,.wy-control-group .wy-form-halves input[type=color],.wy-control-group .wy-form-halves input[type=date],.wy-control-group .wy-form-halves input[type=datetime-local],.wy-control-group .wy-form-halves input[type=datetime],.wy-control-group .wy-form-halves input[type=email],.wy-control-group .wy-form-halves input[type=month],.wy-control-group .wy-form-halves input[type=number],.wy-control-group .wy-form-halves input[type=password],.wy-control-group .wy-form-halves input[type=search],.wy-control-group .wy-form-halves input[type=tel],.wy-control-group .wy-form-halves input[type=text],.wy-control-group .wy-form-halves input[type=time],.wy-control-group .wy-form-halves input[type=url],.wy-control-group .wy-form-halves input[type=week],.wy-control-group .wy-form-halves select,.wy-control-group .wy-form-thirds input[type=color],.wy-control-group .wy-form-thirds input[type=date],.wy-control-group .wy-form-thirds input[type=datetime-local],.wy-control-group .wy-form-thirds input[type=datetime],.wy-control-group .wy-form-thirds input[type=email],.wy-control-group .wy-form-thirds input[type=month],.wy-control-group .wy-form-thirds input[type=number],.wy-control-group .wy-form-thirds input[type=password],.wy-control-group .wy-form-thirds input[type=search],.wy-control-group .wy-form-thirds input[type=tel],.wy-control-group .wy-form-thirds input[type=text],.wy-control-group .wy-form-thirds input[type=time],.wy-control-group .wy-form-thirds input[type=url],.wy-control-group .wy-form-thirds input[type=week],.wy-control-group .wy-form-thirds select{width:100%}.wy-control-group .wy-form-full{float:left;display:block;width:100%;margin-right:0}.wy-control-group .wy-form-full:last-child{margin-right:0}.wy-control-group .wy-form-halves{float:left;display:block;margin-right:2.35765%;width:48.82117%}.wy-control-group .wy-form-halves:last-child,.wy-control-group .wy-form-halves:nth-of-type(2n){margin-right:0}.wy-control-group .wy-form-halves:nth-of-type(odd){clear:left}.wy-control-group .wy-form-thirds{float:left;display:block;margin-right:2.35765%;width:31.76157%}.wy-control-group .wy-form-thirds:last-child,.wy-control-group .wy-form-thirds:nth-of-type(3n){margin-right:0}.wy-control-group .wy-form-thirds:nth-of-type(3n+1){clear:left}.wy-control-group.wy-control-group-no-input .wy-control,.wy-control-no-input{margin:6px 0 0;font-size:90%}.wy-control-no-input{display:inline-block}.wy-control-group.fluid-input input[type=color],.wy-control-group.fluid-input input[type=date],.wy-control-group.fluid-input input[type=datetime-local],.wy-control-group.fluid-input input[type=datetime],.wy-control-group.fluid-input input[type=email],.wy-control-group.fluid-input input[type=month],.wy-control-group.fluid-input input[type=number],.wy-control-group.fluid-input input[type=password],.wy-control-group.fluid-input input[type=search],.wy-control-group.fluid-input input[type=tel],.wy-control-group.fluid-input input[type=text],.wy-control-group.fluid-input input[type=time],.wy-control-group.fluid-input input[type=url],.wy-control-group.fluid-input input[type=week]{width:100%}.wy-form-message-inline{padding-left:.3em;color:#666;font-size:90%}.wy-form-message{display:block;color:#999;font-size:70%;margin-top:.3125em;font-style:italic}.wy-form-message p{font-size:inherit;font-style:italic;margin-bottom:6px}.wy-form-message p:last-child{margin-bottom:0}input{line-height:normal}input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;*overflow:visible}input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week]{-webkit-appearance:none;padding:6px;display:inline-block;border:1px solid #ccc;font-size:80%;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;box-shadow:inset 0 1px 3px #ddd;border-radius:0;-webkit-transition:border .3s linear;-moz-transition:border .3s linear;transition:border .3s linear}input[type=datetime-local]{padding:.34375em .625em}input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{padding:0;margin-right:.3125em;*height:13px;*width:13px}input[type=checkbox],input[type=radio],input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus{outline:0;outline:thin dotted\9;border-color:#333}input.no-focus:focus{border-color:#ccc!important}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:thin dotted #333;outline:1px auto #129fea}input[type=color][disabled],input[type=date][disabled],input[type=datetime-local][disabled],input[type=datetime][disabled],input[type=email][disabled],input[type=month][disabled],input[type=number][disabled],input[type=password][disabled],input[type=search][disabled],input[type=tel][disabled],input[type=text][disabled],input[type=time][disabled],input[type=url][disabled],input[type=week][disabled]{cursor:not-allowed;background-color:#fafafa}input:focus:invalid,select:focus:invalid,textarea:focus:invalid{color:#e74c3c;border:1px solid #e74c3c}input:focus:invalid:focus,select:focus:invalid:focus,textarea:focus:invalid:focus{border-color:#e74c3c}input[type=checkbox]:focus:invalid:focus,input[type=file]:focus:invalid:focus,input[type=radio]:focus:invalid:focus{outline-color:#e74c3c}input.wy-input-large{padding:12px;font-size:100%}textarea{overflow:auto;vertical-align:top;width:100%;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif}select,textarea{padding:.5em .625em;display:inline-block;border:1px solid #ccc;font-size:80%;box-shadow:inset 0 1px 3px #ddd;-webkit-transition:border .3s linear;-moz-transition:border .3s linear;transition:border .3s linear}select{border:1px solid #ccc;background-color:#fff}select[multiple]{height:auto}select:focus,textarea:focus{outline:0}input[readonly],select[disabled],select[readonly],textarea[disabled],textarea[readonly]{cursor:not-allowed;background-color:#fafafa}input[type=checkbox][disabled],input[type=radio][disabled]{cursor:not-allowed}.wy-checkbox,.wy-radio{margin:6px 0;color:#404040;display:block}.wy-checkbox input,.wy-radio input{vertical-align:baseline}.wy-form-message-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-input-prefix,.wy-input-suffix{white-space:nowrap;padding:6px}.wy-input-prefix .wy-input-context,.wy-input-suffix .wy-input-context{line-height:27px;padding:0 8px;display:inline-block;font-size:80%;background-color:#f3f6f6;border:1px solid #ccc;color:#999}.wy-input-suffix .wy-input-context{border-left:0}.wy-input-prefix .wy-input-context{border-right:0}.wy-switch{position:relative;display:block;height:24px;margin-top:12px;cursor:pointer}.wy-switch:before{left:0;top:0;width:36px;height:12px;background:#ccc}.wy-switch:after,.wy-switch:before{position:absolute;content:"";display:block;border-radius:4px;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.wy-switch:after{width:18px;height:18px;background:#999;left:-3px;top:-3px}.wy-switch span{position:absolute;left:48px;display:block;font-size:12px;color:#ccc;line-height:1}.wy-switch.active:before{background:#1e8449}.wy-switch.active:after{left:24px;background:#27ae60}.wy-switch.disabled{cursor:not-allowed;opacity:.8}.wy-control-group.wy-control-group-error .wy-form-message,.wy-control-group.wy-control-group-error>label{color:#e74c3c}.wy-control-group.wy-control-group-error input[type=color],.wy-control-group.wy-control-group-error input[type=date],.wy-control-group.wy-control-group-error input[type=datetime-local],.wy-control-group.wy-control-group-error input[type=datetime],.wy-control-group.wy-control-group-error input[type=email],.wy-control-group.wy-control-group-error input[type=month],.wy-control-group.wy-control-group-error input[type=number],.wy-control-group.wy-control-group-error input[type=password],.wy-control-group.wy-control-group-error input[type=search],.wy-control-group.wy-control-group-error input[type=tel],.wy-control-group.wy-control-group-error input[type=text],.wy-control-group.wy-control-group-error input[type=time],.wy-control-group.wy-control-group-error input[type=url],.wy-control-group.wy-control-group-error input[type=week],.wy-control-group.wy-control-group-error textarea{border:1px solid #e74c3c}.wy-inline-validate{white-space:nowrap}.wy-inline-validate .wy-input-context{padding:.5em .625em;display:inline-block;font-size:80%}.wy-inline-validate.wy-inline-validate-success .wy-input-context{color:#27ae60}.wy-inline-validate.wy-inline-validate-danger .wy-input-context{color:#e74c3c}.wy-inline-validate.wy-inline-validate-warning .wy-input-context{color:#e67e22}.wy-inline-validate.wy-inline-validate-info .wy-input-context{color:#2980b9}.rotate-90{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.rotate-180{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.rotate-270{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.mirror{-webkit-transform:scaleX(-1);-moz-transform:scaleX(-1);-ms-transform:scaleX(-1);-o-transform:scaleX(-1);transform:scaleX(-1)}.mirror.rotate-90{-webkit-transform:scaleX(-1) rotate(90deg);-moz-transform:scaleX(-1) rotate(90deg);-ms-transform:scaleX(-1) rotate(90deg);-o-transform:scaleX(-1) rotate(90deg);transform:scaleX(-1) rotate(90deg)}.mirror.rotate-180{-webkit-transform:scaleX(-1) rotate(180deg);-moz-transform:scaleX(-1) rotate(180deg);-ms-transform:scaleX(-1) rotate(180deg);-o-transform:scaleX(-1) rotate(180deg);transform:scaleX(-1) rotate(180deg)}.mirror.rotate-270{-webkit-transform:scaleX(-1) rotate(270deg);-moz-transform:scaleX(-1) rotate(270deg);-ms-transform:scaleX(-1) rotate(270deg);-o-transform:scaleX(-1) rotate(270deg);transform:scaleX(-1) rotate(270deg)}@media only screen and (max-width:480px){.wy-form button[type=submit]{margin:.7em 0 0}.wy-form input[type=color],.wy-form input[type=date],.wy-form input[type=datetime-local],.wy-form input[type=datetime],.wy-form input[type=email],.wy-form input[type=month],.wy-form input[type=number],.wy-form input[type=password],.wy-form input[type=search],.wy-form input[type=tel],.wy-form input[type=text],.wy-form input[type=time],.wy-form input[type=url],.wy-form input[type=week],.wy-form label{margin-bottom:.3em;display:block}.wy-form input[type=color],.wy-form input[type=date],.wy-form input[type=datetime-local],.wy-form input[type=datetime],.wy-form input[type=email],.wy-form input[type=month],.wy-form input[type=number],.wy-form input[type=password],.wy-form input[type=search],.wy-form input[type=tel],.wy-form input[type=time],.wy-form input[type=url],.wy-form input[type=week]{margin-bottom:0}.wy-form-aligned .wy-control-group label{margin-bottom:.3em;text-align:left;display:block;width:100%}.wy-form-aligned .wy-control{margin:1.5em 0 0}.wy-form-message,.wy-form-message-inline,.wy-form .wy-help-inline{display:block;font-size:80%;padding:6px 0}}@media screen and (max-width:768px){.tablet-hide{display:none}}@media screen and (max-width:480px){.mobile-hide{display:none}}.float-left{float:left}.float-right{float:right}.full-width{width:100%}.rst-content table.docutils,.rst-content table.field-list,.wy-table{border-collapse:collapse;border-spacing:0;empty-cells:show;margin-bottom:24px}.rst-content table.docutils caption,.rst-content table.field-list caption,.wy-table caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.rst-content table.docutils td,.rst-content table.docutils th,.rst-content table.field-list td,.rst-content table.field-list th,.wy-table td,.wy-table th{font-size:90%;margin:0;overflow:visible;padding:8px 16px}.rst-content table.docutils td:first-child,.rst-content table.docutils th:first-child,.rst-content table.field-list td:first-child,.rst-content table.field-list th:first-child,.wy-table td:first-child,.wy-table th:first-child{border-left-width:0}.rst-content table.docutils thead,.rst-content table.field-list thead,.wy-table thead{color:#000;text-align:left;vertical-align:bottom;white-space:nowrap}.rst-content table.docutils thead th,.rst-content table.field-list thead th,.wy-table thead th{font-weight:700;border-bottom:2px solid #e1e4e5}.rst-content table.docutils td,.rst-content table.field-list td,.wy-table td{background-color:transparent;vertical-align:middle}.rst-content table.docutils td p,.rst-content table.field-list td p,.wy-table td p{line-height:18px}.rst-content table.docutils td p:last-child,.rst-content table.field-list td p:last-child,.wy-table td p:last-child{margin-bottom:0}.rst-content table.docutils .wy-table-cell-min,.rst-content table.field-list .wy-table-cell-min,.wy-table .wy-table-cell-min{width:1%;padding-right:0}.rst-content table.docutils .wy-table-cell-min input[type=checkbox],.rst-content table.field-list .wy-table-cell-min input[type=checkbox],.wy-table .wy-table-cell-min input[type=checkbox]{margin:0}.wy-table-secondary{color:grey;font-size:90%}.wy-table-tertiary{color:grey;font-size:80%}.rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td,.wy-table-backed,.wy-table-odd td,.wy-table-striped tr:nth-child(2n-1) td{background-color:#f3f6f6}.rst-content table.docutils,.wy-table-bordered-all{border:1px solid #e1e4e5}.rst-content table.docutils td,.wy-table-bordered-all td{border-bottom:1px solid #e1e4e5;border-left:1px solid #e1e4e5}.rst-content table.docutils tbody>tr:last-child td,.wy-table-bordered-all tbody>tr:last-child td{border-bottom-width:0}.wy-table-bordered{border:1px solid #e1e4e5}.wy-table-bordered-rows td{border-bottom:1px solid #e1e4e5}.wy-table-bordered-rows tbody>tr:last-child td{border-bottom-width:0}.wy-table-horizontal td,.wy-table-horizontal th{border-width:0 0 1px;border-bottom:1px solid #e1e4e5}.wy-table-horizontal tbody>tr:last-child td{border-bottom-width:0}.wy-table-responsive{margin-bottom:24px;max-width:100%;overflow:auto}.wy-table-responsive table{margin-bottom:0!important}.wy-table-responsive table td,.wy-table-responsive table th{white-space:nowrap}a{color:#2980b9;text-decoration:none;cursor:pointer}a:hover{color:#3091d1}a:visited{color:#9b59b6}html{height:100%}body,html{overflow-x:hidden}body{font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;font-weight:400;color:#404040;min-height:100%;background:#edf0f2}.wy-text-left{text-align:left}.wy-text-center{text-align:center}.wy-text-right{text-align:right}.wy-text-large{font-size:120%}.wy-text-normal{font-size:100%}.wy-text-small,small{font-size:80%}.wy-text-strike{text-decoration:line-through}.wy-text-warning{color:#e67e22!important}a.wy-text-warning:hover{color:#eb9950!important}.wy-text-info{color:#2980b9!important}a.wy-text-info:hover{color:#409ad5!important}.wy-text-success{color:#27ae60!important}a.wy-text-success:hover{color:#36d278!important}.wy-text-danger{color:#e74c3c!important}a.wy-text-danger:hover{color:#ed7669!important}.wy-text-neutral{color:#404040!important}a.wy-text-neutral:hover{color:#595959!important}.rst-content .toctree-wrapper>p.caption,h1,h2,h3,h4,h5,h6,legend{margin-top:0;font-weight:700;font-family:Roboto Slab,ff-tisa-web-pro,Georgia,Arial,sans-serif}p{line-height:24px;font-size:16px;margin:0 0 24px}h1{font-size:175%}.rst-content .toctree-wrapper>p.caption,h2{font-size:150%}h3{font-size:125%}h4{font-size:115%}h5{font-size:110%}h6{font-size:100%}hr{display:block;height:1px;border:0;border-top:1px solid #e1e4e5;margin:24px 0;padding:0}.rst-content code,.rst-content tt,code{white-space:nowrap;max-width:100%;background:#fff;border:1px solid #e1e4e5;font-size:75%;padding:0 5px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;color:#e74c3c;overflow-x:auto}.rst-content tt.code-large,code.code-large{font-size:90%}.rst-content .section ul,.rst-content .toctree-wrapper ul,.rst-content section ul,.wy-plain-list-disc,article ul{list-style:disc;line-height:24px;margin-bottom:24px}.rst-content .section ul li,.rst-content .toctree-wrapper ul li,.rst-content section ul li,.wy-plain-list-disc li,article ul li{list-style:disc;margin-left:24px}.rst-content .section ul li p:last-child,.rst-content .section ul li ul,.rst-content .toctree-wrapper ul li p:last-child,.rst-content .toctree-wrapper ul li ul,.rst-content section ul li p:last-child,.rst-content section ul li ul,.wy-plain-list-disc li p:last-child,.wy-plain-list-disc li ul,article ul li p:last-child,article ul li ul{margin-bottom:0}.rst-content .section ul li li,.rst-content .toctree-wrapper ul li li,.rst-content section ul li li,.wy-plain-list-disc li li,article ul li li{list-style:circle}.rst-content .section ul li li li,.rst-content .toctree-wrapper ul li li li,.rst-content section ul li li li,.wy-plain-list-disc li li li,article ul li li li{list-style:square}.rst-content .section ul li ol li,.rst-content .toctree-wrapper ul li ol li,.rst-content section ul li ol li,.wy-plain-list-disc li ol li,article ul li ol li{list-style:decimal}.rst-content .section ol,.rst-content .section ol.arabic,.rst-content .toctree-wrapper ol,.rst-content .toctree-wrapper ol.arabic,.rst-content section ol,.rst-content section ol.arabic,.wy-plain-list-decimal,article ol{list-style:decimal;line-height:24px;margin-bottom:24px}.rst-content .section ol.arabic li,.rst-content .section ol li,.rst-content .toctree-wrapper ol.arabic li,.rst-content .toctree-wrapper ol li,.rst-content section ol.arabic li,.rst-content section ol li,.wy-plain-list-decimal li,article ol li{list-style:decimal;margin-left:24px}.rst-content .section ol.arabic li ul,.rst-content .section ol li p:last-child,.rst-content .section ol li ul,.rst-content .toctree-wrapper ol.arabic li ul,.rst-content .toctree-wrapper ol li p:last-child,.rst-content .toctree-wrapper ol li ul,.rst-content section ol.arabic li ul,.rst-content section ol li p:last-child,.rst-content section ol li ul,.wy-plain-list-decimal li p:last-child,.wy-plain-list-decimal li ul,article ol li p:last-child,article ol li ul{margin-bottom:0}.rst-content .section ol.arabic li ul li,.rst-content .section ol li ul li,.rst-content .toctree-wrapper ol.arabic li ul li,.rst-content .toctree-wrapper ol li ul li,.rst-content section ol.arabic li ul li,.rst-content section ol li ul li,.wy-plain-list-decimal li ul li,article ol li ul li{list-style:disc}.wy-breadcrumbs{*zoom:1}.wy-breadcrumbs:after,.wy-breadcrumbs:before{display:table;content:""}.wy-breadcrumbs:after{clear:both}.wy-breadcrumbs>li{display:inline-block;padding-top:5px}.wy-breadcrumbs>li.wy-breadcrumbs-aside{float:right}.rst-content .wy-breadcrumbs>li code,.rst-content .wy-breadcrumbs>li tt,.wy-breadcrumbs>li .rst-content tt,.wy-breadcrumbs>li code{all:inherit;color:inherit}.breadcrumb-item:before{content:"/";color:#bbb;font-size:13px;padding:0 6px 0 3px}.wy-breadcrumbs-extra{margin-bottom:0;color:#b3b3b3;font-size:80%;display:inline-block}@media screen and (max-width:480px){.wy-breadcrumbs-extra,.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}@media print{.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}html{font-size:16px}.wy-affix{position:fixed;top:1.618em}.wy-menu a:hover{text-decoration:none}.wy-menu-horiz{*zoom:1}.wy-menu-horiz:after,.wy-menu-horiz:before{display:table;content:""}.wy-menu-horiz:after{clear:both}.wy-menu-horiz li,.wy-menu-horiz ul{display:inline-block}.wy-menu-horiz li:hover{background:hsla(0,0%,100%,.1)}.wy-menu-horiz li.divide-left{border-left:1px solid #404040}.wy-menu-horiz li.divide-right{border-right:1px solid #404040}.wy-menu-horiz a{height:32px;display:inline-block;line-height:32px;padding:0 16px}.wy-menu-vertical{width:300px}.wy-menu-vertical header,.wy-menu-vertical p.caption{color:#55a5d9;height:32px;line-height:32px;padding:0 1.618em;margin:12px 0 0;display:block;font-weight:700;text-transform:uppercase;font-size:85%;white-space:nowrap}.wy-menu-vertical ul{margin-bottom:0}.wy-menu-vertical li.divide-top{border-top:1px solid #404040}.wy-menu-vertical li.divide-bottom{border-bottom:1px solid #404040}.wy-menu-vertical li.current{background:#e3e3e3}.wy-menu-vertical li.current a{color:grey;border-right:1px solid #c9c9c9;padding:.4045em 2.427em}.wy-menu-vertical li.current a:hover{background:#d6d6d6}.rst-content .wy-menu-vertical li tt,.wy-menu-vertical li .rst-content tt,.wy-menu-vertical li code{border:none;background:inherit;color:inherit;padding-left:0;padding-right:0}.wy-menu-vertical li button.toctree-expand{display:block;float:left;margin-left:-1.2em;line-height:18px;color:#4d4d4d;border:none;background:none;padding:0}.wy-menu-vertical li.current>a,.wy-menu-vertical li.on a{color:#404040;font-weight:700;position:relative;background:#fcfcfc;border:none;padding:.4045em 1.618em}.wy-menu-vertical li.current>a:hover,.wy-menu-vertical li.on a:hover{background:#fcfcfc}.wy-menu-vertical li.current>a:hover button.toctree-expand,.wy-menu-vertical li.on a:hover button.toctree-expand{color:grey}.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand{display:block;line-height:18px;color:#333}.wy-menu-vertical li.toctree-l1.current>a{border-bottom:1px solid #c9c9c9;border-top:1px solid #c9c9c9}.wy-menu-vertical .toctree-l1.current .toctree-l2>ul,.wy-menu-vertical .toctree-l2.current .toctree-l3>ul,.wy-menu-vertical .toctree-l3.current .toctree-l4>ul,.wy-menu-vertical .toctree-l4.current .toctree-l5>ul,.wy-menu-vertical .toctree-l5.current .toctree-l6>ul,.wy-menu-vertical .toctree-l6.current .toctree-l7>ul,.wy-menu-vertical .toctree-l7.current .toctree-l8>ul,.wy-menu-vertical .toctree-l8.current .toctree-l9>ul,.wy-menu-vertical .toctree-l9.current .toctree-l10>ul,.wy-menu-vertical .toctree-l10.current .toctree-l11>ul{display:none}.wy-menu-vertical .toctree-l1.current .current.toctree-l2>ul,.wy-menu-vertical .toctree-l2.current .current.toctree-l3>ul,.wy-menu-vertical .toctree-l3.current .current.toctree-l4>ul,.wy-menu-vertical .toctree-l4.current .current.toctree-l5>ul,.wy-menu-vertical .toctree-l5.current .current.toctree-l6>ul,.wy-menu-vertical .toctree-l6.current .current.toctree-l7>ul,.wy-menu-vertical .toctree-l7.current .current.toctree-l8>ul,.wy-menu-vertical .toctree-l8.current .current.toctree-l9>ul,.wy-menu-vertical .toctree-l9.current .current.toctree-l10>ul,.wy-menu-vertical .toctree-l10.current .current.toctree-l11>ul{display:block}.wy-menu-vertical li.toctree-l3,.wy-menu-vertical li.toctree-l4{font-size:.9em}.wy-menu-vertical li.toctree-l2 a,.wy-menu-vertical li.toctree-l3 a,.wy-menu-vertical li.toctree-l4 a,.wy-menu-vertical li.toctree-l5 a,.wy-menu-vertical li.toctree-l6 a,.wy-menu-vertical li.toctree-l7 a,.wy-menu-vertical li.toctree-l8 a,.wy-menu-vertical li.toctree-l9 a,.wy-menu-vertical li.toctree-l10 a{color:#404040}.wy-menu-vertical li.toctree-l2 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l3 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l4 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l5 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l6 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l7 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l8 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l9 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l10 a:hover button.toctree-expand{color:grey}.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a,.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a,.wy-menu-vertical li.toctree-l4.current li.toctree-l5>a,.wy-menu-vertical li.toctree-l5.current li.toctree-l6>a,.wy-menu-vertical li.toctree-l6.current li.toctree-l7>a,.wy-menu-vertical li.toctree-l7.current li.toctree-l8>a,.wy-menu-vertical li.toctree-l8.current li.toctree-l9>a,.wy-menu-vertical li.toctree-l9.current li.toctree-l10>a,.wy-menu-vertical li.toctree-l10.current li.toctree-l11>a{display:block}.wy-menu-vertical li.toctree-l2.current>a{padding:.4045em 2.427em}.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a{padding:.4045em 1.618em .4045em 4.045em}.wy-menu-vertical li.toctree-l3.current>a{padding:.4045em 4.045em}.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a{padding:.4045em 1.618em .4045em 5.663em}.wy-menu-vertical li.toctree-l4.current>a{padding:.4045em 5.663em}.wy-menu-vertical li.toctree-l4.current li.toctree-l5>a{padding:.4045em 1.618em .4045em 7.281em}.wy-menu-vertical li.toctree-l5.current>a{padding:.4045em 7.281em}.wy-menu-vertical li.toctree-l5.current li.toctree-l6>a{padding:.4045em 1.618em .4045em 8.899em}.wy-menu-vertical li.toctree-l6.current>a{padding:.4045em 8.899em}.wy-menu-vertical li.toctree-l6.current li.toctree-l7>a{padding:.4045em 1.618em .4045em 10.517em}.wy-menu-vertical li.toctree-l7.current>a{padding:.4045em 10.517em}.wy-menu-vertical li.toctree-l7.current li.toctree-l8>a{padding:.4045em 1.618em .4045em 12.135em}.wy-menu-vertical li.toctree-l8.current>a{padding:.4045em 12.135em}.wy-menu-vertical li.toctree-l8.current li.toctree-l9>a{padding:.4045em 1.618em .4045em 13.753em}.wy-menu-vertical li.toctree-l9.current>a{padding:.4045em 13.753em}.wy-menu-vertical li.toctree-l9.current li.toctree-l10>a{padding:.4045em 1.618em .4045em 15.371em}.wy-menu-vertical li.toctree-l10.current>a{padding:.4045em 15.371em}.wy-menu-vertical li.toctree-l10.current li.toctree-l11>a{padding:.4045em 1.618em .4045em 16.989em}.wy-menu-vertical li.toctree-l2.current>a,.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a{background:#c9c9c9}.wy-menu-vertical li.toctree-l2 button.toctree-expand{color:#a3a3a3}.wy-menu-vertical li.toctree-l3.current>a,.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a{background:#bdbdbd}.wy-menu-vertical li.toctree-l3 button.toctree-expand{color:#969696}.wy-menu-vertical li.current ul{display:block}.wy-menu-vertical li ul{margin-bottom:0;display:none}.wy-menu-vertical li ul li a{margin-bottom:0;color:#d9d9d9;font-weight:400}.wy-menu-vertical a{line-height:18px;padding:.4045em 1.618em;display:block;position:relative;font-size:90%;color:#d9d9d9}.wy-menu-vertical a:hover{background-color:#4e4a4a;cursor:pointer}.wy-menu-vertical a:hover button.toctree-expand{color:#d9d9d9}.wy-menu-vertical a:active{background-color:#2980b9;cursor:pointer;color:#fff}.wy-menu-vertical a:active button.toctree-expand{color:#fff}.wy-side-nav-search{display:block;width:300px;padding:.809em;margin-bottom:.809em;z-index:200;background-color:#2980b9;text-align:center;color:#fcfcfc}.wy-side-nav-search input[type=text]{width:100%;border-radius:50px;padding:6px 12px;border-color:#2472a4}.wy-side-nav-search img{display:block;margin:auto auto .809em;height:45px;width:45px;background-color:#2980b9;padding:5px;border-radius:100%}.wy-side-nav-search .wy-dropdown>a,.wy-side-nav-search>a{color:#fcfcfc;font-size:100%;font-weight:700;display:inline-block;padding:4px 6px;margin-bottom:.809em;max-width:100%}.wy-side-nav-search .wy-dropdown>a:hover,.wy-side-nav-search .wy-dropdown>aactive,.wy-side-nav-search .wy-dropdown>afocus,.wy-side-nav-search>a:hover,.wy-side-nav-search>aactive,.wy-side-nav-search>afocus{background:hsla(0,0%,100%,.1)}.wy-side-nav-search .wy-dropdown>a img.logo,.wy-side-nav-search>a img.logo{display:block;margin:0 auto;height:auto;width:auto;border-radius:0;max-width:100%;background:transparent}.wy-side-nav-search .wy-dropdown>a.icon,.wy-side-nav-search>a.icon{display:block}.wy-side-nav-search .wy-dropdown>a.icon img.logo,.wy-side-nav-search>a.icon img.logo{margin-top:.85em}.wy-side-nav-search>div.switch-menus{position:relative;display:block;margin-top:-.4045em;margin-bottom:.809em;font-weight:400;color:hsla(0,0%,100%,.3)}.wy-side-nav-search>div.switch-menus>div.language-switch,.wy-side-nav-search>div.switch-menus>div.version-switch{display:inline-block;padding:.2em}.wy-side-nav-search>div.switch-menus>div.language-switch select,.wy-side-nav-search>div.switch-menus>div.version-switch select{display:inline-block;margin-right:-2rem;padding-right:2rem;max-width:240px;text-align-last:center;background:none;border:none;border-radius:0;box-shadow:none;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;font-size:1em;font-weight:400;color:hsla(0,0%,100%,.3);cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none}.wy-side-nav-search>div.switch-menus>div.language-switch select:active,.wy-side-nav-search>div.switch-menus>div.language-switch select:focus,.wy-side-nav-search>div.switch-menus>div.language-switch select:hover,.wy-side-nav-search>div.switch-menus>div.version-switch select:active,.wy-side-nav-search>div.switch-menus>div.version-switch select:focus,.wy-side-nav-search>div.switch-menus>div.version-switch select:hover{background:hsla(0,0%,100%,.1);color:hsla(0,0%,100%,.5)}.wy-side-nav-search>div.switch-menus>div.language-switch select option,.wy-side-nav-search>div.switch-menus>div.version-switch select option{color:#000}.wy-side-nav-search>div.switch-menus>div.language-switch:has(>select):after,.wy-side-nav-search>div.switch-menus>div.version-switch:has(>select):after{display:inline-block;width:1.5em;height:100%;padding:.1em;content:"\f0d7";font-size:1em;line-height:1.2em;font-family:FontAwesome;text-align:center;pointer-events:none;box-sizing:border-box}.wy-nav .wy-menu-vertical header{color:#2980b9}.wy-nav .wy-menu-vertical a{color:#b3b3b3}.wy-nav .wy-menu-vertical a:hover{background-color:#2980b9;color:#fff}[data-menu-wrap]{-webkit-transition:all .2s ease-in;-moz-transition:all .2s ease-in;transition:all .2s ease-in;position:absolute;opacity:1;width:100%;opacity:0}[data-menu-wrap].move-center{left:0;right:auto;opacity:1}[data-menu-wrap].move-left{right:auto;left:-100%;opacity:0}[data-menu-wrap].move-right{right:-100%;left:auto;opacity:0}.wy-body-for-nav{background:#fcfcfc}.wy-grid-for-nav{position:absolute;width:100%;height:100%}.wy-nav-side{position:fixed;top:0;bottom:0;left:0;padding-bottom:2em;width:300px;overflow-x:hidden;overflow-y:hidden;min-height:100%;color:#9b9b9b;background:#343131;z-index:200}.wy-side-scroll{width:320px;position:relative;overflow-x:hidden;overflow-y:scroll;height:100%}.wy-nav-top{display:none;background:#2980b9;color:#fff;padding:.4045em .809em;position:relative;line-height:50px;text-align:center;font-size:100%;*zoom:1}.wy-nav-top:after,.wy-nav-top:before{display:table;content:""}.wy-nav-top:after{clear:both}.wy-nav-top a{color:#fff;font-weight:700}.wy-nav-top img{margin-right:12px;height:45px;width:45px;background-color:#2980b9;padding:5px;border-radius:100%}.wy-nav-top i{font-size:30px;float:left;cursor:pointer;padding-top:inherit}.wy-nav-content-wrap{margin-left:300px;background:#fcfcfc;min-height:100%}.wy-nav-content{padding:1.618em 3.236em;height:100%;max-width:800px;margin:auto}.wy-body-mask{position:fixed;width:100%;height:100%;background:rgba(0,0,0,.2);display:none;z-index:499}.wy-body-mask.on{display:block}footer{color:grey}footer p{margin-bottom:12px}.rst-content footer span.commit tt,footer span.commit .rst-content tt,footer span.commit code{padding:0;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;font-size:1em;background:none;border:none;color:grey}.rst-footer-buttons{*zoom:1}.rst-footer-buttons:after,.rst-footer-buttons:before{width:100%;display:table;content:""}.rst-footer-buttons:after{clear:both}.rst-breadcrumbs-buttons{margin-top:12px;*zoom:1}.rst-breadcrumbs-buttons:after,.rst-breadcrumbs-buttons:before{display:table;content:""}.rst-breadcrumbs-buttons:after{clear:both}#search-results .search li{margin-bottom:24px;border-bottom:1px solid #e1e4e5;padding-bottom:24px}#search-results .search li:first-child{border-top:1px solid #e1e4e5;padding-top:24px}#search-results .search li a{font-size:120%;margin-bottom:12px;display:inline-block}#search-results .context{color:grey;font-size:90%}.genindextable li>ul{margin-left:24px}@media screen and (max-width:768px){.wy-body-for-nav{background:#fcfcfc}.wy-nav-top{display:block}.wy-nav-side{left:-300px}.wy-nav-side.shift{width:85%;left:0}.wy-menu.wy-menu-vertical,.wy-side-nav-search,.wy-side-scroll{width:auto}.wy-nav-content-wrap{margin-left:0}.wy-nav-content-wrap .wy-nav-content{padding:1.618em}.wy-nav-content-wrap.shift{position:fixed;min-width:100%;left:85%;top:0;height:100%;overflow:hidden}}@media screen and (min-width:1100px){.wy-nav-content-wrap{background:rgba(0,0,0,.05)}.wy-nav-content{margin:0;background:#fcfcfc}}@media print{.rst-versions,.wy-nav-side,footer{display:none}.wy-nav-content-wrap{margin-left:0}}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;z-index:400}.rst-versions a{color:#2980b9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27ae60;*zoom:1}.rst-versions .rst-current-version:after,.rst-versions .rst-current-version:before{display:table;content:""}.rst-versions .rst-current-version:after{clear:both}.rst-content .code-block-caption .rst-versions .rst-current-version .headerlink,.rst-content .eqno .rst-versions .rst-current-version .headerlink,.rst-content .rst-versions .rst-current-version .admonition-title,.rst-content code.download .rst-versions .rst-current-version span:first-child,.rst-content dl dt .rst-versions .rst-current-version .headerlink,.rst-content h1 .rst-versions .rst-current-version .headerlink,.rst-content h2 .rst-versions .rst-current-version .headerlink,.rst-content h3 .rst-versions .rst-current-version .headerlink,.rst-content h4 .rst-versions .rst-current-version .headerlink,.rst-content h5 .rst-versions .rst-current-version .headerlink,.rst-content h6 .rst-versions .rst-current-version .headerlink,.rst-content p .rst-versions .rst-current-version .headerlink,.rst-content table>caption .rst-versions .rst-current-version .headerlink,.rst-content tt.download .rst-versions .rst-current-version span:first-child,.rst-versions .rst-current-version .fa,.rst-versions .rst-current-version .icon,.rst-versions .rst-current-version .rst-content .admonition-title,.rst-versions .rst-current-version .rst-content .code-block-caption .headerlink,.rst-versions .rst-current-version .rst-content .eqno .headerlink,.rst-versions .rst-current-version .rst-content code.download span:first-child,.rst-versions .rst-current-version .rst-content dl dt .headerlink,.rst-versions .rst-current-version .rst-content h1 .headerlink,.rst-versions .rst-current-version .rst-content h2 .headerlink,.rst-versions .rst-current-version .rst-content h3 .headerlink,.rst-versions .rst-current-version .rst-content h4 .headerlink,.rst-versions .rst-current-version .rst-content h5 .headerlink,.rst-versions .rst-current-version .rst-content h6 .headerlink,.rst-versions .rst-current-version .rst-content p .headerlink,.rst-versions .rst-current-version .rst-content table>caption .headerlink,.rst-versions .rst-current-version .rst-content tt.download span:first-child,.rst-versions .rst-current-version .wy-menu-vertical li button.toctree-expand,.wy-menu-vertical li .rst-versions .rst-current-version button.toctree-expand{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#e74c3c;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#f1c40f;color:#000}.rst-versions.shift-up{height:auto;max-height:100%;overflow-y:scroll}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:grey;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:1px solid #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions .rst-other-versions .rtd-current-item{font-weight:700}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px;max-height:90%}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none;line-height:30px}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge>.rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width:768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}}#flyout-search-form{padding:6px}.rst-content .toctree-wrapper>p.caption,.rst-content h1,.rst-content h2,.rst-content h3,.rst-content h4,.rst-content h5,.rst-content h6{margin-bottom:24px}.rst-content img{max-width:100%;height:auto}.rst-content div.figure,.rst-content figure{margin-bottom:24px}.rst-content div.figure .caption-text,.rst-content figure .caption-text{font-style:italic}.rst-content div.figure p:last-child.caption,.rst-content figure p:last-child.caption{margin-bottom:0}.rst-content div.figure.align-center,.rst-content figure.align-center{text-align:center}.rst-content .section>a>img,.rst-content .section>img,.rst-content section>a>img,.rst-content section>img{margin-bottom:24px}.rst-content abbr[title]{text-decoration:none}.rst-content.style-external-links a.reference.external:after{font-family:FontAwesome;content:"\f08e";color:#b3b3b3;vertical-align:super;font-size:60%;margin:0 .2em}.rst-content blockquote{margin-left:24px;line-height:24px;margin-bottom:24px}.rst-content pre.literal-block{white-space:pre;margin:0;padding:12px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;display:block;overflow:auto}.rst-content div[class^=highlight],.rst-content pre.literal-block{border:1px solid #e1e4e5;overflow-x:auto;margin:1px 0 24px}.rst-content div[class^=highlight] div[class^=highlight],.rst-content pre.literal-block div[class^=highlight]{padding:0;border:none;margin:0}.rst-content div[class^=highlight] td.code{width:100%}.rst-content .linenodiv pre{border-right:1px solid #e6e9ea;margin:0;padding:12px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;user-select:none;pointer-events:none}.rst-content div[class^=highlight] pre{white-space:pre;margin:0;padding:12px;display:block;overflow:auto}.rst-content div[class^=highlight] pre .hll{display:block;margin:0 -12px;padding:0 12px}.rst-content .linenodiv pre,.rst-content div[class^=highlight] pre,.rst-content pre.literal-block{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;font-size:12px;line-height:1.4}.rst-content div.highlight .gp,.rst-content div.highlight span.linenos{user-select:none;pointer-events:none}.rst-content div.highlight span.linenos{display:inline-block;padding-left:0;padding-right:12px;margin-right:12px;border-right:1px solid #e6e9ea}.rst-content .code-block-caption{font-style:italic;font-size:85%;line-height:1;padding:1em 0;text-align:center}@media print{.rst-content .codeblock,.rst-content div[class^=highlight],.rst-content div[class^=highlight] pre{white-space:pre-wrap}}.rst-content .admonition,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning{clear:both}.rst-content .admonition-todo .last,.rst-content .admonition-todo>:last-child,.rst-content .admonition .last,.rst-content .admonition>:last-child,.rst-content .attention .last,.rst-content .attention>:last-child,.rst-content .caution .last,.rst-content .caution>:last-child,.rst-content .danger .last,.rst-content .danger>:last-child,.rst-content .error .last,.rst-content .error>:last-child,.rst-content .hint .last,.rst-content .hint>:last-child,.rst-content .important .last,.rst-content .important>:last-child,.rst-content .note .last,.rst-content .note>:last-child,.rst-content .seealso .last,.rst-content .seealso>:last-child,.rst-content .tip .last,.rst-content .tip>:last-child,.rst-content .warning .last,.rst-content .warning>:last-child{margin-bottom:0}.rst-content .admonition-title:before{margin-right:4px}.rst-content .admonition table{border-color:rgba(0,0,0,.1)}.rst-content .admonition table td,.rst-content .admonition table th{background:transparent!important;border-color:rgba(0,0,0,.1)!important}.rst-content .section ol.loweralpha,.rst-content .section ol.loweralpha>li,.rst-content .toctree-wrapper ol.loweralpha,.rst-content .toctree-wrapper ol.loweralpha>li,.rst-content section ol.loweralpha,.rst-content section ol.loweralpha>li{list-style:lower-alpha}.rst-content .section ol.upperalpha,.rst-content .section ol.upperalpha>li,.rst-content .toctree-wrapper ol.upperalpha,.rst-content .toctree-wrapper ol.upperalpha>li,.rst-content section ol.upperalpha,.rst-content section ol.upperalpha>li{list-style:upper-alpha}.rst-content .section ol li>*,.rst-content .section ul li>*,.rst-content .toctree-wrapper ol li>*,.rst-content .toctree-wrapper ul li>*,.rst-content section ol li>*,.rst-content section ul li>*{margin-top:12px;margin-bottom:12px}.rst-content .section ol li>:first-child,.rst-content .section ul li>:first-child,.rst-content .toctree-wrapper ol li>:first-child,.rst-content .toctree-wrapper ul li>:first-child,.rst-content section ol li>:first-child,.rst-content section ul li>:first-child{margin-top:0}.rst-content .section ol li>p,.rst-content .section ol li>p:last-child,.rst-content .section ul li>p,.rst-content .section ul li>p:last-child,.rst-content .toctree-wrapper ol li>p,.rst-content .toctree-wrapper ol li>p:last-child,.rst-content .toctree-wrapper ul li>p,.rst-content .toctree-wrapper ul li>p:last-child,.rst-content section ol li>p,.rst-content section ol li>p:last-child,.rst-content section ul li>p,.rst-content section ul li>p:last-child{margin-bottom:12px}.rst-content .section ol li>p:only-child,.rst-content .section ol li>p:only-child:last-child,.rst-content .section ul li>p:only-child,.rst-content .section ul li>p:only-child:last-child,.rst-content .toctree-wrapper ol li>p:only-child,.rst-content .toctree-wrapper ol li>p:only-child:last-child,.rst-content .toctree-wrapper ul li>p:only-child,.rst-content .toctree-wrapper ul li>p:only-child:last-child,.rst-content section ol li>p:only-child,.rst-content section ol li>p:only-child:last-child,.rst-content section ul li>p:only-child,.rst-content section ul li>p:only-child:last-child{margin-bottom:0}.rst-content .section ol li>ol,.rst-content .section ol li>ul,.rst-content .section ul li>ol,.rst-content .section ul li>ul,.rst-content .toctree-wrapper ol li>ol,.rst-content .toctree-wrapper ol li>ul,.rst-content .toctree-wrapper ul li>ol,.rst-content .toctree-wrapper ul li>ul,.rst-content section ol li>ol,.rst-content section ol li>ul,.rst-content section ul li>ol,.rst-content section ul li>ul{margin-bottom:12px}.rst-content .section ol.simple li>*,.rst-content .section ol.simple li ol,.rst-content .section ol.simple li ul,.rst-content .section ul.simple li>*,.rst-content .section ul.simple li ol,.rst-content .section ul.simple li ul,.rst-content .toctree-wrapper ol.simple li>*,.rst-content .toctree-wrapper ol.simple li ol,.rst-content .toctree-wrapper ol.simple li ul,.rst-content .toctree-wrapper ul.simple li>*,.rst-content .toctree-wrapper ul.simple li ol,.rst-content .toctree-wrapper ul.simple li ul,.rst-content section ol.simple li>*,.rst-content section ol.simple li ol,.rst-content section ol.simple li ul,.rst-content section ul.simple li>*,.rst-content section ul.simple li ol,.rst-content section ul.simple li ul{margin-top:0;margin-bottom:0}.rst-content .line-block{margin-left:0;margin-bottom:24px;line-height:24px}.rst-content .line-block .line-block{margin-left:24px;margin-bottom:0}.rst-content .topic-title{font-weight:700;margin-bottom:12px}.rst-content .toc-backref{color:#404040}.rst-content .align-right{float:right;margin:0 0 24px 24px}.rst-content .align-left{float:left;margin:0 24px 24px 0}.rst-content .align-center{margin:auto}.rst-content .align-center:not(table){display:block}.rst-content .code-block-caption .headerlink,.rst-content .eqno .headerlink,.rst-content .toctree-wrapper>p.caption .headerlink,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content p .headerlink,.rst-content table>caption .headerlink{opacity:0;font-size:14px;font-family:FontAwesome;margin-left:.5em}.rst-content .code-block-caption .headerlink:focus,.rst-content .code-block-caption:hover .headerlink,.rst-content .eqno .headerlink:focus,.rst-content .eqno:hover .headerlink,.rst-content .toctree-wrapper>p.caption .headerlink:focus,.rst-content .toctree-wrapper>p.caption:hover .headerlink,.rst-content dl dt .headerlink:focus,.rst-content dl dt:hover .headerlink,.rst-content h1 .headerlink:focus,.rst-content h1:hover .headerlink,.rst-content h2 .headerlink:focus,.rst-content h2:hover .headerlink,.rst-content h3 .headerlink:focus,.rst-content h3:hover .headerlink,.rst-content h4 .headerlink:focus,.rst-content h4:hover .headerlink,.rst-content h5 .headerlink:focus,.rst-content h5:hover .headerlink,.rst-content h6 .headerlink:focus,.rst-content h6:hover .headerlink,.rst-content p.caption .headerlink:focus,.rst-content p.caption:hover .headerlink,.rst-content p .headerlink:focus,.rst-content p:hover .headerlink,.rst-content table>caption .headerlink:focus,.rst-content table>caption:hover .headerlink{opacity:1}.rst-content p a{overflow-wrap:anywhere}.rst-content .wy-table td p,.rst-content .wy-table td ul,.rst-content .wy-table th p,.rst-content .wy-table th ul,.rst-content table.docutils td p,.rst-content table.docutils td ul,.rst-content table.docutils th p,.rst-content table.docutils th ul,.rst-content table.field-list td p,.rst-content table.field-list td ul,.rst-content table.field-list th p,.rst-content table.field-list th ul{font-size:inherit}.rst-content .btn:focus{outline:2px solid}.rst-content table>caption .headerlink:after{font-size:12px}.rst-content .centered{text-align:center}.rst-content .sidebar{float:right;width:40%;display:block;margin:0 0 24px 24px;padding:24px;background:#f3f6f6;border:1px solid #e1e4e5}.rst-content .sidebar dl,.rst-content .sidebar p,.rst-content .sidebar ul{font-size:90%}.rst-content .sidebar .last,.rst-content .sidebar>:last-child{margin-bottom:0}.rst-content .sidebar .sidebar-title{display:block;font-family:Roboto Slab,ff-tisa-web-pro,Georgia,Arial,sans-serif;font-weight:700;background:#e1e4e5;padding:6px 12px;margin:-24px -24px 24px;font-size:100%}.rst-content .highlighted{background:#f1c40f;box-shadow:0 0 0 2px #f1c40f;display:inline;font-weight:700}.rst-content .citation-reference,.rst-content .footnote-reference{vertical-align:baseline;position:relative;top:-.4em;line-height:0;font-size:90%}.rst-content .citation-reference>span.fn-bracket,.rst-content .footnote-reference>span.fn-bracket{display:none}.rst-content .hlist{width:100%}.rst-content dl dt span.classifier:before{content:" : "}.rst-content dl dt span.classifier-delimiter{display:none!important}html.writer-html4 .rst-content table.docutils.citation,html.writer-html4 .rst-content table.docutils.footnote{background:none;border:none}html.writer-html4 .rst-content table.docutils.citation td,html.writer-html4 .rst-content table.docutils.citation tr,html.writer-html4 .rst-content table.docutils.footnote td,html.writer-html4 .rst-content table.docutils.footnote tr{border:none;background-color:transparent!important;white-space:normal}html.writer-html4 .rst-content table.docutils.citation td.label,html.writer-html4 .rst-content table.docutils.footnote td.label{padding-left:0;padding-right:0;vertical-align:top}html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.field-list,html.writer-html5 .rst-content dl.footnote{display:grid;grid-template-columns:auto minmax(80%,95%)}html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.field-list>dt,html.writer-html5 .rst-content dl.footnote>dt{display:inline-grid;grid-template-columns:max-content auto}html.writer-html5 .rst-content aside.citation,html.writer-html5 .rst-content aside.footnote,html.writer-html5 .rst-content div.citation{display:grid;grid-template-columns:auto auto minmax(.65rem,auto) minmax(40%,95%)}html.writer-html5 .rst-content aside.citation>span.label,html.writer-html5 .rst-content aside.footnote>span.label,html.writer-html5 .rst-content div.citation>span.label{grid-column-start:1;grid-column-end:2}html.writer-html5 .rst-content aside.citation>span.backrefs,html.writer-html5 .rst-content aside.footnote>span.backrefs,html.writer-html5 .rst-content div.citation>span.backrefs{grid-column-start:2;grid-column-end:3;grid-row-start:1;grid-row-end:3}html.writer-html5 .rst-content aside.citation>p,html.writer-html5 .rst-content aside.footnote>p,html.writer-html5 .rst-content div.citation>p{grid-column-start:4;grid-column-end:5}html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.field-list,html.writer-html5 .rst-content dl.footnote{margin-bottom:24px}html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.field-list>dt,html.writer-html5 .rst-content dl.footnote>dt{padding-left:1rem}html.writer-html5 .rst-content dl.citation>dd,html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.field-list>dd,html.writer-html5 .rst-content dl.field-list>dt,html.writer-html5 .rst-content dl.footnote>dd,html.writer-html5 .rst-content dl.footnote>dt{margin-bottom:0}html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.footnote{font-size:.9rem}html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.footnote>dt{margin:0 .5rem .5rem 0;line-height:1.2rem;word-break:break-all;font-weight:400}html.writer-html5 .rst-content dl.citation>dt>span.brackets:before,html.writer-html5 .rst-content dl.footnote>dt>span.brackets:before{content:"["}html.writer-html5 .rst-content dl.citation>dt>span.brackets:after,html.writer-html5 .rst-content dl.footnote>dt>span.brackets:after{content:"]"}html.writer-html5 .rst-content dl.citation>dt>span.fn-backref,html.writer-html5 .rst-content dl.footnote>dt>span.fn-backref{text-align:left;font-style:italic;margin-left:.65rem;word-break:break-word;word-spacing:-.1rem;max-width:5rem}html.writer-html5 .rst-content dl.citation>dt>span.fn-backref>a,html.writer-html5 .rst-content dl.footnote>dt>span.fn-backref>a{word-break:keep-all}html.writer-html5 .rst-content dl.citation>dt>span.fn-backref>a:not(:first-child):before,html.writer-html5 .rst-content dl.footnote>dt>span.fn-backref>a:not(:first-child):before{content:" "}html.writer-html5 .rst-content dl.citation>dd,html.writer-html5 .rst-content dl.footnote>dd{margin:0 0 .5rem;line-height:1.2rem}html.writer-html5 .rst-content dl.citation>dd p,html.writer-html5 .rst-content dl.footnote>dd p{font-size:.9rem}html.writer-html5 .rst-content aside.citation,html.writer-html5 .rst-content aside.footnote,html.writer-html5 .rst-content div.citation{padding-left:1rem;padding-right:1rem;font-size:.9rem;line-height:1.2rem}html.writer-html5 .rst-content aside.citation p,html.writer-html5 .rst-content aside.footnote p,html.writer-html5 .rst-content div.citation p{font-size:.9rem;line-height:1.2rem;margin-bottom:12px}html.writer-html5 .rst-content aside.citation span.backrefs,html.writer-html5 .rst-content aside.footnote span.backrefs,html.writer-html5 .rst-content div.citation span.backrefs{text-align:left;font-style:italic;margin-left:.65rem;word-break:break-word;word-spacing:-.1rem;max-width:5rem}html.writer-html5 .rst-content aside.citation span.backrefs>a,html.writer-html5 .rst-content aside.footnote span.backrefs>a,html.writer-html5 .rst-content div.citation span.backrefs>a{word-break:keep-all}html.writer-html5 .rst-content aside.citation span.backrefs>a:not(:first-child):before,html.writer-html5 .rst-content aside.footnote span.backrefs>a:not(:first-child):before,html.writer-html5 .rst-content div.citation span.backrefs>a:not(:first-child):before{content:" "}html.writer-html5 .rst-content aside.citation span.label,html.writer-html5 .rst-content aside.footnote span.label,html.writer-html5 .rst-content div.citation span.label{line-height:1.2rem}html.writer-html5 .rst-content aside.citation-list,html.writer-html5 .rst-content aside.footnote-list,html.writer-html5 .rst-content div.citation-list{margin-bottom:24px}html.writer-html5 .rst-content dl.option-list kbd{font-size:.9rem}.rst-content table.docutils.footnote,html.writer-html4 .rst-content table.docutils.citation,html.writer-html5 .rst-content aside.footnote,html.writer-html5 .rst-content aside.footnote-list aside.footnote,html.writer-html5 .rst-content div.citation-list>div.citation,html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.footnote{color:grey}.rst-content table.docutils.footnote code,.rst-content table.docutils.footnote tt,html.writer-html4 .rst-content table.docutils.citation code,html.writer-html4 .rst-content table.docutils.citation tt,html.writer-html5 .rst-content aside.footnote-list aside.footnote code,html.writer-html5 .rst-content aside.footnote-list aside.footnote tt,html.writer-html5 .rst-content aside.footnote code,html.writer-html5 .rst-content aside.footnote tt,html.writer-html5 .rst-content div.citation-list>div.citation code,html.writer-html5 .rst-content div.citation-list>div.citation tt,html.writer-html5 .rst-content dl.citation code,html.writer-html5 .rst-content dl.citation tt,html.writer-html5 .rst-content dl.footnote code,html.writer-html5 .rst-content dl.footnote tt{color:#555}.rst-content .wy-table-responsive.citation,.rst-content .wy-table-responsive.footnote{margin-bottom:0}.rst-content .wy-table-responsive.citation+:not(.citation),.rst-content .wy-table-responsive.footnote+:not(.footnote){margin-top:24px}.rst-content .wy-table-responsive.citation:last-child,.rst-content .wy-table-responsive.footnote:last-child{margin-bottom:24px}.rst-content table.docutils th{border-color:#e1e4e5}html.writer-html5 .rst-content table.docutils th{border:1px solid #e1e4e5}html.writer-html5 .rst-content table.docutils td>p,html.writer-html5 .rst-content table.docutils th>p{line-height:1rem;margin-bottom:0;font-size:.9rem}.rst-content table.docutils td .last,.rst-content table.docutils td .last>:last-child{margin-bottom:0}.rst-content table.field-list,.rst-content table.field-list td{border:none}.rst-content table.field-list td p{line-height:inherit}.rst-content table.field-list td>strong{display:inline-block}.rst-content table.field-list .field-name{padding-right:10px;text-align:left;white-space:nowrap}.rst-content table.field-list .field-body{text-align:left}.rst-content code,.rst-content tt{color:#000;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;padding:2px 5px}.rst-content code big,.rst-content code em,.rst-content tt big,.rst-content tt em{font-size:100%!important;line-height:normal}.rst-content code.literal,.rst-content tt.literal{color:#e74c3c;white-space:normal}.rst-content code.xref,.rst-content tt.xref,a .rst-content code,a .rst-content tt{font-weight:700;color:#404040;overflow-wrap:normal}.rst-content kbd,.rst-content pre,.rst-content samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace}.rst-content a code,.rst-content a tt{color:#2980b9}.rst-content dl{margin-bottom:24px}.rst-content dl dt{font-weight:700;margin-bottom:12px}.rst-content dl ol,.rst-content dl p,.rst-content dl table,.rst-content dl ul{margin-bottom:12px}.rst-content dl dd{margin:0 0 12px 24px;line-height:24px}.rst-content dl dd>ol:last-child,.rst-content dl dd>p:last-child,.rst-content dl dd>table:last-child,.rst-content dl dd>ul:last-child{margin-bottom:0}html.writer-html4 .rst-content dl:not(.docutils),html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple){margin-bottom:24px}html.writer-html4 .rst-content dl:not(.docutils)>dt,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt{display:table;margin:6px 0;font-size:90%;line-height:normal;background:#e7f2fa;color:#2980b9;border-top:3px solid #6ab0de;padding:6px;position:relative}html.writer-html4 .rst-content dl:not(.docutils)>dt:before,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt:before{color:#6ab0de}html.writer-html4 .rst-content dl:not(.docutils)>dt .headerlink,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt .headerlink{color:#404040;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt{margin-bottom:6px;border:none;border-left:3px solid #ccc;background:#f0f0f0;color:#555}html.writer-html4 .rst-content dl:not(.docutils) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt .headerlink,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt .headerlink{color:#404040;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils)>dt:first-child,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt:first-child{margin-top:0}html.writer-html4 .rst-content dl:not(.docutils) code.descclassname,html.writer-html4 .rst-content dl:not(.docutils) code.descname,html.writer-html4 .rst-content dl:not(.docutils) tt.descclassname,html.writer-html4 .rst-content dl:not(.docutils) tt.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) code.descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) code.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) tt.descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) tt.descname{background-color:transparent;border:none;padding:0;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils) code.descname,html.writer-html4 .rst-content dl:not(.docutils) tt.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) code.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) tt.descname{font-weight:700}html.writer-html4 .rst-content dl:not(.docutils) .optional,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .optional{display:inline-block;padding:0 4px;color:#000;font-weight:700}html.writer-html4 .rst-content dl:not(.docutils) .property,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .property{display:inline-block;padding-right:8px;max-width:100%}html.writer-html4 .rst-content dl:not(.docutils) .k,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .k{font-style:italic}html.writer-html4 .rst-content dl:not(.docutils) .descclassname,html.writer-html4 .rst-content dl:not(.docutils) .descname,html.writer-html4 .rst-content dl:not(.docutils) .sig-name,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .sig-name{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;color:#000}.rst-content .viewcode-back,.rst-content .viewcode-link{display:inline-block;color:#27ae60;font-size:80%;padding-left:24px}.rst-content .viewcode-back{display:block;float:right}.rst-content p.rubric{margin-bottom:12px;font-weight:700}.rst-content code.download,.rst-content tt.download{background:inherit;padding:inherit;font-weight:400;font-family:inherit;font-size:inherit;color:inherit;border:inherit;white-space:inherit}.rst-content code.download span:first-child,.rst-content tt.download span:first-child{-webkit-font-smoothing:subpixel-antialiased}.rst-content code.download span:first-child:before,.rst-content tt.download span:first-child:before{margin-right:4px}.rst-content .guilabel,.rst-content .menuselection{font-size:80%;font-weight:700;border-radius:4px;padding:2.4px 6px;margin:auto 2px}.rst-content .guilabel,.rst-content .menuselection{border:1px solid #7fbbe3;background:#e7f2fa}.rst-content :not(dl.option-list)>:not(dt):not(kbd):not(.kbd)>.kbd,.rst-content :not(dl.option-list)>:not(dt):not(kbd):not(.kbd)>kbd{color:inherit;font-size:80%;background-color:#fff;border:1px solid #a6a6a6;border-radius:4px;box-shadow:0 2px grey;padding:2.4px 6px;margin:auto 0}.rst-content .versionmodified{font-style:italic}@media screen and (max-width:480px){.rst-content .sidebar{width:100%}}span[id*=MathJax-Span]{color:#404040}.math{text-align:center}@font-face{font-family:Lato;src:url(fonts/lato-normal.woff2?bd03a2cc277bbbc338d464e679fe9942) format("woff2"),url(fonts/lato-normal.woff?27bd77b9162d388cb8d4c4217c7c5e2a) format("woff");font-weight:400;font-style:normal;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-bold.woff2?cccb897485813c7c256901dbca54ecf2) format("woff2"),url(fonts/lato-bold.woff?d878b6c29b10beca227e9eef4246111b) format("woff");font-weight:700;font-style:normal;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-bold-italic.woff2?0b6bb6725576b072c5d0b02ecdd1900d) format("woff2"),url(fonts/lato-bold-italic.woff?9c7e4e9eb485b4a121c760e61bc3707c) format("woff");font-weight:700;font-style:italic;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-normal-italic.woff2?4eb103b4d12be57cb1d040ed5e162e9d) format("woff2"),url(fonts/lato-normal-italic.woff?f28f2d6482446544ef1ea1ccc6dd5892) format("woff");font-weight:400;font-style:italic;font-display:block}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:400;src:url(fonts/Roboto-Slab-Regular.woff2?7abf5b8d04d26a2cafea937019bca958) format("woff2"),url(fonts/Roboto-Slab-Regular.woff?c1be9284088d487c5e3ff0a10a92e58c) format("woff");font-display:block}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:700;src:url(fonts/Roboto-Slab-Bold.woff2?9984f4a9bda09be08e83f2506954adbe) format("woff2"),url(fonts/Roboto-Slab-Bold.woff?bed5564a116b05148e3b3bea6fb1162a) format("woff");font-display:block}
================================================
FILE: docs/_static/doctools.js
================================================
/*
* doctools.js
* ~~~~~~~~~~~
*
* Base JavaScript utilities for all Sphinx HTML documentation.
*
* :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
"use strict";
const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([
"TEXTAREA",
"INPUT",
"SELECT",
"BUTTON",
]);
const _ready = (callback) => {
if (document.readyState !== "loading") {
callback();
} else {
document.addEventListener("DOMContentLoaded", callback);
}
};
/**
* Small JavaScript module for the documentation.
*/
const Documentation = {
init: () => {
Documentation.initDomainIndexTable();
Documentation.initOnKeyListeners();
},
/**
* i18n support
*/
TRANSLATIONS: {},
PLURAL_EXPR: (n) => (n === 1 ? 0 : 1),
LOCALE: "unknown",
// gettext and ngettext don't access this so that the functions
// can safely bound to a different name (_ = Documentation.gettext)
gettext: (string) => {
const translated = Documentation.TRANSLATIONS[string];
switch (typeof translated) {
case "undefined":
return string; // no translation
case "string":
return translated; // translation exists
default:
return translated[0]; // (singular, plural) translation tuple exists
}
},
ngettext: (singular, plural, n) => {
const translated = Documentation.TRANSLATIONS[singular];
if (typeof translated !== "undefined")
return translated[Documentation.PLURAL_EXPR(n)];
return n === 1 ? singular : plural;
},
addTranslations: (catalog) => {
Object.assign(Documentation.TRANSLATIONS, catalog.messages);
Documentation.PLURAL_EXPR = new Function(
"n",
`return (${catalog.plural_expr})`
);
Documentation.LOCALE = catalog.locale;
},
/**
* helper function to focus on search bar
*/
focusSearchBar: () => {
document.querySelectorAll("input[name=q]")[0]?.focus();
},
/**
* Initialise the domain index toggle buttons
*/
initDomainIndexTable: () => {
const toggler = (el) => {
const idNumber = el.id.substr(7);
const toggledRows = document.querySelectorAll(`tr.cg-${idNumber}`);
if (el.src.substr(-9) === "minus.png") {
el.src = `${el.src.substr(0, el.src.length - 9)}plus.png`;
toggledRows.forEach((el) => (el.style.display = "none"));
} else {
el.src = `${el.src.substr(0, el.src.length - 8)}minus.png`;
toggledRows.forEach((el) => (el.style.display = ""));
}
};
const togglerElements = document.querySelectorAll("img.toggler");
togglerElements.forEach((el) =>
el.addEventListener("click", (event) => toggler(event.currentTarget))
);
togglerElements.forEach((el) => (el.style.display = ""));
if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) togglerElements.forEach(toggler);
},
initOnKeyListeners: () => {
// only install a listener if it is really needed
if (
!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS &&
!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS
)
return;
document.addEventListener("keydown", (event) => {
// bail for input elements
if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return;
// bail with special keys
if (event.altKey || event.ctrlKey || event.metaKey) return;
if (!event.shiftKey) {
switch (event.key) {
case "ArrowLeft":
if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break;
const prevLink = document.querySelector('link[rel="prev"]');
if (prevLink && prevLink.href) {
window.location.href = prevLink.href;
event.preventDefault();
}
break;
case "ArrowRight":
if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break;
const nextLink = document.querySelector('link[rel="next"]');
if (nextLink && nextLink.href) {
window.location.href = nextLink.href;
event.preventDefault();
}
break;
}
}
// some keyboard layouts may need Shift to get /
switch (event.key) {
case "/":
if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break;
Documentation.focusSearchBar();
event.preventDefault();
}
});
},
};
// quick alias for translations
const _ = Documentation.gettext;
_ready(Documentation.init);
================================================
FILE: docs/_static/documentation_options.js
================================================
const DOCUMENTATION_OPTIONS = {
VERSION: '1.0.2404',
LANGUAGE: 'en',
COLLAPSE_INDEX: false,
BUILDER: 'html',
FILE_SUFFIX: '.html',
LINK_SUFFIX: '.html',
HAS_SOURCE: true,
SOURCELINK_SUFFIX: '.txt',
NAVIGATION_WITH_KEYS: false,
SHOW_SEARCH_SUMMARY: true,
ENABLE_SEARCH_SHORTCUTS: true,
};
================================================
FILE: docs/_static/jquery-3.5.1.js
================================================
/*!
* jQuery JavaScript Library v3.5.1
* https://jquery.com/
*
* Includes Sizzle.js
* https://sizzlejs.com/
*
* Copyright JS Foundation and other contributors
* Released under the MIT license
* https://jquery.org/license
*
* Date: 2020-05-04T22:49Z
*/
( function( global, factory ) {
"use strict";
if ( typeof module === "object" && typeof module.exports === "object" ) {
// For CommonJS and CommonJS-like environments where a proper `window`
// is present, execute the factory and get jQuery.
// For environments that do not have a `window` with a `document`
// (such as Node.js), expose a factory as module.exports.
// This accentuates the need for the creation of a real `window`.
// e.g. var jQuery = require("jquery")(window);
// See ticket #14549 for more info.
module.exports = global.document ?
factory( global, true ) :
function( w ) {
if ( !w.document ) {
throw new Error( "jQuery requires a window with a document" );
}
return factory( w );
};
} else {
factory( global );
}
// Pass this if window is not defined yet
} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) {
// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1
// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode
// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common
// enough that all such attempts are guarded in a try block.
"use strict";
var arr = [];
var getProto = Object.getPrototypeOf;
var slice = arr.slice;
var flat = arr.flat ? function( array ) {
return arr.flat.call( array );
} : function( array ) {
return arr.concat.apply( [], array );
};
var push = arr.push;
var indexOf = arr.indexOf;
var class2type = {};
var toString = class2type.toString;
var hasOwn = class2type.hasOwnProperty;
var fnToString = hasOwn.toString;
var ObjectFunctionString = fnToString.call( Object );
var support = {};
var isFunction = function isFunction( obj ) {
// Support: Chrome <=57, Firefox <=52
// In some browsers, typeof returns "function" for HTML <object> elements
// (i.e., `typeof document.createElement( "object" ) === "function"`).
// We don't want to classify *any* DOM node as a function.
return typeof obj === "function" && typeof obj.nodeType !== "number";
};
var isWindow = function isWindow( obj ) {
return obj != null && obj === obj.window;
};
var document = window.document;
var preservedScriptAttributes = {
type: true,
src: true,
nonce: true,
noModule: true
};
function DOMEval( code, node, doc ) {
doc = doc || document;
var i, val,
script = doc.createElement( "script" );
script.text = code;
if ( node ) {
for ( i in preservedScriptAttributes ) {
// Support: Firefox 64+, Edge 18+
// Some browsers don't support the "nonce" property on scripts.
// On the other hand, just using `getAttribute` is not enough as
// the `nonce` attribute is reset to an empty string whenever it
// becomes browsing-context connected.
// See https://github.com/whatwg/html/issues/2369
// See https://html.spec.whatwg.org/#nonce-attributes
// The `node.getAttribute` check was added for the sake of
// `jQuery.globalEval` so that it can fake a nonce-containing node
// via an object.
val = node[ i ] || node.getAttribute && node.getAttribute( i );
if ( val ) {
script.setAttribute( i, val );
}
}
}
doc.head.appendChild( script ).parentNode.removeChild( script );
}
function toType( obj ) {
if ( obj == null ) {
return obj + "";
}
// Support: Android <=2.3 only (functionish RegExp)
return typeof obj === "object" || typeof obj === "function" ?
class2type[ toString.call( obj ) ] || "object" :
typeof obj;
}
/* global Symbol */
// Defining this global in .eslintrc.json would create a danger of using the global
// unguarded in another place, it seems safer to define global only for this module
var
version = "3.5.1",
// Define a local copy of jQuery
jQuery = function( selector, context ) {
// The jQuery object is actually just the init constructor 'enhanced'
// Need init if jQuery is called (just allow error to be thrown if not included)
return new jQuery.fn.init( selector, context );
};
jQuery.fn = jQuery.prototype = {
// The current version of jQuery being used
jquery: version,
constructor: jQuery,
// The default length of a jQuery object is 0
length: 0,
toArray: function() {
return slice.call( this );
},
// Get the Nth element in the matched element set OR
// Get the whole matched element set as a clean array
get: function( num ) {
// Return all the elements in a clean array
if ( num == null ) {
return slice.call( this );
}
// Return just the one element from the set
return num < 0 ? this[ num + this.length ] : this[ num ];
},
// Take an array of elements and push it onto the stack
// (returning the new matched element set)
pushStack: function( elems ) {
// Build a new jQuery matched element set
var ret = jQuery.merge( this.constructor(), elems );
// Add the old object onto the stack (as a reference)
ret.prevObject = this;
// Return the newly-formed element set
return ret;
},
// Execute a callback for every element in the matched set.
each: function( callback ) {
return jQuery.each( this, callback );
},
map: function( callback ) {
return this.pushStack( jQuery.map( this, function( elem, i ) {
return callback.call( elem, i, elem );
} ) );
},
slice: function() {
return this.pushStack( slice.apply( this, arguments ) );
},
first: function() {
return this.eq( 0 );
},
last: function() {
return this.eq( -1 );
},
even: function() {
return this.pushStack( jQuery.grep( this, function( _elem, i ) {
return ( i + 1 ) % 2;
} ) );
},
odd: function() {
return this.pushStack( jQuery.grep( this, function( _elem, i ) {
return i % 2;
} ) );
},
eq: function( i ) {
var len = this.length,
j = +i + ( i < 0 ? len : 0 );
return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );
},
end: function() {
return this.prevObject || this.constructor();
},
// For internal use only.
// Behaves like an Array's method, not like a jQuery method.
push: push,
sort: arr.sort,
splice: arr.splice
};
jQuery.extend = jQuery.fn.extend = function() {
var options, name, src, copy, copyIsArray, clone,
target = arguments[ 0 ] || {},
i = 1,
length = arguments.length,
deep = false;
// Handle a deep copy situation
if ( typeof target === "boolean" ) {
deep = target;
// Skip the boolean and the target
target = arguments[ i ] || {};
i++;
}
// Handle case when target is a string or something (possible in deep copy)
if ( typeof target !== "object" && !isFunction( target ) ) {
target = {};
}
// Extend jQuery itself if only one argument is passed
if ( i === length ) {
target = this;
i--;
}
for ( ; i < length; i++ ) {
// Only deal with non-null/undefined values
if ( ( options = arguments[ i ] ) != null ) {
// Extend the base object
for ( name in options ) {
copy = options[ name ];
// Prevent Object.prototype pollution
// Prevent never-ending loop
if ( name === "__proto__" || target === copy ) {
continue;
}
// Recurse if we're merging plain objects or arrays
if ( deep && copy && ( jQuery.isPlainObject( copy ) ||
( copyIsArray = Array.isArray( copy ) ) ) ) {
src = target[ name ];
// Ensure proper type for the source value
if ( copyIsArray && !Array.isArray( src ) ) {
clone = [];
} else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) {
clone = {};
} else {
clone = src;
}
copyIsArray = false;
// Never move original objects, clone them
target[ name ] = jQuery.extend( deep, clone, copy );
// Don't bring in undefined values
} else if ( copy !== undefined ) {
target[ name ] = copy;
}
}
}
}
// Return the modified object
return target;
};
jQuery.extend( {
// Unique for each copy of jQuery on the page
expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ),
// Assume jQuery is ready without the ready module
isReady: true,
error: function( msg ) {
throw new Error( msg );
},
noop: function() {},
isPlainObject: function( obj ) {
var proto, Ctor;
// Detect obvious negatives
// Use toString instead of jQuery.type to catch host objects
if ( !obj || toString.call( obj ) !== "[object Object]" ) {
return false;
}
proto = getProto( obj );
// Objects with no prototype (e.g., `Object.create( null )`) are plain
if ( !proto ) {
return true;
}
// Objects with prototype are plain iff they were constructed by a global Object function
Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor;
return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString;
},
isEmptyObject: function( obj ) {
var name;
for ( name in obj ) {
return false;
}
return true;
},
// Evaluates a script in a provided context; falls back to the global one
// if not specified.
globalEval: function( code, options, doc ) {
DOMEval( code, { nonce: options && options.nonce }, doc );
},
each: function( obj, callback ) {
var length, i = 0;
if ( isArrayLike( obj ) ) {
length = obj.length;
for ( ; i < length; i++ ) {
if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
break;
}
}
} else {
for ( i in obj ) {
if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
break;
}
}
}
return obj;
},
// results is for internal usage only
makeArray: function( arr, results ) {
var ret = results || [];
if ( arr != null ) {
if ( isArrayLike( Object( arr ) ) ) {
jQuery.merge( ret,
typeof arr === "string" ?
[ arr ] : arr
);
} else {
push.call( ret, arr );
}
}
return ret;
},
inArray: function( elem, arr, i ) {
return arr == null ? -1 : indexOf.call( arr, elem, i );
},
// Support: Android <=4.0 only, PhantomJS 1 only
// push.apply(_, arraylike) throws on ancient WebKit
merge: function( first, second ) {
var len = +second.length,
j = 0,
i = first.length;
for ( ; j < len; j++ ) {
first[ i++ ] = second[ j ];
}
first.length = i;
return first;
},
grep: function( elems, callback, invert ) {
var callbackInverse,
matches = [],
i = 0,
length = elems.length,
callbackExpect = !invert;
// Go through the array, only saving the items
// that pass the validator function
for ( ; i < length; i++ ) {
callbackInverse = !callback( elems[ i ], i );
if ( callbackInverse !== callbackExpect ) {
matches.push( elems[ i ] );
}
}
return matches;
},
// arg is for internal usage only
map: function( elems, callback, arg ) {
var length, value,
i = 0,
ret = [];
// Go through the array, translating each of the items to their new values
if ( isArrayLike( elems ) ) {
length = elems.length;
for ( ; i < length; i++ ) {
value = callback( elems[ i ], i, arg );
if ( value != null ) {
ret.push( value );
}
}
// Go through every key on the object,
} else {
for ( i in elems ) {
value = callback( elems[ i ], i, arg );
if ( value != null ) {
ret.push( value );
}
}
}
// Flatten any nested arrays
return flat( ret );
},
// A global GUID counter for objects
guid: 1,
// jQuery.support is not used in Core but other projects attach their
// properties to it so it needs to exist.
support: support
} );
if ( typeof Symbol === "function" ) {
jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];
}
// Populate the class2type map
jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ),
function( _i, name ) {
class2type[ "[object " + name + "]" ] = name.toLowerCase();
} );
function isArrayLike( obj ) {
// Support: real iOS 8.2 only (not reproducible in simulator)
// `in` check used to prevent JIT error (gh-2145)
// hasOwn isn't used here due to false negatives
// regarding Nodelist length in IE
var length = !!obj && "length" in obj && obj.length,
type = toType( obj );
if ( isFunction( obj ) || isWindow( obj ) ) {
return false;
}
return type === "array" || length === 0 ||
typeof length === "number" && length > 0 && ( length - 1 ) in obj;
}
var Sizzle =
/*!
* Sizzle CSS Selector Engine v2.3.5
* https://sizzlejs.com/
*
* Copyright JS Foundation and other contributors
* Released under the MIT license
* https://js.foundation/
*
* Date: 2020-03-14
*/
( function( window ) {
var i,
support,
Expr,
getText,
isXML,
tokenize,
compile,
select,
outermostContext,
sortInput,
hasDuplicate,
// Local document vars
setDocument,
document,
docElem,
documentIsHTML,
rbuggyQSA,
rbuggyMatches,
matches,
contains,
// Instance-specific data
expando = "sizzle" + 1 * new Date(),
preferredDoc = window.document,
dirruns = 0,
done = 0,
classCache = createCache(),
tokenCache = createCache(),
compilerCache = createCache(),
nonnativeSelectorCache = createCache(),
sortOrder = function( a, b ) {
if ( a === b ) {
hasDuplicate = true;
}
return 0;
},
// Instance methods
hasOwn = ( {} ).hasOwnProperty,
arr = [],
pop = arr.pop,
pushNative = arr.push,
push = arr.push,
slice = arr.slice,
// Use a stripped-down indexOf as it's faster than native
// https://jsperf.com/thor-indexof-vs-for/5
indexOf = function( list, elem ) {
var i = 0,
len = list.length;
for ( ; i < len; i++ ) {
if ( list[ i ] === elem ) {
return i;
}
}
return -1;
},
booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|" +
"ismap|loop|multiple|open|readonly|required|scoped",
// Regular expressions
// http://www.w3.org/TR/css3-selectors/#whitespace
whitespace = "[\\x20\\t\\r\\n\\f]",
// https://www.w3.org/TR/css-syntax-3/#ident-token-diagram
identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace +
"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",
// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +
// Operator (capture 2)
"*([*^$|!~]?=)" + whitespace +
// "Attribute values must be CSS identifiers [capture 5]
// or strings [capture 3 or capture 4]"
"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" +
whitespace + "*\\]",
pseudos = ":(" + identifier + ")(?:\\((" +
// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
// 1. quoted (capture 3; capture 4 or capture 5)
"('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +
// 2. simple (capture 6)
"((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +
// 3. anything else (capture 2)
".*" +
")\\)|)",
// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
rwhitespace = new RegExp( whitespace + "+", "g" ),
rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" +
whitespace + "+$", "g" ),
rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace +
"*" ),
rdescend = new RegExp( whitespace + "|>" ),
rpseudo = new RegExp( pseudos ),
ridentifier = new RegExp( "^" + identifier + "$" ),
matchExpr = {
"ID": new RegExp( "^#(" + identifier + ")" ),
"CLASS": new RegExp( "^\\.(" + identifier + ")" ),
"TAG": new RegExp( "^(" + identifier + "|[*])" ),
"ATTR": new RegExp( "^" + attributes ),
"PSEUDO": new RegExp( "^" + pseudos ),
"CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" +
whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" +
whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
"bool": new RegExp( "^(?:" + booleans + ")$", "i" ),
// For use in libraries implementing .is()
// We use this for POS matching in `select`
"needsContext": new RegExp( "^" + whitespace +
"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace +
"*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
},
rhtml = /HTML$/i,
rinputs = /^(?:input|select|textarea|button)$/i,
rheader = /^h\d$/i,
rnative = /^[^{]+\{\s*\[native \w/,
// Easily-parseable/retrievable ID or TAG or CLASS selectors
rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
rsibling = /[+~]/,
// CSS escapes
// http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g" ),
funescape = function( escape, nonHex ) {
var high = "0x" + escape.slice( 1 ) - 0x10000;
return nonHex ?
// Strip the backslash prefix from a non-hex escape sequence
nonHex :
// Replace a hexadecimal escape sequence with the encoded Unicode code point
// Support: IE <=11+
// For values outside the Basic Multilingual Plane (BMP), manually construct a
// surrogate pair
high < 0 ?
String.fromCharCode( high + 0x10000 ) :
String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
},
// CSS string/identifier serialization
// https://drafts.csswg.org/cssom/#common-serializing-idioms
rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,
fcssescape = function( ch, asCodePoint ) {
if ( asCodePoint ) {
// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER
if ( ch === "\0" ) {
return "\uFFFD";
}
// Control characters and (dependent upon position) numbers get escaped as code points
return ch.slice( 0, -1 ) + "\\" +
ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";
}
// Other potentially-special ASCII characters get backslash-escaped
return "\\" + ch;
},
// Used for iframes
// See setDocument()
// Removing the function wrapper causes a "Permission Denied"
// error in IE
unloadHandler = function() {
setDocument();
},
inDisabledFieldset = addCombinator(
function( elem ) {
return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset";
},
{ dir: "parentNode", next: "legend" }
);
// Optimize for push.apply( _, NodeList )
try {
push.apply(
( arr = slice.call( preferredDoc.childNodes ) ),
preferredDoc.childNodes
);
// Support: Android<4.0
// Detect silently failing push.apply
// eslint-disable-next-line no-unused-expressions
arr[ preferredDoc.childNodes.length ].nodeType;
} catch ( e ) {
push = { apply: arr.length ?
// Leverage slice if possible
function( target, els ) {
pushNative.apply( target, slice.call( els ) );
} :
// Support: IE<9
// Otherwise append directly
function( target, els ) {
var j = target.length,
i = 0;
// Can't trust NodeList.length
while ( ( target[ j++ ] = els[ i++ ] ) ) {}
target.length = j - 1;
}
};
}
function Sizzle( selector, context, results, seed ) {
var m, i, elem, nid, match, groups, newSelector,
newContext = context && context.ownerDocument,
// nodeType defaults to 9, since context defaults to document
nodeType = context ? context.nodeType : 9;
results = results || [];
// Return early from calls with invalid selector or context
if ( typeof selector !== "string" || !selector ||
nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {
return results;
}
// Try to shortcut find operations (as opposed to filters) in HTML documents
if ( !seed ) {
setDocument( context );
context = context || document;
if ( documentIsHTML ) {
// If the selector is sufficiently simple, try using a "get*By*" DOM method
// (excepting DocumentFragment context, where the methods don't exist)
if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) {
// ID selector
if ( ( m = match[ 1 ] ) ) {
// Document context
if ( nodeType === 9 ) {
if ( ( elem = context.getElementById( m ) ) ) {
// Support: IE, Opera, Webkit
// TODO: identify versions
// getElementById can match elements by name instead of ID
if ( elem.id === m ) {
results.push( elem );
return results;
}
} else {
return results;
}
// Element context
} else {
// Support: IE, Opera, Webkit
// TODO: identify versions
// getElementById can match elements by name instead of ID
if ( newContext && ( elem = newContext.getElementById( m ) ) &&
contains( context, elem ) &&
elem.id === m ) {
results.push( elem );
return results;
}
}
// Type selector
} else if ( match[ 2 ] ) {
push.apply( results, context.getElementsByTagName( selector ) );
return results;
// Class selector
} else if ( ( m = match[ 3 ] ) && support.getElementsByClassName &&
context.getElementsByClassName ) {
push.apply( results, context.getElementsByClassName( m ) );
return results;
}
}
// Take advantage of querySelectorAll
if ( support.qsa &&
!nonnativeSelectorCache[ selector + " " ] &&
( !rbuggyQSA || !rbuggyQSA.test( selector ) ) &&
// Support: IE 8 only
// Exclude object elements
( nodeType !== 1 || context.nodeName.toLowerCase() !== "object" ) ) {
newSelector = selector;
newContext = context;
// qSA considers elements outside a scoping root when evaluating child or
// descendant combinators, which is not what we want.
// In such cases, we work around the behavior by prefixing every selector in the
// list with an ID selector referencing the scope context.
// The technique has to be used as well when a leading combinator is used
// as such selectors are not recognized by querySelectorAll.
// Thanks to Andrew Dupont for this technique.
if ( nodeType === 1 &&
( rdescend.test( selector ) || rcombinators.test( selector ) ) ) {
// Expand context for sibling selectors
newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
context;
// We can use :scope instead of the ID hack if the browser
// supports it & if we're not changing the context.
if ( newContext !== context || !support.scope ) {
// Capture the context ID, setting it first if necessary
if ( ( nid = context.getAttribute( "id" ) ) ) {
nid = nid.replace( rcssescape, fcssescape );
} else {
context.setAttribute( "id", ( nid = expando ) );
}
}
// Prefix every selector in the list
groups = tokenize( selector );
i = groups.length;
while ( i-- ) {
groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " +
toSelector( groups[ i ] );
}
newSelector = groups.join( "," );
}
try {
push.apply( results,
newContext.querySelectorAll( newSelector )
);
return results;
} catch ( qsaError ) {
nonnativeSelectorCache( selector, true );
} finally {
if ( nid === expando ) {
context.removeAttribute( "id" );
}
}
}
}
}
// All others
return select( selector.replace( rtrim, "$1" ), context, results, seed );
}
/**
* Create key-value caches of limited size
* @returns {function(string, object)} Returns the Object data after storing it on itself with
* property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)
* deleting the oldest entry
*/
function createCache() {
var keys = [];
function cache( key, value ) {
// Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
if ( keys.push( key + " " ) > Expr.cacheLength ) {
// Only keep the most recent entries
delete cache[ keys.shift() ];
}
return ( cache[ key + " " ] = value );
}
return cache;
}
/**
* Mark a function for special use by Sizzle
* @param {Function} fn The function to mark
*/
function markFunction( fn ) {
fn[ expando ] = true;
return fn;
}
/**
* Support testing using an element
* @param {Function} fn Passed the created element and returns a boolean result
*/
function assert( fn ) {
var el = document.createElement( "fieldset" );
try {
return !!fn( el );
} catch ( e ) {
return false;
} finally {
// Remove from its parent by default
if ( el.parentNode ) {
el.parentNode.removeChild( el );
}
// release memory in IE
el = null;
}
}
/**
* Adds the same handler for all of the specified attrs
* @param {String} attrs Pipe-separated list of attributes
* @param {Function} handler The method that will be applied
*/
function addHandle( attrs, handler ) {
var arr = attrs.split( "|" ),
i = arr.length;
while ( i-- ) {
Expr.attrHandle[ arr[ i ] ] = handler;
}
}
/**
* Checks document order of two siblings
* @param {Element} a
* @param {Element} b
* @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b
*/
function siblingCheck( a, b ) {
var cur = b && a,
diff = cur && a.nodeType === 1 && b.nodeType === 1 &&
a.sourceIndex - b.sourceIndex;
// Use IE sourceIndex if available on both nodes
if ( diff ) {
return diff;
}
// Check if b follows a
if ( cur ) {
while ( ( cur = cur.nextSibling ) ) {
if ( cur === b ) {
return -1;
}
}
}
return a ? 1 : -1;
}
/**
* Returns a function to use in pseudos for input types
* @param {String} type
*/
function createInputPseudo( type ) {
return function( elem ) {
var name = elem.nodeName.toLowerCase();
return name === "input" && elem.type === type;
};
}
/**
* Returns a function to use in pseudos for buttons
* @param {String} type
*/
function createButtonPseudo( type ) {
return function( elem ) {
var name = elem.nodeName.toLowerCase();
return ( name === "input" || name === "button" ) && elem.type === type;
};
}
/**
* Returns a function to use in pseudos for :enabled/:disabled
* @param {Boolean} disabled true for :disabled; false for :enabled
*/
function createDisabledPseudo( disabled ) {
// Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable
return function( elem ) {
// Only certain elements can match :enabled or :disabled
// https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled
// https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled
if ( "form
gitextract_e2jnrphq/ ├── .github/ │ └── workflows/ │ └── python-package.yml ├── .gitignore ├── CMakeLists.txt ├── LICENSE ├── README.md ├── docs/ │ ├── .nojekyll │ ├── _static/ │ │ ├── _sphinx_javascript_frameworks_compat.js │ │ ├── basic.css │ │ ├── css/ │ │ │ ├── badge_only.css │ │ │ └── theme.css │ │ ├── doctools.js │ │ ├── documentation_options.js │ │ ├── jquery-3.5.1.js │ │ ├── jquery.js │ │ ├── js/ │ │ │ ├── badge_only.js │ │ │ ├── theme.js │ │ │ └── versions.js │ │ ├── language_data.js │ │ ├── pygments.css │ │ ├── searchtools.js │ │ ├── sphinx_highlight.js │ │ ├── underscore-1.13.1.js │ │ └── underscore.js │ ├── genindex.html │ ├── index.html │ ├── install.html │ ├── objects.inv │ ├── py-modindex.html │ ├── search.html │ ├── searchindex.js │ ├── support.html │ ├── xr.api_layer.html │ ├── xr.ext.html │ ├── xr.html │ └── xr.utils.html ├── examples/ │ └── README.md ├── pyproject.toml ├── requirements-dev.txt ├── requirements.txt ├── src/ │ ├── docs/ │ │ ├── .nojekyll │ │ ├── _static/ │ │ │ ├── _sphinx_javascript_frameworks_compat.js │ │ │ ├── basic.css │ │ │ ├── css/ │ │ │ │ ├── badge_only.css │ │ │ │ └── theme.css │ │ │ ├── doctools.js │ │ │ ├── documentation_options.js │ │ │ ├── jquery-3.5.1.js │ │ │ ├── jquery.js │ │ │ ├── js/ │ │ │ │ ├── badge_only.js │ │ │ │ ├── theme.js │ │ │ │ └── versions.js │ │ │ ├── language_data.js │ │ │ ├── pygments.css │ │ │ ├── searchtools.js │ │ │ ├── sphinx_highlight.js │ │ │ ├── underscore-1.13.1.js │ │ │ └── underscore.js │ │ ├── conf.py │ │ ├── index.rst │ │ ├── install.rst │ │ ├── support.rst │ │ ├── xr.api_layer.rst │ │ ├── xr.ext.rst │ │ ├── xr.rst │ │ └── xr.utils.rst │ ├── generate/ │ │ ├── CMakeLists.txt │ │ ├── generate_android_platform.py │ │ ├── generate_constants.py │ │ ├── generate_docstrings.py │ │ ├── generate_enums.py │ │ ├── generate_exceptions.py │ │ ├── generate_extensions3.py │ │ ├── generate_functions.py │ │ ├── generate_linux_platform.py │ │ ├── generate_raw_functions.py │ │ ├── generate_typedefs.py │ │ ├── generate_version.py │ │ ├── generate_windows_platform.py │ │ ├── print_openxr_version.py │ │ ├── py_api_layer/ │ │ │ ├── CMakeLists.txt │ │ │ └── py_api_layer.cpp │ │ └── xrg/ │ │ ├── __init__.py │ │ ├── class_docstring_data.py │ │ ├── declarations.py │ │ ├── default_values.py │ │ ├── docstrings.py │ │ ├── function_docstring_data.py │ │ ├── headers/ │ │ │ ├── EGL/ │ │ │ │ └── egl.h │ │ │ ├── __init__.py │ │ │ └── vulkan/ │ │ │ ├── vk_icd.h │ │ │ ├── vk_layer.h │ │ │ ├── vk_platform.h │ │ │ ├── vulkan.cppm │ │ │ ├── vulkan.h │ │ │ ├── vulkan.hpp │ │ │ ├── vulkan_android.h │ │ │ ├── vulkan_beta.h │ │ │ ├── vulkan_core.h │ │ │ ├── vulkan_directfb.h │ │ │ ├── vulkan_enums.hpp │ │ │ ├── vulkan_extension_inspection.hpp │ │ │ ├── vulkan_format_traits.hpp │ │ │ ├── vulkan_fuchsia.h │ │ │ ├── vulkan_funcs.hpp │ │ │ ├── vulkan_ggp.h │ │ │ ├── vulkan_handles.hpp │ │ │ ├── vulkan_hash.hpp │ │ │ ├── vulkan_hpp_macros.hpp │ │ │ ├── vulkan_ios.h │ │ │ ├── vulkan_macos.h │ │ │ ├── vulkan_metal.h │ │ │ ├── vulkan_ohos.h │ │ │ ├── vulkan_raii.hpp │ │ │ ├── vulkan_screen.h │ │ │ ├── vulkan_shared.hpp │ │ │ ├── vulkan_static_assertions.hpp │ │ │ ├── vulkan_structs.hpp │ │ │ ├── vulkan_to_string.hpp │ │ │ ├── vulkan_vi.h │ │ │ ├── vulkan_video.cppm │ │ │ ├── vulkan_video.hpp │ │ │ ├── vulkan_wayland.h │ │ │ ├── vulkan_win32.h │ │ │ ├── vulkan_xcb.h │ │ │ ├── vulkan_xlib.h │ │ │ └── vulkan_xlib_xrandr.h │ │ ├── manageable_handles.py │ │ ├── module_docstring_data.py │ │ ├── registry.py │ │ ├── resources.py │ │ ├── store_docstrings.py │ │ ├── vendor_tags.py │ │ └── xrtypes.py │ └── xr/ │ ├── __init__.py │ ├── api_layer/ │ │ ├── __init__.py │ │ ├── aarch64/ │ │ │ ├── XrApiLayer_api_dump.json │ │ │ ├── XrApiLayer_best_practices_validation.json │ │ │ ├── XrApiLayer_core_validation.json │ │ │ └── __init__.py │ │ ├── dynamic_api_layer_base.py │ │ ├── layer_path.py │ │ ├── loader_interfaces.py │ │ ├── raw_functions.py │ │ ├── steamvr_linux_destroyinstance_layer.py │ │ ├── win32/ │ │ │ ├── XrApiLayer_api_dump.json │ │ │ ├── XrApiLayer_best_practices_validation.json │ │ │ ├── XrApiLayer_core_validation.json │ │ │ └── __init__.py │ │ └── x86_64/ │ │ ├── XrApiLayer_api_dump.json │ │ ├── XrApiLayer_best_practices_validation.json │ │ ├── XrApiLayer_core_validation.json │ │ └── __init__.py │ ├── base_struct.py │ ├── callback.py │ ├── constants.py │ ├── custom_functions.py │ ├── enums.py │ ├── exception.py │ ├── ext/ │ │ ├── EXT/ │ │ │ ├── __init__.py │ │ │ └── debug_utils.py │ │ ├── HTCX/ │ │ │ ├── __init__.py │ │ │ └── vive_tracker_interaction.py │ │ ├── KHR/ │ │ │ ├── __init__.py │ │ │ ├── opengl_enable.py │ │ │ └── opengl_es_enable.py │ │ ├── MND/ │ │ │ ├── __init__.py │ │ │ └── headless.py │ │ ├── MNDX/ │ │ │ └── egl_enable.py │ │ └── __init__.py │ ├── field_helper.py │ ├── functions.py │ ├── handle.py │ ├── library/ │ │ ├── __init__.py │ │ ├── aarch64/ │ │ │ └── __init__.py │ │ ├── win32/ │ │ │ └── __init__.py │ │ └── x86_64/ │ │ └── __init__.py │ ├── platform/ │ │ ├── __init__.py │ │ ├── android.py │ │ ├── linux.py │ │ └── windows.py │ ├── raw_functions.py │ ├── resources.py │ ├── typedefs.py │ ├── utils/ │ │ ├── __init__.py │ │ ├── gl/ │ │ │ ├── __init__.py │ │ │ ├── context_object.py │ │ │ ├── egl_util.py │ │ │ ├── glfw_util/ │ │ │ │ ├── __init__.py │ │ │ │ └── classes.py │ │ │ └── pyside.py │ │ └── matrix4x4f.py │ └── version.py ├── tests/ │ ├── __init__.py │ ├── run_tests.py │ ├── synopsis_debug_utils.py │ ├── synopsis_gl_ext.py │ ├── test_api_layers.py │ ├── test_array_fields.py │ ├── test_bool.py │ ├── test_constants.py │ ├── test_create_info.py │ ├── test_ctypes_pointer.py │ ├── test_docstring.py │ ├── test_egl.py │ ├── test_enum_field.py │ ├── test_exceptions.py │ ├── test_extension_properties.py │ ├── test_extent2Di.py │ ├── test_field_next.py │ ├── test_flags.py │ ├── test_matrix4x4f.py │ ├── test_null_handle.py │ ├── test_package_import.py │ ├── test_posef.py │ ├── test_print_object.py │ ├── test_quaternionf.py │ ├── test_sequence_parameter.py │ ├── test_structure_type.py │ ├── test_vector3f.py │ ├── test_version.py │ └── vive_tracker_synopsis.py └── tox.ini
Showing preview only (3,435K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (28556 symbols across 127 files)
FILE: docs/_static/_sphinx_javascript_frameworks_compat.js
function highlight (line 51) | function highlight(node, addItems) {
FILE: docs/_static/doctools.js
constant BLACKLISTED_KEY_CONTROL_ELEMENTS (line 13) | const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([
FILE: docs/_static/documentation_options.js
constant DOCUMENTATION_OPTIONS (line 1) | const DOCUMENTATION_OPTIONS = {
FILE: docs/_static/jquery-3.5.1.js
function DOMEval (line 103) | function DOMEval( code, node, doc ) {
function toType (line 133) | function toType( obj ) {
function isArrayLike (line 503) | function isArrayLike( obj ) {
function Sizzle (line 755) | function Sizzle( selector, context, results, seed ) {
function createCache (line 903) | function createCache() {
function markFunction (line 923) | function markFunction( fn ) {
function assert (line 932) | function assert( fn ) {
function addHandle (line 956) | function addHandle( attrs, handler ) {
function siblingCheck (line 971) | function siblingCheck( a, b ) {
function createInputPseudo (line 997) | function createInputPseudo( type ) {
function createButtonPseudo (line 1008) | function createButtonPseudo( type ) {
function createDisabledPseudo (line 1019) | function createDisabledPseudo( disabled ) {
function createPositionalPseudo (line 1075) | function createPositionalPseudo( fn ) {
function testContext (line 1098) | function testContext( context ) {
function setFilters (line 2309) | function setFilters() {}
function toSelector (line 2383) | function toSelector( tokens ) {
function addCombinator (line 2393) | function addCombinator( matcher, combinator, base ) {
function elementMatcher (line 2460) | function elementMatcher( matchers ) {
function multipleContexts (line 2474) | function multipleContexts( selector, contexts, results ) {
function condense (line 2483) | function condense( unmatched, map, filter, context, xml ) {
function setMatcher (line 2504) | function setMatcher( preFilter, selector, matcher, postFilter, postFinde...
function matcherFromTokens (line 2604) | function matcherFromTokens( tokens ) {
function matcherFromGroupMatchers (line 2667) | function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
function nodeName (line 3025) | function nodeName( elem, name ) {
function winnow (line 3035) | function winnow( elements, qualifier, not ) {
function sibling (line 3330) | function sibling( cur, dir ) {
function createOptions (line 3423) | function createOptions( options ) {
function Identity (line 3648) | function Identity( v ) {
function Thrower (line 3651) | function Thrower( ex ) {
function adoptValue (line 3655) | function adoptValue( value, resolve, reject, noValue ) {
function resolve (line 3748) | function resolve( depth, deferred, handler, special ) {
function completed (line 4113) | function completed() {
function fcamelCase (line 4208) | function fcamelCase( _all, letter ) {
function camelCase (line 4215) | function camelCase( string ) {
function Data (line 4232) | function Data() {
function getData (line 4401) | function getData( data ) {
function dataAttr (line 4426) | function dataAttr( elem, key, data ) {
function adjustCSS (line 4738) | function adjustCSS( elem, prop, valueParts, tween ) {
function getDefaultDisplay (line 4806) | function getDefaultDisplay( elem ) {
function showHide (line 4829) | function showHide( elements, show ) {
function getAll (line 4961) | function getAll( context, tag ) {
function setGlobalEval (line 4986) | function setGlobalEval( elems, refElements ) {
function buildFragment (line 5002) | function buildFragment( elems, context, scripts, selection, ignored ) {
function returnTrue (line 5097) | function returnTrue() {
function returnFalse (line 5101) | function returnFalse() {
function expectSync (line 5111) | function expectSync( elem, type ) {
function safeActiveElement (line 5118) | function safeActiveElement() {
function on (line 5124) | function on( elem, types, selector, data, fn, one ) {
function leverageNative (line 5612) | function leverageNative( el, type, expectSync ) {
function manipulationTarget (line 5976) | function manipulationTarget( elem, content ) {
function disableScript (line 5987) | function disableScript( elem ) {
function restoreScript (line 5991) | function restoreScript( elem ) {
function cloneCopyEvent (line 6001) | function cloneCopyEvent( src, dest ) {
function fixInput (line 6034) | function fixInput( src, dest ) {
function domManip (line 6047) | function domManip( collection, args, callback, ignored ) {
function remove (line 6139) | function remove( elem, selector, keepData ) {
function computeStyleTests (line 6453) | function computeStyleTests() {
function roundPixelMeasures (line 6497) | function roundPixelMeasures( measure ) {
function curCSS (line 6571) | function curCSS( elem, name, computed ) {
function addGetHookIf (line 6624) | function addGetHookIf( conditionFn, hookFn ) {
function vendorPropName (line 6649) | function vendorPropName( name ) {
function finalPropName (line 6664) | function finalPropName( name ) {
function setPositiveNumber (line 6690) | function setPositiveNumber( _elem, value, subtract ) {
function boxModelAdjustment (line 6702) | function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, ...
function getWidthOrHeight (line 6770) | function getWidthOrHeight( elem, dimension, extra ) {
function Tween (line 7146) | function Tween( elem, options, prop, end, easing ) {
function schedule (line 7269) | function schedule() {
function createFxNow (line 7282) | function createFxNow() {
function genFx (line 7290) | function genFx( type, includeWidth ) {
function createTween (line 7310) | function createTween( value, prop, animation ) {
function defaultPrefilter (line 7324) | function defaultPrefilter( elem, props, opts ) {
function propFilter (line 7496) | function propFilter( props, specialEasing ) {
function Animation (line 7533) | function Animation( elem, properties, options ) {
function stripAndCollapse (line 8248) | function stripAndCollapse( value ) {
function getClass (line 8254) | function getClass( elem ) {
function classesToArray (line 8258) | function classesToArray( value ) {
function buildParams (line 8885) | function buildParams( prefix, obj, traditional, add ) {
function addToPrefiltersOrTransports (line 9039) | function addToPrefiltersOrTransports( structure ) {
function inspectPrefiltersOrTransports (line 9073) | function inspectPrefiltersOrTransports( structure, options, originalOpti...
function ajaxExtend (line 9102) | function ajaxExtend( target, src ) {
function ajaxHandleResponses (line 9122) | function ajaxHandleResponses( s, jqXHR, responses ) {
function ajaxConvert (line 9180) | function ajaxConvert( s, response, jqXHR, isSuccess ) {
function done (line 9696) | function done( status, nativeStatusText, responses, headers ) {
FILE: docs/_static/jquery.js
function b (line 2) | function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e...
function w (line 2) | function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof...
function p (line 2) | function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e...
function se (line 2) | function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeTy...
function ue (line 2) | function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cac...
function le (line 2) | function le(e){return e[S]=!0,e}
function ce (line 2) | function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(...
function fe (line 2) | function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[...
function pe (line 2) | function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourc...
function de (line 2) | function de(t){return function(e){return"input"===e.nodeName.toLowerCase...
function he (line 2) | function he(n){return function(e){var t=e.nodeName.toLowerCase();return(...
function ge (line 2) | function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e....
function ve (line 2) | function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,...
function ye (line 2) | function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}
function me (line 2) | function me(){}
function xe (line 2) | function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}
function be (line 2) | function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r...
function we (line 2) | function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r-...
function Te (line 2) | function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(...
function Ce (line 2) | function Ce(d,h,g,v,y,e){return v&&!v[S]&&(v=Ce(v)),y&&!y[S]&&(y=Ce(y,e)...
function Ee (line 2) | function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.r...
function A (line 2) | function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerC...
function j (line 2) | function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,...
function O (line 2) | function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}
function R (line 2) | function R(e){return e}
function M (line 2) | function M(e){throw e}
function I (line 2) | function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n...
function l (line 2) | function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(...
function B (line 2) | function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventLi...
function U (line 2) | function U(e,t){return t.toUpperCase()}
function X (line 2) | function X(e){return e.replace(_,"ms-").replace(z,U)}
function G (line 2) | function G(){this.expando=S.expando+G.uid++}
function Z (line 2) | function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.r...
function se (line 2) | function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:functio...
function le (line 2) | function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[...
function ve (line 2) | function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagNa...
function ye (line 2) | function ye(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",...
function xe (line 2) | function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),...
function we (line 2) | function we(){return!0}
function Te (line 2) | function Te(){return!1}
function Ce (line 2) | function Ce(e,t){return e===function(){try{return E.activeElement}catch(...
function Ee (line 2) | function Ee(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"...
function Se (line 2) | function Se(e,i,o){o?(Y.set(e,i,!1),S.event.add(e,i,{namespace:!1,handle...
function je (line 2) | function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"...
function De (line 2) | function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}
function qe (line 2) | function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.sli...
function Le (line 2) | function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=...
function He (line 2) | function He(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],...
function Oe (line 2) | function Oe(e,t,n){for(var r,i=t?S.filter(t,e):e,o=0;null!=(r=i[o]);o++)...
function We (line 2) | function We(e,t,n){var r,i,o,a,s=e.style;return(n=n||Re(e))&&(""!==(a=n....
function Fe (line 2) | function Fe(e,t){return{get:function(){if(!e())return(this.get=t).apply(...
function e (line 2) | function e(){if(l){u.style.cssText="position:absolute;left:-11111px;widt...
function t (line 2) | function t(e){return Math.round(parseFloat(e))}
function ze (line 2) | function ze(e){var t=S.cssProps[e]||_e[e];return t||(e in $e?e:_e[e]=fun...
function Ye (line 2) | function Ye(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[...
function Qe (line 2) | function Qe(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border...
function Je (line 2) | function Je(e,t,n){var r=Re(e),i=(!y.boxSizingReliable()||n)&&"border-bo...
function Ke (line 2) | function Ke(e,t,n,r,i){return new Ke.prototype.init(e,t,n,r,i)}
function ot (line 2) | function ot(){et&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnima...
function at (line 2) | function at(){return C.setTimeout(function(){Ze=void 0}),Ze=Date.now()}
function st (line 2) | function st(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin...
function ut (line 2) | function ut(e,t,n){for(var r,i=(lt.tweeners[t]||[]).concat(lt.tweeners["...
function lt (line 2) | function lt(o,e,t){var n,a,r=0,i=lt.prefilters.length,s=S.Deferred().alw...
function ht (line 2) | function ht(e){return(e.match(P)||[]).join(" ")}
function gt (line 2) | function gt(e){return e.getAttribute&&e.getAttribute("class")||""}
function vt (line 2) | function vt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)|...
function At (line 2) | function At(n,e,r,i){var t;if(Array.isArray(e))S.each(e,function(e,t){r|...
function It (line 2) | function It(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var ...
function Wt (line 2) | function Wt(t,i,o,a){var s={},u=t===Pt;function l(e){var r;return s[e]=!...
function Ft (line 2) | function Ft(e,t){var n,r,i=S.ajaxSettings.flatOptions||{};for(n in t)voi...
function l (line 2) | function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=vo...
FILE: docs/_static/js/badge_only.js
function r (line 1) | function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{...
FILE: docs/_static/js/theme.js
function t (line 1) | function t(i){if(e[i])return e[i].exports;var o=e[i]={i:i,l:!1,exports:{...
FILE: docs/_static/js/versions.js
function renderLanguages (line 6) | function renderLanguages(config) {
function renderVersions (line 32) | function renderVersions(config) {
function renderDownloads (line 53) | function renderDownloads(config) {
function onSelectorSwitch (line 143) | function onSelectorSwitch(event) {
FILE: docs/_static/sphinx_highlight.js
constant SPHINX_HIGHLIGHT_ENABLED (line 4) | const SPHINX_HIGHLIGHT_ENABLED = true
FILE: docs/_static/underscore-1.13.1.js
function restArguments (line 64) | function restArguments(func, startIndex) {
function isObject (line 88) | function isObject(obj) {
function isNull (line 94) | function isNull(obj) {
function isUndefined (line 99) | function isUndefined(obj) {
function isBoolean (line 104) | function isBoolean(obj) {
function isElement (line 109) | function isElement(obj) {
function tagTester (line 114) | function tagTester(name) {
function ie10IsDataView (line 162) | function ie10IsDataView(obj) {
function has$1 (line 173) | function has$1(obj, key) {
function isFinite$1 (line 192) | function isFinite$1(obj) {
function isNaN$1 (line 197) | function isNaN$1(obj) {
function constant (line 202) | function constant(value) {
function createSizePropertyCheck (line 209) | function createSizePropertyCheck(getSizeProperty) {
function shallowProperty (line 217) | function shallowProperty(key) {
function isTypedArray (line 232) | function isTypedArray(obj) {
function emulatedSet (line 248) | function emulatedSet(keys) {
function collectNonEnumProps (line 263) | function collectNonEnumProps(obj, keys) {
function keys (line 283) | function keys(obj) {
function isEmpty (line 295) | function isEmpty(obj) {
function isMatch (line 307) | function isMatch(object, attrs) {
function _$1 (line 321) | function _$1(obj) {
function toBufferView (line 344) | function toBufferView(bufferSource) {
function eq (line 356) | function eq(a, b, aStack, bStack) {
function deepEq (line 371) | function deepEq(a, b, aStack, bStack) {
function isEqual (line 476) | function isEqual(a, b) {
function allKeys (line 481) | function allKeys(obj) {
function ie11fingerprint (line 494) | function ie11fingerprint(methods) {
function values (line 533) | function values(obj) {
function pairs (line 545) | function pairs(obj) {
function invert (line 556) | function invert(obj) {
function functions (line 566) | function functions(obj) {
function createAssigner (line 575) | function createAssigner(keysFunc, defaults) {
function ctor (line 605) | function ctor() {
function baseCreate (line 610) | function baseCreate(prototype) {
function create (line 623) | function create(prototype, props) {
function clone (line 630) | function clone(obj) {
function tap (line 638) | function tap(obj, interceptor) {
function toPath$1 (line 645) | function toPath$1(path) {
function toPath (line 652) | function toPath(path) {
function deepGet (line 657) | function deepGet(obj, path) {
function get (line 670) | function get(object, path, defaultValue) {
function has (line 678) | function has(obj, path) {
function identity (line 690) | function identity(value) {
function matcher (line 696) | function matcher(attrs) {
function property (line 705) | function property(path) {
function optimizeCb (line 715) | function optimizeCb(func, context, argCount) {
function baseIteratee (line 737) | function baseIteratee(value, context, argCount) {
function iteratee (line 747) | function iteratee(value, context) {
function cb (line 754) | function cb(value, context, argCount) {
function mapObject (line 761) | function mapObject(obj, iteratee, context) {
function noop (line 774) | function noop(){}
function propertyOf (line 777) | function propertyOf(obj) {
function times (line 785) | function times(n, iteratee, context) {
function random (line 793) | function random(min, max) {
function createEscaper (line 808) | function createEscaper(map) {
function escapeChar (line 867) | function escapeChar(match) {
function template (line 882) | function template(text, settings, oldSettings) {
function result (line 950) | function result(obj, path, fallback) {
function uniqueId (line 970) | function uniqueId(prefix) {
function chain (line 976) | function chain(obj) {
function executeBound (line 985) | function executeBound(sourceFunc, boundFunc, context, callingContext, ar...
function flatten$1 (line 1030) | function flatten$1(input, depth, strict, output) {
function memoize (line 1071) | function memoize(func, hasher) {
function throttle (line 1099) | function throttle(func, wait, options) {
function debounce (line 1144) | function debounce(func, wait, immediate) {
function wrap (line 1181) | function wrap(func, wrapper) {
function negate (line 1186) | function negate(predicate) {
function compose (line 1194) | function compose() {
function after (line 1206) | function after(times, func) {
function before (line 1216) | function before(times, func) {
function findKey (line 1232) | function findKey(obj, predicate, context) {
function createPredicateIndexFinder (line 1242) | function createPredicateIndexFinder(dir) {
function sortedIndex (line 1262) | function sortedIndex(array, obj, iteratee, context) {
function createIndexFinder (line 1274) | function createIndexFinder(dir, predicateFind, sortedIndex) {
function find (line 1309) | function find(obj, predicate, context) {
function findWhere (line 1317) | function findWhere(obj, attrs) {
function each (line 1325) | function each(obj, iteratee, context) {
function map (line 1342) | function map(obj, iteratee, context) {
function createReduce (line 1355) | function createReduce(dir) {
function filter (line 1387) | function filter(obj, predicate, context) {
function reject (line 1397) | function reject(obj, predicate, context) {
function every (line 1402) | function every(obj, predicate, context) {
function some (line 1414) | function some(obj, predicate, context) {
function contains (line 1426) | function contains(obj, item, fromIndex, guard) {
function pluck (line 1456) | function pluck(obj, key) {
function where (line 1462) | function where(obj, attrs) {
function max (line 1467) | function max(obj, iteratee, context) {
function min (line 1492) | function min(obj, iteratee, context) {
function sample (line 1520) | function sample(obj, n, guard) {
function shuffle (line 1539) | function shuffle(obj) {
function sortBy (line 1544) | function sortBy(obj, iteratee, context) {
function group (line 1565) | function group(behavior, partition) {
function toArray (line 1604) | function toArray(obj) {
function size (line 1616) | function size(obj) {
function keyInObj (line 1623) | function keyInObj(value, key, obj) {
function initial (line 1665) | function initial(array, n, guard) {
function first (line 1671) | function first(array, n, guard) {
function rest (line 1680) | function rest(array, n, guard) {
function last (line 1686) | function last(array, n, guard) {
function compact (line 1693) | function compact(array) {
function flatten (line 1699) | function flatten(array, depth) {
function uniq (line 1722) | function uniq(array, isSorted, iteratee, context) {
function intersection (line 1757) | function intersection(array) {
function unzip (line 1774) | function unzip(array) {
function object (line 1791) | function object(list, values) {
function range (line 1806) | function range(start, stop, step) {
function chunk (line 1827) | function chunk(array, count) {
function chainResult (line 1838) | function chainResult(instance, obj) {
function mixin (line 1843) | function mixin(obj) {
FILE: docs/_static/underscore.js
function j (line 6) | function j(n,r){return r=null==r?n.length-1:+r,function(){for(var t=Math...
function _ (line 6) | function _(n){var r=typeof n;return"function"===r||"object"===r&&!!n}
function w (line 6) | function w(n){return void 0===n}
function A (line 6) | function A(n){return!0===n||!1===n||"[object Boolean]"===a.call(n)}
function x (line 6) | function x(n){var r="[object "+n+"]";return function(n){return a.call(n)...
function W (line 6) | function W(n,r){return null!=n&&f.call(n,r)}
function $ (line 6) | function $(n){return O(n)&&y(n)}
function C (line 6) | function C(n){return function(){return n}}
function K (line 6) | function K(n){return function(r){var t=n(r);return"number"==typeof t&&t>...
function J (line 6) | function J(n){return function(r){return null==r?void 0:r[n]}}
function Z (line 6) | function Z(n,r){r=function(n){for(var r={},t=n.length,e=0;e<t;++e)r[n[e]...
function nn (line 6) | function nn(n){if(!_(n))return[];if(p)return p(n);var r=[];for(var t in ...
function rn (line 6) | function rn(n,r){var t=nn(r),e=t.length;if(null==n)return!e;for(var u=Ob...
function tn (line 6) | function tn(n){return n instanceof tn?n:this instanceof tn?void(this._wr...
function en (line 6) | function en(n){return new Uint8Array(n.buffer||n,n.byteOffset||0,G(n))}
function on (line 6) | function on(n,r,t,e){if(n===r)return 0!==n||1/n==1/r;if(null==n||null==r...
function an (line 6) | function an(n){if(!_(n))return[];var r=[];for(var t in n)r.push(t);retur...
function fn (line 6) | function fn(n){var r=Y(n);return function(t){if(null==t)return!1;var e=a...
function jn (line 6) | function jn(n){for(var r=nn(n),t=r.length,e=Array(t),u=0;u<t;u++)e[u]=n[...
function _n (line 6) | function _n(n){for(var r={},t=nn(n),e=0,u=t.length;e<u;e++)r[n[t[e]]]=t[...
function wn (line 6) | function wn(n){var r=[];for(var t in n)D(n[t])&&r.push(t);return r.sort()}
function An (line 6) | function An(n,r){return function(t){var e=arguments.length;if(r&&(t=Obje...
function Mn (line 6) | function Mn(n){if(!_(n))return{};if(v)return v(n);var r=function(){};r.p...
function En (line 6) | function En(n){return _(n)?U(n)?n.slice():xn({},n):n}
function Bn (line 6) | function Bn(n){return U(n)?n:[n]}
function Nn (line 6) | function Nn(n){return tn.toPath(n)}
function In (line 6) | function In(n,r){for(var t=r.length,e=0;e<t;e++){if(null==n)return;n=n[r...
function Tn (line 6) | function Tn(n,r,t){var e=In(n,Nn(r));return w(e)?t:e}
function kn (line 6) | function kn(n){return n}
function Dn (line 6) | function Dn(n){return n=Sn({},n),function(r){return rn(r,n)}}
function Rn (line 6) | function Rn(n){return n=Nn(n),function(r){return In(r,n)}}
function Fn (line 6) | function Fn(n,r,t){if(void 0===r)return n;switch(null==t?3:t){case 1:ret...
function Vn (line 6) | function Vn(n,r,t){return null==n?kn:D(n)?Fn(n,r,t):_(n)&&!U(n)?Dn(n):Rn...
function Pn (line 6) | function Pn(n,r){return Vn(n,r,1/0)}
function qn (line 6) | function qn(n,r,t){return tn.iteratee!==Pn?tn.iteratee(n,r):Vn(n,r,t)}
function Un (line 6) | function Un(){}
function Wn (line 6) | function Wn(n,r){return null==r&&(r=n,n=0),n+Math.floor(Math.random()*(r...
function Ln (line 6) | function Ln(n){var r=function(r){return n[r]},t="(?:"+nn(n).join("|")+")...
function Xn (line 6) | function Xn(n){return"\\"+Hn[n]}
function nr (line 6) | function nr(n,r,t,e,u){if(!(e instanceof r))return n.apply(t,u);var o=Mn...
function ur (line 6) | function ur(n,r,t,e){if(e=e||[],r||0===r){if(r<=0)return e.concat(n)}els...
function fr (line 6) | function fr(n){return function(){return!n.apply(this,arguments)}}
function cr (line 6) | function cr(n,r){var t;return function(){return--n>0&&(t=r.apply(this,ar...
function sr (line 6) | function sr(n,r,t){r=qn(r,t);for(var e,u=nn(n),o=0,i=u.length;o<i;o++)if...
function pr (line 6) | function pr(n){return function(r,t,e){t=qn(t,e);for(var u=Y(r),o=n>0?0:u...
function yr (line 6) | function yr(n,r,t,e){for(var u=(t=qn(t,e,1))(r),o=0,i=Y(n);o<i;){var a=M...
function dr (line 6) | function dr(n,r,t){return function(e,u,o){var a=0,f=Y(e);if("number"==ty...
function mr (line 6) | function mr(n,r,t){var e=(er(n)?vr:sr)(n,r,t);if(void 0!==e&&-1!==e)retu...
function jr (line 6) | function jr(n,r,t){var e,u;if(r=Fn(r,t),er(n))for(e=0,u=n.length;e<u;e++...
function _r (line 6) | function _r(n,r,t){r=qn(r,t);for(var e=!er(n)&&nn(n),u=(e||n).length,o=A...
function wr (line 6) | function wr(n){var r=function(r,t,e,u){var o=!er(r)&&nn(r),i=(o||r).leng...
function Sr (line 6) | function Sr(n,r,t){var e=[];return r=qn(r,t),jr(n,(function(n,t,u){r(n,t...
function Or (line 6) | function Or(n,r,t){r=qn(r,t);for(var e=!er(n)&&nn(n),u=(e||n).length,o=0...
function Mr (line 6) | function Mr(n,r,t){r=qn(r,t);for(var e=!er(n)&&nn(n),u=(e||n).length,o=0...
function Er (line 6) | function Er(n,r,t,e){return er(n)||(n=jn(n)),("number"!=typeof t||e)&&(t...
function Nr (line 6) | function Nr(n,r){return _r(n,Rn(r))}
function Ir (line 6) | function Ir(n,r,t){var e,u,o=-1/0,i=-1/0;if(null==r||"number"==typeof r&...
function Tr (line 6) | function Tr(n,r,t){if(null==r||t)return er(n)||(n=jn(n)),n[Wn(n.length-1...
function kr (line 6) | function kr(n,r){return function(t,e,u){var o=r?[[],[]]:{};return e=qn(e...
function qr (line 6) | function qr(n,r,t){return r in t}
function zr (line 6) | function zr(n,r,t){return i.call(n,0,Math.max(0,n.length-(null==r||t?1:r...
function Lr (line 6) | function Lr(n,r,t){return null==n||n.length<1?null==r||t?void 0:[]:null=...
function $r (line 6) | function $r(n,r,t){return i.call(n,null==r||t?1:r)}
function Jr (line 6) | function Jr(n,r,t,e){A(r)||(e=t,t=r,r=!1),null!=t&&(t=qn(t,e));for(var u...
function Hr (line 6) | function Hr(n){for(var r=n&&Ir(n,Y).length||0,t=Array(r),e=0;e<r;e++)t[e...
function Xr (line 6) | function Xr(n,r){return n._chain?tn(r).chain():r}
function Yr (line 6) | function Yr(n){return jr(wn(n),(function(r){var t=tn[r]=n[r];tn.prototyp...
FILE: src/docs/_static/_sphinx_javascript_frameworks_compat.js
function highlight (line 51) | function highlight(node, addItems) {
FILE: src/docs/_static/doctools.js
constant BLACKLISTED_KEY_CONTROL_ELEMENTS (line 13) | const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([
FILE: src/docs/_static/documentation_options.js
constant DOCUMENTATION_OPTIONS (line 1) | const DOCUMENTATION_OPTIONS = {
FILE: src/docs/_static/jquery-3.5.1.js
function DOMEval (line 103) | function DOMEval( code, node, doc ) {
function toType (line 133) | function toType( obj ) {
function isArrayLike (line 503) | function isArrayLike( obj ) {
function Sizzle (line 755) | function Sizzle( selector, context, results, seed ) {
function createCache (line 903) | function createCache() {
function markFunction (line 923) | function markFunction( fn ) {
function assert (line 932) | function assert( fn ) {
function addHandle (line 956) | function addHandle( attrs, handler ) {
function siblingCheck (line 971) | function siblingCheck( a, b ) {
function createInputPseudo (line 997) | function createInputPseudo( type ) {
function createButtonPseudo (line 1008) | function createButtonPseudo( type ) {
function createDisabledPseudo (line 1019) | function createDisabledPseudo( disabled ) {
function createPositionalPseudo (line 1075) | function createPositionalPseudo( fn ) {
function testContext (line 1098) | function testContext( context ) {
function setFilters (line 2309) | function setFilters() {}
function toSelector (line 2383) | function toSelector( tokens ) {
function addCombinator (line 2393) | function addCombinator( matcher, combinator, base ) {
function elementMatcher (line 2460) | function elementMatcher( matchers ) {
function multipleContexts (line 2474) | function multipleContexts( selector, contexts, results ) {
function condense (line 2483) | function condense( unmatched, map, filter, context, xml ) {
function setMatcher (line 2504) | function setMatcher( preFilter, selector, matcher, postFilter, postFinde...
function matcherFromTokens (line 2604) | function matcherFromTokens( tokens ) {
function matcherFromGroupMatchers (line 2667) | function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
function nodeName (line 3025) | function nodeName( elem, name ) {
function winnow (line 3035) | function winnow( elements, qualifier, not ) {
function sibling (line 3330) | function sibling( cur, dir ) {
function createOptions (line 3423) | function createOptions( options ) {
function Identity (line 3648) | function Identity( v ) {
function Thrower (line 3651) | function Thrower( ex ) {
function adoptValue (line 3655) | function adoptValue( value, resolve, reject, noValue ) {
function resolve (line 3748) | function resolve( depth, deferred, handler, special ) {
function completed (line 4113) | function completed() {
function fcamelCase (line 4208) | function fcamelCase( _all, letter ) {
function camelCase (line 4215) | function camelCase( string ) {
function Data (line 4232) | function Data() {
function getData (line 4401) | function getData( data ) {
function dataAttr (line 4426) | function dataAttr( elem, key, data ) {
function adjustCSS (line 4738) | function adjustCSS( elem, prop, valueParts, tween ) {
function getDefaultDisplay (line 4806) | function getDefaultDisplay( elem ) {
function showHide (line 4829) | function showHide( elements, show ) {
function getAll (line 4961) | function getAll( context, tag ) {
function setGlobalEval (line 4986) | function setGlobalEval( elems, refElements ) {
function buildFragment (line 5002) | function buildFragment( elems, context, scripts, selection, ignored ) {
function returnTrue (line 5097) | function returnTrue() {
function returnFalse (line 5101) | function returnFalse() {
function expectSync (line 5111) | function expectSync( elem, type ) {
function safeActiveElement (line 5118) | function safeActiveElement() {
function on (line 5124) | function on( elem, types, selector, data, fn, one ) {
function leverageNative (line 5612) | function leverageNative( el, type, expectSync ) {
function manipulationTarget (line 5976) | function manipulationTarget( elem, content ) {
function disableScript (line 5987) | function disableScript( elem ) {
function restoreScript (line 5991) | function restoreScript( elem ) {
function cloneCopyEvent (line 6001) | function cloneCopyEvent( src, dest ) {
function fixInput (line 6034) | function fixInput( src, dest ) {
function domManip (line 6047) | function domManip( collection, args, callback, ignored ) {
function remove (line 6139) | function remove( elem, selector, keepData ) {
function computeStyleTests (line 6453) | function computeStyleTests() {
function roundPixelMeasures (line 6497) | function roundPixelMeasures( measure ) {
function curCSS (line 6571) | function curCSS( elem, name, computed ) {
function addGetHookIf (line 6624) | function addGetHookIf( conditionFn, hookFn ) {
function vendorPropName (line 6649) | function vendorPropName( name ) {
function finalPropName (line 6664) | function finalPropName( name ) {
function setPositiveNumber (line 6690) | function setPositiveNumber( _elem, value, subtract ) {
function boxModelAdjustment (line 6702) | function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, ...
function getWidthOrHeight (line 6770) | function getWidthOrHeight( elem, dimension, extra ) {
function Tween (line 7146) | function Tween( elem, options, prop, end, easing ) {
function schedule (line 7269) | function schedule() {
function createFxNow (line 7282) | function createFxNow() {
function genFx (line 7290) | function genFx( type, includeWidth ) {
function createTween (line 7310) | function createTween( value, prop, animation ) {
function defaultPrefilter (line 7324) | function defaultPrefilter( elem, props, opts ) {
function propFilter (line 7496) | function propFilter( props, specialEasing ) {
function Animation (line 7533) | function Animation( elem, properties, options ) {
function stripAndCollapse (line 8248) | function stripAndCollapse( value ) {
function getClass (line 8254) | function getClass( elem ) {
function classesToArray (line 8258) | function classesToArray( value ) {
function buildParams (line 8885) | function buildParams( prefix, obj, traditional, add ) {
function addToPrefiltersOrTransports (line 9039) | function addToPrefiltersOrTransports( structure ) {
function inspectPrefiltersOrTransports (line 9073) | function inspectPrefiltersOrTransports( structure, options, originalOpti...
function ajaxExtend (line 9102) | function ajaxExtend( target, src ) {
function ajaxHandleResponses (line 9122) | function ajaxHandleResponses( s, jqXHR, responses ) {
function ajaxConvert (line 9180) | function ajaxConvert( s, response, jqXHR, isSuccess ) {
function done (line 9696) | function done( status, nativeStatusText, responses, headers ) {
FILE: src/docs/_static/jquery.js
function b (line 2) | function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e...
function w (line 2) | function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof...
function p (line 2) | function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e...
function se (line 2) | function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeTy...
function ue (line 2) | function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cac...
function le (line 2) | function le(e){return e[S]=!0,e}
function ce (line 2) | function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(...
function fe (line 2) | function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[...
function pe (line 2) | function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourc...
function de (line 2) | function de(t){return function(e){return"input"===e.nodeName.toLowerCase...
function he (line 2) | function he(n){return function(e){var t=e.nodeName.toLowerCase();return(...
function ge (line 2) | function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e....
function ve (line 2) | function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,...
function ye (line 2) | function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}
function me (line 2) | function me(){}
function xe (line 2) | function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}
function be (line 2) | function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r...
function we (line 2) | function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r-...
function Te (line 2) | function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(...
function Ce (line 2) | function Ce(d,h,g,v,y,e){return v&&!v[S]&&(v=Ce(v)),y&&!y[S]&&(y=Ce(y,e)...
function Ee (line 2) | function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.r...
function A (line 2) | function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerC...
function j (line 2) | function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,...
function O (line 2) | function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}
function R (line 2) | function R(e){return e}
function M (line 2) | function M(e){throw e}
function I (line 2) | function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n...
function l (line 2) | function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(...
function B (line 2) | function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventLi...
function U (line 2) | function U(e,t){return t.toUpperCase()}
function X (line 2) | function X(e){return e.replace(_,"ms-").replace(z,U)}
function G (line 2) | function G(){this.expando=S.expando+G.uid++}
function Z (line 2) | function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.r...
function se (line 2) | function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:functio...
function le (line 2) | function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[...
function ve (line 2) | function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagNa...
function ye (line 2) | function ye(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",...
function xe (line 2) | function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),...
function we (line 2) | function we(){return!0}
function Te (line 2) | function Te(){return!1}
function Ce (line 2) | function Ce(e,t){return e===function(){try{return E.activeElement}catch(...
function Ee (line 2) | function Ee(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"...
function Se (line 2) | function Se(e,i,o){o?(Y.set(e,i,!1),S.event.add(e,i,{namespace:!1,handle...
function je (line 2) | function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"...
function De (line 2) | function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}
function qe (line 2) | function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.sli...
function Le (line 2) | function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=...
function He (line 2) | function He(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],...
function Oe (line 2) | function Oe(e,t,n){for(var r,i=t?S.filter(t,e):e,o=0;null!=(r=i[o]);o++)...
function We (line 2) | function We(e,t,n){var r,i,o,a,s=e.style;return(n=n||Re(e))&&(""!==(a=n....
function Fe (line 2) | function Fe(e,t){return{get:function(){if(!e())return(this.get=t).apply(...
function e (line 2) | function e(){if(l){u.style.cssText="position:absolute;left:-11111px;widt...
function t (line 2) | function t(e){return Math.round(parseFloat(e))}
function ze (line 2) | function ze(e){var t=S.cssProps[e]||_e[e];return t||(e in $e?e:_e[e]=fun...
function Ye (line 2) | function Ye(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[...
function Qe (line 2) | function Qe(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border...
function Je (line 2) | function Je(e,t,n){var r=Re(e),i=(!y.boxSizingReliable()||n)&&"border-bo...
function Ke (line 2) | function Ke(e,t,n,r,i){return new Ke.prototype.init(e,t,n,r,i)}
function ot (line 2) | function ot(){et&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnima...
function at (line 2) | function at(){return C.setTimeout(function(){Ze=void 0}),Ze=Date.now()}
function st (line 2) | function st(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin...
function ut (line 2) | function ut(e,t,n){for(var r,i=(lt.tweeners[t]||[]).concat(lt.tweeners["...
function lt (line 2) | function lt(o,e,t){var n,a,r=0,i=lt.prefilters.length,s=S.Deferred().alw...
function ht (line 2) | function ht(e){return(e.match(P)||[]).join(" ")}
function gt (line 2) | function gt(e){return e.getAttribute&&e.getAttribute("class")||""}
function vt (line 2) | function vt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)|...
function At (line 2) | function At(n,e,r,i){var t;if(Array.isArray(e))S.each(e,function(e,t){r|...
function It (line 2) | function It(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var ...
function Wt (line 2) | function Wt(t,i,o,a){var s={},u=t===Pt;function l(e){var r;return s[e]=!...
function Ft (line 2) | function Ft(e,t){var n,r,i=S.ajaxSettings.flatOptions||{};for(n in t)voi...
function l (line 2) | function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=vo...
FILE: src/docs/_static/js/badge_only.js
function r (line 1) | function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{...
FILE: src/docs/_static/js/theme.js
function t (line 1) | function t(i){if(e[i])return e[i].exports;var o=e[i]={i:i,l:!1,exports:{...
FILE: src/docs/_static/js/versions.js
function renderLanguages (line 6) | function renderLanguages(config) {
function renderVersions (line 32) | function renderVersions(config) {
function renderDownloads (line 53) | function renderDownloads(config) {
function onSelectorSwitch (line 143) | function onSelectorSwitch(event) {
FILE: src/docs/_static/sphinx_highlight.js
constant SPHINX_HIGHLIGHT_ENABLED (line 4) | const SPHINX_HIGHLIGHT_ENABLED = true
FILE: src/docs/_static/underscore-1.13.1.js
function restArguments (line 64) | function restArguments(func, startIndex) {
function isObject (line 88) | function isObject(obj) {
function isNull (line 94) | function isNull(obj) {
function isUndefined (line 99) | function isUndefined(obj) {
function isBoolean (line 104) | function isBoolean(obj) {
function isElement (line 109) | function isElement(obj) {
function tagTester (line 114) | function tagTester(name) {
function ie10IsDataView (line 162) | function ie10IsDataView(obj) {
function has$1 (line 173) | function has$1(obj, key) {
function isFinite$1 (line 192) | function isFinite$1(obj) {
function isNaN$1 (line 197) | function isNaN$1(obj) {
function constant (line 202) | function constant(value) {
function createSizePropertyCheck (line 209) | function createSizePropertyCheck(getSizeProperty) {
function shallowProperty (line 217) | function shallowProperty(key) {
function isTypedArray (line 232) | function isTypedArray(obj) {
function emulatedSet (line 248) | function emulatedSet(keys) {
function collectNonEnumProps (line 263) | function collectNonEnumProps(obj, keys) {
function keys (line 283) | function keys(obj) {
function isEmpty (line 295) | function isEmpty(obj) {
function isMatch (line 307) | function isMatch(object, attrs) {
function _$1 (line 321) | function _$1(obj) {
function toBufferView (line 344) | function toBufferView(bufferSource) {
function eq (line 356) | function eq(a, b, aStack, bStack) {
function deepEq (line 371) | function deepEq(a, b, aStack, bStack) {
function isEqual (line 476) | function isEqual(a, b) {
function allKeys (line 481) | function allKeys(obj) {
function ie11fingerprint (line 494) | function ie11fingerprint(methods) {
function values (line 533) | function values(obj) {
function pairs (line 545) | function pairs(obj) {
function invert (line 556) | function invert(obj) {
function functions (line 566) | function functions(obj) {
function createAssigner (line 575) | function createAssigner(keysFunc, defaults) {
function ctor (line 605) | function ctor() {
function baseCreate (line 610) | function baseCreate(prototype) {
function create (line 623) | function create(prototype, props) {
function clone (line 630) | function clone(obj) {
function tap (line 638) | function tap(obj, interceptor) {
function toPath$1 (line 645) | function toPath$1(path) {
function toPath (line 652) | function toPath(path) {
function deepGet (line 657) | function deepGet(obj, path) {
function get (line 670) | function get(object, path, defaultValue) {
function has (line 678) | function has(obj, path) {
function identity (line 690) | function identity(value) {
function matcher (line 696) | function matcher(attrs) {
function property (line 705) | function property(path) {
function optimizeCb (line 715) | function optimizeCb(func, context, argCount) {
function baseIteratee (line 737) | function baseIteratee(value, context, argCount) {
function iteratee (line 747) | function iteratee(value, context) {
function cb (line 754) | function cb(value, context, argCount) {
function mapObject (line 761) | function mapObject(obj, iteratee, context) {
function noop (line 774) | function noop(){}
function propertyOf (line 777) | function propertyOf(obj) {
function times (line 785) | function times(n, iteratee, context) {
function random (line 793) | function random(min, max) {
function createEscaper (line 808) | function createEscaper(map) {
function escapeChar (line 867) | function escapeChar(match) {
function template (line 882) | function template(text, settings, oldSettings) {
function result (line 950) | function result(obj, path, fallback) {
function uniqueId (line 970) | function uniqueId(prefix) {
function chain (line 976) | function chain(obj) {
function executeBound (line 985) | function executeBound(sourceFunc, boundFunc, context, callingContext, ar...
function flatten$1 (line 1030) | function flatten$1(input, depth, strict, output) {
function memoize (line 1071) | function memoize(func, hasher) {
function throttle (line 1099) | function throttle(func, wait, options) {
function debounce (line 1144) | function debounce(func, wait, immediate) {
function wrap (line 1181) | function wrap(func, wrapper) {
function negate (line 1186) | function negate(predicate) {
function compose (line 1194) | function compose() {
function after (line 1206) | function after(times, func) {
function before (line 1216) | function before(times, func) {
function findKey (line 1232) | function findKey(obj, predicate, context) {
function createPredicateIndexFinder (line 1242) | function createPredicateIndexFinder(dir) {
function sortedIndex (line 1262) | function sortedIndex(array, obj, iteratee, context) {
function createIndexFinder (line 1274) | function createIndexFinder(dir, predicateFind, sortedIndex) {
function find (line 1309) | function find(obj, predicate, context) {
function findWhere (line 1317) | function findWhere(obj, attrs) {
function each (line 1325) | function each(obj, iteratee, context) {
function map (line 1342) | function map(obj, iteratee, context) {
function createReduce (line 1355) | function createReduce(dir) {
function filter (line 1387) | function filter(obj, predicate, context) {
function reject (line 1397) | function reject(obj, predicate, context) {
function every (line 1402) | function every(obj, predicate, context) {
function some (line 1414) | function some(obj, predicate, context) {
function contains (line 1426) | function contains(obj, item, fromIndex, guard) {
function pluck (line 1456) | function pluck(obj, key) {
function where (line 1462) | function where(obj, attrs) {
function max (line 1467) | function max(obj, iteratee, context) {
function min (line 1492) | function min(obj, iteratee, context) {
function sample (line 1520) | function sample(obj, n, guard) {
function shuffle (line 1539) | function shuffle(obj) {
function sortBy (line 1544) | function sortBy(obj, iteratee, context) {
function group (line 1565) | function group(behavior, partition) {
function toArray (line 1604) | function toArray(obj) {
function size (line 1616) | function size(obj) {
function keyInObj (line 1623) | function keyInObj(value, key, obj) {
function initial (line 1665) | function initial(array, n, guard) {
function first (line 1671) | function first(array, n, guard) {
function rest (line 1680) | function rest(array, n, guard) {
function last (line 1686) | function last(array, n, guard) {
function compact (line 1693) | function compact(array) {
function flatten (line 1699) | function flatten(array, depth) {
function uniq (line 1722) | function uniq(array, isSorted, iteratee, context) {
function intersection (line 1757) | function intersection(array) {
function unzip (line 1774) | function unzip(array) {
function object (line 1791) | function object(list, values) {
function range (line 1806) | function range(start, stop, step) {
function chunk (line 1827) | function chunk(array, count) {
function chainResult (line 1838) | function chainResult(instance, obj) {
function mixin (line 1843) | function mixin(obj) {
FILE: src/docs/_static/underscore.js
function j (line 6) | function j(n,r){return r=null==r?n.length-1:+r,function(){for(var t=Math...
function _ (line 6) | function _(n){var r=typeof n;return"function"===r||"object"===r&&!!n}
function w (line 6) | function w(n){return void 0===n}
function A (line 6) | function A(n){return!0===n||!1===n||"[object Boolean]"===a.call(n)}
function x (line 6) | function x(n){var r="[object "+n+"]";return function(n){return a.call(n)...
function W (line 6) | function W(n,r){return null!=n&&f.call(n,r)}
function $ (line 6) | function $(n){return O(n)&&y(n)}
function C (line 6) | function C(n){return function(){return n}}
function K (line 6) | function K(n){return function(r){var t=n(r);return"number"==typeof t&&t>...
function J (line 6) | function J(n){return function(r){return null==r?void 0:r[n]}}
function Z (line 6) | function Z(n,r){r=function(n){for(var r={},t=n.length,e=0;e<t;++e)r[n[e]...
function nn (line 6) | function nn(n){if(!_(n))return[];if(p)return p(n);var r=[];for(var t in ...
function rn (line 6) | function rn(n,r){var t=nn(r),e=t.length;if(null==n)return!e;for(var u=Ob...
function tn (line 6) | function tn(n){return n instanceof tn?n:this instanceof tn?void(this._wr...
function en (line 6) | function en(n){return new Uint8Array(n.buffer||n,n.byteOffset||0,G(n))}
function on (line 6) | function on(n,r,t,e){if(n===r)return 0!==n||1/n==1/r;if(null==n||null==r...
function an (line 6) | function an(n){if(!_(n))return[];var r=[];for(var t in n)r.push(t);retur...
function fn (line 6) | function fn(n){var r=Y(n);return function(t){if(null==t)return!1;var e=a...
function jn (line 6) | function jn(n){for(var r=nn(n),t=r.length,e=Array(t),u=0;u<t;u++)e[u]=n[...
function _n (line 6) | function _n(n){for(var r={},t=nn(n),e=0,u=t.length;e<u;e++)r[n[t[e]]]=t[...
function wn (line 6) | function wn(n){var r=[];for(var t in n)D(n[t])&&r.push(t);return r.sort()}
function An (line 6) | function An(n,r){return function(t){var e=arguments.length;if(r&&(t=Obje...
function Mn (line 6) | function Mn(n){if(!_(n))return{};if(v)return v(n);var r=function(){};r.p...
function En (line 6) | function En(n){return _(n)?U(n)?n.slice():xn({},n):n}
function Bn (line 6) | function Bn(n){return U(n)?n:[n]}
function Nn (line 6) | function Nn(n){return tn.toPath(n)}
function In (line 6) | function In(n,r){for(var t=r.length,e=0;e<t;e++){if(null==n)return;n=n[r...
function Tn (line 6) | function Tn(n,r,t){var e=In(n,Nn(r));return w(e)?t:e}
function kn (line 6) | function kn(n){return n}
function Dn (line 6) | function Dn(n){return n=Sn({},n),function(r){return rn(r,n)}}
function Rn (line 6) | function Rn(n){return n=Nn(n),function(r){return In(r,n)}}
function Fn (line 6) | function Fn(n,r,t){if(void 0===r)return n;switch(null==t?3:t){case 1:ret...
function Vn (line 6) | function Vn(n,r,t){return null==n?kn:D(n)?Fn(n,r,t):_(n)&&!U(n)?Dn(n):Rn...
function Pn (line 6) | function Pn(n,r){return Vn(n,r,1/0)}
function qn (line 6) | function qn(n,r,t){return tn.iteratee!==Pn?tn.iteratee(n,r):Vn(n,r,t)}
function Un (line 6) | function Un(){}
function Wn (line 6) | function Wn(n,r){return null==r&&(r=n,n=0),n+Math.floor(Math.random()*(r...
function Ln (line 6) | function Ln(n){var r=function(r){return n[r]},t="(?:"+nn(n).join("|")+")...
function Xn (line 6) | function Xn(n){return"\\"+Hn[n]}
function nr (line 6) | function nr(n,r,t,e,u){if(!(e instanceof r))return n.apply(t,u);var o=Mn...
function ur (line 6) | function ur(n,r,t,e){if(e=e||[],r||0===r){if(r<=0)return e.concat(n)}els...
function fr (line 6) | function fr(n){return function(){return!n.apply(this,arguments)}}
function cr (line 6) | function cr(n,r){var t;return function(){return--n>0&&(t=r.apply(this,ar...
function sr (line 6) | function sr(n,r,t){r=qn(r,t);for(var e,u=nn(n),o=0,i=u.length;o<i;o++)if...
function pr (line 6) | function pr(n){return function(r,t,e){t=qn(t,e);for(var u=Y(r),o=n>0?0:u...
function yr (line 6) | function yr(n,r,t,e){for(var u=(t=qn(t,e,1))(r),o=0,i=Y(n);o<i;){var a=M...
function dr (line 6) | function dr(n,r,t){return function(e,u,o){var a=0,f=Y(e);if("number"==ty...
function mr (line 6) | function mr(n,r,t){var e=(er(n)?vr:sr)(n,r,t);if(void 0!==e&&-1!==e)retu...
function jr (line 6) | function jr(n,r,t){var e,u;if(r=Fn(r,t),er(n))for(e=0,u=n.length;e<u;e++...
function _r (line 6) | function _r(n,r,t){r=qn(r,t);for(var e=!er(n)&&nn(n),u=(e||n).length,o=A...
function wr (line 6) | function wr(n){var r=function(r,t,e,u){var o=!er(r)&&nn(r),i=(o||r).leng...
function Sr (line 6) | function Sr(n,r,t){var e=[];return r=qn(r,t),jr(n,(function(n,t,u){r(n,t...
function Or (line 6) | function Or(n,r,t){r=qn(r,t);for(var e=!er(n)&&nn(n),u=(e||n).length,o=0...
function Mr (line 6) | function Mr(n,r,t){r=qn(r,t);for(var e=!er(n)&&nn(n),u=(e||n).length,o=0...
function Er (line 6) | function Er(n,r,t,e){return er(n)||(n=jn(n)),("number"!=typeof t||e)&&(t...
function Nr (line 6) | function Nr(n,r){return _r(n,Rn(r))}
function Ir (line 6) | function Ir(n,r,t){var e,u,o=-1/0,i=-1/0;if(null==r||"number"==typeof r&...
function Tr (line 6) | function Tr(n,r,t){if(null==r||t)return er(n)||(n=jn(n)),n[Wn(n.length-1...
function kr (line 6) | function kr(n,r){return function(t,e,u){var o=r?[[],[]]:{};return e=qn(e...
function qr (line 6) | function qr(n,r,t){return r in t}
function zr (line 6) | function zr(n,r,t){return i.call(n,0,Math.max(0,n.length-(null==r||t?1:r...
function Lr (line 6) | function Lr(n,r,t){return null==n||n.length<1?null==r||t?void 0:[]:null=...
function $r (line 6) | function $r(n,r,t){return i.call(n,null==r||t?1:r)}
function Jr (line 6) | function Jr(n,r,t,e){A(r)||(e=t,t=r,r=!1),null!=t&&(t=qn(t,e));for(var u...
function Hr (line 6) | function Hr(n){for(var r=n&&Ir(n,Y).length||0,t=Array(r),e=0;e<r;e++)t[e...
function Xr (line 6) | function Xr(n,r){return n._chain?tn(r).chain():r}
function Yr (line 6) | function Yr(n){return jr(wn(n),(function(r){var t=tn[r]=n[r];tn.prototyp...
FILE: src/generate/generate_android_platform.py
function main (line 8) | def main():
FILE: src/generate/generate_constants.py
function main (line 7) | def main():
FILE: src/generate/generate_docstrings.py
class OpenXrDocstringParser (line 5) | class OpenXrDocstringParser(HTMLParser):
method __init__ (line 6) | def __init__(self, function_name: str):
method docstring (line 15) | def docstring(self):
method handle_endtag (line 18) | def handle_endtag(self, tag: str) -> None:
method handle_starttag (line 27) | def handle_starttag(self, tag: str, attrs: list) -> None:
method handle_data (line 36) | def handle_data(self, data: str) -> None:
function create_docstring (line 49) | def create_docstring(function_name: str) -> str:
function main (line 58) | def main():
FILE: src/generate/generate_enums.py
function main (line 10) | def main():
FILE: src/generate/generate_exceptions.py
function camel_word (line 14) | def camel_word(word) -> str:
function main (line 22) | def main():
FILE: src/generate/generate_extensions3.py
class ParameterType (line 16) | class ParameterType:
method __init__ (line 17) | def __init__(
method from_xml (line 32) | def from_xml(
method __str__ (line 60) | def __str__(self):
class CommandParameterItem (line 64) | class CommandParameterItem:
method __init__ (line 65) | def __init__(self, c_name, parameter_type: ParameterType):
method from_xml (line 72) | def from_xml(
class ExtensionCommandItem (line 83) | class ExtensionCommandItem:
method __init__ (line 84) | def __init__(self, c_name: str, py_name: str, parameters, module_name:...
method from_xml (line 98) | def from_xml(cls, command_entity, extension: Optional["ExtensionModule...
method __lt__ (line 134) | def __lt__(self, other):
method code (line 137) | def code(self) -> str:
class ExtensionModuleItem (line 219) | class ExtensionModuleItem:
method __init__ (line 220) | def __init__(self, element: Element) -> None:
method code (line 278) | def code(self) -> str:
class ExtensionTypeAliasItem (line 326) | class ExtensionTypeAliasItem:
method __init__ (line 327) | def __init__(self, type_name: str, extension: ExtensionModuleItem):
method __eq__ (line 352) | def __eq__(self, other):
method __hash__ (line 355) | def __hash__(self):
method __lt__ (line 358) | def __lt__(self, other):
method code (line 361) | def code(self) -> str:
function index_types (line 365) | def index_types():
function generate_extensions (line 384) | def generate_extensions():
FILE: src/generate/generate_functions.py
function main (line 13) | def main():
FILE: src/generate/generate_linux_platform.py
function main (line 8) | def main():
FILE: src/generate/generate_raw_functions.py
function main (line 13) | def main():
FILE: src/generate/generate_typedefs.py
function main (line 8) | def main():
FILE: src/generate/generate_windows_platform.py
function main (line 8) | def main():
FILE: src/generate/py_api_layer/py_api_layer.cpp
function LAYER_EXPORT (line 27) | LAYER_EXPORT XrResult xrNegotiateLoaderApiLayerInterface(
function LAYER_EXPORT (line 43) | LAYER_EXPORT void insertXrApiLayer(const char* pName, int nameLength, PF...
FILE: src/generate/xrg/__init__.py
class Header (line 34) | class Header(enum.Enum):
method file_name (line 38) | def file_name(self) -> str:
class CodeGenerator (line 42) | class CodeGenerator(object):
method __init__ (line 43) | def __init__(
method items (line 60) | def items(self) -> list[CodeItem]:
method print_all_list (line 70) | def print_all_list(self, api=Api.PYTHON) -> None:
method print_header (line 78) | def print_header(self, api=Api.PYTHON) -> None:
method print_items (line 99) | def print_items(self, api=Api.PYTHON) -> None:
function generate_cursors (line 109) | def generate_cursors(
function generate_code_items (line 145) | def generate_code_items(
function get_header_as_string (line 242) | def get_header_as_string(header: Header = Header.OPENXR) -> str:
FILE: src/generate/xrg/declarations.py
class SkippableCodeItemException (line 20) | class SkippableCodeItemException(Exception):
class CodeItem (line 24) | class CodeItem(ABC):
method __init__ (line 25) | def __init__(self, cursor: Cursor) -> None:
method blank_lines_before (line 29) | def blank_lines_before() -> int:
method blank_lines_after (line 33) | def blank_lines_after() -> int:
method name (line 37) | def name(self, api: Api = Api.PYTHON) -> str:
method code (line 41) | def code(self, api: Api = Api.PYTHON) -> str:
method used_ctypes (line 45) | def used_ctypes(self, api: Api = Api.PYTHON) -> Set[str]:
class DefinitionItem (line 49) | class DefinitionItem(CodeItem):
method __init__ (line 50) | def __init__(self, cursor: Cursor) -> None:
method blank_lines_before (line 80) | def blank_lines_before():
method blank_lines_after (line 84) | def blank_lines_after():
method name (line 87) | def name(self, api: Api = Api.PYTHON) -> str:
method code (line 97) | def code(self, api: Api = Api.PYTHON) -> str:
method used_ctypes (line 102) | def used_ctypes(self, api: Api = Api.PYTHON) -> Set[str]:
class EnumItem (line 106) | class EnumItem(CodeItem):
method __init__ (line 107) | def __init__(self, cursor: Cursor) -> None:
method blank_lines_before (line 119) | def blank_lines_before():
method blank_lines_after (line 123) | def blank_lines_after():
method name (line 126) | def name(self, api: Api = Api.PYTHON) -> str:
method code (line 136) | def code(self, api: Api = Api.PYTHON) -> str:
method used_ctypes (line 163) | def used_ctypes(self, api: Api = Api.PYTHON) -> Set[str]:
class EnumValueItem (line 169) | class EnumValueItem(CodeItem):
method __init__ (line 177) | def __init__(self, cursor: Cursor, parent: EnumItem) -> None:
method _make_py_name (line 185) | def _make_py_name(self):
method blank_lines_before (line 219) | def blank_lines_before():
method blank_lines_after (line 223) | def blank_lines_after():
method name (line 226) | def name(self, api: Api = Api.PYTHON) -> str:
method code (line 236) | def code(self, api: Api = Api.PYTHON) -> str:
method used_ctypes (line 245) | def used_ctypes(self, api: Api = Api.PYTHON) -> Set[str]:
class FlagsItem (line 251) | class FlagsItem(CodeItem):
method __init__ (line 252) | def __init__(self, cursor: Cursor) -> None:
method add_value (line 264) | def add_value(self, cursor: Cursor) -> None:
method name (line 278) | def name(self, api: Api = Api.PYTHON) -> str:
method blank_lines_before (line 289) | def blank_lines_before():
method blank_lines_after (line 293) | def blank_lines_after():
method code (line 296) | def code(self, api: Api = Api.PYTHON) -> str:
method used_ctypes (line 310) | def used_ctypes(self, api: Api = Api.PYTHON) -> Set[str]:
class FunctionItem (line 314) | class FunctionItem(CodeItem):
method __init__ (line 315) | def __init__(self, cursor: Cursor) -> None:
method _py_function_name (line 355) | def _py_function_name(capi_name: str) -> str:
method blank_lines_before (line 362) | def blank_lines_before():
method blank_lines_after (line 366) | def blank_lines_after():
method name (line 369) | def name(self, api: Api = Api.PYTHON) -> str:
method code (line 379) | def code(self, api: Api = Api.PYTHON) -> str:
method used_ctypes (line 420) | def used_ctypes(self, api: Api = Api.PYTHON) -> Set[str]:
class FunctionParameterItem (line 427) | class FunctionParameterItem(CodeItem):
method __init__ (line 428) | def __init__(self, cursor: Cursor, function):
method name (line 447) | def name(self, api: Api = Api.PYTHON) -> str:
method code (line 457) | def code(self, api: Api = Api.PYTHON) -> str:
method default_value (line 461) | def default_value(self) -> str:
method default_value (line 467) | def default_value(self, value: str) -> None:
method is_optional (line 470) | def is_optional(self) -> bool:
method used_ctypes (line 477) | def used_ctypes(self, api: Api = Api.PYTHON) -> Set[str]:
class StructFieldItem (line 481) | class StructFieldItem(CodeItem):
class Kind (line 484) | class Kind(enum.Enum):
method __init__ (line 492) | def __init__(self, cursor: Cursor) -> None:
method name (line 508) | def name(self, api: Api = Api.PYTHON) -> str:
method inner_name (line 518) | def inner_name(self, api: Api = Api.PYTHON) -> str:
method code (line 537) | def code(self, api: Api = Api.PYTHON) -> str:
method used_ctypes (line 542) | def used_ctypes(self, api: Api = Api.PYTHON) -> Set[str]:
class StructItem (line 546) | class StructItem(CodeItem):
method __init__ (line 547) | def __init__(self, cursor: Cursor):
method blank_lines_before (line 605) | def blank_lines_before():
method blank_lines_after (line 609) | def blank_lines_after():
method name (line 612) | def name(self, api: Api = Api.PYTHON) -> str:
method _sequence_code (line 622) | def _sequence_code(self) -> str:
method field_as_string_code (line 667) | def field_as_string_code(string_field: str):
method code (line 690) | def code(self, api: Api = Api.PYTHON) -> str:
method used_ctypes (line 723) | def used_ctypes(self, api: Api = Api.PYTHON) -> Set[str]:
class TypeDefItem (line 732) | class TypeDefItem(CodeItem):
method __init__ (line 733) | def __init__(self, cursor: Cursor):
method blank_lines_after (line 759) | def blank_lines_after(self):
method name (line 765) | def name(self, api: Api = Api.PYTHON) -> str:
method code (line 775) | def code(self, api: Api = Api.PYTHON) -> str:
method used_ctypes (line 793) | def used_ctypes(self, api: Api = Api.PYTHON) -> Set[str]:
class VariableItem (line 797) | class VariableItem(CodeItem):
method __init__ (line 798) | def __init__(self, cursor: Cursor) -> None:
method blank_lines_before (line 824) | def blank_lines_before():
method blank_lines_after (line 828) | def blank_lines_after():
method name (line 831) | def name(self, api: Api = Api.PYTHON) -> str:
method code (line 841) | def code(self, api: Api = Api.PYTHON) -> str:
method used_ctypes (line 846) | def used_ctypes(self, api: Api = Api.PYTHON) -> Set[str]:
class NothingParameterCoder (line 850) | class NothingParameterCoder(object):
method __init__ (line 853) | def __init__(self, parameter: FunctionParameterItem, default=None):
method declaration_code (line 858) | def declaration_code(api=Api.PYTHON) -> Iterator[str]:
method main_call_code (line 861) | def main_call_code(self, api: Api = Api.PYTHON) -> Iterator[str]:
method buffer_call_code (line 864) | def buffer_call_code(self, api: Api = Api.PYTHON) -> Iterator[str]:
method mid_body_code (line 868) | def mid_body_code(api=Api.PYTHON) -> Iterator[str]:
method pre_body_code (line 872) | def pre_body_code(api=Api.PYTHON) -> Iterator[str]:
method result_type_code (line 876) | def result_type_code(api=Api.PYTHON) -> Iterator[str]:
method result_value_code (line 879) | def result_value_code(self, api: Api = Api.PYTHON) -> Iterator[str]:
class ParameterCoderBase (line 883) | class ParameterCoderBase(NothingParameterCoder):
method main_call_code (line 884) | def main_call_code(self, api: Api = Api.PYTHON) -> Iterator[str]:
class InputParameterCoder (line 888) | class InputParameterCoder(ParameterCoderBase):
method declaration_code (line 889) | def declaration_code(self, api: Api = Api.PYTHON) -> Iterator[str]:
method type_string (line 895) | def type_string(self) -> str:
class CreateInfoParameterCoder (line 906) | class CreateInfoParameterCoder(InputParameterCoder):
method __init__ (line 907) | def __init__(self, parameter: FunctionParameterItem):
method pre_body_code (line 910) | def pre_body_code(self, api: Api = Api.PYTHON) -> Iterator[str]:
class EnumParameterCoder (line 915) | class EnumParameterCoder(InputParameterCoder):
method main_call_code (line 916) | def main_call_code(self, api: Api = Api.PYTHON) -> Iterator[str]:
class StringInputParameterCoder (line 920) | class StringInputParameterCoder(InputParameterCoder):
method pre_body_code (line 921) | def pre_body_code(self, api: Api = Api.PYTHON) -> Iterator[str]:
class OutputParameterCoder (line 926) | class OutputParameterCoder(ParameterCoderBase):
method result_type_code (line 927) | def result_type_code(self, api: Api = Api.PYTHON) -> Iterator[str]:
method pre_body_code (line 932) | def pre_body_code(self, api: Api = Api.PYTHON) -> Iterator[str]:
method main_call_code (line 937) | def main_call_code(self, api: Api = Api.PYTHON) -> Iterator[str]:
method result_value_code (line 940) | def result_value_code(self, api: Api = Api.PYTHON) -> Iterator[str]:
class CreatedHandleOutputParameterCoder (line 949) | class CreatedHandleOutputParameterCoder(OutputParameterCoder):
method __init__ (line 950) | def __init__(
method pre_body_code (line 960) | def pre_body_code(self, api: Api = Api.PYTHON) -> Iterator[str]:
class BufferCoder (line 976) | class BufferCoder(ParameterCoderBase):
method __init__ (line 983) | def __init__(
method declaration_code (line 1007) | def declaration_code(self, api: Api = Api.PYTHON) -> Iterator[str]:
method pre_body_code (line 1012) | def pre_body_code(self, api: Api = Api.PYTHON) -> Iterator[str]:
method buffer_call_code (line 1015) | def buffer_call_code(self, api: Api = Api.PYTHON) -> Iterator[str]:
method mid_body_code (line 1020) | def mid_body_code(self, api: Api = Api.PYTHON) -> Iterator[str]:
method main_call_code (line 1031) | def main_call_code(self, api: Api = Api.PYTHON) -> Iterator[str]:
method result_type_code (line 1039) | def result_type_code(self, api: Api = Api.PYTHON) -> Iterator[str]:
method result_value_code (line 1045) | def result_value_code(self, api: Api = Api.PYTHON) -> Iterator[str]:
class FunctionCoder (line 1052) | class FunctionCoder(object):
method __init__ (line 1053) | def __init__(self, function: FunctionItem):
method body_code (line 1115) | def body_code(self) -> str:
method declaration_code (line 1184) | def declaration_code(self, api: Api = Api.PYTHON) -> str:
method __str__ (line 1213) | def __str__(self, api: Api = Api.PYTHON):
class FieldCoder (line 1228) | class FieldCoder(object):
method __init__ (line 1231) | def __init__(self, field: StructFieldItem, default: Union[Number, str,...
method field_code (line 1242) | def field_code(self) -> Iterator[str]:
method param_code (line 1248) | def param_code(self) -> Iterator[str]:
method pre_call_code (line 1252) | def pre_call_code() -> Iterator[str]:
method call_code (line 1255) | def call_code(self) -> Iterator[str]:
method property_code (line 1258) | def property_code(self) -> Iterator[str]:
method str_code (line 1271) | def str_code(self) -> Iterator[str]:
method repr_code (line 1278) | def repr_code(self) -> Iterator[str]:
class ArrayFieldCoder (line 1282) | class ArrayFieldCoder(FieldCoder):
method param_code (line 1285) | def param_code(self) -> Iterator[str]:
method pre_call_code (line 1289) | def pre_call_code() -> Iterator[str]:
method call_code (line 1292) | def call_code(self) -> Iterator[str]:
method str_code (line 1295) | def str_code(self) -> Iterator[str]:
method repr_code (line 1298) | def repr_code(self) -> Iterator[str]:
class ArrayCountFieldCoder (line 1302) | class ArrayCountFieldCoder(FieldCoder):
method __init__ (line 1307) | def __init__(self, count_field: StructFieldItem, array_field: StructFi...
method param_code (line 1311) | def param_code(self) -> Iterator[str]:
class ArrayPointerFieldCoder (line 1315) | class ArrayPointerFieldCoder(FieldCoder):
method __init__ (line 1320) | def __init__(self, count_field: StructFieldItem, array_field: StructFi...
method param_code (line 1324) | def param_code(self) -> Iterator[str]:
method pre_call_code (line 1335) | def pre_call_code(self) -> Iterator[str]:
method property_code (line 1350) | def property_code(self) -> Iterator[str]:
class DebugCallbackUserDataFieldCoder (line 1373) | class DebugCallbackUserDataFieldCoder(FieldCoder):
method __init__ (line 1374) | def __init__(self, user_data_field: StructFieldItem, callback_field: S...
method param_code (line 1378) | def param_code(self) -> Iterator[str]:
method pre_call_code (line 1381) | def pre_call_code(self) -> Iterator[str]:
method call_code (line 1384) | def call_code(self) -> Iterator[str]:
method property_code (line 1387) | def property_code(self) -> Iterator[str]:
class DebugCallbackFieldCoder (line 1404) | class DebugCallbackFieldCoder(FieldCoder):
method __init__ (line 1405) | def __init__(self, callback_field: StructFieldItem, user_data_field: S...
method param_code (line 1409) | def param_code(self) -> Iterator[str]:
method pre_call_code (line 1417) | def pre_call_code(self) -> Iterator[str]:
method call_code (line 1420) | def call_code(self) -> Iterator[str]:
method property_code (line 1423) | def property_code(self) -> Iterator[str]:
class DefaultConstructibleFieldCoder (line 1442) | class DefaultConstructibleFieldCoder(FieldCoder):
method param_code (line 1443) | def param_code(self) -> Iterator[str]:
class EnumFieldCoder (line 1451) | class EnumFieldCoder(FieldCoder):
method param_code (line 1452) | def param_code(self) -> Iterator[str]:
method call_code (line 1459) | def call_code(self) -> Iterator[str]:
method property_code (line 1462) | def property_code(self) -> Iterator[str]:
class FunctionPointerFieldCoder (line 1477) | class FunctionPointerFieldCoder(FieldCoder):
method param_code (line 1478) | def param_code(self) -> Iterator[str]:
class NoDefaultFieldCoder (line 1486) | class NoDefaultFieldCoder(FieldCoder):
method param_code (line 1489) | def param_code(self) -> Iterator[str]:
class NextFieldCoder (line 1493) | class NextFieldCoder(FieldCoder):
method call_code (line 1494) | def call_code(self) -> Iterator[str]:
method param_code (line 1497) | def param_code(self) -> Iterator[str]:
method property_code (line 1501) | def property_code(self) -> Iterator[str]:
class PosefFieldCoder (line 1506) | class PosefFieldCoder(FieldCoder):
method param_code (line 1507) | def param_code(self) -> Iterator[str]:
class VoidPointerFieldCoder (line 1514) | class VoidPointerFieldCoder(FieldCoder):
method param_code (line 1515) | def param_code(self) -> Iterator[str]:
class StringFieldCoder (line 1519) | class StringFieldCoder(FieldCoder):
method param_code (line 1520) | def param_code(self) -> Iterator[str]:
method call_code (line 1526) | def call_code(self) -> Iterator[str]:
method property_code (line 1529) | def property_code(self) -> Iterator[str]:
class VersionFieldCoder (line 1543) | class VersionFieldCoder(FieldCoder):
method param_code (line 1544) | def param_code(self) -> Iterator[str]:
method call_code (line 1550) | def call_code(self) -> Iterator[str]:
method property_code (line 1553) | def property_code(self) -> Iterator[str]:
class StructureFieldCoder (line 1571) | class StructureFieldCoder(FieldCoder):
method pre_call_code (line 1572) | def pre_call_code(self) -> Iterator[str]:
class StructureTypeFieldCoder (line 1577) | class StructureTypeFieldCoder(EnumFieldCoder):
method __init__ (line 1578) | def __init__(self, field, struct):
method param_code (line 1582) | def param_code(self) -> Iterator[str]:
method property_code (line 1586) | def property_code(self) -> Iterator[str]:
class BaseStructureTypeFieldCoder (line 1590) | class BaseStructureTypeFieldCoder(EnumFieldCoder):
method __init__ (line 1591) | def __init__(self, field, struct):
method param_code (line 1595) | def param_code(self) -> Iterator[str]:
method property_code (line 1598) | def property_code(self) -> Iterator[str]:
class StructureCoder (line 1602) | class StructureCoder(object):
method __init__ (line 1603) | def __init__(self, struct: StructItem):
method generate_constructor (line 1664) | def generate_constructor(self) -> str:
method generate_fields (line 1692) | def generate_fields(self, api: Api = Api.PYTHON) -> str:
method generate_properties (line 1712) | def generate_properties(self) -> str:
method generate_repr_str (line 1730) | def generate_repr_str(self) -> str:
function snake_from_camel (line 1757) | def snake_from_camel(camel: str) -> str:
function camel_from_snake (line 1780) | def camel_from_snake(snake: str) -> str:
function structure_type_enum_name (line 1795) | def structure_type_enum_name(struct: StructItem):
function parent_struct (line 1803) | def parent_struct(derived_struct_name: str) -> tuple[str, int]:
function enum_default_value (line 1845) | def enum_default_value(enum_name: str) -> str:
FILE: src/generate/xrg/docstrings.py
class OpenXrDocstringParser (line 6) | class OpenXrDocstringParser(HTMLParser):
method __init__ (line 7) | def __init__(self, function_name: str):
method docstring (line 16) | def docstring(self):
method handle_endtag (line 19) | def handle_endtag(self, tag: str) -> None:
method handle_starttag (line 28) | def handle_starttag(self, tag: str, attrs: list) -> None:
method handle_data (line 37) | def handle_data(self, data: str) -> None:
function create_docstring (line 50) | def create_docstring(function_name: str) -> str:
function main (line 61) | def main():
FILE: src/generate/xrg/headers/EGL/egl.h
type EGLint (line 15) | typedef int32_t EGLint;
type EGLBoolean (line 16) | typedef unsigned int EGLBoolean;
FILE: src/generate/xrg/headers/vulkan/vk_icd.h
type VK_LOADER_DATA (line 85) | typedef union {
function set_loader_magic_value (line 90) | static inline void set_loader_magic_value(void *pNewObject) {
function valid_loader_magic_value (line 95) | static inline bool valid_loader_magic_value(void *pNewObject) {
type VkIcdWsiPlatform (line 104) | typedef enum {
type VkIcdSurfaceBase (line 123) | typedef struct {
type VkIcdSurfaceMir (line 128) | typedef struct {
type VkIcdSurfaceWayland (line 136) | typedef struct {
type VkIcdSurfaceWin32 (line 144) | typedef struct {
type VkIcdSurfaceXcb (line 152) | typedef struct {
type VkIcdSurfaceXlib (line 160) | typedef struct {
type VkIcdSurfaceDirectFB (line 168) | typedef struct {
type VkIcdSurfaceAndroid (line 176) | typedef struct {
type VkIcdSurfaceMacOS (line 183) | typedef struct {
type VkIcdSurfaceIOS (line 190) | typedef struct {
type VkIcdSurfaceGgp (line 197) | typedef struct {
type VkIcdSurfaceDisplay (line 203) | typedef struct {
type VkIcdSurfaceHeadless (line 214) | typedef struct {
type VkIcdSurfaceMetal (line 219) | typedef struct {
type VkIcdSurfaceVi (line 226) | typedef struct {
type VkIcdSurfaceScreen (line 233) | typedef struct {
type VkIcdSurfaceImagePipe (line 241) | typedef struct {
FILE: src/generate/xrg/headers/vulkan/vk_layer.h
type VkNegotiateLayerStructType (line 33) | typedef enum VkNegotiateLayerStructType {
type VkNegotiateLayerInterface (line 39) | typedef struct VkNegotiateLayerInterface {
type VkLayerFunction (line 62) | typedef enum VkLayerFunction_ {
type VkLayerInstanceLink (line 69) | typedef struct VkLayerInstanceLink_ {
type VkLayerDeviceInfo (line 82) | typedef struct VkLayerDeviceInfo_ {
type const (line 91) | typedef VkResult (VKAPI_PTR *PFN_vkLayerCreateDevice)(VkInstance instanc...
type VkLoaderFlagBits (line 95) | typedef enum VkLoaderFeastureFlagBits {
type VkFlags (line 98) | typedef VkFlags VkLoaderFeatureFlags;
type VkLayerInstanceCreateInfo (line 100) | typedef struct {
type VkLayerDeviceLink (line 115) | typedef struct VkLayerDeviceLink_ {
type VkLayerDeviceCreateInfo (line 121) | typedef struct {
type VkChainType (line 137) | typedef enum VkChainType {
type VkChainHeader (line 144) | typedef struct VkChainHeader {
type VkEnumerateInstanceExtensionPropertiesChain (line 150) | typedef struct VkEnumerateInstanceExtensionPropertiesChain {
type VkEnumerateInstanceLayerPropertiesChain (line 163) | typedef struct VkEnumerateInstanceLayerPropertiesChain {
type VkEnumerateInstanceVersionChain (line 175) | typedef struct VkEnumerateInstanceVersionChain {
FILE: src/generate/xrg/headers/vulkan/vulkan.hpp
type HINSTANCE__ (line 49) | struct HINSTANCE__
function VULKAN_HPP_CONSTEXPR (line 96) | VULKAN_HPP_CONSTEXPR ArrayWrapper1D() VULKAN_HPP_NOEXCEPT : std::array<T...
function VULKAN_HPP_CONSTEXPR (line 98) | VULKAN_HPP_CONSTEXPR ArrayWrapper1D( std::array<T, N> const & data ) VUL...
function VULKAN_HPP_CONSTEXPR_14 (line 101) | VULKAN_HPP_CONSTEXPR_14 ArrayWrapper1D( std::string const & data ) VULKA...
function VULKAN_HPP_CONSTEXPR_14 (line 108) | VULKAN_HPP_CONSTEXPR_14 ArrayWrapper1D( std::string_view data ) VULKAN_H...
function VULKAN_HPP_CONSTEXPR_14 (line 152) | VULKAN_HPP_CONSTEXPR_14 void copy( char const * data, size_t len ) VULKA...
class ArrayWrapper2D (line 299) | class ArrayWrapper2D : public std::array<ArrayWrapper1D<T, M>, N>
method VULKAN_HPP_CONSTEXPR (line 302) | VULKAN_HPP_CONSTEXPR ArrayWrapper2D() VULKAN_HPP_NOEXCEPT : std::array...
method VULKAN_HPP_CONSTEXPR (line 304) | VULKAN_HPP_CONSTEXPR ArrayWrapper2D( std::array<std::array<T, M>, N> c...
class ArrayProxy (line 312) | class ArrayProxy
method ArrayProxy (line 327) | ArrayProxy( T const & value ) VULKAN_HPP_NOEXCEPT
method ArrayProxy (line 333) | ArrayProxy( uint32_t count, T const * ptr ) VULKAN_HPP_NOEXCEPT
method ArrayProxy (line 340) | ArrayProxy( T const ( &ptr )[C] ) VULKAN_HPP_NOEXCEPT
method ArrayProxy (line 351) | ArrayProxy( std::initializer_list<T> const & list ) VULKAN_HPP_NOEXCEPT
method ArrayProxy (line 358) | ArrayProxy( std::initializer_list<typename std::remove_const<T>::type>...
method ArrayProxy (line 373) | ArrayProxy( V const & v ) VULKAN_HPP_NOEXCEPT
method T (line 379) | const T * begin() const VULKAN_HPP_NOEXCEPT
method T (line 384) | const T * end() const VULKAN_HPP_NOEXCEPT
method T (line 389) | const T & front() const VULKAN_HPP_NOEXCEPT
method T (line 395) | const T & back() const VULKAN_HPP_NOEXCEPT
method T (line 411) | T const * data() const VULKAN_HPP_NOEXCEPT
class ArrayProxyNoTemporaries (line 422) | class ArrayProxyNoTemporaries
method ArrayProxyNoTemporaries (line 438) | ArrayProxyNoTemporaries( B && value ) VULKAN_HPP_NOEXCEPT
method ArrayProxyNoTemporaries (line 444) | ArrayProxyNoTemporaries( uint32_t count, T * ptr ) VULKAN_HPP_NOEXCEPT
method ArrayProxyNoTemporaries (line 451) | ArrayProxyNoTemporaries( T ( &ptr )[C] ) VULKAN_HPP_NOEXCEPT
method ArrayProxyNoTemporaries (line 458) | ArrayProxyNoTemporaries( T ( &&ptr )[C] ) = delete;
method ArrayProxyNoTemporaries (line 466) | ArrayProxyNoTemporaries( V && v ) VULKAN_HPP_NOEXCEPT
method ArrayProxyNoTemporaries (line 477) | ArrayProxyNoTemporaries( V && v ) VULKAN_HPP_NOEXCEPT
method T (line 483) | const T * begin() const VULKAN_HPP_NOEXCEPT
method T (line 488) | const T * end() const VULKAN_HPP_NOEXCEPT
method T (line 493) | const T & front() const VULKAN_HPP_NOEXCEPT
method T (line 499) | const T & back() const VULKAN_HPP_NOEXCEPT
method T (line 515) | T * data() const VULKAN_HPP_NOEXCEPT
class StridedArrayProxy (line 526) | class StridedArrayProxy : protected ArrayProxy<T>
method StridedArrayProxy (line 531) | StridedArrayProxy( uint32_t count, T const * ptr, uint32_t stride ) VU...
method T (line 540) | const T * end() const VULKAN_HPP_NOEXCEPT
method T (line 547) | const T & back() const VULKAN_HPP_NOEXCEPT
method stride (line 557) | uint32_t stride() const
class Optional (line 567) | class Optional
method Optional (line 570) | Optional( RefType & reference ) VULKAN_HPP_NOEXCEPT
method Optional (line 575) | Optional( RefType * ptr ) VULKAN_HPP_NOEXCEPT
method Optional (line 580) | Optional( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
method RefType (line 590) | RefType const * operator->() const VULKAN_HPP_NOEXCEPT
method RefType (line 595) | RefType const * get() const VULKAN_HPP_NOEXCEPT
type StructExtends (line 610) | struct StructExtends
type IsPartOfStructureChain (line 619) | struct IsPartOfStructureChain
type IsPartOfStructureChain<Type, Head, Tail...> (line 625) | struct IsPartOfStructureChain<Type, Head, Tail...>
type StructureChainContains (line 631) | struct StructureChainContains
type StructureChainContains<0, T, ChainElements...> (line 638) | struct StructureChainContains<0, T, ChainElements...>
type StructureChainValidation (line 644) | struct StructureChainValidation
type StructureChainValidation<0, ChainElements...> (line 653) | struct StructureChainValidation<0, ChainElements...>
class StructureChain (line 659) | class StructureChain : public std::tuple<ChainElements...>
method StructureChain (line 664) | StructureChain() VULKAN_HPP_NOEXCEPT
method StructureChain (line 670) | StructureChain( StructureChain const & rhs ) VULKAN_HPP_NOEXCEPT : std...
method StructureChain (line 679) | StructureChain( ChainElements const &... elems ) VULKAN_HPP_NOEXCEPT :...
method StructureChain (line 685) | StructureChain & operator=( StructureChain const & rhs ) VULKAN_HPP_NO...
method T (line 696) | T & get() VULKAN_HPP_NOEXCEPT
method T (line 702) | T const & get() const VULKAN_HPP_NOEXCEPT
method VULKAN_HPP_NOEXCEPT (line 708) | std::tuple<T0 &, T1 &, Ts &...> get() VULKAN_HPP_NOEXCEPT
method VULKAN_HPP_NOEXCEPT (line 714) | std::tuple<T0 const &, T1 const &, Ts const &...> get() const VULKAN_H...
method StructureChain (line 721) | StructureChain & assign( const T & rhs ) VULKAN_HPP_NOEXCEPT
method VULKAN_HPP_NOEXCEPT (line 731) | typename std::enable_if<std::is_same<ClassType, typename std::tuple_el...
method VULKAN_HPP_NOEXCEPT (line 738) | typename std::enable_if<!std::is_same<ClassType, typename std::tuple_e...
method VULKAN_HPP_NOEXCEPT (line 746) | typename std::enable_if<!std::is_same<ClassType, typename std::tuple_e...
method VULKAN_HPP_NOEXCEPT (line 758) | typename std::enable_if<!std::is_same<ClassType, typename std::tuple_e...
type ChainElementIndex (line 767) | struct ChainElementIndex : ChainElementIndex<Index + 1, T, Which, void...
method isLinked (line 789) | bool isLinked( VkBaseInStructure const * pNext ) const VULKAN_HPP_NOEX...
method VULKAN_HPP_NOEXCEPT (line 805) | typename std::enable_if<Index != 0, void>::type link() VULKAN_HPP_NOEX...
method VULKAN_HPP_NOEXCEPT (line 813) | typename std::enable_if<Index == 0, void>::type link() VULKAN_HPP_NOEX...
method link (line 817) | void link( void * dstBase, void const * srcBase, VkBaseOutStructure * ...
method unlink (line 829) | void unlink( VkBaseOutStructure const * pNext ) VULKAN_HPP_NOEXCEPT
type ChainElementIndex<Index, T, Which, typename std::enable_if<!std::is_same<T, First>::value, void>::type, First, Types...> (line 772) | struct ChainElementIndex<Index, T, Which, typename std::enable_if<!std::...
type ChainElementIndex<Index, T, Which, typename std::enable_if<std::is_same<T, First>::value, void>::type, First, Types...> (line 778) | struct ChainElementIndex<Index, T, Which, typename std::enable_if<std::i...
type ChainElementIndex<Index, T, 0, typename std::enable_if<std::is_same<T, First>::value, void>::type, First, Types...> (line 784) | struct ChainElementIndex<Index, T, 0, typename std::enable_if<std::is_sa...
function std (line 850) | std
type is_error_code_enum<VULKAN_HPP_NAMESPACE::Result> (line 6782) | struct is_error_code_enum<VULKAN_HPP_NAMESPACE::Result> : public true_...
class UniqueHandleTraits (line 870) | class UniqueHandleTraits
class UniqueHandle (line 873) | class UniqueHandle : public UniqueHandleTraits<Type, Dispatch>::deleter
method UniqueHandle (line 881) | UniqueHandle() : Deleter(), m_value() {}
method UniqueHandle (line 883) | explicit UniqueHandle( Type const & value, Deleter const & deleter = D...
method UniqueHandle (line 889) | UniqueHandle( UniqueHandle const & ) = delete;
method UniqueHandle (line 891) | UniqueHandle( UniqueHandle && other ) VULKAN_HPP_NOEXCEPT
method UniqueHandle (line 905) | UniqueHandle & operator=( UniqueHandle const & ) = delete;
method UniqueHandle (line 907) | UniqueHandle & operator=( UniqueHandle && other ) VULKAN_HPP_NOEXCEPT
method Type (line 926) | Type const * operator->() const VULKAN_HPP_NOEXCEPT
method Type (line 931) | Type * operator->() VULKAN_HPP_NOEXCEPT
method Type (line 936) | Type const & operator*() const VULKAN_HPP_NOEXCEPT
method Type (line 941) | Type & operator*() VULKAN_HPP_NOEXCEPT
method Type (line 946) | const Type & get() const VULKAN_HPP_NOEXCEPT
method Type (line 951) | Type & get() VULKAN_HPP_NOEXCEPT
method reset (line 956) | void reset( Type const & value = Type() ) VULKAN_HPP_NOEXCEPT
method Type (line 968) | Type release() VULKAN_HPP_NOEXCEPT
method swap (line 975) | void swap( UniqueHandle<Type, Dispatch> & rhs ) VULKAN_HPP_NOEXCEPT
function VULKAN_HPP_INLINE (line 986) | VULKAN_HPP_INLINE std::vector<typename UniqueType::element_type> uniqueT...
function VULKAN_HPP_INLINE (line 994) | VULKAN_HPP_INLINE void swap( UniqueHandle<Type, Dispatch> & lhs, UniqueH...
function DispatchLoaderBase (line 1006) | DispatchLoaderBase() = default;
function m_valid (line 1009) | m_valid( false )
function getVkHeaderVersion (line 1015) | size_t getVkHeaderVersion() const
class DispatchLoaderStatic (line 1028) | class DispatchLoaderStatic : public DispatchLoaderBase
method VkResult (line 1033) | VkResult
method vkDestroyInstance (line 1039) | void vkDestroyInstance( VkInstance instance, const VkAllocationCallbac...
method VkResult (line 1044) | VkResult vkEnumeratePhysicalDevices( VkInstance instance, uint32_t * p...
method vkGetPhysicalDeviceFeatures (line 1049) | void vkGetPhysicalDeviceFeatures( VkPhysicalDevice physicalDevice, VkP...
method vkGetPhysicalDeviceFormatProperties (line 1054) | void vkGetPhysicalDeviceFormatProperties( VkPhysicalDevice physica...
method VkResult (line 1061) | VkResult vkGetPhysicalDeviceImageFormatProperties( VkPhysicalDevice ...
method vkGetPhysicalDeviceProperties (line 1072) | void vkGetPhysicalDeviceProperties( VkPhysicalDevice physicalDevice, V...
method vkGetPhysicalDeviceQueueFamilyProperties (line 1077) | void vkGetPhysicalDeviceQueueFamilyProperties( VkPhysicalDevice ...
method vkGetPhysicalDeviceMemoryProperties (line 1084) | void vkGetPhysicalDeviceMemoryProperties( VkPhysicalDevice ...
method PFN_vkVoidFunction (line 1090) | PFN_vkVoidFunction vkGetInstanceProcAddr( VkInstance instance, const c...
method PFN_vkVoidFunction (line 1095) | PFN_vkVoidFunction vkGetDeviceProcAddr( VkDevice device, const char * ...
method VkResult (line 1100) | VkResult vkCreateDevice( VkPhysicalDevice physicalDevice,
method vkDestroyDevice (line 1108) | void vkDestroyDevice( VkDevice device, const VkAllocationCallbacks * p...
method VkResult (line 1113) | VkResult vkEnumerateInstanceExtensionProperties( const char * ...
method VkResult (line 1120) | VkResult vkEnumerateDeviceExtensionProperties( VkPhysicalDevice ...
method VkResult (line 1128) | VkResult vkEnumerateInstanceLayerProperties( uint32_t * pPropertyCount...
method VkResult (line 1133) | VkResult vkEnumerateDeviceLayerProperties( VkPhysicalDevice physica...
method vkGetDeviceQueue (line 1140) | void vkGetDeviceQueue( VkDevice device, uint32_t queueFamilyIndex, uin...
method VkResult (line 1145) | VkResult vkQueueSubmit( VkQueue queue, uint32_t submitCount, const VkS...
method VkResult (line 1150) | VkResult vkQueueWaitIdle( VkQueue queue ) const VULKAN_HPP_NOEXCEPT
method VkResult (line 1155) | VkResult vkDeviceWaitIdle( VkDevice device ) const VULKAN_HPP_NOEXCEPT
method VkResult (line 1160) | VkResult vkAllocateMemory( VkDevice device,
method vkFreeMemory (line 1168) | void vkFreeMemory( VkDevice device, VkDeviceMemory memory, const VkAll...
method VkResult (line 1173) | VkResult vkMapMemory( VkDevice device, VkDeviceMemory memory, VkDevice...
method vkUnmapMemory (line 1179) | void vkUnmapMemory( VkDevice device, VkDeviceMemory memory ) const VUL...
method VkResult (line 1184) | VkResult vkFlushMappedMemoryRanges( VkDevice device, uint32_t memoryRa...
method VkResult (line 1189) | VkResult vkInvalidateMappedMemoryRanges( VkDevice device, uint32_t mem...
method vkGetDeviceMemoryCommitment (line 1194) | void vkGetDeviceMemoryCommitment( VkDevice device, VkDeviceMemory memo...
method VkResult (line 1199) | VkResult vkBindBufferMemory( VkDevice device, VkBuffer buffer, VkDevic...
method VkResult (line 1204) | VkResult vkBindImageMemory( VkDevice device, VkImage image, VkDeviceMe...
method vkGetBufferMemoryRequirements (line 1209) | void vkGetBufferMemoryRequirements( VkDevice device, VkBuffer buffer, ...
method vkGetImageMemoryRequirements (line 1214) | void vkGetImageMemoryRequirements( VkDevice device, VkImage image, VkM...
method vkGetImageSparseMemoryRequirements (line 1219) | void vkGetImageSparseMemoryRequirements( VkDevice ...
method vkGetPhysicalDeviceSparseImageFormatProperties (line 1227) | void vkGetPhysicalDeviceSparseImageFormatProperties( VkPhysicalDevice ...
method VkResult (line 1239) | VkResult vkQueueBindSparse( VkQueue queue, uint32_t bindInfoCount, con...
method VkResult (line 1244) | VkResult vkCreateFence( VkDevice device,
method vkDestroyFence (line 1252) | void vkDestroyFence( VkDevice device, VkFence fence, const VkAllocatio...
method VkResult (line 1257) | VkResult vkResetFences( VkDevice device, uint32_t fenceCount, const Vk...
method VkResult (line 1262) | VkResult vkGetFenceStatus( VkDevice device, VkFence fence ) const VULK...
method VkResult (line 1267) | VkResult vkWaitForFences( VkDevice device, uint32_t fenceCount, const ...
method VkResult (line 1272) | VkResult vkCreateSemaphore( VkDevice device,
method vkDestroySemaphore (line 1280) | void vkDestroySemaphore( VkDevice device, VkSemaphore semaphore, const...
method VkResult (line 1285) | VkResult vkCreateEvent( VkDevice device,
method vkDestroyEvent (line 1293) | void vkDestroyEvent( VkDevice device, VkEvent event, const VkAllocatio...
method VkResult (line 1298) | VkResult vkGetEventStatus( VkDevice device, VkEvent event ) const VULK...
method VkResult (line 1303) | VkResult vkSetEvent( VkDevice device, VkEvent event ) const VULKAN_HPP...
method VkResult (line 1308) | VkResult vkResetEvent( VkDevice device, VkEvent event ) const VULKAN_H...
method VkResult (line 1313) | VkResult vkCreateQueryPool( VkDevice device,
method vkDestroyQueryPool (line 1321) | void vkDestroyQueryPool( VkDevice device, VkQueryPool queryPool, const...
method VkResult (line 1326) | VkResult vkGetQueryPoolResults( VkDevice device,
method VkResult (line 1338) | VkResult vkCreateBuffer( VkDevice device,
method vkDestroyBuffer (line 1346) | void vkDestroyBuffer( VkDevice device, VkBuffer buffer, const VkAlloca...
method VkResult (line 1351) | VkResult vkCreateBufferView( VkDevice device,
method vkDestroyBufferView (line 1359) | void vkDestroyBufferView( VkDevice device, VkBufferView bufferView, co...
method VkResult (line 1364) | VkResult vkCreateImage( VkDevice device,
method vkDestroyImage (line 1372) | void vkDestroyImage( VkDevice device, VkImage image, const VkAllocatio...
method vkGetImageSubresourceLayout (line 1377) | void vkGetImageSubresourceLayout( VkDevice device,
method VkResult (line 1385) | VkResult vkCreateImageView( VkDevice device,
method vkDestroyImageView (line 1393) | void vkDestroyImageView( VkDevice device, VkImageView imageView, const...
method VkResult (line 1398) | VkResult vkCreateShaderModule( VkDevice device,
method vkDestroyShaderModule (line 1406) | void vkDestroyShaderModule( VkDevice device, VkShaderModule shaderModu...
method VkResult (line 1411) | VkResult vkCreatePipelineCache( VkDevice device,
method vkDestroyPipelineCache (line 1419) | void vkDestroyPipelineCache( VkDevice device, VkPipelineCache pipeline...
method VkResult (line 1424) | VkResult vkGetPipelineCacheData( VkDevice device, VkPipelineCache pipe...
method VkResult (line 1429) | VkResult
method VkResult (line 1435) | VkResult vkCreateGraphicsPipelines( VkDevice ...
method VkResult (line 1445) | VkResult vkCreateComputePipelines( VkDevice ...
method vkDestroyPipeline (line 1455) | void vkDestroyPipeline( VkDevice device, VkPipeline pipeline, const Vk...
method VkResult (line 1460) | VkResult vkCreatePipelineLayout( VkDevice de...
method vkDestroyPipelineLayout (line 1468) | void vkDestroyPipelineLayout( VkDevice device, VkPipelineLayout pipeli...
method VkResult (line 1473) | VkResult vkCreateSampler( VkDevice device,
method vkDestroySampler (line 1481) | void vkDestroySampler( VkDevice device, VkSampler sampler, const VkAll...
method VkResult (line 1486) | VkResult vkCreateDescriptorSetLayout( VkDevice ...
method vkDestroyDescriptorSetLayout (line 1494) | void vkDestroyDescriptorSetLayout( VkDevice device,
method VkResult (line 1501) | VkResult vkCreateDescriptorPool( VkDevice de...
method vkDestroyDescriptorPool (line 1509) | void vkDestroyDescriptorPool( VkDevice device, VkDescriptorPool descri...
method VkResult (line 1514) | VkResult vkResetDescriptorPool( VkDevice device, VkDescriptorPool desc...
method VkResult (line 1519) | VkResult vkAllocateDescriptorSets( VkDevice ...
method VkResult (line 1526) | VkResult vkFreeDescriptorSets( VkDevice device,
method vkUpdateDescriptorSets (line 1534) | void vkUpdateDescriptorSets( VkDevice device,
method VkResult (line 1543) | VkResult vkCreateFramebuffer( VkDevice device,
method vkDestroyFramebuffer (line 1551) | void vkDestroyFramebuffer( VkDevice device, VkFramebuffer framebuffer,...
method VkResult (line 1556) | VkResult vkCreateRenderPass( VkDevice device,
method vkDestroyRenderPass (line 1564) | void vkDestroyRenderPass( VkDevice device, VkRenderPass renderPass, co...
method vkGetRenderAreaGranularity (line 1569) | void vkGetRenderAreaGranularity( VkDevice device, VkRenderPass renderP...
method VkResult (line 1574) | VkResult vkCreateCommandPool( VkDevice device,
method vkDestroyCommandPool (line 1582) | void vkDestroyCommandPool( VkDevice device, VkCommandPool commandPool,...
method VkResult (line 1587) | VkResult vkResetCommandPool( VkDevice device, VkCommandPool commandPoo...
method VkResult (line 1592) | VkResult vkAllocateCommandBuffers( VkDevice ...
method vkFreeCommandBuffers (line 1599) | void vkFreeCommandBuffers( VkDevice device,
method VkResult (line 1607) | VkResult vkBeginCommandBuffer( VkCommandBuffer commandBuffer, const Vk...
method VkResult (line 1612) | VkResult vkEndCommandBuffer( VkCommandBuffer commandBuffer ) const VUL...
method VkResult (line 1617) | VkResult vkResetCommandBuffer( VkCommandBuffer commandBuffer, VkComman...
method vkCmdBindPipeline (line 1622) | void vkCmdBindPipeline( VkCommandBuffer commandBuffer, VkPipelineBindP...
method vkCmdSetViewport (line 1627) | void vkCmdSetViewport( VkCommandBuffer commandBuffer,
method vkCmdSetScissor (line 1635) | void vkCmdSetScissor( VkCommandBuffer commandBuffer, uint32_t firstSci...
method vkCmdSetLineWidth (line 1640) | void vkCmdSetLineWidth( VkCommandBuffer commandBuffer, float lineWidth...
method vkCmdSetDepthBias (line 1645) | void vkCmdSetDepthBias( VkCommandBuffer commandBuffer,
method vkCmdSetBlendConstants (line 1653) | void vkCmdSetBlendConstants( VkCommandBuffer commandBuffer, const floa...
method vkCmdSetDepthBounds (line 1658) | void vkCmdSetDepthBounds( VkCommandBuffer commandBuffer, float minDept...
method vkCmdSetStencilCompareMask (line 1663) | void vkCmdSetStencilCompareMask( VkCommandBuffer commandBuffer, VkSten...
method vkCmdSetStencilWriteMask (line 1668) | void vkCmdSetStencilWriteMask( VkCommandBuffer commandBuffer, VkStenci...
method vkCmdSetStencilReference (line 1673) | void vkCmdSetStencilReference( VkCommandBuffer commandBuffer, VkStenci...
method vkCmdBindDescriptorSets (line 1678) | void vkCmdBindDescriptorSets( VkCommandBuffer commandBuffer,
method vkCmdBindIndexBuffer (line 1691) | void vkCmdBindIndexBuffer( VkCommandBuffer commandBuffer, VkBuffer buf...
method vkCmdBindVertexBuffers (line 1696) | void vkCmdBindVertexBuffers( VkCommandBuffer commandBuffer,
method vkCmdDraw (line 1705) | void vkCmdDraw( VkCommandBuffer commandBuffer, uint32_t vertexCount, u...
method vkCmdDrawIndexed (line 1711) | void vkCmdDrawIndexed( VkCommandBuffer commandBuffer,
method vkCmdDrawIndirect (line 1721) | void
method vkCmdDrawIndexedIndirect (line 1727) | void vkCmdDrawIndexedIndirect( VkCommandBuffer commandBuffer, VkBuffer...
method vkCmdDispatch (line 1733) | void vkCmdDispatch( VkCommandBuffer commandBuffer, uint32_t groupCount...
method vkCmdDispatchIndirect (line 1738) | void vkCmdDispatchIndirect( VkCommandBuffer commandBuffer, VkBuffer bu...
method vkCmdCopyBuffer (line 1743) | void vkCmdCopyBuffer( VkCommandBuffer commandBuffer, VkBuffer srcBuffe...
method vkCmdCopyImage (line 1749) | void vkCmdCopyImage( VkCommandBuffer commandBuffer,
method vkCmdBlitImage (line 1760) | void vkCmdBlitImage( VkCommandBuffer commandBuffer,
method vkCmdCopyBufferToImage (line 1772) | void vkCmdCopyBufferToImage( VkCommandBuffer commandBuffer,
method vkCmdCopyImageToBuffer (line 1782) | void vkCmdCopyImageToBuffer( VkCommandBuffer commandBuffer,
method vkCmdUpdateBuffer (line 1792) | void vkCmdUpdateBuffer( VkCommandBuffer commandBuffer, VkBuffer dstBuf...
method vkCmdFillBuffer (line 1798) | void
method vkCmdClearColorImage (line 1804) | void vkCmdClearColorImage( VkCommandBuffer commandBuffer,
method vkCmdClearDepthStencilImage (line 1814) | void vkCmdClearDepthStencilImage( VkCommandBuffer com...
method vkCmdClearAttachments (line 1824) | void vkCmdClearAttachments( VkCommandBuffer commandBuffer,
method vkCmdResolveImage (line 1833) | void vkCmdResolveImage( VkCommandBuffer commandBuffer,
method vkCmdSetEvent (line 1844) | void vkCmdSetEvent( VkCommandBuffer commandBuffer, VkEvent event, VkPi...
method vkCmdResetEvent (line 1849) | void vkCmdResetEvent( VkCommandBuffer commandBuffer, VkEvent event, Vk...
method vkCmdWaitEvents (line 1854) | void vkCmdWaitEvents( VkCommandBuffer commandBuffer,
method vkCmdPipelineBarrier (line 1879) | void vkCmdPipelineBarrier( VkCommandBuffer commandBuffer,
method vkCmdBeginQuery (line 1902) | void vkCmdBeginQuery( VkCommandBuffer commandBuffer, VkQueryPool query...
method vkCmdEndQuery (line 1907) | void vkCmdEndQuery( VkCommandBuffer commandBuffer, VkQueryPool queryPo...
method vkCmdResetQueryPool (line 1912) | void vkCmdResetQueryPool( VkCommandBuffer commandBuffer, VkQueryPool q...
method vkCmdWriteTimestamp (line 1917) | void vkCmdWriteTimestamp( VkCommandBuffer commandBuffer,
method vkCmdCopyQueryPoolResults (line 1925) | void vkCmdCopyQueryPoolResults( VkCommandBuffer commandBuffer,
method vkCmdPushConstants (line 1937) | void vkCmdPushConstants( VkCommandBuffer commandBuffer,
method vkCmdBeginRenderPass (line 1947) | void vkCmdBeginRenderPass( VkCommandBuffer commandBuffer,
method vkCmdNextSubpass (line 1954) | void vkCmdNextSubpass( VkCommandBuffer commandBuffer, VkSubpassContent...
method vkCmdEndRenderPass (line 1959) | void vkCmdEndRenderPass( VkCommandBuffer commandBuffer ) const VULKAN_...
method vkCmdExecuteCommands (line 1964) | void vkCmdExecuteCommands( VkCommandBuffer commandBuffer, uint32_t com...
method VkResult (line 1971) | VkResult vkEnumerateInstanceVersion( uint32_t * pApiVersion ) const VU...
method VkResult (line 1976) | VkResult vkBindBufferMemory2( VkDevice device, uint32_t bindInfoCount,...
method VkResult (line 1981) | VkResult vkBindImageMemory2( VkDevice device, uint32_t bindInfoCount, ...
method vkGetDeviceGroupPeerMemoryFeatures (line 1986) | void vkGetDeviceGroupPeerMemoryFeatures( VkDevice de...
method vkCmdSetDeviceMask (line 1995) | void vkCmdSetDeviceMask( VkCommandBuffer commandBuffer, uint32_t devic...
method vkCmdDispatchBase (line 2000) | void vkCmdDispatchBase( VkCommandBuffer commandBuffer,
method VkResult (line 2011) | VkResult vkEnumeratePhysicalDeviceGroups( VkInstance ...
method vkGetImageMemoryRequirements2 (line 2018) | void vkGetImageMemoryRequirements2( VkDevice ...
method vkGetBufferMemoryRequirements2 (line 2025) | void vkGetBufferMemoryRequirements2( VkDevice ...
method vkGetImageSparseMemoryRequirements2 (line 2032) | void vkGetImageSparseMemoryRequirements2( VkDevice ...
method vkGetPhysicalDeviceFeatures2 (line 2040) | void vkGetPhysicalDeviceFeatures2( VkPhysicalDevice physicalDevice, Vk...
method vkGetPhysicalDeviceProperties2 (line 2045) | void vkGetPhysicalDeviceProperties2( VkPhysicalDevice physicalDevice, ...
method vkGetPhysicalDeviceFormatProperties2 (line 2050) | void vkGetPhysicalDeviceFormatProperties2( VkPhysicalDevice physi...
method VkResult (line 2057) | VkResult vkGetPhysicalDeviceImageFormatProperties2( VkPhysicalDevice ...
method vkGetPhysicalDeviceQueueFamilyProperties2 (line 2064) | void vkGetPhysicalDeviceQueueFamilyProperties2( VkPhysicalDevice ...
method vkGetPhysicalDeviceMemoryProperties2 (line 2071) | void vkGetPhysicalDeviceMemoryProperties2( VkPhysicalDevice ...
method vkGetPhysicalDeviceSparseImageFormatProperties2 (line 2077) | void vkGetPhysicalDeviceSparseImageFormatProperties2( VkPhysicalDevice...
method vkTrimCommandPool (line 2085) | void vkTrimCommandPool( VkDevice device, VkCommandPool commandPool, Vk...
method vkGetDeviceQueue2 (line 2090) | void vkGetDeviceQueue2( VkDevice device, const VkDeviceQueueInfo2 * pQ...
method VkResult (line 2095) | VkResult vkCreateSamplerYcbcrConversion( VkDevice ...
method vkDestroySamplerYcbcrConversion (line 2103) | void vkDestroySamplerYcbcrConversion( VkDevice de...
method VkResult (line 2110) | VkResult vkCreateDescriptorUpdateTemplate( VkDevice ...
method vkDestroyDescriptorUpdateTemplate (line 2118) | void vkDestroyDescriptorUpdateTemplate( VkDevice ...
method vkUpdateDescriptorSetWithTemplate (line 2125) | void vkUpdateDescriptorSetWithTemplate( VkDevice dev...
method vkGetPhysicalDeviceExternalBufferProperties (line 2133) | void vkGetPhysicalDeviceExternalBufferProperties( VkPhysicalDevice ...
method vkGetPhysicalDeviceExternalFenceProperties (line 2140) | void vkGetPhysicalDeviceExternalFenceProperties( VkPhysicalDevice ...
method vkGetPhysicalDeviceExternalSemaphoreProperties (line 2147) | void vkGetPhysicalDeviceExternalSemaphoreProperties( VkPhysicalDevice ...
method vkGetDescriptorSetLayoutSupport (line 2154) | void vkGetDescriptorSetLayoutSupport( VkDevice ...
method vkCmdDrawIndirectCount (line 2163) | void vkCmdDrawIndirectCount( VkCommandBuffer commandBuffer,
method vkCmdDrawIndexedIndirectCount (line 2174) | void vkCmdDrawIndexedIndirectCount( VkCommandBuffer commandBuffer,
method VkResult (line 2185) | VkResult vkCreateRenderPass2( VkDevice device,
method vkCmdBeginRenderPass2 (line 2193) | void vkCmdBeginRenderPass2( VkCommandBuffer commandBuffer,
method vkCmdNextSubpass2 (line 2200) | void vkCmdNextSubpass2( VkCommandBuffer commandBuffer,
method vkCmdEndRenderPass2 (line 2207) | void vkCmdEndRenderPass2( VkCommandBuffer commandBuffer, const VkSubpa...
method vkResetQueryPool (line 2212) | void vkResetQueryPool( VkDevice device, VkQueryPool queryPool, uint32_...
method VkResult (line 2217) | VkResult vkGetSemaphoreCounterValue( VkDevice device, VkSemaphore sema...
method VkResult (line 2222) | VkResult vkWaitSemaphores( VkDevice device, const VkSemaphoreWaitInfo ...
method VkResult (line 2227) | VkResult vkSignalSemaphore( VkDevice device, const VkSemaphoreSignalIn...
method VkDeviceAddress (line 2232) | VkDeviceAddress vkGetBufferDeviceAddress( VkDevice device, const VkBuf...
method vkGetBufferOpaqueCaptureAddress (line 2237) | uint64_t vkGetBufferOpaqueCaptureAddress( VkDevice device, const VkBuf...
method vkGetDeviceMemoryOpaqueCaptureAddress (line 2242) | uint64_t vkGetDeviceMemoryOpaqueCaptureAddress( VkDevice device, const...
method VkResult (line 2249) | VkResult vkGetPhysicalDeviceToolProperties( VkPhysicalDevice ...
method VkResult (line 2256) | VkResult vkCreatePrivateDataSlot( VkDevice ...
method vkDestroyPrivateDataSlot (line 2264) | void vkDestroyPrivateDataSlot( VkDevice device, VkPrivateDataSlot priv...
method VkResult (line 2269) | VkResult vkSetPrivateData( VkDevice device, VkObjectType objectType, u...
method vkGetPrivateData (line 2275) | void vkGetPrivateData( VkDevice device, VkObjectType objectType, uint6...
method vkCmdSetEvent2 (line 2281) | void vkCmdSetEvent2( VkCommandBuffer commandBuffer, VkEvent event, con...
method vkCmdResetEvent2 (line 2286) | void vkCmdResetEvent2( VkCommandBuffer commandBuffer, VkEvent event, V...
method vkCmdWaitEvents2 (line 2291) | void vkCmdWaitEvents2( VkCommandBuffer commandBuffer,
method vkCmdPipelineBarrier2 (line 2299) | void vkCmdPipelineBarrier2( VkCommandBuffer commandBuffer, const VkDep...
method vkCmdWriteTimestamp2 (line 2304) | void vkCmdWriteTimestamp2( VkCommandBuffer commandBuffer, VkPipelineSt...
method VkResult (line 2309) | VkResult vkQueueSubmit2( VkQueue queue, uint32_t submitCount, const Vk...
method vkCmdCopyBuffer2 (line 2314) | void vkCmdCopyBuffer2( VkCommandBuffer commandBuffer, const VkCopyBuff...
method vkCmdCopyImage2 (line 2319) | void vkCmdCopyImage2( VkCommandBuffer commandBuffer, const VkCopyImage...
method vkCmdCopyBufferToImage2 (line 2324) | void vkCmdCopyBufferToImage2( VkCommandBuffer commandBuffer, const VkC...
method vkCmdCopyImageToBuffer2 (line 2329) | void vkCmdCopyImageToBuffer2( VkCommandBuffer commandBuffer, const VkC...
method vkCmdBlitImage2 (line 2334) | void vkCmdBlitImage2( VkCommandBuffer commandBuffer, const VkBlitImage...
method vkCmdResolveImage2 (line 2339) | void vkCmdResolveImage2( VkCommandBuffer commandBuffer, const VkResolv...
method vkCmdBeginRendering (line 2344) | void vkCmdBeginRendering( VkCommandBuffer commandBuffer, const VkRende...
method vkCmdEndRendering (line 2349) | void vkCmdEndRendering( VkCommandBuffer commandBuffer ) const VULKAN_H...
method vkCmdSetCullMode (line 2354) | void vkCmdSetCullMode( VkCommandBuffer commandBuffer, VkCullModeFlags ...
method vkCmdSetFrontFace (line 2359) | void vkCmdSetFrontFace( VkCommandBuffer commandBuffer, VkFrontFace fro...
method vkCmdSetPrimitiveTopology (line 2364) | void vkCmdSetPrimitiveTopology( VkCommandBuffer commandBuffer, VkPrimi...
method vkCmdSetViewportWithCount (line 2369) | void vkCmdSetViewportWithCount( VkCommandBuffer commandBuffer, uint32_...
method vkCmdSetScissorWithCount (line 2374) | void vkCmdSetScissorWithCount( VkCommandBuffer commandBuffer, uint32_t...
method vkCmdBindVertexBuffers2 (line 2379) | void vkCmdBindVertexBuffers2( VkCommandBuffer commandBuffer,
method vkCmdSetDepthTestEnable (line 2390) | void vkCmdSetDepthTestEnable( VkCommandBuffer commandBuffer, VkBool32 ...
method vkCmdSetDepthWriteEnable (line 2395) | void vkCmdSetDepthWriteEnable( VkCommandBuffer commandBuffer, VkBool32...
method vkCmdSetDepthCompareOp (line 2400) | void vkCmdSetDepthCompareOp( VkCommandBuffer commandBuffer, VkCompareO...
method vkCmdSetDepthBoundsTestEnable (line 2405) | void vkCmdSetDepthBoundsTestEnable( VkCommandBuffer commandBuffer, VkB...
method vkCmdSetStencilTestEnable (line 2410) | void vkCmdSetStencilTestEnable( VkCommandBuffer commandBuffer, VkBool3...
method vkCmdSetStencilOp (line 2415) | void vkCmdSetStencilOp( VkCommandBuffer commandBuffer,
method vkCmdSetRasterizerDiscardEnable (line 2425) | void vkCmdSetRasterizerDiscardEnable( VkCommandBuffer commandBuffer, V...
method vkCmdSetDepthBiasEnable (line 2430) | void vkCmdSetDepthBiasEnable( VkCommandBuffer commandBuffer, VkBool32 ...
method vkCmdSetPrimitiveRestartEnable (line 2435) | void vkCmdSetPrimitiveRestartEnable( VkCommandBuffer commandBuffer, Vk...
method vkGetDeviceBufferMemoryRequirements (line 2440) | void vkGetDeviceBufferMemoryRequirements( VkDevice ...
method vkGetDeviceImageMemoryRequirements (line 2447) | void vkGetDeviceImageMemoryRequirements( VkDevice ...
method vkGetDeviceImageSparseMemoryRequirements (line 2454) | void vkGetDeviceImageSparseMemoryRequirements( VkDevice ...
method vkCmdSetLineStipple (line 2464) | void vkCmdSetLineStipple( VkCommandBuffer commandBuffer, uint32_t line...
method VkResult (line 2469) | VkResult vkMapMemory2( VkDevice device, const VkMemoryMapInfo * pMemor...
method VkResult (line 2474) | VkResult vkUnmapMemory2( VkDevice device, const VkMemoryUnmapInfo * pM...
method vkCmdBindIndexBuffer2 (line 2479) | void vkCmdBindIndexBuffer2( VkCommandBuffer commandBuffer, VkBuffer bu...
method vkGetRenderingAreaGranularity (line 2485) | void vkGetRenderingAreaGranularity( VkDevice device, const VkRendering...
method vkGetDeviceImageSubresourceLayout (line 2490) | void vkGetDeviceImageSubresourceLayout( VkDevice ...
method vkGetImageSubresourceLayout2 (line 2497) | void vkGetImageSubresourceLayout2( VkDevice device,
method vkCmdPushDescriptorSet (line 2505) | void vkCmdPushDescriptorSet( VkCommandBuffer commandBuffer,
method vkCmdPushDescriptorSetWithTemplate (line 2515) | void vkCmdPushDescriptorSetWithTemplate( VkCommandBuffer co...
method vkCmdSetRenderingAttachmentLocations (line 2524) | void vkCmdSetRenderingAttachmentLocations( VkCommandBuffer ...
method vkCmdSetRenderingInputAttachmentIndices (line 2530) | void vkCmdSetRenderingInputAttachmentIndices( VkCommandBuffer ...
method vkCmdBindDescriptorSets2 (line 2536) | void vkCmdBindDescriptorSets2( VkCommandBuffer commandBuffer, const Vk...
method vkCmdPushConstants2 (line 2541) | void vkCmdPushConstants2( VkCommandBuffer commandBuffer, const VkPushC...
method vkCmdPushDescriptorSet2 (line 2546) | void vkCmdPushDescriptorSet2( VkCommandBuffer commandBuffer, const VkP...
method vkCmdPushDescriptorSetWithTemplate2 (line 2551) | void vkCmdPushDescriptorSetWithTemplate2( VkCommandBuffer ...
method VkResult (line 2557) | VkResult vkCopyMemoryToImage( VkDevice device, const VkCopyMemoryToIma...
method VkResult (line 2562) | VkResult vkCopyImageToMemory( VkDevice device, const VkCopyImageToMemo...
method VkResult (line 2567) | VkResult vkCopyImageToImage( VkDevice device, const VkCopyImageToImage...
method VkResult (line 2572) | VkResult
method vkDestroySurfaceKHR (line 2580) | void vkDestroySurfaceKHR( VkInstance instance, VkSurfaceKHR surface, c...
method VkResult (line 2585) | VkResult vkGetPhysicalDeviceSurfaceSupportKHR( VkPhysicalDevice physic...
method VkResult (line 2593) | VkResult vkGetPhysicalDeviceSurfaceCapabilitiesKHR( VkPhysicalDevice ...
method VkResult (line 2600) | VkResult vkGetPhysicalDeviceSurfaceFormatsKHR( VkPhysicalDevice ph...
method VkResult (line 2608) | VkResult vkGetPhysicalDeviceSurfacePresentModesKHR( VkPhysicalDevice ...
method VkResult (line 2618) | VkResult vkCreateSwapchainKHR( VkDevice device,
method vkDestroySwapchainKHR (line 2626) | void vkDestroySwapchainKHR( VkDevice device, VkSwapchainKHR swapchain,...
method VkResult (line 2631) | VkResult vkGetSwapchainImagesKHR( VkDevice device,
method VkResult (line 2639) | VkResult vkAcquireNextImageKHR(
method VkResult (line 2645) | VkResult vkQueuePresentKHR( VkQueue queue, const VkPresentInfoKHR * pP...
method VkResult (line 2650) | VkResult vkGetDeviceGroupPresentCapabilitiesKHR( VkDevice ...
method VkResult (line 2656) | VkResult
method VkResult (line 2662) | VkResult vkGetPhysicalDevicePresentRectanglesKHR( VkPhysicalDevice phy...
method VkResult (line 2670) | VkResult vkAcquireNextImage2KHR( VkDevice device, const VkAcquireNextI...
method VkResult (line 2677) | VkResult vkGetPhysicalDeviceDisplayPropertiesKHR( VkPhysicalDevice ...
method VkResult (line 2684) | VkResult vkGetPhysicalDeviceDisplayPlanePropertiesKHR( VkPhysicalDevic...
method VkResult (line 2691) | VkResult vkGetDisplayPlaneSupportedDisplaysKHR( VkPhysicalDevice physi...
method VkResult (line 2699) | VkResult vkGetDisplayModePropertiesKHR( VkPhysicalDevice p...
method VkResult (line 2707) | VkResult vkCreateDisplayModeKHR( VkPhysicalDevice ph...
method VkResult (line 2716) | VkResult vkGetDisplayPlaneCapabilitiesKHR( VkPhysicalDevice ...
method VkResult (line 2724) | VkResult vkCreateDisplayPlaneSurfaceKHR( VkInstance ...
method VkResult (line 2734) | VkResult vkCreateSharedSwapchainsKHR( VkDevice ...
method VkResult (line 2746) | VkResult vkCreateXlibSurfaceKHR( VkInstance in...
method VkBool32 (line 2754) | VkBool32 vkGetPhysicalDeviceXlibPresentationSupportKHR( VkPhysicalDevi...
method VkResult (line 2766) | VkResult vkCreateXcbSurfaceKHR( VkInstance inst...
method VkBool32 (line 2774) | VkBool32 vkGetPhysicalDeviceXcbPresentationSupportKHR( VkPhysicalDevic...
method VkResult (line 2786) | VkResult vkCreateWaylandSurfaceKHR( VkInstance ...
method VkBool32 (line 2794) | VkBool32 vkGetPhysicalDeviceWaylandPresentationSupportKHR( VkPhysicalD...
method VkResult (line 2805) | VkResult vkCreateAndroidSurfaceKHR( VkInstance ...
method VkResult (line 2817) | VkResult vkCreateWin32SurfaceKHR( VkInstance ...
method VkBool32 (line 2825) | VkBool32 vkGetPhysicalDeviceWin32PresentationSupportKHR( VkPhysicalDev...
method VkResult (line 2833) | VkResult vkCreateDebugReportCallbackEXT( VkInstance ...
method vkDestroyDebugReportCallbackEXT (line 2841) | void vkDestroyDebugReportCallbackEXT( VkInstance in...
method vkDebugReportMessageEXT (line 2848) | void vkDebugReportMessageEXT( VkInstance instance,
method VkResult (line 2862) | VkResult vkDebugMarkerSetObjectTagEXT( VkDevice device, const VkDebugM...
method VkResult (line 2867) | VkResult vkDebugMarkerSetObjectNameEXT( VkDevice device, const VkDebug...
method vkCmdDebugMarkerBeginEXT (line 2872) | void vkCmdDebugMarkerBeginEXT( VkCommandBuffer commandBuffer, const Vk...
method vkCmdDebugMarkerEndEXT (line 2877) | void vkCmdDebugMarkerEndEXT( VkCommandBuffer commandBuffer ) const VUL...
method vkCmdDebugMarkerInsertEXT (line 2882) | void vkCmdDebugMarkerInsertEXT( VkCommandBuffer commandBuffer, const V...
method VkResult (line 2889) | VkResult vkGetPhysicalDeviceVideoCapabilitiesKHR( VkPhysicalDevice ...
method VkResult (line 2896) | VkResult vkGetPhysicalDeviceVideoFormatPropertiesKHR( VkPhysicalDevice...
method VkResult (line 2904) | VkResult vkCreateVideoSessionKHR( VkDevice ...
method vkDestroyVideoSessionKHR (line 2912) | void vkDestroyVideoSessionKHR( VkDevice device, VkVideoSessionKHR vide...
method VkResult (line 2917) | VkResult vkGetVideoSessionMemoryRequirementsKHR( VkDevice ...
method VkResult (line 2925) | VkResult vkBindVideoSessionMemoryKHR( VkDevice ...
method VkResult (line 2933) | VkResult vkCreateVideoSessionParametersKHR( VkDevice ...
method VkResult (line 2941) | VkResult vkUpdateVideoSessionParametersKHR( VkDevice ...
method vkDestroyVideoSessionParametersKHR (line 2948) | void vkDestroyVideoSessionParametersKHR( VkDevice ...
method vkCmdBeginVideoCodingKHR (line 2955) | void vkCmdBeginVideoCodingKHR( VkCommandBuffer commandBuffer, const Vk...
method vkCmdEndVideoCodingKHR (line 2960) | void vkCmdEndVideoCodingKHR( VkCommandBuffer commandBuffer, const VkVi...
method vkCmdControlVideoCodingKHR (line 2965) | void vkCmdControlVideoCodingKHR( VkCommandBuffer commandBuffer, const ...
method vkCmdDecodeVideoKHR (line 2972) | void vkCmdDecodeVideoKHR( VkCommandBuffer commandBuffer, const VkVideo...
method vkCmdBindTransformFeedbackBuffersEXT (line 2979) | void vkCmdBindTransformFeedbackBuffersEXT( VkCommandBuffer comman...
method vkCmdBeginTransformFeedbackEXT (line 2989) | void vkCmdBeginTransformFeedbackEXT( VkCommandBuffer commandBuffer,
method vkCmdEndTransformFeedbackEXT (line 2998) | void vkCmdEndTransformFeedbackEXT( VkCommandBuffer commandBuffer,
method vkCmdBeginQueryIndexedEXT (line 3007) | void vkCmdBeginQueryIndexedEXT( VkCommandBuffer commandBuffer, VkQuery...
method vkCmdEndQueryIndexedEXT (line 3013) | void vkCmdEndQueryIndexedEXT( VkCommandBuffer commandBuffer, VkQueryPo...
method vkCmdDrawIndirectByteCountEXT (line 3018) | void vkCmdDrawIndirectByteCountEXT( VkCommandBuffer commandBuffer,
method VkResult (line 3031) | VkResult vkCreateCuModuleNVX( VkDevice device,
method VkResult (line 3039) | VkResult vkCreateCuFunctionNVX( VkDevice device,
method vkDestroyCuModuleNVX (line 3047) | void vkDestroyCuModuleNVX( VkDevice device, VkCuModuleNVX module, cons...
method vkDestroyCuFunctionNVX (line 3052) | void vkDestroyCuFunctionNVX( VkDevice device, VkCuFunctionNVX function...
method vkCmdCuLaunchKernelNVX (line 3057) | void vkCmdCuLaunchKernelNVX( VkCommandBuffer commandBuffer, const VkCu...
method vkGetImageViewHandleNVX (line 3064) | uint32_t vkGetImageViewHandleNVX( VkDevice device, const VkImageViewHa...
method vkGetImageViewHandle64NVX (line 3069) | uint64_t vkGetImageViewHandle64NVX( VkDevice device, const VkImageView...
method VkResult (line 3074) | VkResult vkGetImageViewAddressNVX( VkDevice device, VkImageView imageV...
method vkCmdDrawIndirectCountAMD (line 3081) | void vkCmdDrawIndirectCountAMD( VkCommandBuffer commandBuffer,
method vkCmdDrawIndexedIndirectCountAMD (line 3092) | void vkCmdDrawIndexedIndirectCountAMD( VkCommandBuffer commandBuffer,
method VkResult (line 3105) | VkResult vkGetShaderInfoAMD( VkDevice device,
method vkCmdBeginRenderingKHR (line 3117) | void vkCmdBeginRenderingKHR( VkCommandBuffer commandBuffer, const VkRe...
method vkCmdEndRenderingKHR (line 3122) | void vkCmdEndRenderingKHR( VkCommandBuffer commandBuffer ) const VULKA...
method VkResult (line 3130) | VkResult vkCreateStreamDescriptorSurfaceGGP( VkInstance ...
method VkResult (line 3141) | VkResult
method VkResult (line 3158) | VkResult vkGetMemoryWin32HandleNV( VkDevice d...
method vkGetPhysicalDeviceFeatures2KHR (line 3169) | void vkGetPhysicalDeviceFeatures2KHR( VkPhysicalDevice physicalDevice,...
method vkGetPhysicalDeviceProperties2KHR (line 3174) | void vkGetPhysicalDeviceProperties2KHR( VkPhysicalDevice physicalDevic...
method vkGetPhysicalDeviceFormatProperties2KHR (line 3179) | void vkGetPhysicalDeviceFormatProperties2KHR( VkPhysicalDevice ph...
method VkResult (line 3186) | VkResult vkGetPhysicalDeviceImageFormatProperties2KHR( VkPhysicalDevic...
method vkGetPhysicalDeviceQueueFamilyProperties2KHR (line 3193) | void vkGetPhysicalDeviceQueueFamilyProperties2KHR( VkPhysicalDevice ...
method vkGetPhysicalDeviceMemoryProperties2KHR (line 3200) | void vkGetPhysicalDeviceMemoryProperties2KHR( VkPhysicalDevice ...
method vkGetPhysicalDeviceSparseImageFormatProperties2KHR (line 3206) | void vkGetPhysicalDeviceSparseImageFormatProperties2KHR( VkPhysicalDev...
method vkGetDeviceGroupPeerMemoryFeaturesKHR (line 3216) | void vkGetDeviceGroupPeerMemoryFeaturesKHR( VkDevice ...
method vkCmdSetDeviceMaskKHR (line 3225) | void vkCmdSetDeviceMaskKHR( VkCommandBuffer commandBuffer, uint32_t de...
method vkCmdDispatchBaseKHR (line 3230) | void vkCmdDispatchBaseKHR( VkCommandBuffer commandBuffer,
method VkResult (line 3244) | VkResult vkCreateViSurfaceNN( VkInstance instance,
method vkTrimCommandPoolKHR (line 3255) | void vkTrimCommandPoolKHR( VkDevice device, VkCommandPool commandPool,...
method VkResult (line 3262) | VkResult vkEnumeratePhysicalDeviceGroupsKHR( VkInstance ...
method vkGetPhysicalDeviceExternalBufferPropertiesKHR (line 3271) | void vkGetPhysicalDeviceExternalBufferPropertiesKHR( VkPhysicalDevice ...
method VkResult (line 3281) | VkResult
method VkResult (line 3287) | VkResult vkGetMemoryWin32HandlePropertiesKHR( VkDevice ...
method VkResult (line 3298) | VkResult vkGetMemoryFdKHR( VkDevice device, const VkMemoryGetFdInfoKHR...
method VkResult (line 3303) | VkResult vkGetMemoryFdPropertiesKHR( VkDevice ...
method vkGetPhysicalDeviceExternalSemaphorePropertiesKHR (line 3313) | void vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( VkPhysicalDevi...
method VkResult (line 3323) | VkResult vkImportSemaphoreWin32HandleKHR( VkDevice ...
method VkResult (line 3329) | VkResult vkGetSemaphoreWin32HandleKHR( VkDevice ...
method VkResult (line 3339) | VkResult vkImportSemaphoreFdKHR( VkDevice device, const VkImportSemaph...
method VkResult (line 3344) | VkResult vkGetSemaphoreFdKHR( VkDevice device, const VkSemaphoreGetFdI...
method vkCmdPushDescriptorSetKHR (line 3351) | void vkCmdPushDescriptorSetKHR( VkCommandBuffer commandBu...
method vkCmdPushDescriptorSetWithTemplateKHR (line 3361) | void vkCmdPushDescriptorSetWithTemplateKHR( VkCommandBuffer ...
method vkCmdBeginConditionalRenderingEXT (line 3372) | void vkCmdBeginConditionalRenderingEXT( VkCommandBuffer ...
method vkCmdEndConditionalRenderingEXT (line 3378) | void vkCmdEndConditionalRenderingEXT( VkCommandBuffer commandBuffer ) ...
method VkResult (line 3385) | VkResult vkCreateDescriptorUpdateTemplateKHR( VkDevice ...
method vkDestroyDescriptorUpdateTemplateKHR (line 3393) | void vkDestroyDescriptorUpdateTemplateKHR( VkDevice ...
method vkUpdateDescriptorSetWithTemplateKHR (line 3400) | void vkUpdateDescriptorSetWithTemplateKHR( VkDevice ...
method vkCmdSetViewportWScalingNV (line 3410) | void vkCmdSetViewportWScalingNV( VkCommandBuffer commandB...
method VkResult (line 3420) | VkResult vkReleaseDisplayEXT( VkPhysicalDevice physicalDevice, VkDispl...
method VkResult (line 3428) | VkResult vkAcquireXlibDisplayEXT( VkPhysicalDevice physicalDevice, Dis...
method VkResult (line 3433) | VkResult
method VkResult (line 3442) | VkResult vkGetPhysicalDeviceSurfaceCapabilities2EXT( VkPhysicalDevice ...
method VkResult (line 3451) | VkResult vkDisplayPowerControlEXT( VkDevice device, VkDisplayKHR displ...
method VkResult (line 3456) | VkResult vkRegisterDeviceEventEXT( VkDevice device,
method VkResult (line 3464) | VkResult vkRegisterDisplayEventEXT( VkDevice device,
method VkResult (line 3473) | VkResult vkGetSwapchainCounterEXT( VkDevice device,
method VkResult (line 3483) | VkResult vkGetRefreshCycleDurationGOOGLE( VkDevice ...
method VkResult (line 3490) | VkResult vkGetPastPresentationTimingGOOGLE( VkDevice ...
method vkCmdSetDiscardRectangleEXT (line 3500) | void vkCmdSetDiscardRectangleEXT( VkCommandBuffer commandBuffer,
method vkCmdSetDiscardRectangleEnableEXT (line 3508) | void vkCmdSetDiscardRectangleEnableEXT( VkCommandBuffer commandBuffer,...
method vkCmdSetDiscardRectangleModeEXT (line 3513) | void vkCmdSetDiscardRectangleModeEXT( VkCommandBuffer commandBuffer, V...
method vkSetHdrMetadataEXT (line 3520) | void vkSetHdrMetadataEXT( VkDevice device,
method VkResult (line 3530) | VkResult vkCreateRenderPass2KHR( VkDevice device,
method vkCmdBeginRenderPass2KHR (line 3538) | void vkCmdBeginRenderPass2KHR( VkCommandBuffer commandBu...
method vkCmdNextSubpass2KHR (line 3545) | void vkCmdNextSubpass2KHR( VkCommandBuffer commandBuffer,
method vkCmdEndRenderPass2KHR (line 3552) | void vkCmdEndRenderPass2KHR( VkCommandBuffer commandBuffer, const VkSu...
method VkResult (line 3559) | VkResult vkGetSwapchainStatusKHR( VkDevice device, VkSwapchainKHR swap...
method vkGetPhysicalDeviceExternalFencePropertiesKHR (line 3566) | void vkGetPhysicalDeviceExternalFencePropertiesKHR( VkPhysicalDevice ...
method VkResult (line 3576) | VkResult vkImportFenceWin32HandleKHR( VkDevice device, const VkImportF...
method VkResult (line 3581) | VkResult vkGetFenceWin32HandleKHR( VkDevice device, const VkFenceGetWi...
method VkResult (line 3589) | VkResult vkImportFenceFdKHR( VkDevice device, const VkImportFenceFdInf...
method VkResult (line 3594) | VkResult vkGetFenceFdKHR( VkDevice device, const VkFenceGetFdInfoKHR *...
method VkResult (line 3601) | VkResult
method vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR (line 3612) | void vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR( VkPhysic...
method VkResult (line 3619) | VkResult vkAcquireProfilingLockKHR( VkDevice device, const VkAcquirePr...
method vkReleaseProfilingLockKHR (line 3624) | void vkReleaseProfilingLockKHR( VkDevice device ) const VULKAN_HPP_NOE...
method VkResult (line 3631) | VkResult vkGetPhysicalDeviceSurfaceCapabilities2KHR( VkPhysicalDevice ...
method VkResult (line 3638) | VkResult vkGetPhysicalDeviceSurfaceFormats2KHR( VkPhysicalDevice ...
method VkResult (line 3648) | VkResult vkGetPhysicalDeviceDisplayProperties2KHR( VkPhysicalDevice ...
method VkResult (line 3655) | VkResult vkGetPhysicalDeviceDisplayPlaneProperties2KHR( VkPhysicalDevi...
method VkResult (line 3662) | VkResult vkGetDisplayModeProperties2KHR( VkPhysicalDevice ...
method VkResult (line 3670) | VkResult vkGetDisplayPlaneCapabilities2KHR( VkPhysicalDevice ...
method VkResult (line 3680) | VkResult vkCreateIOSSurfaceMVK( VkInstance inst...
method VkResult (line 3692) | VkResult vkCreateMacOSSurfaceMVK( VkInstance ...
method VkResult (line 3703) | VkResult vkSetDebugUtilsObjectNameEXT( VkDevice device, const VkDebugU...
method VkResult (line 3708) | VkResult vkSetDebugUtilsObjectTagEXT( VkDevice device, const VkDebugUt...
method vkQueueBeginDebugUtilsLabelEXT (line 3713) | void vkQueueBeginDebugUtilsLabelEXT( VkQueue queue, const VkDebugUtils...
method vkQueueEndDebugUtilsLabelEXT (line 3718) | void vkQueueEndDebugUtilsLabelEXT( VkQueue queue ) const VULKAN_HPP_NO...
method vkQueueInsertDebugUtilsLabelEXT (line 3723) | void vkQueueInsertDebugUtilsLabelEXT( VkQueue queue, const VkDebugUtil...
method vkCmdBeginDebugUtilsLabelEXT (line 3728) | void vkCmdBeginDebugUtilsLabelEXT( VkCommandBuffer commandBuffer, cons...
method vkCmdEndDebugUtilsLabelEXT (line 3733) | void vkCmdEndDebugUtilsLabelEXT( VkCommandBuffer commandBuffer ) const...
method vkCmdInsertDebugUtilsLabelEXT (line 3738) | void vkCmdInsertDebugUtilsLabelEXT( VkCommandBuffer commandBuffer, con...
method VkResult (line 3743) | VkResult vkCreateDebugUtilsMessengerEXT( VkInstance ...
method vkDestroyDebugUtilsMessengerEXT (line 3751) | void vkDestroyDebugUtilsMessengerEXT( VkInstance in...
method vkSubmitDebugUtilsMessageEXT (line 3758) | void vkSubmitDebugUtilsMessageEXT( VkInstance ...
method VkResult (line 3769) | VkResult vkGetAndroidHardwareBufferPropertiesANDROID( VkDevice ...
method VkResult (line 3776) | VkResult vkGetMemoryAndroidHardwareBufferANDROID( VkDevice ...
method VkResult (line 3787) | VkResult vkCreateExecutionGraphPipelinesAMDX( VkDevice ...
method VkResult (line 3797) | VkResult vkGetExecutionGraphPipelineScratchSizeAMDX( VkDevice ...
method VkResult (line 3804) | VkResult vkGetExecutionGraphPipelineNodeIndexAMDX( VkDevice ...
method vkCmdInitializeGraphScratchMemoryAMDX (line 3812) | void vkCmdInitializeGraphScratchMemoryAMDX( VkCommandBuffer commandBuf...
method vkCmdDispatchGraphAMDX (line 3820) | void vkCmdDispatchGraphAMDX( VkCommandBuffer comm...
method vkCmdDispatchGraphIndirectAMDX (line 3828) | void vkCmdDispatchGraphIndirectAMDX( VkCommandBuffer ...
method vkCmdDispatchGraphIndirectCountAMDX (line 3836) | void vkCmdDispatchGraphIndirectCountAMDX( VkCommandBuffer commandBuffer,
method vkCmdSetSampleLocationsEXT (line 3847) | void vkCmdSetSampleLocationsEXT( VkCommandBuffer commandBuffer, const ...
method vkGetPhysicalDeviceMultisamplePropertiesEXT (line 3852) | void vkGetPhysicalDeviceMultisamplePropertiesEXT( VkPhysicalDevice ...
method vkGetImageMemoryRequirements2KHR (line 3861) | void vkGetImageMemoryRequirements2KHR( VkDevice ...
method vkGetBufferMemoryRequirements2KHR (line 3868) | void vkGetBufferMemoryRequirements2KHR( VkDevice ...
method vkGetImageSparseMemoryRequirements2KHR (line 3875) | void vkGetImageSparseMemoryRequirements2KHR( VkDevice ...
method VkResult (line 3885) | VkResult vkCreateAccelerationStructureKHR( VkDevice ...
method vkDestroyAccelerationStructureKHR (line 3893) | void vkDestroyAccelerationStructureKHR( VkDevice ...
method vkCmdBuildAccelerationStructuresKHR (line 3900) | void vkCmdBuildAccelerationStructuresKHR( VkCommandBuffer ...
method vkCmdBuildAccelerationStructuresIndirectKHR (line 3908) | void vkCmdBuildAccelerationStructuresIndirectKHR( VkCommandBuffer ...
method VkResult (line 3919) | VkResult vkBuildAccelerationStructuresKHR( VkDevice ...
method VkResult (line 3928) | VkResult vkCopyAccelerationStructureKHR( VkDevice ...
method VkResult (line 3935) | VkResult vkCopyAccelerationStructureToMemoryKHR( VkDevice ...
method VkResult (line 3942) | VkResult vkCopyMemoryToAccelerationStructureKHR( VkDevice ...
method VkResult (line 3949) | VkResult vkWriteAccelerationStructuresPropertiesKHR( VkDevice ...
method vkCmdCopyAccelerationStructureKHR (line 3960) | void vkCmdCopyAccelerationStructureKHR( VkCommandBuffer commandBuffer,...
method vkCmdCopyAccelerationStructureToMemoryKHR (line 3965) | void vkCmdCopyAccelerationStructureToMemoryKHR( VkCommandBuffer ...
method vkCmdCopyMemoryToAccelerationStructureKHR (line 3971) | void vkCmdCopyMemoryToAccelerationStructureKHR( VkCommandBuffer ...
method VkDeviceAddress (line 3977) | VkDeviceAddress vkGetAccelerationStructureDeviceAddressKHR( VkDevice ...
method vkCmdWriteAccelerationStructuresPropertiesKHR (line 3983) | void vkCmdWriteAccelerationStructuresPropertiesKHR( VkCommandBuffer ...
method vkGetDeviceAccelerationStructureCompatibilityKHR (line 3994) | void vkGetDeviceAccelerationStructureCompatibilityKHR( VkDevice ...
method vkGetAccelerationStructureBuildSizesKHR (line 4001) | void vkGetAccelerationStructureBuildSizesKHR( VkDevice ...
method vkCmdTraceRaysKHR (line 4012) | void vkCmdTraceRaysKHR( VkCommandBuffer comman...
method VkResult (line 4025) | VkResult vkCreateRayTracingPipelinesKHR( VkDevice ...
method VkResult (line 4036) | VkResult vkGetRayTracingShaderGroupHandlesKHR(
method VkResult (line 4042) | VkResult vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
method vkCmdTraceRaysIndirectKHR (line 4048) | void vkCmdTraceRaysIndirectKHR( VkCommandBuffer ...
method VkDeviceSize (line 4059) | VkDeviceSize vkGetRayTracingShaderGroupStackSizeKHR( VkDevice ...
method vkCmdSetRayTracingPipelineStackSizeKHR (line 4067) | void vkCmdSetRayTracingPipelineStackSizeKHR( VkCommandBuffer commandBu...
method VkResult (line 4074) | VkResult vkCreateSamplerYcbcrConversionKHR( VkDevice ...
method vkDestroySamplerYcbcrConversionKHR (line 4082) | void vkDestroySamplerYcbcrConversionKHR( VkDevice ...
method VkResult (line 4091) | VkResult vkBindBufferMemory2KHR( VkDevice device, uint32_t bindInfoCou...
method VkResult (line 4096) | VkResult vkBindImageMemory2KHR( VkDevice device, uint32_t bindInfoCoun...
method VkResult (line 4103) | VkResult vkGetImageDrmFormatModifierPropertiesEXT( VkDevice ...
method VkResult (line 4112) | VkResult vkCreateValidationCacheEXT( VkDevice ...
method vkDestroyValidationCacheEXT (line 4120) | void
method VkResult (line 4126) | VkResult vkMergeValidationCachesEXT( VkDevice device,
method VkResult (line 4134) | VkResult vkGetValidationCacheDataEXT( VkDevice device, VkValidationCac...
method vkCmdBindShadingRateImageNV (line 4141) | void vkCmdBindShadingRateImageNV( VkCommandBuffer commandBuffer, VkIma...
method vkCmdSetViewportShadingRatePaletteNV (line 4146) | void vkCmdSetViewportShadingRatePaletteNV( VkCommandBuffer ...
method vkCmdSetCoarseSampleOrderNV (line 4154) | void vkCmdSetCoarseSampleOrderNV( VkCommandBuffer ...
method VkResult (line 4164) | VkResult vkCreateAccelerationStructureNV( VkDevice ...
method vkDestroyAccelerationStructureNV (line 4172) | void vkDestroyAccelerationStructureNV( VkDevice d...
method vkGetAccelerationStructureMemoryRequirementsNV (line 4179) | void vkGetAccelerationStructureMemoryRequirementsNV( VkDevice ...
method VkResult (line 4186) | VkResult vkBindAccelerationStructureMemoryNV( VkDevice ...
method vkCmdBuildAccelerationStructureNV (line 4193) | void vkCmdBuildAccelerationStructureNV( VkCommandBuffer ...
method vkCmdCopyAccelerationStructureNV (line 4206) | void vkCmdCopyAccelerationStructureNV( VkCommandBuffer ...
method vkCmdTraceRaysNV (line 4214) | void vkCmdTraceRaysNV( VkCommandBuffer commandBuffer,
method VkResult (line 4247) | VkResult vkCreateRayTracingPipelinesNV( VkDevice ...
method VkResult (line 4257) | VkResult vkGetRayTracingShaderGroupHandlesNV(
method VkResult (line 4263) | VkResult vkGetAccelerationStructureHandleNV( VkDevice ...
method vkCmdWriteAccelerationStructuresPropertiesNV (line 4271) | void vkCmdWriteAccelerationStructuresPropertiesNV( VkCommandBuffer ...
method VkResult (line 4282) | VkResult vkCompileDeferredNV( VkDevice device, VkPipeline pipeline, ui...
method vkGetDescriptorSetLayoutSupportKHR (line 4289) | void vkGetDescriptorSetLayoutSupportKHR( VkDevice ...
method vkCmdDrawIndirectCountKHR (line 4298) | void vkCmdDrawIndirectCountKHR( VkCommandBuffer commandBuffer,
method vkCmdDrawIndexedIndirectCountKHR (line 4309) | void vkCmdDrawIndexedIndirectCountKHR( VkCommandBuffer commandBuffer,
method VkResult (line 4322) | VkResult vkGetMemoryHostPointerPropertiesEXT( VkDevice ...
method vkCmdWriteBufferMarkerAMD (line 4332) | void vkCmdWriteBufferMarkerAMD( VkCommandBuffer commandBuffer,
method vkCmdWriteBufferMarker2AMD (line 4341) | void vkCmdWriteBufferMarker2AMD(
method VkResult (line 4349) | VkResult vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( VkPhysicalDev...
method VkResult (line 4356) | VkResult vkGetCalibratedTimestampsEXT( VkDevice ...
method vkCmdDrawMeshTasksNV (line 4367) | void vkCmdDrawMeshTasksNV( VkCommandBuffer commandBuffer, uint32_t tas...
method vkCmdDrawMeshTasksIndirectNV (line 4372) | void vkCmdDrawMeshTasksIndirectNV( VkCommandBuffer commandBuffer, VkBu...
method vkCmdDrawMeshTasksIndirectCountNV (line 4378) | void vkCmdDrawMeshTasksIndirectCountNV( VkCommandBuffer commandBuffer,
method vkCmdSetExclusiveScissorEnableNV (line 4391) | void vkCmdSetExclusiveScissorEnableNV( VkCommandBuffer commandBuffer,
method vkCmdSetExclusiveScissorNV (line 4399) | void vkCmdSetExclusiveScissorNV( VkCommandBuffer commandBuffer,
method vkCmdSetCheckpointNV (line 4409) | void vkCmdSetCheckpointNV( VkCommandBuffer commandBuffer, const void *...
method vkGetQueueCheckpointDataNV (line 4414) | void vkGetQueueCheckpointDataNV( VkQueue queue, uint32_t * pCheckpoint...
method vkGetQueueCheckpointData2NV (line 4419) | void vkGetQueueCheckpointData2NV( VkQueue queue, uint32_t * pCheckpoin...
method VkResult (line 4426) | VkResult vkGetSemaphoreCounterValueKHR( VkDevice device, VkSemaphore s...
method VkResult (line 4431) | VkResult vkWaitSemaphoresKHR( VkDevice device, const VkSemaphoreWaitIn...
method VkResult (line 4436) | VkResult vkSignalSemaphoreKHR( VkDevice device, const VkSemaphoreSigna...
method VkResult (line 4443) | VkResult vkInitializePerformanceApiINTEL( VkDevice device, const VkIni...
method vkUninitializePerformanceApiINTEL (line 4448) | void vkUninitializePerformanceApiINTEL( VkDevice device ) const VULKAN...
method VkResult (line 4453) | VkResult vkCmdSetPerformanceMarkerINTEL( VkCommandBuffer commandBuffer...
method VkResult (line 4458) | VkResult vkCmdSetPerformanceStreamMarkerINTEL( VkCommandBuffer ...
method VkResult (line 4464) | VkResult vkCmdSetPerformanceOverrideINTEL( VkCommandBuffer commandBuff...
method VkResult (line 4469) | VkResult vkAcquirePerformanceConfigurationINTEL( VkDevice ...
method VkResult (line 4476) | VkResult vkReleasePerformanceConfigurationINTEL( VkDevice device, VkPe...
method VkResult (line 4481) | VkResult vkQueueSetPerformanceConfigurationINTEL( VkQueue queue, VkPer...
method VkResult (line 4486) | VkResult
method vkSetLocalDimmingAMD (line 4494) | void vkSetLocalDimmingAMD( VkDevice device, VkSwapchainKHR swapChain, ...
method VkResult (line 4502) | VkResult vkCreateImagePipeSurfaceFUCHSIA( VkInstance ...
method VkResult (line 4514) | VkResult vkCreateMetalSurfaceEXT( VkInstance ...
method VkResult (line 4525) | VkResult vkGetPhysicalDeviceFragmentShadingRatesKHR( VkPhysicalDevice ...
method vkCmdSetFragmentShadingRateKHR (line 4532) | void vkCmdSetFragmentShadingRateKHR( VkCommandBuffer ...
method vkCmdSetRenderingAttachmentLocationsKHR (line 4541) | void vkCmdSetRenderingAttachmentLocationsKHR( VkCommandBuffer ...
method vkCmdSetRenderingInputAttachmentIndicesKHR (line 4547) | void vkCmdSetRenderingInputAttachmentIndicesKHR( VkCommandBuffer ...
method VkDeviceAddress (line 4555) | VkDeviceAddress vkGetBufferDeviceAddressEXT( VkDevice device, const Vk...
method VkResult (line 4562) | VkResult vkGetPhysicalDeviceToolPropertiesEXT( VkPhysicalDevice ...
method VkResult (line 4571) | VkResult vkWaitForPresentKHR( VkDevice device, VkSwapchainKHR swapchai...
method VkResult (line 4578) | VkResult vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( VkPhysicalD...
method VkResult (line 4587) | VkResult vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinatio...
method VkResult (line 4596) | VkResult vkGetPhysicalDeviceSurfacePresentModes2EXT( VkPhysicalDevice ...
method VkResult (line 4604) | VkResult vkAcquireFullScreenExclusiveModeEXT( VkDevice device, VkSwapc...
method VkResult (line 4609) | VkResult vkReleaseFullScreenExclusiveModeEXT( VkDevice device, VkSwapc...
method VkResult (line 4614) | VkResult vkGetDeviceGroupSurfacePresentModes2EXT( VkDevice ...
method VkResult (line 4624) | VkResult vkCreateHeadlessSurfaceEXT( VkInstance ...
method VkDeviceAddress (line 4634) | VkDeviceAddress vkGetBufferDeviceAddressKHR( VkDevice device, const Vk...
method vkGetBufferOpaqueCaptureAddressKHR (line 4639) | uint64_t vkGetBufferOpaqueCaptureAddressKHR( VkDevice device, const Vk...
method vkGetDeviceMemoryOpaqueCaptureAddressKHR (line 4644) | uint64_t vkGetDeviceMemoryOpaqueCaptureAddressKHR( VkDevice device, co...
method vkCmdSetLineStippleEXT (line 4651) | void vkCmdSetLineStippleEXT( VkCommandBuffer commandBuffer, uint32_t l...
method vkResetQueryPoolEXT (line 4658) | void vkResetQueryPoolEXT( VkDevice device, VkQueryPool queryPool, uint...
method vkCmdSetCullModeEXT (line 4665) | void vkCmdSetCullModeEXT( VkCommandBuffer commandBuffer, VkCullModeFla...
method vkCmdSetFrontFaceEXT (line 4670) | void vkCmdSetFrontFaceEXT( VkCommandBuffer commandBuffer, VkFrontFace ...
method vkCmdSetPrimitiveTopologyEXT (line 4675) | void vkCmdSetPrimitiveTopologyEXT( VkCommandBuffer commandBuffer, VkPr...
method vkCmdSetViewportWithCountEXT (line 4680) | void vkCmdSetViewportWithCountEXT( VkCommandBuffer commandBuffer, uint...
method vkCmdSetScissorWithCountEXT (line 4685) | void vkCmdSetScissorWithCountEXT( VkCommandBuffer commandBuffer, uint3...
method vkCmdBindVertexBuffers2EXT (line 4690) | void vkCmdBindVertexBuffers2EXT( VkCommandBuffer commandBuffer,
method vkCmdSetDepthTestEnableEXT (line 4701) | void vkCmdSetDepthTestEnableEXT( VkCommandBuffer commandBuffer, VkBool...
method vkCmdSetDepthWriteEnableEXT (line 4706) | void vkCmdSetDepthWriteEnableEXT( VkCommandBuffer commandBuffer, VkBoo...
method vkCmdSetDepthCompareOpEXT (line 4711) | void vkCmdSetDepthCompareOpEXT( VkCommandBuffer commandBuffer, VkCompa...
method vkCmdSetDepthBoundsTestEnableEXT (line 4716) | void vkCmdSetDepthBoundsTestEnableEXT( VkCommandBuffer commandBuffer, ...
method vkCmdSetStencilTestEnableEXT (line 4721) | void vkCmdSetStencilTestEnableEXT( VkCommandBuffer commandBuffer, VkBo...
method vkCmdSetStencilOpEXT (line 4726) | void vkCmdSetStencilOpEXT( VkCommandBuffer commandBuffer,
method VkResult (line 4738) | VkResult vkCreateDeferredOperationKHR( VkDevice d...
method vkDestroyDeferredOperationKHR (line 4745) | void
method vkGetDeferredOperationMaxConcurrencyKHR (line 4751) | uint32_t vkGetDeferredOperationMaxConcurrencyKHR( VkDevice device, VkD...
method VkResult (line 4756) | VkResult vkGetDeferredOperationResultKHR( VkDevice device, VkDeferredO...
method VkResult (line 4761) | VkResult vkDeferredOperationJoinKHR( VkDevice device, VkDeferredOperat...
method VkResult (line 4768) | VkResult vkGetPipelineExecutablePropertiesKHR( VkDevice ...
method VkResult (line 4776) | VkResult vkGetPipelineExecutableStatisticsKHR( VkDevice ...
method VkResult (line 4784) | VkResult
method VkResult (line 4795) | VkResult vkCopyMemoryToImageEXT( VkDevice device, const VkCopyMemoryTo...
method VkResult (line 4800) | VkResult vkCopyImageToMemoryEXT( VkDevice device, const VkCopyImageToM...
method VkResult (line 4805) | VkResult vkCopyImageToImageEXT( VkDevice device, const VkCopyImageToIm...
method VkResult (line 4810) | VkResult
method vkGetImageSubresourceLayout2EXT (line 4816) | void vkGetImageSubresourceLayout2EXT( VkDevice device,
method VkResult (line 4826) | VkResult vkMapMemory2KHR( VkDevice device, const VkMemoryMapInfo * pMe...
method VkResult (line 4831) | VkResult vkUnmapMemory2KHR( VkDevice device, const VkMemoryUnmapInfo *...
method VkResult (line 4838) | VkResult vkReleaseSwapchainImagesEXT( VkDevice device, const VkRelease...
method vkGetGeneratedCommandsMemoryRequirementsNV (line 4845) | void vkGetGeneratedCommandsMemoryRequirementsNV( VkDevice ...
method vkCmdPreprocessGeneratedCommandsNV (line 4852) | void vkCmdPreprocessGeneratedCommandsNV( VkCommandBuffer ...
method vkCmdExecuteGeneratedCommandsNV (line 4858) | void vkCmdExecuteGeneratedCommandsNV( VkCommandBuffer ...
method vkCmdBindPipelineShaderGroupNV (line 4865) | void vkCmdBindPipelineShaderGroupNV( VkCommandBuffer commandBuffer,
method VkResult (line 4873) | VkResult vkCreateIndirectCommandsLayoutNV( VkDevice ...
method vkDestroyIndirectCommandsLayoutNV (line 4881) | void vkDestroyIndirectCommandsLayoutNV( VkDevice ...
method vkCmdSetDepthBias2EXT (line 4890) | void vkCmdSetDepthBias2EXT( VkCommandBuffer commandBuffer, const VkDep...
method VkResult (line 4897) | VkResult vkAcquireDrmDisplayEXT( VkPhysicalDevice physicalDevice, int3...
method VkResult (line 4902) | VkResult vkGetDrmDisplayEXT( VkPhysicalDevice physicalDevice, int32_t ...
method VkResult (line 4909) | VkResult vkCreatePrivateDataSlotEXT( VkDevice ...
method vkDestroyPrivateDataSlotEXT (line 4917) | void vkDestroyPrivateDataSlotEXT( VkDevice device, VkPrivateDataSlot p...
method VkResult (line 4922) | VkResult vkSetPrivateDataEXT( VkDevice device, VkObjectType objectType...
method vkGetPrivateDataEXT (line 4928) | void vkGetPrivateDataEXT( VkDevice device, VkObjectType objectType, ui...
method VkResult (line 4936) | VkResult
method VkResult (line 4944) | VkResult vkGetEncodedVideoSessionParametersKHR( VkDevice ...
method vkCmdEncodeVideoKHR (line 4953) | void vkCmdEncodeVideoKHR( VkCommandBuffer commandBuffer, const VkVideo...
method VkResult (line 4961) | VkResult vkCreateCudaModuleNV( VkDevice device,
method VkResult (line 4969) | VkResult vkGetCudaModuleCacheNV( VkDevice device, VkCudaModuleNV modul...
method VkResult (line 4974) | VkResult vkCreateCudaFunctionNV( VkDevice de...
method vkDestroyCudaModuleNV (line 4982) | void vkDestroyCudaModuleNV( VkDevice device, VkCudaModuleNV module, co...
method vkDestroyCudaFunctionNV (line 4987) | void vkDestroyCudaFunctionNV( VkDevice device, VkCudaFunctionNV functi...
method vkCmdCudaLaunchKernelNV (line 4992) | void vkCmdCudaLaunchKernelNV( VkCommandBuffer commandBuffer, const VkC...
method vkCmdDispatchTileQCOM (line 5000) | void vkCmdDispatchTileQCOM( VkCommandBuffer commandBuffer, const VkDis...
method vkCmdBeginPerTileExecutionQCOM (line 5005) | void vkCmdBeginPerTileExecutionQCOM( VkCommandBuffer commandBuffer, co...
method vkCmdEndPerTileExecutionQCOM (line 5010) | void vkCmdEndPerTileExecutionQCOM( VkCommandBuffer commandBuffer, cons...
method vkExportMetalObjectsEXT (line 5018) | void vkExportMetalObjectsEXT( VkDevice device, VkExportMetalObjectsInf...
method vkCmdSetEvent2KHR (line 5026) | void vkCmdSetEvent2KHR( VkCommandBuffer commandBuffer, VkEvent event, ...
method vkCmdResetEvent2KHR (line 5031) | void vkCmdResetEvent2KHR( VkCommandBuffer commandBuffer, VkEvent event...
method vkCmdWaitEvents2KHR (line 5036) | void vkCmdWaitEvents2KHR( VkCommandBuffer commandBuffer,
method vkCmdPipelineBarrier2KHR (line 5044) | void vkCmdPipelineBarrier2KHR( VkCommandBuffer commandBuffer, const Vk...
method vkCmdWriteTimestamp2KHR (line 5049) | void
method VkResult (line 5055) | VkResult vkQueueSubmit2KHR( VkQueue queue, uint32_t submitCount, const...
method vkGetDescriptorSetLayoutSizeEXT (line 5062) | void vkGetDescriptorSetLayoutSizeEXT( VkDevice device, VkDescriptorSet...
method vkGetDescriptorSetLayoutBindingOffsetEXT (line 5067) | void vkGetDescriptorSetLayoutBindingOffsetEXT( VkDevice d...
method vkGetDescriptorEXT (line 5075) | void vkGetDescriptorEXT( VkDevice device, const VkDescriptorGetInfoEXT...
method vkCmdBindDescriptorBuffersEXT (line 5080) | void vkCmdBindDescriptorBuffersEXT( VkCommandBuffer ...
method vkCmdSetDescriptorBufferOffsetsEXT (line 5087) | void vkCmdSetDescriptorBufferOffsetsEXT( VkCommandBuffer commandB...
method vkCmdBindDescriptorBufferEmbeddedSamplersEXT (line 5098) | void vkCmdBindDescriptorBufferEmbeddedSamplersEXT( VkCommandBuffer ...
method VkResult (line 5106) | VkResult
method VkResult (line 5112) | VkResult
method VkResult (line 5118) | VkResult vkGetImageViewOpaqueCaptureDescriptorDataEXT( VkDevice ...
method VkResult (line 5125) | VkResult vkGetSamplerOpaqueCaptureDescriptorDataEXT( VkDevice ...
method VkResult (line 5132) | VkResult vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT( VkD...
method vkCmdSetFragmentShadingRateEnumNV (line 5141) | void vkCmdSetFragmentShadingRateEnumNV( VkCommandBuffer ...
method vkCmdDrawMeshTasksEXT (line 5150) | void vkCmdDrawMeshTasksEXT( VkCommandBuffer commandBuffer, uint32_t gr...
method vkCmdDrawMeshTasksIndirectEXT (line 5155) | void vkCmdDrawMeshTasksIndirectEXT( VkCommandBuffer commandBuffer, VkB...
method vkCmdDrawMeshTasksIndirectCountEXT (line 5161) | void vkCmdDrawMeshTasksIndirectCountEXT( VkCommandBuffer commandBuffer,
method vkCmdCopyBuffer2KHR (line 5174) | void vkCmdCopyBuffer2KHR( VkCommandBuffer commandBuffer, const VkCopyB...
method vkCmdCopyImage2KHR (line 5179) | void vkCmdCopyImage2KHR( VkCommandBuffer commandBuffer, const VkCopyIm...
method vkCmdCopyBufferToImage2KHR (line 5184) | void vkCmdCopyBufferToImage2KHR( VkCommandBuffer commandBuffer, const ...
method vkCmdCopyImageToBuffer2KHR (line 5189) | void vkCmdCopyImageToBuffer2KHR( VkCommandBuffer commandBuffer, const ...
method vkCmdBlitImage2KHR (line 5194) | void vkCmdBlitImage2KHR( VkCommandBuffer commandBuffer, const VkBlitIm...
method vkCmdResolveImage2KHR (line 5199) | void vkCmdResolveImage2KHR( VkCommandBuffer commandBuffer, const VkRes...
method VkResult (line 5206) | VkResult vkGetDeviceFaultInfoEXT( VkDevice device, VkDeviceFaultCounts...
method VkResult (line 5214) | VkResult vkAcquireWinrtDisplayNV( VkPhysicalDevice physicalDevice, VkD...
method VkResult (line 5219) | VkResult vkGetWinrtDisplayNV( VkPhysicalDevice physicalDevice, uint32_...
method VkResult (line 5228) | VkResult vkCreateDirectFBSurfaceEXT( VkInstance ...
method VkBool32 (line 5236) | VkBool32 vkGetPhysicalDeviceDirectFBPresentationSupportEXT( VkPhysical...
method vkCmdSetVertexInputEXT (line 5246) | void vkCmdSetVertexInputEXT( VkCommandBuffer ...
method VkResult (line 5259) | VkResult vkGetMemoryZirconHandleFUCHSIA( VkDevice ...
method VkResult (line 5266) | VkResult vkGetMemoryZirconHandlePropertiesFUCHSIA( VkDevice ...
method VkResult (line 5278) | VkResult
method VkResult (line 5285) | VkResult vkGetSemaphoreZirconHandleFUCHSIA( VkDevice ...
method VkResult (line 5296) | VkResult vkCreateBufferCollectionFUCHSIA( VkDevice ...
method VkResult (line 5304) | VkResult vkSetBufferCollectionImageConstraintsFUCHSIA( VkDevice ...
method VkResult (line 5311) | VkResult vkSetBufferCollectionBufferConstraintsFUCHSIA( VkDevice ...
method vkDestroyBufferCollectionFUCHSIA (line 5318) | void vkDestroyBufferCollectionFUCHSIA( VkDevice d...
method VkResult (line 5325) | VkResult vkGetBufferCollectionPropertiesFUCHSIA( VkDevice ...
method VkResult (line 5335) | VkResult
method vkCmdSubpassShadingHUAWEI (line 5341) | void vkCmdSubpassShadingHUAWEI( VkCommandBuffer commandBuffer ) const ...
method vkCmdBindInvocationMaskHUAWEI (line 5348) | void vkCmdBindInvocationMaskHUAWEI( VkCommandBuffer commandBuffer, VkI...
method VkResult (line 5355) | VkResult vkGetMemoryRemoteAddressNV( VkDevice ...
method VkResult (line 5364) | VkResult vkGetPipelinePropertiesEXT( VkDevice device,
method vkCmdSetPatchControlPointsEXT (line 5373) | void vkCmdSetPatchControlPointsEXT( VkCommandBuffer commandBuffer, uin...
method vkCmdSetRasterizerDiscardEnableEXT (line 5378) | void vkCmdSetRasterizerDiscardEnableEXT( VkCommandBuffer commandBuffer...
method vkCmdSetDepthBiasEnableEXT (line 5383) | void vkCmdSetDepthBiasEnableEXT( VkCommandBuffer commandBuffer, VkBool...
method vkCmdSetLogicOpEXT (line 5388) | void vkCmdSetLogicOpEXT( VkCommandBuffer commandBuffer, VkLogicOp logi...
method vkCmdSetPrimitiveRestartEnableEXT (line 5393) | void vkCmdSetPrimitiveRestartEnableEXT( VkCommandBuffer commandBuffer,...
method VkResult (line 5401) | VkResult vkCreateScreenSurfaceQNX( VkInstance ...
method VkBool32 (line 5409) | VkBool32 vkGetPhysicalDeviceScreenPresentationSupportQNX( VkPhysicalDe...
method vkCmdSetColorWriteEnableEXT (line 5419) | void vkCmdSetColorWriteEnableEXT( VkCommandBuffer commandBuffer, uint3...
method vkCmdTraceRaysIndirect2KHR (line 5426) | void vkCmdTraceRaysIndirect2KHR( VkCommandBuffer commandBuffer, VkDevi...
method vkCmdDrawMultiEXT (line 5433) | void vkCmdDrawMultiEXT( VkCommandBuffer commandBuffer,
method vkCmdDrawMultiIndexedEXT (line 5443) | void vkCmdDrawMultiIndexedEXT( VkCommandBuffer comma...
method VkResult (line 5456) | VkResult vkCreateMicromapEXT( VkDevice device,
method vkDestroyMicromapEXT (line 5464) | void vkDestroyMicromapEXT( VkDevice device, VkMicromapEXT micromap, co...
method vkCmdBuildMicromapsEXT (line 5469) | void vkCmdBuildMicromapsEXT( VkCommandBuffer commandBuffer, uint32_t i...
method VkResult (line 5474) | VkResult vkBuildMicromapsEXT( VkDevice device,
method VkResult (line 5482) | VkResult vkCopyMicromapEXT( VkDevice device, VkDeferredOperationKHR de...
method VkResult (line 5487) | VkResult vkCopyMicromapToMemoryEXT( VkDevice ...
method VkResult (line 5494) | VkResult vkCopyMemoryToMicromapEXT( VkDevice ...
method VkResult (line 5501) | VkResult vkWriteMicromapsPropertiesEXT( VkDevice device,
method vkCmdCopyMicromapEXT (line 5512) | void vkCmdCopyMicromapEXT( VkCommandBuffer commandBuffer, const VkCopy...
method vkCmdCopyMicromapToMemoryEXT (line 5517) | void vkCmdCopyMicromapToMemoryEXT( VkCommandBuffer commandBuffer, cons...
method vkCmdCopyMemoryToMicromapEXT (line 5522) | void vkCmdCopyMemoryToMicromapEXT( VkCommandBuffer commandBuffer, cons...
method vkCmdWriteMicromapsPropertiesEXT (line 5527) | void vkCmdWriteMicromapsPropertiesEXT( VkCommandBuffer commandBu...
method vkGetDeviceMicromapCompatibilityEXT (line 5537) | void vkGetDeviceMicromapCompatibilityEXT( VkDevice ...
method vkGetMicromapBuildSizesEXT (line 5544) | void vkGetMicromapBuildSizesEXT( VkDevice d...
method vkCmdDrawClusterHUAWEI (line 5554) | void vkCmdDrawClusterHUAWEI( VkCommandBuffer commandBuffer, uint32_t g...
method vkCmdDrawClusterIndirectHUAWEI (line 5559) | void vkCmdDrawClusterIndirectHUAWEI( VkCommandBuffer commandBuffer, Vk...
method vkSetDeviceMemoryPriorityEXT (line 5566) | void vkSetDeviceMemoryPriorityEXT( VkDevice device, VkDeviceMemory mem...
method vkGetDeviceBufferMemoryRequirementsKHR (line 5573) | void vkGetDeviceBufferMemoryRequirementsKHR( VkDevice ...
method vkGetDeviceImageMemoryRequirementsKHR (line 5580) | void vkGetDeviceImageMemoryRequirementsKHR( VkDevice ...
method vkGetDeviceImageSparseMemoryRequirementsKHR (line 5587) | void vkGetDeviceImageSparseMemoryRequirementsKHR( VkDevice ...
method vkGetDescriptorSetLayoutHostMappingInfoVALVE (line 5597) | void vkGetDescriptorSetLayoutHostMappingInfoVALVE( VkDevice ...
method vkGetDescriptorSetHostMappingVALVE (line 5604) | void vkGetDescriptorSetHostMappingVALVE( VkDevice device, VkDescriptor...
method vkCmdCopyMemoryIndirectNV (line 5611) | void vkCmdCopyMemoryIndirectNV( VkCommandBuffer commandBuffer,
method vkCmdCopyMemoryToImageIndirectNV (line 5619) | void vkCmdCopyMemoryToImageIndirectNV( VkCommandBuffer ...
method vkCmdDecompressMemoryNV (line 5632) | void vkCmdDecompressMemoryNV( VkCommandBuffer comma...
method vkCmdDecompressMemoryIndirectCountNV (line 5639) | void vkCmdDecompressMemoryIndirectCountNV( VkCommandBuffer commandBuffer,
method vkGetPipelineIndirectMemoryRequirementsNV (line 5649) | void vkGetPipelineIndirectMemoryRequirementsNV( VkDevice ...
method vkCmdUpdatePipelineIndirectBufferNV (line 5656) | void vkCmdUpdatePipelineIndirectBufferNV( VkCommandBuffer commandB...
method VkDeviceAddress (line 5663) | VkDeviceAddress vkGetPipelineIndirectDeviceAddressNV( VkDevice device,...
method vkCmdSetDepthClampEnableEXT (line 5670) | void vkCmdSetDepthClampEnableEXT( VkCommandBuffer commandBuffer, VkBoo...
method vkCmdSetPolygonModeEXT (line 5675) | void vkCmdSetPolygonModeEXT( VkCommandBuffer commandBuffer, VkPolygonM...
method vkCmdSetRasterizationSamplesEXT (line 5680) | void vkCmdSetRasterizationSamplesEXT( VkCommandBuffer commandBuffer, V...
method vkCmdSetSampleMaskEXT (line 5685) | void vkCmdSetSampleMaskEXT( VkCommandBuffer commandBuffer, VkSampleCou...
method vkCmdSetAlphaToCoverageEnableEXT (line 5690) | void vkCmdSetAlphaToCoverageEnableEXT( VkCommandBuffer commandBuffer, ...
method vkCmdSetAlphaToOneEnableEXT (line 5695) | void vkCmdSetAlphaToOneEnableEXT( VkCommandBuffer commandBuffer, VkBoo...
method vkCmdSetLogicOpEnableEXT (line 5700) | void vkCmdSetLogicOpEnableEXT( VkCommandBuffer commandBuffer, VkBool32...
method vkCmdSetColorBlendEnableEXT (line 5705) | void vkCmdSetColorBlendEnableEXT( VkCommandBuffer commandBuffer,
method vkCmdSetColorBlendEquationEXT (line 5713) | void vkCmdSetColorBlendEquationEXT( VkCommandBuffer co...
method vkCmdSetColorWriteMaskEXT (line 5721) | void vkCmdSetColorWriteMaskEXT( VkCommandBuffer commandB...
method vkCmdSetTessellationDomainOriginEXT (line 5729) | void vkCmdSetTessellationDomainOriginEXT( VkCommandBuffer commandBuffe...
method vkCmdSetRasterizationStreamEXT (line 5734) | void vkCmdSetRasterizationStreamEXT( VkCommandBuffer commandBuffer, ui...
method vkCmdSetConservativeRasterizationModeEXT (line 5739) | void vkCmdSetConservativeRasterizationModeEXT( VkCommandBuffer ...
method vkCmdSetExtraPrimitiveOverestimationSizeEXT (line 5745) | void vkCmdSetExtraPrimitiveOverestimationSizeEXT( VkCommandBuffer comm...
method vkCmdSetDepthClipEnableEXT (line 5750) | void vkCmdSetDepthClipEnableEXT( VkCommandBuffer commandBuffer, VkBool...
method vkCmdSetSampleLocationsEnableEXT (line 5755) | void vkCmdSetSampleLocationsEnableEXT( VkCommandBuffer commandBuffer, ...
method vkCmdSetColorBlendAdvancedEXT (line 5760) | void vkCmdSetColorBlendAdvancedEXT( VkCommandBuffer co...
method vkCmdSetProvokingVertexModeEXT (line 5768) | void vkCmdSetProvokingVertexModeEXT( VkCommandBuffer commandBuffer, Vk...
method vkCmdSetLineRasterizationModeEXT (line 5773) | void vkCmdSetLineRasterizationModeEXT( VkCommandBuffer commandBuffer, ...
method vkCmdSetLineStippleEnableEXT (line 5778) | void vkCmdSetLineStippleEnableEXT( VkCommandBuffer commandBuffer, VkBo...
method vkCmdSetDepthClipNegativeOneToOneEXT (line 5783) | void vkCmdSetDepthClipNegativeOneToOneEXT( VkCommandBuffer commandBuff...
method vkCmdSetViewportWScalingEnableNV (line 5788) | void vkCmdSetViewportWScalingEnableNV( VkCommandBuffer commandBuffer, ...
method vkCmdSetViewportSwizzleNV (line 5793) | void vkCmdSetViewportSwizzleNV( VkCommandBuffer commandBuf...
method vkCmdSetCoverageToColorEnableNV (line 5801) | void vkCmdSetCoverageToColorEnableNV( VkCommandBuffer commandBuffer, V...
method vkCmdSetCoverageToColorLocationNV (line 5806) | void vkCmdSetCoverageToColorLocationNV( VkCommandBuffer commandBuffer,...
method vkCmdSetCoverageModulationModeNV (line 5811) | void vkCmdSetCoverageModulationModeNV( VkCommandBuffer commandBuffer, ...
method vkCmdSetCoverageModulationTableEnableNV (line 5816) | void vkCmdSetCoverageModulationTableEnableNV( VkCommandBuffer commandB...
method vkCmdSetCoverageModulationTableNV (line 5821) | void vkCmdSetCoverageModulationTableNV( VkCommandBuffer commandBuffer,
method vkCmdSetShadingRateImageEnableNV (line 5828) | void vkCmdSetShadingRateImageEnableNV( VkCommandBuffer commandBuffer, ...
method vkCmdSetRepresentativeFragmentTestEnableNV (line 5833) | void vkCmdSetRepresentativeFragmentTestEnableNV( VkCommandBuffer comma...
method vkCmdSetCoverageReductionModeNV (line 5838) | void vkCmdSetCoverageReductionModeNV( VkCommandBuffer commandBuffer, V...
method VkResult (line 5845) | VkResult vkCreateTensorARM( VkDevice device,
method vkDestroyTensorARM (line 5853) | void vkDestroyTensorARM( VkDevice device, VkTensorARM tensor, const Vk...
method VkResult (line 5858) | VkResult vkCreateTensorViewARM( VkDevice device,
method vkDestroyTensorViewARM (line 5866) | void vkDestroyTensorViewARM( VkDevice device, VkTensorViewARM tensorVi...
method vkGetTensorMemoryRequirementsARM (line 5871) | void vkGetTensorMemoryRequirementsARM( VkDevice ...
method VkResult (line 5878) | VkResult vkBindTensorMemoryARM( VkDevice device, uint32_t bindInfoCoun...
method vkGetDeviceTensorMemoryRequirementsARM (line 5883) | void vkGetDeviceTensorMemoryRequirementsARM( VkDevice ...
method vkCmdCopyTensorARM (line 5890) | void vkCmdCopyTensorARM( VkCommandBuffer commandBuffer, const VkCopyTe...
method vkGetPhysicalDeviceExternalTensorPropertiesARM (line 5895) | void vkGetPhysicalDeviceExternalTensorPropertiesARM( VkPhysicalDevice ...
method VkResult (line 5902) | VkResult
method VkResult (line 5908) | VkResult vkGetTensorViewOpaqueCaptureDescriptorDataARM( VkDevice ...
method vkGetShaderModuleIdentifierEXT (line 5917) | void vkGetShaderModuleIdentifierEXT( VkDevice device, VkShaderModule s...
method vkGetShaderModuleCreateInfoIdentifierEXT (line 5922) | void vkGetShaderModuleCreateInfoIdentifierEXT( VkDevice ...
method VkResult (line 5931) | VkResult vkGetPhysicalDeviceOpticalFlowImageFormatsNV( VkPhysicalDevic...
method VkResult (line 5939) | VkResult vkCreateOpticalFlowSessionNV( VkDevice ...
method vkDestroyOpticalFlowSessionNV (line 5947) | void vkDestroyOpticalFlowSessionNV( VkDevice device, VkOpticalFlowSess...
method VkResult (line 5952) | VkResult vkBindOpticalFlowSessionImageNV( VkDevice ...
method vkCmdOpticalFlowExecuteNV (line 5961) | void vkCmdOpticalFlowExecuteNV( VkCommandBuffer com...
method vkCmdBindIndexBuffer2KHR (line 5970) | void vkCmdBindIndexBuffer2KHR( VkCommandBuffer commandBuffer, VkBuffer...
method vkGetRenderingAreaGranularityKHR (line 5976) | void
method vkGetDeviceImageSubresourceLayoutKHR (line 5982) | void vkGetDeviceImageSubresourceLayoutKHR( VkDevice ...
method vkGetImageSubresourceLayout2KHR (line 5989) | void vkGetImageSubresourceLayout2KHR( VkDevice device,
method vkAntiLagUpdateAMD (line 5999) | void vkAntiLagUpdateAMD( VkDevice device, const VkAntiLagDataAMD * pDa...
method VkResult (line 6006) | VkResult vkWaitForPresent2KHR( VkDevice device, VkSwapchainKHR swapcha...
method VkResult (line 6013) | VkResult vkCreateShadersEXT( VkDevice device,
method vkDestroyShaderEXT (line 6022) | void vkDestroyShaderEXT( VkDevice device, VkShaderEXT shader, const Vk...
method VkResult (line 6027) | VkResult vkGetShaderBinaryDataEXT( VkDevice device, VkShaderEXT shader...
method vkCmdBindShadersEXT (line 6032) | void vkCmdBindShadersEXT( VkCommandBuffer commandBuffer,
method vkCmdSetDepthClampRangeEXT (line 6040) | void vkCmdSetDepthClampRangeEXT( VkCommandBuffer commandB...
method VkResult (line 6049) | VkResult vkCreatePipelineBinariesKHR( VkDevice ...
method vkDestroyPipelineBinaryKHR (line 6057) | void vkDestroyPipelineBinaryKHR( VkDevice device, VkPipelineBinaryKHR ...
method VkResult (line 6062) | VkResult vkGetPipelineKeyKHR( VkDevice device,
method VkResult (line 6069) | VkResult vkGetPipelineBinaryDataKHR( VkDevice ...
method VkResult (line 6078) | VkResult vkReleaseCapturedPipelineDataKHR( VkDevice ...
method VkResult (line 6087) | VkResult vkGetFramebufferTilePropertiesQCOM( VkDevice de...
method VkResult (line 6095) | VkResult vkGetDynamicRenderingTilePropertiesQCOM( VkDevice ...
method VkResult (line 6104) | VkResult vkReleaseSwapchainImagesKHR( VkDevice device, const VkRelease...
method VkResult (line 6111) | VkResult vkGetPhysicalDeviceCooperativeVectorPropertiesNV( VkPhysicalD...
method VkResult (line 6118) | VkResult vkConvertCooperativeVectorMatrixNV( VkDevice device, const Vk...
method vkCmdConvertCooperativeVectorMatrixNV (line 6123) | void vkCmdConvertCooperativeVectorMatrixNV( VkCommandBuffer ...
method VkResult (line 6132) | VkResult vkSetLatencySleepModeNV( VkDevice device, VkSwapchainKHR swap...
method VkResult (line 6137) | VkResult vkLatencySleepNV( VkDevice device, VkSwapchainKHR swapchain, ...
method vkSetLatencyMarkerNV (line 6142) | void vkSetLatencyMarkerNV( VkDevice device, VkSwapchainKHR swapchain, ...
method vkGetLatencyTimingsNV (line 6147) | void vkGetLatencyTimingsNV( VkDevice device, VkSwapchainKHR swapchain,...
method vkQueueNotifyOutOfBandNV (line 6152) | void vkQueueNotifyOutOfBandNV( VkQueue queue, const VkOutOfBandQueueTy...
method VkResult (line 6159) | VkResult vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( VkPhysical...
method VkResult (line 6168) | VkResult vkCreateDataGraphPipelinesARM( VkDevice ...
method VkResult (line 6179) | VkResult vkCreateDataGraphPipelineSessionARM( VkDevice ...
method VkResult (line 6187) | VkResult vkGetDataGraphPipelineSessionBindPointRequirementsARM( VkDevi...
method vkGetDataGraphPipelineSessionMemoryRequirementsARM (line 6196) | void vkGetDataGraphPipelineSessionMemoryRequirementsARM( VkDevice ...
method VkResult (line 6203) | VkResult vkBindDataGraphPipelineSessionMemoryARM( VkDevice ...
method vkDestroyDataGraphPipelineSessionARM (line 6210) | void vkDestroyDataGraphPipelineSessionARM( VkDevice ...
method vkCmdDispatchDataGraphARM (line 6217) | void vkCmdDispatchDataGraphARM( VkCommandBuffer ...
method VkResult (line 6224) | VkResult vkGetDataGraphPipelineAvailablePropertiesARM( VkDevice ...
method VkResult (line 6232) | VkResult vkGetDataGraphPipelinePropertiesARM( VkDevice ...
method VkResult (line 6240) | VkResult
method vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM (line 6250) | void vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEngineProperties...
method vkCmdSetAttachmentFeedbackLoopEnableEXT (line 6261) | void vkCmdSetAttachmentFeedbackLoopEnableEXT( VkCommandBuffer commandB...
method VkResult (line 6269) | VkResult vkGetScreenBufferPropertiesQNX( VkDevice ...
method vkCmdSetLineStippleKHR (line 6279) | void vkCmdSetLineStippleKHR( VkCommandBuffer commandBuffer, uint32_t l...
method VkResult (line 6286) | VkResult vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( VkPhysicalDev...
method VkResult (line 6293) | VkResult vkGetCalibratedTimestampsKHR( VkDevice ...
method vkCmdBindDescriptorSets2KHR (line 6304) | void vkCmdBindDescriptorSets2KHR( VkCommandBuffer commandBuffer, const...
method vkCmdPushConstants2KHR (line 6309) | void vkCmdPushConstants2KHR( VkCommandBuffer commandBuffer, const VkPu...
method vkCmdPushDescriptorSet2KHR (line 6314) | void vkCmdPushDescriptorSet2KHR( VkCommandBuffer commandBuffer, const ...
method vkCmdPushDescriptorSetWithTemplate2KHR (line 6319) | void vkCmdPushDescriptorSetWithTemplate2KHR( VkCommandBuffer ...
method vkCmdSetDescriptorBufferOffsets2EXT (line 6325) | void vkCmdSetDescriptorBufferOffsets2EXT( VkCommandBuffer ...
method vkCmdBindDescriptorBufferEmbeddedSamplers2EXT (line 6331) | void vkCmdBindDescriptorBufferEmbeddedSamplers2EXT(
method vkCmdBindTileMemoryQCOM (line 6340) | void vkCmdBindTileMemoryQCOM( VkCommandBuffer commandBuffer, const VkT...
method vkCmdCopyMemoryIndirectKHR (line 6347) | void vkCmdCopyMemoryIndirectKHR( VkCommandBuffer commandBuffer, const ...
method vkCmdCopyMemoryToImageIndirectKHR (line 6352) | void vkCmdCopyMemoryToImageIndirectKHR( VkCommandBuffer ...
method VkResult (line 6360) | VkResult vkCreateExternalComputeQueueNV( VkDevice ...
method vkDestroyExternalComputeQueueNV (line 6368) | void vkDestroyExternalComputeQueueNV( VkDevice de...
method vkGetExternalComputeQueueDataNV (line 6375) | void vkGetExternalComputeQueueDataNV( VkExternalComputeQueueNV ...
method vkGetClusterAccelerationStructureBuildSizesNV (line 6384) | void vkGetClusterAccelerationStructureBuildSizesNV( VkDevice ...
method vkCmdBuildClusterAccelerationStructureIndirectNV (line 6391) | void vkCmdBuildClusterAccelerationStructureIndirectNV( VkCommandBuffer...
method vkGetPartitionedAccelerationStructuresBuildSizesNV (line 6399) | void vkGetPartitionedAccelerationStructuresBuildSizesNV( VkDevice ...
method vkCmdBuildPartitionedAccelerationStructuresNV (line 6406) | void vkCmdBuildPartitionedAccelerationStructuresNV( VkCommandBuffer ...
method vkGetGeneratedCommandsMemoryRequirementsEXT (line 6414) | void vkGetGeneratedCommandsMemoryRequirementsEXT( VkDevice ...
method vkCmdPreprocessGeneratedCommandsEXT (line 6421) | void vkCmdPreprocessGeneratedCommandsEXT( VkCommandBuffer ...
method vkCmdExecuteGeneratedCommandsEXT (line 6428) | void vkCmdExecuteGeneratedCommandsEXT( VkCommandBuffer ...
method VkResult (line 6435) | VkResult vkCreateIndirectCommandsLayoutEXT( VkDevice ...
method vkDestroyIndirectCommandsLayoutEXT (line 6443) | void vkDestroyIndirectCommandsLayoutEXT( VkDevice ...
method VkResult (line 6450) | VkResult vkCreateIndirectExecutionSetEXT( VkDevice ...
method vkDestroyIndirectExecutionSetEXT (line 6458) | void vkDestroyIndirectExecutionSetEXT( VkDevice d...
method vkUpdateIndirectExecutionSetPipelineEXT (line 6465) | void vkUpdateIndirectExecutionSetPipelineEXT( VkDevice ...
method vkUpdateIndirectExecutionSetShaderEXT (line 6473) | void vkUpdateIndirectExecutionSetShaderEXT( VkDevice ...
method VkResult (line 6484) | VkResult vkCreateSurfaceOHOS( VkInstance instance,
method VkResult (line 6495) | VkResult vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropert...
method VkResult (line 6504) | VkResult
method VkResult (line 6510) | VkResult vkGetMemoryMetalHandlePropertiesEXT( VkDevice ...
method vkCmdEndRendering2EXT (line 6521) | void vkCmdEndRendering2EXT( VkCommandBuffer commandBuffer, const VkRen...
function DispatchLoaderStatic (line 6527) | inline DispatchLoaderStatic & getDispatchLoaderStatic()
method VkResult (line 1033) | VkResult
method vkDestroyInstance (line 1039) | void vkDestroyInstance( VkInstance instance, const VkAllocationCallbac...
method VkResult (line 1044) | VkResult vkEnumeratePhysicalDevices( VkInstance instance, uint32_t * p...
method vkGetPhysicalDeviceFeatures (line 1049) | void vkGetPhysicalDeviceFeatures( VkPhysicalDevice physicalDevice, VkP...
method vkGetPhysicalDeviceFormatProperties (line 1054) | void vkGetPhysicalDeviceFormatProperties( VkPhysicalDevice physica...
method VkResult (line 1061) | VkResult vkGetPhysicalDeviceImageFormatProperties( VkPhysicalDevice ...
method vkGetPhysicalDeviceProperties (line 1072) | void vkGetPhysicalDeviceProperties( VkPhysicalDevice physicalDevice, V...
method vkGetPhysicalDeviceQueueFamilyProperties (line 1077) | void vkGetPhysicalDeviceQueueFamilyProperties( VkPhysicalDevice ...
method vkGetPhysicalDeviceMemoryProperties (line 1084) | void vkGetPhysicalDeviceMemoryProperties( VkPhysicalDevice ...
method PFN_vkVoidFunction (line 1090) | PFN_vkVoidFunction vkGetInstanceProcAddr( VkInstance instance, const c...
method PFN_vkVoidFunction (line 1095) | PFN_vkVoidFunction vkGetDeviceProcAddr( VkDevice device, const char * ...
method VkResult (line 1100) | VkResult vkCreateDevice( VkPhysicalDevice physicalDevice,
method vkDestroyDevice (line 1108) | void vkDestroyDevice( VkDevice device, const VkAllocationCallbacks * p...
method VkResult (line 1113) | VkResult vkEnumerateInstanceExtensionProperties( const char * ...
method VkResult (line 1120) | VkResult vkEnumerateDeviceExtensionProperties( VkPhysicalDevice ...
method VkResult (line 1128) | VkResult vkEnumerateInstanceLayerProperties( uint32_t * pPropertyCount...
method VkResult (line 1133) | VkResult vkEnumerateDeviceLayerProperties( VkPhysicalDevice physica...
method vkGetDeviceQueue (line 1140) | void vkGetDeviceQueue( VkDevice device, uint32_t queueFamilyIndex, uin...
method VkResult (line 1145) | VkResult vkQueueSubmit( VkQueue queue, uint32_t submitCount, const VkS...
method VkResult (line 1150) | VkResult vkQueueWaitIdle( VkQueue queue ) const VULKAN_HPP_NOEXCEPT
method VkResult (line 1155) | VkResult vkDeviceWaitIdle( VkDevice device ) const VULKAN_HPP_NOEXCEPT
method VkResult (line 1160) | VkResult vkAllocateMemory( VkDevice device,
method vkFreeMemory (line 1168) | void vkFreeMemory( VkDevice device, VkDeviceMemory memory, const VkAll...
method VkResult (line 1173) | VkResult vkMapMemory( VkDevice device, VkDeviceMemory memory, VkDevice...
method vkUnmapMemory (line 1179) | void vkUnmapMemory( VkDevice device, VkDeviceMemory memory ) const VUL...
method VkResult (line 1184) | VkResult vkFlushMappedMemoryRanges( VkDevice device, uint32_t memoryRa...
method VkResult (line 1189) | VkResult vkInvalidateMappedMemoryRanges( VkDevice device, uint32_t mem...
method vkGetDeviceMemoryCommitment (line 1194) | void vkGetDeviceMemoryCommitment( VkDevice device, VkDeviceMemory memo...
method VkResult (line 1199) | VkResult vkBindBufferMemory( VkDevice device, VkBuffer buffer, VkDevic...
method VkResult (line 1204) | VkResult vkBindImageMemory( VkDevice device, VkImage image, VkDeviceMe...
method vkGetBufferMemoryRequirements (line 1209) | void vkGetBufferMemoryRequirements( VkDevice device, VkBuffer buffer, ...
method vkGetImageMemoryRequirements (line 1214) | void vkGetImageMemoryRequirements( VkDevice device, VkImage image, VkM...
method vkGetImageSparseMemoryRequirements (line 1219) | void vkGetImageSparseMemoryRequirements( VkDevice ...
method vkGetPhysicalDeviceSparseImageFormatProperties (line 1227) | void vkGetPhysicalDeviceSparseImageFormatProperties( VkPhysicalDevice ...
method VkResult (line 1239) | VkResult vkQueueBindSparse( VkQueue queue, uint32_t bindInfoCount, con...
method VkResult (line 1244) | VkResult vkCreateFence( VkDevice device,
method vkDestroyFence (line 1252) | void vkDestroyFence( VkDevice device, VkFence fence, const VkAllocatio...
method VkResult (line 1257) | VkResult vkResetFences( VkDevice device, uint32_t fenceCount, const Vk...
method VkResult (line 1262) | VkResult vkGetFenceStatus( VkDevice device, VkFence fence ) const VULK...
method VkResult (line 1267) | VkResult vkWaitForFences( VkDevice device, uint32_t fenceCount, const ...
method VkResult (line 1272) | VkResult vkCreateSemaphore( VkDevice device,
method vkDestroySemaphore (line 1280) | void vkDestroySemaphore( VkDevice device, VkSemaphore semaphore, const...
method VkResult (line 1285) | VkResult vkCreateEvent( VkDevice device,
method vkDestroyEvent (line 1293) | void vkDestroyEvent( VkDevice device, VkEvent event, const VkAllocatio...
method VkResult (line 1298) | VkResult vkGetEventStatus( VkDevice device, VkEvent event ) const VULK...
method VkResult (line 1303) | VkResult vkSetEvent( VkDevice device, VkEvent event ) const VULKAN_HPP...
method VkResult (line 1308) | VkResult vkResetEvent( VkDevice device, VkEvent event ) const VULKAN_H...
method VkResult (line 1313) | VkResult vkCreateQueryPool( VkDevice device,
method vkDestroyQueryPool (line 1321) | void vkDestroyQueryPool( VkDevice device, VkQueryPool queryPool, const...
method VkResult (line 1326) | VkResult vkGetQueryPoolResults( VkDevice device,
method VkResult (line 1338) | VkResult vkCreateBuffer( VkDevice device,
method vkDestroyBuffer (line 1346) | void vkDestroyBuffer( VkDevice device, VkBuffer buffer, const VkAlloca...
method VkResult (line 1351) | VkResult vkCreateBufferView( VkDevice device,
method vkDestroyBufferView (line 1359) | void vkDestroyBufferView( VkDevice device, VkBufferView bufferView, co...
method VkResult (line 1364) | VkResult vkCreateImage( VkDevice device,
method vkDestroyImage (line 1372) | void vkDestroyImage( VkDevice device, VkImage image, const VkAllocatio...
method vkGetImageSubresourceLayout (line 1377) | void vkGetImageSubresourceLayout( VkDevice device,
method VkResult (line 1385) | VkResult vkCreateImageView( VkDevice device,
method vkDestroyImageView (line 1393) | void vkDestroyImageView( VkDevice device, VkImageView imageView, const...
method VkResult (line 1398) | VkResult vkCreateShaderModule( VkDevice device,
method vkDestroyShaderModule (line 1406) | void vkDestroyShaderModule( VkDevice device, VkShaderModule shaderModu...
method VkResult (line 1411) | VkResult vkCreatePipelineCache( VkDevice device,
method vkDestroyPipelineCache (line 1419) | void vkDestroyPipelineCache( VkDevice device, VkPipelineCache pipeline...
method VkResult (line 1424) | VkResult vkGetPipelineCacheData( VkDevice device, VkPipelineCache pipe...
method VkResult (line 1429) | VkResult
method VkResult (line 1435) | VkResult vkCreateGraphicsPipelines( VkDevice ...
method VkResult (line 1445) | VkResult vkCreateComputePipelines( VkDevice ...
method vkDestroyPipeline (line 1455) | void vkDestroyPipeline( VkDevice device, VkPipeline pipeline, const Vk...
method VkResult (line 1460) | VkResult vkCreatePipelineLayout( VkDevice de...
method vkDestroyPipelineLayout (line 1468) | void vkDestroyPipelineLayout( VkDevice device, VkPipelineLayout pipeli...
method VkResult (line 1473) | VkResult vkCreateSampler( VkDevice device,
method vkDestroySampler (line 1481) | void vkDestroySampler( VkDevice device, VkSampler sampler, const VkAll...
method VkResult (line 1486) | VkResult vkCreateDescriptorSetLayout( VkDevice ...
method vkDestroyDescriptorSetLayout (line 1494) | void vkDestroyDescriptorSetLayout( VkDevice device,
method VkResult (line 1501) | VkResult vkCreateDescriptorPool( VkDevice de...
method vkDestroyDescriptorPool (line 1509) | void vkDestroyDescriptorPool( VkDevice device, VkDescriptorPool descri...
method VkResult (line 1514) | VkResult vkResetDescriptorPool( VkDevice device, VkDescriptorPool desc...
method VkResult (line 1519) | VkResult vkAllocateDescriptorSets( VkDevice ...
method VkResult (line 1526) | VkResult vkFreeDescriptorSets( VkDevice device,
method vkUpdateDescriptorSets (line 1534) | void vkUpdateDescriptorSets( VkDevice device,
method VkResult (line 1543) | VkResult vkCreateFramebuffer( VkDevice device,
method vkDestroyFramebuffer (line 1551) | void vkDestroyFramebuffer( VkDevice device, VkFramebuffer framebuffer,...
method VkResult (line 1556) | VkResult vkCreateRenderPass( VkDevice device,
method vkDestroyRenderPass (line 1564) | void vkDestroyRenderPass( VkDevice device, VkRenderPass renderPass, co...
method vkGetRenderAreaGranularity (line 1569) | void vkGetRenderAreaGranularity( VkDevice device, VkRenderPass renderP...
method VkResult (line 1574) | VkResult vkCreateCommandPool( VkDevice device,
method vkDestroyCommandPool (line 1582) | void vkDestroyCommandPool( VkDevice device, VkCommandPool commandPool,...
method VkResult (line 1587) | VkResult vkResetCommandPool( VkDevice device, VkCommandPool commandPoo...
method VkResult (line 1592) | VkResult vkAllocateCommandBuffers( VkDevice ...
method vkFreeCommandBuffers (line 1599) | void vkFreeCommandBuffers( VkDevice device,
method VkResult (line 1607) | VkResult vkBeginCommandBuffer( VkCommandBuffer commandBuffer, const Vk...
method VkResult (line 1612) | VkResult vkEndCommandBuffer( VkCommandBuffer commandBuffer ) const VUL...
method VkResult (line 1617) | VkResult vkResetCommandBuffer( VkCommandBuffer commandBuffer, VkComman...
method vkCmdBindPipeline (line 1622) | void vkCmdBindPipeline( VkCommandBuffer commandBuffer, VkPipelineBindP...
method vkCmdSetViewport (line 1627) | void vkCmdSetViewport( VkCommandBuffer commandBuffer,
method vkCmdSetScissor (line 1635) | void vkCmdSetScissor( VkCommandBuffer commandBuffer, uint32_t firstSci...
method vkCmdSetLineWidth (line 1640) | void vkCmdSetLineWidth( VkCommandBuffer commandBuffer, float lineWidth...
method vkCmdSetDepthBias (line 1645) | void vkCmdSetDepthBias( VkCommandBuffer commandBuffer,
method vkCmdSetBlendConstants (line 1653) | void vkCmdSetBlendConstants( VkCommandBuffer commandBuffer, const floa...
method vkCmdSetDepthBounds (line 1658) | void vkCmdSetDepthBounds( VkCommandBuffer commandBuffer, float minDept...
method vkCmdSetStencilCompareMask (line 1663) | void vkCmdSetStencilCompareMask( VkCommandBuffer commandBuffer, VkSten...
method vkCmdSetStencilWriteMask (line 1668) | void vkCmdSetStencilWriteMask( VkCommandBuffer commandBuffer, VkStenci...
method vkCmdSetStencilReference (line 1673) | void vkCmdSetStencilReference( VkCommandBuffer commandBuffer, VkStenci...
method vkCmdBindDescriptorSets (line 1678) | void vkCmdBindDescriptorSets( VkCommandBuffer commandBuffer,
method vkCmdBindIndexBuffer (line 1691) | void vkCmdBindIndexBuffer( VkCommandBuffer commandBuffer, VkBuffer buf...
method vkCmdBindVertexBuffers (line 1696) | void vkCmdBindVertexBuffers( VkCommandBuffer commandBuffer,
method vkCmdDraw (line 1705) | void vkCmdDraw( VkCommandBuffer commandBuffer, uint32_t vertexCount, u...
method vkCmdDrawIndexed (line 1711) | void vkCmdDrawIndexed( VkCommandBuffer commandBuffer,
method vkCmdDrawIndirect (line 1721) | void
method vkCmdDrawIndexedIndirect (line 1727) | void vkCmdDrawIndexedIndirect( VkCommandBuffer commandBuffer, VkBuffer...
method vkCmdDispatch (line 1733) | void vkCmdDispatch( VkCommandBuffer commandBuffer, uint32_t groupCount...
method vkCmdDispatchIndirect (line 1738) | void vkCmdDispatchIndirect( VkCommandBuffer commandBuffer, VkBuffer bu...
method vkCmdCopyBuffer (line 1743) | void vkCmdCopyBuffer( VkCommandBuffer commandBuffer, VkBuffer srcBuffe...
method vkCmdCopyImage (line 1749) | void vkCmdCopyImage( VkCommandBuffer commandBuffer,
method vkCmdBlitImage (line 1760) | void vkCmdBlitImage( VkCommandBuffer commandBuffer,
method vkCmdCopyBufferToImage (line 1772) | void vkCmdCopyBufferToImage( VkCommandBuffer commandBuffer,
method vkCmdCopyImageToBuffer (line 1782) | void vkCmdCopyImageToBuffer( VkCommandBuffer commandBuffer,
method vkCmdUpdateBuffer (line 1792) | void vkCmdUpdateBuffer( VkCommandBuffer commandBuffer, VkBuffer dstBuf...
method vkCmdFillBuffer (line 1798) | void
method vkCmdClearColorImage (line 1804) | void vkCmdClearColorImage( VkCommandBuffer commandBuffer,
method vkCmdClearDepthStencilImage (line 1814) | void vkCmdClearDepthStencilImage( VkCommandBuffer com...
method vkCmdClearAttachments (line 1824) | void vkCmdClearAttachments( VkCommandBuffer commandBuffer,
method vkCmdResolveImage (line 1833) | void vkCmdResolveImage( VkCommandBuffer commandBuffer,
method vkCmdSetEvent (line 1844) | void vkCmdSetEvent( VkCommandBuffer commandBuffer, VkEvent event, VkPi...
method vkCmdResetEvent (line 1849) | void vkCmdResetEvent( VkCommandBuffer commandBuffer, VkEvent event, Vk...
method vkCmdWaitEvents (line 1854) | void vkCmdWaitEvents( VkCommandBuffer commandBuffer,
method vkCmdPipelineBarrier (line 1879) | void vkCmdPipelineBarrier( VkCommandBuffer commandBuffer,
method vkCmdBeginQuery (line 1902) | void vkCmdBeginQuery( VkCommandBuffer commandBuffer, VkQueryPool query...
method vkCmdEndQuery (line 1907) | void vkCmdEndQuery( VkCommandBuffer commandBuffer, VkQueryPool queryPo...
method vkCmdResetQueryPool (line 1912) | void vkCmdResetQueryPool( VkCommandBuffer commandBuffer, VkQueryPool q...
method vkCmdWriteTimestamp (line 1917) | void vkCmdWriteTimestamp( VkCommandBuffer commandBuffer,
method vkCmdCopyQueryPoolResults (line 1925) | void vkCmdCopyQueryPoolResults( VkCommandBuffer commandBuffer,
method vkCmdPushConstants (line 1937) | void vkCmdPushConstants( VkCommandBuffer commandBuffer,
method vkCmdBeginRenderPass (line 1947) | void vkCmdBeginRenderPass( VkCommandBuffer commandBuffer,
method vkCmdNextSubpass (line 1954) | void vkCmdNextSubpass( VkCommandBuffer commandBuffer, VkSubpassContent...
method vkCmdEndRenderPass (line 1959) | void vkCmdEndRenderPass( VkCommandBuffer commandBuffer ) const VULKAN_...
method vkCmdExecuteCommands (line 1964) | void vkCmdExecuteCommands( VkCommandBuffer commandBuffer, uint32_t com...
method VkResult (line 1971) | VkResult vkEnumerateInstanceVersion( uint32_t * pApiVersion ) const VU...
method VkResult (line 1976) | VkResult vkBindBufferMemory2( VkDevice device, uint32_t bindInfoCount,...
method VkResult (line 1981) | VkResult vkBindImageMemory2( VkDevice device, uint32_t bindInfoCount, ...
method vkGetDeviceGroupPeerMemoryFeatures (line 1986) | void vkGetDeviceGroupPeerMemoryFeatures( VkDevice de...
method vkCmdSetDeviceMask (line 1995) | void vkCmdSetDeviceMask( VkCommandBuffer commandBuffer, uint32_t devic...
method vkCmdDispatchBase (line 2000) | void vkCmdDispatchBase( VkCommandBuffer commandBuffer,
method VkResult (line 2011) | VkResult vkEnumeratePhysicalDeviceGroups( VkInstance ...
method vkGetImageMemoryRequirements2 (line 2018) | void vkGetImageMemoryRequirements2( VkDevice ...
method vkGetBufferMemoryRequirements2 (line 2025) | void vkGetBufferMemoryRequirements2( VkDevice ...
method vkGetImageSparseMemoryRequirements2 (line 2032) | void vkGetImageSparseMemoryRequirements2( VkDevice ...
method vkGetPhysicalDeviceFeatures2 (line 2040) | void vkGetPhysicalDeviceFeatures2( VkPhysicalDevice physicalDevice, Vk...
method vkGetPhysicalDeviceProperties2 (line 2045) | void vkGetPhysicalDeviceProperties2( VkPhysicalDevice physicalDevice, ...
method vkGetPhysicalDeviceFormatProperties2 (line 2050) | void vkGetPhysicalDeviceFormatProperties2( VkPhysicalDevice physi...
method VkResult (line 2057) | VkResult vkGetPhysicalDeviceImageFormatProperties2( VkPhysicalDevice ...
method vkGetPhysicalDeviceQueueFamilyProperties2 (line 2064) | void vkGetPhysicalDeviceQueueFamilyProperties2( VkPhysicalDevice ...
method vkGetPhysicalDeviceMemoryProperties2 (line 2071) | void vkGetPhysicalDeviceMemoryProperties2( VkPhysicalDevice ...
method vkGetPhysicalDeviceSparseImageFormatProperties2 (line 2077) | void vkGetPhysicalDeviceSparseImageFormatProperties2( VkPhysicalDevice...
method vkTrimCommandPool (line 2085) | void vkTrimCommandPool( VkDevice device, VkCommandPool commandPool, Vk...
method vkGetDeviceQueue2 (line 2090) | void vkGetDeviceQueue2( VkDevice device, const VkDeviceQueueInfo2 * pQ...
method VkResult (line 2095) | VkResult vkCreateSamplerYcbcrConversion( VkDevice ...
method vkDestroySamplerYcbcrConversion (line 2103) | void vkDestroySamplerYcbcrConversion( VkDevice de...
method VkResult (line 2110) | VkResult vkCreateDescriptorUpdateTemplate( VkDevice ...
method vkDestroyDescriptorUpdateTemplate (line 2118) | void vkDestroyDescriptorUpdateTemplate( VkDevice ...
method vkUpdateDescriptorSetWithTemplate (line 2125) | void vkUpdateDescriptorSetWithTemplate( VkDevice dev...
method vkGetPhysicalDeviceExternalBufferProperties (line 2133) | void vkGetPhysicalDeviceExternalBufferProperties( VkPhysicalDevice ...
method vkGetPhysicalDeviceExternalFenceProperties (line 2140) | void vkGetPhysicalDeviceExternalFenceProperties( VkPhysicalDevice ...
method vkGetPhysicalDeviceExternalSemaphoreProperties (line 2147) | void vkGetPhysicalDeviceExternalSemaphoreProperties( VkPhysicalDevice ...
method vkGetDescriptorSetLayoutSupport (line 2154) | void vkGetDescriptorSetLayoutSupport( VkDevice ...
method vkCmdDrawIndirectCount (line 2163) | void vkCmdDrawIndirectCount( VkCommandBuffer commandBuffer,
method vkCmdDrawIndexedIndirectCount (line 2174) | void vkCmdDrawIndexedIndirectCount( VkCommandBuffer commandBuffer,
method VkResult (line 2185) | VkResult vkCreateRenderPass2( VkDevice device,
method vkCmdBeginRenderPass2 (line 2193) | void vkCmdBeginRenderPass2( VkCommandBuffer commandBuffer,
method vkCmdNextSubpass2 (line 2200) | void vkCmdNextSubpass2( VkCommandBuffer commandBuffer,
method vkCmdEndRenderPass2 (line 2207) | void vkCmdEndRenderPass2( VkCommandBuffer commandBuffer, const VkSubpa...
method vkResetQueryPool (line 2212) | void vkResetQueryPool( VkDevice device, VkQueryPool queryPool, uint32_...
method VkResult (line 2217) | VkResult vkGetSemaphoreCounterValue( VkDevice device, VkSemaphore sema...
method VkResult (line 2222) | VkResult vkWaitSemaphores( VkDevice device, const VkSemaphoreWaitInfo ...
method VkResult (line 2227) | VkResult vkSignalSemaphore( VkDevice device, const VkSemaphoreSignalIn...
method VkDeviceAddress (line 2232) | VkDeviceAddress vkGetBufferDeviceAddress( VkDevice device, const VkBuf...
method vkGetBufferOpaqueCaptureAddress (line 2237) | uint64_t vkGetBufferOpaqueCaptureAddress( VkDevice device, const VkBuf...
method vkGetDeviceMemoryOpaqueCaptureAddress (line 2242) | uint64_t vkGetDeviceMemoryOpaqueCaptureAddress( VkDevice device, const...
method VkResult (line 2249) | VkResult vkGetPhysicalDeviceToolProperties( VkPhysicalDevice ...
method VkResult (line 2256) | VkResult vkCreatePrivateDataSlot( VkDevice ...
method vkDestroyPrivateDataSlot (line 2264) | void vkDestroyPrivateDataSlot( VkDevice device, VkPrivateDataSlot priv...
method VkResult (line 2269) | VkResult vkSetPrivateData( VkDevice device, VkObjectType objectType, u...
method vkGetPrivateData (line 2275) | void vkGetPrivateData( VkDevice device, VkObjectType objectType, uint6...
method vkCmdSetEvent2 (line 2281) | void vkCmdSetEvent2( VkCommandBuffer commandBuffer, VkEvent event, con...
method vkCmdResetEvent2 (line 2286) | void vkCmdResetEvent2( VkCommandBuffer commandBuffer, VkEvent event, V...
method vkCmdWaitEvents2 (line 2291) | void vkCmdWaitEvents2( VkCommandBuffer commandBuffer,
method vkCmdPipelineBarrier2 (line 2299) | void vkCmdPipelineBarrier2( VkCommandBuffer commandBuffer, const VkDep...
method vkCmdWriteTimestamp2 (line 2304) | void vkCmdWriteTimestamp2( VkCommandBuffer commandBuffer, VkPipelineSt...
method VkResult (line 2309) | VkResult vkQueueSubmit2( VkQueue queue, uint32_t submitCount, const Vk...
method vkCmdCopyBuffer2 (line 2314) | void vkCmdCopyBuffer2( VkCommandBuffer commandBuffer, const VkCopyBuff...
method vkCmdCopyImage2 (line 2319) | void vkCmdCopyImage2( VkCommandBuffer commandBuffer, const VkCopyImage...
method vkCmdCopyBufferToImage2 (line 2324) | void vkCmdCopyBufferToImage2( VkCommandBuffer commandBuffer, const VkC...
method vkCmdCopyImageToBuffer2 (line 2329) | void vkCmdCopyImageTo
Copy disabled (too large)
Download .json
Condensed preview — 222 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (33,770K chars).
[
{
"path": ".github/workflows/python-package.yml",
"chars": 1550,
"preview": "name: build\r\n\r\non:\r\n push:\r\n branches: [ main ]\r\n pull_request:\r\n branches: [ main ]\r\n\r\njobs:\r\n build:\r\n run"
},
{
"path": ".gitignore",
"chars": 354,
"preview": ".idea/\n*.pyc\n__pycache__/\nbuild_cmake/\nbuild_cmake2/\nbuild_android/\nbuild_android2/\n/build\n/dist\n/src/pyopenxr.egg-info\n"
},
{
"path": "CMakeLists.txt",
"chars": 2633,
"preview": "cmake_minimum_required(VERSION 3.10)\nproject(PyOpenXr LANGUAGES CXX)\n\n# Keep extraneous variables out of the cmake inter"
},
{
"path": "LICENSE",
"chars": 320,
"preview": "# pyopenxr — Apache 2.0 Licensed\n# Copyright 2021 Christopher Bruns\n\nCopyright 2021 Christopher Bruns\n\nLicensed under th"
},
{
"path": "README.md",
"chars": 2649,
"preview": "# pyopenxr\n### Unofficial Python bindings for the [OpenXR SDK](https://github.com/KhronosGroup/OpenXR-SDK) to access VR "
},
{
"path": "docs/.nojekyll",
"chars": 0,
"preview": ""
},
{
"path": "docs/_static/_sphinx_javascript_frameworks_compat.js",
"chars": 4289,
"preview": "/* Compatability shim for jQuery and underscores.js.\n *\n * Copyright Sphinx contributors\n * Released under the two claus"
},
{
"path": "docs/_static/basic.css",
"chars": 16018,
"preview": "/*\r\n * basic.css\r\n * ~~~~~~~~~\r\n *\r\n * Sphinx stylesheet -- basic theme.\r\n *\r\n * :copyright: Copyright 2007-2024 by the "
},
{
"path": "docs/_static/css/badge_only.css",
"chars": 3329,
"preview": ".clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:\"\"}.clearfix:after{clear:both}@font-face{font-f"
},
{
"path": "docs/_static/css/theme.css",
"chars": 135910,
"preview": "html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}article,aside,details,figcaption,figure,footer,header,hgr"
},
{
"path": "docs/_static/doctools.js",
"chars": 4472,
"preview": "/*\n * doctools.js\n * ~~~~~~~~~~~\n *\n * Base JavaScript utilities for all Sphinx HTML documentation.\n *\n * :copyright: Co"
},
{
"path": "docs/_static/documentation_options.js",
"chars": 343,
"preview": "const DOCUMENTATION_OPTIONS = {\r\n VERSION: '1.0.2404',\r\n LANGUAGE: 'en',\r\n COLLAPSE_INDEX: false,\r\n BUILDER:"
},
{
"path": "docs/_static/jquery-3.5.1.js",
"chars": 287630,
"preview": "/*!\n * jQuery JavaScript Library v3.5.1\n * https://jquery.com/\n *\n * Includes Sizzle.js\n * https://sizzlejs.com/\n *\n * C"
},
{
"path": "docs/_static/jquery.js",
"chars": 89501,
"preview": "/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */\n!function(e,t){\"use strict\";\"ob"
},
{
"path": "docs/_static/js/badge_only.js",
"chars": 934,
"preview": "!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.expo"
},
{
"path": "docs/_static/js/theme.js",
"chars": 5023,
"preview": "!function(n){var e={};function t(i){if(e[i])return e[i].exports;var o=e[i]={i:i,l:!1,exports:{}};return n[i].call(o.expo"
},
{
"path": "docs/_static/js/versions.js",
"chars": 7205,
"preview": "const themeFlyoutDisplay = \"hidden\";\r\nconst themeVersionSelector = true;\r\nconst themeLanguageSelector = true;\r\n\r\nif (the"
},
{
"path": "docs/_static/language_data.js",
"chars": 4957,
"preview": "/*\r\n * language_data.js\r\n * ~~~~~~~~~~~~~~~~\r\n *\r\n * This script contains the language-specific data used by searchtools"
},
{
"path": "docs/_static/pygments.css",
"chars": 4922,
"preview": "pre { line-height: 125%; }\r\ntd.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; paddi"
},
{
"path": "docs/_static/searchtools.js",
"chars": 20842,
"preview": "/*\n * searchtools.js\n * ~~~~~~~~~~~~~~~~\n *\n * Sphinx JavaScript utilities for the full-text search.\n *\n * :copyright: C"
},
{
"path": "docs/_static/sphinx_highlight.js",
"chars": 5123,
"preview": "/* Highlighting utilities for Sphinx HTML documentation. */\n\"use strict\";\n\nconst SPHINX_HIGHLIGHT_ENABLED = true\n\n/**\n *"
},
{
"path": "docs/_static/underscore-1.13.1.js",
"chars": 68408,
"preview": "(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory("
},
{
"path": "docs/_static/underscore.js",
"chars": 19530,
"preview": "!function(n,r){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=r():\"function\"==typeof define&&define"
},
{
"path": "docs/genindex.html",
"chars": 899659,
"preview": "\r\n\r\n<!DOCTYPE html>\r\n<html class=\"writer-html5\" lang=\"en\" data-content_root=\"./\">\r\n<head>\r\n <meta charset=\"utf-8\" />\r\n "
},
{
"path": "docs/index.html",
"chars": 6545,
"preview": "\r\n\r\n<!DOCTYPE html>\r\n<html class=\"writer-html5\" lang=\"en\" data-content_root=\"./\">\r\n<head>\r\n <meta charset=\"utf-8\" /><me"
},
{
"path": "docs/install.html",
"chars": 5468,
"preview": "\r\n\r\n<!DOCTYPE html>\r\n<html class=\"writer-html5\" lang=\"en\" data-content_root=\"./\">\r\n<head>\r\n <meta charset=\"utf-8\" /><me"
},
{
"path": "docs/py-modindex.html",
"chars": 6265,
"preview": "\r\n\r\n<!DOCTYPE html>\r\n<html class=\"writer-html5\" lang=\"en\" data-content_root=\"./\">\r\n<head>\r\n <meta charset=\"utf-8\" />\r\n "
},
{
"path": "docs/search.html",
"chars": 4265,
"preview": "\r\n\r\n<!DOCTYPE html>\r\n<html class=\"writer-html5\" lang=\"en\" data-content_root=\"./\">\r\n<head>\r\n <meta charset=\"utf-8\" />\r\n "
},
{
"path": "docs/searchindex.js",
"chars": 1187485,
"preview": "Search.setIndex({\"alltitles\": {\"Contents\": [[0, \"contents\"], [6, \"module-xr.utils\"]], \"Getting Started with pyopenxr: VR"
},
{
"path": "docs/support.html",
"chars": 5042,
"preview": "\r\n\r\n<!DOCTYPE html>\r\n<html class=\"writer-html5\" lang=\"en\" data-content_root=\"./\">\r\n<head>\r\n <meta charset=\"utf-8\" /><me"
},
{
"path": "docs/xr.api_layer.html",
"chars": 459817,
"preview": "\r\n\r\n<!DOCTYPE html>\r\n<html class=\"writer-html5\" lang=\"en\" data-content_root=\"./\">\r\n<head>\r\n <meta charset=\"utf-8\" /><me"
},
{
"path": "docs/xr.ext.html",
"chars": 324621,
"preview": "\r\n\r\n<!DOCTYPE html>\r\n<html class=\"writer-html5\" lang=\"en\" data-content_root=\"./\">\r\n<head>\r\n <meta charset=\"utf-8\" /><me"
},
{
"path": "docs/xr.html",
"chars": 6213670,
"preview": "\r\n\r\n<!DOCTYPE html>\r\n<html class=\"writer-html5\" lang=\"en\" data-content_root=\"./\">\r\n<head>\r\n <meta charset=\"utf-8\" /><me"
},
{
"path": "docs/xr.utils.html",
"chars": 386509,
"preview": "\r\n\r\n<!DOCTYPE html>\r\n<html class=\"writer-html5\" lang=\"en\" data-content_root=\"./\">\r\n<head>\r\n <meta charset=\"utf-8\" /><me"
},
{
"path": "examples/README.md",
"chars": 76,
"preview": "Example programs are located at https://github.com/cmbruns/pyopenxr_examples"
},
{
"path": "pyproject.toml",
"chars": 2064,
"preview": "[build-system]\r\nrequires = [\"setuptools>=42\", \"wheel\"]\r\nbuild-backend = \"setuptools.build_meta\"\r\n\r\n[project]\r\nname = \"py"
},
{
"path": "requirements-dev.txt",
"chars": 276,
"preview": "#\r\n# This file is autogenerated by pip-compile with Python 3.9\r\n# by the following command:\r\n#\r\n# pip-compile --extra"
},
{
"path": "requirements.txt",
"chars": 327,
"preview": "#\r\n# This file is autogenerated by pip-compile with Python 3.9\r\n# by the following command:\r\n#\r\n# pip-compile --outpu"
},
{
"path": "src/docs/.nojekyll",
"chars": 0,
"preview": ""
},
{
"path": "src/docs/_static/_sphinx_javascript_frameworks_compat.js",
"chars": 4289,
"preview": "/* Compatability shim for jQuery and underscores.js.\n *\n * Copyright Sphinx contributors\n * Released under the two claus"
},
{
"path": "src/docs/_static/basic.css",
"chars": 16018,
"preview": "/*\r\n * basic.css\r\n * ~~~~~~~~~\r\n *\r\n * Sphinx stylesheet -- basic theme.\r\n *\r\n * :copyright: Copyright 2007-2024 by the "
},
{
"path": "src/docs/_static/css/badge_only.css",
"chars": 3329,
"preview": ".clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:\"\"}.clearfix:after{clear:both}@font-face{font-f"
},
{
"path": "src/docs/_static/css/theme.css",
"chars": 135910,
"preview": "html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}article,aside,details,figcaption,figure,footer,header,hgr"
},
{
"path": "src/docs/_static/doctools.js",
"chars": 4472,
"preview": "/*\n * doctools.js\n * ~~~~~~~~~~~\n *\n * Base JavaScript utilities for all Sphinx HTML documentation.\n *\n * :copyright: Co"
},
{
"path": "src/docs/_static/documentation_options.js",
"chars": 343,
"preview": "const DOCUMENTATION_OPTIONS = {\r\n VERSION: '1.0.2404',\r\n LANGUAGE: 'en',\r\n COLLAPSE_INDEX: false,\r\n BUILDER:"
},
{
"path": "src/docs/_static/jquery-3.5.1.js",
"chars": 287630,
"preview": "/*!\n * jQuery JavaScript Library v3.5.1\n * https://jquery.com/\n *\n * Includes Sizzle.js\n * https://sizzlejs.com/\n *\n * C"
},
{
"path": "src/docs/_static/jquery.js",
"chars": 89501,
"preview": "/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */\n!function(e,t){\"use strict\";\"ob"
},
{
"path": "src/docs/_static/js/badge_only.js",
"chars": 934,
"preview": "!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.expo"
},
{
"path": "src/docs/_static/js/theme.js",
"chars": 5023,
"preview": "!function(n){var e={};function t(i){if(e[i])return e[i].exports;var o=e[i]={i:i,l:!1,exports:{}};return n[i].call(o.expo"
},
{
"path": "src/docs/_static/js/versions.js",
"chars": 7205,
"preview": "const themeFlyoutDisplay = \"hidden\";\r\nconst themeVersionSelector = true;\r\nconst themeLanguageSelector = true;\r\n\r\nif (the"
},
{
"path": "src/docs/_static/language_data.js",
"chars": 4957,
"preview": "/*\r\n * language_data.js\r\n * ~~~~~~~~~~~~~~~~\r\n *\r\n * This script contains the language-specific data used by searchtools"
},
{
"path": "src/docs/_static/pygments.css",
"chars": 4922,
"preview": "pre { line-height: 125%; }\r\ntd.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; paddi"
},
{
"path": "src/docs/_static/searchtools.js",
"chars": 20842,
"preview": "/*\n * searchtools.js\n * ~~~~~~~~~~~~~~~~\n *\n * Sphinx JavaScript utilities for the full-text search.\n *\n * :copyright: C"
},
{
"path": "src/docs/_static/sphinx_highlight.js",
"chars": 5123,
"preview": "/* Highlighting utilities for Sphinx HTML documentation. */\n\"use strict\";\n\nconst SPHINX_HIGHLIGHT_ENABLED = true\n\n/**\n *"
},
{
"path": "src/docs/_static/underscore-1.13.1.js",
"chars": 68408,
"preview": "(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory("
},
{
"path": "src/docs/_static/underscore.js",
"chars": 19530,
"preview": "!function(n,r){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=r():\"function\"==typeof define&&define"
},
{
"path": "src/docs/conf.py",
"chars": 2116,
"preview": "# Configuration file for the Sphinx documentation builder.\r\n#\r\n# This file only contains a selection of the most common "
},
{
"path": "src/docs/index.rst",
"chars": 1086,
"preview": "Getting Started with pyopenxr: VR in Python, Made Simple\r\n========================================================\r\n\r\n**"
},
{
"path": "src/docs/install.rst",
"chars": 229,
"preview": "Installation\n============\n\nAt the command line:\n\n ``pip install pyopenxr``\n\n\nPrerequisites\n-------------\n\n- Python 3.6 "
},
{
"path": "src/docs/support.rst",
"chars": 237,
"preview": "Support\n============\n\nThe easiest way to get help is to post a question on the\npyopenxr discussions\nat https://github.co"
},
{
"path": "src/docs/xr.api_layer.rst",
"chars": 1257,
"preview": "xr.api\\_layer package\r\n=====================\r\n\r\nSubpackages\r\n-----------\r\n\r\n.. toctree::\r\n :maxdepth: 4\r\n\r\nSubmodules\r"
},
{
"path": "src/docs/xr.ext.rst",
"chars": 157,
"preview": "xr.ext package\r\n====================\r\n\r\nModule contents\r\n---------------\r\n\r\n.. automodule:: xr.ext\r\n :members:\r\n :un"
},
{
"path": "src/docs/xr.rst",
"chars": 485,
"preview": "xr — Python Bindings for OpenXR\r\n===============================\r\n\r\nPythonic access to the core OpenXR API.\r\nMost of the"
},
{
"path": "src/docs/xr.utils.rst",
"chars": 852,
"preview": "xr.utils\n========\n\nHigh-level utilities and abstractions for OpenXR integration.\n\nThe ``xr.utils`` module provides ergon"
},
{
"path": "src/generate/CMakeLists.txt",
"chars": 13481,
"preview": "message(STATUS \"This Configure step creates updated version bindings for pyopenxr\")\r\n\r\noption(PYOPENXR_OVERWRITE_CURRENT"
},
{
"path": "src/generate/generate_android_platform.py",
"chars": 2644,
"preview": "# This script creates an updated version of xr/platform/android.py\n\nimport inspect\n\nimport xrg\n\n\ndef main():\n compile"
},
{
"path": "src/generate/generate_constants.py",
"chars": 357,
"preview": "# This script creates an updated version of xr/constants.py\n\nfrom clang.cindex import CursorKind\nimport xrg\n\n\ndef main()"
},
{
"path": "src/generate/generate_docstrings.py",
"chars": 2045,
"preview": "from html.parser import HTMLParser\nimport re\n\n\nclass OpenXrDocstringParser(HTMLParser):\n def __init__(self, function_"
},
{
"path": "src/generate/generate_enums.py",
"chars": 2161,
"preview": "# This script creates an updated version of xr/enums.py\nimport inspect\n\nfrom clang.cindex import CursorKind\n\nimport xrg\n"
},
{
"path": "src/generate/generate_exceptions.py",
"chars": 5534,
"preview": "# This script creates an updated version of xr/exception.py\n\nimport inspect\nimport re\n\nfrom clang.cindex import CursorKi"
},
{
"path": "src/generate/generate_extensions3.py",
"chars": 17080,
"preview": "# TODO: support 2-call idiom\n\nimport inspect\nimport os\nfrom pathlib import Path\nimport textwrap\nfrom typing import Optio"
},
{
"path": "src/generate/generate_functions.py",
"chars": 1079,
"preview": "\"\"\"\nFile: generate_functions.py\nCode generator script creates an updated version of xr/functions.py.\n\"\"\"\n\nimport inspect"
},
{
"path": "src/generate/generate_linux_platform.py",
"chars": 3303,
"preview": "# This script creates an updated version of xr/platform/linux.py\n\nimport inspect\n\nimport xrg\n\n\ndef main():\n compiler_"
},
{
"path": "src/generate/generate_raw_functions.py",
"chars": 1186,
"preview": "\"\"\"\nFile: generate_raw_functions.py\nCode generator script creates an updated version of xr/raw_functions.py.\n\"\"\"\n\nimport"
},
{
"path": "src/generate/generate_typedefs.py",
"chars": 954,
"preview": "# This script creates an updated version of xr/typedefs.py\n\nimport inspect\nfrom clang.cindex import CursorKind\nimport xr"
},
{
"path": "src/generate/generate_version.py",
"chars": 4531,
"preview": "# This script creates an updated version of xr/version.py\n\nimport re\nimport inspect\nimport xrg\n\n# These variables are fi"
},
{
"path": "src/generate/generate_windows_platform.py",
"chars": 3283,
"preview": "# This script creates an updated version of xr/platform/windows.py\n\nimport inspect\n\nimport xrg\n\n\ndef main():\n compile"
},
{
"path": "src/generate/print_openxr_version.py",
"chars": 485,
"preview": "# This script prints the current version of the OpenXR API\n\nimport re\nimport xrg\n\nfile_string = xrg.get_header_as_string"
},
{
"path": "src/generate/py_api_layer/CMakeLists.txt",
"chars": 468,
"preview": "add_library(XrApiLayer_python SHARED py_api_layer.cpp)\n\nif (WIN32)\n install(\n TARGETS XrApiLayer_python\n "
},
{
"path": "src/generate/py_api_layer/py_api_layer.cpp",
"chars": 1548,
"preview": "#include <string>\n#include <map>\n#include <iostream>\n\n#include <openxr/openxr.h>\n#include <openxr/openxr_loader_negotiat"
},
{
"path": "src/generate/xrg/__init__.py",
"chars": 9047,
"preview": "\"\"\"\nFile xrg.__init__.py\n\nThis module contains code to help generate the code in pyopenxr.\n\"\"\"\n\n# TODO:\n# * generate do"
},
{
"path": "src/generate/xrg/class_docstring_data.py",
"chars": 28551,
"preview": "import inspect\r\n\r\nclass_docstrings = {\r\n \"xr.ActionTypeMismatchError\": {\r\n \"docstring\": inspect.cleandoc(\"\"\"\r\n"
},
{
"path": "src/generate/xrg/declarations.py",
"chars": 74873,
"preview": "from abc import ABC, abstractmethod\nimport enum\nimport inspect\nfrom numbers import Number\nimport re\nimport textwrap\nfrom"
},
{
"path": "src/generate/xrg/default_values.py",
"chars": 1186,
"preview": "\n# These default values override others\ndefault_values = {\n \"Function\": {\n \"get_system\": {\n \"Parame"
},
{
"path": "src/generate/xrg/docstrings.py",
"chars": 2172,
"preview": "from html.parser import HTMLParser\nimport re\nimport urllib.request\n\n\nclass OpenXrDocstringParser(HTMLParser):\n def __"
},
{
"path": "src/generate/xrg/function_docstring_data.py",
"chars": 22583,
"preview": "import inspect\r\n\r\nfunction_docstrings = {\r\n \"xr.DynamicApiLayerBase.negotiate_loader_api_layer_interface\": {\r\n "
},
{
"path": "src/generate/xrg/headers/EGL/egl.h",
"chars": 8657,
"preview": "/* Copyright 2006-2020 The Khronos Group Inc.\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/* Reference egl.h for EGL 1.2"
},
{
"path": "src/generate/xrg/headers/__init__.py",
"chars": 0,
"preview": ""
},
{
"path": "src/generate/xrg/headers/vulkan/vk_icd.h",
"chars": 8408,
"preview": "/*\r\n * Copyright 2015-2023 The Khronos Group Inc.\r\n * Copyright 2015-2023 Valve Corporation\r\n * Copyright 2015-2023 Luna"
},
{
"path": "src/generate/xrg/headers/vulkan/vk_layer.h",
"chars": 7262,
"preview": "/*\r\n * Copyright 2015-2023 The Khronos Group Inc.\r\n * Copyright 2015-2023 Valve Corporation\r\n * Copyright 2015-2023 Luna"
},
{
"path": "src/generate/xrg/headers/vulkan/vk_platform.h",
"chars": 2912,
"preview": "//\r\n// File: vk_platform.h\r\n//\r\n/*\r\n** Copyright 2014-2025 The Khronos Group Inc.\r\n**\r\n** SPDX-License-Identifier: Apach"
},
{
"path": "src/generate/xrg/headers/vulkan/vulkan.cppm",
"chars": 452023,
"preview": "// Copyright 2015-2025 The Khronos Group Inc.\r\n//\r\n// SPDX-License-Identifier: Apache-2.0 OR MIT\r\n//\r\n\r\n// This header i"
},
{
"path": "src/generate/xrg/headers/vulkan/vulkan.h",
"chars": 1719,
"preview": "#ifndef VULKAN_H_\r\n#define VULKAN_H_ 1\r\n\r\n/*\r\n** Copyright 2015-2025 The Khronos Group Inc.\r\n**\r\n** SPDX-License-Identif"
},
{
"path": "src/generate/xrg/headers/vulkan/vulkan.hpp",
"chars": 1037839,
"preview": "// Copyright 2015-2025 The Khronos Group Inc.\r\n//\r\n// SPDX-License-Identifier: Apache-2.0 OR MIT\r\n//\r\n\r\n// This header i"
},
{
"path": "src/generate/xrg/headers/vulkan/vulkan_android.h",
"chars": 6489,
"preview": "#ifndef VULKAN_ANDROID_H_\r\n#define VULKAN_ANDROID_H_ 1\r\n\r\n/*\r\n** Copyright 2015-2025 The Khronos Group Inc.\r\n**\r\n** SPDX"
},
{
"path": "src/generate/xrg/headers/vulkan/vulkan_beta.h",
"chars": 17787,
"preview": "#ifndef VULKAN_BETA_H_\r\n#define VULKAN_BETA_H_ 1\r\n\r\n/*\r\n** Copyright 2015-2025 The Khronos Group Inc.\r\n**\r\n** SPDX-Licen"
},
{
"path": "src/generate/xrg/headers/vulkan/vulkan_core.h",
"chars": 1237525,
"preview": "#ifndef VULKAN_CORE_H_\r\n#define VULKAN_CORE_H_ 1\r\n\r\n/*\r\n** Copyright 2015-2025 The Khronos Group Inc.\r\n**\r\n** SPDX-Licen"
},
{
"path": "src/generate/xrg/headers/vulkan/vulkan_directfb.h",
"chars": 2011,
"preview": "#ifndef VULKAN_DIRECTFB_H_\r\n#define VULKAN_DIRECTFB_H_ 1\r\n\r\n/*\r\n** Copyright 2015-2025 The Khronos Group Inc.\r\n**\r\n** SP"
},
{
"path": "src/generate/xrg/headers/vulkan/vulkan_enums.hpp",
"chars": 645707,
"preview": "// Copyright 2015-2025 The Khronos Group Inc.\r\n//\r\n// SPDX-License-Identifier: Apache-2.0 OR MIT\r\n//\r\n\r\n// This header i"
},
{
"path": "src/generate/xrg/headers/vulkan/vulkan_extension_inspection.hpp",
"chars": 186142,
"preview": "// Copyright 2015-2025 The Khronos Group Inc.\r\n//\r\n// SPDX-License-Identifier: Apache-2.0 OR MIT\r\n//\r\n\r\n// This header i"
},
{
"path": "src/generate/xrg/headers/vulkan/vulkan_format_traits.hpp",
"chars": 392783,
"preview": "// Copyright 2015-2025 The Khronos Group Inc.\r\n//\r\n// SPDX-License-Identifier: Apache-2.0 OR MIT\r\n//\r\n\r\n// This header i"
},
{
"path": "src/generate/xrg/headers/vulkan/vulkan_fuchsia.h",
"chars": 13182,
"preview": "#ifndef VULKAN_FUCHSIA_H_\r\n#define VULKAN_FUCHSIA_H_ 1\r\n\r\n/*\r\n** Copyright 2015-2025 The Khronos Group Inc.\r\n**\r\n** SPDX"
},
{
"path": "src/generate/xrg/headers/vulkan/vulkan_funcs.hpp",
"chars": 2112239,
"preview": "// Copyright 2015-2025 The Khronos Group Inc.\r\n//\r\n// SPDX-License-Identifier: Apache-2.0 OR MIT\r\n//\r\n\r\n// This header i"
},
{
"path": "src/generate/xrg/headers/vulkan/vulkan_ggp.h",
"chars": 2001,
"preview": "#ifndef VULKAN_GGP_H_\r\n#define VULKAN_GGP_H_ 1\r\n\r\n/*\r\n** Copyright 2015-2025 The Khronos Group Inc.\r\n**\r\n** SPDX-License"
},
{
"path": "src/generate/xrg/headers/vulkan/vulkan_handles.hpp",
"chars": 1423184,
"preview": "// Copyright 2015-2025 The Khronos Group Inc.\r\n//\r\n// SPDX-License-Identifier: Apache-2.0 OR MIT\r\n//\r\n\r\n// This header i"
},
{
"path": "src/generate/xrg/headers/vulkan/vulkan_hash.hpp",
"chars": 998966,
"preview": "// Copyright 2015-2025 The Khronos Group Inc.\r\n//\r\n// SPDX-License-Identifier: Apache-2.0 OR MIT\r\n//\r\n\r\n// This header i"
},
{
"path": "src/generate/xrg/headers/vulkan/vulkan_hpp_macros.hpp",
"chars": 10920,
"preview": "// Copyright 2015-2025 The Khronos Group Inc.\r\n//\r\n// SPDX-License-Identifier: Apache-2.0 OR MIT\r\n//\r\n\r\n// This header i"
},
{
"path": "src/generate/xrg/headers/vulkan/vulkan_ios.h",
"chars": 1402,
"preview": "#ifndef VULKAN_IOS_H_\r\n#define VULKAN_IOS_H_ 1\r\n\r\n/*\r\n** Copyright 2015-2025 The Khronos Group Inc.\r\n**\r\n** SPDX-License"
},
{
"path": "src/generate/xrg/headers/vulkan/vulkan_macos.h",
"chars": 1434,
"preview": "#ifndef VULKAN_MACOS_H_\r\n#define VULKAN_MACOS_H_ 1\r\n\r\n/*\r\n** Copyright 2015-2025 The Khronos Group Inc.\r\n**\r\n** SPDX-Lic"
},
{
"path": "src/generate/xrg/headers/vulkan/vulkan_metal.h",
"chars": 8310,
"preview": "#ifndef VULKAN_METAL_H_\r\n#define VULKAN_METAL_H_ 1\r\n\r\n/*\r\n** Copyright 2015-2025 The Khronos Group Inc.\r\n**\r\n** SPDX-Lic"
},
{
"path": "src/generate/xrg/headers/vulkan/vulkan_ohos.h",
"chars": 1421,
"preview": "#ifndef VULKAN_OHOS_H_\r\n#define VULKAN_OHOS_H_ 1\r\n\r\n/*\r\n** Copyright 2015-2025 The Khronos Group Inc.\r\n**\r\n** SPDX-Licen"
},
{
"path": "src/generate/xrg/headers/vulkan/vulkan_raii.hpp",
"chars": 1732279,
"preview": "// Copyright 2015-2025 The Khronos Group Inc.\r\n//\r\n// SPDX-License-Identifier: Apache-2.0 OR MIT\r\n//\r\n\r\n// This header i"
},
{
"path": "src/generate/xrg/headers/vulkan/vulkan_screen.h",
"chars": 4307,
"preview": "#ifndef VULKAN_SCREEN_H_\r\n#define VULKAN_SCREEN_H_ 1\r\n\r\n/*\r\n** Copyright 2015-2025 The Khronos Group Inc.\r\n**\r\n** SPDX-L"
},
{
"path": "src/generate/xrg/headers/vulkan/vulkan_shared.hpp",
"chars": 38462,
"preview": "// Copyright 2015-2025 The Khronos Group Inc.\r\n//\r\n// SPDX-License-Identifier: Apache-2.0 OR MIT\r\n//\r\n\r\n// This header i"
},
{
"path": "src/generate/xrg/headers/vulkan/vulkan_static_assertions.hpp",
"chars": 839317,
"preview": "// Copyright 2015-2025 The Khronos Group Inc.\r\n//\r\n// SPDX-License-Identifier: Apache-2.0 OR MIT\r\n//\r\n\r\n// This header i"
},
{
"path": "src/generate/xrg/headers/vulkan/vulkan_structs.hpp",
"chars": 7212309,
"preview": "// Copyright 2015-2025 The Khronos Group Inc.\r\n//\r\n// SPDX-License-Identifier: Apache-2.0 OR MIT\r\n//\r\n\r\n// This header i"
},
{
"path": "src/generate/xrg/headers/vulkan/vulkan_to_string.hpp",
"chars": 604395,
"preview": "// Copyright 2015-2025 The Khronos Group Inc.\r\n//\r\n// SPDX-License-Identifier: Apache-2.0 OR MIT\r\n//\r\n\r\n// This header i"
},
{
"path": "src/generate/xrg/headers/vulkan/vulkan_vi.h",
"chars": 1375,
"preview": "#ifndef VULKAN_VI_H_\r\n#define VULKAN_VI_H_ 1\r\n\r\n/*\r\n** Copyright 2015-2025 The Khronos Group Inc.\r\n**\r\n** SPDX-License-I"
},
{
"path": "src/generate/xrg/headers/vulkan/vulkan_video.cppm",
"chars": 19538,
"preview": "// Copyright 2021-2025 The Khronos Group Inc.\r\n// SPDX-License-Identifier: Apache-2.0 OR MIT\r\n//\r\n\r\n// This header is ge"
},
{
"path": "src/generate/xrg/headers/vulkan/vulkan_video.hpp",
"chars": 277083,
"preview": "// Copyright 2021-2025 The Khronos Group Inc.\r\n// SPDX-License-Identifier: Apache-2.0 OR MIT\r\n//\r\n\r\n// This header is ge"
},
{
"path": "src/generate/xrg/headers/vulkan/vulkan_wayland.h",
"chars": 2011,
"preview": "#ifndef VULKAN_WAYLAND_H_\r\n#define VULKAN_WAYLAND_H_ 1\r\n\r\n/*\r\n** Copyright 2015-2025 The Khronos Group Inc.\r\n**\r\n** SPDX"
},
{
"path": "src/generate/xrg/headers/vulkan/vulkan_win32.h",
"chars": 16129,
"preview": "#ifndef VULKAN_WIN32_H_\r\n#define VULKAN_WIN32_H_ 1\r\n\r\n/*\r\n** Copyright 2015-2025 The Khronos Group Inc.\r\n**\r\n** SPDX-Lic"
},
{
"path": "src/generate/xrg/headers/vulkan/vulkan_xcb.h",
"chars": 2026,
"preview": "#ifndef VULKAN_XCB_H_\r\n#define VULKAN_XCB_H_ 1\r\n\r\n/*\r\n** Copyright 2015-2025 The Khronos Group Inc.\r\n**\r\n** SPDX-License"
},
{
"path": "src/generate/xrg/headers/vulkan/vulkan_xlib.h",
"chars": 2007,
"preview": "#ifndef VULKAN_XLIB_H_\r\n#define VULKAN_XLIB_H_ 1\r\n\r\n/*\r\n** Copyright 2015-2025 The Khronos Group Inc.\r\n**\r\n** SPDX-Licen"
},
{
"path": "src/generate/xrg/headers/vulkan/vulkan_xlib_xrandr.h",
"chars": 1547,
"preview": "#ifndef VULKAN_XLIB_XRANDR_H_\r\n#define VULKAN_XLIB_XRANDR_H_ 1\r\n\r\n/*\r\n** Copyright 2015-2025 The Khronos Group Inc.\r\n**\r"
},
{
"path": "src/generate/xrg/manageable_handles.py",
"chars": 4476,
"preview": "from xml.etree import ElementTree\n\n\ndef parse_manageable_handles_xml():\n # Open official OpenXR registry xml file\n "
},
{
"path": "src/generate/xrg/module_docstring_data.py",
"chars": 4833,
"preview": "import inspect\r\n\r\nmodule_docstrings = {\r\n \"xr\": {\r\n \"docstring\": inspect.cleandoc(\"\"\"\r\n `xr` is the"
},
{
"path": "src/generate/xrg/registry.py",
"chars": 359,
"preview": "from importlib.resources import files\nfrom xml.etree import ElementTree\n\nregistry_file = files(\"xrg\") / \"headers\" / \"xr."
},
{
"path": "src/generate/xrg/resources.py",
"chars": 1059,
"preview": "\"\"\"\nImplement pkg_resources functions using importlib\n\"\"\"\n\nimport atexit\nimport contextlib\nimport importlib.resources\n\n_"
},
{
"path": "src/generate/xrg/store_docstrings.py",
"chars": 9697,
"preview": "import copy\nimport importlib\nimport inspect\nimport pkgutil\nimport sys\nimport textwrap\nfrom typing import Optional\n\nimpor"
},
{
"path": "src/generate/xrg/vendor_tags.py",
"chars": 230,
"preview": "from .registry import xr_registry\n\nvendor_tags = []\nfor tags in xr_registry.findall(\"tags\"):\n for tag in tags.findall"
},
{
"path": "src/generate/xrg/xrtypes.py",
"chars": 14865,
"preview": "from abc import ABC, abstractmethod\nimport enum\nimport re\nfrom typing import Optional, Set\n\nimport clang.cindex\nfrom cla"
},
{
"path": "src/xr/__init__.py",
"chars": 1100,
"preview": "\"\"\"\n`xr` is the root module of pyopenxr, an unofficial Python binding for the OpenXR SDK.\n\nIt provides low-level access "
},
{
"path": "src/xr/api_layer/__init__.py",
"chars": 832,
"preview": "import platform\n\nfrom .layer_path import add_folder_to_api_layer_path, expose_packaged_api_layers\n\nfrom .loader_interfac"
},
{
"path": "src/xr/api_layer/aarch64/XrApiLayer_api_dump.json",
"chars": 362,
"preview": "{\n \"file_format_version\": \"1.0.0\",\n \"api_layer\": {\n \"name\": \"XR_APILAYER_LUNARG_api_dump\",\n \"library"
},
{
"path": "src/xr/api_layer/aarch64/XrApiLayer_best_practices_validation.json",
"chars": 450,
"preview": "{\n \"file_format_version\": \"1.0.0\",\n \"api_layer\": {\n \"name\": \"XR_APILAYER_KHRONOS_best_practices_validation\""
},
{
"path": "src/xr/api_layer/aarch64/XrApiLayer_core_validation.json",
"chars": 413,
"preview": "{\n \"file_format_version\": \"1.0.0\",\n \"api_layer\": {\n \"name\": \"XR_APILAYER_LUNARG_core_validation\",\n \""
},
{
"path": "src/xr/api_layer/aarch64/__init__.py",
"chars": 0,
"preview": ""
},
{
"path": "src/xr/api_layer/dynamic_api_layer_base.py",
"chars": 4298,
"preview": "import abc\nimport json\nimport os\nimport tempfile\nfrom ctypes import c_char_p, POINTER\n\nfrom ..enums import Result\nfrom ."
},
{
"path": "src/xr/api_layer/layer_path.py",
"chars": 1805,
"preview": "import os\nimport platform\n\nfrom ..resources import resource_filename\n\n\ndef add_folder_to_api_layer_path(folder_name: str"
},
{
"path": "src/xr/api_layer/loader_interfaces.py",
"chars": 5354,
"preview": "import ctypes\nfrom ctypes import c_char, c_char_p, c_uint32, c_void_p, CFUNCTYPE, POINTER, c_size_t\n\nfrom ..enums import"
},
{
"path": "src/xr/api_layer/raw_functions.py",
"chars": 884,
"preview": "import ctypes\n\nfrom .layer_path import py_layer_library_path\nfrom ..exception import Result\nfrom .loader_interfaces impo"
},
{
"path": "src/xr/api_layer/steamvr_linux_destroyinstance_layer.py",
"chars": 4944,
"preview": "from ctypes import byref, c_char_p, cast, memmove, POINTER, pointer, sizeof\nimport platform\nimport xr\nfrom xr.raw_functi"
},
{
"path": "src/xr/api_layer/win32/XrApiLayer_api_dump.json",
"chars": 373,
"preview": "{\r\n \"file_format_version\": \"1.0.0\",\r\n \"api_layer\": {\r\n \"name\": \"XR_APILAYER_LUNARG_api_dump\",\r\n \"lib"
},
{
"path": "src/xr/api_layer/win32/XrApiLayer_best_practices_validation.json",
"chars": 459,
"preview": "{\r\n \"file_format_version\": \"1.0.0\",\r\n \"api_layer\": {\r\n \"name\": \"XR_APILAYER_KHRONOS_best_practices_validati"
},
{
"path": "src/xr/api_layer/win32/XrApiLayer_core_validation.json",
"chars": 424,
"preview": "{\r\n \"file_format_version\": \"1.0.0\",\r\n \"api_layer\": {\r\n \"name\": \"XR_APILAYER_LUNARG_core_validation\",\r\n "
},
{
"path": "src/xr/api_layer/win32/__init__.py",
"chars": 0,
"preview": ""
},
{
"path": "src/xr/api_layer/x86_64/XrApiLayer_api_dump.json",
"chars": 362,
"preview": "{\n \"file_format_version\": \"1.0.0\",\n \"api_layer\": {\n \"name\": \"XR_APILAYER_LUNARG_api_dump\",\n \"library"
},
{
"path": "src/xr/api_layer/x86_64/XrApiLayer_best_practices_validation.json",
"chars": 450,
"preview": "{\n \"file_format_version\": \"1.0.0\",\n \"api_layer\": {\n \"name\": \"XR_APILAYER_KHRONOS_best_practices_validation\""
},
{
"path": "src/xr/api_layer/x86_64/XrApiLayer_core_validation.json",
"chars": 413,
"preview": "{\n \"file_format_version\": \"1.0.0\",\n \"api_layer\": {\n \"name\": \"XR_APILAYER_LUNARG_core_validation\",\n \""
},
{
"path": "src/xr/api_layer/x86_64/__init__.py",
"chars": 0,
"preview": ""
},
{
"path": "src/xr/base_struct.py",
"chars": 1162,
"preview": "__all__ = [\n \"BaseXrStructure\"\n]\n\nfrom ctypes import c_void_p, Structure\nfrom .enums import StructureType\nfrom .field"
},
{
"path": "src/xr/callback.py",
"chars": 4218,
"preview": "from ctypes import (\n c_void_p,\n POINTER,\n Structure,\n)\nimport logging\nfrom typing import Any, Callable\n\nfrom ."
},
{
"path": "src/xr/constants.py",
"chars": 65828,
"preview": "# Warning: this file is auto-generated. Do not edit.\n\nVERSION_1_0 = 1\nMIN_COMPOSITION_LAYERS_SUPPORTED = 16\nNULL_HANDLE "
},
{
"path": "src/xr/custom_functions.py",
"chars": 737,
"preview": "from ctypes import byref, c_void_p, cast, pointer\nfrom typing import Tuple\n\nfrom . import raw_functions\nfrom .exception "
},
{
"path": "src/xr/enums.py",
"chars": 86905,
"preview": "# Warning: this file is auto-generated. Do not edit.\n\nfrom ctypes import c_int, c_uint64\nimport enum\n\n\ndef succeeded(res"
},
{
"path": "src/xr/exception.py",
"chars": 65983,
"preview": "from typing import Optional\nfrom .enums import Result\n\n# raise_on_qualified_success is a module setting to control wheth"
},
{
"path": "src/xr/ext/EXT/__init__.py",
"chars": 0,
"preview": ""
},
{
"path": "src/xr/ext/EXT/debug_utils.py",
"chars": 9705,
"preview": "\"\"\"\r\nPython bindings for the `XR_EXT_debug_utils` instance extension.\r\n\r\nThis module provides Python wrappers for OpenXR"
},
{
"path": "src/xr/ext/HTCX/__init__.py",
"chars": 0,
"preview": ""
},
{
"path": "src/xr/ext/HTCX/vive_tracker_interaction.py",
"chars": 2043,
"preview": "\"\"\"\r\nPython bindings for the `XR_HTCX_vive_tracker_interaction` extension.\r\n\r\nThis extension enables interaction with VI"
},
{
"path": "src/xr/ext/KHR/__init__.py",
"chars": 0,
"preview": ""
},
{
"path": "src/xr/ext/KHR/opengl_enable.py",
"chars": 3439,
"preview": "\"\"\"\r\nPython bindings for the `XR_KHR_opengl_enable` instance extension.\r\n\r\nThis extension provides access to OpenGL-spec"
},
{
"path": "src/xr/ext/KHR/opengl_es_enable.py",
"chars": 1799,
"preview": "\"\"\"\r\nPython bindings for the `XR_KHR_opengl_es_enable` instance extension.\r\n\r\nThis module provides Python wrappers for O"
},
{
"path": "src/xr/ext/MND/__init__.py",
"chars": 0,
"preview": ""
},
{
"path": "src/xr/ext/MND/headless.py",
"chars": 914,
"preview": "\"\"\"\r\nPython bindings for the `XR_MND_headless` instance extension.\r\n\r\nThis extension enables OpenXR runtimes to operate "
},
{
"path": "src/xr/ext/MNDX/egl_enable.py",
"chars": 832,
"preview": "\"\"\"\r\nPython bindings for the `XR_MNDX_egl_enable` instance extension.\r\n\r\nThis module provides Python wrappers for OpenXR"
},
{
"path": "src/xr/ext/__init__.py",
"chars": 940,
"preview": "\"\"\"\nxr.ext — Python bindings for OpenXR extensions\n\nThis package provides Pythonic access to selected OpenXR extensions,"
},
{
"path": "src/xr/field_helper.py",
"chars": 5048,
"preview": "\"\"\"\nfile field_helper.py\n\nHelper functions for OpenXR-style ctypes Structures containing array fields\ndefined as (count,"
},
{
"path": "src/xr/functions.py",
"chars": 231423,
"preview": "# Warning: this file is auto-generated. Do not edit.\n\nfrom ctypes import (\n POINTER, byref, c_char, c_float, c_int, c"
},
{
"path": "src/xr/handle.py",
"chars": 1733,
"preview": "import ctypes\nfrom ctypes import c_void_p, cast, POINTER, Structure\n\n\nclass HandleMixin:\n \"\"\"\n Mixin class for pyo"
},
{
"path": "src/xr/library/__init__.py",
"chars": 669,
"preview": "import ctypes\nimport platform\n\nfrom ..resources import resource_filename\n\nif platform.system() == \"Windows\":\n library"
},
{
"path": "src/xr/library/aarch64/__init__.py",
"chars": 0,
"preview": ""
},
{
"path": "src/xr/library/win32/__init__.py",
"chars": 0,
"preview": ""
},
{
"path": "src/xr/library/x86_64/__init__.py",
"chars": 0,
"preview": ""
},
{
"path": "src/xr/platform/__init__.py",
"chars": 420,
"preview": "import platform\n\n__all__ = []\n\nif platform.system() == \"Windows\":\n from .windows import *\n from . import windows\n "
},
{
"path": "src/xr/platform/android.py",
"chars": 50803,
"preview": "# Warning: this file is auto-generated. Do not edit.\n\nfrom ctypes import (\n Array, CFUNCTYPE, POINTER, Structure, byr"
},
{
"path": "src/xr/platform/linux.py",
"chars": 59261,
"preview": "# Warning: this file is auto-generated. Do not edit.\n\nfrom ctypes import (\n Array, CFUNCTYPE, POINTER, Structure, byr"
},
{
"path": "src/xr/platform/windows.py",
"chars": 79377,
"preview": "# Warning: this file is auto-generated. Do not edit.\n\nfrom ctypes import (\n Array, CFUNCTYPE, POINTER, Structure, byr"
},
{
"path": "src/xr/raw_functions.py",
"chars": 20468,
"preview": "# Warning: this file is auto-generated. Do not edit.\n\nfrom ctypes import (\n POINTER, c_char, c_char_p, c_float, c_int"
},
{
"path": "src/xr/resources.py",
"chars": 1059,
"preview": "\"\"\"\nImplement pkg_resources functions using importlib\n\"\"\"\n\nimport atexit\nimport contextlib\nimport importlib.resources\n\n_"
},
{
"path": "src/xr/typedefs.py",
"chars": 864964,
"preview": "# Warning: this file is auto-generated. Do not edit.\n\nfrom ctypes import (\n Array, CFUNCTYPE, POINTER, Structure, add"
},
{
"path": "src/xr/utils/__init__.py",
"chars": 24831,
"preview": "\"\"\"\nHigh-level utilities and abstractions for OpenXR integration.\n\nThe :mod:`xr.utils` module provides ergonomic helpers"
},
{
"path": "src/xr/utils/gl/__init__.py",
"chars": 6945,
"preview": "from abc import ABC, abstractmethod\nfrom ctypes import byref, c_void_p, cast, pointer\n\nfrom OpenGL import GL\n\nimport xr\n"
},
{
"path": "src/xr/utils/gl/context_object.py",
"chars": 13315,
"preview": "import time\nfrom ctypes import byref, c_int32, cast, POINTER, Structure\n\nfrom OpenGL import GL\n\nimport xr\nfrom . import "
},
{
"path": "src/xr/utils/gl/egl_util.py",
"chars": 4068,
"preview": "from ctypes import cast, c_void_p, pointer\n\nfrom OpenGL import EGL\nimport xr\n\nfrom . import GraphicsBinding\nfrom .. impo"
},
{
"path": "src/xr/utils/gl/glfw_util/__init__.py",
"chars": 3199,
"preview": "from typing import Tuple\n\nimport glfw\n\nfrom .. import GraphicsContextProvider\n\nfrom . import classes\n\nfrom .classes impo"
},
{
"path": "src/xr/utils/gl/glfw_util/classes.py",
"chars": 8991,
"preview": "import ctypes\nfrom ctypes import Array\nfrom typing import Sequence\n\n# TODO: separate package for opengl stuff\nimport xr\n"
},
{
"path": "src/xr/utils/gl/pyside.py",
"chars": 2373,
"preview": "from typing import Optional\n\nfrom PySide6.QtGui import QOffscreenSurface, QOpenGLContext, QSurfaceFormat\nfrom xr.utils i"
},
{
"path": "src/xr/utils/matrix4x4f.py",
"chars": 16008,
"preview": "\"\"\"\n# Copyright (c) 2017 The Khronos Group Inc.\n# Copyright (c) 2016 Oculus VR, LLC.\n#\n# SPDX-License-Identifier: Apache"
},
{
"path": "src/xr/version.py",
"chars": 3151,
"preview": "# Warning: this file is automatically generated. Do not edit.\n\n# pyopenxr version is based on openxr version...\n# except"
},
{
"path": "tests/__init__.py",
"chars": 0,
"preview": ""
},
{
"path": "tests/run_tests.py",
"chars": 82,
"preview": "import nose2\n\nif __name__ == \"__main__\":\n nose2.discover(argv=[\"nose2\", \"-v\"])\n"
},
{
"path": "tests/synopsis_debug_utils.py",
"chars": 1899,
"preview": "from contextlib import ExitStack\nimport inspect\nimport logging\nimport xr\nfrom xr.callback import logging_debug_callback,"
},
{
"path": "tests/synopsis_gl_ext.py",
"chars": 499,
"preview": "import xr\nfrom xr.ext.KHR import opengl_enable\n\nassert opengl_enable.EXTENSION_NAME == xr.KHR_OPENGL_ENABLE_EXTENSION_NA"
},
{
"path": "tests/test_api_layers.py",
"chars": 665,
"preview": "import os\nimport unittest\n\nimport xr\n\n\nclass TestApiLayers(unittest.TestCase):\n def setUp(self):\n pass\n\n de"
},
{
"path": "tests/test_array_fields.py",
"chars": 680,
"preview": "import ctypes\nimport unittest\n\nimport xr\n\n\nclass TestArrayFields(unittest.TestCase):\n def setUp(self):\n pass\n\n"
},
{
"path": "tests/test_bool.py",
"chars": 425,
"preview": "import unittest\n\nimport xr\n\n\nclass TestBool(unittest.TestCase):\n def setUp(self):\n pass\n\n def tearDown(self"
},
{
"path": "tests/test_constants.py",
"chars": 354,
"preview": "import unittest\n\nimport xr\n\n\nclass TestConstants(unittest.TestCase):\n def setUp(self):\n pass\n\n def tearDown"
},
{
"path": "tests/test_create_info.py",
"chars": 743,
"preview": "import unittest\n\nimport xr\n\n\nclass TestCreateInfo(unittest.TestCase):\n def setUp(self):\n pass\n\n def tearDow"
}
]
// ... and 22 more files (download for full content)
About this extraction
This page contains the full source code of the cmbruns/pyopenxr GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 222 files (30.6 MB), approximately 8.0M tokens, and a symbol index with 28556 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.