diff --git a/README.md b/README.md index 2cd6d7e..8c4ef2a 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,7 @@ +

+ FlightPlanDB-py logo +

+ # FlightplanDB-py ## Project status diff --git a/artwork/ico/favicon.ico b/artwork/ico/favicon.ico new file mode 100644 index 0000000..1c52144 Binary files /dev/null and b/artwork/ico/favicon.ico differ diff --git a/artwork/png/120x120.png b/artwork/png/120x120.png new file mode 100644 index 0000000..a5fd2d0 Binary files /dev/null and b/artwork/png/120x120.png differ diff --git a/artwork/png/240x240.png b/artwork/png/240x240.png new file mode 100644 index 0000000..a06d0d3 Binary files /dev/null and b/artwork/png/240x240.png differ diff --git a/artwork/png/32x32.png b/artwork/png/32x32.png new file mode 100644 index 0000000..45146c7 Binary files /dev/null and b/artwork/png/32x32.png differ diff --git a/artwork/png/480x480.png b/artwork/png/480x480.png new file mode 100644 index 0000000..44217ed Binary files /dev/null and b/artwork/png/480x480.png differ diff --git a/artwork/svg/logo.svg b/artwork/svg/logo.svg new file mode 100644 index 0000000..f1ced33 --- /dev/null +++ b/artwork/svg/logo.svg @@ -0,0 +1,59 @@ + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/docs/source/_static/css/colourscheme.css b/docs/source/_static/css/colourscheme.css new file mode 100644 index 0000000..2f4ce00 --- /dev/null +++ b/docs/source/_static/css/colourscheme.css @@ -0,0 +1,3392 @@ +.wy-side-nav-search { + background-color: rgb(42, 147, 205); + color: rgb(230, 228, 225); +} +.wy-body-for-nav { + background: #f0f0f0; +} +@media (prefers-color-scheme: light) { + .wy-side-nav-search { + background-color: rgb(42, 147, 205); + color: rgb(230, 228, 225); + } + .wy-body-for-nav { + background: #f0f0f0; + } +} +@media (prefers-color-scheme: dark) { + html { + background-color: rgb(23, 23, 23) !important; + } + html, body, input, textarea, select, button { + background-color: #181a1b; + } + html, body, input, textarea, select, button { + border-color: #736b5e; + color: #e8e6e3; + } + a { + color: #3391ff; + } + table { + border-color: #545b5e; + } + ::placeholder { + color: #b2aba1; + } + input:-webkit-autofill, + textarea:-webkit-autofill, + select:-webkit-autofill { + background-color: #555b00 !important; + color: #e8e6e3 !important; + } + ::-webkit-scrollbar { + background-color: #202324; + color: #aba499; + } + ::-webkit-scrollbar-thumb { + background-color: #454a4d; + } + ::-webkit-scrollbar-thumb:hover { + background-color: #575e62; + } + ::-webkit-scrollbar-thumb:active { + background-color: #484e51; + } + ::-webkit-scrollbar-corner { + background-color: #181a1b; + } + * { + scrollbar-color: #454a4d #202324; + } + ::selection { + background-color: #004daa !important; + color: #e8e6e3 !important; + } + ::-moz-selection { + background-color: #004daa !important; + color: #e8e6e3 !important; + } + + /* Invert Style */ + .jfk-bubble.gtx-bubble, .captcheck_answer_label > input + img, span#closed_text > img[src^="https://www.gstatic.com/images/branding/googlelogo"], span[data-href^="https://www.hcaptcha.com/"] > #icon, #bit-notification-bar-iframe, embed[type="application/pdf"] { + filter: invert(100%) hue-rotate(180deg) contrast(90%) !important; + } + + /* Variables Style */ + :root { + --darkreader-neutral-background: #131516; + --darkreader-neutral-text: #d8d4cf; + --darkreader-selection-background: #004daa; + --darkreader-selection-text: #e8e6e3; + } + + /* Modified CSS */ + a:active, + a:hover { + outline-color: currentcolor; + } + abbr[title] { + border-bottom-color: currentcolor; + } + ins { + background-color: rgb(112, 112, 0); + background-image: none; + text-decoration-color: currentcolor; + } + ins, + mark { + color: rgb(232, 230, 227); + } + mark { + background-color: rgb(204, 204, 0); + background-image: none; + } + dl, + ol, + ul { + list-style-image: none; + } + li { + list-style-image: none; + } + img { + border-color: currentcolor; + } + .chromeframe { + background-color: rgb(53, 57, 59); + background-image: none; + color: rgb(232, 230, 227); + } + .ir { + border-color: currentcolor; + background-color: transparent; + } + .visuallyhidden { + border-color: currentcolor; + } + .fa-border { + border-color: rgb(53, 57, 59); + } + .fa-inverse { + color: rgb(232, 230, 227); + } + .sr-only { + border-color: currentcolor; + } + .fa::before, + .icon::before, + .rst-content .admonition-title::before, + .rst-content .code-block-caption .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 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 span.toctree-expand::before, + .wy-menu-vertical li.on a span.toctree-expand::before, + .wy-menu-vertical li span.toctree-expand::before { + text-decoration-color: inherit; + } + .rst-content .code-block-caption 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 table > caption a .headerlink, + .rst-content tt.download a span:first-child, + .wy-menu-vertical li.current > a span.toctree-expand, + .wy-menu-vertical li.on a span.toctree-expand, + .wy-menu-vertical li a span.toctree-expand, + a .fa, + a .icon, + a .rst-content .admonition-title, + a .rst-content .code-block-caption .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 table > caption .headerlink, + a .rst-content tt.download span:first-child, + a .wy-menu-vertical li span.toctree-expand { + text-decoration-color: inherit; + } + .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 { + background-color: rgb(32, 35, 36); + background-image: none; + } + .rst-content .admonition-title, + .wy-alert-title { + color: rgb(232, 230, 227); + background-color: rgb(29, 91, 131); + background-image: none; + } + .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-color: rgb(52, 12, 8); + background-image: none; + } + .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-color: rgb(108, 22, 13); + background-image: none; + } + .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-color: rgb(82, 53, 0); + background-image: none; + } + .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-color: rgb(123, 65, 14); + background-image: none; + } + .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-color: rgb(32, 35, 36); + background-image: none; + } + .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-color: rgb(29, 91, 131); + background-image: none; + } + .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-color: rgb(9, 66, 58); + background-image: none; + } + .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-color: rgb(21, 150, 125); + background-image: none; + } + .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-color: rgb(27, 36, 36); + background-image: none; + } + .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: rgb(192, 186, 178); + background-color: rgb(40, 43, 45); + background-image: none; + } + .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: rgb(84, 164, 217); + } + .wy-tray-container li { + background-color: transparent; + background-image: none; + color: rgb(232, 230, 227); + box-shadow: rgba(0, 0, 0, 0.1) 0px 5px 5px 0px; + } + .wy-tray-container li.wy-tray-item-success { + background-color: rgb(31, 139, 77); + background-image: none; + } + .wy-tray-container li.wy-tray-item-info { + background-color: rgb(42, 147, 205); + background-image: none; + } + .wy-tray-container li.wy-tray-item-warning { + background-color: rgb(178, 94, 20); + background-image: none; + } + .wy-tray-container li.wy-tray-item-danger { + background-color: rgb(162, 33, 20); + background-image: none; + } + button::-moz-focus-inner, + input::-moz-focus-inner { + border-color: currentcolor; + } + .btn { + color: rgb(232, 230, 227); + border-color: rgba(140, 130, 115, 0.1); + background-color: rgb(31, 139, 77); + text-decoration-color: currentcolor; + box-shadow: rgba(24, 26, 27, 0.5) 0px 1px 2px -1px inset, + rgba(0, 0, 0, 0.1) 0px -2px 0px 0px inset; + } + .btn-hover { + background-color: rgb(37, 114, 165); + background-image: none; + color: rgb(232, 230, 227); + } + .btn:hover { + background-color: rgb(35, 156, 86); + background-image: none; + color: rgb(232, 230, 227); + } + .btn:focus { + background-color: rgb(35, 156, 86); + background-image: none; + outline-color: currentcolor; + } + .btn:active { + box-shadow: rgba(0, 0, 0, 0.05) 0px -1px 0px 0px inset, + rgba(0, 0, 0, 0.1) 0px 2px 0px 0px inset; + } + .btn:visited { + color: rgb(232, 230, 227); + } + .btn-disabled, + .btn-disabled:active, + .btn-disabled:focus, + .btn-disabled:hover, + .btn:disabled { + background-image: none; + box-shadow: none; + } + .btn::-moz-focus-inner { + border-color: currentcolor; + } + .btn-info { + background-color: rgb(42, 147, 205) !important; + } + .btn-info:hover { + background-color: rgb(37, 114, 165) !important; + } + .btn-neutral { + background-color: rgb(27, 36, 36) !important; + color: rgb(192, 186, 178) !important; + } + .btn-neutral:hover { + background-color: rgb(34, 44, 44) !important; + color: rgb(192, 186, 178); + } + .btn-neutral:visited { + color: rgb(192, 186, 178) !important; + } + .btn-success { + background-color: rgb(31, 139, 77) !important; + } + .btn-success:hover { + background-color: rgb(27, 122, 68) !important; + } + .btn-danger { + background-color: rgb(162, 33, 20) !important; + } + .btn-danger:hover { + background-color: rgb(149, 30, 18) !important; + } + .btn-warning { + background-color: rgb(178, 94, 20) !important; + } + .btn-warning:hover { + background-color: rgb(165, 87, 18) !important; + } + .btn-invert { + background-color: rgb(26, 28, 29); + } + .btn-invert:hover { + background-color: rgb(35, 38, 40) !important; + } + .btn-link { + background-color: transparent !important; + color: rgb(84, 164, 217); + box-shadow: none; + border-color: transparent !important; + } + .btn-link:active, + .btn-link:hover { + background-color: transparent !important; + color: rgb(79, 162, 216) !important; + box-shadow: none; + } + .btn-link:visited { + color: rgb(164, 103, 188); + } + .wy-dropdown-menu { + background-color: rgb(26, 28, 29); + background-image: none; + border-color: rgb(60, 65, 67); + box-shadow: rgba(0, 0, 0, 0.1) 0px 2px 2px 0px; + } + .wy-dropdown-menu > dd > a { + color: rgb(192, 186, 178); + } + .wy-dropdown-menu > dd > a:hover { + background-color: rgb(42, 147, 205); + background-image: none; + color: rgb(232, 230, 227); + } + .wy-dropdown-menu > dd.divider { + border-top-color: rgb(60, 65, 67); + } + .wy-dropdown-menu > dd.call-to-action { + background-color: rgb(40, 43, 45); + background-image: none; + } + .wy-dropdown-menu > dd.call-to-action:hover { + background-color: rgb(40, 43, 45); + background-image: none; + } + .wy-dropdown-menu > dd.call-to-action .btn { + color: rgb(232, 230, 227); + } + .wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu { + background-color: rgb(26, 28, 29); + background-image: none; + } + .wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a:hover { + background-color: rgb(42, 147, 205); + background-image: none; + color: rgb(232, 230, 227); + } + .wy-dropdown-arrow::before { + border-bottom-color: rgb(51, 55, 57); + border-left-color: transparent; + border-right-color: transparent; + } + fieldset, + legend { + border-color: currentcolor; + } + label { + color: rgb(200, 195, 188); + } + .wy-control-group.wy-control-group-required > label::after { + color: rgb(233, 88, 73); + } + .wy-form-message-inline { + color: rgb(168, 160, 149); + } + .wy-form-message { + color: rgb(168, 160, 149); + } + 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"] { + border-color: rgb(62, 68, 70); + box-shadow: rgb(43, 47, 49) 0px 1px 3px inset; + } + 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-color: currentcolor; + border-color: rgb(123, 114, 101); + } + input.no-focus:focus { + border-color: rgb(62, 68, 70) !important; + } + input[type="checkbox"]:focus, input[type="file"]:focus, input[type="radio"]:focus { + outline-color: rgb(13, 113, 167); + } + 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] { + background-color: rgb(27, 29, 30); + } + input:focus:invalid, + select:focus:invalid, + textarea:focus:invalid { + color: rgb(233, 88, 73); + border-color: rgb(149, 31, 18); + } + input:focus:invalid:focus, + select:focus:invalid:focus, + textarea:focus:invalid:focus { + border-color: rgb(149, 31, 18); + } + input[type="checkbox"]:focus:invalid:focus, input[type="file"]:focus:invalid:focus, input[type="radio"]:focus:invalid:focus { + outline-color: rgb(149, 31, 18); + } + select, + textarea { + border-color: rgb(62, 68, 70); + box-shadow: rgb(43, 47, 49) 0px 1px 3px inset; + } + select { + border-color: rgb(62, 68, 70); + background-color: rgb(40, 40, 40); + } + select:focus, + textarea:focus { + outline-color: currentcolor; + } + input[readonly], + select[disabled], + select[readonly], + textarea[disabled], + textarea[readonly] { + background-color: rgb(27, 29, 30); + } + .wy-checkbox, + .wy-radio { + color: rgb(192, 186, 178); + } + .wy-input-prefix .wy-input-context, + .wy-input-suffix .wy-input-context { + background-color: rgb(27, 36, 36); + border-color: rgb(62, 68, 70); + color: rgb(168, 160, 149); + } + .wy-input-suffix .wy-input-context { + border-left-color: currentcolor; + } + .wy-input-prefix .wy-input-context { + border-right-color: currentcolor; + } + .wy-switch::before { + background-color: rgb(53, 57, 59); + background-image: none; + } + .wy-switch::after { + background-color: rgb(82, 88, 92); + background-image: none; + } + .wy-switch span { + color: rgb(200, 195, 188); + } + .wy-switch.active::before { + background-color: rgb(24, 106, 58); + background-image: none; + } + .wy-switch.active::after { + background-color: rgb(31, 139, 77); + background-image: none; + } + .wy-control-group.wy-control-group-error .wy-form-message, + .wy-control-group.wy-control-group-error > label { + color: rgb(233, 88, 73); + } + .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-color: rgb(149, 31, 18); + } + .wy-inline-validate.wy-inline-validate-success .wy-input-context { + color: rgb(92, 218, 145); + } + .wy-inline-validate.wy-inline-validate-danger .wy-input-context { + color: rgb(233, 88, 73); + } + .wy-inline-validate.wy-inline-validate-warning .wy-input-context { + color: rgb(232, 138, 54); + } + .wy-inline-validate.wy-inline-validate-info .wy-input-context { + color: rgb(84, 164, 217); + } + .rst-content table.docutils caption, + .rst-content table.field-list caption, + .wy-table caption { + color: rgb(232, 230, 227); + } + .rst-content table.docutils thead, + .rst-content table.field-list thead, + .wy-table thead { + color: rgb(232, 230, 227); + } + .rst-content table.docutils thead th, + .rst-content table.field-list thead th, + .wy-table thead th { + border-bottom-color: rgb(56, 61, 63); + } + .rst-content table.docutils td, + .rst-content table.field-list td, + .wy-table td { + background-color: transparent; + } + .wy-table-secondary { + color: rgb(152, 143, 129); + } + .wy-table-tertiary { + color: rgb(152, 143, 129); + } + .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: rgb(27, 36, 36); + } + .rst-content table.docutils, + .wy-table-bordered-all { + border-color: rgb(56, 61, 63); + } + .rst-content table.docutils td, + .wy-table-bordered-all td { + border-bottom-color: rgb(56, 61, 63); + border-left-color: rgb(56, 61, 63); + } + .wy-table-bordered { + border-color: rgb(56, 61, 63); + } + .wy-table-bordered-rows td { + border-bottom-color: rgb(56, 61, 63); + } + .wy-table-horizontal td, + .wy-table-horizontal th { + border-bottom-color: rgb(56, 61, 63); + } + a { + color: rgb(84, 164, 217); + text-decoration-color: currentcolor; + } + a:hover { + color: rgb(68, 156, 214); + } + a:visited { + color: rgb(164, 103, 188); + } + body { + color: rgb(192, 186, 178); + background-color: rgb(33, 35, 37); + background-image: none; + } + .wy-text-strike { + text-decoration-color: currentcolor; + } + .wy-text-warning { + color: rgb(232, 138, 54) !important; + } + a.wy-text-warning:hover { + color: rgb(236, 157, 87) !important; + } + .wy-text-info { + color: rgb(84, 164, 217) !important; + } + a.wy-text-info:hover { + color: rgb(79, 162, 216) !important; + } + .wy-text-success { + color: rgb(92, 218, 145) !important; + } + a.wy-text-success:hover { + color: rgb(73, 214, 133) !important; + } + .wy-text-danger { + color: rgb(233, 88, 73) !important; + } + a.wy-text-danger:hover { + color: rgb(237, 118, 104) !important; + } + .wy-text-neutral { + color: rgb(192, 186, 178) !important; + } + a.wy-text-neutral:hover { + color: rgb(176, 169, 159) !important; + } + hr { + border-color: rgb(56, 61, 63) currentcolor currentcolor; + } + .rst-content code, + .rst-content tt, + code { + background-color: rgb(40, 40, 40); + background-image: none; + border-color: rgb(56, 61, 63); + color: rgb(255, 255, 255); + } + .rst-content .section ul, + .rst-content .toctree-wrapper ul, + .wy-plain-list-disc, + article ul { + list-style-image: none; + } + .rst-content .section ul li, + .rst-content .toctree-wrapper ul li, + .wy-plain-list-disc li, + article ul li { + list-style-image: none; + } + .rst-content .section ul li li, + .rst-content .toctree-wrapper ul li li, + .wy-plain-list-disc li li, + article ul li li { + list-style-image: none; + } + .rst-content .section ul li li li, + .rst-content .toctree-wrapper ul li li li, + .wy-plain-list-disc li li li, + article ul li li li { + list-style-image: none; + } + .rst-content .section ul li ol li, + .rst-content .toctree-wrapper ul li ol li, + .wy-plain-list-disc li ol li, + article ul li ol li { + list-style-image: none; + } + .rst-content .section ol, + .rst-content ol.arabic, + .wy-plain-list-decimal, + article ol { + list-style-image: none; + } + .rst-content .section ol li, + .rst-content ol.arabic li, + .wy-plain-list-decimal li, + article ol li { + list-style-image: none; + } + .rst-content .section ol li ul li, + .rst-content ol.arabic li ul li, + .wy-plain-list-decimal li ul li, + article ol li ul li { + list-style-image: none; + } + .rst-content .wy-breadcrumbs li tt, + .wy-breadcrumbs li .rst-content tt, + .wy-breadcrumbs li code { + border-color: currentcolor; + background-color: rgba(0, 0, 0, 0); + background-image: none; + } + .rst-content .wy-breadcrumbs li tt.literal, + .wy-breadcrumbs li .rst-content tt.literal, + .wy-breadcrumbs li code.literal { + color: rgb(192, 186, 178); + } + .wy-breadcrumbs-extra { + color: rgb(184, 178, 169); + } + .wy-menu a:hover { + text-decoration-color: currentcolor; + } + .wy-menu-horiz li:hover { + background-color: rgba(24, 26, 27, 0.1); + background-image: none; + } + .wy-menu-horiz li.divide-left { + border-left-color: rgb(119, 110, 98); + } + .wy-menu-horiz li.divide-right { + border-right-color: rgb(119, 110, 98); + } + .wy-menu-vertical header, + .wy-menu-vertical p.caption { + color: rgb(94, 170, 219); + } + .wy-menu-vertical li.divide-top { + border-top-color: rgb(119, 110, 98); + } + .wy-menu-vertical li.divide-bottom { + border-bottom-color: rgb(119, 110, 98); + } + .wy-menu-vertical li.current { + background-color: rgb(40, 43, 45); + background-image: none; + } + .wy-menu-vertical li.current a { + color: rgb(152, 143, 129); + border-right-color: rgb(63, 69, 71); + } + .wy-menu-vertical li.current a:hover { + background-color: rgb(47, 51, 53); + background-image: none; + } + .rst-content .wy-menu-vertical li tt, + .wy-menu-vertical li .rst-content tt, + .wy-menu-vertical li code { + border-color: currentcolor; + background-color: inherit; + background-image: inherit; + color: inherit; + } + .wy-menu-vertical li span.toctree-expand { + color: rgb(183, 177, 168); + } + .wy-menu-vertical li.current > a, + .wy-menu-vertical li.on a { + color: rgb(192, 186, 178); + background-color: rgb(26, 28, 29); + background-image: none; + border-color: currentcolor; + } + .wy-menu-vertical li.current > a:hover, + .wy-menu-vertical li.on a:hover { + background-color: rgb(26, 28, 29); + background-image: none; + } + .wy-menu-vertical li.current > a:hover span.toctree-expand, + .wy-menu-vertical li.on a:hover span.toctree-expand { + color: rgb(152, 143, 129); + } + .wy-menu-vertical li.current > a span.toctree-expand, + .wy-menu-vertical li.on a span.toctree-expand { + color: rgb(200, 195, 188); + } + .wy-menu-vertical li.toctree-l1.current > a { + border-bottom-color: rgb(63, 69, 71); + border-top-color: rgb(63, 69, 71); + } + .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: rgb(192, 186, 178); + } + .wy-menu-vertical li.toctree-l2 a:hover span.toctree-expand, + .wy-menu-vertical li.toctree-l3 a:hover span.toctree-expand, + .wy-menu-vertical li.toctree-l4 a:hover span.toctree-expand, + .wy-menu-vertical li.toctree-l5 a:hover span.toctree-expand, + .wy-menu-vertical li.toctree-l6 a:hover span.toctree-expand, + .wy-menu-vertical li.toctree-l7 a:hover span.toctree-expand, + .wy-menu-vertical li.toctree-l8 a:hover span.toctree-expand, + .wy-menu-vertical li.toctree-l9 a:hover span.toctree-expand, + .wy-menu-vertical li.toctree-l10 a:hover span.toctree-expand { + color: rgb(152, 143, 129); + } + .wy-menu-vertical li.toctree-l2.current > a, + .wy-menu-vertical li.toctree-l2.current li.toctree-l3 > a { + background-color: rgb(54, 59, 61); + background-image: none; + } + .wy-menu-vertical li.toctree-l2 span.toctree-expand { + color: rgb(174, 167, 156); + } + .wy-menu-vertical li.toctree-l3.current > a, + .wy-menu-vertical li.toctree-l3.current li.toctree-l4 > a { + background-color: rgb(61, 66, 69); + background-image: none; + } + .wy-menu-vertical li.toctree-l3 span.toctree-expand { + color: rgb(166, 158, 146); + } + .wy-menu-vertical li ul li a { + color: rgb(208, 204, 198); + } + .wy-menu-vertical a { + color: rgb(208, 204, 198); + } + .wy-menu-vertical a:hover { + background-color: rgb(57, 62, 64); + } + .wy-menu-vertical a:hover span.toctree-expand { + color: rgb(208, 204, 198); + } + .wy-menu-vertical a:active { + background-color: rgb(42, 147, 205); + color: rgb(232, 230, 227); + } + .wy-menu-vertical a:active span.toctree-expand { + color: rgb(232, 230, 227); + } + .wy-side-nav-search { + background-color: rgb(42, 147, 205); + color: rgb(230, 228, 225); + } + .wy-side-nav-search input[type="text"] { + border-color: rgb(35, 111, 160); + } + .wy-side-nav-search img { + background-color: rgb(42, 147, 205); + } + .wy-side-nav-search .wy-dropdown > a, + .wy-side-nav-search > a { + color: rgb(230, 228, 225); + } + .wy-side-nav-search .wy-dropdown > a:hover, + .wy-side-nav-search > a:hover { + background-color: rgba(24, 26, 27, 0.1); + background-image: none; + } + .wy-side-nav-search .wy-dropdown > a img.logo, + .wy-side-nav-search > a img.logo { + background-color: transparent; + background-image: none; + } + .wy-side-nav-search > div.version { + color: rgba(232, 230, 227, 0.3); + } + .wy-nav .wy-menu-vertical header { + color: rgb(84, 164, 217); + } + .wy-nav .wy-menu-vertical a { + color: rgb(184, 178, 169); + } + .wy-nav .wy-menu-vertical a:hover { + background-color: rgb(42, 147, 205); + color: rgb(232, 230, 227); + } + .wy-body-for-nav { + background-color: rgb(23, 23, 23); + background-image: none; + } + .wy-nav-side { + color: rgb(169, 161, 150); + background-color: rgb(38, 41, 43); + background-image: none; + } + .wy-nav-top { + background-color: rgb(42, 147, 205); + background-image: none; + color: rgb(232, 230, 227); + } + .wy-nav-top a { + color: rgb(232, 230, 227); + } + .wy-nav-top img { + background-color: rgb(42, 147, 205); + } + .wy-nav-content-wrap { + background-color: rgb(26, 28, 29); + background-image: none; + } + .wy-body-mask { + background-color: rgba(0, 0, 0, 0.2); + background-image: none; + } + footer { + color: rgb(152, 143, 129); + } + .rst-content footer span.commit tt, + footer span.commit .rst-content tt, + footer span.commit code { + background-color: rgba(0, 0, 0, 0); + background-image: none; + border-color: currentcolor; + color: rgb(152, 143, 129); + } + #search-results .search li { + border-bottom-color: rgb(56, 61, 63); + } + #search-results .search li:first-child { + border-top-color: rgb(56, 61, 63); + } + #search-results .context { + color: rgb(152, 143, 129); + } + .wy-body-for-nav { + background-color: rgb(23, 23, 23); + background-image: none; + } + @media screen and (min-width: 1100px) { + .wy-nav-content-wrap { + background-color: rgba(0, 0, 0, 0.05); + background-image: none; + } + .wy-nav-content { + background-color: rgb(26, 28, 29); + background-image: none; + } + } + .rst-versions { + color: rgb(230, 228, 225); + background-color: rgb(23, 24, 25); + background-image: none; + } + .rst-versions a { + color: rgb(84, 164, 217); + text-decoration-color: currentcolor; + } + .rst-versions .rst-current-version { + background-color: rgb(29, 31, 32); + color: rgb(92, 218, 145); + } + .rst-content .code-block-caption .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.caption .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 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.caption .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 span.toctree-expand, + .wy-menu-vertical li .rst-versions .rst-current-version span.toctree-expand { + color: rgb(230, 228, 225); + } + .rst-versions .rst-current-version.rst-out-of-date { + background-color: rgb(162, 33, 20); + color: rgb(232, 230, 227); + } + .rst-versions .rst-current-version.rst-active-old-version { + background-color: rgb(192, 156, 11); + color: rgb(232, 230, 227); + } + .rst-versions .rst-other-versions { + color: rgb(152, 143, 129); + } + .rst-versions .rst-other-versions hr { + border-color: rgb(119, 111, 98) currentcolor currentcolor; + } + .rst-versions .rst-other-versions dd a { + color: rgb(230, 228, 225); + } + .rst-versions.rst-badge { + border-color: currentcolor; + } + .rst-content abbr[title] { + text-decoration-color: currentcolor; + } + .rst-content.style-external-links a.reference.external::after { + color: rgb(184, 178, 169); + } + .rst-content div[class^="highlight"], + .rst-content pre.literal-block { + border-color: rgb(56, 61, 63); + } + .rst-content div[class^="highlight"] div[class^="highlight"], .rst-content pre.literal-block div[class^="highlight"] { + border-color: currentcolor; + } + .rst-content .linenodiv pre { + border-right-color: rgb(54, 59, 61); + } + .rst-content .admonition table { + border-color: rgba(140, 130, 115, 0.1); + } + .rst-content .admonition table td, + .rst-content .admonition table th { + background-color: transparent !important; + background-image: none !important; + border-color: rgba(140, 130, 115, 0.1) !important; + } + .rst-content .section ol.loweralpha, + .rst-content .section ol.loweralpha > li { + list-style-image: none; + } + .rst-content .section ol.upperalpha, + .rst-content .section ol.upperalpha > li { + list-style-image: none; + } + .rst-content .toc-backref { + color: rgb(192, 186, 178); + } + .rst-content .sidebar { + background-color: rgb(27, 36, 36); + background-image: none; + border-color: rgb(56, 61, 63); + } + .rst-content .sidebar .sidebar-title { + background-color: rgb(40, 43, 45); + background-image: none; + } + .rst-content .highlighted { + background-color: rgb(192, 156, 11); + background-image: none; + box-shadow: rgb(192, 156, 11) 0px 0px 0px 2px; + } + html.writer-html4 .rst-content table.docutils.citation, + html.writer-html4 .rst-content table.docutils.footnote { + background-color: rgba(0, 0, 0, 0); + background-image: none; + border-color: currentcolor; + } + 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-color: currentcolor; + background-color: transparent !important; + } + .rst-content table.docutils.footnote, + html.writer-html4 .rst-content table.docutils.citation, + html.writer-html5 .rst-content dl.footnote { + color: rgb(152, 143, 129); + } + .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 dl.footnote code, + html.writer-html5 .rst-content dl.footnote tt { + color: rgb(178, 172, 162); + } + .rst-content table.docutils th { + border-color: rgb(56, 61, 63); + } + html.writer-html5 .rst-content table.docutils th { + border-color: rgb(56, 61, 63); + } + .rst-content table.field-list, + .rst-content table.field-list td { + border-color: currentcolor; + } + .rst-content code, + .rst-content tt { + color: rgb(232, 230, 227); + } + .rst-content code.literal, + .rst-content tt.literal { + color: rgb(255, 255, 255); + } + .rst-content code.xref, + .rst-content tt.xref, + a .rst-content code, + a .rst-content tt { + color: rgb(192, 186, 178); + } + .rst-content a code, + .rst-content a tt { + color: rgb(84, 164, 217); + } + 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(.glossary):not(.simple) > dt { + background-color: rgb(32, 35, 36); + background-image: none; + color: rgb(84, 164, 217); + border-top-color: rgb(28, 89, 128); + } + 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(.glossary):not(.simple) > dt::before { + color: rgb(109, 178, 223); + } + 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(.glossary):not(.simple) > dt .headerlink { + color: rgb(192, 186, 178); + } + html.writer-html4 .rst-content dl:not(.docutils) dl:not(.field-list) > dt, + html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dl:not(.field-list) > dt { + border-color: currentcolor currentcolor currentcolor rgb(62, 68, 70); + background-color: rgb(32, 35, 37); + background-image: none; + color: rgb(178, 172, 162); + } + html.writer-html4 .rst-content dl:not(.docutils) dl:not(.field-list) > dt .headerlink, + html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dl:not(.field-list) > dt .headerlink { + color: rgb(192, 186, 178); + } + 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(.glossary):not(.simple) code.descclassname, + html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) code.descname, + html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) tt.descclassname, + html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) tt.descname { + background-color: transparent; + border-color: currentcolor; + } + 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(.glossary):not(.simple) .optional { + color: rgb(232, 230, 227); + } + .rst-content .viewcode-back, + .rst-content .viewcode-link { + color: rgb(92, 218, 145); + } + .rst-content code.download, + .rst-content tt.download { + background-color: inherit; + background-image: inherit; + color: inherit; + border-color: inherit; + } + .rst-content .guilabel { + border-color: rgb(27, 84, 122); + background-color: rgb(32, 35, 36); background-image: none; + } + span[id*="MathJax-Span"] { + color: rgb(192, 186, 178); + } + td.linenos .normal { + color: inherit; + background-color: transparent; + } + span.linenos { + color: inherit; + background-color: transparent; + } + td.linenos .special { + color: rgb(232, 230, 227); + background-color: rgb(89, 89, 0); + } + span.linenos.special { + color: rgb(232, 230, 227); + background-color: rgb(89, 89, 0); + } + .highlight .hll { + background-color: rgb(82, 82, 0); + } + .highlight { + background-color: rgb(40, 40, 40); + background-image: none; + } + .highlight .c { + color: rgb(119, 179, 195); + } + .highlight .err { + border-color: rgb(179, 0, 0); + } + .highlight .k { + color: rgb(126, 255, 163); + } + .highlight .o { + color: rgb(168, 160, 149); + } + .highlight .ch { + color: rgb(119, 179, 195); + } + .highlight .cm { + color: rgb(119, 179, 195); + } + .highlight .cp { + color: rgb(126, 255, 163); + } + .highlight .cpf { + color: rgb(119, 179, 195); + } + .highlight .c1 { + color: rgb(119, 179, 195); + } + .highlight .cs { + color: rgb(119, 179, 195); + background-color: rgb(60, 0, 0); + } + .highlight .gd { + color: rgb(255, 92, 92); + } + .highlight .gr { + color: rgb(255, 26, 26); + } + .highlight .gh { + color: rgb(127, 174, 255); + } + .highlight .gi { + color: rgb(92, 255, 92); + } + .highlight .go { + color: rgb(200, 195, 188); + } + .highlight .gp { + color: rgb(246, 147, 68); + } + .highlight .gu { + color: rgb(255, 114, 255); + } + .highlight .gt { + color: rgb(71, 160, 255); + } + .highlight .kc { + color: rgb(126, 255, 163); + } + .highlight .kd { + color: rgb(126, 255, 163); + } + .highlight .kn { + color: rgb(126, 255, 163); + } + .highlight .kp { + color: rgb(126, 255, 163); + } + .highlight .kr { + color: rgb(126, 255, 163); + } + .highlight .kt { + color: rgb(255, 137, 103); + } + .highlight .m { + color: rgb(125, 222, 174); + } + .highlight .s { + color: rgb(123, 166, 202); + } + .highlight .na { + color: rgb(123, 166, 202); + } + .highlight .nb { + color: rgb(126, 255, 163); + } + .highlight .nc { + color: rgb(81, 194, 242); + } + .highlight .no { + color: rgb(103, 177, 215); + } + .highlight .nd { + color: rgb(178, 172, 162); + } + .highlight .ni { + color: rgb(217, 100, 73); + } + .highlight .ne { + color: rgb(126, 255, 163); + } + .highlight .nf { + color: rgb(131, 186, 249); + } + .highlight .nl { + color: rgb(137, 193, 255); + } + .highlight .nn { + color: rgb(81, 194, 242); + } + .highlight .nt { + color: rgb(138, 191, 249); + } + .highlight .nv { + color: rgb(190, 103, 215); + } + .highlight .ow { + color: rgb(126, 255, 163); + } + .highlight .w { + color: rgb(189, 183, 175); + } + .highlight .mb { + color: rgb(125, 222, 174); + } + .highlight .mf { + color: rgb(125, 222, 174); + } + .highlight .mh { + color: rgb(125, 222, 174); + } + .highlight .mi { + color: rgb(125, 222, 174); + } + .highlight .mo { + color: rgb(125, 222, 174); + } + .highlight .sa { + color: rgb(123, 166, 202); + } + .highlight .sb { + color: rgb(123, 166, 202); + } + .highlight .sc { + color: rgb(123, 166, 202); + } + .highlight .dl { + color: rgb(123, 166, 202); + } + .highlight .sd { + color: rgb(123, 166, 202); + } + .highlight .s2 { + color: rgb(123, 166, 202); + } + .highlight .se { + color: rgb(123, 166, 202); + } + .highlight .sh { + color: rgb(123, 166, 202); + } + .highlight .si { + color: rgb(117, 168, 209); + } + .highlight .sx { + color: rgb(246, 147, 68); + } + .highlight .sr { + color: rgb(133, 182, 224); + } + .highlight .s1 { + color: rgb(123, 166, 202); + } + .highlight .ss { + color: rgb(188, 230, 128); + } + .highlight .bp { + color: rgb(126, 255, 163); + } + .highlight .fm { + color: rgb(131, 186, 249); + } + .highlight .vc { + color: rgb(190, 103, 215); + } + .highlight .vg { + color: rgb(190, 103, 215); + } + .highlight .vi { + color: rgb(190, 103, 215); + } + .highlight .vm { + color: rgb(190, 103, 215); + } + .highlight .il { + color: rgb(125, 222, 174); + } + td.linenos .normal { + color: inherit; + background-color: transparent; + } + span.linenos { + color: inherit; + background-color: transparent; + } + td.linenos .special { + color: rgb(232, 230, 227); + background-color: rgb(89, 89, 0); + } + span.linenos.special { + color: rgb(232, 230, 227); + background-color: rgb(89, 89, 0); + } + .highlight .hll { + background-color: rgb(82, 82, 0); + } + .highlight { + background-color: rgb(40, 40, 40); + background-image: none; + } + .highlight .c { + color: rgb(119, 179, 195); + } + .highlight .err { + border-color: rgb(179, 0, 0); + } + .highlight .k { + color: rgb(126, 255, 163); + } + .highlight .o { + color: rgb(168, 160, 149); + } + .highlight .ch { + color: rgb(119, 179, 195); + } + .highlight .cm { + color: rgb(119, 179, 195); + } + .highlight .cp { + color: rgb(126, 255, 163); + } + .highlight .cpf { + color: rgb(119, 179, 195); + } + .highlight .c1 { + color: rgb(119, 179, 195); + } + .highlight .cs { + color: rgb(119, 179, 195); + background-color: rgb(60, 0, 0); + } + .highlight .gd { + color: rgb(255, 92, 92); + } + .highlight .gr { + color: rgb(255, 26, 26); + } + .highlight .gh { + color: rgb(127, 174, 255); + } + .highlight .gi { + color: rgb(92, 255, 92); + } + .highlight .go { + color: rgb(200, 195, 188); + } + .highlight .gp { + color: rgb(246, 147, 68); + } + .highlight .gu { + color: rgb(255, 114, 255); + } + .highlight .gt { + color: rgb(71, 160, 255); + } + .highlight .kc { + color: rgb(126, 255, 163); + } + .highlight .kd { + color: rgb(126, 255, 163); + } + .highlight .kn { + color: rgb(126, 255, 163); + } + .highlight .kp { + color: rgb(126, 255, 163); + } + .highlight .kr { + color: rgb(126, 255, 163); + } + .highlight .kt { + color: rgb(255, 137, 103); + } + .highlight .m { + color: rgb(125, 222, 174); + } + .highlight .s { + color: rgb(123, 166, 202); + } + .highlight .na { + color: rgb(123, 166, 202); + } + .highlight .nb { + color: rgb(126, 255, 163); + } + .highlight .nc { + color: rgb(81, 194, 242); + } + .highlight .no { + color: rgb(103, 177, 215); + } + .highlight .nd { + color: rgb(178, 172, 162); + } + .highlight .ni { + color: rgb(217, 100, 73); + } + .highlight .ne { + color: rgb(126, 255, 163); + } + .highlight .nf { + color: rgb(131, 186, 249); + } + .highlight .nl { + color: rgb(137, 193, 255); + } + .highlight .nn { + color: rgb(81, 194, 242); + } + .highlight .nt { + color: rgb(138, 191, 249); + } + .highlight .nv { + color: rgb(190, 103, 215); + } + .highlight .ow { + color: rgb(126, 255, 163); + } + .highlight .w { + color: rgb(189, 183, 175); + } + .highlight .mb { + color: rgb(125, 222, 174); + } + .highlight .mf { + color: rgb(125, 222, 174); + } + .highlight .mh { + color: rgb(125, 222, 174); + } + .highlight .mi { + color: rgb(125, 222, 174); + } + .highlight .mo { + color: rgb(125, 222, 174); + } + .highlight .sa { + color: rgb(123, 166, 202); + } + .highlight .sb { + color: rgb(123, 166, 202); + } + .highlight .sc { + color: rgb(123, 166, 202); + } + .highlight .dl { + color: rgb(123, 166, 202); + } + .highlight .sd { + color: rgb(123, 166, 202); + } + .highlight .s2 { + color: rgb(123, 166, 202); + } + .highlight .se { + color: rgb(123, 166, 202); + } + .highlight .sh { + color: rgb(123, 166, 202); + } + .highlight .si { + color: rgb(117, 168, 209); + } + .highlight .sx { + color: rgb(246, 147, 68); + } + .highlight .sr { + color: rgb(133, 182, 224); + } + .highlight .s1 { + color: rgb(123, 166, 202); + } + .highlight .ss { + color: rgb(188, 230, 128); + } + .highlight .bp { + color: rgb(126, 255, 163); + } + .highlight .fm { + color: rgb(131, 186, 249); + } + .highlight .vc { + color: rgb(190, 103, 215); + } + .highlight .vg { + color: rgb(190, 103, 215); + } + .highlight .vi { + color: rgb(190, 103, 215); + } + .highlight .vm { + color: rgb(190, 103, 215); + } + .highlight .il { + color: rgb(125, 222, 174); + } + a:active, + a:hover { + outline-color: currentcolor; + } + abbr[title] { + border-bottom-color: currentcolor; + } + ins { + background-color: rgb(112, 112, 0); + background-image: none; + text-decoration-color: currentcolor; + } + ins, + mark { + color: rgb(232, 230, 227); + } + mark { + background-color: rgb(204, 204, 0); + background-image: none; + } + dl, + ol, + ul { + list-style-image: none; + } + li { + list-style-image: none; + } + img { + border-color: currentcolor; + } + .chromeframe { + background-color: rgb(53, 57, 59); + background-image: none; + color: rgb(232, 230, 227); + } + .ir { + border-color: currentcolor; + background-color: transparent; + } + .visuallyhidden { + border-color: currentcolor; + } + .fa-border { + border-color: rgb(53, 57, 59); + } + .fa-inverse { + color: rgb(232, 230, 227); + } + .sr-only { + border-color: currentcolor; + } + .fa::before, + .icon::before, + .rst-content .admonition-title::before, + .rst-content .code-block-caption .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 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 span.toctree-expand::before, + .wy-menu-vertical li.on a span.toctree-expand::before, + .wy-menu-vertical li span.toctree-expand::before { + text-decoration-color: inherit; + } + .rst-content .code-block-caption 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 table > caption a .headerlink, + .rst-content tt.download a span:first-child, + .wy-menu-vertical li.current > a span.toctree-expand, + .wy-menu-vertical li.on a span.toctree-expand, + .wy-menu-vertical li a span.toctree-expand, + a .fa, + a .icon, + a .rst-content .admonition-title, + a .rst-content .code-block-caption .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 table > caption .headerlink, + a .rst-content tt.download span:first-child, + a .wy-menu-vertical li span.toctree-expand { + text-decoration-color: inherit; + } + .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 { + background-color: rgb(32, 35, 36); + background-image: none; + } + .rst-content .admonition-title, + .wy-alert-title { + color: rgb(232, 230, 227); + background-color: rgb(29, 91, 131); + background-image: none; + } + .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-color: rgb(52, 12, 8); + background-image: none; + } + .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-color: rgb(108, 22, 13); + background-image: none; + } + .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-color: rgb(82, 53, 0); + background-image: none; + } + .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-color: rgb(123, 65, 14); + background-image: none; + } + .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-color: rgb(32, 35, 36); + background-image: none; + } + .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-color: rgb(29, 91, 131); + background-image: none; + } + .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-color: rgb(9, 66, 58); + background-image: none; + } + .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-color: rgb(21, 150, 125); + background-image: none; + } + .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-color: rgb(27, 36, 36); + background-image: none; + } + .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: rgb(192, 186, 178); + background-color: rgb(40, 43, 45); + background-image: none; + } + .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: rgb(84, 164, 217); + } + .wy-tray-container li { + background-color: transparent; + background-image: none; + color: rgb(232, 230, 227); + box-shadow: rgba(0, 0, 0, 0.1) 0px 5px 5px 0px; + } + .wy-tray-container li.wy-tray-item-success { + background-color: rgb(31, 139, 77); + background-image: none; + } + .wy-tray-container li.wy-tray-item-info { + background-color: rgb(42, 147, 205); + background-image: none; + } + .wy-tray-container li.wy-tray-item-warning { + background-color: rgb(178, 94, 20); + background-image: none; + } + .wy-tray-container li.wy-tray-item-danger { + background-color: rgb(162, 33, 20); + background-image: none; + } + button::-moz-focus-inner, + input::-moz-focus-inner { + border-color: currentcolor; + } + .btn { + color: rgb(232, 230, 227); + border-color: rgba(140, 130, 115, 0.1); + background-color: rgb(31, 139, 77); + text-decoration-color: currentcolor; + box-shadow: rgba(24, 26, 27, 0.5) 0px 1px 2px -1px inset, + rgba(0, 0, 0, 0.1) 0px -2px 0px 0px inset; + } + .btn-hover { + background-color: rgb(37, 114, 165); + background-image: none; + color: rgb(232, 230, 227); + } + .btn:hover { + background-color: rgb(35, 156, 86); + background-image: none; + color: rgb(232, 230, 227); + } + .btn:focus { + background-color: rgb(35, 156, 86); + background-image: none; + outline-color: currentcolor; + } + .btn:active { + box-shadow: rgba(0, 0, 0, 0.05) 0px -1px 0px 0px inset, + rgba(0, 0, 0, 0.1) 0px 2px 0px 0px inset; + } + .btn:visited { + color: rgb(232, 230, 227); + } + .btn-disabled, + .btn-disabled:active, + .btn-disabled:focus, + .btn-disabled:hover, + .btn:disabled { + background-image: none; + box-shadow: none; + } + .btn::-moz-focus-inner { + border-color: currentcolor; + } + .btn-info { + background-color: rgb(42, 147, 205) !important; + } + .btn-info:hover { + background-color: rgb(37, 114, 165) !important; + } + .btn-neutral { + background-color: rgb(27, 36, 36) !important; + color: rgb(192, 186, 178) !important; + } + .btn-neutral:hover { + background-color: rgb(34, 44, 44) !important; + color: rgb(192, 186, 178); + } + .btn-neutral:visited { + color: rgb(192, 186, 178) !important; + } + .btn-success { + background-color: rgb(31, 139, 77) !important; + } + .btn-success:hover { + background-color: rgb(27, 122, 68) !important; + } + .btn-danger { + background-color: rgb(162, 33, 20) !important; + } + .btn-danger:hover { + background-color: rgb(149, 30, 18) !important; + } + .btn-warning { + background-color: rgb(178, 94, 20) !important; + } + .btn-warning:hover { + background-color: rgb(165, 87, 18) !important; + } + .btn-invert { + background-color: rgb(26, 28, 29); + } + .btn-invert:hover { + background-color: rgb(35, 38, 40) !important; + } + .btn-link { + background-color: transparent !important; + color: rgb(84, 164, 217); + box-shadow: none; + border-color: transparent !important; + } + .btn-link:active, + .btn-link:hover { + background-color: transparent !important; + color: rgb(79, 162, 216) !important; + box-shadow: none; + } + .btn-link:visited { + color: rgb(164, 103, 188); + } + .wy-dropdown-menu { + background-color: rgb(26, 28, 29); + background-image: none; + border-color: rgb(60, 65, 67); + box-shadow: rgba(0, 0, 0, 0.1) 0px 2px 2px 0px; + } + .wy-dropdown-menu > dd > a { + color: rgb(192, 186, 178); + } + .wy-dropdown-menu > dd > a:hover { + background-color: rgb(42, 147, 205); + background-image: none; + color: rgb(232, 230, 227); + } + .wy-dropdown-menu > dd.divider { + border-top-color: rgb(60, 65, 67); + } + .wy-dropdown-menu > dd.call-to-action { + background-color: rgb(40, 43, 45); + background-image: none; + } + .wy-dropdown-menu > dd.call-to-action:hover { + background-color: rgb(40, 43, 45); + background-image: none; + } + .wy-dropdown-menu > dd.call-to-action .btn { + color: rgb(232, 230, 227); + } + .wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu { + background-color: rgb(26, 28, 29); + background-image: none; + } + .wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a:hover { + background-color: rgb(42, 147, 205); + background-image: none; + color: rgb(232, 230, 227); + } + .wy-dropdown-arrow::before { + border-bottom-color: rgb(51, 55, 57); + border-left-color: transparent; + border-right-color: transparent; + } + fieldset, + legend { + border-color: currentcolor; + } + label { + color: rgb(200, 195, 188); + } + .wy-control-group.wy-control-group-required > label::after { + color: rgb(233, 88, 73); + } + .wy-form-message-inline { + color: rgb(168, 160, 149); + } + .wy-form-message { + color: rgb(168, 160, 149); + } + 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"] { + border-color: rgb(62, 68, 70); + box-shadow: rgb(43, 47, 49) 0px 1px 3px inset; + } + 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-color: currentcolor; + border-color: rgb(123, 114, 101); + } + input.no-focus:focus { + border-color: rgb(62, 68, 70) !important; + } + input[type="checkbox"]:focus, input[type="file"]:focus, input[type="radio"]:focus { + outline-color: rgb(13, 113, 167); + } + 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] { + background-color: rgb(27, 29, 30); + } + input:focus:invalid, + select:focus:invalid, + textarea:focus:invalid { + color: rgb(233, 88, 73); + border-color: rgb(149, 31, 18); + } + input:focus:invalid:focus, + select:focus:invalid:focus, + textarea:focus:invalid:focus { + border-color: rgb(149, 31, 18); + } + input[type="checkbox"]:focus:invalid:focus, input[type="file"]:focus:invalid:focus, input[type="radio"]:focus:invalid:focus { + outline-color: rgb(149, 31, 18); + } + select, + textarea { + border-color: rgb(62, 68, 70); + box-shadow: rgb(43, 47, 49) 0px 1px 3px inset; + } + select { + border-color: rgb(62, 68, 70); + background-color: rgb(40, 40, 40); + } + select:focus, + textarea:focus { + outline-color: currentcolor; + } + input[readonly], + select[disabled], + select[readonly], + textarea[disabled], + textarea[readonly] { + background-color: rgb(27, 29, 30); + } + .wy-checkbox, + .wy-radio { + color: rgb(192, 186, 178); + } + .wy-input-prefix .wy-input-context, + .wy-input-suffix .wy-input-context { + background-color: rgb(27, 36, 36); + border-color: rgb(62, 68, 70); + color: rgb(168, 160, 149); + } + .wy-input-suffix .wy-input-context { + border-left-color: currentcolor; + } + .wy-input-prefix .wy-input-context { + border-right-color: currentcolor; + } + .wy-switch::before { + background-color: rgb(53, 57, 59); + background-image: none; + } + .wy-switch::after { + background-color: rgb(82, 88, 92); + background-image: none; + } + .wy-switch span { + color: rgb(200, 195, 188); + } + .wy-switch.active::before { + background-color: rgb(24, 106, 58); + background-image: none; + } + .wy-switch.active::after { + background-color: rgb(31, 139, 77); + background-image: none; + } + .wy-control-group.wy-control-group-error .wy-form-message, + .wy-control-group.wy-control-group-error > label { + color: rgb(233, 88, 73); + } + .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-color: rgb(149, 31, 18); + } + .wy-inline-validate.wy-inline-validate-success .wy-input-context { + color: rgb(92, 218, 145); + } + .wy-inline-validate.wy-inline-validate-danger .wy-input-context { + color: rgb(233, 88, 73); + } + .wy-inline-validate.wy-inline-validate-warning .wy-input-context { + color: rgb(232, 138, 54); + } + .wy-inline-validate.wy-inline-validate-info .wy-input-context { + color: rgb(84, 164, 217); + } + .rst-content table.docutils caption, + .rst-content table.field-list caption, + .wy-table caption { + color: rgb(232, 230, 227); + } + .rst-content table.docutils thead, + .rst-content table.field-list thead, + .wy-table thead { + color: rgb(232, 230, 227); + } + .rst-content table.docutils thead th, + .rst-content table.field-list thead th, + .wy-table thead th { + border-bottom-color: rgb(56, 61, 63); + } + .rst-content table.docutils td, + .rst-content table.field-list td, + .wy-table td { + background-color: transparent; + } + .wy-table-secondary { + color: rgb(152, 143, 129); + } + .wy-table-tertiary { + color: rgb(152, 143, 129); + } + .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: rgb(27, 36, 36); + } + .rst-content table.docutils, + .wy-table-bordered-all { + border-color: rgb(56, 61, 63); + } + .rst-content table.docutils td, + .wy-table-bordered-all td { + border-bottom-color: rgb(56, 61, 63); + border-left-color: rgb(56, 61, 63); + } + .wy-table-bordered { + border-color: rgb(56, 61, 63); + } + .wy-table-bordered-rows td { + border-bottom-color: rgb(56, 61, 63); + } + .wy-table-horizontal td, + .wy-table-horizontal th { + border-bottom-color: rgb(56, 61, 63); + } + a { + color: rgb(84, 164, 217); + text-decoration-color: currentcolor; + } + a:hover { + color: rgb(68, 156, 214); + } + a:visited { + color: rgb(164, 103, 188); + } + body { + color: rgb(192, 186, 178); + background-color: rgb(33, 35, 37); + background-image: none; + } + .wy-text-strike { + text-decoration-color: currentcolor; + } + .wy-text-warning { + color: rgb(232, 138, 54) !important; + } + a.wy-text-warning:hover { + color: rgb(236, 157, 87) !important; + } + .wy-text-info { + color: rgb(84, 164, 217) !important; + } + a.wy-text-info:hover { + color: rgb(79, 162, 216) !important; + } + .wy-text-success { + color: rgb(92, 218, 145) !important; + } + a.wy-text-success:hover { + color: rgb(73, 214, 133) !important; + } + .wy-text-danger { + color: rgb(233, 88, 73) !important; + } + a.wy-text-danger:hover { + color: rgb(237, 118, 104) !important; + } + .wy-text-neutral { + color: rgb(192, 186, 178) !important; + } + a.wy-text-neutral:hover { + color: rgb(176, 169, 159) !important; + } + hr { + border-color: rgb(56, 61, 63) currentcolor currentcolor; + } + .rst-content code, + .rst-content tt, + code { + background-color: rgb(40, 40, 40); + background-image: none; + border-color: rgb(56, 61, 63); + color: rgb(255, 255, 255); + } + .rst-content .section ul, + .rst-content .toctree-wrapper ul, + .wy-plain-list-disc, + article ul { + list-style-image: none; + } + .rst-content .section ul li, + .rst-content .toctree-wrapper ul li, + .wy-plain-list-disc li, + article ul li { + list-style-image: none; + } + .rst-content .section ul li li, + .rst-content .toctree-wrapper ul li li, + .wy-plain-list-disc li li, + article ul li li { + list-style-image: none; + } + .rst-content .section ul li li li, + .rst-content .toctree-wrapper ul li li li, + .wy-plain-list-disc li li li, + article ul li li li { + list-style-image: none; + } + .rst-content .section ul li ol li, + .rst-content .toctree-wrapper ul li ol li, + .wy-plain-list-disc li ol li, + article ul li ol li { + list-style-image: none; + } + .rst-content .section ol, + .rst-content ol.arabic, + .wy-plain-list-decimal, + article ol { + list-style-image: none; + } + .rst-content .section ol li, + .rst-content ol.arabic li, + .wy-plain-list-decimal li, + article ol li { + list-style-image: none; + } + .rst-content .section ol li ul li, + .rst-content ol.arabic li ul li, + .wy-plain-list-decimal li ul li, + article ol li ul li { + list-style-image: none; + } + .rst-content .wy-breadcrumbs li tt, + .wy-breadcrumbs li .rst-content tt, + .wy-breadcrumbs li code { + border-color: currentcolor; + background-color: rgba(0, 0, 0, 0); + background-image: none; + } + .rst-content .wy-breadcrumbs li tt.literal, + .wy-breadcrumbs li .rst-content tt.literal, + .wy-breadcrumbs li code.literal { + color: rgb(192, 186, 178); + } + .wy-breadcrumbs-extra { + color: rgb(184, 178, 169); + } + .wy-menu a:hover { + text-decoration-color: currentcolor; + } + .wy-menu-horiz li:hover { + background-color: rgba(24, 26, 27, 0.1); + background-image: none; + } + .wy-menu-horiz li.divide-left { + border-left-color: rgb(119, 110, 98); + } + .wy-menu-horiz li.divide-right { + border-right-color: rgb(119, 110, 98); + } + .wy-menu-vertical header, + .wy-menu-vertical p.caption { + color: rgb(94, 170, 219); + } + .wy-menu-vertical li.divide-top { + border-top-color: rgb(119, 110, 98); + } + .wy-menu-vertical li.divide-bottom { + border-bottom-color: rgb(119, 110, 98); + } + .wy-menu-vertical li.current { + background-color: rgb(40, 43, 45); + background-image: none; + } + .wy-menu-vertical li.current a { + color: rgb(152, 143, 129); + border-right-color: rgb(63, 69, 71); + } + .wy-menu-vertical li.current a:hover { + background-color: rgb(47, 51, 53); + background-image: none; + } + .rst-content .wy-menu-vertical li tt, + .wy-menu-vertical li .rst-content tt, + .wy-menu-vertical li code { + border-color: currentcolor; + background-color: inherit; + background-image: inherit; + color: inherit; + } + .wy-menu-vertical li span.toctree-expand { + color: rgb(183, 177, 168); + } + .wy-menu-vertical li.current > a, + .wy-menu-vertical li.on a { + color: rgb(192, 186, 178); + background-color: rgb(26, 28, 29); + background-image: none; + border-color: currentcolor; + } + .wy-menu-vertical li.current > a:hover, + .wy-menu-vertical li.on a:hover { + background-color: rgb(26, 28, 29); + background-image: none; + } + .wy-menu-vertical li.current > a:hover span.toctree-expand, + .wy-menu-vertical li.on a:hover span.toctree-expand { + color: rgb(152, 143, 129); + } + .wy-menu-vertical li.current > a span.toctree-expand, + .wy-menu-vertical li.on a span.toctree-expand { + color: rgb(200, 195, 188); + } + .wy-menu-vertical li.toctree-l1.current > a { + border-bottom-color: rgb(63, 69, 71); + border-top-color: rgb(63, 69, 71); + } + .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: rgb(192, 186, 178); + } + .wy-menu-vertical li.toctree-l2 a:hover span.toctree-expand, + .wy-menu-vertical li.toctree-l3 a:hover span.toctree-expand, + .wy-menu-vertical li.toctree-l4 a:hover span.toctree-expand, + .wy-menu-vertical li.toctree-l5 a:hover span.toctree-expand, + .wy-menu-vertical li.toctree-l6 a:hover span.toctree-expand, + .wy-menu-vertical li.toctree-l7 a:hover span.toctree-expand, + .wy-menu-vertical li.toctree-l8 a:hover span.toctree-expand, + .wy-menu-vertical li.toctree-l9 a:hover span.toctree-expand, + .wy-menu-vertical li.toctree-l10 a:hover span.toctree-expand { + color: rgb(152, 143, 129); + } + .wy-menu-vertical li.toctree-l2.current > a, + .wy-menu-vertical li.toctree-l2.current li.toctree-l3 > a { + background-color: rgb(54, 59, 61); + background-image: none; + } + .wy-menu-vertical li.toctree-l2 span.toctree-expand { + color: rgb(174, 167, 156); + } + .wy-menu-vertical li.toctree-l3.current > a, + .wy-menu-vertical li.toctree-l3.current li.toctree-l4 > a { + background-color: rgb(61, 66, 69); + background-image: none; + } + .wy-menu-vertical li.toctree-l3 span.toctree-expand { + color: rgb(166, 158, 146); + } + .wy-menu-vertical li ul li a { + color: rgb(208, 204, 198); + } + .wy-menu-vertical a { + color: rgb(208, 204, 198); + } + .wy-menu-vertical a:hover { + background-color: rgb(57, 62, 64); + } + .wy-menu-vertical a:hover span.toctree-expand { + color: rgb(208, 204, 198); + } + .wy-menu-vertical a:active { + background-color: rgb(42, 147, 205); + color: rgb(232, 230, 227); + } + .wy-menu-vertical a:active span.toctree-expand { + color: rgb(232, 230, 227); + } + .wy-side-nav-search { + background-color: rgb(42, 147, 205); + color: rgb(230, 228, 225); + } + .wy-side-nav-search input[type="text"] { + border-color: rgb(35, 111, 160); + } + .wy-side-nav-search img { + background-color: rgb(42, 147, 205); + } + .wy-side-nav-search .wy-dropdown > a, + .wy-side-nav-search > a { + color: rgb(230, 228, 225); + } + .wy-side-nav-search .wy-dropdown > a:hover, + .wy-side-nav-search > a:hover { + background-color: rgba(24, 26, 27, 0.1); + background-image: none; + } + .wy-side-nav-search .wy-dropdown > a img.logo, + .wy-side-nav-search > a img.logo { + background-color: transparent; + background-image: none; + } + .wy-side-nav-search > div.version { + color: rgba(232, 230, 227, 0.3); + } + .wy-nav .wy-menu-vertical header { + color: rgb(84, 164, 217); + } + .wy-nav .wy-menu-vertical a { + color: rgb(184, 178, 169); + } + .wy-nav .wy-menu-vertical a:hover { + background-color: rgb(42, 147, 205); + color: rgb(232, 230, 227); + } + .wy-body-for-nav { + background-color: rgb(23, 23, 23); + background-image: none; + } + .wy-nav-side { + color: rgb(169, 161, 150); + background-color: rgb(38, 41, 43); + background-image: none; + } + .wy-nav-top { + background-color: rgb(42, 147, 205); + background-image: none; + color: rgb(232, 230, 227); + } + .wy-nav-top a { + color: rgb(232, 230, 227); + } + .wy-nav-top img { + background-color: rgb(42, 147, 205); + } + .wy-nav-content-wrap { + background-color: rgb(26, 28, 29); + background-image: none; + } + .wy-body-mask { + background-color: rgba(0, 0, 0, 0.2); + background-image: none; + } + footer { + color: rgb(152, 143, 129); + } + .rst-content footer span.commit tt, + footer span.commit .rst-content tt, + footer span.commit code { + background-color: rgba(0, 0, 0, 0); + background-image: none; + border-color: currentcolor; + color: rgb(152, 143, 129); + } + #search-results .search li { + border-bottom-color: rgb(56, 61, 63); + } + #search-results .search li:first-child { + border-top-color: rgb(56, 61, 63); + } + #search-results .context { + color: rgb(152, 143, 129); + } + .wy-body-for-nav { + background-color: rgb(23, 23, 23); + background-image: none; + } + @media screen and (min-width: 1100px) { + .wy-nav-content-wrap { + background-color: rgba(0, 0, 0, 0.05); + background-image: none; + } + .wy-nav-content { + background-color: rgb(26, 28, 29); + background-image: none; + } + } + .rst-versions { + color: rgb(230, 228, 225); + background-color: rgb(23, 24, 25); + background-image: none; + } + .rst-versions a { + color: rgb(84, 164, 217); + text-decoration-color: currentcolor; + } + .rst-versions .rst-current-version { + background-color: rgb(29, 31, 32); + color: rgb(92, 218, 145); + } + .rst-content .code-block-caption .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.caption .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 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.caption .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 span.toctree-expand, + .wy-menu-vertical li .rst-versions .rst-current-version span.toctree-expand { + color: rgb(230, 228, 225); + } + .rst-versions .rst-current-version.rst-out-of-date { + background-color: rgb(162, 33, 20); + color: rgb(232, 230, 227); + } + .rst-versions .rst-current-version.rst-active-old-version { + background-color: rgb(192, 156, 11); + color: rgb(232, 230, 227); + } + .rst-versions .rst-other-versions { + color: rgb(152, 143, 129); + } + .rst-versions .rst-other-versions hr { + border-color: rgb(119, 111, 98) currentcolor currentcolor; + } + .rst-versions .rst-other-versions dd a { + color: rgb(230, 228, 225); + } + .rst-versions.rst-badge { + border-color: currentcolor; + } + .rst-content abbr[title] { + text-decoration-color: currentcolor; + } + .rst-content.style-external-links a.reference.external::after { + color: rgb(184, 178, 169); + } + .rst-content div[class^="highlight"], + .rst-content pre.literal-block { + border-color: rgb(56, 61, 63); + } + .rst-content div[class^="highlight"] div[class^="highlight"], .rst-content pre.literal-block div[class^="highlight"] { + border-color: currentcolor; + } + .rst-content .linenodiv pre { + border-right-color: rgb(54, 59, 61); + } + .rst-content .admonition table { + border-color: rgba(140, 130, 115, 0.1); + } + .rst-content .admonition table td, + .rst-content .admonition table th { + background-color: transparent !important; + background-image: none !important; + border-color: rgba(140, 130, 115, 0.1) !important; + } + .rst-content .section ol.loweralpha, + .rst-content .section ol.loweralpha > li { + list-style-image: none; + } + .rst-content .section ol.upperalpha, + .rst-content .section ol.upperalpha > li { + list-style-image: none; + } + .rst-content .toc-backref { + color: rgb(192, 186, 178); + } + .rst-content .sidebar { + background-color: rgb(27, 36, 36); + background-image: none; + border-color: rgb(56, 61, 63); + } + .rst-content .sidebar .sidebar-title { + background-color: rgb(40, 43, 45); + background-image: none; + } + .rst-content .highlighted { + background-color: rgb(192, 156, 11); + background-image: none; + box-shadow: rgb(192, 156, 11) 0px 0px 0px 2px; + } + html.writer-html4 .rst-content table.docutils.citation, + html.writer-html4 .rst-content table.docutils.footnote { + background-color: rgba(0, 0, 0, 0); + background-image: none; + border-color: currentcolor; + } + 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-color: currentcolor; + background-color: transparent !important; + } + .rst-content table.docutils.footnote, + html.writer-html4 .rst-content table.docutils.citation, + html.writer-html5 .rst-content dl.footnote { + color: rgb(152, 143, 129); + } + .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 dl.footnote code, + html.writer-html5 .rst-content dl.footnote tt { + color: rgb(178, 172, 162); + } + .rst-content table.docutils th { + border-color: rgb(56, 61, 63); + } + html.writer-html5 .rst-content table.docutils th { + border-color: rgb(56, 61, 63); + } + .rst-content table.field-list, + .rst-content table.field-list td { + border-color: currentcolor; + } + .rst-content code, + .rst-content tt { + color: rgb(232, 230, 227); + } + .rst-content code.literal, + .rst-content tt.literal { + color: rgb(255, 255, 255); + } + .rst-content code.xref, + .rst-content tt.xref, + a .rst-content code, + a .rst-content tt { + color: rgb(192, 186, 178); + } + .rst-content a code, + .rst-content a tt { + color: rgb(84, 164, 217); + } + 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(.glossary):not(.simple) > dt { + background-color: rgb(32, 35, 36); + background-image: none; + color: rgb(84, 164, 217); + border-top-color: rgb(28, 89, 128); + } + 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(.glossary):not(.simple) > dt::before { + color: rgb(109, 178, 223); + } + 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(.glossary):not(.simple) > dt .headerlink { + color: rgb(192, 186, 178); + } + html.writer-html4 .rst-content dl:not(.docutils) dl:not(.field-list) > dt, + html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dl:not(.field-list) > dt { + border-color: currentcolor currentcolor currentcolor rgb(62, 68, 70); + background-color: rgb(32, 35, 37); + background-image: none; + color: rgb(178, 172, 162); + } + html.writer-html4 .rst-content dl:not(.docutils) dl:not(.field-list) > dt .headerlink, + html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dl:not(.field-list) > dt .headerlink { + color: rgb(192, 186, 178); + } + 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(.glossary):not(.simple) code.descclassname, + html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) code.descname, + html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) tt.descclassname, + html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) tt.descname { + background-color: transparent; + border-color: currentcolor; + } + 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(.glossary):not(.simple) .optional { + color: rgb(232, 230, 227); + } + .rst-content .viewcode-back, + .rst-content .viewcode-link { + color: rgb(92, 218, 145); + } + .rst-content code.download, + .rst-content tt.download { + background-color: inherit; + background-image: inherit; + color: inherit; + border-color: inherit; + } + .rst-content .guilabel { + border-color: rgb(27, 84, 122); + background-color: rgb(32, 35, 36); background-image: none; + } + span[id*="MathJax-Span"] { + color: rgb(192, 186, 178); + } + .rst-other-versions a { + border-color: currentcolor; + } + .ethical-sidebar .ethical-image-link, + .ethical-footer .ethical-image-link { + border-color: currentcolor; + } + .ethical-sidebar, + .ethical-footer { + background-color: rgb(34, 36, 38); + border-color: rgb(62, 68, 70); + color: rgb(226, 223, 219); + } + .ethical-sidebar ul { + list-style-image: none; + } + .ethical-sidebar ul li { + background-color: rgb(5, 77, 121); + color: rgb(232, 230, 227); + } + .ethical-sidebar a, + .ethical-sidebar a:visited, + .ethical-sidebar a:hover, + .ethical-sidebar a:active, + .ethical-footer a, + .ethical-footer a:visited, + .ethical-footer a:hover, + .ethical-footer a:active { + color: rgb(226, 223, 219); + text-decoration-color: currentcolor !important; + border-bottom-color: currentcolor !important; + } + .ethical-callout a { + color: rgb(161, 153, 141) !important; + text-decoration-color: currentcolor !important; + } + .ethical-fixedfooter { + background-color: rgb(34, 36, 38); + border-top-color: rgb(66, 72, 74); + color: rgb(192, 186, 178); + } + .ethical-fixedfooter .ethical-text::before { + background-color: rgb(61, 140, 64); + color: rgb(232, 230, 227); + } + .ethical-fixedfooter .ethical-callout { + color: rgb(168, 160, 149); + } + .ethical-fixedfooter a, + .ethical-fixedfooter a:hover, + .ethical-fixedfooter a:active, + .ethical-fixedfooter a:visited { + color: rgb(192, 186, 178); + text-decoration-color: currentcolor; + } + .ethical-rtd .ethical-sidebar { + color: rgb(184, 178, 169); + } + .ethical-alabaster a.ethical-image-link { + border-color: currentcolor !important; + } + .ethical-dark-theme .ethical-sidebar { + background-color: rgb(58, 62, 65); + border-color: rgb(75, 81, 84); + color: rgb(193, 188, 180) !important; + } + .ethical-dark-theme a, + .ethical-dark-theme a:visited { + color: rgb(216, 213, 208) !important; + border-bottom-color: currentcolor !important; + } + .ethical-dark-theme .ethical-callout a { + color: rgb(184, 178, 169) !important; + } + .keep-us-sustainable { + border-color: rgb(87, 133, 38); + } + .keep-us-sustainable a, + .keep-us-sustainable a:hover, + .keep-us-sustainable a:visited { + text-decoration-color: currentcolor; + } + .wy-nav-side .keep-us-sustainable { + color: rgb(184, 178, 169); + } + .wy-nav-side .keep-us-sustainable a { + color: rgb(222, 219, 215); + } + [data-ea-publisher].loaded a, + [data-ea-type].loaded a { + text-decoration-color: currentcolor; + } + [data-ea-publisher].loaded .ea-content, + [data-ea-type].loaded .ea-content { + background-color: rgba(0, 0, 0, 0.03); + background-image: none; + color: rgb(181, 175, 166); + } + [data-ea-publisher].loaded .ea-content a:link, + [data-ea-type].loaded .ea-content a:link { + color: rgb(181, 175, 166); + } + [data-ea-publisher].loaded .ea-content a:visited, + [data-ea-type].loaded .ea-content a:visited { + color: rgb(181, 175, 166); + } + [data-ea-publisher].loaded .ea-content a:hover, + [data-ea-type].loaded .ea-content a:hover { + color: rgb(197, 192, 185); + } + [data-ea-publisher].loaded .ea-content a:active, + [data-ea-type].loaded .ea-content a:active { + color: rgb(197, 192, 185); + } + [data-ea-publisher].loaded .ea-content a strong, + [data-ea-publisher].loaded .ea-content a b, + [data-ea-type].loaded .ea-content a strong, + [data-ea-type].loaded .ea-content a b { + color: rgb(52, 175, 248); + } + [data-ea-publisher].loaded .ea-callout a:link, + [data-ea-type].loaded .ea-callout a:link { + color: rgb(165, 157, 146); + } + [data-ea-publisher].loaded .ea-callout a:visited, + [data-ea-type].loaded .ea-callout a:visited { + color: rgb(165, 157, 146); + } + [data-ea-publisher].loaded .ea-callout a:hover, + [data-ea-type].loaded .ea-callout a:hover { + color: rgb(181, 175, 166); + } + [data-ea-publisher].loaded .ea-callout a:active, + [data-ea-type].loaded .ea-callout a:active { + color: rgb(181, 175, 166); + } + [data-ea-publisher].loaded .ea-callout a strong, + [data-ea-publisher].loaded .ea-callout a b, + [data-ea-type].loaded .ea-callout a strong, + [data-ea-type].loaded .ea-callout a b { + color: rgb(52, 175, 248); + } + [data-ea-publisher].loaded.dark .ea-content, + [data-ea-type].loaded.dark .ea-content { + background-color: rgba(24, 26, 27, 0.05); + background-image: none; + color: rgb(210, 206, 200); + } + [data-ea-publisher].loaded.dark .ea-content a:link, + [data-ea-type].loaded.dark .ea-content a:link { + color: rgb(210, 206, 200); + } + [data-ea-publisher].loaded.dark .ea-content a:visited, + [data-ea-type].loaded.dark .ea-content a:visited { + color: rgb(210, 206, 200); + } + [data-ea-publisher].loaded.dark .ea-content a:hover, + [data-ea-type].loaded.dark .ea-content a:hover { + color: rgb(226, 224, 220); + } + [data-ea-publisher].loaded.dark .ea-content a:active, + [data-ea-type].loaded.dark .ea-content a:active { + color: rgb(226, 224, 220); + } + [data-ea-publisher].loaded.dark .ea-content a strong, + [data-ea-publisher].loaded.dark .ea-content a b, + [data-ea-type].loaded.dark .ea-content a strong, + [data-ea-type].loaded.dark .ea-content a b { + color: rgb(83, 187, 249); + } + [data-ea-publisher].loaded.dark .ea-callout a:link, + [data-ea-type].loaded.dark .ea-callout a:link { + color: rgb(194, 189, 181); + } + [data-ea-publisher].loaded.dark .ea-callout a:visited, + [data-ea-type].loaded.dark .ea-callout a:visited { + color: rgb(194, 189, 181); + } + [data-ea-publisher].loaded.dark .ea-callout a:hover, + [data-ea-type].loaded.dark .ea-callout a:hover { + color: rgb(210, 206, 200); + } + [data-ea-publisher].loaded.dark .ea-callout a:active, + [data-ea-type].loaded.dark .ea-callout a:active { + color: rgb(210, 206, 200); + } + [data-ea-publisher].loaded.dark .ea-callout a strong, + [data-ea-publisher].loaded.dark .ea-callout a b, + [data-ea-type].loaded.dark .ea-callout a strong, + [data-ea-type].loaded.dark .ea-callout a b { + color: rgb(83, 187, 249); + } + [data-ea-publisher].loaded.adaptive .ea-content, + [data-ea-type].loaded.adaptive .ea-content { + background-color: rgba(24, 26, 27, 0.05); + background-image: none; + color: rgb(210, 206, 200); + } + [data-ea-publisher].loaded.adaptive .ea-content a:link, + [data-ea-type].loaded.adaptive .ea-content a:link { + color: rgb(210, 206, 200); + } + [data-ea-publisher].loaded.adaptive .ea-content a:visited, + [data-ea-type].loaded.adaptive .ea-content a:visited { + color: rgb(210, 206, 200); + } + [data-ea-publisher].loaded.adaptive .ea-content a:hover, + [data-ea-type].loaded.adaptive .ea-content a:hover { + color: rgb(226, 224, 220); + } + [data-ea-publisher].loaded.adaptive .ea-content a:active, + [data-ea-type].loaded.adaptive .ea-content a:active { + color: rgb(226, 224, 220); + } + [data-ea-publisher].loaded.adaptive .ea-content a strong, + [data-ea-publisher].loaded.adaptive .ea-content a b, + [data-ea-type].loaded.adaptive .ea-content a strong, + [data-ea-type].loaded.adaptive .ea-content a b { + color: rgb(83, 187, 249); + } + [data-ea-publisher].loaded.adaptive .ea-callout a:link, + [data-ea-type].loaded.adaptive .ea-callout a:link { + color: rgb(194, 189, 181); + } + [data-ea-publisher].loaded.adaptive .ea-callout a:visited, + [data-ea-type].loaded.adaptive .ea-callout a:visited { + color: rgb(194, 189, 181); + } + [data-ea-publisher].loaded.adaptive .ea-callout a:hover, + [data-ea-type].loaded.adaptive .ea-callout a:hover { + color: rgb(210, 206, 200); + } + [data-ea-publisher].loaded.adaptive .ea-callout a:active, + [data-ea-type].loaded.adaptive .ea-callout a:active { + color: rgb(210, 206, 200); + } + [data-ea-publisher].loaded.adaptive .ea-callout a strong, + [data-ea-publisher].loaded.adaptive .ea-callout a b, + [data-ea-type].loaded.adaptive .ea-callout a strong, + [data-ea-type].loaded.adaptive .ea-callout a b { + color: rgb(83, 187, 249); + } + [data-ea-publisher].loaded .ea-content, + [data-ea-type].loaded .ea-content { + border-color: currentcolor; + box-shadow: rgba(0, 0, 0, 0.15) 0px 2px 3px; + } + [data-ea-publisher].loaded.raised .ea-content, + [data-ea-type].loaded.raised .ea-content { + border-color: currentcolor; + box-shadow: rgba(0, 0, 0, 0.15) 0px 2px 3px; + } + [data-ea-publisher].loaded.bordered .ea-content, + [data-ea-type].loaded.bordered .ea-content { + border-color: rgba(140, 130, 115, 0.04); + box-shadow: none; + } + [data-ea-publisher].loaded.bordered.dark .ea-content, + [data-ea-type].loaded.bordered.dark .ea-content { + border-color: rgba(48, 52, 54, 0.07); + } + [data-ea-publisher].loaded.bordered.adaptive .ea-content, + [data-ea-type].loaded.bordered.adaptive .ea-content { + border-color: rgba(48, 52, 54, 0.07); + } + [data-ea-publisher].loaded.flat .ea-content, + [data-ea-type].loaded.flat .ea-content { + border-color: currentcolor; + box-shadow: none; + } + + /* Override Style */ + .vimvixen-hint { + background-color: #7b5300 !important; + border-color: #d8b013 !important; + color: #f3e8c8 !important; + } + ::placeholder { + opacity: 0.5 !important; + } + #edge-translate-panel-body { + color: var(--darkreader-neutral-text) !important; + } +} diff --git a/docs/source/api/api.rst b/docs/source/api/api.rst index fb44643..4521e28 100644 --- a/docs/source/api/api.rst +++ b/docs/source/api/api.rst @@ -6,26 +6,9 @@ API docs :undoc-members: :show-inheritance: -Main module --------------------------------- - .. toctree:: - :maxdepth: 4 + :maxdepth: 5 flightplandb - -Datatypes --------------------------------- - -.. toctree:: - :maxdepth: 4 - datatypes - -Exceptions --------------------------------- - -.. toctree:: - :maxdepth: 4 - exceptions diff --git a/docs/source/api/flightplandb.rst b/docs/source/api/flightplandb.rst index 5b80167..627066a 100644 --- a/docs/source/api/flightplandb.rst +++ b/docs/source/api/flightplandb.rst @@ -1,4 +1,4 @@ -FlightplanDB docs +Main module ==================== .. automodule:: flightplandb.flightplandb @@ -6,7 +6,7 @@ FlightplanDB docs :undoc-members: Submodules -^^^^^^^^^^^^^^^^^^^^^ +--------------------- .. toctree:: :titlesonly: :glob: diff --git a/docs/source/conf.py b/docs/source/conf.py index d406c0e..cf78d40 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -9,7 +9,6 @@ # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. -# import os import sys sys.path.insert(0, os.path.abspath('../../')) @@ -22,7 +21,7 @@ author = 'PH-KDX' # The full version, including alpha/beta/rc tags -release = '0.3.0' +release = '0.4.0' # -- General configuration --------------------------------------------------- @@ -57,6 +56,15 @@ # html_theme = 'sphinx_rtd_theme' +# The name of an image file (relative to this directory) to place at the top +# of the sidebar. +html_logo = "../../artwork/png/120x120.png" + +# The name of an image file (within the static path) to use as favicon of the +# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 +# pixels large. +html_favicon = "../../artwork/ico/favicon.ico" + # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". @@ -65,3 +73,7 @@ smartquotes = False pygments_style = 'sphinx' + + +def setup(app): + app.add_css_file("css/colourscheme.css") diff --git a/docs/source/user/introduction.rst b/docs/source/user/introduction.rst index 0e41a6c..bf329b5 100644 --- a/docs/source/user/introduction.rst +++ b/docs/source/user/introduction.rst @@ -70,6 +70,20 @@ which should return if all has gone well. +Request Limits +^^^^^^^^^^^^^^^^^^^^ +API requests are rate limited on a 24 hour rolling basis to ensure fair access to all users. +If you reach your daily limit, a +:class:`~flightplandb.exceptions.TooManyRequestsException()` will be raised on +your requests. To check your limit and used requests, look at the output of +:meth:`~flightplandb.FlightPlanDB.limit_cap` and +:meth:`~flightplandb.FlightPlanDB.limit_used` respectively. +These calls, together with :meth:`~flightplandb.FlightPlanDB.ping()`, will not increment your request counter. + +The limit for unauthenticated users is IP-based, and is currently set to 100. +The limit for authenticated users is key-based, and is currently set to 2500. + + Authentication ^^^^^^^^^^^^^^^^^^^^ Whilst many parts of the API are publicly accessible, some endpoints require @@ -78,12 +92,13 @@ authentication with an API access key, which is an alphanumeric string such as specified when initiating a :meth:`~flightplandb.FlightPlanDB` class instance, using the ``key`` argument. -To get an API key, visit your `account settings `_ page. +To get an API key, visit your Flight Plan Database +`account settings `_ page. Your account will need a verified email address to add an API key. Endpoints that require authentication are marked as such in the API docs. Failing to -provide valid authentication credentials on these endpoints will result in a -:class:`~flightplandb.exceptions.ForbiddenException()` being raised. You are responsible +provide valid authentication credentials on these endpoints will result in an +:class:`~flightplandb.exceptions.UnauthorizedException()` being raised. You are responsible for maintaining the security of your private API key, which gives near full access to your Flight Plan Database account. If your key is exposed, please use :meth:`~flightplandb.FlightPlanDB.revoke()` to revoke your key manually. diff --git a/docs/source/user/quickstart.rst b/docs/source/user/quickstart.rst index 55e9580..2429df1 100644 --- a/docs/source/user/quickstart.rst +++ b/docs/source/user/quickstart.rst @@ -28,7 +28,22 @@ This is a small example program which demonstrates basic usage of the library. for plan in lemon_plans: print(plan) + # define a query to search for all plans + query = fpdb.datatypes.PlanQuery(fromICAO="EHAM", + toICAO="EGLL") + # then search for the first three results of that query, sorted by distance + resp = api.plan.search(query, limit=3, sort="distance") + # and print each result in the response + for i in resp: + print(i) + + # fetch the weather for Schiphol Airport + print(api.weather.fetch("EHAM")) + + # then check remaining requests by subtracting the requests made from the total limit + print(api.limit_cap-api.limit_used) + Try saving it in a file called ``test.py`` in your project directory and running it. -Experiment around to see what works! +Experiment around with different commands to get a feel for the library. For specific commands, check out the :doc:`../api/api`. diff --git a/flightplandb/datatypes.py b/flightplandb/datatypes.py index cb504ea..bf2dc84 100644 --- a/flightplandb/datatypes.py +++ b/flightplandb/datatypes.py @@ -36,11 +36,11 @@ class StatusResponse: ---------- message : str The message associated with the status returned - errors : Union[List[str], None] + errors : Optional[List[str]] A list of any errors raised """ message: str - errors: Union[List[str], None] + errors: Optional[List[str]] def _to_api_dict(self): return self.__dict__ @@ -56,7 +56,7 @@ class User: Unique user identifier number username : str Username - location : Optional[Union[str, None]] + location : Optional[str] User provided location information. ``None`` if not available gravatarHash : Optional[str] Gravatar hash based on user's account email address. @@ -75,7 +75,7 @@ class User: """ id: int username: str - location: Optional[Union[str, None]] = None + location: Optional[str] = None gravatarHash: Optional[str] = None joined: Optional[datetime] = None lastSeen: Optional[datetime] = None @@ -109,14 +109,14 @@ class UserSmall: Unique user identifier number username : str Username - location : Optional[Union[str, None]] + location : Optional[str] User provided location information. ``None`` if not available gravatarHash : Optional[str] Gravatar hash based on user's account email address. """ id: int username: str - location: Optional[Union[str, None]] = None + location: Optional[str] = None gravatarHash: Optional[str] = None def _to_api_dict(self): @@ -131,14 +131,14 @@ class Application: ---------- id : int Unique application identifier number - name : Optional[Union[str, None]] + name : Optional[str] Application name - url : Optional[Union[str, None]] + url : Optional[str] Application URL """ id: int - name: Optional[Union[str, None]] = None - url: Optional[Union[str, None]] = None + name: Optional[str] = None + url: Optional[str] = None def _to_api_dict(self): return self.__dict__ @@ -176,7 +176,7 @@ class RouteNode: Attributes ---------- - id: Union[int, None] + id: Optional[int] For some obscure reason an apparently useless id is included with each node when the node is inside a :class:`Track` route. Goodness knows why. @@ -188,11 +188,11 @@ class RouteNode: Node latitude in decimal degrees lon : float Node longitude in decimal degrees - alt : Union[float, None] + alt : Optional[float] Suggested altitude at node - name : Union[str, None] + name : Optional[str] Node name. - via : Union[Via, None] + via : Optional[Via] Route to node. validtypes : List[str] Do not change. Valid RouteNode types. @@ -201,10 +201,10 @@ class RouteNode: type: str lat: float lon: float - id: Union[int, None] = None - alt: Union[float, None] = None - name: Union[str, None] = None - via: Union[Via, None] = None + id: Optional[int] = None + alt: Optional[float] = None + name: Optional[str] = None + via: Optional[Via] = None validtypes = ['UKN', 'APT', 'NDB', 'VOR', 'FIX', 'DME', 'LATLON'] @@ -228,14 +228,14 @@ class Route: ---------- nodes : List[RouteNode] A list of :class:`RouteNode` s. A route must have at least 2 nodes. - eastLevels : Union[List[str], None] + eastLevels : Optional[List[str]] Valid eastbound flightlevels. Only used inside a NATS :class:`Track`. - westLevels : Union[List[str], None] + westLevels : Optional[List[str]] Valid westbound flightlevels. Only used inside a NATS :class:`Track`. """ nodes: List[RouteNode] - eastLevels: Union[List[str], None] = None - westLevels: Union[List[str], None] = None + eastLevels: Optional[List[str]] = None + westLevels: Optional[List[str]] = None def __post_init__(self): self.nodes = list(map( @@ -281,15 +281,15 @@ class Plan: ---------- id : int Unique plan identifier number - fromICAO : Union[str, None] + fromICAO : Optional[str] ICAO code of the departure airport - toICAO : Union[str, None] + toICAO : Optional[str] ICAO code of the destination airport - fromName : Union[str, None] + fromName : Optional[str] Name of the departure airport - toName : Union[str, None] + toName : Optional[str] Name of the destination airport - flightNumber : Optional[Union[str, None]] + flightNumber : Optional[str] Flight number of the flight plan distance : Optional[float] Total distance of the flight plan route @@ -313,21 +313,22 @@ class Plan: UTC Date and time of the last flight plan edit tags : Optional[List[str]] List of flight plan tags - user : Optional[Union[User, None]] + user : Optional[User] User associated with the item. ``None`` if no user linked - application : Optional[Union[Application, None]] + application : Optional[Application] Application associated with the item. ``None`` if no application linked route : Optional[Route] The flight plan route cycle : Optional[Cycle] - The navigation data cycle + Navigation data cycle associated with the item. + ``None`` if no cycle linked """ id: int - fromICAO: Union[str, None] - toICAO: Union[str, None] - fromName: Union[str, None] - toName: Union[str, None] - flightNumber: Optional[Union[str, None]] = None + fromICAO: Optional[str] + toICAO: Optional[str] + fromName: Optional[str] + toName: Optional[str] + flightNumber: Optional[str] = None distance: Optional[float] = None maxAltitude: Optional[float] = None waypoints: Optional[int] = None @@ -339,8 +340,8 @@ class Plan: createdAt: Optional[datetime] = None updatedAt: Optional[datetime] = None tags: Optional[List[str]] = None - user: Optional[Union[User, None]] = None - application: Optional[Union[Application, None]] = None + user: Optional[User] = None + application: Optional[Application] = None route: Optional[Route] = None cycle: Optional[Cycle] = None @@ -483,7 +484,7 @@ class Tag: ---------- name : str Tag name - description : Union[str, None] + description : Optional[str] Description of the tag. ``None`` if no description is available planCount : int Number of plans with this tag @@ -491,7 +492,7 @@ class Tag: Popularity index of the tag """ name: str - description: Union[str, None] + description: Optional[str] planCount: int popularity: int @@ -505,14 +506,14 @@ class Timezone: Attributes ---------- - name : Union[str, None] + name : Optional[str] The IANA timezone the airport is located in. ``None`` if not available - offset : Union[float, None] + offset : Optional[float] The number of seconds the airport timezone is currently offset from UTC. Positive is ahead of UTC. ``None`` if not available """ - name: Union[str, None] - offset: Union[float, None] + name: Optional[str] + offset: Optional[float] def _to_api_dict(self): return self.__dict__ @@ -600,13 +601,13 @@ class Navaid: The airport associated with the navaid runway: str The runway associated with the navaid - frequency: Union[float, None] + frequency: Optional[float] The navaid frequency in Hz. ``None`` if not available - slope: Union[float, None] + slope: Optional[float] The navaid slope in degrees from horizontal used for type GS - bearing: Union[float, None] + bearing: Optional[float] The navaid bearing in true degrees. ``None`` if not available - name: Union[str, None] + name: Optional[str] The navaid name. ``None`` if not available elevation: float The navaid elevation above mean sea level (elevation) @@ -621,10 +622,10 @@ class Navaid: lon: float airport: str runway: str - frequency: Union[float, None] - slope: Union[float, None] - bearing: Union[float, None] - name: Union[str, None] + frequency: Optional[float] + slope: Optional[float] + bearing: Optional[float] + name: Optional[str] elevation: float range: float @@ -704,13 +705,13 @@ class Frequency: The frequency type frequency : float The frequency in Hz - name : Union[str, None] + name : Optional[str] The frequency name. ``None`` if not available """ type: str frequency: float - name: Union[str, None] + name: Optional[str] def _to_api_dict(self): return self.__dict__ @@ -722,13 +723,13 @@ class Weather: Attributes ---------- - METAR : Union[str, None] + METAR : Optional[str] Current METAR report for the airport - TAF : Union[str, None] + TAF : Optional[str] Current TAF report for the airport """ - METAR: Union[str, None] - TAF: Union[str, None] + METAR: Optional[str] + TAF: Optional[str] def _to_api_dict(self): return self.__dict__ @@ -743,11 +744,11 @@ class Airport: ---------- ICAO: str The airport ICAO code - IATA: Union[str, None] + IATA: Optional[str] The airport IATA code. ``None`` if not available name: str The airport name - regionName: Union[str, None] + regionName: Optional[str] The geographical region the airport is located in. ``None`` if not available elevation: float @@ -774,9 +775,9 @@ class Airport: Airport weather information """ ICAO: str - IATA: Union[str, None] + IATA: Optional[str] name: str - regionName: Union[str, None] + regionName: Optional[str] elevation: float lat: float lon: float @@ -870,12 +871,12 @@ class SearchNavaid: The navaid longitude elevation: float The navaid elevation above mean sea level (elevation) - runwayIdent: Union[str, None] + runwayIdent: Optional[str] The runway associated with the navaid. ``None`` if not available - airportICAO: Union[str, None] + airportICAO: Optional[str] The ICAO of the airport associated with the navaid. ``None`` if not available - name: Union[float, None] + name: Optional[float] The navaid name. ``None`` if not available validtypes : List[str] Do not change. Valid SearchNavaid types @@ -885,9 +886,9 @@ class SearchNavaid: lat: float lon: float elevation: float - runwayIdent: Union[str, None] = None - airportICAO: Union[str, None] = None - name: Union[float, None] = None + runwayIdent: Optional[str] = None + airportICAO: Optional[str] = None + name: Optional[float] = None validtypes = ['UKN', 'APT', 'NDB', 'VOR', 'FIX', 'DME', 'LATLON'] diff --git a/flightplandb/exceptions.py b/flightplandb/exceptions.py index c44d040..42c073c 100644 --- a/flightplandb/exceptions.py +++ b/flightplandb/exceptions.py @@ -74,6 +74,20 @@ class NotFoundException(BaseErrorHandler): pass +class TooManyRequestsException(BaseErrorHandler): + """Your requests limit for the server has been exceeded. + Raised for an HTTP status code 429. + + Attributes + ---------- + status_code + Not used + message + A verbose description of this error. + """ + pass + + class InternalServerException(BaseErrorHandler): """Something unspecified went wrong with the server. Raised for an HTTP status code 500. @@ -114,6 +128,11 @@ def status_handler(status_code, ignore_statuses=None): message="The server has not found anything " "matching the Request-URI." ) + elif status_code == 429: + raise TooManyRequestsException( + status_code=status_code, + message="Your requests limit for the server has been exceeded." + ) elif status_code == 500: raise InternalServerException( status_code=status_code, diff --git a/flightplandb/flightplandb.py b/flightplandb/flightplandb.py index 9661c8d..f864848 100644 --- a/flightplandb/flightplandb.py +++ b/flightplandb/flightplandb.py @@ -380,6 +380,7 @@ def _getiter(self, path: str, num_results = 0 r_fpdb = session.get(url, params=params, auth=auth, *args, **kwargs) + status_handler(r_fpdb.status_code, ignore_statuses) # I detest responses which "may" be paginated # therefore I choose to pretend that all pages are paginated @@ -396,6 +397,7 @@ def _getiter(self, path: str, params=params, auth=auth, *args, **kwargs) + status_handler(r_fpdb.status_code, ignore_statuses) # ...keep cycling through pages... for i in r_fpdb.json(): # ...and return every dictionary in there... diff --git a/setup.py b/setup.py index e770e2d..1f5f41e 100644 --- a/setup.py +++ b/setup.py @@ -6,7 +6,7 @@ setup( name="flightplandb", - version="0.3.2", + version="0.4.0", author="PH-KDX", url="https://github.com/PH-KDX/flightplandb-py/", project_urls={