diff --git a/CHANGELOG.md b/CHANGELOG.md index ab4a57d9..741b843f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,17 @@ # Change log +## Version 0.7.21 (2023/07/30) + +### Bugs Fixed + +* [#407](https://github.com/SamR1/FitTrackee/issues/407) - Workout display error when speeds are zero + + +### Misc + +* [PR#409](https://github.com/SamR1/FitTrackee/pull/409) - CI - update actions version + + ## Version 0.7.20 (2023/07/22) ### Features and enhancements diff --git a/VERSION b/VERSION index d75a59cb..d93b50c9 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.7.20 +0.7.21 diff --git a/docs/en/.buildinfo b/docs/en/.buildinfo index 8b5fbb22..957f7454 100644 --- a/docs/en/.buildinfo +++ b/docs/en/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 1f2b76ea51c2668b0828745e47b6101a +config: 1219085db4135f80b6327994496bd0ff tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/en/_images/fittrackee_screenshot-01.png b/docs/en/_images/fittrackee_screenshot-01.png index d095dbe9..506fc089 100644 Binary files a/docs/en/_images/fittrackee_screenshot-01.png and b/docs/en/_images/fittrackee_screenshot-01.png differ diff --git a/docs/en/_images/fittrackee_screenshot-02.png b/docs/en/_images/fittrackee_screenshot-02.png index 3e35874e..aec037bb 100644 Binary files a/docs/en/_images/fittrackee_screenshot-02.png and b/docs/en/_images/fittrackee_screenshot-02.png differ diff --git a/docs/en/_images/fittrackee_screenshot-03.png b/docs/en/_images/fittrackee_screenshot-03.png index 68cb0f0b..3fb6134f 100644 Binary files a/docs/en/_images/fittrackee_screenshot-03.png and b/docs/en/_images/fittrackee_screenshot-03.png differ diff --git a/docs/en/_images/fittrackee_screenshot-04.png b/docs/en/_images/fittrackee_screenshot-04.png index 46b6cf7d..4e784178 100644 Binary files a/docs/en/_images/fittrackee_screenshot-04.png and b/docs/en/_images/fittrackee_screenshot-04.png differ diff --git a/docs/en/_images/fittrackee_screenshot-05.png b/docs/en/_images/fittrackee_screenshot-05.png index 5d38c4f3..b87ad565 100644 Binary files a/docs/en/_images/fittrackee_screenshot-05.png and b/docs/en/_images/fittrackee_screenshot-05.png differ diff --git a/docs/en/_images/fittrackee_screenshot-06.png b/docs/en/_images/fittrackee_screenshot-06.png index b39fa9ba..e6a1bd98 100644 Binary files a/docs/en/_images/fittrackee_screenshot-06.png and b/docs/en/_images/fittrackee_screenshot-06.png differ diff --git a/docs/en/_images/fittrackee_screenshot-07.png b/docs/en/_images/fittrackee_screenshot-07.png index 7b82e55c..18f819af 100644 Binary files a/docs/en/_images/fittrackee_screenshot-07.png and b/docs/en/_images/fittrackee_screenshot-07.png differ diff --git a/docs/en/_images/fittrackee_screenshot-08.png b/docs/en/_images/fittrackee_screenshot-08.png index 2f5a0ad5..3de12a42 100644 Binary files a/docs/en/_images/fittrackee_screenshot-08.png and b/docs/en/_images/fittrackee_screenshot-08.png differ diff --git a/docs/en/_sources/changelog.md.txt b/docs/en/_sources/changelog.md.txt index ab4a57d9..741b843f 100644 --- a/docs/en/_sources/changelog.md.txt +++ b/docs/en/_sources/changelog.md.txt @@ -1,5 +1,17 @@ # Change log +## Version 0.7.21 (2023/07/30) + +### Bugs Fixed + +* [#407](https://github.com/SamR1/FitTrackee/issues/407) - Workout display error when speeds are zero + + +### Misc + +* [PR#409](https://github.com/SamR1/FitTrackee/pull/409) - CI - update actions version + + ## Version 0.7.20 (2023/07/22) ### Features and enhancements diff --git a/docs/en/_sources/installation.rst.txt b/docs/en/_sources/installation.rst.txt index 38f50aa1..a4221d6e 100644 --- a/docs/en/_sources/installation.rst.txt +++ b/docs/en/_sources/installation.rst.txt @@ -505,13 +505,13 @@ Production environment .. warning:: | Note that FitTrackee is under heavy development, some features may be unstable. -- Download the last release (for now, it is the release v0.7.20): +- Download the last release (for now, it is the release v0.7.21): .. code:: bash - $ wget https://github.com/SamR1/FitTrackee/archive/v0.7.20.tar.gz - $ tar -xzf v0.7.20.tar.gz - $ mv FitTrackee-0.7.20 FitTrackee + $ wget https://github.com/SamR1/FitTrackee/archive/v0.7.21.tar.gz + $ tar -xzf v0.7.21.tar.gz + $ mv FitTrackee-0.7.21 FitTrackee $ cd FitTrackee - Create **.env** from example and update it @@ -635,13 +635,13 @@ Prod environment - Change to the directory where FitTrackee directory is located -- Download the last release (for now, it is the release v0.7.20) and overwrite existing files: +- Download the last release (for now, it is the release v0.7.21) and overwrite existing files: .. code:: bash - $ wget https://github.com/SamR1/FitTrackee/archive/v0.7.20.tar.gz - $ tar -xzf v0.7.20.tar.gz - $ cp -R FitTrackee-0.7.20/* FitTrackee/ + $ wget https://github.com/SamR1/FitTrackee/archive/v0.7.21.tar.gz + $ tar -xzf v0.7.21.tar.gz + $ cp -R FitTrackee-0.7.21/* FitTrackee/ $ cd FitTrackee - Update **.env** if needed (see `Environment variables `__). diff --git a/docs/en/_static/basic.css b/docs/en/_static/basic.css index 7577acb1..cfc60b86 100644 --- a/docs/en/_static/basic.css +++ b/docs/en/_static/basic.css @@ -670,6 +670,16 @@ dd { margin-left: 30px; } +.sig dd { + margin-top: 0px; + margin-bottom: 0px; +} + +.sig dl { + margin-top: 0px; + margin-bottom: 0px; +} + dl > dd:last-child, dl > dd:last-child > :last-child { margin-bottom: 0; @@ -738,6 +748,14 @@ abbr, acronym { cursor: help; } +.translated { + background-color: rgba(207, 255, 207, 0.2) +} + +.untranslated { + background-color: rgba(255, 207, 207, 0.2) +} + /* -- code displays --------------------------------------------------------- */ pre { diff --git a/docs/en/_static/documentation_options.js b/docs/en/_static/documentation_options.js index 49217041..de04fce3 100644 --- a/docs/en/_static/documentation_options.js +++ b/docs/en/_static/documentation_options.js @@ -1,6 +1,6 @@ var DOCUMENTATION_OPTIONS = { URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), - VERSION: '0.7.20', + VERSION: '0.7.21', LANGUAGE: 'en', COLLAPSE_INDEX: false, BUILDER: 'html', diff --git a/docs/en/_static/styles/furo.css b/docs/en/_static/styles/furo.css index f8535503..3d29a218 100644 --- a/docs/en/_static/styles/furo.css +++ b/docs/en/_static/styles/furo.css @@ -1,2 +1,2 @@ -/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{-webkit-text-size-adjust:100%;line-height:1.15}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}@media print{.content-icon-container,.headerlink,.mobile-header,.related-pages{display:none!important}.highlight{border:.1pt solid var(--color-foreground-border)}a,blockquote,dl,ol,pre,table,ul{page-break-inside:avoid}caption,figure,h1,h2,h3,h4,h5,h6,img{page-break-after:avoid;page-break-inside:avoid}dl,ol,ul{page-break-before:avoid}}.visually-hidden{clip:rect(0,0,0,0)!important;border:0!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}:-moz-focusring{outline:auto}body{--font-stack:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;--font-stack--monospace:"SFMono-Regular",Menlo,Consolas,Monaco,Liberation Mono,Lucida Console,monospace;--font-size--normal:100%;--font-size--small:87.5%;--font-size--small--2:81.25%;--font-size--small--3:75%;--font-size--small--4:62.5%;--sidebar-caption-font-size:var(--font-size--small--2);--sidebar-item-font-size:var(--font-size--small);--sidebar-search-input-font-size:var(--font-size--small);--toc-font-size:var(--font-size--small--3);--toc-font-size--mobile:var(--font-size--normal);--toc-title-font-size:var(--font-size--small--4);--admonition-font-size:0.8125rem;--admonition-title-font-size:0.8125rem;--code-font-size:var(--font-size--small--2);--api-font-size:var(--font-size--small);--header-height:calc(var(--sidebar-item-line-height) + var(--sidebar-item-spacing-vertical)*4);--header-padding:0.5rem;--sidebar-tree-space-above:1.5rem;--sidebar-caption-space-above:1rem;--sidebar-item-line-height:1rem;--sidebar-item-spacing-vertical:0.5rem;--sidebar-item-spacing-horizontal:1rem;--sidebar-item-height:calc(var(--sidebar-item-line-height) + var(--sidebar-item-spacing-vertical)*2);--sidebar-expander-width:var(--sidebar-item-height);--sidebar-search-space-above:0.5rem;--sidebar-search-input-spacing-vertical:0.5rem;--sidebar-search-input-spacing-horizontal:0.5rem;--sidebar-search-input-height:1rem;--sidebar-search-icon-size:var(--sidebar-search-input-height);--toc-title-padding:0.25rem 0;--toc-spacing-vertical:1.5rem;--toc-spacing-horizontal:1.5rem;--toc-item-spacing-vertical:0.4rem;--toc-item-spacing-horizontal:1rem;--icon-search:url('data:image/svg+xml;charset=utf-8,');--icon-pencil:url('data:image/svg+xml;charset=utf-8,');--icon-abstract:url('data:image/svg+xml;charset=utf-8,');--icon-info:url('data:image/svg+xml;charset=utf-8,');--icon-flame:url('data:image/svg+xml;charset=utf-8,');--icon-question:url('data:image/svg+xml;charset=utf-8,');--icon-warning:url('data:image/svg+xml;charset=utf-8,');--icon-failure:url('data:image/svg+xml;charset=utf-8,');--icon-spark:url('data:image/svg+xml;charset=utf-8,');--color-admonition-title--caution:#ff9100;--color-admonition-title-background--caution:rgba(255,145,0,.2);--color-admonition-title--warning:#ff9100;--color-admonition-title-background--warning:rgba(255,145,0,.2);--color-admonition-title--danger:#ff5252;--color-admonition-title-background--danger:rgba(255,82,82,.2);--color-admonition-title--attention:#ff5252;--color-admonition-title-background--attention:rgba(255,82,82,.2);--color-admonition-title--error:#ff5252;--color-admonition-title-background--error:rgba(255,82,82,.2);--color-admonition-title--hint:#00c852;--color-admonition-title-background--hint:rgba(0,200,82,.2);--color-admonition-title--tip:#00c852;--color-admonition-title-background--tip:rgba(0,200,82,.2);--color-admonition-title--important:#00bfa5;--color-admonition-title-background--important:rgba(0,191,165,.2);--color-admonition-title--note:#00b0ff;--color-admonition-title-background--note:rgba(0,176,255,.2);--color-admonition-title--seealso:#448aff;--color-admonition-title-background--seealso:rgba(68,138,255,.2);--color-admonition-title--admonition-todo:grey;--color-admonition-title-background--admonition-todo:hsla(0,0%,50%,.2);--color-admonition-title:#651fff;--color-admonition-title-background:rgba(101,31,255,.2);--icon-admonition-default:var(--icon-abstract);--color-topic-title:#14b8a6;--color-topic-title-background:rgba(20,184,166,.2);--icon-topic-default:var(--icon-pencil);--color-problematic:#b30000;--color-foreground-primary:#000;--color-foreground-secondary:#5a5c63;--color-foreground-muted:#646776;--color-foreground-border:#878787;--color-background-primary:#fff;--color-background-secondary:#f8f9fb;--color-background-hover:#efeff4;--color-background-hover--transparent:#efeff400;--color-background-border:#eeebee;--color-background-item:#ccc;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#2962ff;--color-brand-content:#2a5adf;--color-api-background:var(--color-background-hover--transparent);--color-api-background-hover:var(--color-background-hover);--color-api-overall:var(--color-foreground-secondary);--color-api-name:var(--color-problematic);--color-api-pre-name:var(--color-problematic);--color-api-paren:var(--color-foreground-secondary);--color-api-keyword:var(--color-foreground-primary);--color-highlight-on-target:#ffc;--color-inline-code-background:var(--color-background-secondary);--color-highlighted-background:#def;--color-highlighted-text:var(--color-foreground-primary);--color-guilabel-background:#ddeeff80;--color-guilabel-border:#bedaf580;--color-guilabel-text:var(--color-foreground-primary);--color-admonition-background:transparent;--color-table-header-background:var(--color-background-secondary);--color-table-border:var(--color-background-border);--color-card-border:var(--color-background-secondary);--color-card-background:transparent;--color-card-marginals-background:var(--color-background-secondary);--color-header-background:var(--color-background-primary);--color-header-border:var(--color-background-border);--color-header-text:var(--color-foreground-primary);--color-sidebar-background:var(--color-background-secondary);--color-sidebar-background-border:var(--color-background-border);--color-sidebar-brand-text:var(--color-foreground-primary);--color-sidebar-caption-text:var(--color-foreground-muted);--color-sidebar-link-text:var(--color-foreground-secondary);--color-sidebar-link-text--top-level:var(--color-brand-primary);--color-sidebar-item-background:var(--color-sidebar-background);--color-sidebar-item-background--current:var( --color-sidebar-item-background );--color-sidebar-item-background--hover:linear-gradient(90deg,var(--color-background-hover--transparent) 0%,var(--color-background-hover) var(--sidebar-item-spacing-horizontal),var(--color-background-hover) 100%);--color-sidebar-item-expander-background:transparent;--color-sidebar-item-expander-background--hover:var( --color-background-hover );--color-sidebar-search-text:var(--color-foreground-primary);--color-sidebar-search-background:var(--color-background-secondary);--color-sidebar-search-background--focus:var(--color-background-primary);--color-sidebar-search-border:var(--color-background-border);--color-sidebar-search-icon:var(--color-foreground-muted);--color-toc-background:var(--color-background-primary);--color-toc-title-text:var(--color-foreground-muted);--color-toc-item-text:var(--color-foreground-secondary);--color-toc-item-text--hover:var(--color-foreground-primary);--color-toc-item-text--active:var(--color-brand-primary);--color-content-foreground:var(--color-foreground-primary);--color-content-background:transparent;--color-link:var(--color-brand-content);--color-link--hover:var(--color-brand-content);--color-link-underline:var(--color-background-border);--color-link-underline--hover:var(--color-foreground-border)}.only-light{display:block!important}html body .only-dark{display:none!important}@media not print{body[data-theme=dark]{--color-problematic:#ee5151;--color-foreground-primary:#ffffffcc;--color-foreground-secondary:#9ca0a5;--color-foreground-muted:#81868d;--color-foreground-border:#666;--color-background-primary:#131416;--color-background-secondary:#1a1c1e;--color-background-hover:#1e2124;--color-background-hover--transparent:#1e212400;--color-background-border:#303335;--color-background-item:#444;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#2b8cee;--color-brand-content:#368ce2;--color-highlighted-background:#083563;--color-guilabel-background:#08356380;--color-guilabel-border:#13395f80;--color-api-keyword:var(--color-foreground-secondary);--color-highlight-on-target:#330;--color-admonition-background:#18181a;--color-card-border:var(--color-background-secondary);--color-card-background:#18181a;--color-card-marginals-background:var(--color-background-hover)}html body[data-theme=dark] .only-light{display:none!important}body[data-theme=dark] .only-dark{display:block!important}@media(prefers-color-scheme:dark){body:not([data-theme=light]){--color-problematic:#ee5151;--color-foreground-primary:#ffffffcc;--color-foreground-secondary:#9ca0a5;--color-foreground-muted:#81868d;--color-foreground-border:#666;--color-background-primary:#131416;--color-background-secondary:#1a1c1e;--color-background-hover:#1e2124;--color-background-hover--transparent:#1e212400;--color-background-border:#303335;--color-background-item:#444;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#2b8cee;--color-brand-content:#368ce2;--color-highlighted-background:#083563;--color-guilabel-background:#08356380;--color-guilabel-border:#13395f80;--color-api-keyword:var(--color-foreground-secondary);--color-highlight-on-target:#330;--color-admonition-background:#18181a;--color-card-border:var(--color-background-secondary);--color-card-background:#18181a;--color-card-marginals-background:var(--color-background-hover)}html body:not([data-theme=light]) .only-light{display:none!important}body:not([data-theme=light]) .only-dark{display:block!important}}}body[data-theme=auto] .theme-toggle svg.theme-icon-when-auto,body[data-theme=dark] .theme-toggle svg.theme-icon-when-dark,body[data-theme=light] .theme-toggle svg.theme-icon-when-light{display:block}body{font-family:var(--font-stack)}code,kbd,pre,samp{font-family:var(--font-stack--monospace)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}article{line-height:1.5}h1,h2,h3,h4,h5,h6{border-radius:.5rem;font-weight:700;line-height:1.25;margin:.5rem -.5rem;padding-left:.5rem;padding-right:.5rem}h1+p,h2+p,h3+p,h4+p,h5+p,h6+p{margin-top:0}h1{font-size:2.5em;margin-bottom:1rem}h1,h2{margin-top:1.75rem}h2{font-size:2em}h3{font-size:1.5em}h4{font-size:1.25em}h5{font-size:1.125em}h6{font-size:1em}small{font-size:80%;opacity:75%}p{margin-bottom:.75rem;margin-top:.5rem}hr.docutils{background-color:var(--color-background-border);border:0;height:1px;margin:2rem 0;padding:0}.centered{text-align:center}a{color:var(--color-link);text-decoration:underline;text-decoration-color:var(--color-link-underline)}a:hover{color:var(--color-link--hover);text-decoration-color:var(--color-link-underline--hover)}a.muted-link{color:inherit}a.muted-link:hover{color:var(--color-link);text-decoration-color:var(--color-link-underline--hover)}html{overflow-x:hidden;overflow-y:scroll;scroll-behavior:smooth}.sidebar-scroll,.toc-scroll,article[role=main] *{scrollbar-color:var(--color-foreground-border) transparent;scrollbar-width:thin}.sidebar-scroll::-webkit-scrollbar,.toc-scroll::-webkit-scrollbar,article[role=main] ::-webkit-scrollbar{height:.25rem;width:.25rem}.sidebar-scroll::-webkit-scrollbar-thumb,.toc-scroll::-webkit-scrollbar-thumb,article[role=main] ::-webkit-scrollbar-thumb{background-color:var(--color-foreground-border);border-radius:.125rem}body,html{background:var(--color-background-primary);color:var(--color-foreground-primary);height:100%}article{background:var(--color-content-background);color:var(--color-content-foreground)}.page{display:flex;min-height:100%}.mobile-header{background-color:var(--color-header-background);border-bottom:1px solid var(--color-header-border);color:var(--color-header-text);display:none;height:var(--header-height);width:100%;z-index:10}.mobile-header.scrolled{border-bottom:none;box-shadow:0 0 .2rem rgba(0,0,0,.1),0 .2rem .4rem rgba(0,0,0,.2)}.mobile-header .header-center a{color:var(--color-header-text);text-decoration:none}.main{display:flex;flex:1}.sidebar-drawer{background:var(--color-sidebar-background);border-right:1px solid var(--color-sidebar-background-border);box-sizing:border-box;display:flex;justify-content:flex-end;min-width:15em;width:calc(50% - 26em)}.sidebar-container,.toc-drawer{box-sizing:border-box;width:15em}.toc-drawer{background:var(--color-toc-background);padding-right:1rem}.sidebar-sticky,.toc-sticky{display:flex;flex-direction:column;height:min(100%,100vh);height:100vh;position:sticky;top:0}.sidebar-scroll,.toc-scroll{flex-grow:1;flex-shrink:1;overflow:auto;scroll-behavior:smooth}.content{display:flex;flex-direction:column;justify-content:space-between;padding:0 3em;width:46em}.icon{display:inline-block;height:1rem;width:1rem}.icon svg{height:100%;width:100%}.announcement{align-items:center;background-color:var(--color-announcement-background);color:var(--color-announcement-text);display:flex;height:var(--header-height);overflow-x:auto}.announcement+.page{min-height:calc(100% - var(--header-height))}.announcement-content{box-sizing:border-box;min-width:100%;padding:.5rem;text-align:center;white-space:nowrap}.announcement-content a{color:var(--color-announcement-text);text-decoration-color:var(--color-announcement-text)}.announcement-content a:hover{color:var(--color-announcement-text);text-decoration-color:var(--color-link--hover)}.no-js .theme-toggle-container{display:none}.theme-toggle-container{vertical-align:middle}.theme-toggle{background:transparent;border:none;cursor:pointer;padding:0}.theme-toggle svg{color:var(--color-foreground-primary);display:none;height:1rem;vertical-align:middle;width:1rem}.theme-toggle-header{float:left;padding:1rem .5rem}.nav-overlay-icon,.toc-overlay-icon{cursor:pointer;display:none}.nav-overlay-icon .icon,.toc-overlay-icon .icon{color:var(--color-foreground-secondary);height:1rem;width:1rem}.nav-overlay-icon,.toc-header-icon{align-items:center;justify-content:center}.toc-content-icon{height:1.5rem;width:1.5rem}.content-icon-container{display:flex;float:right;gap:.5rem;margin-bottom:1rem;margin-left:1rem;margin-top:1.5rem}.content-icon-container .edit-this-page svg{color:inherit;height:1rem;width:1rem}.sidebar-toggle{display:none;position:absolute}.sidebar-toggle[name=__toc]{left:20px}.sidebar-toggle:checked{left:40px}.overlay{background-color:rgba(0,0,0,.54);height:0;opacity:0;position:fixed;top:0;transition:width 0ms,height 0ms,opacity .25s ease-out;width:0}.sidebar-overlay{z-index:20}.toc-overlay{z-index:40}.sidebar-drawer{transition:left .25s ease-in-out;z-index:30}.toc-drawer{transition:right .25s ease-in-out;z-index:50}#__navigation:checked~.sidebar-overlay{height:100%;opacity:1;width:100%}#__navigation:checked~.page .sidebar-drawer{left:0;top:0}#__toc:checked~.toc-overlay{height:100%;opacity:1;width:100%}#__toc:checked~.page .toc-drawer{right:0;top:0}.back-to-top{background:var(--color-background-primary);border-radius:1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 1px 0 hsla(220,9%,46%,.502);display:none;font-size:.8125rem;left:0;margin-left:50%;padding:.5rem .75rem .5rem .5rem;position:fixed;text-decoration:none;top:1rem;transform:translateX(-50%);z-index:10}.back-to-top svg{fill:currentColor;display:inline-block;height:1rem;width:1rem}.back-to-top span{margin-left:.25rem}.show-back-to-top .back-to-top{align-items:center;display:flex}@media(min-width:97em){html{font-size:110%}}@media(max-width:82em){.toc-content-icon{display:flex}.toc-drawer{border-left:1px solid var(--color-background-muted);height:100vh;position:fixed;right:-15em;top:0}.toc-tree{border-left:none;font-size:var(--toc-font-size--mobile)}.sidebar-drawer{width:calc(50% - 18.5em)}}@media(max-width:67em){.nav-overlay-icon{display:flex}.sidebar-drawer{height:100vh;left:-15em;position:fixed;top:0;width:15em}.toc-header-icon{display:flex}.theme-toggle-content,.toc-content-icon{display:none}.theme-toggle-header{display:block}.mobile-header{align-items:center;display:flex;justify-content:space-between;position:sticky;top:0}.mobile-header .header-left,.mobile-header .header-right{display:flex;height:var(--header-height);padding:0 var(--header-padding)}.mobile-header .header-left label,.mobile-header .header-right label{height:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.nav-overlay-icon .icon,.theme-toggle svg{height:1.25rem;width:1.25rem}:target{scroll-margin-top:var(--header-height)}.back-to-top{top:calc(var(--header-height) + .5rem)}.page{flex-direction:column;justify-content:center}.content{margin-left:auto;margin-right:auto}}@media(max-width:52em){.content{overflow-x:auto;width:100%}}@media(max-width:46em){.content{padding:0 1em}article aside.sidebar{float:none;margin:1rem 0;width:100%}}.admonition,.topic{background:var(--color-admonition-background);border-radius:.2rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1);font-size:var(--admonition-font-size);margin:1rem auto;overflow:hidden;padding:0 .5rem .5rem;page-break-inside:avoid}.admonition>:nth-child(2),.topic>:nth-child(2){margin-top:0}.admonition>:last-child,.topic>:last-child{margin-bottom:0}p.admonition-title,p.topic-title{font-size:var(--admonition-title-font-size);font-weight:500;line-height:1.3;margin:0 -.5rem .5rem;padding:.4rem .5rem .4rem 2rem;position:relative}p.admonition-title:before,p.topic-title:before{content:"";height:1rem;left:.5rem;position:absolute;width:1rem}p.admonition-title{background-color:var(--color-admonition-title-background)}p.admonition-title:before{background-color:var(--color-admonition-title);-webkit-mask-image:var(--icon-admonition-default);mask-image:var(--icon-admonition-default);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}p.topic-title{background-color:var(--color-topic-title-background)}p.topic-title:before{background-color:var(--color-topic-title);-webkit-mask-image:var(--icon-topic-default);mask-image:var(--icon-topic-default);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.admonition{border-left:.2rem solid var(--color-admonition-title)}.admonition.caution{border-left-color:var(--color-admonition-title--caution)}.admonition.caution>.admonition-title{background-color:var(--color-admonition-title-background--caution)}.admonition.caution>.admonition-title:before{background-color:var(--color-admonition-title--caution);-webkit-mask-image:var(--icon-spark);mask-image:var(--icon-spark)}.admonition.warning{border-left-color:var(--color-admonition-title--warning)}.admonition.warning>.admonition-title{background-color:var(--color-admonition-title-background--warning)}.admonition.warning>.admonition-title:before{background-color:var(--color-admonition-title--warning);-webkit-mask-image:var(--icon-warning);mask-image:var(--icon-warning)}.admonition.danger{border-left-color:var(--color-admonition-title--danger)}.admonition.danger>.admonition-title{background-color:var(--color-admonition-title-background--danger)}.admonition.danger>.admonition-title:before{background-color:var(--color-admonition-title--danger);-webkit-mask-image:var(--icon-spark);mask-image:var(--icon-spark)}.admonition.attention{border-left-color:var(--color-admonition-title--attention)}.admonition.attention>.admonition-title{background-color:var(--color-admonition-title-background--attention)}.admonition.attention>.admonition-title:before{background-color:var(--color-admonition-title--attention);-webkit-mask-image:var(--icon-warning);mask-image:var(--icon-warning)}.admonition.error{border-left-color:var(--color-admonition-title--error)}.admonition.error>.admonition-title{background-color:var(--color-admonition-title-background--error)}.admonition.error>.admonition-title:before{background-color:var(--color-admonition-title--error);-webkit-mask-image:var(--icon-failure);mask-image:var(--icon-failure)}.admonition.hint{border-left-color:var(--color-admonition-title--hint)}.admonition.hint>.admonition-title{background-color:var(--color-admonition-title-background--hint)}.admonition.hint>.admonition-title:before{background-color:var(--color-admonition-title--hint);-webkit-mask-image:var(--icon-question);mask-image:var(--icon-question)}.admonition.tip{border-left-color:var(--color-admonition-title--tip)}.admonition.tip>.admonition-title{background-color:var(--color-admonition-title-background--tip)}.admonition.tip>.admonition-title:before{background-color:var(--color-admonition-title--tip);-webkit-mask-image:var(--icon-info);mask-image:var(--icon-info)}.admonition.important{border-left-color:var(--color-admonition-title--important)}.admonition.important>.admonition-title{background-color:var(--color-admonition-title-background--important)}.admonition.important>.admonition-title:before{background-color:var(--color-admonition-title--important);-webkit-mask-image:var(--icon-flame);mask-image:var(--icon-flame)}.admonition.note{border-left-color:var(--color-admonition-title--note)}.admonition.note>.admonition-title{background-color:var(--color-admonition-title-background--note)}.admonition.note>.admonition-title:before{background-color:var(--color-admonition-title--note);-webkit-mask-image:var(--icon-pencil);mask-image:var(--icon-pencil)}.admonition.seealso{border-left-color:var(--color-admonition-title--seealso)}.admonition.seealso>.admonition-title{background-color:var(--color-admonition-title-background--seealso)}.admonition.seealso>.admonition-title:before{background-color:var(--color-admonition-title--seealso);-webkit-mask-image:var(--icon-info);mask-image:var(--icon-info)}.admonition.admonition-todo{border-left-color:var(--color-admonition-title--admonition-todo)}.admonition.admonition-todo>.admonition-title{background-color:var(--color-admonition-title-background--admonition-todo)}.admonition.admonition-todo>.admonition-title:before{background-color:var(--color-admonition-title--admonition-todo);-webkit-mask-image:var(--icon-pencil);mask-image:var(--icon-pencil)}.admonition-todo>.admonition-title{text-transform:uppercase}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd{margin-left:2rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd>:first-child{margin-top:.125rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list,dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd>:last-child{margin-bottom:.75rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list>dt{font-size:var(--font-size--small);text-transform:uppercase}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd:empty{margin-bottom:.5rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul{margin-left:-1.2rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul>li>p:nth-child(2){margin-top:0}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul>li>p+p:last-child:empty{margin-bottom:0;margin-top:0}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple)>dt{color:var(--color-api-overall)}.sig:not(.sig-inline){background:var(--color-api-background);border-radius:.25rem;font-family:var(--font-stack--monospace);font-size:var(--api-font-size);font-weight:700;margin-left:-.25rem;margin-right:-.25rem;padding:.25rem .5rem .25rem 3em;text-indent:-2.5em;transition:background .1s ease-out}.sig:not(.sig-inline):hover{background:var(--color-api-background-hover)}.sig:not(.sig-inline) a.reference .viewcode-link{font-weight:400;width:3.5rem}.sig:not(.sig-inline) span.pre{overflow-wrap:anywhere}em.property{font-style:normal}em.property:first-child{color:var(--color-api-keyword)}.sig-name{color:var(--color-api-name)}.sig-prename{color:var(--color-api-pre-name);font-weight:400}.sig-paren{color:var(--color-api-paren)}.sig-param{font-style:normal}.versionmodified{font-style:italic}div.deprecated p,div.versionadded p,div.versionchanged p{margin-bottom:.125rem;margin-top:.125rem}.viewcode-back,.viewcode-link{float:right;text-align:right}.line-block{margin-bottom:.75rem;margin-top:.5rem}.line-block .line-block{margin-bottom:0;margin-top:0;padding-left:1rem}.code-block-caption,article p.caption,table>caption{font-size:var(--font-size--small);text-align:center}.toctree-wrapper.compound .caption,.toctree-wrapper.compound :not(.caption)>.caption-text{font-size:var(--font-size--small);margin-bottom:0;text-align:initial;text-transform:uppercase}.toctree-wrapper.compound>ul{margin-bottom:0;margin-top:0}.sig-inline,code.literal{background:var(--color-inline-code-background);border-radius:.2em;font-size:var(--font-size--small--2);overflow-wrap:break-word;padding:.1em .2em}p .sig-inline,p code.literal{border:1px solid var(--color-background-border)}.sig-inline{font-family:var(--font-stack--monospace)}div[class*=" highlight-"],div[class^=highlight-]{display:flex;margin:1em 0}div[class*=" highlight-"] .table-wrapper,div[class^=highlight-] .table-wrapper,pre{margin:0;padding:0}pre{overflow:auto}article[role=main] .highlight pre{line-height:1.5}.highlight pre,pre.literal-block{font-size:var(--code-font-size);padding:.625rem .875rem}pre.literal-block{background-color:var(--color-code-background);border-radius:.2rem;color:var(--color-code-foreground);margin-bottom:1rem;margin-top:1rem}.highlight{border-radius:.2rem;width:100%}.highlight .gp,.highlight span.linenos{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.highlight .hll{display:block;margin-left:-.875rem;margin-right:-.875rem;padding-left:.875rem;padding-right:.875rem}.code-block-caption{background-color:var(--color-code-background);border-bottom:1px solid;border-radius:.25rem;border-bottom-left-radius:0;border-bottom-right-radius:0;border-color:var(--color-background-border);color:var(--color-code-foreground);display:flex;font-weight:300;padding:.625rem .875rem}.code-block-caption+div[class]{margin-top:0}.code-block-caption+div[class] pre{border-top-left-radius:0;border-top-right-radius:0}.highlighttable{display:block;width:100%}.highlighttable tbody{display:block}.highlighttable tr{display:flex}.highlighttable td.linenos{background-color:var(--color-code-background);border-bottom-left-radius:.2rem;border-top-left-radius:.2rem;color:var(--color-code-foreground);padding:.625rem 0 .625rem .875rem}.highlighttable .linenodiv{box-shadow:-.0625rem 0 var(--color-foreground-border) inset;font-size:var(--code-font-size);padding-right:.875rem}.highlighttable td.code{display:block;flex:1;overflow:hidden;padding:0}.highlighttable td.code .highlight{border-bottom-left-radius:0;border-top-left-radius:0}.highlight span.linenos{box-shadow:-.0625rem 0 var(--color-foreground-border) inset;display:inline-block;margin-right:.875rem;padding-left:0;padding-right:.875rem}.footnote-reference{font-size:var(--font-size--small--4);vertical-align:super}dl.footnote.brackets{color:var(--color-foreground-secondary);display:grid;font-size:var(--font-size--small);grid-template-columns:max-content auto}dl.footnote.brackets dt{margin:0}dl.footnote.brackets dt>.fn-backref{margin-left:.25rem}dl.footnote.brackets dt:after{content:":"}dl.footnote.brackets dt .brackets:before{content:"["}dl.footnote.brackets dt .brackets:after{content:"]"}dl.footnote.brackets dd{margin:0;padding:0 1rem}aside.footnote{color:var(--color-foreground-secondary);font-size:var(--font-size--small)}aside.footnote>span,div.citation>span{float:left;font-weight:500;padding-right:.25rem}aside.footnote>p,div.citation>p{margin-left:2rem}img{box-sizing:border-box;height:auto;max-width:100%}article .figure,article figure{border-radius:.2rem;margin:0}article .figure :last-child,article figure :last-child{margin-bottom:0}article .align-left{clear:left;float:left;margin:0 1rem 1rem}article .align-right{clear:right;float:right;margin:0 1rem 1rem}article .align-center,article .align-default{display:block;margin-left:auto;margin-right:auto;text-align:center}article table.align-default{display:table;text-align:initial}.domainindex-jumpbox,.genindex-jumpbox{border-bottom:1px solid var(--color-background-border);border-top:1px solid var(--color-background-border);padding:.25rem}.domainindex-section h2,.genindex-section h2{margin-bottom:.5rem;margin-top:.75rem}.domainindex-section ul,.genindex-section ul{margin-bottom:0;margin-top:0}ol,ul{margin-bottom:1rem;margin-top:1rem;padding-left:1.2rem}ol li>p:first-child,ul li>p:first-child{margin-bottom:.25rem;margin-top:.25rem}ol li>p:last-child,ul li>p:last-child{margin-top:.25rem}ol li>ol,ol li>ul,ul li>ol,ul li>ul{margin-bottom:.5rem;margin-top:.5rem}ol.arabic{list-style:decimal}ol.loweralpha{list-style:lower-alpha}ol.upperalpha{list-style:upper-alpha}ol.lowerroman{list-style:lower-roman}ol.upperroman{list-style:upper-roman}.simple li>ol,.simple li>ul,.toctree-wrapper li>ol,.toctree-wrapper li>ul{margin-bottom:0;margin-top:0}.field-list dt,.option-list dt,dl.footnote dt,dl.glossary dt,dl.simple dt,dl:not([class]) dt{font-weight:500;margin-top:.25rem}.field-list dt+dt,.option-list dt+dt,dl.footnote dt+dt,dl.glossary dt+dt,dl.simple dt+dt,dl:not([class]) dt+dt{margin-top:0}.field-list dt .classifier:before,.option-list dt .classifier:before,dl.footnote dt .classifier:before,dl.glossary dt .classifier:before,dl.simple dt .classifier:before,dl:not([class]) dt .classifier:before{content:":";margin-left:.2rem;margin-right:.2rem}.field-list dd ul,.field-list dd>p:first-child,.option-list dd ul,.option-list dd>p:first-child,dl.footnote dd ul,dl.footnote dd>p:first-child,dl.glossary dd ul,dl.glossary dd>p:first-child,dl.simple dd ul,dl.simple dd>p:first-child,dl:not([class]) dd ul,dl:not([class]) dd>p:first-child{margin-top:.125rem}.field-list dd ul,.option-list dd ul,dl.footnote dd ul,dl.glossary dd ul,dl.simple dd ul,dl:not([class]) dd ul{margin-bottom:.125rem}.math-wrapper{overflow-x:auto;width:100%}div.math{position:relative;text-align:center}div.math .headerlink,div.math:focus .headerlink{display:none}div.math:hover .headerlink{display:inline-block}div.math span.eqno{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);z-index:1}abbr[title]{cursor:help}.problematic{color:var(--color-problematic)}kbd:not(.compound){background-color:var(--color-background-secondary);border:1px solid var(--color-foreground-border);border-radius:.2rem;box-shadow:0 .0625rem 0 rgba(0,0,0,.2),inset 0 0 0 .125rem var(--color-background-primary);color:var(--color-foreground-primary);display:inline-block;font-size:var(--font-size--small--3);margin:0 .2rem;padding:0 .2rem;vertical-align:text-bottom}blockquote{background:var(--color-background-secondary);border-left:4px solid var(--color-background-border);margin-left:0;margin-right:0;padding:.5rem 1rem}blockquote .attribution{font-weight:600;text-align:right}blockquote.highlights,blockquote.pull-quote{font-size:1.25em}blockquote.epigraph,blockquote.pull-quote{border-left-width:0;border-radius:.5rem}blockquote.highlights{background:transparent;border-left-width:0}p .reference img{vertical-align:middle}p.rubric{font-size:1.125em;font-weight:700;line-height:1.25}dd p.rubric{font-size:var(--font-size--small);font-weight:inherit;line-height:inherit;text-transform:uppercase}article .sidebar{background-color:var(--color-background-secondary);border:1px solid var(--color-background-border);border-radius:.2rem;clear:right;float:right;margin-left:1rem;margin-right:0;width:30%}article .sidebar>*{padding-left:1rem;padding-right:1rem}article .sidebar>ol,article .sidebar>ul{padding-left:2.2rem}article .sidebar .sidebar-title{border-bottom:1px solid var(--color-background-border);font-weight:500;margin:0;padding:.5rem 1rem}.table-wrapper{margin-bottom:.5rem;margin-top:1rem;overflow-x:auto;padding:.2rem .2rem .75rem;width:100%}table.docutils{border-collapse:collapse;border-radius:.2rem;border-spacing:0;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1)}table.docutils th{background:var(--color-table-header-background)}table.docutils td,table.docutils th{border-bottom:1px solid var(--color-table-border);border-left:1px solid var(--color-table-border);border-right:1px solid var(--color-table-border);padding:0 .25rem}table.docutils td p,table.docutils th p{margin:.25rem}table.docutils td:first-child,table.docutils th:first-child{border-left:none}table.docutils td:last-child,table.docutils th:last-child{border-right:none}table.docutils td.text-left,table.docutils th.text-left{text-align:left}table.docutils td.text-right,table.docutils th.text-right{text-align:right}table.docutils td.text-center,table.docutils th.text-center{text-align:center}:target{scroll-margin-top:.5rem}@media(max-width:67em){:target{scroll-margin-top:calc(.5rem + var(--header-height))}section>span:target{scroll-margin-top:calc(.8rem + var(--header-height))}}.headerlink{font-weight:100;-webkit-user-select:none;-moz-user-select:none;user-select:none}.code-block-caption>.headerlink,dl dt>.headerlink,figcaption p>.headerlink,h1>.headerlink,h2>.headerlink,h3>.headerlink,h4>.headerlink,h5>.headerlink,h6>.headerlink,p.caption>.headerlink,table>caption>.headerlink{margin-left:.5rem;visibility:hidden}.code-block-caption:hover>.headerlink,dl dt:hover>.headerlink,figcaption p:hover>.headerlink,h1:hover>.headerlink,h2:hover>.headerlink,h3:hover>.headerlink,h4:hover>.headerlink,h5:hover>.headerlink,h6:hover>.headerlink,p.caption:hover>.headerlink,table>caption:hover>.headerlink{visibility:visible}.code-block-caption>.toc-backref,dl dt>.toc-backref,figcaption p>.toc-backref,h1>.toc-backref,h2>.toc-backref,h3>.toc-backref,h4>.toc-backref,h5>.toc-backref,h6>.toc-backref,p.caption>.toc-backref,table>caption>.toc-backref{color:inherit;text-decoration-line:none}figure:hover>figcaption>p>.headerlink,table:hover>caption>.headerlink{visibility:visible}:target>h1:first-of-type,:target>h2:first-of-type,:target>h3:first-of-type,:target>h4:first-of-type,:target>h5:first-of-type,:target>h6:first-of-type,span:target~h1:first-of-type,span:target~h2:first-of-type,span:target~h3:first-of-type,span:target~h4:first-of-type,span:target~h5:first-of-type,span:target~h6:first-of-type{background-color:var(--color-highlight-on-target)}:target>h1:first-of-type code.literal,:target>h2:first-of-type code.literal,:target>h3:first-of-type code.literal,:target>h4:first-of-type code.literal,:target>h5:first-of-type code.literal,:target>h6:first-of-type code.literal,span:target~h1:first-of-type code.literal,span:target~h2:first-of-type code.literal,span:target~h3:first-of-type code.literal,span:target~h4:first-of-type code.literal,span:target~h5:first-of-type code.literal,span:target~h6:first-of-type code.literal{background-color:transparent}.literal-block-wrapper:target .code-block-caption,.this-will-duplicate-information-and-it-is-still-useful-here li :target,figure:target,table:target>caption{background-color:var(--color-highlight-on-target)}dt:target{background-color:var(--color-highlight-on-target)!important}.footnote-reference:target,.footnote>dt:target+dd{background-color:var(--color-highlight-on-target)}.guilabel{background-color:var(--color-guilabel-background);border:1px solid var(--color-guilabel-border);border-radius:.5em;color:var(--color-guilabel-text);font-size:.9em;padding:0 .3em}footer{display:flex;flex-direction:column;font-size:var(--font-size--small);margin-top:2rem}.bottom-of-page{align-items:center;border-top:1px solid var(--color-background-border);color:var(--color-foreground-secondary);display:flex;justify-content:space-between;line-height:1.5;margin-top:1rem;padding-bottom:1rem;padding-top:1rem}@media(max-width:46em){.bottom-of-page{flex-direction:column-reverse;gap:.25rem;text-align:center}}.bottom-of-page .left-details{font-size:var(--font-size--small)}.bottom-of-page .right-details{display:flex;flex-direction:column;gap:.25rem;text-align:right}.bottom-of-page .icons{display:flex;font-size:1rem;gap:.25rem;justify-content:flex-end}.bottom-of-page .icons a{text-decoration:none}.bottom-of-page .icons img,.bottom-of-page .icons svg{font-size:1.125rem;height:1em;width:1em}.related-pages a{align-items:center;display:flex;text-decoration:none}.related-pages a:hover .page-info .title{color:var(--color-link);text-decoration:underline;text-decoration-color:var(--color-link-underline)}.related-pages a svg.furo-related-icon,.related-pages a svg.furo-related-icon>use{color:var(--color-foreground-border);flex-shrink:0;height:.75rem;margin:0 .5rem;width:.75rem}.related-pages a.next-page{clear:right;float:right;max-width:50%;text-align:right}.related-pages a.prev-page{clear:left;float:left;max-width:50%}.related-pages a.prev-page svg{transform:rotate(180deg)}.page-info{display:flex;flex-direction:column;overflow-wrap:anywhere}.next-page .page-info{align-items:flex-end}.page-info .context{align-items:center;color:var(--color-foreground-muted);display:flex;font-size:var(--font-size--small);padding-bottom:.1rem;text-decoration:none}ul.search{list-style:none;padding-left:0}ul.search li{border-bottom:1px solid var(--color-background-border);padding:1rem 0}[role=main] .highlighted{background-color:var(--color-highlighted-background);color:var(--color-highlighted-text)}.sidebar-brand{display:flex;flex-direction:column;flex-shrink:0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-decoration:none}.sidebar-brand-text{color:var(--color-sidebar-brand-text);font-size:1.5rem;overflow-wrap:break-word}.sidebar-brand-text,.sidebar-logo-container{margin:var(--sidebar-item-spacing-vertical) 0}.sidebar-logo{display:block;margin:0 auto;max-width:100%}.sidebar-search-container{align-items:center;background:var(--color-sidebar-search-background);display:flex;margin-top:var(--sidebar-search-space-above);position:relative}.sidebar-search-container:focus-within,.sidebar-search-container:hover{background:var(--color-sidebar-search-background--focus)}.sidebar-search-container:before{background-color:var(--color-sidebar-search-icon);content:"";height:var(--sidebar-search-icon-size);left:var(--sidebar-item-spacing-horizontal);-webkit-mask-image:var(--icon-search);mask-image:var(--icon-search);position:absolute;width:var(--sidebar-search-icon-size)}.sidebar-search{background:transparent;border:none;border-bottom:1px solid var(--color-sidebar-search-border);border-top:1px solid var(--color-sidebar-search-border);box-sizing:border-box;color:var(--color-sidebar-search-foreground);padding:var(--sidebar-search-input-spacing-vertical) var(--sidebar-search-input-spacing-horizontal) var(--sidebar-search-input-spacing-vertical) calc(var(--sidebar-item-spacing-horizontal) + var(--sidebar-search-input-spacing-horizontal) + var(--sidebar-search-icon-size));width:100%;z-index:10}.sidebar-search:focus{outline:none}.sidebar-search::-moz-placeholder{font-size:var(--sidebar-search-input-font-size)}.sidebar-search::placeholder{font-size:var(--sidebar-search-input-font-size)}#searchbox .highlight-link{margin:0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal) 0;text-align:center}#searchbox .highlight-link a{color:var(--color-sidebar-search-icon);font-size:var(--font-size--small--2)}.sidebar-tree{font-size:var(--sidebar-item-font-size);margin-bottom:var(--sidebar-item-spacing-vertical);margin-top:var(--sidebar-tree-space-above)}.sidebar-tree ul{display:flex;flex-direction:column;list-style:none;margin-bottom:0;margin-top:0;padding:0}.sidebar-tree li{margin:0;position:relative}.sidebar-tree li>ul{margin-left:var(--sidebar-item-spacing-horizontal)}.sidebar-tree .icon,.sidebar-tree .reference{color:var(--color-sidebar-link-text)}.sidebar-tree .reference{box-sizing:border-box;display:inline-block;height:100%;line-height:var(--sidebar-item-line-height);overflow-wrap:anywhere;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-decoration:none;width:100%}.sidebar-tree .reference:hover{background:var(--color-sidebar-item-background--hover)}.sidebar-tree .reference.external:after{color:var(--color-sidebar-link-text);content:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='12' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='1.5' stroke='%23607D8B' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M0 0h24v24H0z' stroke='none'/%3E%3Cpath d='M11 7H6a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2v-5M10 14 20 4M15 4h5v5'/%3E%3C/svg%3E");margin:0 .25rem;vertical-align:middle}.sidebar-tree .current-page>.reference{font-weight:700}.sidebar-tree label{align-items:center;cursor:pointer;display:flex;height:var(--sidebar-item-height);justify-content:center;position:absolute;right:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:var(--sidebar-expander-width)}.sidebar-tree .caption,.sidebar-tree :not(.caption)>.caption-text{color:var(--color-sidebar-caption-text);font-size:var(--sidebar-caption-font-size);font-weight:700;margin:var(--sidebar-caption-space-above) 0 0 0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-transform:uppercase}.sidebar-tree li.has-children>.reference{padding-right:var(--sidebar-expander-width)}.sidebar-tree .toctree-l1>.reference,.sidebar-tree .toctree-l1>label .icon{color:var(--color-sidebar-link-text--top-level)}.sidebar-tree label{background:var(--color-sidebar-item-expander-background)}.sidebar-tree label:hover{background:var(--color-sidebar-item-expander-background--hover)}.sidebar-tree .current>.reference{background:var(--color-sidebar-item-background--current)}.sidebar-tree .current>.reference:hover{background:var(--color-sidebar-item-background--hover)}.toctree-checkbox{display:none;position:absolute}.toctree-checkbox~ul{display:none}.toctree-checkbox~label .icon svg{transform:rotate(90deg)}.toctree-checkbox:checked~ul{display:block}.toctree-checkbox:checked~label .icon svg{transform:rotate(-90deg)}.toc-title-container{padding:var(--toc-title-padding);padding-top:var(--toc-spacing-vertical)}.toc-title{color:var(--color-toc-title-text);font-size:var(--toc-title-font-size);padding-left:var(--toc-spacing-horizontal);text-transform:uppercase}.no-toc{display:none}.toc-tree-container{padding-bottom:var(--toc-spacing-vertical)}.toc-tree{border-left:1px solid var(--color-background-border);font-size:var(--toc-font-size);line-height:1.3;padding-left:calc(var(--toc-spacing-horizontal) - var(--toc-item-spacing-horizontal))}.toc-tree>ul>li:first-child{padding-top:0}.toc-tree>ul>li:first-child>ul{padding-left:0}.toc-tree>ul>li:first-child>a{display:none}.toc-tree ul{list-style-type:none;margin-bottom:0;margin-top:0;padding-left:var(--toc-item-spacing-horizontal)}.toc-tree li{padding-top:var(--toc-item-spacing-vertical)}.toc-tree li.scroll-current>.reference{color:var(--color-toc-item-text--active);font-weight:700}.toc-tree .reference{color:var(--color-toc-item-text);overflow-wrap:anywhere;text-decoration:none}.toc-scroll{max-height:100vh;overflow-y:scroll}.contents:not(.this-will-duplicate-information-and-it-is-still-useful-here){background:rgba(255,0,0,.25);color:var(--color-problematic)}.contents:not(.this-will-duplicate-information-and-it-is-still-useful-here):before{content:"ERROR: Adding a table of contents in Furo-based documentation is unnecessary, and does not work well with existing styling.Add a 'this-will-duplicate-information-and-it-is-still-useful-here' class, if you want an escape hatch."}.text-align\:left>p{text-align:left}.text-align\:center>p{text-align:center}.text-align\:right>p{text-align:right} +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{-webkit-text-size-adjust:100%;line-height:1.15}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}@media print{.content-icon-container,.headerlink,.mobile-header,.related-pages{display:none!important}.highlight{border:.1pt solid var(--color-foreground-border)}a,blockquote,dl,ol,pre,table,ul{page-break-inside:avoid}caption,figure,h1,h2,h3,h4,h5,h6,img{page-break-after:avoid;page-break-inside:avoid}dl,ol,ul{page-break-before:avoid}}.visually-hidden{clip:rect(0,0,0,0)!important;border:0!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}:-moz-focusring{outline:auto}body{--font-stack:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;--font-stack--monospace:"SFMono-Regular",Menlo,Consolas,Monaco,Liberation Mono,Lucida Console,monospace;--font-size--normal:100%;--font-size--small:87.5%;--font-size--small--2:81.25%;--font-size--small--3:75%;--font-size--small--4:62.5%;--sidebar-caption-font-size:var(--font-size--small--2);--sidebar-item-font-size:var(--font-size--small);--sidebar-search-input-font-size:var(--font-size--small);--toc-font-size:var(--font-size--small--3);--toc-font-size--mobile:var(--font-size--normal);--toc-title-font-size:var(--font-size--small--4);--admonition-font-size:0.8125rem;--admonition-title-font-size:0.8125rem;--code-font-size:var(--font-size--small--2);--api-font-size:var(--font-size--small);--header-height:calc(var(--sidebar-item-line-height) + var(--sidebar-item-spacing-vertical)*4);--header-padding:0.5rem;--sidebar-tree-space-above:1.5rem;--sidebar-caption-space-above:1rem;--sidebar-item-line-height:1rem;--sidebar-item-spacing-vertical:0.5rem;--sidebar-item-spacing-horizontal:1rem;--sidebar-item-height:calc(var(--sidebar-item-line-height) + var(--sidebar-item-spacing-vertical)*2);--sidebar-expander-width:var(--sidebar-item-height);--sidebar-search-space-above:0.5rem;--sidebar-search-input-spacing-vertical:0.5rem;--sidebar-search-input-spacing-horizontal:0.5rem;--sidebar-search-input-height:1rem;--sidebar-search-icon-size:var(--sidebar-search-input-height);--toc-title-padding:0.25rem 0;--toc-spacing-vertical:1.5rem;--toc-spacing-horizontal:1.5rem;--toc-item-spacing-vertical:0.4rem;--toc-item-spacing-horizontal:1rem;--icon-search:url('data:image/svg+xml;charset=utf-8,');--icon-pencil:url('data:image/svg+xml;charset=utf-8,');--icon-abstract:url('data:image/svg+xml;charset=utf-8,');--icon-info:url('data:image/svg+xml;charset=utf-8,');--icon-flame:url('data:image/svg+xml;charset=utf-8,');--icon-question:url('data:image/svg+xml;charset=utf-8,');--icon-warning:url('data:image/svg+xml;charset=utf-8,');--icon-failure:url('data:image/svg+xml;charset=utf-8,');--icon-spark:url('data:image/svg+xml;charset=utf-8,');--color-admonition-title--caution:#ff9100;--color-admonition-title-background--caution:rgba(255,145,0,.2);--color-admonition-title--warning:#ff9100;--color-admonition-title-background--warning:rgba(255,145,0,.2);--color-admonition-title--danger:#ff5252;--color-admonition-title-background--danger:rgba(255,82,82,.2);--color-admonition-title--attention:#ff5252;--color-admonition-title-background--attention:rgba(255,82,82,.2);--color-admonition-title--error:#ff5252;--color-admonition-title-background--error:rgba(255,82,82,.2);--color-admonition-title--hint:#00c852;--color-admonition-title-background--hint:rgba(0,200,82,.2);--color-admonition-title--tip:#00c852;--color-admonition-title-background--tip:rgba(0,200,82,.2);--color-admonition-title--important:#00bfa5;--color-admonition-title-background--important:rgba(0,191,165,.2);--color-admonition-title--note:#00b0ff;--color-admonition-title-background--note:rgba(0,176,255,.2);--color-admonition-title--seealso:#448aff;--color-admonition-title-background--seealso:rgba(68,138,255,.2);--color-admonition-title--admonition-todo:grey;--color-admonition-title-background--admonition-todo:hsla(0,0%,50%,.2);--color-admonition-title:#651fff;--color-admonition-title-background:rgba(101,31,255,.2);--icon-admonition-default:var(--icon-abstract);--color-topic-title:#14b8a6;--color-topic-title-background:rgba(20,184,166,.2);--icon-topic-default:var(--icon-pencil);--color-problematic:#b30000;--color-foreground-primary:#000;--color-foreground-secondary:#5a5c63;--color-foreground-muted:#646776;--color-foreground-border:#878787;--color-background-primary:#fff;--color-background-secondary:#f8f9fb;--color-background-hover:#efeff4;--color-background-hover--transparent:#efeff400;--color-background-border:#eeebee;--color-background-item:#ccc;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#2962ff;--color-brand-content:#2a5adf;--color-api-background:var(--color-background-hover--transparent);--color-api-background-hover:var(--color-background-hover);--color-api-overall:var(--color-foreground-secondary);--color-api-name:var(--color-problematic);--color-api-pre-name:var(--color-problematic);--color-api-paren:var(--color-foreground-secondary);--color-api-keyword:var(--color-foreground-primary);--color-highlight-on-target:#ffc;--color-inline-code-background:var(--color-background-secondary);--color-highlighted-background:#def;--color-highlighted-text:var(--color-foreground-primary);--color-guilabel-background:#ddeeff80;--color-guilabel-border:#bedaf580;--color-guilabel-text:var(--color-foreground-primary);--color-admonition-background:transparent;--color-table-header-background:var(--color-background-secondary);--color-table-border:var(--color-background-border);--color-card-border:var(--color-background-secondary);--color-card-background:transparent;--color-card-marginals-background:var(--color-background-secondary);--color-header-background:var(--color-background-primary);--color-header-border:var(--color-background-border);--color-header-text:var(--color-foreground-primary);--color-sidebar-background:var(--color-background-secondary);--color-sidebar-background-border:var(--color-background-border);--color-sidebar-brand-text:var(--color-foreground-primary);--color-sidebar-caption-text:var(--color-foreground-muted);--color-sidebar-link-text:var(--color-foreground-secondary);--color-sidebar-link-text--top-level:var(--color-brand-primary);--color-sidebar-item-background:var(--color-sidebar-background);--color-sidebar-item-background--current:var( --color-sidebar-item-background );--color-sidebar-item-background--hover:linear-gradient(90deg,var(--color-background-hover--transparent) 0%,var(--color-background-hover) var(--sidebar-item-spacing-horizontal),var(--color-background-hover) 100%);--color-sidebar-item-expander-background:transparent;--color-sidebar-item-expander-background--hover:var( --color-background-hover );--color-sidebar-search-text:var(--color-foreground-primary);--color-sidebar-search-background:var(--color-background-secondary);--color-sidebar-search-background--focus:var(--color-background-primary);--color-sidebar-search-border:var(--color-background-border);--color-sidebar-search-icon:var(--color-foreground-muted);--color-toc-background:var(--color-background-primary);--color-toc-title-text:var(--color-foreground-muted);--color-toc-item-text:var(--color-foreground-secondary);--color-toc-item-text--hover:var(--color-foreground-primary);--color-toc-item-text--active:var(--color-brand-primary);--color-content-foreground:var(--color-foreground-primary);--color-content-background:transparent;--color-link:var(--color-brand-content);--color-link--hover:var(--color-brand-content);--color-link-underline:var(--color-background-border);--color-link-underline--hover:var(--color-foreground-border)}.only-light{display:block!important}html body .only-dark{display:none!important}@media not print{body[data-theme=dark]{--color-problematic:#ee5151;--color-foreground-primary:#ffffffcc;--color-foreground-secondary:#9ca0a5;--color-foreground-muted:#81868d;--color-foreground-border:#666;--color-background-primary:#131416;--color-background-secondary:#1a1c1e;--color-background-hover:#1e2124;--color-background-hover--transparent:#1e212400;--color-background-border:#303335;--color-background-item:#444;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#2b8cee;--color-brand-content:#368ce2;--color-highlighted-background:#083563;--color-guilabel-background:#08356380;--color-guilabel-border:#13395f80;--color-api-keyword:var(--color-foreground-secondary);--color-highlight-on-target:#330;--color-admonition-background:#18181a;--color-card-border:var(--color-background-secondary);--color-card-background:#18181a;--color-card-marginals-background:var(--color-background-hover)}html body[data-theme=dark] .only-light{display:none!important}body[data-theme=dark] .only-dark{display:block!important}@media(prefers-color-scheme:dark){body:not([data-theme=light]){--color-problematic:#ee5151;--color-foreground-primary:#ffffffcc;--color-foreground-secondary:#9ca0a5;--color-foreground-muted:#81868d;--color-foreground-border:#666;--color-background-primary:#131416;--color-background-secondary:#1a1c1e;--color-background-hover:#1e2124;--color-background-hover--transparent:#1e212400;--color-background-border:#303335;--color-background-item:#444;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#2b8cee;--color-brand-content:#368ce2;--color-highlighted-background:#083563;--color-guilabel-background:#08356380;--color-guilabel-border:#13395f80;--color-api-keyword:var(--color-foreground-secondary);--color-highlight-on-target:#330;--color-admonition-background:#18181a;--color-card-border:var(--color-background-secondary);--color-card-background:#18181a;--color-card-marginals-background:var(--color-background-hover)}html body:not([data-theme=light]) .only-light{display:none!important}body:not([data-theme=light]) .only-dark{display:block!important}}}body[data-theme=auto] .theme-toggle svg.theme-icon-when-auto,body[data-theme=dark] .theme-toggle svg.theme-icon-when-dark,body[data-theme=light] .theme-toggle svg.theme-icon-when-light{display:block}body{font-family:var(--font-stack)}code,kbd,pre,samp{font-family:var(--font-stack--monospace)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}article{line-height:1.5}h1,h2,h3,h4,h5,h6{border-radius:.5rem;font-weight:700;line-height:1.25;margin:.5rem -.5rem;padding-left:.5rem;padding-right:.5rem}h1+p,h2+p,h3+p,h4+p,h5+p,h6+p{margin-top:0}h1{font-size:2.5em;margin-bottom:1rem}h1,h2{margin-top:1.75rem}h2{font-size:2em}h3{font-size:1.5em}h4{font-size:1.25em}h5{font-size:1.125em}h6{font-size:1em}small{font-size:80%;opacity:75%}p{margin-bottom:.75rem;margin-top:.5rem}hr.docutils{background-color:var(--color-background-border);border:0;height:1px;margin:2rem 0;padding:0}.centered{text-align:center}a{color:var(--color-link);text-decoration:underline;text-decoration-color:var(--color-link-underline)}a:hover{color:var(--color-link--hover);text-decoration-color:var(--color-link-underline--hover)}a.muted-link{color:inherit}a.muted-link:hover{color:var(--color-link);text-decoration-color:var(--color-link-underline--hover)}html{overflow-x:hidden;overflow-y:scroll;scroll-behavior:smooth}.sidebar-scroll,.toc-scroll,article[role=main] *{scrollbar-color:var(--color-foreground-border) transparent;scrollbar-width:thin}.sidebar-scroll::-webkit-scrollbar,.toc-scroll::-webkit-scrollbar,article[role=main] ::-webkit-scrollbar{height:.25rem;width:.25rem}.sidebar-scroll::-webkit-scrollbar-thumb,.toc-scroll::-webkit-scrollbar-thumb,article[role=main] ::-webkit-scrollbar-thumb{background-color:var(--color-foreground-border);border-radius:.125rem}body,html{background:var(--color-background-primary);color:var(--color-foreground-primary);height:100%}article{background:var(--color-content-background);color:var(--color-content-foreground);overflow-wrap:break-word}.page{display:flex;min-height:100%}.mobile-header{background-color:var(--color-header-background);border-bottom:1px solid var(--color-header-border);color:var(--color-header-text);display:none;height:var(--header-height);width:100%;z-index:10}.mobile-header.scrolled{border-bottom:none;box-shadow:0 0 .2rem rgba(0,0,0,.1),0 .2rem .4rem rgba(0,0,0,.2)}.mobile-header .header-center a{color:var(--color-header-text);text-decoration:none}.main{display:flex;flex:1}.sidebar-drawer{background:var(--color-sidebar-background);border-right:1px solid var(--color-sidebar-background-border);box-sizing:border-box;display:flex;justify-content:flex-end;min-width:15em;width:calc(50% - 26em)}.sidebar-container,.toc-drawer{box-sizing:border-box;width:15em}.toc-drawer{background:var(--color-toc-background);padding-right:1rem}.sidebar-sticky,.toc-sticky{display:flex;flex-direction:column;height:min(100%,100vh);height:100vh;position:sticky;top:0}.sidebar-scroll,.toc-scroll{flex-grow:1;flex-shrink:1;overflow:auto;scroll-behavior:smooth}.content{display:flex;flex-direction:column;justify-content:space-between;padding:0 3em;width:46em}.icon{display:inline-block;height:1rem;width:1rem}.icon svg{height:100%;width:100%}.announcement{align-items:center;background-color:var(--color-announcement-background);color:var(--color-announcement-text);display:flex;height:var(--header-height);overflow-x:auto}.announcement+.page{min-height:calc(100% - var(--header-height))}.announcement-content{box-sizing:border-box;min-width:100%;padding:.5rem;text-align:center;white-space:nowrap}.announcement-content a{color:var(--color-announcement-text);text-decoration-color:var(--color-announcement-text)}.announcement-content a:hover{color:var(--color-announcement-text);text-decoration-color:var(--color-link--hover)}.no-js .theme-toggle-container{display:none}.theme-toggle-container{vertical-align:middle}.theme-toggle{background:transparent;border:none;cursor:pointer;padding:0}.theme-toggle svg{color:var(--color-foreground-primary);display:none;height:1rem;vertical-align:middle;width:1rem}.theme-toggle-header{float:left;padding:1rem .5rem}.nav-overlay-icon,.toc-overlay-icon{cursor:pointer;display:none}.nav-overlay-icon .icon,.toc-overlay-icon .icon{color:var(--color-foreground-secondary);height:1rem;width:1rem}.nav-overlay-icon,.toc-header-icon{align-items:center;justify-content:center}.toc-content-icon{height:1.5rem;width:1.5rem}.content-icon-container{display:flex;float:right;gap:.5rem;margin-bottom:1rem;margin-left:1rem;margin-top:1.5rem}.content-icon-container .edit-this-page svg{color:inherit;height:1rem;width:1rem}.sidebar-toggle{display:none;position:absolute}.sidebar-toggle[name=__toc]{left:20px}.sidebar-toggle:checked{left:40px}.overlay{background-color:rgba(0,0,0,.54);height:0;opacity:0;position:fixed;top:0;transition:width 0ms,height 0ms,opacity .25s ease-out;width:0}.sidebar-overlay{z-index:20}.toc-overlay{z-index:40}.sidebar-drawer{transition:left .25s ease-in-out;z-index:30}.toc-drawer{transition:right .25s ease-in-out;z-index:50}#__navigation:checked~.sidebar-overlay{height:100%;opacity:1;width:100%}#__navigation:checked~.page .sidebar-drawer{left:0;top:0}#__toc:checked~.toc-overlay{height:100%;opacity:1;width:100%}#__toc:checked~.page .toc-drawer{right:0;top:0}.back-to-top{background:var(--color-background-primary);border-radius:1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 1px 0 hsla(220,9%,46%,.502);display:none;font-size:.8125rem;left:0;margin-left:50%;padding:.5rem .75rem .5rem .5rem;position:fixed;text-decoration:none;top:1rem;transform:translateX(-50%);z-index:10}.back-to-top svg{fill:currentColor;display:inline-block;height:1rem;width:1rem}.back-to-top span{margin-left:.25rem}.show-back-to-top .back-to-top{align-items:center;display:flex}@media(min-width:97em){html{font-size:110%}}@media(max-width:82em){.toc-content-icon{display:flex}.toc-drawer{border-left:1px solid var(--color-background-muted);height:100vh;position:fixed;right:-15em;top:0}.toc-tree{border-left:none;font-size:var(--toc-font-size--mobile)}.sidebar-drawer{width:calc(50% - 18.5em)}}@media(max-width:67em){.nav-overlay-icon{display:flex}.sidebar-drawer{height:100vh;left:-15em;position:fixed;top:0;width:15em}.toc-header-icon{display:flex}.theme-toggle-content,.toc-content-icon{display:none}.theme-toggle-header{display:block}.mobile-header{align-items:center;display:flex;justify-content:space-between;position:sticky;top:0}.mobile-header .header-left,.mobile-header .header-right{display:flex;height:var(--header-height);padding:0 var(--header-padding)}.mobile-header .header-left label,.mobile-header .header-right label{height:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.nav-overlay-icon .icon,.theme-toggle svg{height:1.25rem;width:1.25rem}:target{scroll-margin-top:var(--header-height)}.back-to-top{top:calc(var(--header-height) + .5rem)}.page{flex-direction:column;justify-content:center}.content{margin-left:auto;margin-right:auto}}@media(max-width:52em){.content{overflow-x:auto;width:100%}}@media(max-width:46em){.content{padding:0 1em}article aside.sidebar{float:none;margin:1rem 0;width:100%}}.admonition,.topic{background:var(--color-admonition-background);border-radius:.2rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1);font-size:var(--admonition-font-size);margin:1rem auto;overflow:hidden;padding:0 .5rem .5rem;page-break-inside:avoid}.admonition>:nth-child(2),.topic>:nth-child(2){margin-top:0}.admonition>:last-child,.topic>:last-child{margin-bottom:0}.admonition p.admonition-title,p.topic-title{font-size:var(--admonition-title-font-size);font-weight:500;line-height:1.3;margin:0 -.5rem .5rem;padding:.4rem .5rem .4rem 2rem;position:relative}.admonition p.admonition-title:before,p.topic-title:before{content:"";height:1rem;left:.5rem;position:absolute;width:1rem}p.admonition-title{background-color:var(--color-admonition-title-background)}p.admonition-title:before{background-color:var(--color-admonition-title);-webkit-mask-image:var(--icon-admonition-default);mask-image:var(--icon-admonition-default);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}p.topic-title{background-color:var(--color-topic-title-background)}p.topic-title:before{background-color:var(--color-topic-title);-webkit-mask-image:var(--icon-topic-default);mask-image:var(--icon-topic-default);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.admonition{border-left:.2rem solid var(--color-admonition-title)}.admonition.caution{border-left-color:var(--color-admonition-title--caution)}.admonition.caution>.admonition-title{background-color:var(--color-admonition-title-background--caution)}.admonition.caution>.admonition-title:before{background-color:var(--color-admonition-title--caution);-webkit-mask-image:var(--icon-spark);mask-image:var(--icon-spark)}.admonition.warning{border-left-color:var(--color-admonition-title--warning)}.admonition.warning>.admonition-title{background-color:var(--color-admonition-title-background--warning)}.admonition.warning>.admonition-title:before{background-color:var(--color-admonition-title--warning);-webkit-mask-image:var(--icon-warning);mask-image:var(--icon-warning)}.admonition.danger{border-left-color:var(--color-admonition-title--danger)}.admonition.danger>.admonition-title{background-color:var(--color-admonition-title-background--danger)}.admonition.danger>.admonition-title:before{background-color:var(--color-admonition-title--danger);-webkit-mask-image:var(--icon-spark);mask-image:var(--icon-spark)}.admonition.attention{border-left-color:var(--color-admonition-title--attention)}.admonition.attention>.admonition-title{background-color:var(--color-admonition-title-background--attention)}.admonition.attention>.admonition-title:before{background-color:var(--color-admonition-title--attention);-webkit-mask-image:var(--icon-warning);mask-image:var(--icon-warning)}.admonition.error{border-left-color:var(--color-admonition-title--error)}.admonition.error>.admonition-title{background-color:var(--color-admonition-title-background--error)}.admonition.error>.admonition-title:before{background-color:var(--color-admonition-title--error);-webkit-mask-image:var(--icon-failure);mask-image:var(--icon-failure)}.admonition.hint{border-left-color:var(--color-admonition-title--hint)}.admonition.hint>.admonition-title{background-color:var(--color-admonition-title-background--hint)}.admonition.hint>.admonition-title:before{background-color:var(--color-admonition-title--hint);-webkit-mask-image:var(--icon-question);mask-image:var(--icon-question)}.admonition.tip{border-left-color:var(--color-admonition-title--tip)}.admonition.tip>.admonition-title{background-color:var(--color-admonition-title-background--tip)}.admonition.tip>.admonition-title:before{background-color:var(--color-admonition-title--tip);-webkit-mask-image:var(--icon-info);mask-image:var(--icon-info)}.admonition.important{border-left-color:var(--color-admonition-title--important)}.admonition.important>.admonition-title{background-color:var(--color-admonition-title-background--important)}.admonition.important>.admonition-title:before{background-color:var(--color-admonition-title--important);-webkit-mask-image:var(--icon-flame);mask-image:var(--icon-flame)}.admonition.note{border-left-color:var(--color-admonition-title--note)}.admonition.note>.admonition-title{background-color:var(--color-admonition-title-background--note)}.admonition.note>.admonition-title:before{background-color:var(--color-admonition-title--note);-webkit-mask-image:var(--icon-pencil);mask-image:var(--icon-pencil)}.admonition.seealso{border-left-color:var(--color-admonition-title--seealso)}.admonition.seealso>.admonition-title{background-color:var(--color-admonition-title-background--seealso)}.admonition.seealso>.admonition-title:before{background-color:var(--color-admonition-title--seealso);-webkit-mask-image:var(--icon-info);mask-image:var(--icon-info)}.admonition.admonition-todo{border-left-color:var(--color-admonition-title--admonition-todo)}.admonition.admonition-todo>.admonition-title{background-color:var(--color-admonition-title-background--admonition-todo)}.admonition.admonition-todo>.admonition-title:before{background-color:var(--color-admonition-title--admonition-todo);-webkit-mask-image:var(--icon-pencil);mask-image:var(--icon-pencil)}.admonition-todo>.admonition-title{text-transform:uppercase}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd{margin-left:2rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd>:first-child{margin-top:.125rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list,dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd>:last-child{margin-bottom:.75rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list>dt{font-size:var(--font-size--small);text-transform:uppercase}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd:empty{margin-bottom:.5rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul{margin-left:-1.2rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul>li>p:nth-child(2){margin-top:0}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul>li>p+p:last-child:empty{margin-bottom:0;margin-top:0}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple)>dt{color:var(--color-api-overall)}.sig:not(.sig-inline){background:var(--color-api-background);border-radius:.25rem;font-family:var(--font-stack--monospace);font-size:var(--api-font-size);font-weight:700;margin-left:-.25rem;margin-right:-.25rem;padding:.25rem .5rem .25rem 3em;text-indent:-2.5em;transition:background .1s ease-out}.sig:not(.sig-inline):hover{background:var(--color-api-background-hover)}.sig:not(.sig-inline) a.reference .viewcode-link{font-weight:400;width:3.5rem}em.property{font-style:normal}em.property:first-child{color:var(--color-api-keyword)}.sig-name{color:var(--color-api-name)}.sig-prename{color:var(--color-api-pre-name);font-weight:400}.sig-paren{color:var(--color-api-paren)}.sig-param{font-style:normal}.versionmodified{font-style:italic}div.deprecated p,div.versionadded p,div.versionchanged p{margin-bottom:.125rem;margin-top:.125rem}.viewcode-back,.viewcode-link{float:right;text-align:right}.line-block{margin-bottom:.75rem;margin-top:.5rem}.line-block .line-block{margin-bottom:0;margin-top:0;padding-left:1rem}.code-block-caption,article p.caption,table>caption{font-size:var(--font-size--small);text-align:center}.toctree-wrapper.compound .caption,.toctree-wrapper.compound :not(.caption)>.caption-text{font-size:var(--font-size--small);margin-bottom:0;text-align:initial;text-transform:uppercase}.toctree-wrapper.compound>ul{margin-bottom:0;margin-top:0}.sig-inline,code.literal{background:var(--color-inline-code-background);border-radius:.2em;font-size:var(--font-size--small--2);padding:.1em .2em}pre.literal-block .sig-inline,pre.literal-block code.literal{font-size:inherit;padding:0}p .sig-inline,p code.literal{border:1px solid var(--color-background-border)}.sig-inline{font-family:var(--font-stack--monospace)}div[class*=" highlight-"],div[class^=highlight-]{display:flex;margin:1em 0}div[class*=" highlight-"] .table-wrapper,div[class^=highlight-] .table-wrapper,pre{margin:0;padding:0}pre{overflow:auto}article[role=main] .highlight pre{line-height:1.5}.highlight pre,pre.literal-block{font-size:var(--code-font-size);padding:.625rem .875rem}pre.literal-block{background-color:var(--color-code-background);border-radius:.2rem;color:var(--color-code-foreground);margin-bottom:1rem;margin-top:1rem}.highlight{border-radius:.2rem;width:100%}.highlight .gp,.highlight span.linenos{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.highlight .hll{display:block;margin-left:-.875rem;margin-right:-.875rem;padding-left:.875rem;padding-right:.875rem}.code-block-caption{background-color:var(--color-code-background);border-bottom:1px solid;border-radius:.25rem;border-bottom-left-radius:0;border-bottom-right-radius:0;border-color:var(--color-background-border);color:var(--color-code-foreground);display:flex;font-weight:300;padding:.625rem .875rem}.code-block-caption+div[class]{margin-top:0}.code-block-caption+div[class] pre{border-top-left-radius:0;border-top-right-radius:0}.highlighttable{display:block;width:100%}.highlighttable tbody{display:block}.highlighttable tr{display:flex}.highlighttable td.linenos{background-color:var(--color-code-background);border-bottom-left-radius:.2rem;border-top-left-radius:.2rem;color:var(--color-code-foreground);padding:.625rem 0 .625rem .875rem}.highlighttable .linenodiv{box-shadow:-.0625rem 0 var(--color-foreground-border) inset;font-size:var(--code-font-size);padding-right:.875rem}.highlighttable td.code{display:block;flex:1;overflow:hidden;padding:0}.highlighttable td.code .highlight{border-bottom-left-radius:0;border-top-left-radius:0}.highlight span.linenos{box-shadow:-.0625rem 0 var(--color-foreground-border) inset;display:inline-block;margin-right:.875rem;padding-left:0;padding-right:.875rem}.footnote-reference{font-size:var(--font-size--small--4);vertical-align:super}dl.footnote.brackets{color:var(--color-foreground-secondary);display:grid;font-size:var(--font-size--small);grid-template-columns:max-content auto}dl.footnote.brackets dt{margin:0}dl.footnote.brackets dt>.fn-backref{margin-left:.25rem}dl.footnote.brackets dt:after{content:":"}dl.footnote.brackets dt .brackets:before{content:"["}dl.footnote.brackets dt .brackets:after{content:"]"}dl.footnote.brackets dd{margin:0;padding:0 1rem}aside.footnote{color:var(--color-foreground-secondary);font-size:var(--font-size--small)}aside.footnote>span,div.citation>span{float:left;font-weight:500;padding-right:.25rem}aside.footnote>p,div.citation>p{margin-left:2rem}img{box-sizing:border-box;height:auto;max-width:100%}article .figure,article figure{border-radius:.2rem;margin:0}article .figure :last-child,article figure :last-child{margin-bottom:0}article .align-left{clear:left;float:left;margin:0 1rem 1rem}article .align-right{clear:right;float:right;margin:0 1rem 1rem}article .align-center,article .align-default{display:block;margin-left:auto;margin-right:auto;text-align:center}article table.align-default{display:table;text-align:initial}.domainindex-jumpbox,.genindex-jumpbox{border-bottom:1px solid var(--color-background-border);border-top:1px solid var(--color-background-border);padding:.25rem}.domainindex-section h2,.genindex-section h2{margin-bottom:.5rem;margin-top:.75rem}.domainindex-section ul,.genindex-section ul{margin-bottom:0;margin-top:0}ol,ul{margin-bottom:1rem;margin-top:1rem;padding-left:1.2rem}ol li>p:first-child,ul li>p:first-child{margin-bottom:.25rem;margin-top:.25rem}ol li>p:last-child,ul li>p:last-child{margin-top:.25rem}ol li>ol,ol li>ul,ul li>ol,ul li>ul{margin-bottom:.5rem;margin-top:.5rem}ol.arabic{list-style:decimal}ol.loweralpha{list-style:lower-alpha}ol.upperalpha{list-style:upper-alpha}ol.lowerroman{list-style:lower-roman}ol.upperroman{list-style:upper-roman}.simple li>ol,.simple li>ul,.toctree-wrapper li>ol,.toctree-wrapper li>ul{margin-bottom:0;margin-top:0}.field-list dt,.option-list dt,dl.footnote dt,dl.glossary dt,dl.simple dt,dl:not([class]) dt{font-weight:500;margin-top:.25rem}.field-list dt+dt,.option-list dt+dt,dl.footnote dt+dt,dl.glossary dt+dt,dl.simple dt+dt,dl:not([class]) dt+dt{margin-top:0}.field-list dt .classifier:before,.option-list dt .classifier:before,dl.footnote dt .classifier:before,dl.glossary dt .classifier:before,dl.simple dt .classifier:before,dl:not([class]) dt .classifier:before{content:":";margin-left:.2rem;margin-right:.2rem}.field-list dd ul,.field-list dd>p:first-child,.option-list dd ul,.option-list dd>p:first-child,dl.footnote dd ul,dl.footnote dd>p:first-child,dl.glossary dd ul,dl.glossary dd>p:first-child,dl.simple dd ul,dl.simple dd>p:first-child,dl:not([class]) dd ul,dl:not([class]) dd>p:first-child{margin-top:.125rem}.field-list dd ul,.option-list dd ul,dl.footnote dd ul,dl.glossary dd ul,dl.simple dd ul,dl:not([class]) dd ul{margin-bottom:.125rem}.math-wrapper{overflow-x:auto;width:100%}div.math{position:relative;text-align:center}div.math .headerlink,div.math:focus .headerlink{display:none}div.math:hover .headerlink{display:inline-block}div.math span.eqno{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);z-index:1}abbr[title]{cursor:help}.problematic{color:var(--color-problematic)}kbd:not(.compound){background-color:var(--color-background-secondary);border:1px solid var(--color-foreground-border);border-radius:.2rem;box-shadow:0 .0625rem 0 rgba(0,0,0,.2),inset 0 0 0 .125rem var(--color-background-primary);color:var(--color-foreground-primary);display:inline-block;font-size:var(--font-size--small--3);margin:0 .2rem;padding:0 .2rem;vertical-align:text-bottom}blockquote{background:var(--color-background-secondary);border-left:4px solid var(--color-background-border);margin-left:0;margin-right:0;padding:.5rem 1rem}blockquote .attribution{font-weight:600;text-align:right}blockquote.highlights,blockquote.pull-quote{font-size:1.25em}blockquote.epigraph,blockquote.pull-quote{border-left-width:0;border-radius:.5rem}blockquote.highlights{background:transparent;border-left-width:0}p .reference img{vertical-align:middle}p.rubric{font-size:1.125em;font-weight:700;line-height:1.25}dd p.rubric{font-size:var(--font-size--small);font-weight:inherit;line-height:inherit;text-transform:uppercase}article .sidebar{background-color:var(--color-background-secondary);border:1px solid var(--color-background-border);border-radius:.2rem;clear:right;float:right;margin-left:1rem;margin-right:0;width:30%}article .sidebar>*{padding-left:1rem;padding-right:1rem}article .sidebar>ol,article .sidebar>ul{padding-left:2.2rem}article .sidebar .sidebar-title{border-bottom:1px solid var(--color-background-border);font-weight:500;margin:0;padding:.5rem 1rem}.table-wrapper{margin-bottom:.5rem;margin-top:1rem;overflow-x:auto;padding:.2rem .2rem .75rem;width:100%}table.docutils{border-collapse:collapse;border-radius:.2rem;border-spacing:0;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1)}table.docutils th{background:var(--color-table-header-background)}table.docutils td,table.docutils th{border-bottom:1px solid var(--color-table-border);border-left:1px solid var(--color-table-border);border-right:1px solid var(--color-table-border);padding:0 .25rem}table.docutils td p,table.docutils th p{margin:.25rem}table.docutils td:first-child,table.docutils th:first-child{border-left:none}table.docutils td:last-child,table.docutils th:last-child{border-right:none}table.docutils td.text-left,table.docutils th.text-left{text-align:left}table.docutils td.text-right,table.docutils th.text-right{text-align:right}table.docutils td.text-center,table.docutils th.text-center{text-align:center}:target{scroll-margin-top:.5rem}@media(max-width:67em){:target{scroll-margin-top:calc(.5rem + var(--header-height))}section>span:target{scroll-margin-top:calc(.8rem + var(--header-height))}}.headerlink{font-weight:100;-webkit-user-select:none;-moz-user-select:none;user-select:none}.code-block-caption>.headerlink,dl dt>.headerlink,figcaption p>.headerlink,h1>.headerlink,h2>.headerlink,h3>.headerlink,h4>.headerlink,h5>.headerlink,h6>.headerlink,p.caption>.headerlink,table>caption>.headerlink{margin-left:.5rem;visibility:hidden}.code-block-caption:hover>.headerlink,dl dt:hover>.headerlink,figcaption p:hover>.headerlink,h1:hover>.headerlink,h2:hover>.headerlink,h3:hover>.headerlink,h4:hover>.headerlink,h5:hover>.headerlink,h6:hover>.headerlink,p.caption:hover>.headerlink,table>caption:hover>.headerlink{visibility:visible}.code-block-caption>.toc-backref,dl dt>.toc-backref,figcaption p>.toc-backref,h1>.toc-backref,h2>.toc-backref,h3>.toc-backref,h4>.toc-backref,h5>.toc-backref,h6>.toc-backref,p.caption>.toc-backref,table>caption>.toc-backref{color:inherit;text-decoration-line:none}figure:hover>figcaption>p>.headerlink,table:hover>caption>.headerlink{visibility:visible}:target>h1:first-of-type,:target>h2:first-of-type,:target>h3:first-of-type,:target>h4:first-of-type,:target>h5:first-of-type,:target>h6:first-of-type,span:target~h1:first-of-type,span:target~h2:first-of-type,span:target~h3:first-of-type,span:target~h4:first-of-type,span:target~h5:first-of-type,span:target~h6:first-of-type{background-color:var(--color-highlight-on-target)}:target>h1:first-of-type code.literal,:target>h2:first-of-type code.literal,:target>h3:first-of-type code.literal,:target>h4:first-of-type code.literal,:target>h5:first-of-type code.literal,:target>h6:first-of-type code.literal,span:target~h1:first-of-type code.literal,span:target~h2:first-of-type code.literal,span:target~h3:first-of-type code.literal,span:target~h4:first-of-type code.literal,span:target~h5:first-of-type code.literal,span:target~h6:first-of-type code.literal{background-color:transparent}.literal-block-wrapper:target .code-block-caption,.this-will-duplicate-information-and-it-is-still-useful-here li :target,figure:target,table:target>caption{background-color:var(--color-highlight-on-target)}dt:target{background-color:var(--color-highlight-on-target)!important}.footnote-reference:target,.footnote>dt:target+dd{background-color:var(--color-highlight-on-target)}.guilabel{background-color:var(--color-guilabel-background);border:1px solid var(--color-guilabel-border);border-radius:.5em;color:var(--color-guilabel-text);font-size:.9em;padding:0 .3em}footer{display:flex;flex-direction:column;font-size:var(--font-size--small);margin-top:2rem}.bottom-of-page{align-items:center;border-top:1px solid var(--color-background-border);color:var(--color-foreground-secondary);display:flex;justify-content:space-between;line-height:1.5;margin-top:1rem;padding-bottom:1rem;padding-top:1rem}@media(max-width:46em){.bottom-of-page{flex-direction:column-reverse;gap:.25rem;text-align:center}}.bottom-of-page .left-details{font-size:var(--font-size--small)}.bottom-of-page .right-details{display:flex;flex-direction:column;gap:.25rem;text-align:right}.bottom-of-page .icons{display:flex;font-size:1rem;gap:.25rem;justify-content:flex-end}.bottom-of-page .icons a{text-decoration:none}.bottom-of-page .icons img,.bottom-of-page .icons svg{font-size:1.125rem;height:1em;width:1em}.related-pages a{align-items:center;display:flex;text-decoration:none}.related-pages a:hover .page-info .title{color:var(--color-link);text-decoration:underline;text-decoration-color:var(--color-link-underline)}.related-pages a svg.furo-related-icon,.related-pages a svg.furo-related-icon>use{color:var(--color-foreground-border);flex-shrink:0;height:.75rem;margin:0 .5rem;width:.75rem}.related-pages a.next-page{clear:right;float:right;max-width:50%;text-align:right}.related-pages a.prev-page{clear:left;float:left;max-width:50%}.related-pages a.prev-page svg{transform:rotate(180deg)}.page-info{display:flex;flex-direction:column;overflow-wrap:anywhere}.next-page .page-info{align-items:flex-end}.page-info .context{align-items:center;color:var(--color-foreground-muted);display:flex;font-size:var(--font-size--small);padding-bottom:.1rem;text-decoration:none}ul.search{list-style:none;padding-left:0}ul.search li{border-bottom:1px solid var(--color-background-border);padding:1rem 0}[role=main] .highlighted{background-color:var(--color-highlighted-background);color:var(--color-highlighted-text)}.sidebar-brand{display:flex;flex-direction:column;flex-shrink:0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-decoration:none}.sidebar-brand-text{color:var(--color-sidebar-brand-text);font-size:1.5rem;overflow-wrap:break-word}.sidebar-brand-text,.sidebar-logo-container{margin:var(--sidebar-item-spacing-vertical) 0}.sidebar-logo{display:block;margin:0 auto;max-width:100%}.sidebar-search-container{align-items:center;background:var(--color-sidebar-search-background);display:flex;margin-top:var(--sidebar-search-space-above);position:relative}.sidebar-search-container:focus-within,.sidebar-search-container:hover{background:var(--color-sidebar-search-background--focus)}.sidebar-search-container:before{background-color:var(--color-sidebar-search-icon);content:"";height:var(--sidebar-search-icon-size);left:var(--sidebar-item-spacing-horizontal);-webkit-mask-image:var(--icon-search);mask-image:var(--icon-search);position:absolute;width:var(--sidebar-search-icon-size)}.sidebar-search{background:transparent;border:none;border-bottom:1px solid var(--color-sidebar-search-border);border-top:1px solid var(--color-sidebar-search-border);box-sizing:border-box;color:var(--color-sidebar-search-foreground);padding:var(--sidebar-search-input-spacing-vertical) var(--sidebar-search-input-spacing-horizontal) var(--sidebar-search-input-spacing-vertical) calc(var(--sidebar-item-spacing-horizontal) + var(--sidebar-search-input-spacing-horizontal) + var(--sidebar-search-icon-size));width:100%;z-index:10}.sidebar-search:focus{outline:none}.sidebar-search::-moz-placeholder{font-size:var(--sidebar-search-input-font-size)}.sidebar-search::placeholder{font-size:var(--sidebar-search-input-font-size)}#searchbox .highlight-link{margin:0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal) 0;text-align:center}#searchbox .highlight-link a{color:var(--color-sidebar-search-icon);font-size:var(--font-size--small--2)}.sidebar-tree{font-size:var(--sidebar-item-font-size);margin-bottom:var(--sidebar-item-spacing-vertical);margin-top:var(--sidebar-tree-space-above)}.sidebar-tree ul{display:flex;flex-direction:column;list-style:none;margin-bottom:0;margin-top:0;padding:0}.sidebar-tree li{margin:0;position:relative}.sidebar-tree li>ul{margin-left:var(--sidebar-item-spacing-horizontal)}.sidebar-tree .icon,.sidebar-tree .reference{color:var(--color-sidebar-link-text)}.sidebar-tree .reference{box-sizing:border-box;display:inline-block;height:100%;line-height:var(--sidebar-item-line-height);overflow-wrap:anywhere;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-decoration:none;width:100%}.sidebar-tree .reference:hover{background:var(--color-sidebar-item-background--hover)}.sidebar-tree .reference.external:after{color:var(--color-sidebar-link-text);content:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='12' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='1.5' stroke='%23607D8B' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M0 0h24v24H0z' stroke='none'/%3E%3Cpath d='M11 7H6a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2v-5M10 14 20 4M15 4h5v5'/%3E%3C/svg%3E");margin:0 .25rem;vertical-align:middle}.sidebar-tree .current-page>.reference{font-weight:700}.sidebar-tree label{align-items:center;cursor:pointer;display:flex;height:var(--sidebar-item-height);justify-content:center;position:absolute;right:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:var(--sidebar-expander-width)}.sidebar-tree .caption,.sidebar-tree :not(.caption)>.caption-text{color:var(--color-sidebar-caption-text);font-size:var(--sidebar-caption-font-size);font-weight:700;margin:var(--sidebar-caption-space-above) 0 0 0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-transform:uppercase}.sidebar-tree li.has-children>.reference{padding-right:var(--sidebar-expander-width)}.sidebar-tree .toctree-l1>.reference,.sidebar-tree .toctree-l1>label .icon{color:var(--color-sidebar-link-text--top-level)}.sidebar-tree label{background:var(--color-sidebar-item-expander-background)}.sidebar-tree label:hover{background:var(--color-sidebar-item-expander-background--hover)}.sidebar-tree .current>.reference{background:var(--color-sidebar-item-background--current)}.sidebar-tree .current>.reference:hover{background:var(--color-sidebar-item-background--hover)}.toctree-checkbox{display:none;position:absolute}.toctree-checkbox~ul{display:none}.toctree-checkbox~label .icon svg{transform:rotate(90deg)}.toctree-checkbox:checked~ul{display:block}.toctree-checkbox:checked~label .icon svg{transform:rotate(-90deg)}.toc-title-container{padding:var(--toc-title-padding);padding-top:var(--toc-spacing-vertical)}.toc-title{color:var(--color-toc-title-text);font-size:var(--toc-title-font-size);padding-left:var(--toc-spacing-horizontal);text-transform:uppercase}.no-toc{display:none}.toc-tree-container{padding-bottom:var(--toc-spacing-vertical)}.toc-tree{border-left:1px solid var(--color-background-border);font-size:var(--toc-font-size);line-height:1.3;padding-left:calc(var(--toc-spacing-horizontal) - var(--toc-item-spacing-horizontal))}.toc-tree>ul>li:first-child{padding-top:0}.toc-tree>ul>li:first-child>ul{padding-left:0}.toc-tree>ul>li:first-child>a{display:none}.toc-tree ul{list-style-type:none;margin-bottom:0;margin-top:0;padding-left:var(--toc-item-spacing-horizontal)}.toc-tree li{padding-top:var(--toc-item-spacing-vertical)}.toc-tree li.scroll-current>.reference{color:var(--color-toc-item-text--active);font-weight:700}.toc-tree .reference{color:var(--color-toc-item-text);overflow-wrap:anywhere;text-decoration:none}.toc-scroll{max-height:100vh;overflow-y:scroll}.contents:not(.this-will-duplicate-information-and-it-is-still-useful-here){background:rgba(255,0,0,.25);color:var(--color-problematic)}.contents:not(.this-will-duplicate-information-and-it-is-still-useful-here):before{content:"ERROR: Adding a table of contents in Furo-based documentation is unnecessary, and does not work well with existing styling.Add a 'this-will-duplicate-information-and-it-is-still-useful-here' class, if you want an escape hatch."}.text-align\:left>p{text-align:left}.text-align\:center>p{text-align:center}.text-align\:right>p{text-align:right} /*# sourceMappingURL=furo.css.map*/ \ No newline at end of file diff --git a/docs/en/_static/styles/furo.css.map b/docs/en/_static/styles/furo.css.map index 997200ae..d1dfb109 100644 --- a/docs/en/_static/styles/furo.css.map +++ b/docs/en/_static/styles/furo.css.map @@ -1 +1 @@ -{"version":3,"file":"styles/furo.css","mappings":"AAAA,2EAA2E,CAU3E,KAEE,6BAA8B,CAD9B,gBAEF,CASA,KACE,QACF,CAMA,KACE,aACF,CAOA,GACE,aAAc,CACd,cACF,CAUA,GACE,sBAAuB,CACvB,QAAS,CACT,gBACF,CAOA,IACE,+BAAiC,CACjC,aACF,CASA,EACE,4BACF,CAOA,YACE,kBAAmB,CACnB,yBAA0B,CAC1B,gCACF,CAMA,SAEE,kBACF,CAOA,cAGE,+BAAiC,CACjC,aACF,CAeA,QAEE,aAAc,CACd,aAAc,CACd,iBAAkB,CAClB,uBACF,CAEA,IACE,aACF,CAEA,IACE,SACF,CASA,IACE,iBACF,CAUA,sCAKE,mBAAoB,CACpB,cAAe,CACf,gBAAiB,CACjB,QACF,CAOA,aAEE,gBACF,CAOA,cAEE,mBACF,CAMA,gDAIE,yBACF,CAMA,wHAIE,iBAAkB,CAClB,SACF,CAMA,4GAIE,6BACF,CAMA,SACE,0BACF,CASA,OACE,qBAAsB,CACtB,aAAc,CACd,aAAc,CACd,cAAe,CACf,SAAU,CACV,kBACF,CAMA,SACE,uBACF,CAMA,SACE,aACF,CAOA,6BAEE,qBAAsB,CACtB,SACF,CAMA,kFAEE,WACF,CAOA,cACE,4BAA6B,CAC7B,mBACF,CAMA,yCACE,uBACF,CAOA,6BACE,yBAA0B,CAC1B,YACF,CASA,QACE,aACF,CAMA,QACE,iBACF,CAiBA,kBACE,YACF,CCvVA,aAcE,kEACE,uBAOF,WACE,iDAMF,gCACE,wBAEF,qCAEE,uBADA,uBACA,CAEF,SACE,wBAtBA,CCpBJ,iBAOE,6BAEA,mBANA,qBAEA,sBACA,0BAFA,oBAHA,4BAOA,6BANA,mBAOA,CAEF,gBACE,aCPF,KCGE,mHAEA,wGAGA,wBAAyB,CACzB,wBAAyB,CACzB,4BAA6B,CAC7B,yBAA0B,CAC1B,2BAA4B,CAG5B,sDAAuD,CACvD,gDAAiD,CACjD,wDAAyD,CAGzD,0CAA2C,CAC3C,gDAAiD,CACjD,gDAAiD,CAKjD,gCAAiC,CACjC,sCAAuC,CAGvC,2CAA4C,CAG5C,uCAAwC,CChCxC,+FAGA,uBAAwB,CAGxB,iCAAkC,CAClC,kCAAmC,CAEnC,+BAAgC,CAChC,sCAAuC,CACvC,sCAAuC,CACvC,qGAIA,mDAAoD,CAEpD,mCAAoC,CACpC,8CAA+C,CAC/C,gDAAiD,CACjD,kCAAmC,CACnC,6DAA8D,CAG9D,6BAA8B,CAC9B,6BAA8B,CAC9B,+BAAgC,CAChC,kCAAmC,CACnC,kCAAmC,CCPjC,ukBCYA,srCAZF,kaCVA,mLAOA,oTAWA,2UAaA,0CACA,gEACA,0CAGA,gEAUA,yCACA,+DAGA,4CACA,CACA,iEAGA,sGACA,uCACA,4DAGA,sCACA,2DAEA,4CACA,kEACA,oGACA,CAEA,0GACA,+CAGA,+MAOA,+EACA,wCAIA,4DACA,sEACA,kEACA,sEACA,gDAGA,+DACA,0CACA,gEACA,gGACA,CAGA,2DACA,qDAGA,0CACA,8CACA,oDACA,oDL7GF,iCAEA,iEAME,oCKyGA,yDAIA,sCACA,kCACA,sDAGA,0CACA,kEACA,oDAEA,sDAGA,oCACA,oEAIA,CAGA,yDAGA,qDACA,oDAGA,6DAIA,iEAGA,2DAEA,2DL9IE,4DAEA,gEAIF,gEKgGA,gFAIA,oNAOA,qDAEA,gFAIA,4DAIA,oEAMA,yEAIA,6DACA,0DAGA,uDAGA,qDAEA,wDLpII,6DAEA,yDACE,2DAMN,uCAIA,yCACE,8CAGF,sDMjDA,6DAKA,oCAIA,4CACA,kBAGF,sBAMA,2BAME,qCAGA,qCAEA,iCAEA,+BAEA,mCAEA,qCAIA,CACA,gCACA,gDAKA,kCAIA,6BAEA,0CAQA,kCAIF,8BAGE,8BACA,uCAGF,sCAKE,kCAEA,sDAGA,iCACE,CACA,2FAGA,gCACE,CACA,+DCzEJ,wCAEA,sBAEF,yDAEE,mCACA,wDAGA,2GAGA,wIACE,gDAMJ,kCAGE,6BACA,0CAGA,gEACA,8BAGA,uCAKA,sCAEA,wFAEA,iCAIA,sCAMA,sDAEE,gGAKE,+CAON,sBACE,yCAEA,0BAUF,yLAKA,aACE,mCAEA,mBAEF,wCAGE,MACA,kCACA,kCAGA,SAEF,kCAME,mBAGF,CAJE,eACA,CAHA,gBAEA,CASA,mBACA,mBAEF,oBACE,+BAGA,YACE,mBACA,CAMF,yBADF,kBAEE,CADA,gBACA,uCAEA,qBACA,iBACA,OACA,aACA,CAFA,WAEA,GACE,qBADF,gBACE,aAGF,+CAEA,SACA,CANE,WAEJ,aACE,CADF,SAIE,4BACA,GAGE,wBADF,yBACE,kDACA,uCAEA,yDAEE,+CAKN,uBACE,yDAKF,uBACE,CACA,iBACA,uBACA,kDAMA,0DAGF,CALE,oBAKF,0GAWE,sJAOA,+CAGF,sBAEE,WAKA,0CAEA,CALF,qCAGE,CAHF,WAKE,SAGA,0CAEE,CALF,qCAKE,OACA,YAEJ,gBACE,gBAIA,+CAKF,CAGE,kDAGA,CANF,8BAGE,CAGA,YAEA,CAdF,2BACE,CAHA,UAEF,CAYE,UAEA,CACA,0CACF,iEAOE,iCACA,8BAGA,wCAIA,wBAKE,0CAKF,CARE,6DAGA,CALF,qBAEE,CASA,YACA,yBAGA,CAEE,cAKN,CAPI,sBAOJ,gCAGE,qBAEA,WACA,aACA,sCAEA,mBACA,6BAGA,uEADA,qBACA,6BAIA,yBACA,qCAEE,UAEA,YACA,sBAEF,8BAGA,CAPE,aACA,WAMF,4BACE,sBACA,WAMJ,uBACE,cAYE,mBAXA,qDAKA,qCAGA,CAEA,YACA,CAHA,2BAEA,CACA,oCAEA,4CACA,uBAIA,oCAEJ,CAFI,cAIF,iBACE,CAHJ,kBAGI,yBAEA,oCAIA,qDAMF,mEAEA,CACE,8CAKA,gCAEA,qCAGA,oCAGE,sBACA,CAJF,WAEE,CAFF,eAEE,SAEA,mBACA,qCACE,aACA,CAFF,YADA,qBACA,WAEE,sBACA,kEAEN,2BAEE,iDAKA,uCAGF,CACE,0DAKA,kBACF,CAFE,sBAGA,mBACA,0BAEJ,yBAII,aADA,WACA,CAMF,UAFE,kBAEF,CAJF,gBACE,CAHE,iBAMF,6CC7ZF,yBACE,WACA,iBAEA,aAFA,iBAEA,6BAEA,kCACA,mBAKA,gCAGA,CARA,QAEA,CAGA,UALA,qBAEA,qDAGA,CALA,OAQA,4BACE,cAGF,2BACE,gCAEJ,CAHE,UAGF,aACE,iCAEA,CAHF,UAGE,wCAEA,WACA,WADA,UACA,6CAGA,yCAIA,kEAGE,QADA,KACA,cAQA,0CACA,CAFF,kBACE,CACA,wEACA,CALJ,YACE,CAEE,mBAFF,OAIE,gBAJF,gCACA,CADA,eALE,oBAIJ,CACE,SAIE,0BAEJ,CAFI,UAEJ,CACE,kCACA,qBACE,CAFF,sBAEE,qEACA,uDACA,8DAMF,yBAII,oDAJJ,YAGE,CAHF,eAGE,iBACE,WACA,uDACE,yCACA,2CACE,yCACA,YADA,eACA,uFALJ,+CACA,gBACE,kBACA,CADA,2CADF,eACE,MACA,0DACE,yCACA,qGALJ,oCACA,uCACE,CAFF,UAEE,uEACA,+CACE,oDACA,6DANN,kCACE,kCACA,gBADA,UACA,yBACE,wDACA,cADA,UACA,qBACE,6CACA,yFALJ,sCACA,CAEE,gBACE,CAHJ,gBAGI,sBAHJ,uBACE,4DACA,4CACE,iDAJJ,2CACA,CADA,gBAEE,gBAGE,sBALJ,+BAII,iBAFF,gDACA,WACE,YADF,uCACE,6EACA,2BANN,8CACE,kDACA,0CACE,8BACA,yFACE,sBACA,sFALJ,mEACA,sBACE,kEACA,6EACE,uCACA,kEALJ,qGAEE,kEACA,6EACE,uCACA,kEALJ,8CACA,uDACE,sEACA,2EACE,sCACA,iEALJ,mGACA,qCACE,oDACA,0DACE,6GACA,gDAGR,yDCpEA,sEACE,CACA,6GACE,gEACF,iGAIF,wFACE,qDAGA,mGAEE,2CAEF,4FACE,gCACF,wGACE,8DAEE,6FAIA,iJAKN,6GACE,gDAKF,yDACA,qCAGA,6BACA,kBACA,qDAKA,oCAEA,+DAGA,2CAGE,oDAIA,oEAEE,qBAGJ,wDAIA,uCAEE,kEAEF,CACF,6CAEE,uDAEA,oCAIF,4BACE,6BAEA,gEAEE,+CAIF,0EC9FA,sDAGE,+DCLJ,sCAGE,8BAKA,wJAIE,gBACA,yGCZF,mBAQA,2MAIA,oBAOF,wGAKE,iCAEE,CAFF,wBAEE,8GAWF,mBAEE,2GAMA,mBAEA,6HAOF,YAGA,mIAOE,gBADA,YACA,4FAOF,8BACA,uBAYA,sCAEE,CAFF,qBARA,wCAEA,CAHA,8BACA,CAFA,eACA,CAGA,mBAEA,sBAEA,kDAEA,CAEE,kCACE,6BACA,4CAMJ,kDAGA,eAIA,6CACE,mCACA,0CACA,8BAEA,sCACA,cAEF,+BACE,CAHA,eAGA,YACA,4BACA,gEAGF,0DAME,sBAFA,kBAGE,+BACA,4BAIJ,aACE,oBACA,CAFF,gBAEE,yBAEA,eACA,CApHsB,YAmHtB,CACA,sECpIF,mDACA,2FAMA,iCAGA,CACA,eACE,CAFF,kBACA,CADA,wBAEE,CACA,6BACE,eAEF,CAHA,YAGA,wEAIE,mBACE,qCACF,CAGJ,wBACE,CAJE,iBAIF,8BAIJ,+CAEE,qDAEF,kDAIE,YAEF,CAFE,YAEF,CCjCE,mFAJA,QACA,UAIE,CADF,iBACE,mCAGA,iDACE,+BAGF,wBAEA,mBAKA,6CAEF,CAHE,mBACA,CAEF,kCAIE,CARA,kBACA,CAFF,eASE,YACA,mBAGF,CAJE,UAIF,wCCjCA,oBDmCE,wBCpCJ,uCACE,8BACA,4CACA,oBAGA,2CCAA,6CAGE,CAPF,uBAIA,CDGA,gDACE,6BCVJ,CAWM,2CAEF,CAJA,kCAEE,CDJF,aCLF,gBDKE,uBCMA,gCAGA,gDAGE,wBAGJ,0BAEA,iBACE,aACF,CADE,UACF,uBACE,aACF,oBACE,YACF,4BACE,6CAMA,CAYF,6DAZE,mCAGE,iCASJ,4BAGE,4DADA,+BACA,CAFA,qBAEA,yBACE,aAEF,wBAHA,SAGA,iHACE,2DAKF,CANA,yCACE,CADF,oCAMA,uSAIA,sGACE,oDChEJ,WAEF,yBACE,QACA,eAEA,gBAEE,uCAGA,CALF,iCAKE,uCAGA,0BACA,CACA,oBACA,iCClBJ,gBACE,KAGF,qBACE,YAGF,CAHE,cAGF,gCAEE,mBACA,iEAEA,oCACA,wCAEA,sBACA,WAEA,CAFA,YAEA,8EAEA,mCAFA,iBAEA,6BAIA,wEAKA,sDAIE,CARF,mDAIA,CAIE,cAEF,8CAIA,oBAFE,iBAEF,8CAGE,eAEF,CAFE,YAEF,OAEE,kBAGJ,CAJI,eACA,CAFF,mBAKF,yCCjDE,oBACA,CAFA,iBAEA,uCAKE,iBACA,qCAGA,mBCZJ,CDWI,gBCXJ,6BAEE,eACA,sBAGA,eAEA,sBACA,oDACA,iGAMA,gBAFE,YAEF,8FAME,iJClBF,YACA,gNAUE,6BAEF,oTAcI,kBACF,gHAIA,qBACE,eACF,qDACE,kBACF,6DACE,4BCxCJ,oBAEF,qCAEI,+CAGF,uBACE,uDAGJ,oBAkBE,mDAhBA,+CAaA,CAbA,oBAaA,0FAEE,CAFF,gGAbA,+BAaA,0BAGA,mQAIA,oNAEE,iBAGJ,CAHI,gBADA,gBAIJ,8CAYI,CAZJ,wCAYI,sVACE,iCAGA,uEAHA,QAGA,qXAKJ,iDAGF,CARM,+CACE,iDAIN,CALI,gBAQN,mHACE,gBAGF,2DACE,0EAOA,0EAKA,6EC/EA,iDACA,gCACA,oDAGA,qBACA,oDCFA,cACA,eAEA,yBAGF,sBAEE,iBACA,sNAWA,iBACE,kBACA,wRAgBA,kBAEA,iOAgBA,uCACE,uEAEA,kBAEF,qUAuBE,iDAIJ,CACA,geCxFF,4BAEE,CAQA,6JACA,iDAIA,sEAGA,mDAOF,iDAGE,4DAIA,8CACA,qDAEE,eAFF,cAEE,oBAEF,uBAFE,kCAGA,eACA,iBACA,mBAIA,mDACA,CAHA,uCAEA,CAJA,0CACA,CAIA,gBAJA,gBACA,oBADA,gBAIA,wBAEJ,gBAGE,6BACA,YAHA,iBAGA,gCACA,iEAEA,6CACA,sDACA,0BADA,wBACA,0BACA,oIAIA,mBAFA,YAEA,qBACA,0CAIE,uBAEF,CAHA,yBACE,CAEF,iDACE,mFAKJ,oCACE,CANE,aAKJ,CACE,qEAIA,YAFA,WAEA,CAHA,aACA,CAEA,gBACE,4BACA,sBADA,aACA,gCAMF,oCACA,yDACA,2CAEA,qBAGE,kBAEA,CACA,mCAIF,CARE,YACA,CAOF,iCAEE,CAPA,oBACA,CAQA,oBACE,uDAEJ,sDAGA,CAHA,cAGA,0BACE,oDAIA,oCACA,4BACA,sBAGA,cAEA,oFAGA,sBAEA,yDACE,CAIA,iBAJA,wBAIA,6CAJA,6CAOA,4BAGJ,CAHI,cAGJ,yCAGA,kBACE,CAIA,iDAEA,CATA,YAEF,CACE,4CAGA,kBAIA,wEAEA,wDAIF,kCAOE,iDACA,CARF,WAIE,sCAGA,CANA,2CACA,CAMA,oEARF,iBACE,CACA,qCAMA,iBAuBE,uBAlBF,YAKA,2DALA,uDAKA,CALA,sBAiBA,4CACE,CALA,gRAIF,YACE,UAEN,uBACE,YACA,mCAOE,+CAGA,8BAGF,+CAGA,4BCjNA,SDiNA,qFCjNA,gDAGA,sCACA,qCACA,sDAIF,CAIE,kDAGA,CAPF,0CAOE,kBAEA,kDAEA,CAHA,eACA,CAFA,YACA,CADA,SAIA,mHAIE,CAGA,6CAFA,oCAeE,CAbF,yBACE,qBAEJ,CAGE,oBACA,CAEA,YAFA,2CACF,CACE,uBAEA,mFAEE,CALJ,oBACE,CAEA,UAEE,gCAGF,sDAEA,yCC7CJ,oCAGA,CD6CE,yXAQE,sCCrDJ,wCAGA,oCACE","sources":["webpack:///./node_modules/normalize.css/normalize.css","webpack:///./src/furo/assets/styles/base/_print.sass","webpack:///./src/furo/assets/styles/base/_screen-readers.sass","webpack:///./src/furo/assets/styles/base/_theme.sass","webpack:///./src/furo/assets/styles/variables/_fonts.scss","webpack:///./src/furo/assets/styles/variables/_spacing.scss","webpack:///./src/furo/assets/styles/variables/_icons.scss","webpack:///./src/furo/assets/styles/variables/_admonitions.scss","webpack:///./src/furo/assets/styles/variables/_colors.scss","webpack:///./src/furo/assets/styles/base/_typography.sass","webpack:///./src/furo/assets/styles/_scaffold.sass","webpack:///./src/furo/assets/styles/content/_admonitions.sass","webpack:///./src/furo/assets/styles/content/_api.sass","webpack:///./src/furo/assets/styles/content/_blocks.sass","webpack:///./src/furo/assets/styles/content/_captions.sass","webpack:///./src/furo/assets/styles/content/_code.sass","webpack:///./src/furo/assets/styles/content/_footnotes.sass","webpack:///./src/furo/assets/styles/content/_images.sass","webpack:///./src/furo/assets/styles/content/_indexes.sass","webpack:///./src/furo/assets/styles/content/_lists.sass","webpack:///./src/furo/assets/styles/content/_math.sass","webpack:///./src/furo/assets/styles/content/_misc.sass","webpack:///./src/furo/assets/styles/content/_rubrics.sass","webpack:///./src/furo/assets/styles/content/_sidebar.sass","webpack:///./src/furo/assets/styles/content/_tables.sass","webpack:///./src/furo/assets/styles/content/_target.sass","webpack:///./src/furo/assets/styles/content/_gui-labels.sass","webpack:///./src/furo/assets/styles/components/_footer.sass","webpack:///./src/furo/assets/styles/components/_sidebar.sass","webpack:///./src/furo/assets/styles/components/_table_of_contents.sass","webpack:///./src/furo/assets/styles/_shame.sass"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput { /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect { /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n","// This file contains styles for managing print media.\n\n////////////////////////////////////////////////////////////////////////////////\n// Hide elements not relevant to print media.\n////////////////////////////////////////////////////////////////////////////////\n@media print\n // Hide icon container.\n .content-icon-container\n display: none !important\n\n // Hide showing header links if hovering over when printing.\n .headerlink\n display: none !important\n\n // Hide mobile header.\n .mobile-header\n display: none !important\n\n // Hide navigation links.\n .related-pages\n display: none !important\n\n////////////////////////////////////////////////////////////////////////////////\n// Tweaks related to decolorization.\n////////////////////////////////////////////////////////////////////////////////\n@media print\n // Apply a border around code which no longer have a color background.\n .highlight\n border: 0.1pt solid var(--color-foreground-border)\n\n////////////////////////////////////////////////////////////////////////////////\n// Avoid page break in some relevant cases.\n////////////////////////////////////////////////////////////////////////////////\n@media print\n ul, ol, dl, a, table, pre, blockquote\n page-break-inside: avoid\n\n h1, h2, h3, h4, h5, h6, img, figure, caption\n page-break-inside: avoid\n page-break-after: avoid\n\n ul, ol, dl\n page-break-before: avoid\n",".visually-hidden\n position: absolute !important\n width: 1px !important\n height: 1px !important\n padding: 0 !important\n margin: -1px !important\n overflow: hidden !important\n clip: rect(0,0,0,0) !important\n white-space: nowrap !important\n border: 0 !important\n\n:-moz-focusring\n outline: auto\n","// This file serves as the \"skeleton\" of the theming logic.\n//\n// This contains the bulk of the logic for handling dark mode, color scheme\n// toggling and the handling of color-scheme-specific hiding of elements.\n\nbody\n @include fonts\n @include spacing\n @include icons\n @include admonitions\n @include default-admonition(#651fff, \"abstract\")\n @include default-topic(#14B8A6, \"pencil\")\n\n @include colors\n\n.only-light\n display: block !important\nhtml body .only-dark\n display: none !important\n\n// Ignore dark-mode hints if print media.\n@media not print\n // Enable dark-mode, if requested.\n body[data-theme=\"dark\"]\n @include colors-dark\n\n html & .only-light\n display: none !important\n .only-dark\n display: block !important\n\n // Enable dark mode, unless explicitly told to avoid.\n @media (prefers-color-scheme: dark)\n body:not([data-theme=\"light\"])\n @include colors-dark\n\n html & .only-light\n display: none !important\n .only-dark\n display: block !important\n\n//\n// Theme toggle presentation\n//\nbody[data-theme=\"auto\"]\n .theme-toggle svg.theme-icon-when-auto\n display: block\n\nbody[data-theme=\"dark\"]\n .theme-toggle svg.theme-icon-when-dark\n display: block\n\nbody[data-theme=\"light\"]\n .theme-toggle svg.theme-icon-when-light\n display: block\n","// Fonts used by this theme.\n//\n// There are basically two things here -- using the system font stack and\n// defining sizes for various elements in %ages. We could have also used `em`\n// but %age is easier to reason about for me.\n\n@mixin fonts {\n // These are adapted from https://systemfontstack.com/\n --font-stack: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial,\n sans-serif, Apple Color Emoji, Segoe UI Emoji;\n --font-stack--monospace: \"SFMono-Regular\", Menlo, Consolas, Monaco,\n Liberation Mono, Lucida Console, monospace;\n\n --font-size--normal: 100%;\n --font-size--small: 87.5%;\n --font-size--small--2: 81.25%;\n --font-size--small--3: 75%;\n --font-size--small--4: 62.5%;\n\n // Sidebar\n --sidebar-caption-font-size: var(--font-size--small--2);\n --sidebar-item-font-size: var(--font-size--small);\n --sidebar-search-input-font-size: var(--font-size--small);\n\n // Table of Contents\n --toc-font-size: var(--font-size--small--3);\n --toc-font-size--mobile: var(--font-size--normal);\n --toc-title-font-size: var(--font-size--small--4);\n\n // Admonitions\n //\n // These aren't defined in terms of %ages, since nesting these is permitted.\n --admonition-font-size: 0.8125rem;\n --admonition-title-font-size: 0.8125rem;\n\n // Code\n --code-font-size: var(--font-size--small--2);\n\n // API\n --api-font-size: var(--font-size--small);\n}\n","// Spacing for various elements on the page\n//\n// If the user wants to tweak things in a certain way, they are permitted to.\n// They also have to deal with the consequences though!\n\n@mixin spacing {\n // Header!\n --header-height: calc(\n var(--sidebar-item-line-height) + 4 * #{var(--sidebar-item-spacing-vertical)}\n );\n --header-padding: 0.5rem;\n\n // Sidebar\n --sidebar-tree-space-above: 1.5rem;\n --sidebar-caption-space-above: 1rem;\n\n --sidebar-item-line-height: 1rem;\n --sidebar-item-spacing-vertical: 0.5rem;\n --sidebar-item-spacing-horizontal: 1rem;\n --sidebar-item-height: calc(\n var(--sidebar-item-line-height) + 2 *#{var(--sidebar-item-spacing-vertical)}\n );\n\n --sidebar-expander-width: var(--sidebar-item-height); // be square\n\n --sidebar-search-space-above: 0.5rem;\n --sidebar-search-input-spacing-vertical: 0.5rem;\n --sidebar-search-input-spacing-horizontal: 0.5rem;\n --sidebar-search-input-height: 1rem;\n --sidebar-search-icon-size: var(--sidebar-search-input-height);\n\n // Table of Contents\n --toc-title-padding: 0.25rem 0;\n --toc-spacing-vertical: 1.5rem;\n --toc-spacing-horizontal: 1.5rem;\n --toc-item-spacing-vertical: 0.4rem;\n --toc-item-spacing-horizontal: 1rem;\n}\n","// Expose theme icons as CSS variables.\n\n$icons: (\n // Adapted from tabler-icons\n // url: https://tablericons.com/\n \"search\":\n url('data:image/svg+xml;charset=utf-8,'),\n // Factored out from mkdocs-material on 24-Aug-2020.\n // url: https://squidfunk.github.io/mkdocs-material/reference/admonitions/\n \"pencil\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"abstract\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"info\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"flame\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"question\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"warning\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"failure\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"spark\":\n url('data:image/svg+xml;charset=utf-8,')\n);\n\n@mixin icons {\n @each $name, $glyph in $icons {\n --icon-#{$name}: #{$glyph};\n }\n}\n","// Admonitions\n\n// Structure of these is:\n// admonition-class: color \"icon-name\";\n//\n// The colors are translated into CSS variables below. The icons are\n// used directly in the main declarations to set the `mask-image` in\n// the title.\n\n// prettier-ignore\n$admonitions: (\n // Each of these has an reST directives for it.\n \"caution\": #ff9100 \"spark\",\n \"warning\": #ff9100 \"warning\",\n \"danger\": #ff5252 \"spark\",\n \"attention\": #ff5252 \"warning\",\n \"error\": #ff5252 \"failure\",\n \"hint\": #00c852 \"question\",\n \"tip\": #00c852 \"info\",\n \"important\": #00bfa5 \"flame\",\n \"note\": #00b0ff \"pencil\",\n \"seealso\": #448aff \"info\",\n \"admonition-todo\": #808080 \"pencil\"\n);\n\n@mixin default-admonition($color, $icon-name) {\n --color-admonition-title: #{$color};\n --color-admonition-title-background: #{rgba($color, 0.2)};\n\n --icon-admonition-default: var(--icon-#{$icon-name});\n}\n\n@mixin default-topic($color, $icon-name) {\n --color-topic-title: #{$color};\n --color-topic-title-background: #{rgba($color, 0.2)};\n\n --icon-topic-default: var(--icon-#{$icon-name});\n}\n\n@mixin admonitions {\n @each $name, $values in $admonitions {\n --color-admonition-title--#{$name}: #{nth($values, 1)};\n --color-admonition-title-background--#{$name}: #{rgba(\n nth($values, 1),\n 0.2\n )};\n }\n}\n","// Colors used throughout this theme.\n//\n// The aim is to give the user more control. Thus, instead of hard-coding colors\n// in various parts of the stylesheet, the approach taken is to define all\n// colors as CSS variables and reusing them in all the places.\n//\n// `colors-dark` depends on `colors` being included at a lower specificity.\n\n@mixin colors {\n --color-problematic: #b30000;\n\n // Base Colors\n --color-foreground-primary: black; // for main text and headings\n --color-foreground-secondary: #5a5c63; // for secondary text\n --color-foreground-muted: #646776; // for muted text\n --color-foreground-border: #878787; // for content borders\n\n --color-background-primary: white; // for content\n --color-background-secondary: #f8f9fb; // for navigation + ToC\n --color-background-hover: #efeff4ff; // for navigation-item hover\n --color-background-hover--transparent: #efeff400;\n --color-background-border: #eeebee; // for UI borders\n --color-background-item: #ccc; // for \"background\" items (eg: copybutton)\n\n // Announcements\n --color-announcement-background: #000000dd;\n --color-announcement-text: #eeebee;\n\n // Brand colors\n --color-brand-primary: #2962ff;\n --color-brand-content: #2a5adf;\n\n // API documentation\n --color-api-background: var(--color-background-hover--transparent);\n --color-api-background-hover: var(--color-background-hover);\n --color-api-overall: var(--color-foreground-secondary);\n --color-api-name: var(--color-problematic);\n --color-api-pre-name: var(--color-problematic);\n --color-api-paren: var(--color-foreground-secondary);\n --color-api-keyword: var(--color-foreground-primary);\n --color-highlight-on-target: #ffffcc;\n\n // Inline code background\n --color-inline-code-background: var(--color-background-secondary);\n\n // Highlighted text (search)\n --color-highlighted-background: #ddeeff;\n --color-highlighted-text: var(--color-foreground-primary);\n\n // GUI Labels\n --color-guilabel-background: #ddeeff80;\n --color-guilabel-border: #bedaf580;\n --color-guilabel-text: var(--color-foreground-primary);\n\n // Admonitions!\n --color-admonition-background: transparent;\n\n //////////////////////////////////////////////////////////////////////////////\n // Everything below this should be one of:\n // - var(...)\n // - *-gradient(...)\n // - special literal values (eg: transparent, none)\n //////////////////////////////////////////////////////////////////////////////\n\n // Tables\n --color-table-header-background: var(--color-background-secondary);\n --color-table-border: var(--color-background-border);\n\n // Cards\n --color-card-border: var(--color-background-secondary);\n --color-card-background: transparent;\n --color-card-marginals-background: var(--color-background-secondary);\n\n // Header\n --color-header-background: var(--color-background-primary);\n --color-header-border: var(--color-background-border);\n --color-header-text: var(--color-foreground-primary);\n\n // Sidebar (left)\n --color-sidebar-background: var(--color-background-secondary);\n --color-sidebar-background-border: var(--color-background-border);\n\n --color-sidebar-brand-text: var(--color-foreground-primary);\n --color-sidebar-caption-text: var(--color-foreground-muted);\n --color-sidebar-link-text: var(--color-foreground-secondary);\n --color-sidebar-link-text--top-level: var(--color-brand-primary);\n\n --color-sidebar-item-background: var(--color-sidebar-background);\n --color-sidebar-item-background--current: var(\n --color-sidebar-item-background\n );\n --color-sidebar-item-background--hover: linear-gradient(\n 90deg,\n var(--color-background-hover--transparent) 0%,\n var(--color-background-hover) var(--sidebar-item-spacing-horizontal),\n var(--color-background-hover) 100%\n );\n\n --color-sidebar-item-expander-background: transparent;\n --color-sidebar-item-expander-background--hover: var(\n --color-background-hover\n );\n\n --color-sidebar-search-text: var(--color-foreground-primary);\n --color-sidebar-search-background: var(--color-background-secondary);\n --color-sidebar-search-background--focus: var(--color-background-primary);\n --color-sidebar-search-border: var(--color-background-border);\n --color-sidebar-search-icon: var(--color-foreground-muted);\n\n // Table of Contents (right)\n --color-toc-background: var(--color-background-primary);\n --color-toc-title-text: var(--color-foreground-muted);\n --color-toc-item-text: var(--color-foreground-secondary);\n --color-toc-item-text--hover: var(--color-foreground-primary);\n --color-toc-item-text--active: var(--color-brand-primary);\n\n // Actual page contents\n --color-content-foreground: var(--color-foreground-primary);\n --color-content-background: transparent;\n\n // Links\n --color-link: var(--color-brand-content);\n --color-link--hover: var(--color-brand-content);\n --color-link-underline: var(--color-background-border);\n --color-link-underline--hover: var(--color-foreground-border);\n}\n\n@mixin colors-dark {\n --color-problematic: #ee5151;\n\n // Base Colors\n --color-foreground-primary: #ffffffcc; // for main text and headings\n --color-foreground-secondary: #9ca0a5; // for secondary text\n --color-foreground-muted: #81868d; // for muted text\n --color-foreground-border: #666666; // for content borders\n\n --color-background-primary: #131416; // for content\n --color-background-secondary: #1a1c1e; // for navigation + ToC\n --color-background-hover: #1e2124ff; // for navigation-item hover\n --color-background-hover--transparent: #1e212400;\n --color-background-border: #303335; // for UI borders\n --color-background-item: #444; // for \"background\" items (eg: copybutton)\n\n // Announcements\n --color-announcement-background: #000000dd;\n --color-announcement-text: #eeebee;\n\n // Brand colors\n --color-brand-primary: #2b8cee;\n --color-brand-content: #368ce2;\n\n // Highlighted text (search)\n --color-highlighted-background: #083563;\n\n // GUI Labels\n --color-guilabel-background: #08356380;\n --color-guilabel-border: #13395f80;\n\n // API documentation\n --color-api-keyword: var(--color-foreground-secondary);\n --color-highlight-on-target: #333300;\n\n // Admonitions\n --color-admonition-background: #18181a;\n\n // Cards\n --color-card-border: var(--color-background-secondary);\n --color-card-background: #18181a;\n --color-card-marginals-background: var(--color-background-hover);\n}\n","// This file contains the styling for making the content throughout the page,\n// including fonts, paragraphs, headings and spacing among these elements.\n\nbody\n font-family: var(--font-stack)\npre,\ncode,\nkbd,\nsamp\n font-family: var(--font-stack--monospace)\n\n// Make fonts look slightly nicer.\nbody\n -webkit-font-smoothing: antialiased\n -moz-osx-font-smoothing: grayscale\n\n// Line height from Bootstrap 4.1\narticle\n line-height: 1.5\n\n//\n// Headings\n//\nh1,\nh2,\nh3,\nh4,\nh5,\nh6\n line-height: 1.25\n font-weight: bold\n\n border-radius: 0.5rem\n margin-top: 0.5rem\n margin-bottom: 0.5rem\n margin-left: -0.5rem\n margin-right: -0.5rem\n padding-left: 0.5rem\n padding-right: 0.5rem\n\n + p\n margin-top: 0\n\nh1\n font-size: 2.5em\n margin-top: 1.75rem\n margin-bottom: 1rem\nh2\n font-size: 2em\n margin-top: 1.75rem\nh3\n font-size: 1.5em\nh4\n font-size: 1.25em\nh5\n font-size: 1.125em\nh6\n font-size: 1em\n\nsmall\n opacity: 75%\n font-size: 80%\n\n// Paragraph\np\n margin-top: 0.5rem\n margin-bottom: 0.75rem\n\n// Horizontal rules\nhr.docutils\n height: 1px\n padding: 0\n margin: 2rem 0\n background-color: var(--color-background-border)\n border: 0\n\n.centered\n text-align: center\n\n// Links\na\n text-decoration: underline\n\n color: var(--color-link)\n text-decoration-color: var(--color-link-underline)\n\n &:hover\n color: var(--color-link--hover)\n text-decoration-color: var(--color-link-underline--hover)\n &.muted-link\n color: inherit\n &:hover\n color: var(--color-link)\n text-decoration-color: var(--color-link-underline--hover)\n","// This file contains the styles for the overall layouting of the documentation\n// skeleton, including the responsive changes as well as sidebar toggles.\n//\n// This is implemented as a mobile-last design, which isn't ideal, but it is\n// reasonably good-enough and I got pretty tired by the time I'd finished this\n// to move the rules around to fix this. Shouldn't take more than 3-4 hours,\n// if you know what you're doing tho.\n\n// HACK: Not all browsers account for the scrollbar width in media queries.\n// This results in horizontal scrollbars in the breakpoint where we go\n// from displaying everything to hiding the ToC. We accomodate for this by\n// adding a bit of padding to the TOC drawer, disabling the horizontal\n// scrollbar and allowing the scrollbars to cover the padding.\n// https://www.456bereastreet.com/archive/201301/media_query_width_and_vertical_scrollbars/\n\n// HACK: Always having the scrollbar visible, prevents certain browsers from\n// causing the content to stutter horizontally between taller-than-viewport and\n// not-taller-than-viewport pages.\n\nhtml\n overflow-x: hidden\n overflow-y: scroll\n scroll-behavior: smooth\n\n.sidebar-scroll, .toc-scroll, article[role=main] *\n // Override Firefox scrollbar style\n scrollbar-width: thin\n scrollbar-color: var(--color-foreground-border) transparent\n\n // Override Chrome scrollbar styles\n &::-webkit-scrollbar\n width: 0.25rem\n height: 0.25rem\n &::-webkit-scrollbar-thumb\n background-color: var(--color-foreground-border)\n border-radius: 0.125rem\n\n//\n// Overalls\n//\nhtml,\nbody\n height: 100%\n color: var(--color-foreground-primary)\n background: var(--color-background-primary)\n\narticle\n color: var(--color-content-foreground)\n background: var(--color-content-background)\n\n.page\n display: flex\n // fill the viewport for pages with little content.\n min-height: 100%\n\n.mobile-header\n width: 100%\n height: var(--header-height)\n background-color: var(--color-header-background)\n color: var(--color-header-text)\n border-bottom: 1px solid var(--color-header-border)\n\n // Looks like sub-script/super-script have this, and we need this to\n // be \"on top\" of those.\n z-index: 10\n\n // We don't show the header on large screens.\n display: none\n\n // Add shadow when scrolled\n &.scrolled\n border-bottom: none\n box-shadow: 0 0 0.2rem rgba(0, 0, 0, 0.1), 0 0.2rem 0.4rem rgba(0, 0, 0, 0.2)\n\n .header-center\n a\n color: var(--color-header-text)\n text-decoration: none\n\n.main\n display: flex\n flex: 1\n\n// Sidebar (left) also covers the entire left portion of screen.\n.sidebar-drawer\n box-sizing: border-box\n\n border-right: 1px solid var(--color-sidebar-background-border)\n background: var(--color-sidebar-background)\n\n display: flex\n justify-content: flex-end\n // These next two lines took me two days to figure out.\n width: calc((100% - #{$full-width}) / 2 + #{$sidebar-width})\n min-width: $sidebar-width\n\n// Scroll-along sidebars\n.sidebar-container,\n.toc-drawer\n box-sizing: border-box\n width: $sidebar-width\n\n.toc-drawer\n background: var(--color-toc-background)\n // See HACK described on top of this document\n padding-right: 1rem\n\n.sidebar-sticky,\n.toc-sticky\n position: sticky\n top: 0\n height: min(100%, 100vh)\n height: 100vh\n\n display: flex\n flex-direction: column\n\n.sidebar-scroll,\n.toc-scroll\n flex-grow: 1\n flex-shrink: 1\n\n overflow: auto\n scroll-behavior: smooth\n\n// Central items.\n.content\n padding: 0 $content-padding\n width: $content-width\n\n display: flex\n flex-direction: column\n justify-content: space-between\n\n.icon\n display: inline-block\n height: 1rem\n width: 1rem\n svg\n width: 100%\n height: 100%\n\n//\n// Accommodate announcement banner\n//\n.announcement\n background-color: var(--color-announcement-background)\n color: var(--color-announcement-text)\n\n height: var(--header-height)\n display: flex\n align-items: center\n overflow-x: auto\n & + .page\n min-height: calc(100% - var(--header-height))\n\n.announcement-content\n box-sizing: border-box\n padding: 0.5rem\n min-width: 100%\n white-space: nowrap\n text-align: center\n\n a\n color: var(--color-announcement-text)\n text-decoration-color: var(--color-announcement-text)\n\n &:hover\n color: var(--color-announcement-text)\n text-decoration-color: var(--color-link--hover)\n\n////////////////////////////////////////////////////////////////////////////////\n// Toggles for theme\n////////////////////////////////////////////////////////////////////////////////\n.no-js .theme-toggle-container // don't show theme toggle if there's no JS\n display: none\n\n.theme-toggle-container\n vertical-align: middle\n\n.theme-toggle\n cursor: pointer\n border: none\n padding: 0\n background: transparent\n\n.theme-toggle svg\n vertical-align: middle\n height: 1rem\n width: 1rem\n color: var(--color-foreground-primary)\n display: none\n\n.theme-toggle-header\n float: left\n padding: 1rem 0.5rem\n\n////////////////////////////////////////////////////////////////////////////////\n// Toggles for elements\n////////////////////////////////////////////////////////////////////////////////\n.toc-overlay-icon, .nav-overlay-icon\n display: none\n cursor: pointer\n\n .icon\n color: var(--color-foreground-secondary)\n height: 1rem\n width: 1rem\n\n.toc-header-icon, .nav-overlay-icon\n // for when we set display: flex\n justify-content: center\n align-items: center\n\n.toc-content-icon\n height: 1.5rem\n width: 1.5rem\n\n.content-icon-container\n float: right\n display: flex\n margin-top: 1.5rem\n margin-left: 1rem\n margin-bottom: 1rem\n gap: 0.5rem\n\n .edit-this-page svg\n color: inherit\n height: 1rem\n width: 1rem\n\n.sidebar-toggle\n position: absolute\n display: none\n// \n.sidebar-toggle[name=\"__toc\"]\n left: 20px\n.sidebar-toggle:checked\n left: 40px\n// \n\n.overlay\n position: fixed\n top: 0\n width: 0\n height: 0\n\n transition: width 0ms, height 0ms, opacity 250ms ease-out\n\n opacity: 0\n background-color: rgba(0, 0, 0, 0.54)\n.sidebar-overlay\n z-index: 20\n.toc-overlay\n z-index: 40\n\n// Keep things on top and smooth.\n.sidebar-drawer\n z-index: 30\n transition: left 250ms ease-in-out\n.toc-drawer\n z-index: 50\n transition: right 250ms ease-in-out\n\n// Show the Sidebar\n#__navigation:checked\n & ~ .sidebar-overlay\n width: 100%\n height: 100%\n opacity: 1\n & ~ .page\n .sidebar-drawer\n top: 0\n left: 0\n // Show the toc sidebar\n#__toc:checked\n & ~ .toc-overlay\n width: 100%\n height: 100%\n opacity: 1\n & ~ .page\n .toc-drawer\n top: 0\n right: 0\n\n////////////////////////////////////////////////////////////////////////////////\n// Back to top\n////////////////////////////////////////////////////////////////////////////////\n.back-to-top\n text-decoration: none\n\n display: none\n position: fixed\n left: 0\n top: 1rem\n padding: 0.5rem\n padding-right: 0.75rem\n border-radius: 1rem\n font-size: 0.8125rem\n\n background: var(--color-background-primary)\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), #6b728080 0px 0px 1px 0px\n\n z-index: 10\n\n margin-left: 50%\n transform: translateX(-50%)\n svg\n height: 1rem\n width: 1rem\n fill: currentColor\n display: inline-block\n\n span\n margin-left: 0.25rem\n\n .show-back-to-top &\n display: flex\n align-items: center\n\n////////////////////////////////////////////////////////////////////////////////\n// Responsive layouting\n////////////////////////////////////////////////////////////////////////////////\n// Make things a bit bigger on bigger screens.\n@media (min-width: $full-width + $sidebar-width)\n html\n font-size: 110%\n\n@media (max-width: $full-width)\n // Collapse \"toc\" into the icon.\n .toc-content-icon\n display: flex\n .toc-drawer\n position: fixed\n height: 100vh\n top: 0\n right: -$sidebar-width\n border-left: 1px solid var(--color-background-muted)\n .toc-tree\n border-left: none\n font-size: var(--toc-font-size--mobile)\n\n // Accomodate for a changed content width.\n .sidebar-drawer\n width: calc((100% - #{$full-width - $sidebar-width}) / 2 + #{$sidebar-width})\n\n@media (max-width: $full-width - $sidebar-width)\n // Collapse \"navigation\".\n .nav-overlay-icon\n display: flex\n .sidebar-drawer\n position: fixed\n height: 100vh\n width: $sidebar-width\n\n top: 0\n left: -$sidebar-width\n\n // Swap which icon is visible.\n .toc-header-icon\n display: flex\n .toc-content-icon, .theme-toggle-content\n display: none\n .theme-toggle-header\n display: block\n\n // Show the header.\n .mobile-header\n position: sticky\n top: 0\n display: flex\n justify-content: space-between\n align-items: center\n\n .header-left,\n .header-right\n display: flex\n height: var(--header-height)\n padding: 0 var(--header-padding)\n label\n height: 100%\n width: 100%\n user-select: none\n\n .nav-overlay-icon .icon,\n .theme-toggle svg\n height: 1.25rem\n width: 1.25rem\n\n // Add a scroll margin for the content\n :target\n scroll-margin-top: var(--header-height)\n\n // Show back-to-top below the header\n .back-to-top\n top: calc(var(--header-height) + 0.5rem)\n\n // Center the page, and accommodate for the header.\n .page\n flex-direction: column\n justify-content: center\n .content\n margin-left: auto\n margin-right: auto\n\n@media (max-width: $content-width + 2* $content-padding)\n // Content should respect window limits.\n .content\n width: 100%\n overflow-x: auto\n\n@media (max-width: $content-width)\n .content\n padding: 0 $content-padding--small\n // Don't float sidebars to the right.\n article aside.sidebar\n float: none\n width: 100%\n margin: 1rem 0\n","//\n// The design here is strongly inspired by mkdocs-material.\n.admonition, .topic\n margin: 1rem auto\n padding: 0 0.5rem 0.5rem 0.5rem\n\n background: var(--color-admonition-background)\n\n border-radius: 0.2rem\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), 0 0 0.0625rem rgba(0, 0, 0, 0.1)\n\n font-size: var(--admonition-font-size)\n\n overflow: hidden\n page-break-inside: avoid\n\n // First element should have no margin, since the title has it.\n > :nth-child(2)\n margin-top: 0\n\n // Last item should have no margin, since we'll control that w/ padding\n > :last-child\n margin-bottom: 0\n\np.admonition-title, p.topic-title\n position: relative\n margin: 0 -0.5rem 0.5rem\n padding-left: 2rem\n padding-right: .5rem\n padding-top: .4rem\n padding-bottom: .4rem\n\n font-weight: 500\n font-size: var(--admonition-title-font-size)\n line-height: 1.3\n\n // Our fancy icon\n &::before\n content: \"\"\n position: absolute\n left: 0.5rem\n width: 1rem\n height: 1rem\n\n// Default styles\np.admonition-title\n background-color: var(--color-admonition-title-background)\n &::before\n background-color: var(--color-admonition-title)\n mask-image: var(--icon-admonition-default)\n mask-repeat: no-repeat\n\np.topic-title\n background-color: var(--color-topic-title-background)\n &::before\n background-color: var(--color-topic-title)\n mask-image: var(--icon-topic-default)\n mask-repeat: no-repeat\n\n//\n// Variants\n//\n.admonition\n border-left: 0.2rem solid var(--color-admonition-title)\n\n @each $type, $value in $admonitions\n &.#{$type}\n border-left-color: var(--color-admonition-title--#{$type})\n > .admonition-title\n background-color: var(--color-admonition-title-background--#{$type})\n &::before\n background-color: var(--color-admonition-title--#{$type})\n mask-image: var(--icon-#{nth($value, 2)})\n\n.admonition-todo > .admonition-title\n text-transform: uppercase\n","// This file stylizes the API documentation (stuff generated by autodoc). It's\n// deeply nested due to how autodoc structures the HTML without enough classes\n// to select the relevant items.\n\n// API docs!\ndl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple)\n // Tweak the spacing of all the things!\n dd\n margin-left: 2rem\n > :first-child\n margin-top: 0.125rem\n > :last-child\n margin-bottom: 0.75rem\n\n // This is used for the arguments\n .field-list\n margin-bottom: 0.75rem\n\n // \"Headings\" (like \"Parameters\" and \"Return\")\n > dt\n text-transform: uppercase\n font-size: var(--font-size--small)\n\n dd:empty\n margin-bottom: 0.5rem\n dd > ul\n margin-left: -1.2rem\n > li\n > p:nth-child(2)\n margin-top: 0\n // When the last-empty-paragraph follows a paragraph, it doesn't need\n // to augument the existing spacing.\n > p + p:last-child:empty\n margin-top: 0\n margin-bottom: 0\n\n // Colorize the elements\n > dt\n color: var(--color-api-overall)\n\n.sig:not(.sig-inline)\n font-weight: bold\n\n font-size: var(--api-font-size)\n font-family: var(--font-stack--monospace)\n\n margin-left: -0.25rem\n margin-right: -0.25rem\n padding-top: 0.25rem\n padding-bottom: 0.25rem\n padding-right: 0.5rem\n\n // These are intentionally em, to properly match the font size.\n padding-left: 3em\n text-indent: -2.5em\n\n border-radius: 0.25rem\n\n background: var(--color-api-background)\n transition: background 100ms ease-out\n\n &:hover\n background: var(--color-api-background-hover)\n\n // adjust the size of the [source] link on the right.\n a.reference\n .viewcode-link\n font-weight: normal\n width: 3.5rem\n\n // Break words when they're too long\n span.pre\n overflow-wrap: anywhere\n\nem.property\n font-style: normal\n &:first-child\n color: var(--color-api-keyword)\n.sig-name\n color: var(--color-api-name)\n.sig-prename\n font-weight: normal\n color: var(--color-api-pre-name)\n.sig-paren\n color: var(--color-api-paren)\n.sig-param\n font-style: normal\n\n.versionmodified\n font-style: italic\ndiv.versionadded, div.versionchanged, div.deprecated\n p\n margin-top: 0.125rem\n margin-bottom: 0.125rem\n\n// Align the [docs] and [source] to the right.\n.viewcode-link, .viewcode-back\n float: right\n text-align: right\n",".line-block\n margin-top: 0.5rem\n margin-bottom: 0.75rem\n .line-block\n margin-top: 0rem\n margin-bottom: 0rem\n padding-left: 1rem\n","// Captions\narticle p.caption,\ntable > caption,\n.code-block-caption\n font-size: var(--font-size--small)\n text-align: center\n\n// Caption above a TOCTree\n.toctree-wrapper.compound\n .caption, :not(.caption) > .caption-text\n font-size: var(--font-size--small)\n text-transform: uppercase\n\n text-align: initial\n margin-bottom: 0\n\n > ul\n margin-top: 0\n margin-bottom: 0\n","// Inline code\ncode.literal, .sig-inline\n background: var(--color-inline-code-background)\n border-radius: 0.2em\n // Make the font smaller, and use padding to recover.\n font-size: var(--font-size--small--2)\n padding: 0.1em 0.2em\n\n overflow-wrap: break-word\n\n p &\n border: 1px solid var(--color-background-border)\n\n.sig-inline\n font-family: var(--font-stack--monospace)\n\n// Code and Literal Blocks\n$code-spacing-vertical: 0.625rem\n$code-spacing-horizontal: 0.875rem\n\n// Wraps every literal block + line numbers.\ndiv[class*=\" highlight-\"],\ndiv[class^=\"highlight-\"]\n margin: 1em 0\n display: flex\n\n .table-wrapper\n margin: 0\n padding: 0\n\npre\n margin: 0\n padding: 0\n overflow: auto\n\n // Needed to have more specificity than pygments' \"pre\" selector. :(\n article[role=\"main\"] .highlight &\n line-height: 1.5\n\n &.literal-block,\n .highlight &\n font-size: var(--code-font-size)\n padding: $code-spacing-vertical $code-spacing-horizontal\n\n // Make it look like all the other blocks.\n &.literal-block\n margin-top: 1rem\n margin-bottom: 1rem\n\n border-radius: 0.2rem\n background-color: var(--color-code-background)\n color: var(--color-code-foreground)\n\n// All code is always contained in this.\n.highlight\n width: 100%\n border-radius: 0.2rem\n\n // Make line numbers and prompts un-selectable.\n .gp, span.linenos\n user-select: none\n pointer-events: none\n\n // Expand the line-highlighting.\n .hll\n display: block\n margin-left: -$code-spacing-horizontal\n margin-right: -$code-spacing-horizontal\n padding-left: $code-spacing-horizontal\n padding-right: $code-spacing-horizontal\n\n/* Make code block captions be nicely integrated */\n.code-block-caption\n display: flex\n padding: $code-spacing-vertical $code-spacing-horizontal\n\n border-radius: 0.25rem\n border-bottom-left-radius: 0\n border-bottom-right-radius: 0\n font-weight: 300\n border-bottom: 1px solid\n\n background-color: var(--color-code-background)\n color: var(--color-code-foreground)\n border-color: var(--color-background-border)\n\n + div[class]\n margin-top: 0\n pre\n border-top-left-radius: 0\n border-top-right-radius: 0\n\n// When `html_codeblock_linenos_style` is table.\n.highlighttable\n width: 100%\n display: block\n tbody\n display: block\n\n tr\n display: flex\n\n // Line numbers\n td.linenos\n background-color: var(--color-code-background)\n color: var(--color-code-foreground)\n padding: $code-spacing-vertical $code-spacing-horizontal\n padding-right: 0\n border-top-left-radius: 0.2rem\n border-bottom-left-radius: 0.2rem\n\n .linenodiv\n padding-right: $code-spacing-horizontal\n font-size: var(--code-font-size)\n box-shadow: -0.0625rem 0 var(--color-foreground-border) inset\n\n // Actual code\n td.code\n padding: 0\n display: block\n flex: 1\n overflow: hidden\n\n .highlight\n border-top-left-radius: 0\n border-bottom-left-radius: 0\n\n// When `html_codeblock_linenos_style` is inline.\n.highlight\n span.linenos\n display: inline-block\n padding-left: 0\n padding-right: $code-spacing-horizontal\n margin-right: $code-spacing-horizontal\n box-shadow: -0.0625rem 0 var(--color-foreground-border) inset\n","// Inline Footnote Reference\n.footnote-reference\n font-size: var(--font-size--small--4)\n vertical-align: super\n\n// Definition list, listing the content of each note.\n// docutils <= 0.17\ndl.footnote.brackets\n font-size: var(--font-size--small)\n color: var(--color-foreground-secondary)\n\n display: grid\n grid-template-columns: max-content auto\n dt\n margin: 0\n > .fn-backref\n margin-left: 0.25rem\n\n &:after\n content: \":\"\n\n .brackets\n &:before\n content: \"[\"\n &:after\n content: \"]\"\n\n dd\n margin: 0\n padding: 0 1rem\n\n// docutils >= 0.18\naside.footnote\n font-size: var(--font-size--small)\n color: var(--color-foreground-secondary)\n\naside.footnote > span,\ndiv.citation > span\n float: left\n font-weight: 500\n padding-right: 0.25rem\n\naside.footnote > p,\ndiv.citation > p\n margin-left: 2rem\n","//\n// Figures\n//\nimg\n box-sizing: border-box\n max-width: 100%\n height: auto\n\narticle\n figure, .figure\n border-radius: 0.2rem\n\n margin: 0\n :last-child\n margin-bottom: 0\n\n .align-left\n float: left\n clear: left\n margin: 0 1rem 1rem\n\n .align-right\n float: right\n clear: right\n margin: 0 1rem 1rem\n\n .align-default,\n .align-center\n display: block\n text-align: center\n margin-left: auto\n margin-right: auto\n\n // WELL, table needs to be stylised like a table.\n table.align-default\n display: table\n text-align: initial\n",".genindex-jumpbox, .domainindex-jumpbox\n border-top: 1px solid var(--color-background-border)\n border-bottom: 1px solid var(--color-background-border)\n padding: 0.25rem\n\n.genindex-section, .domainindex-section\n h2\n margin-top: 0.75rem\n margin-bottom: 0.5rem\n ul\n margin-top: 0\n margin-bottom: 0\n","ul,\nol\n padding-left: 1.2rem\n\n // Space lists out like paragraphs\n margin-top: 1rem\n margin-bottom: 1rem\n // reduce margins within li.\n li\n > p:first-child\n margin-top: 0.25rem\n margin-bottom: 0.25rem\n\n > p:last-child\n margin-top: 0.25rem\n\n > ul,\n > ol\n margin-top: 0.5rem\n margin-bottom: 0.5rem\n\nol\n &.arabic\n list-style: decimal\n &.loweralpha\n list-style: lower-alpha\n &.upperalpha\n list-style: upper-alpha\n &.lowerroman\n list-style: lower-roman\n &.upperroman\n list-style: upper-roman\n\n// Don't space lists out when they're \"simple\" or in a `.. toctree::`\n.simple,\n.toctree-wrapper\n li\n > ul,\n > ol\n margin-top: 0\n margin-bottom: 0\n\n// Definition Lists\n.field-list,\n.option-list,\ndl:not([class]),\ndl.simple,\ndl.footnote,\ndl.glossary\n dt\n font-weight: 500\n margin-top: 0.25rem\n + dt\n margin-top: 0\n\n .classifier::before\n content: \":\"\n margin-left: 0.2rem\n margin-right: 0.2rem\n\n dd\n > p:first-child,\n ul\n margin-top: 0.125rem\n\n ul\n margin-bottom: 0.125rem\n",".math-wrapper\n width: 100%\n overflow-x: auto\n\ndiv.math\n position: relative\n text-align: center\n\n .headerlink,\n &:focus .headerlink\n display: none\n\n &:hover .headerlink\n display: inline-block\n\n span.eqno\n position: absolute\n right: 0.5rem\n top: 50%\n transform: translate(0, -50%)\n z-index: 1\n","// Abbreviations\nabbr[title]\n cursor: help\n\n// \"Problematic\" content, as identified by Sphinx\n.problematic\n color: var(--color-problematic)\n\n// Keyboard / Mouse \"instructions\"\nkbd:not(.compound)\n margin: 0 0.2rem\n padding: 0 0.2rem\n border-radius: 0.2rem\n border: 1px solid var(--color-foreground-border)\n color: var(--color-foreground-primary)\n vertical-align: text-bottom\n\n font-size: var(--font-size--small--3)\n display: inline-block\n\n box-shadow: 0 0.0625rem 0 rgba(0, 0, 0, 0.2), inset 0 0 0 0.125rem var(--color-background-primary)\n\n background-color: var(--color-background-secondary)\n\n// Blockquote\nblockquote\n border-left: 4px solid var(--color-background-border)\n background: var(--color-background-secondary)\n\n margin-left: 0\n margin-right: 0\n padding: 0.5rem 1rem\n\n .attribution\n font-weight: 600\n text-align: right\n\n &.pull-quote,\n &.highlights\n font-size: 1.25em\n\n &.epigraph,\n &.pull-quote\n border-left-width: 0\n border-radius: 0.5rem\n\n &.highlights\n border-left-width: 0\n background: transparent\n\n// Center align embedded-in-text images\np .reference img\n vertical-align: middle\n","p.rubric\n line-height: 1.25\n font-weight: bold\n font-size: 1.125em\n\n // For Numpy-style documentation that's got rubrics within it.\n // https://github.com/pradyunsg/furo/discussions/505\n dd &\n line-height: inherit\n font-weight: inherit\n\n font-size: var(--font-size--small)\n text-transform: uppercase\n","article .sidebar\n float: right\n clear: right\n width: 30%\n\n margin-left: 1rem\n margin-right: 0\n\n border-radius: 0.2rem\n background-color: var(--color-background-secondary)\n border: var(--color-background-border) 1px solid\n\n > *\n padding-left: 1rem\n padding-right: 1rem\n\n > ul, > ol // lists need additional padding, because bullets.\n padding-left: 2.2rem\n\n .sidebar-title\n margin: 0\n padding: 0.5rem 1rem\n border-bottom: var(--color-background-border) 1px solid\n\n font-weight: 500\n\n// TODO: subtitle\n// TODO: dedicated variables?\n",".table-wrapper\n width: 100%\n overflow-x: auto\n margin-top: 1rem\n margin-bottom: 0.5rem\n padding: 0.2rem 0.2rem 0.75rem\n\ntable.docutils\n border-radius: 0.2rem\n border-spacing: 0\n border-collapse: collapse\n\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), 0 0 0.0625rem rgba(0, 0, 0, 0.1)\n\n th\n background: var(--color-table-header-background)\n\n td,\n th\n // Space things out properly\n padding: 0 0.25rem\n\n // Get the borders looking just-right.\n border-left: 1px solid var(--color-table-border)\n border-right: 1px solid var(--color-table-border)\n border-bottom: 1px solid var(--color-table-border)\n\n p\n margin: 0.25rem\n\n &:first-child\n border-left: none\n &:last-child\n border-right: none\n\n // MyST-parser tables set these classes for control of column alignment\n &.text-left\n text-align: left\n &.text-right\n text-align: right\n &.text-center\n text-align: center\n",":target\n scroll-margin-top: 0.5rem\n\n@media (max-width: $full-width - $sidebar-width)\n :target\n scroll-margin-top: calc(0.5rem + var(--header-height))\n\n // When a heading is selected\n section > span:target\n scroll-margin-top: calc(0.8rem + var(--header-height))\n\n// Permalinks\n.headerlink\n font-weight: 100\n user-select: none\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\ndl dt,\np.caption,\nfigcaption p,\ntable > caption,\n.code-block-caption\n > .headerlink\n margin-left: 0.5rem\n visibility: hidden\n &:hover > .headerlink\n visibility: visible\n\n // Don't change to link-like, if someone adds the contents directive.\n > .toc-backref\n color: inherit\n text-decoration-line: none\n\n// Figure and table captions are special.\nfigure:hover > figcaption > p > .headerlink,\ntable:hover > caption > .headerlink\n visibility: visible\n\n:target >, // Regular section[id] style anchors\nspan:target ~ // Non-regular span[id] style \"extra\" anchors\n h1,\n h2,\n h3,\n h4,\n h5,\n h6\n &:nth-of-type(1)\n background-color: var(--color-highlight-on-target)\n // .headerlink\n // visibility: visible\n code.literal\n background-color: transparent\n\ntable:target > caption,\nfigure:target\n background-color: var(--color-highlight-on-target)\n\n// Inline page contents\n.this-will-duplicate-information-and-it-is-still-useful-here li :target\n background-color: var(--color-highlight-on-target)\n\n// Code block permalinks\n.literal-block-wrapper:target .code-block-caption\n background-color: var(--color-highlight-on-target)\n\n// When a definition list item is selected\n//\n// There isn't really an alternative to !important here, due to the\n// high-specificity of API documentation's selector.\ndt:target\n background-color: var(--color-highlight-on-target) !important\n\n// When a footnote reference is selected\n.footnote > dt:target + dd,\n.footnote-reference:target\n background-color: var(--color-highlight-on-target)\n",".guilabel\n background-color: var(--color-guilabel-background)\n border: 1px solid var(--color-guilabel-border)\n color: var(--color-guilabel-text)\n\n padding: 0 0.3em\n border-radius: 0.5em\n font-size: 0.9em\n","// This file contains the styles used for stylizing the footer that's shown\n// below the content.\n\nfooter\n font-size: var(--font-size--small)\n display: flex\n flex-direction: column\n\n margin-top: 2rem\n\n// Bottom of page information\n.bottom-of-page\n display: flex\n align-items: center\n justify-content: space-between\n\n margin-top: 1rem\n padding-top: 1rem\n padding-bottom: 1rem\n\n color: var(--color-foreground-secondary)\n border-top: 1px solid var(--color-background-border)\n\n line-height: 1.5\n\n @media (max-width: $content-width)\n text-align: center\n flex-direction: column-reverse\n gap: 0.25rem\n\n .left-details\n font-size: var(--font-size--small)\n\n .right-details\n display: flex\n flex-direction: column\n gap: 0.25rem\n text-align: right\n\n .icons\n display: flex\n justify-content: flex-end\n gap: 0.25rem\n font-size: 1rem\n\n a\n text-decoration: none\n\n svg,\n img\n font-size: 1.125rem\n height: 1em\n width: 1em\n\n// Next/Prev page information\n.related-pages\n a\n display: flex\n align-items: center\n\n text-decoration: none\n &:hover .page-info .title\n text-decoration: underline\n color: var(--color-link)\n text-decoration-color: var(--color-link-underline)\n\n svg.furo-related-icon,\n svg.furo-related-icon > use\n flex-shrink: 0\n\n color: var(--color-foreground-border)\n\n width: 0.75rem\n height: 0.75rem\n margin: 0 0.5rem\n\n &.next-page\n max-width: 50%\n\n float: right\n clear: right\n text-align: right\n\n &.prev-page\n max-width: 50%\n\n float: left\n clear: left\n\n svg\n transform: rotate(180deg)\n\n.page-info\n display: flex\n flex-direction: column\n overflow-wrap: anywhere\n\n .next-page &\n align-items: flex-end\n\n .context\n display: flex\n align-items: center\n\n padding-bottom: 0.1rem\n\n color: var(--color-foreground-muted)\n font-size: var(--font-size--small)\n text-decoration: none\n","// This file contains the styles for the contents of the left sidebar, which\n// contains the navigation tree, logo, search etc.\n\n////////////////////////////////////////////////////////////////////////////////\n// Brand on top of the scrollable tree.\n////////////////////////////////////////////////////////////////////////////////\n.sidebar-brand\n display: flex\n flex-direction: column\n flex-shrink: 0\n\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n text-decoration: none\n\n.sidebar-brand-text\n color: var(--color-sidebar-brand-text)\n overflow-wrap: break-word\n margin: var(--sidebar-item-spacing-vertical) 0\n font-size: 1.5rem\n\n.sidebar-logo-container\n margin: var(--sidebar-item-spacing-vertical) 0\n\n.sidebar-logo\n margin: 0 auto\n display: block\n max-width: 100%\n\n////////////////////////////////////////////////////////////////////////////////\n// Search\n////////////////////////////////////////////////////////////////////////////////\n.sidebar-search-container\n display: flex\n align-items: center\n margin-top: var(--sidebar-search-space-above)\n\n position: relative\n\n background: var(--color-sidebar-search-background)\n &:hover,\n &:focus-within\n background: var(--color-sidebar-search-background--focus)\n\n &::before\n content: \"\"\n position: absolute\n left: var(--sidebar-item-spacing-horizontal)\n width: var(--sidebar-search-icon-size)\n height: var(--sidebar-search-icon-size)\n\n background-color: var(--color-sidebar-search-icon)\n mask-image: var(--icon-search)\n\n.sidebar-search\n box-sizing: border-box\n\n border: none\n border-top: 1px solid var(--color-sidebar-search-border)\n border-bottom: 1px solid var(--color-sidebar-search-border)\n\n padding-top: var(--sidebar-search-input-spacing-vertical)\n padding-bottom: var(--sidebar-search-input-spacing-vertical)\n padding-right: var(--sidebar-search-input-spacing-horizontal)\n padding-left: calc(var(--sidebar-item-spacing-horizontal) + var(--sidebar-search-input-spacing-horizontal) + var(--sidebar-search-icon-size))\n\n width: 100%\n\n color: var(--color-sidebar-search-foreground)\n background: transparent\n z-index: 10\n\n &:focus\n outline: none\n\n &::placeholder\n font-size: var(--sidebar-search-input-font-size)\n\n//\n// Hide Search Matches link\n//\n#searchbox .highlight-link\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal) 0\n margin: 0\n text-align: center\n\n a\n color: var(--color-sidebar-search-icon)\n font-size: var(--font-size--small--2)\n\n////////////////////////////////////////////////////////////////////////////////\n// Structure/Skeleton of the navigation tree (left)\n////////////////////////////////////////////////////////////////////////////////\n.sidebar-tree\n font-size: var(--sidebar-item-font-size)\n margin-top: var(--sidebar-tree-space-above)\n margin-bottom: var(--sidebar-item-spacing-vertical)\n\n ul\n padding: 0\n margin-top: 0\n margin-bottom: 0\n\n display: flex\n flex-direction: column\n\n list-style: none\n\n li\n position: relative\n margin: 0\n\n > ul\n margin-left: var(--sidebar-item-spacing-horizontal)\n\n .icon\n color: var(--color-sidebar-link-text)\n\n .reference\n box-sizing: border-box\n color: var(--color-sidebar-link-text)\n\n // Fill the parent.\n display: inline-block\n line-height: var(--sidebar-item-line-height)\n text-decoration: none\n\n // Don't allow long words to cause wrapping.\n overflow-wrap: anywhere\n\n height: 100%\n width: 100%\n\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n\n &:hover\n background: var(--color-sidebar-item-background--hover)\n\n // Add a nice little \"external-link\" arrow here.\n &.external::after\n content: url('data:image/svg+xml,')\n margin: 0 0.25rem\n vertical-align: middle\n color: var(--color-sidebar-link-text)\n\n // Make the current page reference bold.\n .current-page > .reference\n font-weight: bold\n\n label\n position: absolute\n top: 0\n right: 0\n height: var(--sidebar-item-height)\n width: var(--sidebar-expander-width)\n\n cursor: pointer\n user-select: none\n\n display: flex\n justify-content: center\n align-items: center\n\n .caption, :not(.caption) > .caption-text\n font-size: var(--sidebar-caption-font-size)\n color: var(--color-sidebar-caption-text)\n\n font-weight: bold\n text-transform: uppercase\n\n margin: var(--sidebar-caption-space-above) 0 0 0\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n\n // If it has children, add a bit more padding to wrap the content to avoid\n // overlapping with the
-
@@ -153,7 +153,7 @@
- FitTrackee 0.7.20 + FitTrackee 0.7.21 documentation @@ -257,7 +257,7 @@ "map_attribution": "&copy; <a href=http://www.openstreetmap.org/copyright>OpenStreetMap</a> contributors", "privacy_policy": null, "privacy_policy_date": null, - "version": "0.7.20", + "version": "0.7.21", "weather_provider": null }, "status": "success" @@ -302,7 +302,7 @@ "map_attribution": "&copy; <a href=http://www.openstreetmap.org/copyright>OpenStreetMap</a> contributors", "privacy_policy": null, "privacy_policy_date": null, - "version": "0.7.20", + "version": "0.7.21", "weather_provider": null }, "status": "success" @@ -428,11 +428,11 @@
- - - - - - + + + + + + \ No newline at end of file diff --git a/docs/en/api/index.html b/docs/en/api/index.html index 3e3974e6..ad81ef5f 100644 --- a/docs/en/api/index.html +++ b/docs/en/api/index.html @@ -5,14 +5,14 @@ - - API documentation - FitTrackee 0.7.20 documentation - - - - - - + + API documentation - FitTrackee 0.7.21 documentation + + + + + + @@ -126,7 +126,7 @@
-
@@ -153,7 +153,7 @@
- FitTrackee 0.7.20 + FitTrackee 0.7.21 documentation @@ -299,11 +299,11 @@
- - - - - - + + + + + + \ No newline at end of file diff --git a/docs/en/api/oauth2.html b/docs/en/api/oauth2.html index f56ea3ba..e54216f5 100644 --- a/docs/en/api/oauth2.html +++ b/docs/en/api/oauth2.html @@ -5,14 +5,14 @@ - - OAuth2 - FitTrackee 0.7.20 documentation - - - - - - + + OAuth2 - FitTrackee 0.7.21 documentation + + + + + + @@ -126,7 +126,7 @@
-
@@ -153,7 +153,7 @@
- FitTrackee 0.7.20 + FitTrackee 0.7.21 documentation @@ -824,11 +824,11 @@ are supported by FitTrackee)

- - - - - - + + + + + + \ No newline at end of file diff --git a/docs/en/api/records.html b/docs/en/api/records.html index b120b9e9..74cc1512 100644 --- a/docs/en/api/records.html +++ b/docs/en/api/records.html @@ -5,14 +5,14 @@ - - Records - FitTrackee 0.7.20 documentation - - - - - - + + Records - FitTrackee 0.7.21 documentation + + + + + + @@ -126,7 +126,7 @@
-
@@ -153,7 +153,7 @@
- FitTrackee 0.7.20 + FitTrackee 0.7.21 documentation @@ -401,11 +401,11 @@
- - - - - - + + + + + + \ No newline at end of file diff --git a/docs/en/api/sports.html b/docs/en/api/sports.html index 3d1ce048..674b8887 100644 --- a/docs/en/api/sports.html +++ b/docs/en/api/sports.html @@ -5,14 +5,14 @@ - - Sports - FitTrackee 0.7.20 documentation - - - - - - + + Sports - FitTrackee 0.7.21 documentation + + + + + + @@ -126,7 +126,7 @@
-
@@ -153,7 +153,7 @@
- FitTrackee 0.7.20 + FitTrackee 0.7.21 documentation @@ -631,11 +631,11 @@
- - - - - - + + + + + + \ No newline at end of file diff --git a/docs/en/api/stats.html b/docs/en/api/stats.html index 5ea479d0..61b8bc07 100644 --- a/docs/en/api/stats.html +++ b/docs/en/api/stats.html @@ -5,14 +5,14 @@ - - Statistics - FitTrackee 0.7.20 documentation - - - - - - + + Statistics - FitTrackee 0.7.21 documentation + + + + + + @@ -126,7 +126,7 @@
-
@@ -153,7 +153,7 @@
- FitTrackee 0.7.20 + FitTrackee 0.7.21 documentation @@ -555,11 +555,11 @@
- - - - - - + + + + + + \ No newline at end of file diff --git a/docs/en/api/users.html b/docs/en/api/users.html index e9f64678..0386345c 100644 --- a/docs/en/api/users.html +++ b/docs/en/api/users.html @@ -5,14 +5,14 @@ - - Users - FitTrackee 0.7.20 documentation - - - - - - + + Users - FitTrackee 0.7.21 documentation + + + + + + @@ -126,7 +126,7 @@
-
@@ -153,7 +153,7 @@
- FitTrackee 0.7.20 + FitTrackee 0.7.21 documentation @@ -796,11 +796,11 @@ one admin.

- - - - - - + + + + + + \ No newline at end of file diff --git a/docs/en/api/workouts.html b/docs/en/api/workouts.html index 6deec79f..55f2e5f2 100644 --- a/docs/en/api/workouts.html +++ b/docs/en/api/workouts.html @@ -5,14 +5,14 @@ - - Workouts - FitTrackee 0.7.20 documentation - - - - - - + + Workouts - FitTrackee 0.7.21 documentation + + + + + + @@ -126,7 +126,7 @@
-
@@ -153,7 +153,7 @@
- FitTrackee 0.7.20 + FitTrackee 0.7.21 documentation @@ -1328,11 +1328,11 @@ must be provided with ascent)

- - - - - - + + + + + + \ No newline at end of file diff --git a/docs/en/changelog.html b/docs/en/changelog.html index 0ee0326e..a889c36b 100644 --- a/docs/en/changelog.html +++ b/docs/en/changelog.html @@ -5,14 +5,14 @@ - - Change log - FitTrackee 0.7.20 documentation - - - - - - + + Change log - FitTrackee 0.7.21 documentation + + + + + + @@ -126,7 +126,7 @@
-
@@ -153,7 +153,7 @@
- FitTrackee 0.7.20 + FitTrackee 0.7.21 documentation @@ -231,6 +231,21 @@

Change log#

+
+

Version 0.7.21 (2023/07/30)#

+
+

Bugs Fixed#

+
    +
  • #407 - Workout display error when speeds are zero

  • +
+
+
+

Misc#

+
    +
  • PR#409 - CI - update actions version

  • +
+
+

Version 0.7.20 (2023/07/22)#

@@ -239,8 +254,8 @@
  • #400 - Add new sport: open water swimming

  • -
    -

    Bugs Fixed#

    +
    +

    Bugs Fixed#

    • PR#398 - Fix language dropdown label

    • #402 - handle gpx file without elevation

    • @@ -276,23 +291,23 @@

    Version 0.7.19 (2023/07/15)#

    -
    -

    Features and enhancements#

    +
    +

    Features and enhancements#

    • PR#380 - Update documentation link

    • #390 - Improve UI

    • #391 - Add new sport: paragliding

    -
    -

    Bugs Fixed#

    +
    +

    Bugs Fixed#

    • #384 - Inconsistent page with between workout with and without GPS data

    • #393 - PIL.Image module has no attribute ANTIALIAS

    -
    -

    Translations#

    +
    +

    Translations#

    • PR#394 - Translations update (Galician)

    • PR#397 - Translations update (Spanish)

    • @@ -305,8 +320,8 @@
    • PR#388 - Minor typo in CONTRIBUTING.md

    -
    -

    Misc#

    +
    +

    Misc#

    - - - - - + + + + + + \ No newline at end of file diff --git a/docs/en/cli.html b/docs/en/cli.html index a27add2b..8623a466 100644 --- a/docs/en/cli.html +++ b/docs/en/cli.html @@ -5,14 +5,14 @@ - - Command line interface - FitTrackee 0.7.20 documentation - - - - - - + + Command line interface - FitTrackee 0.7.21 documentation + + + + + + @@ -126,7 +126,7 @@
    -
    @@ -153,7 +153,7 @@
    - FitTrackee 0.7.20 + FitTrackee 0.7.21 documentation @@ -544,11 +544,11 @@ Can be used if redis is not set (no dramatiq workers running).

    - - - - - - + + + + + + \ No newline at end of file diff --git a/docs/en/features.html b/docs/en/features.html index 5d6c2f2d..c577bb57 100644 --- a/docs/en/features.html +++ b/docs/en/features.html @@ -5,14 +5,14 @@ - - Features - FitTrackee 0.7.20 documentation - - - - - - + + Features - FitTrackee 0.7.21 documentation + + + + + + @@ -126,7 +126,7 @@
    -
    @@ -153,7 +153,7 @@
    - FitTrackee 0.7.20 + FitTrackee 0.7.21 documentation @@ -643,11 +643,11 @@ A user with an inactive account cannot log in. (new in 0.6.0).

    - - - - - - + + + + + + \ No newline at end of file diff --git a/docs/en/genindex.html b/docs/en/genindex.html index e76c874a..0e77c0bf 100644 --- a/docs/en/genindex.html +++ b/docs/en/genindex.html @@ -4,13 +4,13 @@ - Index - FitTrackee 0.7.20 documentation - - - - - - + Index - FitTrackee 0.7.21 documentation + + + + + + @@ -124,7 +124,7 @@
    -
    @@ -151,7 +151,7 @@
    - FitTrackee 0.7.20 + FitTrackee 0.7.21 documentation @@ -326,11 +326,11 @@
    - - - - - - + + + + + + \ No newline at end of file diff --git a/docs/en/http-routingtable.html b/docs/en/http-routingtable.html index 6f8eed1c..bd35cb03 100644 --- a/docs/en/http-routingtable.html +++ b/docs/en/http-routingtable.html @@ -4,13 +4,13 @@ - HTTP Routing Table - FitTrackee 0.7.20 documentation - - - - - - + HTTP Routing Table - FitTrackee 0.7.21 documentation + + + + + + @@ -124,7 +124,7 @@
    -
    @@ -151,7 +151,7 @@
    - FitTrackee 0.7.20 + FitTrackee 0.7.21 documentation @@ -617,12 +617,12 @@
    - - - - - - + + + + + + \ No newline at end of file diff --git a/docs/en/index.html b/docs/en/index.html index 7ab41ccd..50d053f3 100644 --- a/docs/en/index.html +++ b/docs/en/index.html @@ -5,14 +5,14 @@ - - FitTrackee 0.7.20 documentation - - - - - - + + FitTrackee 0.7.21 documentation + + + + + + @@ -126,7 +126,7 @@
    -
    @@ -153,7 +153,7 @@
    - FitTrackee 0.7.20 + FitTrackee 0.7.21 documentation @@ -313,11 +313,11 @@ Map.
    - - - - - - + + + + + + \ No newline at end of file diff --git a/docs/en/installation.html b/docs/en/installation.html index bd154fa8..44c6d753 100644 --- a/docs/en/installation.html +++ b/docs/en/installation.html @@ -5,14 +5,14 @@ - - Installation - FitTrackee 0.7.20 documentation - - - - - - + + Installation - FitTrackee 0.7.21 documentation + + + + + + @@ -126,7 +126,7 @@
    -
    @@ -153,7 +153,7 @@
    - FitTrackee 0.7.20 + FitTrackee 0.7.21 documentation @@ -892,11 +892,11 @@ $ make install-db
    -
    $ wget https://github.com/SamR1/FitTrackee/archive/v0.7.20.tar.gz
    -$ tar -xzf v0.7.20.tar.gz
    -$ mv FitTrackee-0.7.20 FitTrackee
    +
    $ wget https://github.com/SamR1/FitTrackee/archive/v0.7.21.tar.gz
    +$ tar -xzf v0.7.21.tar.gz
    +$ mv FitTrackee-0.7.21 FitTrackee
     $ cd FitTrackee
     
    @@ -1020,11 +1020,11 @@ $ source .
    • Stop the application

    • Change to the directory where FitTrackee directory is located

    • -
    • Download the last release (for now, it is the release v0.7.20) and overwrite existing files:

    • +
    • Download the last release (for now, it is the release v0.7.21) and overwrite existing files:

    -
    $ wget https://github.com/SamR1/FitTrackee/archive/v0.7.20.tar.gz
    -$ tar -xzf v0.7.20.tar.gz
    -$ cp -R FitTrackee-0.7.20/* FitTrackee/
    +
    $ wget https://github.com/SamR1/FitTrackee/archive/v0.7.21.tar.gz
    +$ tar -xzf v0.7.21.tar.gz
    +$ cp -R FitTrackee-0.7.21/* FitTrackee/
     $ cd FitTrackee
     
    @@ -1382,11 +1382,11 @@ $ make docker-test-python
    -
    - - - - - +
    + + + + + \ No newline at end of file diff --git a/docs/en/oauth.html b/docs/en/oauth.html index 57308064..42fb88f8 100644 --- a/docs/en/oauth.html +++ b/docs/en/oauth.html @@ -5,14 +5,14 @@ - - OAuth 2.0 - FitTrackee 0.7.20 documentation - - - - - - + + OAuth 2.0 - FitTrackee 0.7.21 documentation + + + + + + @@ -126,7 +126,7 @@
    -
    @@ -153,7 +153,7 @@
    - FitTrackee 0.7.20 + FitTrackee 0.7.21 documentation @@ -414,11 +414,11 @@ It is recommended to use PKCE to provide a better security.

    - - - - - - + + + + + + \ No newline at end of file diff --git a/docs/en/objects.inv b/docs/en/objects.inv index 6a6da69c..a8f02a7f 100644 Binary files a/docs/en/objects.inv and b/docs/en/objects.inv differ diff --git a/docs/en/search.html b/docs/en/search.html index 25347507..6267f21c 100644 --- a/docs/en/search.html +++ b/docs/en/search.html @@ -4,13 +4,13 @@ - Search - FitTrackee 0.7.20 - documentation - - - - - + Search - FitTrackee 0.7.21 + documentation + + + + + @@ -124,7 +124,7 @@
    -
    @@ -151,7 +151,7 @@
    - FitTrackee 0.7.20 + FitTrackee 0.7.21 documentation @@ -273,12 +273,12 @@
    - - - - - - + + + + + + diff --git a/docs/en/searchindex.js b/docs/en/searchindex.js index ed2a05ae..36dce9a8 100644 --- a/docs/en/searchindex.js +++ b/docs/en/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["api/auth", "api/configuration", "api/index", "api/oauth2", "api/records", "api/sports", "api/stats", "api/users", "api/workouts", "changelog", "cli", "features", "index", "installation", "oauth", "third_party_tools", "troubleshooting/administrator", "troubleshooting/index"], "filenames": ["api/auth.rst", "api/configuration.rst", "api/index.rst", "api/oauth2.rst", "api/records.rst", "api/sports.rst", "api/stats.rst", "api/users.rst", "api/workouts.rst", "changelog.md", "cli.rst", "features.rst", "index.rst", "installation.rst", "oauth.rst", "third_party_tools.rst", "troubleshooting/administrator.rst", "troubleshooting/index.rst"], "titles": ["Authentication and account", "Configuration", "API documentation", "OAuth2", "Records", "Sports", "Statistics", "Users", "Workouts", "Change log", "Command line interface", "Features", "FitTrackee", "Installation", "OAuth 2.0", "Third-party tools", "Administrator", "Troubleshooting"], "terms": {"post": [0, 3, 8, 14], "api": [0, 1, 3, 4, 5, 6, 7, 8, 9, 11, 12, 14], "auth": [0, 1, 3, 4, 5, 6, 7, 8, 13, 14], "regist": [0, 1, 9, 11, 13], "user": [0, 1, 2, 3, 4, 5, 6, 8, 9, 13, 14], "send": [0, 7, 9, 11, 13], "confirm": [0, 3, 9, 11, 13], "email": [0, 1, 7, 9, 10, 11, 16], "The": [0, 9, 10, 11, 13, 14, 16], "newli": [0, 10, 13], "creat": [0, 3, 8, 9, 11, 13, 14], "i": [0, 1, 3, 8, 9, 10, 11, 12, 13, 14, 17], "inact": [0, 7, 11, 13], "must": [0, 1, 3, 5, 7, 8, 9, 11, 13, 14, 16], "hi": [0, 7, 9, 11], "activ": [0, 5, 7, 9, 10, 11, 12, 13], "exampl": [0, 1, 3, 4, 5, 6, 7, 8, 9, 12, 13, 14], "request": [0, 1, 3, 4, 5, 6, 7, 8, 10, 11, 13, 14], "http": [0, 1, 3, 4, 5, 6, 7, 8, 13, 14], "1": [0, 1, 3, 4, 5, 6, 7, 8, 11, 13], "content": [0, 1, 3, 4, 5, 6, 7, 8, 9], "type": [0, 1, 3, 4, 5, 6, 7, 8, 9, 13], "applic": [0, 1, 3, 4, 5, 6, 7, 8, 9, 12, 13, 14], "json": [0, 1, 3, 4, 5, 6, 7, 8, 11], "respons": [0, 1, 3, 4, 5, 6, 7, 8], "success": [0, 1, 3, 4, 5, 6, 7, 8], "200": [0, 1, 3, 4, 5, 6, 7, 8, 9, 13], "statu": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11], "error": [0, 1, 3, 5, 7, 8, 9, 11, 13, 16], "registr": [0, 1, 9, 10, 11, 13, 14], "400": [0, 1, 3, 5, 7, 8, 9], "bad": [0, 1, 3, 5, 7, 8], "messag": [0, 1, 3, 8, 9, 10, 11, 13], "valid": [0, 1, 3, 4, 5, 6, 7, 8, 9, 13, 16], "provid": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16], "n": 0, "object": [0, 1, 5, 7, 8], "usernam": [0, 6, 7, 9, 10, 13], "string": [0, 1, 3, 5, 6, 7, 8, 13, 14], "3": [0, 5, 6, 7, 8, 11, 13], "30": [0, 6], "charact": [0, 9], "requir": [0, 9, 13, 14], "password": [0, 7, 9, 10, 11, 13], "8": [0, 8, 11, 13], "lang": [0, 9], "languag": [0, 7, 9, 11], "prefer": [0, 7, 9], "invalid": [0, 1, 3, 4, 5, 6, 7, 8, 9, 13], "fallback": 0, "en": [0, 7], "english": [0, 9, 11], "accepted_polici": 0, "boolean": [0, 1, 3, 7, 10], "true": [0, 1, 3, 5, 7, 9, 13], "accept": 0, "privaci": [0, 1, 9, 11], "polici": [0, 1, 9, 11], "code": [0, 1, 3, 4, 5, 6, 7, 8, 9, 14], "ok": [0, 1, 3, 4, 5, 6, 7, 8], "payload": [0, 1, 3, 5, 7, 8], "sorri": 0, "alreadi": [0, 10], "taken": [0, 11], "you": [0, 1, 5, 6, 7, 8, 11, 12, 13], "agre": [0, 9, 11], "onli": [0, 3, 7, 8, 9, 10, 11, 13, 14], "alphanumer": [0, 9], "underscor": 0, "_": [0, 9], "allow": [0, 1, 8, 9, 10, 11, 12, 13, 14], "403": [0, 1, 5, 6, 7, 8], "forbidden": [0, 1, 5, 6, 7, 8], "disabl": [0, 9, 10, 11, 13], "500": [0, 1, 5, 7, 8, 9], "intern": [0, 1, 5, 7, 8], "server": [0, 1, 5, 7, 8, 9, 11, 12], "pleas": [0, 1, 3, 4, 5, 6, 7, 8, 9], "try": [0, 5, 7, 8], "again": [0, 1, 3, 4, 5, 6, 7, 8], "contact": [0, 1, 5, 7, 8, 11], "administr": [0, 1, 5, 7, 8, 14, 17], "after": [0, 3, 9, 11, 13, 14], "auth_token": 0, "web": [0, 12, 13, 14], "token": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 14], "resend": 0, "instruct": [0, 9, 11, 13], "If": [0, 3, 11, 13, 14], "thi": [0, 3, 8, 9, 10, 11, 12, 13], "endpoint": [0, 1, 3, 9, 13, 14], "avail": [0, 4, 10, 11, 13, 14, 15], "resent": 0, "404": [0, 3, 5, 6, 7, 8, 9], "Not": [0, 3, 5, 6, 7, 8], "found": [0, 3, 5, 6, 7, 8, 9], "url": [0, 3, 9, 13, 14, 16], "wa": [0, 9], "login": 0, "an": [0, 1, 3, 5, 7, 9, 11, 13, 14, 16], "can": [0, 7, 9, 10, 11, 12, 13, 14, 16], "log": [0, 1, 3, 4, 5, 6, 7, 8, 11, 12, 13, 16], "successfulli": 0, "401": [0, 1, 3, 4, 5, 6, 7, 8, 9], "unauthor": [0, 1, 3, 4, 5, 6, 7, 8], "credenti": [0, 13], "get": [0, 1, 3, 4, 5, 6, 7, 8, 14], "profil": [0, 3, 9, 14], "info": [0, 9, 11], "scope": [0, 1, 3, 4, 5, 6, 7, 8], "read": [0, 3, 4, 5, 6, 7, 8, 9, 14], "data": [0, 1, 3, 4, 5, 6, 7, 8, 9, 11, 12, 14], "accepted_privacy_polici": 0, "admin": [0, 1, 4, 5, 6, 7, 8, 9, 10, 11, 13], "fals": [0, 1, 3, 5, 7, 8, 13], "bio": [0, 7], "null": [0, 1, 5, 7, 8, 9], "birth_dat": [0, 7], "created_at": [0, 7], "sun": [0, 4, 7, 8], "14": [0, 3, 7, 8, 11], "jul": [0, 4, 7, 8], "2019": [0, 4, 6, 7, 8], "09": [0, 7], "58": [0, 7, 9], "gmt": [0, 3, 4, 7, 8], "date_format": 0, "dd": 0, "mm": 0, "yyyi": 0, "display_asc": 0, "sam": [0, 4, 7, 8], "com": [0, 1, 3, 7, 9, 13, 14], "email_to_confirm": 0, "first_nam": [0, 7], "imperial_unit": [0, 7], "is_act": [0, 5, 7], "last_nam": [0, 7], "locat": [0, 7, 13], "nb_sport": [0, 7], "nb_workout": [0, 6, 7], "6": [0, 5, 7, 8, 10, 11, 13], "pictur": [0, 7, 8, 9], "record": [0, 2, 7, 8, 9, 11], "id": [0, 3, 4, 5, 6, 7, 8, 14], "9": [0, 4, 7, 11, 13], "record_typ": [0, 4, 7, 8], "AS": [0, 4, 7, 8], "sport_id": [0, 4, 5, 6, 7, 8], "valu": [0, 3, 4, 7, 8, 9, 11, 13, 14, 16], "18": [0, 4, 7, 8, 11], "workout_d": [0, 4, 7, 8], "07": [0, 4, 7, 8], "08": [0, 4, 7, 8], "00": [0, 4, 7, 8], "workout_id": [0, 4, 7, 8], "hvybqybra7wwxpastwr4v2": [0, 4, 7, 8], "10": [0, 1, 4, 7, 8, 11, 13], "fd": [0, 4, 7, 8], "13": [0, 4, 7, 8, 10, 11, 13], "ha": [0, 4, 7, 8, 9, 11, 12], "43": [0, 4, 7, 8, 9], "97": [0, 4, 7, 8, 9], "11": [0, 4, 7, 11, 13], "ld": [0, 4, 7, 8], "01": [0, 4, 6, 7, 8], "12": [0, 4, 7, 8], "m": [0, 4, 6, 7, 8], "sports_list": [0, 7], "4": [0, 5, 6, 7, 8, 11, 13], "start_elevation_at_zero": 0, "timezon": [0, 7, 8, 9, 11], "europ": [0, 7], "pari": [0, 7], "total_asc": [0, 6], "720": 0, "35": [0, 9], "total_dist": [0, 6, 7], "67": [0, 7], "895": [0, 7], "total_dur": [0, 6, 7], "50": [0, 7, 9, 13], "27": [0, 3, 7], "use_raw_gpx_spe": 0, "weekm": [0, 6, 7], "header": [0, 1, 3, 4, 5, 6, 7, 8, 14], "author": [0, 1, 3, 4, 5, 6, 7, 8, 13, 14], "oauth": [0, 1, 3, 4, 5, 6, 7, 8, 9, 12, 13], "2": [0, 1, 3, 4, 5, 6, 7, 8, 11, 12, 13], "0": [0, 1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13], "bearer": [0, 1, 3, 4, 5, 6, 7, 8], "signatur": [0, 1, 3, 4, 5, 6, 7, 8], "expir": [0, 1, 3, 4, 5, 6, 7, 8, 10], "edit": [0, 9, 11], "write": [0, 1, 3, 5, 7, 8, 14], "updat": [0, 1, 5, 7, 8, 9, 11, 13], "first": [0, 3, 11, 14], "name": [0, 3, 7, 9, 13], "last": [0, 9, 13], "biographi": 0, "birth": [0, 9], "date": [0, 6, 8, 9, 11], "format": [0, 6, 8, 9, 11], "y": [0, 6, 8, 13], "d": [0, 6, 8], "support": [0, 3, 9, 11, 13, 14, 16], "default": [0, 3, 6, 7, 8, 9, 11, 13], "date_str": 0, "correspond": [0, 13], "client": [0, 3, 9, 11, 13, 14], "mmm": 0, "do": [0, 1, 5, 6, 7, 8, 13], "local": [0, 9, 12, 13], "e": 0, "fr": [0, 7, 13], "gl": 0, "nl": 0, "de": [0, 13], "nb": 0, "us": [0, 3, 7, 8, 9, 10, 11, 12, 13, 14], "displai": [0, 8, 9, 10, 11, 12, 13, 14, 17], "app": [0, 3, 9, 11, 12, 13, 14], "highest": [0, 4, 11], "ascent": [0, 4, 8, 9, 11], "total": [0, 3, 9, 11], "distanc": [0, 4, 8, 9, 11], "imperi": [0, 9, 11], "unit": [0, 9, 13], "elev": [0, 8, 9, 11, 13], "plot": 0, "start": [0, 6, 8, 9, 11, 13, 17], "zero": [0, 9, 11], "time": [0, 6, 8, 9, 11], "zone": 0, "unfilt": 0, "gpx": [0, 3, 8, 9, 11, 12, 13, 15], "calcul": [0, 9, 11], "speed": [0, 4, 8, 9, 11, 13], "doe": [0, 6, 7, 8, 9], "week": [0, 6, 9, 11], "mondai": [0, 6, 11], "don": 0, "t": [0, 9, 16], "match": [0, 8, 9], "sport": [0, 2, 6, 8, 9, 13], "color": [0, 5, 9, 11], "000000": 0, "stopped_speed_threshold": [0, 5], "user_id": 0, "hexadecim": 0, "when": [0, 1, 9, 10, 11, 13], "ad": [0, 9, 10, 11], "workout": [0, 2, 3, 4, 5, 6, 9, 12, 14, 15, 17], "float": [0, 8], "stop": [0, 9, 11, 13], "threshold": [0, 9, 11], "gpxpy": [0, 11, 13], "exist": [0, 6, 7, 8, 9, 11, 12, 13], "delet": [0, 3, 7, 8, 9, 10, 11], "reset": [0, 7, 9, 10, 11, 13], "given": [0, 3], "204": [0, 3, 7, 8], "paramet": [0, 3, 5, 6, 7, 8, 9, 11, 13, 14], "No": [0, 3, 7, 8, 9, 12], "multipart": [0, 3, 8], "form": [0, 3, 8], "file": [0, 1, 8, 9, 10, 11, 12, 13, 15, 17], "imag": [0, 7, 8, 9, 11, 13, 17], "extens": [0, 8, 13], "jpg": 0, "png": [0, 8, 13], "gif": 0, "part": [0, 8], "select": [0, 8, 11], "413": [0, 8], "entiti": [0, 8], "too": [0, 8], "larg": [0, 8, 11, 13], "dure": [0, 8], "size": [0, 1, 8, 9, 11, 13], "exce": [0, 8, 9], "0mb": [0, 8], "NO": [0, 3, 7, 8], "handl": [0, 9, 11, 13, 16], "process": [0, 9, 10, 13], "patch": [0, 1, 5, 7, 8], "It": [0, 7, 9, 11, 12, 14], "enabl": [0, 1, 7, 11, 13], "chang": [0, 11, 12, 13], "one": [0, 7, 8, 11], "current": [0, 9], "address": [0, 11, 13], "inform": [0, 1, 9, 11, 12, 13], "anoth": [0, 7, 11, 13], "new": [0, 7, 10, 11, 13, 14], "new_password": 0, "miss": [0, 9], "logout": [0, 9], "blacklist": [0, 10], "out": 0, "access": [0, 3, 9, 13, 14], "revok": [0, 3], "malform": 0, "other": [0, 7, 13], "reason": 0, "export": [0, 9, 10, 11, 12, 13], "return": [0, 3, 4, 7, 8, 9, 13], "creation": [0, 9, 11], "in_progress": 0, "byte": 0, "wed": 0, "mar": 0, "2023": [0, 13], "31": [0, 8, 13], "17": [0, 8], "file_nam": 0, "archive_rgjsr3fht295ywnqr5yp": 0, "zip": [0, 1, 8, 9, 11], "file_s": 0, "924": 0, "ongo": 0, "complet": [0, 9], "download": [0, 8, 9, 11, 13, 17], "archiv": [0, 1, 9, 10, 11, 13], "archive_rgjsr3fhr5yp": 0, "x": [0, 8, 9, 13, 14], "gzip": 0, "filenam": 0, "config": [1, 9, 13, 16], "about": [1, 9, 11, 13, 14], "admin_contact": 1, "gpx_limit_import": 1, "is_email_sending_en": 1, "is_registration_en": 1, "max_single_file_s": 1, "1048576": 1, "max_us": 1, "max_zip_file_s": 1, "10485760": 1, "map_attribut": [1, 13], "copi": [1, 13], "href": [1, 13], "www": [1, 13], "openstreetmap": [1, 9, 13], "org": [1, 13], "copyright": [1, 13], "contributor": [1, 9, 13, 15], "privacy_polici": 1, "privacy_policy_d": 1, "version": [1, 10, 11, 13], "7": [1, 8, 10, 11, 13, 14], "20": [1, 7, 11, 13], "weather_provid": 1, "authent": [1, 2, 3, 4, 5, 7, 8, 14], "instanc": [1, 3, 9, 11, 13, 14], "integ": [1, 3, 5, 6, 7, 8], "max": [1, 7, 8, 9, 10], "number": [1, 7, 8, 9, 10, 11, 13], "singl": [1, 7, 9, 11, 13], "have": [1, 5, 6, 7, 8, 9], "permiss": [1, 5, 6, 7, 8], "ping": 1, "health": 1, "check": [1, 9, 13, 16], "pong": 1, "account": [2, 7, 9, 10, 13, 15], "configur": [2, 9, 11, 13, 14], "oauth2": [2, 14], "statist": 2, "pagin": [3, 7, 8], "5": [3, 5, 6, 7, 8, 10, 11, 13], "page": [3, 7, 8, 9, 11], "fittracke": [3, 10, 11, 13, 14, 15, 17], "parti": [3, 11, 12, 14], "without": [3, 6, 7, 8, 9, 11, 12], "client_descript": 3, "client_id": [3, 14], "o22a27s2abpuoxjbxv3ujdox": 3, "issued_at": 3, "thu": 3, "juli": 3, "2022": 3, "06": [3, 6], "53": [3, 9], "import": [3, 9, 11, 13, 15], "redirect_uri": 3, "callback": [3, 14], "websit": 3, "has_next": 3, "has_prev": 3, "queri": [3, 6, 7, 8], "client_secret": 3, "secret": [3, 13, 14], "client_nam": 3, "client_uri": 3, "arrai": 3, "list": [3, 9, 12, 13], "redirect": [3, 14], "descript": [3, 10, 13], "option": [3, 9, 10, 13, 14], "client_client_id": 3, "NOT": [3, 5, 8], "int": [3, 5, 8], "by_id": 3, "all": [3, 4, 5, 6, 7, 8, 9, 11, 13], "associ": 3, "issu": [3, 12, 13], "response_typ": [3, 14], "state": [3, 14], "uniqu": [3, 14], "prevent": [3, 13, 14], "cross": [3, 11, 13, 14], "site": [3, 14], "forgeri": [3, 14], "mandatori": [3, 8, 9, 10, 13, 14], "recommend": [3, 13, 14], "code_challeng": [3, 14], "gener": [3, 9, 10, 11, 13, 14], "from": [3, 6, 8, 9, 11, 12, 14, 15], "verifi": [3, 14], "pkce": [3, 14], "code_challenge_method": [3, 14], "method": [3, 13, 14], "challeng": [3, 14], "s256": [3, 14], "authlib": [3, 13, 14], "librari": [3, 13, 14], "refresh": [3, 9], "access_token": 3, "roehv64thcg28wcewzhrnvlusoduvw8nvnhkcml57": 3, "expires_in": 3, "864000": 3, "refresh_token": 3, "nuv9cy8vqonrqkhtz5pqaq2zw7msh0mornpjr14amswd6f6i": 3, "token_typ": 3, "expires_at": 3, "1658660147": 3, "0667062": 3, "grant_typ": 3, "grant": [3, 14], "authorization_cod": [3, 14], "ar": [3, 4, 8, 9, 10, 11, 12, 13, 14, 15, 17], "code_verifi": 3, "follow": [4, 10, 11, 13, 14, 15, 16], "averag": [4, 8, 9, 11], "farthest": [4, 9, 11], "longest": [4, 9, 11], "durat": [4, 8, 9, 11], "maximum": [4, 9, 10, 11], "non": [5, 12], "is_active_for_us": 5, "label": [5, 9], "cycl": [5, 9, 11], "transport": [5, 9, 11], "hike": [5, 9, 11], "mountain": [5, 9, 11], "bike": [5, 8, 9, 11], "run": [5, 9, 10, 11, 13, 14], "walk": [5, 9, 11], "has_workout": 5, "stat": [6, 9], "user_nam": [6, 7], "by_tim": 6, "2018": [6, 8], "2017": [6, 8], "average_spe": 6, "48": 6, "203": 6, "156": [6, 9], "15": [6, 8, 10, 11, 13], "282": [6, 9], "12341": 6, "16": [6, 8, 11, 13], "99": [6, 9], "150": 6, "178": [6, 9], "47": [6, 8, 9], "9960": 6, "95": [6, 9], "46": [6, 9], "78": 6, "613": 6, "1267": 6, "end": [6, 8], "frame": 6, "sundai": [6, 8, 11], "month": [6, 9, 11], "year": [6, 11], "by_sport": 6, "uploads_dir_s": 6, "1000": 6, "regardless": 7, "right": [7, 9, 10, 11, 13, 14], "some": [7, 8, 9, 11, 12, 13, 14], "order_bi": [7, 8], "workouts_count": 7, "par_pag": 7, "is_admin": 7, "sat": 7, "03": [7, 8], "per_pag": [7, 8], "per": [7, 8, 9, 13], "q": 7, "order": [7, 8, 9, 14], "sort": [7, 8, 11], "asc": [7, 8], "desc": [7, 8], "criteria": [7, 8], "detail": [7, 9, 13, 17], "jpeg": 7, "add": [7, 9, 10, 11, 12], "remov": [7, 9, 10, 11], "modifi": [7, 9, 10, 13], "new_email": 7, "reset_password": 7, "differ": [7, 9, 11], "than": [7, 9, 10], "curent": 7, "A": [7, 9, 10, 11, 13, 16], "own": [7, 11, 12], "except": [7, 11, 13, 16], "he": 7, "": [7, 8, 9, 11, 13], "john_do": 7, "your": [7, 11, 12, 13], "02": 8, "least": 8, "ave_spe": 8, "bound": 8, "creation_d": 8, "51": 8, "descent": [8, 9, 11], "04": 8, "kjxavsturjvoah2wvcegef": 8, "map": [8, 9, 11, 12, 17], "max_alt": 8, "max_spe": 8, "min_alt": 8, "modification_d": 8, "move": [8, 9], "next_workout": 8, "note": [8, 9, 11, 13], "paus": [8, 9], "previous_workout": 8, "mon": 8, "jan": 8, "segment": [8, 9, 11], "titl": [8, 9, 11], "weather_end": 8, "weather_start": 8, "with_gpx": 8, "100": [8, 9, 11], "ani": [8, 13], "case": [8, 11, 13], "insensit": [8, 13], "distance_from": 8, "minim": [8, 14], "distance_to": 8, "maxim": 8, "duration_from": 8, "h": [8, 11], "duration_to": 8, "ave_speed_from": 8, "ave_speed_to": 8, "max_speed_from": 8, "max_speed_to": 8, "workout_short_id": 8, "57": [8, 9], "45": 8, "22": 8, "morn": 8, "short": 8, "leaflet": [8, 13], "chart_data": 8, "chart": [8, 9, 11, 13], "j": [8, 9, 13], "279": [8, 9], "latitud": 8, "5078118": 8, "longitud": 8, "1232004": 8, "63": 8, "fri": 8, "44": [8, 9], "7380": 8, "280": [8, 9], "5079733": 8, "1234538": 8, "39": 8, "segment_id": 8, "map_id": 8, "fa33f4d996844a5c73ecd1ae24456ab8": 8, "1563529507772": 8, "map_til": 8, "z": [8, 13], "tile": [8, 9, 11], "c": [8, 13], "4109": 8, "2930": 8, "subdomain": [8, 9, 13], "zoom": 8, "index": 8, "along": 8, "axi": [8, 9, 11], "xml": 8, "201": [8, 9], "doubl": 8, "quot": 8, "escap": 8, "no_gpx": 8, "uuid": [8, 9], "km": [8, 11], "second": 8, "open": [9, 11, 12, 13], "water": [9, 11], "swim": [9, 11], "pr": 9, "398": 9, "dropdown": [9, 11], "402": 9, "399": 9, "galician": [9, 11], "polish": [9, 11], "406": 9, "spanish": [9, 11], "dutch": [9, 11], "german": [9, 11], "italian": [9, 11], "85": 9, "norwegian": [9, 11], "bokm\u00e5l": [9, 11], "56": 9, "thank": [9, 15], "gallegonovato": 9, "xmgz": 9, "mariusz": 9, "contain": [9, 11, 13], "databas": [9, 11, 13, 16], "migrat": [9, 10, 13], "see": [9, 11, 12, 13, 14, 16], "upgrad": 9, "380": 9, "link": [9, 13], "390": 9, "ui": 9, "391": 9, "paraglid": [9, 11], "384": 9, "inconsist": 9, "between": [9, 11], "gp": [9, 11], "393": 9, "pil": 9, "modul": [9, 13], "attribut": [9, 13], "antialia": 9, "394": 9, "397": 9, "386": 9, "contribut": 9, "md": 9, "388": 9, "typo": 9, "395": 9, "ci": 9, "test": [9, 13], "packag": [9, 13], "cc3fe1c": 9, "python": [9, 13, 14], "postgresql": [9, 13, 16], "98": 9, "42": 9, "dkm": 9, "interfac": [9, 12, 13], "partial": 9, "now": [9, 10, 11, 13], "yet": [9, 12], "weblat": [9, 11], "longer": [9, 16], "minimum": [9, 11], "351": 9, "370": 9, "bjornclauw": 9, "371": 9, "375": 9, "thovi98": 9, "376": 9, "qwerty287": 9, "1375986": 9, "theme": 9, "furo": 9, "377": 9, "init": [9, 13], "354": 9, "drop": 9, "374": 9, "docker": 9, "instal": [9, 12], "virtualenv": [9, 13], "87": 9, "36": 9, "366": 9, "369": 9, "host": [9, 13], "367": 9, "358": 9, "filter": [9, 11], "359": 9, "footer": 9, "overlap": 9, "350": 9, "352": 9, "356": 9, "357": 9, "365": 9, "gnu": 9, "ewm": 9, "jat255": 9, "among": 9, "below": [9, 13], "darkski": [9, 13], "sinc": [9, 13, 14], "servic": [9, 13], "shut": [9, 13], "down": [9, 13], "march": [9, 13], "319": 9, "cli": [9, 10, 11, 13], "329": 9, "make": [9, 13], "sticki": 9, "333": 9, "338": 9, "relev": 9, "328": 9, "altitud": [9, 11], "track": [9, 12], "incorrect": 9, "b29ed7a": 9, "dashboard": 9, "250": 9, "320": 9, "323": 9, "06ba975": 9, "bcc568e": 9, "ea0ac99": 9, "a458f5f": 9, "075aeb9": 9, "60e164d": 9, "318": 9, "weather": [9, 11], "comradekingu": 9, "lavoi": 9, "mondstern": 9, "314": 9, "fail": [9, 17], "315": 9, "custom": [9, 11, 13], "defin": [9, 11], "review": [9, 11], "upload": [9, 10, 11, 13, 15, 17], "lastli": 9, "addit": [9, 11, 13], "mai": [9, 11, 12, 13], "301": [9, 13], "304": 9, "305": 9, "307": 9, "modal": 9, "posit": [9, 11], "297": 9, "308": 9, "310": 9, "290": 9, "294": 9, "postgresql10": 9, "depend": [9, 13], "265": 9, "implement": [9, 14], "altern": 9, "visualcross": 9, "environ": [9, 10, 16], "variabl": [9, 16], "set": [9, 10, 11, 13, 14, 16], "weather_api_provid": [9, 13], "287": 9, "289": 9, "dperruso": 9, "92": 9, "c88a515": 9, "f96dcef": 9, "278": 9, "270": 9, "nederland": 9, "258": 9, "pars": [9, 13], "area": 9, "271": 9, "273": 9, "274": 9, "parallel": 9, "275": 9, "worker": [9, 10, 13, 16], "entri": [9, 13], "point": [9, 13], "fittrackee_work": [9, 10, 13], "command": [9, 11, 12, 13], "flask": [9, 13], "dramatiq": [9, 10, 13], "3c8d9c2": 9, "trail": [9, 11], "comma": [9, 13], "dev": 9, "264": 9, "white": 9, "grai": 9, "background": 9, "266": 9, "260": 9, "261": 9, "should": [9, 13], "limit": [9, 11], "still": [9, 11, 12, 13], "need": [9, 11, 13, 14], "89": 9, "b1536fc": 9, "257": 9, "bodi": [9, 13, 14], "nginx": [9, 11, 13, 14, 16], "112": 9, "244": 9, "virtual": [9, 11], "ride": 9, "246": 9, "247": 9, "microsecond": 9, "252": 9, "242": 9, "241": 9, "strength": 9, "estim": 9, "239": 9, "cb9d02f": 9, "88": 9, "231": 9, "236": 9, "rate": 9, "232": 9, "hidden": [9, 11], "237": 9, "212": 9, "230": 9, "problem": 9, "225": 9, "grammar": 9, "skylan0916": 9, "In": [9, 11], "execut": 9, "lower": 9, "v0": [9, 13], "postgr": [9, 16], "213": 9, "measur": 9, "ft": 9, "mi": 9, "223": 9, "icon": [9, 13], "167": 9, "162": 9, "fmstrat": 9, "210": 9, "could": 9, "staticmap_subdomain": [9, 13], "209": 9, "multipl": 9, "gorgobacka": 9, "And": 9, "detect": 9, "browser": 9, "208": 9, "card": 9, "html": 9, "197": 9, "196": 9, "manag": [9, 10, 13], "tool": [9, 12, 13], "190": 9, "were": 9, "193": 9, "192": 9, "instead": [9, 11], "191": 9, "layout": 9, "includ": 9, "195": 9, "affect": [9, 11], "previous": 9, "cc4287e": 9, "env": [9, 13], "offset": 9, "refacto": 9, "befor": [9, 13], "introduc": 9, "possibl": [9, 11, 12, 13], "smtp": [9, 13], "reduc": 9, "pre": 9, "requisit": 9, "To": [9, 13, 14], "180": 9, "cannot": [9, 11], "tl": [9, 13], "177": 9, "small": 9, "screen": [9, 11], "175": 9, "173": 9, "171": 9, "correctli": 9, "sent": [9, 11, 13, 14], "155": 9, "106": 9, "169": 9, "161": 9, "160": 9, "sever": [9, 11, 12, 13], "danielsiersleben": 9, "report": 9, "initi": [9, 13], "149": 9, "initialis": [9, 13], "152": 9, "autoescap": 9, "jinja": 9, "templat": 9, "151": 9, "sanit": 9, "input": 9, "serv": [9, 13], "warn": [9, 11], "launch": 9, "w": 9, "script": 9, "entrypoint": 9, "avoid": 9, "product": 9, "dotenv": 9, "146": 9, "145": 9, "model": 9, "140": 9, "fullscreen": 9, "control": [9, 11, 13], "138": 9, "135": 9, "finish": 9, "marker": 9, "134": 9, "wind": [9, 11], "direct": [9, 11], "877fa0f": 9, "calendar": [9, 11], "resolut": 9, "131": 9, "129": 9, "127": [9, 13], "legitim": 9, "uri": 9, "localhost": [9, 13], "123": 9, "121": 9, "snowsho": [9, 11], "116": 9, "better": [9, 14], "button": 9, "graph": 9, "115": 9, "91": 9, "min": 9, "90": 9, "seem": 9, "104": 9, "switch": 9, "agplv3": 9, "licens": [9, 12, 13], "101": 9, "full": [9, 11], "develop": [9, 10, 12], "109": 9, "slow": 9, "movement": 9, "84": 9, "93": 9, "paf38": 9, "83": 9, "static": [9, 11, 13], "keep": [9, 12, 13], "default_staticmap": [9, 13], "81": 9, "remain": 9, "textarea": 9, "82": 9, "dai": [9, 10, 11, 13], "80": [9, 13], "save": [9, 11], "79": 9, "rebuild": 9, "75": 9, "same": [9, 11], "javascript": [9, 13], "due": 9, "sqlalchemi": [9, 13, 16], "engin": [9, 13, 16], "database_url": [9, 13, 16], "72": 9, "exceed": 9, "71": 9, "greater": 9, "70": 9, "less": 9, "66": 9, "64": 9, "shown": [9, 14, 17], "62": 9, "refactor": 9, "evalu": [9, 13], "purpos": [9, 13], "standard": [9, 13], "term": [9, 13], "directori": [9, 11, 13], "also": [9, 10, 11, 12, 13], "59": 9, "major": 9, "becom": 9, "more": [9, 10, 11, 12, 13], "easi": 9, "been": [9, 12], "renam": 9, "layer": [9, 13], "replac": [9, 13], "thunderforest": [9, 13], "outdoor": [9, 11, 12, 13], "54": 9, "simplifi": [9, 14], "redi": [9, 10, 13], "side": 9, "4c3fc34": 9, "empti": [9, 10, 13], "34614d5": 9, "spinner": 9, "load": [9, 16], "b862a77": 9, "2e1ee2c": 9, "interceptor": 9, "rout": [9, 13], "definit": 9, "weekend": 9, "40": 9, "i18n": 9, "41": 9, "show": [9, 10, 13], "mous": 9, "over": 9, "choos": [9, 11], "33": 9, "37": 9, "34": 9, "anymor": 9, "poetri": [9, 13], "pipenv": 9, "28": 9, "26": 9, "tooltip": [9, 11], "even": [9, 11], "enter": [9, 11], "kei": [9, 11, 13], "search": 9, "owner": [9, 11, 13], "view": [9, 11, 13], "usag": [10, 13], "arg": [10, 13], "help": [10, 13], "exit": [10, 13], "deprec": 10, "next": [10, 11], "fittrackee_set_admin": 10, "fittrackee_upgrade_db": 10, "appli": 10, "relat": [10, 11, 13, 14], "argument": 10, "random": 10, "incomplet": 10, "store": [11, 12, 14], "For": [11, 13, 14], "kind": 11, "encrypt": 11, "With": [11, 13], "street": [11, 12], "electr": 11, "19": 11, "row": 11, "ski": 11, "alpin": 11, "countri": 11, "overridden": 11, "analyz": 11, "wai": [11, 13], "specif": [11, 13], "moment": 11, "which": 11, "up": [11, 12], "metric": 11, "system": [11, 13], "origin": 11, "particular": 11, "visual": [11, 13], "sourc": 11, "arrow": 11, "indic": 11, "come": 11, "period": [11, 13], "recent": 11, "On": [11, 13], "line": [11, 12, 13], "hide": 11, "exclud": 11, "extrem": 11, "overrid": 11, "appear": 11, "third": [11, 12, 14], "individu": 11, "necessari": [11, 13], "like": [11, 13], "markdown": 11, "syntax": 11, "adapt": [11, 13], "discours": 11, "lock": 11, "via": 11, "french": 11, "releas": [11, 13], "mobil": 12, "them": 12, "android": 12, "exhaust": 12, "runner": 12, "gpl": 12, "v3": 12, "opentrack": 12, "apach": 12, "fitotrack": 12, "under": [12, 13], "heavi": [12, 13], "featur": [12, 13], "unstabl": [12, 13], "document": [12, 13, 14, 16], "troubleshoot": 12, "written": 13, "typescript": 13, "staticmap": 13, "coordin": 13, "task": 13, "queue": 13, "vue3": 13, "vuex": 13, "logo": 13, "made": 13, "freepik": 13, "flaticon": 13, "fork": 13, "awesom": 13, "node": 13, "yarn": 13, "compos": 13, "step": 13, "describ": 13, "linux": 13, "debian": 13, "arch": 13, "o": 13, "encount": 13, "makefil": 13, "thei": [13, 14], "flask_app": 13, "pwd": 13, "__main__": 13, "py": 13, "els": 13, "port": 13, "5000": 13, "app_set": 13, "productionconfig": 13, "app_secret_kei": 13, "strong": 13, "jwt": 13, "app_work": 13, "spawn": 13, "gunicorn": [13, 16], "app_log": 13, "path": [13, 16], "upload_fold": [13, 16], "absolut": [13, 16], "where": 13, "folder": 13, "application_directori": 13, "5432": 13, "begin": 13, "database_disable_pool": 13, "pool": 13, "directli": 13, "ui_url": 13, "email_url": [13, 16], "sender_email": 13, "sender": 13, "redis_url": 13, "workers_process": 13, "api_rate_limit": 13, "300": 13, "minut": 13, "tile_server_url": 13, "b": 13, "osm": 13, "franc": 13, "target": 13, "_blank": 13, "rel": 13, "noopen": 13, "noreferr": 13, "komoot": 13, "otherwis": 13, "weather_api_kei": 13, "weather_api": 13, "vue_app_api_url": 13, "unencrypt": 13, "25": 13, "ssl": 13, "465": 13, "starttl": 13, "587": 13, "office365": 13, "work": 13, "omit": 13, "old": 13, "adress": 13, "notif": 13, "readi": 13, "apikei": 13, "xxxx": 13, "expect": 13, "osmfr": 13, "fond": 13, "cart": 13, "par": 13, "mention": 13, "legal": 13, "nofollow": 13, "sou": 13, "nbsp": 13, "creativecommon": 13, "sa": 13, "licenc": 13, "cc": 13, "BY": 13, "chosen": 13, "randomli": 13, "base": 13, "ip": 13, "fix": 13, "window": 13, "strategi": 13, "subject": 13, "asset": 13, "notat": 13, "separ": [13, 14], "hour": 13, "mainten": 13, "diagnost": 13, "util": 13, "commmand": 13, "clear": 13, "enumer": 13, "histor": 13, "hourli": 13, "discontinu": 13, "pip": 13, "WITH": 13, "schema": 13, "privileg": 13, "nano": 13, "ftcli": 13, "db": 13, "systemd": 13, "project": 13, "clone": 13, "repo": 13, "git": 13, "github": 13, "samr1": 13, "cd": 13, "vue": 13, "3000": 13, "wget": 13, "tar": 13, "gz": 13, "xzf": 13, "mv": 13, "sql": 13, "backup": 13, "pg_dump": 13, "semant": 13, "backward": 13, "incompat": 13, "u": 13, "changelog": 13, "restart": 13, "pull": 13, "repositori": 13, "overwrit": 13, "cp": 13, "r": 13, "There": 13, "One": 13, "proxi": [13, 14], "pass": 13, "oper": 13, "network": 13, "startlimitintervalsec": 13, "simpl": 13, "alwai": 13, "restartsec": 13, "standardoutput": 13, "syslog": 13, "standarderror": 13, "syslogidentifi": 13, "workingdirectori": 13, "home": 13, "execstart": 13, "venv": 13, "bin": 13, "create_app": 13, "logfil": 13, "wantedbi": 13, "multi": 13, "higher": 13, "timeout": [13, 16], "its": 13, "OF": 13, "listen": 13, "443": 13, "http2": 13, "server_nam": 13, "ssl_certif": 13, "fullchain": 13, "pem": 13, "ssl_certificate_kei": 13, "privkei": 13, "how": 13, "1mb": 13, "larger": [13, 16], "ll": 13, "uncom": 13, "want": 13, "client_max_body_s": [13, 16], "1m": 13, "proxy_pass": 13, "proxy_redirect": 13, "proxy_set_head": [13, 14], "real": 13, "remote_addr": 13, "forward": [13, 14], "proxy_add_x_forwarded_for": 13, "proto": [13, 14], "scheme": [13, 14], "request_uri": 13, "build": 13, "8025": 13, "mailhog": 13, "shell": 13, "insid": 13, "fittrackee_cli": 13, "lint": 13, "fittrackee_ynh": 13, "rest": 14, "whose": 14, "most": 14, "interact": 14, "tab": 14, "exchang": 14, "secur": 14, "3rd": 14, "fittrackee_host": 14, "space": 14, "3aread": 14, "3awrit": 14, "so": 14, "fetch": 14, "behind": 14, "aaron": 14, "parecki": 14, "oauthlib": 14, "session": 14, "strava": 15, "fit": 15, "exc": 16, "nosuchmoduleerror": 16, "plugin": 16, "dialect": 16, "invalidemailurlschem": 16, "increas": 16, "critic": 16}, "objects": {"": [[0, 0, 1, "post--api-auth-account-confirm", "/api/auth/account/confirm"], [0, 1, 1, "get--api-auth-account-export", "/api/auth/account/export"], [0, 1, 1, "get--api-auth-account-export-(string-file_name)", "/api/auth/account/export/(string:file_name)"], [0, 0, 1, "post--api-auth-account-export-request", "/api/auth/account/export/request"], [0, 0, 1, "post--api-auth-account-privacy-policy", "/api/auth/account/privacy-policy"], [0, 0, 1, "post--api-auth-account-resend-confirmation", "/api/auth/account/resend-confirmation"], [0, 0, 1, "post--api-auth-email-update", "/api/auth/email/update"], [0, 0, 1, "post--api-auth-login", "/api/auth/login"], [0, 0, 1, "post--api-auth-logout", "/api/auth/logout"], [0, 0, 1, "post--api-auth-password-reset-request", "/api/auth/password/reset-request"], [0, 0, 1, "post--api-auth-password-update", "/api/auth/password/update"], [0, 2, 1, "delete--api-auth-picture", "/api/auth/picture"], [0, 0, 1, "post--api-auth-picture", "/api/auth/picture"], [0, 1, 1, "get--api-auth-profile", "/api/auth/profile"], [0, 0, 1, "post--api-auth-profile-edit", "/api/auth/profile/edit"], [0, 3, 1, "patch--api-auth-profile-edit-account", "/api/auth/profile/edit/account"], [0, 0, 1, "post--api-auth-profile-edit-preferences", "/api/auth/profile/edit/preferences"], [0, 0, 1, "post--api-auth-profile-edit-sports", "/api/auth/profile/edit/sports"], [0, 2, 1, "delete--api-auth-profile-reset-sports-(sport_id)", "/api/auth/profile/reset/sports/(sport_id)"], [0, 0, 1, "post--api-auth-register", "/api/auth/register"], [1, 1, 1, "get--api-config", "/api/config"], [1, 3, 1, "patch--api-config", "/api/config"], [3, 1, 1, "get--api-oauth-apps", "/api/oauth/apps"], [3, 0, 1, "post--api-oauth-apps", "/api/oauth/apps"], [3, 2, 1, "delete--api-oauth-apps-(int-client_id)", "/api/oauth/apps/(int:client_id)"], [3, 1, 1, "get--api-oauth-apps-(int-client_id)-by_id", "/api/oauth/apps/(int:client_id)/by_id"], [3, 0, 1, "post--api-oauth-apps-(int-client_id)-revoke", "/api/oauth/apps/(int:client_id)/revoke"], [3, 1, 1, "get--api-oauth-apps-(string-client_client_id)", "/api/oauth/apps/(string:client_client_id)"], [3, 0, 1, "post--api-oauth-authorize", "/api/oauth/authorize"], [3, 0, 1, "post--api-oauth-revoke", "/api/oauth/revoke"], [3, 0, 1, "post--api-oauth-token", "/api/oauth/token"], [1, 1, 1, "get--api-ping", "/api/ping"], [4, 1, 1, "get--api-records", "/api/records"], [5, 1, 1, "get--api-sports", "/api/sports"], [5, 1, 1, "get--api-sports-(int-sport_id)", "/api/sports/(int:sport_id)"], [5, 3, 1, "patch--api-sports-(int-sport_id)", "/api/sports/(int:sport_id)"], [6, 1, 1, "get--api-stats-(user_name)-by_sport", "/api/stats/(user_name)/by_sport"], [6, 1, 1, "get--api-stats-(user_name)-by_time", "/api/stats/(user_name)/by_time"], [6, 1, 1, "get--api-stats-all", "/api/stats/all"], [7, 1, 1, "get--api-users", "/api/users"], [7, 2, 1, "delete--api-users-(user_name)", "/api/users/(user_name)"], [7, 1, 1, "get--api-users-(user_name)", "/api/users/(user_name)"], [7, 3, 1, "patch--api-users-(user_name)", "/api/users/(user_name)"], [7, 1, 1, "get--api-users-(user_name)-picture", "/api/users/(user_name)/picture"], [8, 1, 1, "get--api-workouts", "/api/workouts"], [8, 0, 1, "post--api-workouts", "/api/workouts"], [8, 2, 1, "delete--api-workouts-(string-workout_short_id)", "/api/workouts/(string:workout_short_id)"], [8, 1, 1, "get--api-workouts-(string-workout_short_id)", "/api/workouts/(string:workout_short_id)"], [8, 3, 1, "patch--api-workouts-(string-workout_short_id)", "/api/workouts/(string:workout_short_id)"], [8, 1, 1, "get--api-workouts-(string-workout_short_id)-chart_data", "/api/workouts/(string:workout_short_id)/chart_data"], [8, 1, 1, "get--api-workouts-(string-workout_short_id)-chart_data-segment-(int-segment_id)", "/api/workouts/(string:workout_short_id)/chart_data/segment/(int:segment_id)"], [8, 1, 1, "get--api-workouts-(string-workout_short_id)-gpx", "/api/workouts/(string:workout_short_id)/gpx"], [8, 1, 1, "get--api-workouts-(string-workout_short_id)-gpx-download", "/api/workouts/(string:workout_short_id)/gpx/download"], [8, 1, 1, "get--api-workouts-(string-workout_short_id)-gpx-segment-(int-segment_id)", "/api/workouts/(string:workout_short_id)/gpx/segment/(int:segment_id)"], [8, 1, 1, "get--api-workouts-map-(map_id)", "/api/workouts/map/(map_id)"], [8, 0, 1, "post--api-workouts-no_gpx", "/api/workouts/no_gpx"], [13, 4, 1, "-", "API_RATE_LIMITS"], [13, 4, 1, "-", "APP_LOG"], [13, 4, 1, "-", "APP_SECRET_KEY"], [13, 4, 1, "-", "APP_SETTINGS"], [13, 4, 1, "-", "APP_WORKERS"], [13, 4, 1, "-", "DATABASE_DISABLE_POOLING"], [13, 4, 1, "-", "DATABASE_URL"], [13, 4, 1, "-", "DEFAULT_STATICMAP"], [13, 4, 1, "-", "EMAIL_URL"], [13, 4, 1, "-", "FLASK_APP"], [13, 4, 1, "-", "HOST"], [13, 4, 1, "-", "MAP_ATTRIBUTION"], [13, 4, 1, "-", "PORT"], [13, 4, 1, "-", "REDIS_URL"], [13, 4, 1, "-", "SENDER_EMAIL"], [13, 4, 1, "-", "STATICMAP_SUBDOMAINS"], [13, 4, 1, "-", "TILE_SERVER_URL"], [13, 4, 1, "-", "UI_URL"], [13, 4, 1, "-", "UPLOAD_FOLDER"], [13, 4, 1, "-", "VUE_APP_API_URL"], [13, 4, 1, "-", "WEATHER_API_KEY"], [13, 4, 1, "envvar-WEATHER_API_PROVIDER", "WEATHER_API_PROVIDER \ud83c\udd95"], [13, 4, 1, "-", "WORKERS_PROCESSES"]], "/api/workouts/map_tile/(s)/(z)/(x)/(y)": [[8, 1, 1, "get--api-workouts-map_tile-(s)-(z)-(x)-(y).png", "png"]]}, "objtypes": {"0": "http:post", "1": "http:get", "2": "http:delete", "3": "http:patch", "4": "std:envvar"}, "objnames": {"0": ["http", "post", "HTTP post"], "1": ["http", "get", "HTTP get"], "2": ["http", "delete", "HTTP delete"], "3": ["http", "patch", "HTTP patch"], "4": ["std", "envvar", "environment variable"]}, "titleterms": {"authent": 0, "account": [0, 11], "configur": 1, "api": [2, 13], "document": [2, 9], "endpoint": 2, "oauth2": [3, 10], "record": 4, "sport": [5, 11], "statist": [6, 9, 11], "user": [7, 10, 11], "workout": [8, 11, 16], "chang": 9, "log": 9, "version": 9, "0": [9, 14], "7": 9, "20": 9, "2023": 9, "07": 9, "22": 9, "featur": [9, 11], "enhanc": 9, "bug": 9, "fix": 9, "translat": [9, 11], "19": 9, "15": 9, "misc": 9, "18": 9, "06": 9, "25": 9, "17": 9, "03": 9, "16": 9, "05": 9, "29": 9, "04": 9, "12": 9, "14": 9, "08": 9, "13": 9, "02": 9, "11": 9, "2022": 9, "31": 9, "10": 9, "21": 9, "9": 9, "8": 9, "30": 9, "27": 9, "6": 9, "09": 9, "5": 9, "4": 9, "3": 9, "01": 9, "2": [9, 14], "1": 9, "issu": 9, "close": 9, "pull": 9, "request": 9, "24": 9, "23": 9, "secur": 9, "new": 9, "2021": 9, "2020": 9, "fittracke": [9, 12, 16], "pypi": [9, 13], "administr": [9, 11, 16], "improv": 9, "minor": 9, "avail": 9, "french": 9, "2019": 9, "first": 9, "releas": 9, "2018": 9, "command": 10, "line": 10, "interfac": 10, "databas": 10, "ftcli": 10, "db": 10, "drop": 10, "upgrad": [10, 13], "clean": 10, "clean_arch": 10, "clean_token": 10, "creat": 10, "export_arch": 10, "updat": 10, "prefer": 11, "applic": 11, "screenshot": 11, "dashboard": 11, "detail": [11, 16], "list": 11, "tabl": 12, "content": 12, "instal": 13, "prerequisit": 13, "environ": 13, "variabl": 13, "email": 13, "map": [13, 16], "tile": 13, "server": 13, "rate": 13, "limit": 13, "weather": 13, "data": 13, "from": 13, "sourc": 13, "dev": 13, "product": 13, "prod": 13, "deploy": 13, "docker": 13, "develop": 13, "yunohost": 13, "oauth": 14, "scope": 14, "flow": 14, "resourc": 14, "third": 15, "parti": 15, "tool": 15, "fail": 16, "start": 16, "imag": 16, "ar": 16, "displai": 16, "i": 16, "shown": 16, "upload": 16, "download": 16, "file": 16, "troubleshoot": 17}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 57}, "alltitles": {"Authentication and account": [[0, "authentication-and-account"]], "Configuration": [[1, "configuration"]], "API documentation": [[2, "api-documentation"]], "Endpoints:": [[2, null]], "OAuth2": [[3, "oauth2"], [10, "oauth2"]], "Records": [[4, "records"]], "Sports": [[5, "sports"], [11, "sports"]], "Statistics": [[6, "statistics"], [11, "statistics"]], "Users": [[7, "users"], [10, "users"], [11, "users"]], "Workouts": [[8, "workouts"], [11, "workouts"]], "Change log": [[9, "change-log"]], "Version 0.7.20 (2023/07/22)": [[9, "version-0-7-20-2023-07-22"]], "Features and enhancements": [[9, "features-and-enhancements"], [9, "id1"], [9, "id8"], [9, "id11"], [9, "id17"], [9, "id22"], [9, "id24"], [9, "id26"], [9, "id29"], [9, "id40"], [9, "id46"]], "Bugs Fixed": [[9, "bugs-fixed"], [9, "id2"], [9, "id9"], [9, "id12"], [9, "id15"], [9, "id18"], [9, "id30"], [9, "id35"], [9, "id37"], [9, "id41"], [9, "id44"], [9, "id47"], [9, "id49"], [9, "id52"], [9, "id55"], [9, "id57"], [9, "id60"], [9, "id63"], [9, "id66"], [9, "id71"], [9, "id73"], [9, "id75"], [9, "id77"], [9, "id80"], [9, "id82"], [9, "id88"], [9, "id91"], [9, "id93"], [9, "id95"], [9, "id102"], [9, "id107"], [9, "id109"], [9, "id111"], [9, "id114"], [9, "id116"], [9, "id118"], [9, "id122"], [9, "id132"], [9, "id135"], [9, "id137"], [9, "id140"], [9, "id147"]], "Translations": [[9, "translations"], [9, "id3"], [9, "id4"], [9, "id7"], [9, "id10"], [9, "id13"], [9, "id16"], [9, "id19"], [9, "id20"], [9, "id23"], [9, "id25"], [9, "id27"], [9, "id28"], [9, "id31"], [9, "id33"], [9, "id36"], [9, "id38"], [9, "id42"], [9, "id43"], [9, "id45"], [9, "id48"], [9, "id61"], [11, "translations"]], "Version 0.7.19 (2023/07/15)": [[9, "version-0-7-19-2023-07-15"]], "Documentation": [[9, "documentation"], [9, "id5"], [9, "id39"]], "Misc": [[9, "misc"], [9, "id6"], [9, "id14"], [9, "id21"], [9, "id32"], [9, "id34"], [9, "id50"], [9, "id64"], [9, "id67"], [9, "id84"], [9, "id86"], [9, "id103"], [9, "id112"], [9, "id119"], [9, "id123"], [9, "id130"], [9, "id141"], [9, "id144"]], "Version 0.7.18 (2023/06/25)": [[9, "version-0-7-18-2023-06-25"]], "Version 0.7.17 (2023/06/03)": [[9, "version-0-7-17-2023-06-03"]], "Version 0.7.16 (2023/05/29)": [[9, "version-0-7-16-2023-05-29"]], "Version 0.7.15 (2023/04/12)": [[9, "version-0-7-15-2023-04-12"]], "Version 0.7.14 (2023/03/08)": [[9, "version-0-7-14-2023-03-08"]], "Version 0.7.13 (2023/03/05)": [[9, "version-0-7-13-2023-03-05"]], "Version 0.7.12 (2023/02/16)": [[9, "version-0-7-12-2023-02-16"]], "Version 0.7.11 (2022/12/31)": [[9, "version-0-7-11-2022-12-31"]], "Version 0.7.10 (2022/12/21)": [[9, "version-0-7-10-2022-12-21"]], "Version 0.7.9 (2022/12/11)": [[9, "version-0-7-9-2022-12-11"]], "Version 0.7.8 (2022/11/30)": [[9, "version-0-7-8-2022-11-30"]], "Version 0.7.7 (2022/11/27)": [[9, "version-0-7-7-2022-11-27"]], "Version 0.7.6 (2022/11/09)": [[9, "version-0-7-6-2022-11-09"]], "Version 0.7.5 (2022/11/09)": [[9, "version-0-7-5-2022-11-09"]], "Version 0.7.4 (2022/11/05)": [[9, "version-0-7-4-2022-11-05"]], "Version 0.7.3 (2022/11/01)": [[9, "version-0-7-3-2022-11-01"]], "Version 0.7.2 (2022/09/21)": [[9, "version-0-7-2-2022-09-21"]], "Version 0.7.1 (2022/09/21)": [[9, "version-0-7-1-2022-09-21"]], "Version 0.7.0 (2022/09/19)": [[9, "version-0-7-0-2022-09-19"]], "Version 0.6.12 (2022/09/14)": [[9, "version-0-6-12-2022-09-14"]], "Issues Closed": [[9, "issues-closed"], [9, "id51"], [9, "id54"], [9, "id58"], [9, "id62"], [9, "id65"], [9, "id68"], [9, "id70"], [9, "id74"], [9, "id76"], [9, "id78"], [9, "id83"], [9, "id87"], [9, "id90"], [9, "id92"], [9, "id94"], [9, "id96"], [9, "id98"], [9, "id100"], [9, "id105"], [9, "id108"], [9, "id110"], [9, "id113"], [9, "id115"], [9, "id117"], [9, "id120"], [9, "id124"], [9, "id126"], [9, "id128"], [9, "id131"], [9, "id133"], [9, "id136"], [9, "id138"], [9, "id142"], [9, "id145"], [9, "id148"]], "Pull Requests": [[9, "pull-requests"], [9, "id53"], [9, "id56"], [9, "id72"], [9, "id81"], [9, "id85"], [9, "id89"], [9, "id104"]], "Version 0.6.11 (2022/07/27)": [[9, "version-0-6-11-2022-07-27"]], "Features": [[9, "features"], [9, "id59"], [9, "id69"], [9, "id79"], [11, "features"]], "Version 0.6.10 (2022/07/13)": [[9, "version-0-6-10-2022-07-13"]], "Version 0.6.9 (2022/07/03)": [[9, "version-0-6-9-2022-07-03"]], "Version 0.6.8 (2022/06/22)": [[9, "version-0-6-8-2022-06-22"]], "Version 0.6.7 (2022/06/11)": [[9, "version-0-6-7-2022-06-11"]], "Version 0.6.6 (2022/05/29)": [[9, "version-0-6-6-2022-05-29"]], "Version 0.6.5 (2022/04/24)": [[9, "version-0-6-5-2022-04-24"]], "Version 0.6.4 (2022/04/23)": [[9, "version-0-6-4-2022-04-23"]], "Version 0.6.3 (2022/04/09)": [[9, "version-0-6-3-2022-04-09"]], "Version 0.6.2 (2022/04/03)": [[9, "version-0-6-2-2022-04-03"]], "Version 0.6.1 (2022/03/27)": [[9, "version-0-6-1-2022-03-27"]], "Version 0.6.0 (2022/03/27)": [[9, "version-0-6-0-2022-03-27"]], "Version 0.5.7 (2022/02/13)": [[9, "version-0-5-7-2022-02-13"]], "Security": [[9, "security"]], "Version 0.5.6 (2022/02/05)": [[9, "version-0-5-6-2022-02-05"]], "Version 0.5.5 (2022/01/19)": [[9, "version-0-5-5-2022-01-19"]], "New Features": [[9, "new-features"], [9, "id97"], [9, "id99"], [9, "id101"], [9, "id106"], [9, "id121"], [9, "id125"], [9, "id127"], [9, "id129"], [9, "id134"], [9, "id139"], [9, "id143"], [9, "id146"], [9, "id149"]], "Version 0.5.4 (2022/01/01)": [[9, "version-0-5-4-2022-01-01"]], "Version 0.5.3 (2022/01/01)": [[9, "version-0-5-3-2022-01-01"]], "Version 0.5.2 (2021/12/19)": [[9, "version-0-5-2-2021-12-19"]], "Version 0.5.1 (2021/11/30)": [[9, "version-0-5-1-2021-11-30"]], "Version 0.5.0 (2021/11/14)": [[9, "version-0-5-0-2021-11-14"]], "Version 0.4.9 (2021/07/16)": [[9, "version-0-4-9-2021-07-16"]], "Version 0.4.8 (2021/07/03)": [[9, "version-0-4-8-2021-07-03"]], "Version 0.4.7 (2021/04/07)": [[9, "version-0-4-7-2021-04-07"]], "Version 0.4.6 (2021/02/21)": [[9, "version-0-4-6-2021-02-21"]], "Version 0.4.5 (2021/02/17)": [[9, "version-0-4-5-2021-02-17"]], "Version 0.4.4 (2021/01/31)": [[9, "version-0-4-4-2021-01-31"]], "Version 0.4.3 (2021/01/10)": [[9, "version-0-4-3-2021-01-10"]], "Version 0.4.2 (2021/01/03)": [[9, "version-0-4-2-2021-01-03"]], "Version 0.4.1 (2020/12/31)": [[9, "version-0-4-1-2020-12-31"]], "Version 0.4.0 - FitTrackee on PyPI (2020/09/19)": [[9, "version-0-4-0-fittrackee-on-pypi-2020-09-19"]], "Version 0.3.0 - Administration (2020/07/15)": [[9, "version-0-3-0-administration-2020-07-15"]], "Version 0.2.5 - Fix and improvements (2020/01/31)": [[9, "version-0-2-5-fix-and-improvements-2020-01-31"]], "Version 0.2.4 - Minor fix (2020/01/30)": [[9, "version-0-2-4-minor-fix-2020-01-30"]], "Version 0.2.3 - FitTrackee available in French (2019/12/29)": [[9, "version-0-2-3-fittrackee-available-in-french-2019-12-29"]], "Version 0.2.2 - Statistics fix (2019/09/23)": [[9, "version-0-2-2-statistics-fix-2019-09-23"]], "Version 0.2.1 - Fix and improvements (2019/09/01)": [[9, "version-0-2-1-fix-and-improvements-2019-09-01"]], "Version 0.2.0 - Statistics (2019/07/07)": [[9, "version-0-2-0-statistics-2019-07-07"]], "Version 0.1.1 - Fix and improvements (2019/02/07)": [[9, "version-0-1-1-fix-and-improvements-2019-02-07"]], "Version 0.1.0 - First release \ud83c\udf89 (2018-07-04)": [[9, "version-0-1-0-first-release-2018-07-04"]], "Command line interface": [[10, "command-line-interface"]], "Database": [[10, "database"]], "ftcli db drop": [[10, "ftcli-db-drop"]], "ftcli db upgrade": [[10, "ftcli-db-upgrade"]], "ftcli oauth2 clean": [[10, "ftcli-oauth2-clean"]], "ftcli users clean_archives": [[10, "ftcli-users-clean-archives"]], "ftcli users clean_tokens": [[10, "ftcli-users-clean-tokens"]], "ftcli users create": [[10, "ftcli-users-create"]], "ftcli users export_archives": [[10, "ftcli-users-export-archives"]], "ftcli users update": [[10, "ftcli-users-update"]], "Account & preferences": [[11, "account-preferences"]], "Administration": [[11, "administration"], [11, "id1"]], "Application": [[11, "application"]], "Screenshots": [[11, "screenshots"]], "Dashboard": [[11, "dashboard"]], "Workout detail": [[11, "workout-detail"]], "Workouts list": [[11, "workouts-list"]], "FitTrackee": [[12, "fittrackee"]], "Table of contents": [[12, "table-of-contents"]], "Installation": [[13, "installation"], [13, "id2"], [13, "id6"]], "Prerequisites": [[13, "prerequisites"]], "Environment variables": [[13, "environment-variables"]], "Emails": [[13, "emails"]], "Map tile server": [[13, "map-tile-server"]], "API rate limits": [[13, "api-rate-limits"]], "Weather data": [[13, "weather-data"]], "From PyPI": [[13, "from-pypi"], [13, "id3"]], "From sources": [[13, "from-sources"], [13, "id4"]], "Dev environment": [[13, "dev-environment"], [13, "id5"]], "Production environment": [[13, "production-environment"]], "Upgrade": [[13, "upgrade"]], "Prod environment": [[13, "prod-environment"]], "Deployment": [[13, "deployment"]], "Docker": [[13, "docker"]], "Development": [[13, "development"]], "Yunohost": [[13, "yunohost"]], "OAuth 2.0": [[14, "oauth-2-0"]], "Scopes": [[14, "scopes"]], "Flow": [[14, "flow"]], "Resources": [[14, "resources"]], "Third-party tools": [[15, "third-party-tools"]], "Administrator": [[16, "administrator"]], "FitTrackee fails to start": [[16, "fittrackee-fails-to-start"]], "Map images are not displayed but map is shown in Workout detail": [[16, "map-images-are-not-displayed-but-map-is-shown-in-workout-detail"]], "Failed to upload or download files": [[16, "failed-to-upload-or-download-files"]], "Troubleshooting": [[17, "troubleshooting"]]}, "indexentries": {"api_rate_limits": [[13, "envvar-API_RATE_LIMITS"]], "app_log": [[13, "envvar-APP_LOG"]], "app_secret_key": [[13, "envvar-APP_SECRET_KEY"]], "app_settings": [[13, "envvar-APP_SETTINGS"]], "app_workers": [[13, "envvar-APP_WORKERS"]], "database_disable_pooling": [[13, "envvar-DATABASE_DISABLE_POOLING"]], "database_url": [[13, "envvar-DATABASE_URL"]], "default_staticmap": [[13, "envvar-DEFAULT_STATICMAP"]], "email_url": [[13, "envvar-EMAIL_URL"]], "flask_app": [[13, "envvar-FLASK_APP"]], "host": [[13, "envvar-HOST"]], "map_attribution": [[13, "envvar-MAP_ATTRIBUTION"]], "port": [[13, "envvar-PORT"]], "redis_url": [[13, "envvar-REDIS_URL"]], "sender_email": [[13, "envvar-SENDER_EMAIL"]], "staticmap_subdomains": [[13, "envvar-STATICMAP_SUBDOMAINS"]], "tile_server_url": [[13, "envvar-TILE_SERVER_URL"]], "ui_url": [[13, "envvar-UI_URL"]], "upload_folder": [[13, "envvar-UPLOAD_FOLDER"]], "vue_app_api_url": [[13, "envvar-VUE_APP_API_URL"]], "weather_api_key": [[13, "envvar-WEATHER_API_KEY"]], "weather_api_provider \ud83c\udd95": [[13, "envvar-WEATHER_API_PROVIDER"]], "workers_processes": [[13, "envvar-WORKERS_PROCESSES"]], "environment variable": [[13, "envvar-API_RATE_LIMITS"], [13, "envvar-APP_LOG"], [13, "envvar-APP_SECRET_KEY"], [13, "envvar-APP_SETTINGS"], [13, "envvar-APP_WORKERS"], [13, "envvar-DATABASE_DISABLE_POOLING"], [13, "envvar-DATABASE_URL"], [13, "envvar-DEFAULT_STATICMAP"], [13, "envvar-EMAIL_URL"], [13, "envvar-FLASK_APP"], [13, "envvar-HOST"], [13, "envvar-MAP_ATTRIBUTION"], [13, "envvar-PORT"], [13, "envvar-REDIS_URL"], [13, "envvar-SENDER_EMAIL"], [13, "envvar-STATICMAP_SUBDOMAINS"], [13, "envvar-TILE_SERVER_URL"], [13, "envvar-UI_URL"], [13, "envvar-UPLOAD_FOLDER"], [13, "envvar-VUE_APP_API_URL"], [13, "envvar-WEATHER_API_KEY"], [13, "envvar-WEATHER_API_PROVIDER"], [13, "envvar-WORKERS_PROCESSES"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["api/auth", "api/configuration", "api/index", "api/oauth2", "api/records", "api/sports", "api/stats", "api/users", "api/workouts", "changelog", "cli", "features", "index", "installation", "oauth", "third_party_tools", "troubleshooting/administrator", "troubleshooting/index"], "filenames": ["api/auth.rst", "api/configuration.rst", "api/index.rst", "api/oauth2.rst", "api/records.rst", "api/sports.rst", "api/stats.rst", "api/users.rst", "api/workouts.rst", "changelog.md", "cli.rst", "features.rst", "index.rst", "installation.rst", "oauth.rst", "third_party_tools.rst", "troubleshooting/administrator.rst", "troubleshooting/index.rst"], "titles": ["Authentication and account", "Configuration", "API documentation", "OAuth2", "Records", "Sports", "Statistics", "Users", "Workouts", "Change log", "Command line interface", "Features", "FitTrackee", "Installation", "OAuth 2.0", "Third-party tools", "Administrator", "Troubleshooting"], "terms": {"post": [0, 3, 8, 14], "api": [0, 1, 3, 4, 5, 6, 7, 8, 9, 11, 12, 14], "auth": [0, 1, 3, 4, 5, 6, 7, 8, 13, 14], "regist": [0, 1, 9, 11, 13], "user": [0, 1, 2, 3, 4, 5, 6, 8, 9, 13, 14], "send": [0, 7, 9, 11, 13], "confirm": [0, 3, 9, 11, 13], "email": [0, 1, 7, 9, 10, 11, 16], "The": [0, 9, 10, 11, 13, 14, 16], "newli": [0, 10, 13], "creat": [0, 3, 8, 9, 11, 13, 14], "i": [0, 1, 3, 8, 9, 10, 11, 12, 13, 14, 17], "inact": [0, 7, 11, 13], "must": [0, 1, 3, 5, 7, 8, 9, 11, 13, 14, 16], "hi": [0, 7, 9, 11], "activ": [0, 5, 7, 9, 10, 11, 12, 13], "exampl": [0, 1, 3, 4, 5, 6, 7, 8, 9, 12, 13, 14], "request": [0, 1, 3, 4, 5, 6, 7, 8, 10, 11, 13, 14], "http": [0, 1, 3, 4, 5, 6, 7, 8, 13, 14], "1": [0, 1, 3, 4, 5, 6, 7, 8, 11, 13], "content": [0, 1, 3, 4, 5, 6, 7, 8, 9], "type": [0, 1, 3, 4, 5, 6, 7, 8, 9, 13], "applic": [0, 1, 3, 4, 5, 6, 7, 8, 9, 12, 13, 14], "json": [0, 1, 3, 4, 5, 6, 7, 8, 11], "respons": [0, 1, 3, 4, 5, 6, 7, 8], "success": [0, 1, 3, 4, 5, 6, 7, 8], "200": [0, 1, 3, 4, 5, 6, 7, 8, 9, 13], "statu": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11], "error": [0, 1, 3, 5, 7, 8, 9, 11, 13, 16], "registr": [0, 1, 9, 10, 11, 13, 14], "400": [0, 1, 3, 5, 7, 8, 9], "bad": [0, 1, 3, 5, 7, 8], "messag": [0, 1, 3, 8, 9, 10, 11, 13], "valid": [0, 1, 3, 4, 5, 6, 7, 8, 9, 13, 16], "provid": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16], "n": 0, "object": [0, 1, 5, 7, 8], "usernam": [0, 6, 7, 9, 10, 13], "string": [0, 1, 3, 5, 6, 7, 8, 13, 14], "3": [0, 5, 6, 7, 8, 11, 13], "30": [0, 6], "charact": [0, 9], "requir": [0, 9, 13, 14], "password": [0, 7, 9, 10, 11, 13], "8": [0, 8, 11, 13], "lang": [0, 9], "languag": [0, 7, 9, 11], "prefer": [0, 7, 9], "invalid": [0, 1, 3, 4, 5, 6, 7, 8, 9, 13], "fallback": 0, "en": [0, 7], "english": [0, 9, 11], "accepted_polici": 0, "boolean": [0, 1, 3, 7, 10], "true": [0, 1, 3, 5, 7, 9, 13], "accept": 0, "privaci": [0, 1, 9, 11], "polici": [0, 1, 9, 11], "code": [0, 1, 3, 4, 5, 6, 7, 8, 9, 14], "ok": [0, 1, 3, 4, 5, 6, 7, 8], "payload": [0, 1, 3, 5, 7, 8], "sorri": 0, "alreadi": [0, 10], "taken": [0, 11], "you": [0, 1, 5, 6, 7, 8, 11, 12, 13], "agre": [0, 9, 11], "onli": [0, 3, 7, 8, 9, 10, 11, 13, 14], "alphanumer": [0, 9], "underscor": 0, "_": [0, 9], "allow": [0, 1, 8, 9, 10, 11, 12, 13, 14], "403": [0, 1, 5, 6, 7, 8], "forbidden": [0, 1, 5, 6, 7, 8], "disabl": [0, 9, 10, 11, 13], "500": [0, 1, 5, 7, 8, 9], "intern": [0, 1, 5, 7, 8], "server": [0, 1, 5, 7, 8, 9, 11, 12], "pleas": [0, 1, 3, 4, 5, 6, 7, 8, 9], "try": [0, 5, 7, 8], "again": [0, 1, 3, 4, 5, 6, 7, 8], "contact": [0, 1, 5, 7, 8, 11], "administr": [0, 1, 5, 7, 8, 14, 17], "after": [0, 3, 9, 11, 13, 14], "auth_token": 0, "web": [0, 12, 13, 14], "token": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 14], "resend": 0, "instruct": [0, 9, 11, 13], "If": [0, 3, 11, 13, 14], "thi": [0, 3, 8, 9, 10, 11, 12, 13], "endpoint": [0, 1, 3, 9, 13, 14], "avail": [0, 4, 10, 11, 13, 14, 15], "resent": 0, "404": [0, 3, 5, 6, 7, 8, 9], "Not": [0, 3, 5, 6, 7, 8], "found": [0, 3, 5, 6, 7, 8, 9], "url": [0, 3, 9, 13, 14, 16], "wa": [0, 9], "login": 0, "an": [0, 1, 3, 5, 7, 9, 11, 13, 14, 16], "can": [0, 7, 9, 10, 11, 12, 13, 14, 16], "log": [0, 1, 3, 4, 5, 6, 7, 8, 11, 12, 13, 16], "successfulli": 0, "401": [0, 1, 3, 4, 5, 6, 7, 8, 9], "unauthor": [0, 1, 3, 4, 5, 6, 7, 8], "credenti": [0, 13], "get": [0, 1, 3, 4, 5, 6, 7, 8, 14], "profil": [0, 3, 9, 14], "info": [0, 9, 11], "scope": [0, 1, 3, 4, 5, 6, 7, 8], "read": [0, 3, 4, 5, 6, 7, 8, 9, 14], "data": [0, 1, 3, 4, 5, 6, 7, 8, 9, 11, 12, 14], "accepted_privacy_polici": 0, "admin": [0, 1, 4, 5, 6, 7, 8, 9, 10, 11, 13], "fals": [0, 1, 3, 5, 7, 8, 13], "bio": [0, 7], "null": [0, 1, 5, 7, 8, 9], "birth_dat": [0, 7], "created_at": [0, 7], "sun": [0, 4, 7, 8], "14": [0, 3, 7, 8, 11], "jul": [0, 4, 7, 8], "2019": [0, 4, 6, 7, 8], "09": [0, 7], "58": [0, 7, 9], "gmt": [0, 3, 4, 7, 8], "date_format": 0, "dd": 0, "mm": 0, "yyyi": 0, "display_asc": 0, "sam": [0, 4, 7, 8], "com": [0, 1, 3, 7, 9, 13, 14], "email_to_confirm": 0, "first_nam": [0, 7], "imperial_unit": [0, 7], "is_act": [0, 5, 7], "last_nam": [0, 7], "locat": [0, 7, 13], "nb_sport": [0, 7], "nb_workout": [0, 6, 7], "6": [0, 5, 7, 8, 10, 11, 13], "pictur": [0, 7, 8, 9], "record": [0, 2, 7, 8, 9, 11], "id": [0, 3, 4, 5, 6, 7, 8, 14], "9": [0, 4, 7, 11, 13], "record_typ": [0, 4, 7, 8], "AS": [0, 4, 7, 8], "sport_id": [0, 4, 5, 6, 7, 8], "valu": [0, 3, 4, 7, 8, 9, 11, 13, 14, 16], "18": [0, 4, 7, 8, 11], "workout_d": [0, 4, 7, 8], "07": [0, 4, 7, 8], "08": [0, 4, 7, 8], "00": [0, 4, 7, 8], "workout_id": [0, 4, 7, 8], "hvybqybra7wwxpastwr4v2": [0, 4, 7, 8], "10": [0, 1, 4, 7, 8, 11, 13], "fd": [0, 4, 7, 8], "13": [0, 4, 7, 8, 10, 11, 13], "ha": [0, 4, 7, 8, 9, 11, 12], "43": [0, 4, 7, 8, 9], "97": [0, 4, 7, 8, 9], "11": [0, 4, 7, 11, 13], "ld": [0, 4, 7, 8], "01": [0, 4, 6, 7, 8], "12": [0, 4, 7, 8], "m": [0, 4, 6, 7, 8], "sports_list": [0, 7], "4": [0, 5, 6, 7, 8, 11, 13], "start_elevation_at_zero": 0, "timezon": [0, 7, 8, 9, 11], "europ": [0, 7], "pari": [0, 7], "total_asc": [0, 6], "720": 0, "35": [0, 9], "total_dist": [0, 6, 7], "67": [0, 7], "895": [0, 7], "total_dur": [0, 6, 7], "50": [0, 7, 9, 13], "27": [0, 3, 7], "use_raw_gpx_spe": 0, "weekm": [0, 6, 7], "header": [0, 1, 3, 4, 5, 6, 7, 8, 14], "author": [0, 1, 3, 4, 5, 6, 7, 8, 13, 14], "oauth": [0, 1, 3, 4, 5, 6, 7, 8, 9, 12, 13], "2": [0, 1, 3, 4, 5, 6, 7, 8, 11, 12, 13], "0": [0, 1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13], "bearer": [0, 1, 3, 4, 5, 6, 7, 8], "signatur": [0, 1, 3, 4, 5, 6, 7, 8], "expir": [0, 1, 3, 4, 5, 6, 7, 8, 10], "edit": [0, 9, 11], "write": [0, 1, 3, 5, 7, 8, 14], "updat": [0, 1, 5, 7, 8, 9, 11, 13], "first": [0, 3, 11, 14], "name": [0, 3, 7, 9, 13], "last": [0, 9, 13], "biographi": 0, "birth": [0, 9], "date": [0, 6, 8, 9, 11], "format": [0, 6, 8, 9, 11], "y": [0, 6, 8, 13], "d": [0, 6, 8], "support": [0, 3, 9, 11, 13, 14, 16], "default": [0, 3, 6, 7, 8, 9, 11, 13], "date_str": 0, "correspond": [0, 13], "client": [0, 3, 9, 11, 13, 14], "mmm": 0, "do": [0, 1, 5, 6, 7, 8, 13], "local": [0, 9, 12, 13], "e": 0, "fr": [0, 7, 13], "gl": 0, "nl": 0, "de": [0, 13], "nb": 0, "us": [0, 3, 7, 8, 9, 10, 11, 12, 13, 14], "displai": [0, 8, 9, 10, 11, 12, 13, 14, 17], "app": [0, 3, 9, 11, 12, 13, 14], "highest": [0, 4, 11], "ascent": [0, 4, 8, 9, 11], "total": [0, 3, 9, 11], "distanc": [0, 4, 8, 9, 11], "imperi": [0, 9, 11], "unit": [0, 9, 13], "elev": [0, 8, 9, 11, 13], "plot": 0, "start": [0, 6, 8, 9, 11, 13, 17], "zero": [0, 9, 11], "time": [0, 6, 8, 9, 11], "zone": 0, "unfilt": 0, "gpx": [0, 3, 8, 9, 11, 12, 13, 15], "calcul": [0, 9, 11], "speed": [0, 4, 8, 9, 11, 13], "doe": [0, 6, 7, 8, 9], "week": [0, 6, 9, 11], "mondai": [0, 6, 11], "don": 0, "t": [0, 9, 16], "match": [0, 8, 9], "sport": [0, 2, 6, 8, 9, 13], "color": [0, 5, 9, 11], "000000": 0, "stopped_speed_threshold": [0, 5], "user_id": 0, "hexadecim": 0, "when": [0, 1, 9, 10, 11, 13], "ad": [0, 9, 10, 11], "workout": [0, 2, 3, 4, 5, 6, 9, 12, 14, 15, 17], "float": [0, 8], "stop": [0, 9, 11, 13], "threshold": [0, 9, 11], "gpxpy": [0, 11, 13], "exist": [0, 6, 7, 8, 9, 11, 12, 13], "delet": [0, 3, 7, 8, 9, 10, 11], "reset": [0, 7, 9, 10, 11, 13], "given": [0, 3], "204": [0, 3, 7, 8], "paramet": [0, 3, 5, 6, 7, 8, 9, 11, 13, 14], "No": [0, 3, 7, 8, 9, 12], "multipart": [0, 3, 8], "form": [0, 3, 8], "file": [0, 1, 8, 9, 10, 11, 12, 13, 15, 17], "imag": [0, 7, 8, 9, 11, 13, 17], "extens": [0, 8, 13], "jpg": 0, "png": [0, 8, 13], "gif": 0, "part": [0, 8], "select": [0, 8, 11], "413": [0, 8], "entiti": [0, 8], "too": [0, 8], "larg": [0, 8, 11, 13], "dure": [0, 8], "size": [0, 1, 8, 9, 11, 13], "exce": [0, 8, 9], "0mb": [0, 8], "NO": [0, 3, 7, 8], "handl": [0, 9, 11, 13, 16], "process": [0, 9, 10, 13], "patch": [0, 1, 5, 7, 8], "It": [0, 7, 9, 11, 12, 14], "enabl": [0, 1, 7, 11, 13], "chang": [0, 11, 12, 13], "one": [0, 7, 8, 11], "current": [0, 9], "address": [0, 11, 13], "inform": [0, 1, 9, 11, 12, 13], "anoth": [0, 7, 11, 13], "new": [0, 7, 10, 11, 13, 14], "new_password": 0, "miss": [0, 9], "logout": [0, 9], "blacklist": [0, 10], "out": 0, "access": [0, 3, 9, 13, 14], "revok": [0, 3], "malform": 0, "other": [0, 7, 13], "reason": 0, "export": [0, 9, 10, 11, 12, 13], "return": [0, 3, 4, 7, 8, 9, 13], "creation": [0, 9, 11], "in_progress": 0, "byte": 0, "wed": 0, "mar": 0, "2023": [0, 13], "31": [0, 8, 13], "17": [0, 8], "file_nam": 0, "archive_rgjsr3fht295ywnqr5yp": 0, "zip": [0, 1, 8, 9, 11], "file_s": 0, "924": 0, "ongo": 0, "complet": [0, 9], "download": [0, 8, 9, 11, 13, 17], "archiv": [0, 1, 9, 10, 11, 13], "archive_rgjsr3fhr5yp": 0, "x": [0, 8, 9, 13, 14], "gzip": 0, "filenam": 0, "config": [1, 9, 13, 16], "about": [1, 9, 11, 13, 14], "admin_contact": 1, "gpx_limit_import": 1, "is_email_sending_en": 1, "is_registration_en": 1, "max_single_file_s": 1, "1048576": 1, "max_us": 1, "max_zip_file_s": 1, "10485760": 1, "map_attribut": [1, 13], "copi": [1, 13], "href": [1, 13], "www": [1, 13], "openstreetmap": [1, 9, 13], "org": [1, 13], "copyright": [1, 13], "contributor": [1, 9, 13, 15], "privacy_polici": 1, "privacy_policy_d": 1, "version": [1, 10, 11, 13], "7": [1, 8, 10, 11, 13, 14], "21": [1, 13], "weather_provid": 1, "authent": [1, 2, 3, 4, 5, 7, 8, 14], "instanc": [1, 3, 9, 11, 13, 14], "integ": [1, 3, 5, 6, 7, 8], "max": [1, 7, 8, 9, 10], "number": [1, 7, 8, 9, 10, 11, 13], "singl": [1, 7, 9, 11, 13], "have": [1, 5, 6, 7, 8, 9], "permiss": [1, 5, 6, 7, 8], "ping": 1, "health": 1, "check": [1, 9, 13, 16], "pong": 1, "account": [2, 7, 9, 10, 13, 15], "configur": [2, 9, 11, 13, 14], "oauth2": [2, 14], "statist": 2, "pagin": [3, 7, 8], "5": [3, 5, 6, 7, 8, 10, 11, 13], "page": [3, 7, 8, 9, 11], "fittracke": [3, 10, 11, 13, 14, 15, 17], "parti": [3, 11, 12, 14], "without": [3, 6, 7, 8, 9, 11, 12], "client_descript": 3, "client_id": [3, 14], "o22a27s2abpuoxjbxv3ujdox": 3, "issued_at": 3, "thu": 3, "juli": 3, "2022": 3, "06": [3, 6], "53": [3, 9], "import": [3, 9, 11, 13, 15], "redirect_uri": 3, "callback": [3, 14], "websit": 3, "has_next": 3, "has_prev": 3, "queri": [3, 6, 7, 8], "client_secret": 3, "secret": [3, 13, 14], "client_nam": 3, "client_uri": 3, "arrai": 3, "list": [3, 9, 12, 13], "redirect": [3, 14], "descript": [3, 10, 13], "option": [3, 9, 10, 13, 14], "client_client_id": 3, "NOT": [3, 5, 8], "int": [3, 5, 8], "by_id": 3, "all": [3, 4, 5, 6, 7, 8, 9, 11, 13], "associ": 3, "issu": [3, 12, 13], "response_typ": [3, 14], "state": [3, 14], "uniqu": [3, 14], "prevent": [3, 13, 14], "cross": [3, 11, 13, 14], "site": [3, 14], "forgeri": [3, 14], "mandatori": [3, 8, 9, 10, 13, 14], "recommend": [3, 13, 14], "code_challeng": [3, 14], "gener": [3, 9, 10, 11, 13, 14], "from": [3, 6, 8, 9, 11, 12, 14, 15], "verifi": [3, 14], "pkce": [3, 14], "code_challenge_method": [3, 14], "method": [3, 13, 14], "challeng": [3, 14], "s256": [3, 14], "authlib": [3, 13, 14], "librari": [3, 13, 14], "refresh": [3, 9], "access_token": 3, "roehv64thcg28wcewzhrnvlusoduvw8nvnhkcml57": 3, "expires_in": 3, "864000": 3, "refresh_token": 3, "nuv9cy8vqonrqkhtz5pqaq2zw7msh0mornpjr14amswd6f6i": 3, "token_typ": 3, "expires_at": 3, "1658660147": 3, "0667062": 3, "grant_typ": 3, "grant": [3, 14], "authorization_cod": [3, 14], "ar": [3, 4, 8, 9, 10, 11, 12, 13, 14, 15, 17], "code_verifi": 3, "follow": [4, 10, 11, 13, 14, 15, 16], "averag": [4, 8, 9, 11], "farthest": [4, 9, 11], "longest": [4, 9, 11], "durat": [4, 8, 9, 11], "maximum": [4, 9, 10, 11], "non": [5, 12], "is_active_for_us": 5, "label": [5, 9], "cycl": [5, 9, 11], "transport": [5, 9, 11], "hike": [5, 9, 11], "mountain": [5, 9, 11], "bike": [5, 8, 9, 11], "run": [5, 9, 10, 11, 13, 14], "walk": [5, 9, 11], "has_workout": 5, "stat": [6, 9], "user_nam": [6, 7], "by_tim": 6, "2018": [6, 8], "2017": [6, 8], "average_spe": 6, "48": 6, "203": 6, "156": [6, 9], "15": [6, 8, 10, 11, 13], "282": [6, 9], "12341": 6, "16": [6, 8, 11, 13], "99": [6, 9], "150": 6, "178": [6, 9], "47": [6, 8, 9], "9960": 6, "95": [6, 9], "46": [6, 9], "78": 6, "613": 6, "1267": 6, "end": [6, 8], "frame": 6, "sundai": [6, 8, 11], "month": [6, 9, 11], "year": [6, 11], "by_sport": 6, "uploads_dir_s": 6, "1000": 6, "regardless": 7, "right": [7, 9, 10, 11, 13, 14], "some": [7, 8, 9, 11, 12, 13, 14], "order_bi": [7, 8], "workouts_count": 7, "par_pag": 7, "is_admin": 7, "sat": 7, "20": [7, 11], "03": [7, 8], "per_pag": [7, 8], "per": [7, 8, 9, 13], "q": 7, "order": [7, 8, 9, 14], "sort": [7, 8, 11], "asc": [7, 8], "desc": [7, 8], "criteria": [7, 8], "detail": [7, 9, 13, 17], "jpeg": 7, "add": [7, 9, 10, 11, 12], "remov": [7, 9, 10, 11], "modifi": [7, 9, 10, 13], "new_email": 7, "reset_password": 7, "differ": [7, 9, 11], "than": [7, 9, 10], "curent": 7, "A": [7, 9, 10, 11, 13, 16], "own": [7, 11, 12], "except": [7, 11, 13, 16], "he": 7, "": [7, 8, 9, 11, 13], "john_do": 7, "your": [7, 11, 12, 13], "02": 8, "least": 8, "ave_spe": 8, "bound": 8, "creation_d": 8, "51": 8, "descent": [8, 9, 11], "04": 8, "kjxavsturjvoah2wvcegef": 8, "map": [8, 9, 11, 12, 17], "max_alt": 8, "max_spe": 8, "min_alt": 8, "modification_d": 8, "move": [8, 9], "next_workout": 8, "note": [8, 9, 11, 13], "paus": [8, 9], "previous_workout": 8, "mon": 8, "jan": 8, "segment": [8, 9, 11], "titl": [8, 9, 11], "weather_end": 8, "weather_start": 8, "with_gpx": 8, "100": [8, 9, 11], "ani": [8, 13], "case": [8, 11, 13], "insensit": [8, 13], "distance_from": 8, "minim": [8, 14], "distance_to": 8, "maxim": 8, "duration_from": 8, "h": [8, 11], "duration_to": 8, "ave_speed_from": 8, "ave_speed_to": 8, "max_speed_from": 8, "max_speed_to": 8, "workout_short_id": 8, "57": [8, 9], "45": 8, "22": 8, "morn": 8, "short": 8, "leaflet": [8, 13], "chart_data": 8, "chart": [8, 9, 11, 13], "j": [8, 9, 13], "279": [8, 9], "latitud": 8, "5078118": 8, "longitud": 8, "1232004": 8, "63": 8, "fri": 8, "44": [8, 9], "7380": 8, "280": [8, 9], "5079733": 8, "1234538": 8, "39": 8, "segment_id": 8, "map_id": 8, "fa33f4d996844a5c73ecd1ae24456ab8": 8, "1563529507772": 8, "map_til": 8, "z": [8, 13], "tile": [8, 9, 11], "c": [8, 13], "4109": 8, "2930": 8, "subdomain": [8, 9, 13], "zoom": 8, "index": 8, "along": 8, "axi": [8, 9, 11], "xml": 8, "201": [8, 9], "doubl": 8, "quot": 8, "escap": 8, "no_gpx": 8, "uuid": [8, 9], "km": [8, 11], "second": 8, "407": 9, "pr": 9, "409": 9, "ci": 9, "action": 9, "open": [9, 11, 12, 13], "water": [9, 11], "swim": [9, 11], "398": 9, "dropdown": [9, 11], "402": 9, "399": 9, "galician": [9, 11], "polish": [9, 11], "406": 9, "spanish": [9, 11], "dutch": [9, 11], "german": [9, 11], "italian": [9, 11], "85": 9, "norwegian": [9, 11], "bokm\u00e5l": [9, 11], "56": 9, "thank": [9, 15], "gallegonovato": 9, "xmgz": 9, "mariusz": 9, "contain": [9, 11, 13], "databas": [9, 11, 13, 16], "migrat": [9, 10, 13], "see": [9, 11, 12, 13, 14, 16], "upgrad": 9, "380": 9, "link": [9, 13], "390": 9, "ui": 9, "391": 9, "paraglid": [9, 11], "384": 9, "inconsist": 9, "between": [9, 11], "gp": [9, 11], "393": 9, "pil": 9, "modul": [9, 13], "attribut": [9, 13], "antialia": 9, "394": 9, "397": 9, "386": 9, "contribut": 9, "md": 9, "388": 9, "typo": 9, "395": 9, "test": [9, 13], "packag": [9, 13], "cc3fe1c": 9, "python": [9, 13, 14], "postgresql": [9, 13, 16], "98": 9, "42": 9, "dkm": 9, "interfac": [9, 12, 13], "partial": 9, "now": [9, 10, 11, 13], "yet": [9, 12], "weblat": [9, 11], "longer": [9, 16], "minimum": [9, 11], "351": 9, "370": 9, "bjornclauw": 9, "371": 9, "375": 9, "thovi98": 9, "376": 9, "qwerty287": 9, "1375986": 9, "theme": 9, "furo": 9, "377": 9, "init": [9, 13], "354": 9, "drop": 9, "374": 9, "docker": 9, "instal": [9, 12], "virtualenv": [9, 13], "87": 9, "36": 9, "366": 9, "369": 9, "host": [9, 13], "367": 9, "358": 9, "filter": [9, 11], "359": 9, "footer": 9, "overlap": 9, "350": 9, "352": 9, "356": 9, "357": 9, "365": 9, "gnu": 9, "ewm": 9, "jat255": 9, "among": 9, "below": [9, 13], "darkski": [9, 13], "sinc": [9, 13, 14], "servic": [9, 13], "shut": [9, 13], "down": [9, 13], "march": [9, 13], "319": 9, "cli": [9, 10, 11, 13], "329": 9, "make": [9, 13], "sticki": 9, "333": 9, "338": 9, "relev": 9, "328": 9, "altitud": [9, 11], "track": [9, 12], "incorrect": 9, "b29ed7a": 9, "dashboard": 9, "250": 9, "320": 9, "323": 9, "06ba975": 9, "bcc568e": 9, "ea0ac99": 9, "a458f5f": 9, "075aeb9": 9, "60e164d": 9, "318": 9, "weather": [9, 11], "comradekingu": 9, "lavoi": 9, "mondstern": 9, "314": 9, "fail": [9, 17], "315": 9, "custom": [9, 11, 13], "defin": [9, 11], "review": [9, 11], "upload": [9, 10, 11, 13, 15, 17], "lastli": 9, "addit": [9, 11, 13], "mai": [9, 11, 12, 13], "301": [9, 13], "304": 9, "305": 9, "307": 9, "modal": 9, "posit": [9, 11], "297": 9, "308": 9, "310": 9, "290": 9, "294": 9, "postgresql10": 9, "depend": [9, 13], "265": 9, "implement": [9, 14], "altern": 9, "visualcross": 9, "environ": [9, 10, 16], "variabl": [9, 16], "set": [9, 10, 11, 13, 14, 16], "weather_api_provid": [9, 13], "287": 9, "289": 9, "dperruso": 9, "92": 9, "c88a515": 9, "f96dcef": 9, "278": 9, "270": 9, "nederland": 9, "258": 9, "pars": [9, 13], "area": 9, "271": 9, "273": 9, "274": 9, "parallel": 9, "275": 9, "worker": [9, 10, 13, 16], "entri": [9, 13], "point": [9, 13], "fittrackee_work": [9, 10, 13], "command": [9, 11, 12, 13], "flask": [9, 13], "dramatiq": [9, 10, 13], "3c8d9c2": 9, "trail": [9, 11], "comma": [9, 13], "dev": 9, "264": 9, "white": 9, "grai": 9, "background": 9, "266": 9, "260": 9, "261": 9, "should": [9, 13], "limit": [9, 11], "still": [9, 11, 12, 13], "need": [9, 11, 13, 14], "89": 9, "b1536fc": 9, "257": 9, "bodi": [9, 13, 14], "nginx": [9, 11, 13, 14, 16], "112": 9, "244": 9, "virtual": [9, 11], "ride": 9, "246": 9, "247": 9, "microsecond": 9, "252": 9, "242": 9, "241": 9, "strength": 9, "estim": 9, "239": 9, "cb9d02f": 9, "88": 9, "231": 9, "236": 9, "rate": 9, "232": 9, "hidden": [9, 11], "237": 9, "212": 9, "230": 9, "problem": 9, "225": 9, "grammar": 9, "skylan0916": 9, "In": [9, 11], "execut": 9, "lower": 9, "v0": [9, 13], "postgr": [9, 16], "213": 9, "measur": 9, "ft": 9, "mi": 9, "223": 9, "icon": [9, 13], "167": 9, "162": 9, "fmstrat": 9, "210": 9, "could": 9, "staticmap_subdomain": [9, 13], "209": 9, "multipl": 9, "gorgobacka": 9, "And": 9, "detect": 9, "browser": 9, "208": 9, "card": 9, "html": 9, "197": 9, "196": 9, "manag": [9, 10, 13], "tool": [9, 12, 13], "190": 9, "were": 9, "193": 9, "192": 9, "instead": [9, 11], "191": 9, "layout": 9, "includ": 9, "195": 9, "affect": [9, 11], "previous": 9, "cc4287e": 9, "env": [9, 13], "offset": 9, "refacto": 9, "befor": [9, 13], "introduc": 9, "possibl": [9, 11, 12, 13], "smtp": [9, 13], "reduc": 9, "pre": 9, "requisit": 9, "To": [9, 13, 14], "180": 9, "cannot": [9, 11], "tl": [9, 13], "177": 9, "small": 9, "screen": [9, 11], "175": 9, "173": 9, "171": 9, "correctli": 9, "sent": [9, 11, 13, 14], "155": 9, "106": 9, "169": 9, "161": 9, "160": 9, "sever": [9, 11, 12, 13], "danielsiersleben": 9, "report": 9, "initi": [9, 13], "149": 9, "initialis": [9, 13], "152": 9, "autoescap": 9, "jinja": 9, "templat": 9, "151": 9, "sanit": 9, "input": 9, "serv": [9, 13], "warn": [9, 11], "launch": 9, "w": 9, "script": 9, "entrypoint": 9, "avoid": 9, "product": 9, "dotenv": 9, "146": 9, "145": 9, "model": 9, "140": 9, "fullscreen": 9, "control": [9, 11, 13], "138": 9, "135": 9, "finish": 9, "marker": 9, "134": 9, "wind": [9, 11], "direct": [9, 11], "877fa0f": 9, "calendar": [9, 11], "resolut": 9, "131": 9, "129": 9, "127": [9, 13], "legitim": 9, "uri": 9, "localhost": [9, 13], "123": 9, "121": 9, "snowsho": [9, 11], "116": 9, "better": [9, 14], "button": 9, "graph": 9, "115": 9, "91": 9, "min": 9, "90": 9, "seem": 9, "104": 9, "switch": 9, "agplv3": 9, "licens": [9, 12, 13], "101": 9, "full": [9, 11], "develop": [9, 10, 12], "109": 9, "slow": 9, "movement": 9, "84": 9, "93": 9, "paf38": 9, "83": 9, "static": [9, 11, 13], "keep": [9, 12, 13], "default_staticmap": [9, 13], "81": 9, "remain": 9, "textarea": 9, "82": 9, "dai": [9, 10, 11, 13], "80": [9, 13], "save": [9, 11], "79": 9, "rebuild": 9, "75": 9, "same": [9, 11], "javascript": [9, 13], "due": 9, "sqlalchemi": [9, 13, 16], "engin": [9, 13, 16], "database_url": [9, 13, 16], "72": 9, "exceed": 9, "71": 9, "greater": 9, "70": 9, "less": 9, "66": 9, "64": 9, "shown": [9, 14, 17], "62": 9, "refactor": 9, "evalu": [9, 13], "purpos": [9, 13], "standard": [9, 13], "term": [9, 13], "directori": [9, 11, 13], "also": [9, 10, 11, 12, 13], "59": 9, "major": 9, "becom": 9, "more": [9, 10, 11, 12, 13], "easi": 9, "been": [9, 12], "renam": 9, "layer": [9, 13], "replac": [9, 13], "thunderforest": [9, 13], "outdoor": [9, 11, 12, 13], "54": 9, "simplifi": [9, 14], "redi": [9, 10, 13], "side": 9, "4c3fc34": 9, "empti": [9, 10, 13], "34614d5": 9, "spinner": 9, "load": [9, 16], "b862a77": 9, "2e1ee2c": 9, "interceptor": 9, "rout": [9, 13], "definit": 9, "weekend": 9, "40": 9, "i18n": 9, "41": 9, "show": [9, 10, 13], "mous": 9, "over": 9, "choos": [9, 11], "33": 9, "37": 9, "34": 9, "anymor": 9, "poetri": [9, 13], "pipenv": 9, "28": 9, "26": 9, "tooltip": [9, 11], "even": [9, 11], "enter": [9, 11], "kei": [9, 11, 13], "search": 9, "owner": [9, 11, 13], "view": [9, 11, 13], "usag": [10, 13], "arg": [10, 13], "help": [10, 13], "exit": [10, 13], "deprec": 10, "next": [10, 11], "fittrackee_set_admin": 10, "fittrackee_upgrade_db": 10, "appli": 10, "relat": [10, 11, 13, 14], "argument": 10, "random": 10, "incomplet": 10, "store": [11, 12, 14], "For": [11, 13, 14], "kind": 11, "encrypt": 11, "With": [11, 13], "street": [11, 12], "electr": 11, "19": 11, "row": 11, "ski": 11, "alpin": 11, "countri": 11, "overridden": 11, "analyz": 11, "wai": [11, 13], "specif": [11, 13], "moment": 11, "which": 11, "up": [11, 12], "metric": 11, "system": [11, 13], "origin": 11, "particular": 11, "visual": [11, 13], "sourc": 11, "arrow": 11, "indic": 11, "come": 11, "period": [11, 13], "recent": 11, "On": [11, 13], "line": [11, 12, 13], "hide": 11, "exclud": 11, "extrem": 11, "overrid": 11, "appear": 11, "third": [11, 12, 14], "individu": 11, "necessari": [11, 13], "like": [11, 13], "markdown": 11, "syntax": 11, "adapt": [11, 13], "discours": 11, "lock": 11, "via": 11, "french": 11, "releas": [11, 13], "mobil": 12, "them": 12, "android": 12, "exhaust": 12, "runner": 12, "gpl": 12, "v3": 12, "opentrack": 12, "apach": 12, "fitotrack": 12, "under": [12, 13], "heavi": [12, 13], "featur": [12, 13], "unstabl": [12, 13], "document": [12, 13, 14, 16], "troubleshoot": 12, "written": 13, "typescript": 13, "staticmap": 13, "coordin": 13, "task": 13, "queue": 13, "vue3": 13, "vuex": 13, "logo": 13, "made": 13, "freepik": 13, "flaticon": 13, "fork": 13, "awesom": 13, "node": 13, "yarn": 13, "compos": 13, "step": 13, "describ": 13, "linux": 13, "debian": 13, "arch": 13, "o": 13, "encount": 13, "makefil": 13, "thei": [13, 14], "flask_app": 13, "pwd": 13, "__main__": 13, "py": 13, "els": 13, "port": 13, "5000": 13, "app_set": 13, "productionconfig": 13, "app_secret_kei": 13, "strong": 13, "jwt": 13, "app_work": 13, "spawn": 13, "gunicorn": [13, 16], "app_log": 13, "path": [13, 16], "upload_fold": [13, 16], "absolut": [13, 16], "where": 13, "folder": 13, "application_directori": 13, "5432": 13, "begin": 13, "database_disable_pool": 13, "pool": 13, "directli": 13, "ui_url": 13, "email_url": [13, 16], "sender_email": 13, "sender": 13, "redis_url": 13, "workers_process": 13, "api_rate_limit": 13, "300": 13, "minut": 13, "tile_server_url": 13, "b": 13, "osm": 13, "franc": 13, "target": 13, "_blank": 13, "rel": 13, "noopen": 13, "noreferr": 13, "komoot": 13, "otherwis": 13, "weather_api_kei": 13, "weather_api": 13, "vue_app_api_url": 13, "unencrypt": 13, "25": 13, "ssl": 13, "465": 13, "starttl": 13, "587": 13, "office365": 13, "work": 13, "omit": 13, "old": 13, "adress": 13, "notif": 13, "readi": 13, "apikei": 13, "xxxx": 13, "expect": 13, "osmfr": 13, "fond": 13, "cart": 13, "par": 13, "mention": 13, "legal": 13, "nofollow": 13, "sou": 13, "nbsp": 13, "creativecommon": 13, "sa": 13, "licenc": 13, "cc": 13, "BY": 13, "chosen": 13, "randomli": 13, "base": 13, "ip": 13, "fix": 13, "window": 13, "strategi": 13, "subject": 13, "asset": 13, "notat": 13, "separ": [13, 14], "hour": 13, "mainten": 13, "diagnost": 13, "util": 13, "commmand": 13, "clear": 13, "enumer": 13, "histor": 13, "hourli": 13, "discontinu": 13, "pip": 13, "WITH": 13, "schema": 13, "privileg": 13, "nano": 13, "ftcli": 13, "db": 13, "systemd": 13, "project": 13, "clone": 13, "repo": 13, "git": 13, "github": 13, "samr1": 13, "cd": 13, "vue": 13, "3000": 13, "wget": 13, "tar": 13, "gz": 13, "xzf": 13, "mv": 13, "sql": 13, "backup": 13, "pg_dump": 13, "semant": 13, "backward": 13, "incompat": 13, "u": 13, "changelog": 13, "restart": 13, "pull": 13, "repositori": 13, "overwrit": 13, "cp": 13, "r": 13, "There": 13, "One": 13, "proxi": [13, 14], "pass": 13, "oper": 13, "network": 13, "startlimitintervalsec": 13, "simpl": 13, "alwai": 13, "restartsec": 13, "standardoutput": 13, "syslog": 13, "standarderror": 13, "syslogidentifi": 13, "workingdirectori": 13, "home": 13, "execstart": 13, "venv": 13, "bin": 13, "create_app": 13, "logfil": 13, "wantedbi": 13, "multi": 13, "higher": 13, "timeout": [13, 16], "its": 13, "OF": 13, "listen": 13, "443": 13, "http2": 13, "server_nam": 13, "ssl_certif": 13, "fullchain": 13, "pem": 13, "ssl_certificate_kei": 13, "privkei": 13, "how": 13, "1mb": 13, "larger": [13, 16], "ll": 13, "uncom": 13, "want": 13, "client_max_body_s": [13, 16], "1m": 13, "proxy_pass": 13, "proxy_redirect": 13, "proxy_set_head": [13, 14], "real": 13, "remote_addr": 13, "forward": [13, 14], "proxy_add_x_forwarded_for": 13, "proto": [13, 14], "scheme": [13, 14], "request_uri": 13, "build": 13, "8025": 13, "mailhog": 13, "shell": 13, "insid": 13, "fittrackee_cli": 13, "lint": 13, "fittrackee_ynh": 13, "rest": 14, "whose": 14, "most": 14, "interact": 14, "tab": 14, "exchang": 14, "secur": 14, "3rd": 14, "fittrackee_host": 14, "space": 14, "3aread": 14, "3awrit": 14, "so": 14, "fetch": 14, "behind": 14, "aaron": 14, "parecki": 14, "oauthlib": 14, "session": 14, "strava": 15, "fit": 15, "exc": 16, "nosuchmoduleerror": 16, "plugin": 16, "dialect": 16, "invalidemailurlschem": 16, "increas": 16, "critic": 16}, "objects": {"": [[0, 0, 1, "post--api-auth-account-confirm", "/api/auth/account/confirm"], [0, 1, 1, "get--api-auth-account-export", "/api/auth/account/export"], [0, 1, 1, "get--api-auth-account-export-(string-file_name)", "/api/auth/account/export/(string:file_name)"], [0, 0, 1, "post--api-auth-account-export-request", "/api/auth/account/export/request"], [0, 0, 1, "post--api-auth-account-privacy-policy", "/api/auth/account/privacy-policy"], [0, 0, 1, "post--api-auth-account-resend-confirmation", "/api/auth/account/resend-confirmation"], [0, 0, 1, "post--api-auth-email-update", "/api/auth/email/update"], [0, 0, 1, "post--api-auth-login", "/api/auth/login"], [0, 0, 1, "post--api-auth-logout", "/api/auth/logout"], [0, 0, 1, "post--api-auth-password-reset-request", "/api/auth/password/reset-request"], [0, 0, 1, "post--api-auth-password-update", "/api/auth/password/update"], [0, 2, 1, "delete--api-auth-picture", "/api/auth/picture"], [0, 0, 1, "post--api-auth-picture", "/api/auth/picture"], [0, 1, 1, "get--api-auth-profile", "/api/auth/profile"], [0, 0, 1, "post--api-auth-profile-edit", "/api/auth/profile/edit"], [0, 3, 1, "patch--api-auth-profile-edit-account", "/api/auth/profile/edit/account"], [0, 0, 1, "post--api-auth-profile-edit-preferences", "/api/auth/profile/edit/preferences"], [0, 0, 1, "post--api-auth-profile-edit-sports", "/api/auth/profile/edit/sports"], [0, 2, 1, "delete--api-auth-profile-reset-sports-(sport_id)", "/api/auth/profile/reset/sports/(sport_id)"], [0, 0, 1, "post--api-auth-register", "/api/auth/register"], [1, 1, 1, "get--api-config", "/api/config"], [1, 3, 1, "patch--api-config", "/api/config"], [3, 1, 1, "get--api-oauth-apps", "/api/oauth/apps"], [3, 0, 1, "post--api-oauth-apps", "/api/oauth/apps"], [3, 2, 1, "delete--api-oauth-apps-(int-client_id)", "/api/oauth/apps/(int:client_id)"], [3, 1, 1, "get--api-oauth-apps-(int-client_id)-by_id", "/api/oauth/apps/(int:client_id)/by_id"], [3, 0, 1, "post--api-oauth-apps-(int-client_id)-revoke", "/api/oauth/apps/(int:client_id)/revoke"], [3, 1, 1, "get--api-oauth-apps-(string-client_client_id)", "/api/oauth/apps/(string:client_client_id)"], [3, 0, 1, "post--api-oauth-authorize", "/api/oauth/authorize"], [3, 0, 1, "post--api-oauth-revoke", "/api/oauth/revoke"], [3, 0, 1, "post--api-oauth-token", "/api/oauth/token"], [1, 1, 1, "get--api-ping", "/api/ping"], [4, 1, 1, "get--api-records", "/api/records"], [5, 1, 1, "get--api-sports", "/api/sports"], [5, 1, 1, "get--api-sports-(int-sport_id)", "/api/sports/(int:sport_id)"], [5, 3, 1, "patch--api-sports-(int-sport_id)", "/api/sports/(int:sport_id)"], [6, 1, 1, "get--api-stats-(user_name)-by_sport", "/api/stats/(user_name)/by_sport"], [6, 1, 1, "get--api-stats-(user_name)-by_time", "/api/stats/(user_name)/by_time"], [6, 1, 1, "get--api-stats-all", "/api/stats/all"], [7, 1, 1, "get--api-users", "/api/users"], [7, 2, 1, "delete--api-users-(user_name)", "/api/users/(user_name)"], [7, 1, 1, "get--api-users-(user_name)", "/api/users/(user_name)"], [7, 3, 1, "patch--api-users-(user_name)", "/api/users/(user_name)"], [7, 1, 1, "get--api-users-(user_name)-picture", "/api/users/(user_name)/picture"], [8, 1, 1, "get--api-workouts", "/api/workouts"], [8, 0, 1, "post--api-workouts", "/api/workouts"], [8, 2, 1, "delete--api-workouts-(string-workout_short_id)", "/api/workouts/(string:workout_short_id)"], [8, 1, 1, "get--api-workouts-(string-workout_short_id)", "/api/workouts/(string:workout_short_id)"], [8, 3, 1, "patch--api-workouts-(string-workout_short_id)", "/api/workouts/(string:workout_short_id)"], [8, 1, 1, "get--api-workouts-(string-workout_short_id)-chart_data", "/api/workouts/(string:workout_short_id)/chart_data"], [8, 1, 1, "get--api-workouts-(string-workout_short_id)-chart_data-segment-(int-segment_id)", "/api/workouts/(string:workout_short_id)/chart_data/segment/(int:segment_id)"], [8, 1, 1, "get--api-workouts-(string-workout_short_id)-gpx", "/api/workouts/(string:workout_short_id)/gpx"], [8, 1, 1, "get--api-workouts-(string-workout_short_id)-gpx-download", "/api/workouts/(string:workout_short_id)/gpx/download"], [8, 1, 1, "get--api-workouts-(string-workout_short_id)-gpx-segment-(int-segment_id)", "/api/workouts/(string:workout_short_id)/gpx/segment/(int:segment_id)"], [8, 1, 1, "get--api-workouts-map-(map_id)", "/api/workouts/map/(map_id)"], [8, 0, 1, "post--api-workouts-no_gpx", "/api/workouts/no_gpx"], [13, 4, 1, "-", "API_RATE_LIMITS"], [13, 4, 1, "-", "APP_LOG"], [13, 4, 1, "-", "APP_SECRET_KEY"], [13, 4, 1, "-", "APP_SETTINGS"], [13, 4, 1, "-", "APP_WORKERS"], [13, 4, 1, "-", "DATABASE_DISABLE_POOLING"], [13, 4, 1, "-", "DATABASE_URL"], [13, 4, 1, "-", "DEFAULT_STATICMAP"], [13, 4, 1, "-", "EMAIL_URL"], [13, 4, 1, "-", "FLASK_APP"], [13, 4, 1, "-", "HOST"], [13, 4, 1, "-", "MAP_ATTRIBUTION"], [13, 4, 1, "-", "PORT"], [13, 4, 1, "-", "REDIS_URL"], [13, 4, 1, "-", "SENDER_EMAIL"], [13, 4, 1, "-", "STATICMAP_SUBDOMAINS"], [13, 4, 1, "-", "TILE_SERVER_URL"], [13, 4, 1, "-", "UI_URL"], [13, 4, 1, "-", "UPLOAD_FOLDER"], [13, 4, 1, "-", "VUE_APP_API_URL"], [13, 4, 1, "-", "WEATHER_API_KEY"], [13, 4, 1, "envvar-WEATHER_API_PROVIDER", "WEATHER_API_PROVIDER \ud83c\udd95"], [13, 4, 1, "-", "WORKERS_PROCESSES"]], "/api/workouts/map_tile/(s)/(z)/(x)/(y)": [[8, 1, 1, "get--api-workouts-map_tile-(s)-(z)-(x)-(y).png", "png"]]}, "objtypes": {"0": "http:post", "1": "http:get", "2": "http:delete", "3": "http:patch", "4": "std:envvar"}, "objnames": {"0": ["http", "post", "HTTP post"], "1": ["http", "get", "HTTP get"], "2": ["http", "delete", "HTTP delete"], "3": ["http", "patch", "HTTP patch"], "4": ["std", "envvar", "environment variable"]}, "titleterms": {"authent": 0, "account": [0, 11], "configur": 1, "api": [2, 13], "document": [2, 9], "endpoint": 2, "oauth2": [3, 10], "record": 4, "sport": [5, 11], "statist": [6, 9, 11], "user": [7, 10, 11], "workout": [8, 11, 16], "chang": 9, "log": 9, "version": 9, "0": [9, 14], "7": 9, "21": 9, "2023": 9, "07": 9, "30": 9, "bug": 9, "fix": 9, "misc": 9, "20": 9, "22": 9, "featur": [9, 11], "enhanc": 9, "translat": [9, 11], "19": 9, "15": 9, "18": 9, "06": 9, "25": 9, "17": 9, "03": 9, "16": 9, "05": 9, "29": 9, "04": 9, "12": 9, "14": 9, "08": 9, "13": 9, "02": 9, "11": 9, "2022": 9, "31": 9, "10": 9, "9": 9, "8": 9, "27": 9, "6": 9, "09": 9, "5": 9, "4": 9, "3": 9, "01": 9, "2": [9, 14], "1": 9, "issu": 9, "close": 9, "pull": 9, "request": 9, "24": 9, "23": 9, "secur": 9, "new": 9, "2021": 9, "2020": 9, "fittracke": [9, 12, 16], "pypi": [9, 13], "administr": [9, 11, 16], "improv": 9, "minor": 9, "avail": 9, "french": 9, "2019": 9, "first": 9, "releas": 9, "2018": 9, "command": 10, "line": 10, "interfac": 10, "databas": 10, "ftcli": 10, "db": 10, "drop": 10, "upgrad": [10, 13], "clean": 10, "clean_arch": 10, "clean_token": 10, "creat": 10, "export_arch": 10, "updat": 10, "prefer": 11, "applic": 11, "screenshot": 11, "dashboard": 11, "detail": [11, 16], "list": 11, "tabl": 12, "content": 12, "instal": 13, "prerequisit": 13, "environ": 13, "variabl": 13, "email": 13, "map": [13, 16], "tile": 13, "server": 13, "rate": 13, "limit": 13, "weather": 13, "data": 13, "from": 13, "sourc": 13, "dev": 13, "product": 13, "prod": 13, "deploy": 13, "docker": 13, "develop": 13, "yunohost": 13, "oauth": 14, "scope": 14, "flow": 14, "resourc": 14, "third": 15, "parti": 15, "tool": 15, "fail": 16, "start": 16, "imag": 16, "ar": 16, "displai": 16, "i": 16, "shown": 16, "upload": 16, "download": 16, "file": 16, "troubleshoot": 17}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 58}, "alltitles": {"Authentication and account": [[0, "authentication-and-account"]], "Configuration": [[1, "configuration"]], "API documentation": [[2, "api-documentation"]], "Endpoints:": [[2, null]], "OAuth2": [[3, "oauth2"], [10, "oauth2"]], "Records": [[4, "records"]], "Sports": [[5, "sports"], [11, "sports"]], "Statistics": [[6, "statistics"], [11, "statistics"]], "Users": [[7, "users"], [10, "users"], [11, "users"]], "Workouts": [[8, "workouts"], [11, "workouts"]], "Change log": [[9, "change-log"]], "Version 0.7.21 (2023/07/30)": [[9, "version-0-7-21-2023-07-30"]], "Bugs Fixed": [[9, "bugs-fixed"], [9, "id1"], [9, "id3"], [9, "id11"], [9, "id14"], [9, "id17"], [9, "id20"], [9, "id32"], [9, "id37"], [9, "id39"], [9, "id43"], [9, "id46"], [9, "id49"], [9, "id51"], [9, "id54"], [9, "id57"], [9, "id59"], [9, "id62"], [9, "id65"], [9, "id68"], [9, "id73"], [9, "id75"], [9, "id77"], [9, "id79"], [9, "id82"], [9, "id84"], [9, "id90"], [9, "id93"], [9, "id95"], [9, "id97"], [9, "id104"], [9, "id109"], [9, "id111"], [9, "id113"], [9, "id116"], [9, "id118"], [9, "id120"], [9, "id124"], [9, "id134"], [9, "id137"], [9, "id139"], [9, "id142"], [9, "id149"]], "Misc": [[9, "misc"], [9, "id5"], [9, "id8"], [9, "id16"], [9, "id23"], [9, "id34"], [9, "id36"], [9, "id52"], [9, "id66"], [9, "id69"], [9, "id86"], [9, "id88"], [9, "id105"], [9, "id114"], [9, "id121"], [9, "id125"], [9, "id132"], [9, "id143"], [9, "id146"]], "Version 0.7.20 (2023/07/22)": [[9, "version-0-7-20-2023-07-22"]], "Features and enhancements": [[9, "features-and-enhancements"], [9, "id2"], [9, "id10"], [9, "id13"], [9, "id19"], [9, "id24"], [9, "id26"], [9, "id28"], [9, "id31"], [9, "id42"], [9, "id48"]], "Translations": [[9, "translations"], [9, "id4"], [9, "id6"], [9, "id9"], [9, "id12"], [9, "id15"], [9, "id18"], [9, "id21"], [9, "id22"], [9, "id25"], [9, "id27"], [9, "id29"], [9, "id30"], [9, "id33"], [9, "id35"], [9, "id38"], [9, "id40"], [9, "id44"], [9, "id45"], [9, "id47"], [9, "id50"], [9, "id63"], [11, "translations"]], "Version 0.7.19 (2023/07/15)": [[9, "version-0-7-19-2023-07-15"]], "Documentation": [[9, "documentation"], [9, "id7"], [9, "id41"]], "Version 0.7.18 (2023/06/25)": [[9, "version-0-7-18-2023-06-25"]], "Version 0.7.17 (2023/06/03)": [[9, "version-0-7-17-2023-06-03"]], "Version 0.7.16 (2023/05/29)": [[9, "version-0-7-16-2023-05-29"]], "Version 0.7.15 (2023/04/12)": [[9, "version-0-7-15-2023-04-12"]], "Version 0.7.14 (2023/03/08)": [[9, "version-0-7-14-2023-03-08"]], "Version 0.7.13 (2023/03/05)": [[9, "version-0-7-13-2023-03-05"]], "Version 0.7.12 (2023/02/16)": [[9, "version-0-7-12-2023-02-16"]], "Version 0.7.11 (2022/12/31)": [[9, "version-0-7-11-2022-12-31"]], "Version 0.7.10 (2022/12/21)": [[9, "version-0-7-10-2022-12-21"]], "Version 0.7.9 (2022/12/11)": [[9, "version-0-7-9-2022-12-11"]], "Version 0.7.8 (2022/11/30)": [[9, "version-0-7-8-2022-11-30"]], "Version 0.7.7 (2022/11/27)": [[9, "version-0-7-7-2022-11-27"]], "Version 0.7.6 (2022/11/09)": [[9, "version-0-7-6-2022-11-09"]], "Version 0.7.5 (2022/11/09)": [[9, "version-0-7-5-2022-11-09"]], "Version 0.7.4 (2022/11/05)": [[9, "version-0-7-4-2022-11-05"]], "Version 0.7.3 (2022/11/01)": [[9, "version-0-7-3-2022-11-01"]], "Version 0.7.2 (2022/09/21)": [[9, "version-0-7-2-2022-09-21"]], "Version 0.7.1 (2022/09/21)": [[9, "version-0-7-1-2022-09-21"]], "Version 0.7.0 (2022/09/19)": [[9, "version-0-7-0-2022-09-19"]], "Version 0.6.12 (2022/09/14)": [[9, "version-0-6-12-2022-09-14"]], "Issues Closed": [[9, "issues-closed"], [9, "id53"], [9, "id56"], [9, "id60"], [9, "id64"], [9, "id67"], [9, "id70"], [9, "id72"], [9, "id76"], [9, "id78"], [9, "id80"], [9, "id85"], [9, "id89"], [9, "id92"], [9, "id94"], [9, "id96"], [9, "id98"], [9, "id100"], [9, "id102"], [9, "id107"], [9, "id110"], [9, "id112"], [9, "id115"], [9, "id117"], [9, "id119"], [9, "id122"], [9, "id126"], [9, "id128"], [9, "id130"], [9, "id133"], [9, "id135"], [9, "id138"], [9, "id140"], [9, "id144"], [9, "id147"], [9, "id150"]], "Pull Requests": [[9, "pull-requests"], [9, "id55"], [9, "id58"], [9, "id74"], [9, "id83"], [9, "id87"], [9, "id91"], [9, "id106"]], "Version 0.6.11 (2022/07/27)": [[9, "version-0-6-11-2022-07-27"]], "Features": [[9, "features"], [9, "id61"], [9, "id71"], [9, "id81"], [11, "features"]], "Version 0.6.10 (2022/07/13)": [[9, "version-0-6-10-2022-07-13"]], "Version 0.6.9 (2022/07/03)": [[9, "version-0-6-9-2022-07-03"]], "Version 0.6.8 (2022/06/22)": [[9, "version-0-6-8-2022-06-22"]], "Version 0.6.7 (2022/06/11)": [[9, "version-0-6-7-2022-06-11"]], "Version 0.6.6 (2022/05/29)": [[9, "version-0-6-6-2022-05-29"]], "Version 0.6.5 (2022/04/24)": [[9, "version-0-6-5-2022-04-24"]], "Version 0.6.4 (2022/04/23)": [[9, "version-0-6-4-2022-04-23"]], "Version 0.6.3 (2022/04/09)": [[9, "version-0-6-3-2022-04-09"]], "Version 0.6.2 (2022/04/03)": [[9, "version-0-6-2-2022-04-03"]], "Version 0.6.1 (2022/03/27)": [[9, "version-0-6-1-2022-03-27"]], "Version 0.6.0 (2022/03/27)": [[9, "version-0-6-0-2022-03-27"]], "Version 0.5.7 (2022/02/13)": [[9, "version-0-5-7-2022-02-13"]], "Security": [[9, "security"]], "Version 0.5.6 (2022/02/05)": [[9, "version-0-5-6-2022-02-05"]], "Version 0.5.5 (2022/01/19)": [[9, "version-0-5-5-2022-01-19"]], "New Features": [[9, "new-features"], [9, "id99"], [9, "id101"], [9, "id103"], [9, "id108"], [9, "id123"], [9, "id127"], [9, "id129"], [9, "id131"], [9, "id136"], [9, "id141"], [9, "id145"], [9, "id148"], [9, "id151"]], "Version 0.5.4 (2022/01/01)": [[9, "version-0-5-4-2022-01-01"]], "Version 0.5.3 (2022/01/01)": [[9, "version-0-5-3-2022-01-01"]], "Version 0.5.2 (2021/12/19)": [[9, "version-0-5-2-2021-12-19"]], "Version 0.5.1 (2021/11/30)": [[9, "version-0-5-1-2021-11-30"]], "Version 0.5.0 (2021/11/14)": [[9, "version-0-5-0-2021-11-14"]], "Version 0.4.9 (2021/07/16)": [[9, "version-0-4-9-2021-07-16"]], "Version 0.4.8 (2021/07/03)": [[9, "version-0-4-8-2021-07-03"]], "Version 0.4.7 (2021/04/07)": [[9, "version-0-4-7-2021-04-07"]], "Version 0.4.6 (2021/02/21)": [[9, "version-0-4-6-2021-02-21"]], "Version 0.4.5 (2021/02/17)": [[9, "version-0-4-5-2021-02-17"]], "Version 0.4.4 (2021/01/31)": [[9, "version-0-4-4-2021-01-31"]], "Version 0.4.3 (2021/01/10)": [[9, "version-0-4-3-2021-01-10"]], "Version 0.4.2 (2021/01/03)": [[9, "version-0-4-2-2021-01-03"]], "Version 0.4.1 (2020/12/31)": [[9, "version-0-4-1-2020-12-31"]], "Version 0.4.0 - FitTrackee on PyPI (2020/09/19)": [[9, "version-0-4-0-fittrackee-on-pypi-2020-09-19"]], "Version 0.3.0 - Administration (2020/07/15)": [[9, "version-0-3-0-administration-2020-07-15"]], "Version 0.2.5 - Fix and improvements (2020/01/31)": [[9, "version-0-2-5-fix-and-improvements-2020-01-31"]], "Version 0.2.4 - Minor fix (2020/01/30)": [[9, "version-0-2-4-minor-fix-2020-01-30"]], "Version 0.2.3 - FitTrackee available in French (2019/12/29)": [[9, "version-0-2-3-fittrackee-available-in-french-2019-12-29"]], "Version 0.2.2 - Statistics fix (2019/09/23)": [[9, "version-0-2-2-statistics-fix-2019-09-23"]], "Version 0.2.1 - Fix and improvements (2019/09/01)": [[9, "version-0-2-1-fix-and-improvements-2019-09-01"]], "Version 0.2.0 - Statistics (2019/07/07)": [[9, "version-0-2-0-statistics-2019-07-07"]], "Version 0.1.1 - Fix and improvements (2019/02/07)": [[9, "version-0-1-1-fix-and-improvements-2019-02-07"]], "Version 0.1.0 - First release \ud83c\udf89 (2018-07-04)": [[9, "version-0-1-0-first-release-2018-07-04"]], "Command line interface": [[10, "command-line-interface"]], "Database": [[10, "database"]], "ftcli db drop": [[10, "ftcli-db-drop"]], "ftcli db upgrade": [[10, "ftcli-db-upgrade"]], "ftcli oauth2 clean": [[10, "ftcli-oauth2-clean"]], "ftcli users clean_archives": [[10, "ftcli-users-clean-archives"]], "ftcli users clean_tokens": [[10, "ftcli-users-clean-tokens"]], "ftcli users create": [[10, "ftcli-users-create"]], "ftcli users export_archives": [[10, "ftcli-users-export-archives"]], "ftcli users update": [[10, "ftcli-users-update"]], "Account & preferences": [[11, "account-preferences"]], "Administration": [[11, "administration"], [11, "id1"]], "Application": [[11, "application"]], "Screenshots": [[11, "screenshots"]], "Dashboard": [[11, "dashboard"]], "Workout detail": [[11, "workout-detail"]], "Workouts list": [[11, "workouts-list"]], "FitTrackee": [[12, "fittrackee"]], "Table of contents": [[12, "table-of-contents"]], "Installation": [[13, "installation"], [13, "id2"], [13, "id6"]], "Prerequisites": [[13, "prerequisites"]], "Environment variables": [[13, "environment-variables"]], "Emails": [[13, "emails"]], "Map tile server": [[13, "map-tile-server"]], "API rate limits": [[13, "api-rate-limits"]], "Weather data": [[13, "weather-data"]], "From PyPI": [[13, "from-pypi"], [13, "id3"]], "From sources": [[13, "from-sources"], [13, "id4"]], "Dev environment": [[13, "dev-environment"], [13, "id5"]], "Production environment": [[13, "production-environment"]], "Upgrade": [[13, "upgrade"]], "Prod environment": [[13, "prod-environment"]], "Deployment": [[13, "deployment"]], "Docker": [[13, "docker"]], "Development": [[13, "development"]], "Yunohost": [[13, "yunohost"]], "OAuth 2.0": [[14, "oauth-2-0"]], "Scopes": [[14, "scopes"]], "Flow": [[14, "flow"]], "Resources": [[14, "resources"]], "Third-party tools": [[15, "third-party-tools"]], "Administrator": [[16, "administrator"]], "FitTrackee fails to start": [[16, "fittrackee-fails-to-start"]], "Map images are not displayed but map is shown in Workout detail": [[16, "map-images-are-not-displayed-but-map-is-shown-in-workout-detail"]], "Failed to upload or download files": [[16, "failed-to-upload-or-download-files"]], "Troubleshooting": [[17, "troubleshooting"]]}, "indexentries": {"api_rate_limits": [[13, "envvar-API_RATE_LIMITS"]], "app_log": [[13, "envvar-APP_LOG"]], "app_secret_key": [[13, "envvar-APP_SECRET_KEY"]], "app_settings": [[13, "envvar-APP_SETTINGS"]], "app_workers": [[13, "envvar-APP_WORKERS"]], "database_disable_pooling": [[13, "envvar-DATABASE_DISABLE_POOLING"]], "database_url": [[13, "envvar-DATABASE_URL"]], "default_staticmap": [[13, "envvar-DEFAULT_STATICMAP"]], "email_url": [[13, "envvar-EMAIL_URL"]], "flask_app": [[13, "envvar-FLASK_APP"]], "host": [[13, "envvar-HOST"]], "map_attribution": [[13, "envvar-MAP_ATTRIBUTION"]], "port": [[13, "envvar-PORT"]], "redis_url": [[13, "envvar-REDIS_URL"]], "sender_email": [[13, "envvar-SENDER_EMAIL"]], "staticmap_subdomains": [[13, "envvar-STATICMAP_SUBDOMAINS"]], "tile_server_url": [[13, "envvar-TILE_SERVER_URL"]], "ui_url": [[13, "envvar-UI_URL"]], "upload_folder": [[13, "envvar-UPLOAD_FOLDER"]], "vue_app_api_url": [[13, "envvar-VUE_APP_API_URL"]], "weather_api_key": [[13, "envvar-WEATHER_API_KEY"]], "weather_api_provider \ud83c\udd95": [[13, "envvar-WEATHER_API_PROVIDER"]], "workers_processes": [[13, "envvar-WORKERS_PROCESSES"]], "environment variable": [[13, "envvar-API_RATE_LIMITS"], [13, "envvar-APP_LOG"], [13, "envvar-APP_SECRET_KEY"], [13, "envvar-APP_SETTINGS"], [13, "envvar-APP_WORKERS"], [13, "envvar-DATABASE_DISABLE_POOLING"], [13, "envvar-DATABASE_URL"], [13, "envvar-DEFAULT_STATICMAP"], [13, "envvar-EMAIL_URL"], [13, "envvar-FLASK_APP"], [13, "envvar-HOST"], [13, "envvar-MAP_ATTRIBUTION"], [13, "envvar-PORT"], [13, "envvar-REDIS_URL"], [13, "envvar-SENDER_EMAIL"], [13, "envvar-STATICMAP_SUBDOMAINS"], [13, "envvar-TILE_SERVER_URL"], [13, "envvar-UI_URL"], [13, "envvar-UPLOAD_FOLDER"], [13, "envvar-VUE_APP_API_URL"], [13, "envvar-WEATHER_API_KEY"], [13, "envvar-WEATHER_API_PROVIDER"], [13, "envvar-WORKERS_PROCESSES"]]}}) \ No newline at end of file diff --git a/docs/en/third_party_tools.html b/docs/en/third_party_tools.html index cda034e7..4e1f6003 100644 --- a/docs/en/third_party_tools.html +++ b/docs/en/third_party_tools.html @@ -5,14 +5,14 @@ - - Third-party tools - FitTrackee 0.7.20 documentation - - - - - - + + Third-party tools - FitTrackee 0.7.21 documentation + + + + + + @@ -126,7 +126,7 @@
    -
    @@ -153,7 +153,7 @@
    - FitTrackee 0.7.20 + FitTrackee 0.7.21 documentation @@ -291,11 +291,11 @@
    - - - - - - + + + + + + \ No newline at end of file diff --git a/docs/en/troubleshooting/administrator.html b/docs/en/troubleshooting/administrator.html index 22957d0d..1596eb18 100644 --- a/docs/en/troubleshooting/administrator.html +++ b/docs/en/troubleshooting/administrator.html @@ -5,14 +5,14 @@ - - Administrator - FitTrackee 0.7.20 documentation - - - - - - + + Administrator - FitTrackee 0.7.21 documentation + + + + + + @@ -126,7 +126,7 @@
    -
    @@ -153,7 +153,7 @@
    - FitTrackee 0.7.20 + FitTrackee 0.7.21 documentation @@ -337,11 +337,11 @@
    - - - - - - + + + + + + \ No newline at end of file diff --git a/docs/en/troubleshooting/index.html b/docs/en/troubleshooting/index.html index 3a2ba2a1..6bf7f375 100644 --- a/docs/en/troubleshooting/index.html +++ b/docs/en/troubleshooting/index.html @@ -5,14 +5,14 @@ - - Troubleshooting - FitTrackee 0.7.20 documentation - - - - - - + + Troubleshooting - FitTrackee 0.7.21 documentation + + + + + + @@ -126,7 +126,7 @@
    -
    @@ -153,7 +153,7 @@
    - FitTrackee 0.7.20 + FitTrackee 0.7.21 documentation @@ -296,11 +296,11 @@
    - - - - - - + + + + + + \ No newline at end of file diff --git a/docs/fr/.buildinfo b/docs/fr/.buildinfo index d93f614b..c55d69e9 100644 --- a/docs/fr/.buildinfo +++ b/docs/fr/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 36d169e27176a90819fbf54f4154a855 +config: a1f9fd47ff6f167957a1a42b60b664b4 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/fr/_images/fittrackee_screenshot-01.png b/docs/fr/_images/fittrackee_screenshot-01.png index d095dbe9..506fc089 100644 Binary files a/docs/fr/_images/fittrackee_screenshot-01.png and b/docs/fr/_images/fittrackee_screenshot-01.png differ diff --git a/docs/fr/_images/fittrackee_screenshot-02.png b/docs/fr/_images/fittrackee_screenshot-02.png index 3e35874e..aec037bb 100644 Binary files a/docs/fr/_images/fittrackee_screenshot-02.png and b/docs/fr/_images/fittrackee_screenshot-02.png differ diff --git a/docs/fr/_images/fittrackee_screenshot-03.png b/docs/fr/_images/fittrackee_screenshot-03.png index 68cb0f0b..3fb6134f 100644 Binary files a/docs/fr/_images/fittrackee_screenshot-03.png and b/docs/fr/_images/fittrackee_screenshot-03.png differ diff --git a/docs/fr/_images/fittrackee_screenshot-04.png b/docs/fr/_images/fittrackee_screenshot-04.png index 46b6cf7d..4e784178 100644 Binary files a/docs/fr/_images/fittrackee_screenshot-04.png and b/docs/fr/_images/fittrackee_screenshot-04.png differ diff --git a/docs/fr/_images/fittrackee_screenshot-05.png b/docs/fr/_images/fittrackee_screenshot-05.png index 5d38c4f3..b87ad565 100644 Binary files a/docs/fr/_images/fittrackee_screenshot-05.png and b/docs/fr/_images/fittrackee_screenshot-05.png differ diff --git a/docs/fr/_images/fittrackee_screenshot-06.png b/docs/fr/_images/fittrackee_screenshot-06.png index b39fa9ba..e6a1bd98 100644 Binary files a/docs/fr/_images/fittrackee_screenshot-06.png and b/docs/fr/_images/fittrackee_screenshot-06.png differ diff --git a/docs/fr/_images/fittrackee_screenshot-07.png b/docs/fr/_images/fittrackee_screenshot-07.png index 7b82e55c..18f819af 100644 Binary files a/docs/fr/_images/fittrackee_screenshot-07.png and b/docs/fr/_images/fittrackee_screenshot-07.png differ diff --git a/docs/fr/_images/fittrackee_screenshot-08.png b/docs/fr/_images/fittrackee_screenshot-08.png index 2f5a0ad5..3de12a42 100644 Binary files a/docs/fr/_images/fittrackee_screenshot-08.png and b/docs/fr/_images/fittrackee_screenshot-08.png differ diff --git a/docs/fr/_sources/changelog.md.txt b/docs/fr/_sources/changelog.md.txt index ab4a57d9..741b843f 100644 --- a/docs/fr/_sources/changelog.md.txt +++ b/docs/fr/_sources/changelog.md.txt @@ -1,5 +1,17 @@ # Change log +## Version 0.7.21 (2023/07/30) + +### Bugs Fixed + +* [#407](https://github.com/SamR1/FitTrackee/issues/407) - Workout display error when speeds are zero + + +### Misc + +* [PR#409](https://github.com/SamR1/FitTrackee/pull/409) - CI - update actions version + + ## Version 0.7.20 (2023/07/22) ### Features and enhancements diff --git a/docs/fr/_sources/installation.rst.txt b/docs/fr/_sources/installation.rst.txt index 38f50aa1..a4221d6e 100644 --- a/docs/fr/_sources/installation.rst.txt +++ b/docs/fr/_sources/installation.rst.txt @@ -505,13 +505,13 @@ Production environment .. warning:: | Note that FitTrackee is under heavy development, some features may be unstable. -- Download the last release (for now, it is the release v0.7.20): +- Download the last release (for now, it is the release v0.7.21): .. code:: bash - $ wget https://github.com/SamR1/FitTrackee/archive/v0.7.20.tar.gz - $ tar -xzf v0.7.20.tar.gz - $ mv FitTrackee-0.7.20 FitTrackee + $ wget https://github.com/SamR1/FitTrackee/archive/v0.7.21.tar.gz + $ tar -xzf v0.7.21.tar.gz + $ mv FitTrackee-0.7.21 FitTrackee $ cd FitTrackee - Create **.env** from example and update it @@ -635,13 +635,13 @@ Prod environment - Change to the directory where FitTrackee directory is located -- Download the last release (for now, it is the release v0.7.20) and overwrite existing files: +- Download the last release (for now, it is the release v0.7.21) and overwrite existing files: .. code:: bash - $ wget https://github.com/SamR1/FitTrackee/archive/v0.7.20.tar.gz - $ tar -xzf v0.7.20.tar.gz - $ cp -R FitTrackee-0.7.20/* FitTrackee/ + $ wget https://github.com/SamR1/FitTrackee/archive/v0.7.21.tar.gz + $ tar -xzf v0.7.21.tar.gz + $ cp -R FitTrackee-0.7.21/* FitTrackee/ $ cd FitTrackee - Update **.env** if needed (see `Environment variables `__). diff --git a/docs/fr/_static/basic.css b/docs/fr/_static/basic.css index 7577acb1..cfc60b86 100644 --- a/docs/fr/_static/basic.css +++ b/docs/fr/_static/basic.css @@ -670,6 +670,16 @@ dd { margin-left: 30px; } +.sig dd { + margin-top: 0px; + margin-bottom: 0px; +} + +.sig dl { + margin-top: 0px; + margin-bottom: 0px; +} + dl > dd:last-child, dl > dd:last-child > :last-child { margin-bottom: 0; @@ -738,6 +748,14 @@ abbr, acronym { cursor: help; } +.translated { + background-color: rgba(207, 255, 207, 0.2) +} + +.untranslated { + background-color: rgba(255, 207, 207, 0.2) +} + /* -- code displays --------------------------------------------------------- */ pre { diff --git a/docs/fr/_static/documentation_options.js b/docs/fr/_static/documentation_options.js index 230785c0..5530e387 100644 --- a/docs/fr/_static/documentation_options.js +++ b/docs/fr/_static/documentation_options.js @@ -1,6 +1,6 @@ var DOCUMENTATION_OPTIONS = { URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), - VERSION: '0.7.20', + VERSION: '0.7.21', LANGUAGE: 'fr', COLLAPSE_INDEX: false, BUILDER: 'html', diff --git a/docs/fr/_static/styles/furo.css b/docs/fr/_static/styles/furo.css index f8535503..3d29a218 100644 --- a/docs/fr/_static/styles/furo.css +++ b/docs/fr/_static/styles/furo.css @@ -1,2 +1,2 @@ -/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{-webkit-text-size-adjust:100%;line-height:1.15}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}@media print{.content-icon-container,.headerlink,.mobile-header,.related-pages{display:none!important}.highlight{border:.1pt solid var(--color-foreground-border)}a,blockquote,dl,ol,pre,table,ul{page-break-inside:avoid}caption,figure,h1,h2,h3,h4,h5,h6,img{page-break-after:avoid;page-break-inside:avoid}dl,ol,ul{page-break-before:avoid}}.visually-hidden{clip:rect(0,0,0,0)!important;border:0!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}:-moz-focusring{outline:auto}body{--font-stack:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;--font-stack--monospace:"SFMono-Regular",Menlo,Consolas,Monaco,Liberation Mono,Lucida Console,monospace;--font-size--normal:100%;--font-size--small:87.5%;--font-size--small--2:81.25%;--font-size--small--3:75%;--font-size--small--4:62.5%;--sidebar-caption-font-size:var(--font-size--small--2);--sidebar-item-font-size:var(--font-size--small);--sidebar-search-input-font-size:var(--font-size--small);--toc-font-size:var(--font-size--small--3);--toc-font-size--mobile:var(--font-size--normal);--toc-title-font-size:var(--font-size--small--4);--admonition-font-size:0.8125rem;--admonition-title-font-size:0.8125rem;--code-font-size:var(--font-size--small--2);--api-font-size:var(--font-size--small);--header-height:calc(var(--sidebar-item-line-height) + var(--sidebar-item-spacing-vertical)*4);--header-padding:0.5rem;--sidebar-tree-space-above:1.5rem;--sidebar-caption-space-above:1rem;--sidebar-item-line-height:1rem;--sidebar-item-spacing-vertical:0.5rem;--sidebar-item-spacing-horizontal:1rem;--sidebar-item-height:calc(var(--sidebar-item-line-height) + var(--sidebar-item-spacing-vertical)*2);--sidebar-expander-width:var(--sidebar-item-height);--sidebar-search-space-above:0.5rem;--sidebar-search-input-spacing-vertical:0.5rem;--sidebar-search-input-spacing-horizontal:0.5rem;--sidebar-search-input-height:1rem;--sidebar-search-icon-size:var(--sidebar-search-input-height);--toc-title-padding:0.25rem 0;--toc-spacing-vertical:1.5rem;--toc-spacing-horizontal:1.5rem;--toc-item-spacing-vertical:0.4rem;--toc-item-spacing-horizontal:1rem;--icon-search:url('data:image/svg+xml;charset=utf-8,');--icon-pencil:url('data:image/svg+xml;charset=utf-8,');--icon-abstract:url('data:image/svg+xml;charset=utf-8,');--icon-info:url('data:image/svg+xml;charset=utf-8,');--icon-flame:url('data:image/svg+xml;charset=utf-8,');--icon-question:url('data:image/svg+xml;charset=utf-8,');--icon-warning:url('data:image/svg+xml;charset=utf-8,');--icon-failure:url('data:image/svg+xml;charset=utf-8,');--icon-spark:url('data:image/svg+xml;charset=utf-8,');--color-admonition-title--caution:#ff9100;--color-admonition-title-background--caution:rgba(255,145,0,.2);--color-admonition-title--warning:#ff9100;--color-admonition-title-background--warning:rgba(255,145,0,.2);--color-admonition-title--danger:#ff5252;--color-admonition-title-background--danger:rgba(255,82,82,.2);--color-admonition-title--attention:#ff5252;--color-admonition-title-background--attention:rgba(255,82,82,.2);--color-admonition-title--error:#ff5252;--color-admonition-title-background--error:rgba(255,82,82,.2);--color-admonition-title--hint:#00c852;--color-admonition-title-background--hint:rgba(0,200,82,.2);--color-admonition-title--tip:#00c852;--color-admonition-title-background--tip:rgba(0,200,82,.2);--color-admonition-title--important:#00bfa5;--color-admonition-title-background--important:rgba(0,191,165,.2);--color-admonition-title--note:#00b0ff;--color-admonition-title-background--note:rgba(0,176,255,.2);--color-admonition-title--seealso:#448aff;--color-admonition-title-background--seealso:rgba(68,138,255,.2);--color-admonition-title--admonition-todo:grey;--color-admonition-title-background--admonition-todo:hsla(0,0%,50%,.2);--color-admonition-title:#651fff;--color-admonition-title-background:rgba(101,31,255,.2);--icon-admonition-default:var(--icon-abstract);--color-topic-title:#14b8a6;--color-topic-title-background:rgba(20,184,166,.2);--icon-topic-default:var(--icon-pencil);--color-problematic:#b30000;--color-foreground-primary:#000;--color-foreground-secondary:#5a5c63;--color-foreground-muted:#646776;--color-foreground-border:#878787;--color-background-primary:#fff;--color-background-secondary:#f8f9fb;--color-background-hover:#efeff4;--color-background-hover--transparent:#efeff400;--color-background-border:#eeebee;--color-background-item:#ccc;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#2962ff;--color-brand-content:#2a5adf;--color-api-background:var(--color-background-hover--transparent);--color-api-background-hover:var(--color-background-hover);--color-api-overall:var(--color-foreground-secondary);--color-api-name:var(--color-problematic);--color-api-pre-name:var(--color-problematic);--color-api-paren:var(--color-foreground-secondary);--color-api-keyword:var(--color-foreground-primary);--color-highlight-on-target:#ffc;--color-inline-code-background:var(--color-background-secondary);--color-highlighted-background:#def;--color-highlighted-text:var(--color-foreground-primary);--color-guilabel-background:#ddeeff80;--color-guilabel-border:#bedaf580;--color-guilabel-text:var(--color-foreground-primary);--color-admonition-background:transparent;--color-table-header-background:var(--color-background-secondary);--color-table-border:var(--color-background-border);--color-card-border:var(--color-background-secondary);--color-card-background:transparent;--color-card-marginals-background:var(--color-background-secondary);--color-header-background:var(--color-background-primary);--color-header-border:var(--color-background-border);--color-header-text:var(--color-foreground-primary);--color-sidebar-background:var(--color-background-secondary);--color-sidebar-background-border:var(--color-background-border);--color-sidebar-brand-text:var(--color-foreground-primary);--color-sidebar-caption-text:var(--color-foreground-muted);--color-sidebar-link-text:var(--color-foreground-secondary);--color-sidebar-link-text--top-level:var(--color-brand-primary);--color-sidebar-item-background:var(--color-sidebar-background);--color-sidebar-item-background--current:var( --color-sidebar-item-background );--color-sidebar-item-background--hover:linear-gradient(90deg,var(--color-background-hover--transparent) 0%,var(--color-background-hover) var(--sidebar-item-spacing-horizontal),var(--color-background-hover) 100%);--color-sidebar-item-expander-background:transparent;--color-sidebar-item-expander-background--hover:var( --color-background-hover );--color-sidebar-search-text:var(--color-foreground-primary);--color-sidebar-search-background:var(--color-background-secondary);--color-sidebar-search-background--focus:var(--color-background-primary);--color-sidebar-search-border:var(--color-background-border);--color-sidebar-search-icon:var(--color-foreground-muted);--color-toc-background:var(--color-background-primary);--color-toc-title-text:var(--color-foreground-muted);--color-toc-item-text:var(--color-foreground-secondary);--color-toc-item-text--hover:var(--color-foreground-primary);--color-toc-item-text--active:var(--color-brand-primary);--color-content-foreground:var(--color-foreground-primary);--color-content-background:transparent;--color-link:var(--color-brand-content);--color-link--hover:var(--color-brand-content);--color-link-underline:var(--color-background-border);--color-link-underline--hover:var(--color-foreground-border)}.only-light{display:block!important}html body .only-dark{display:none!important}@media not print{body[data-theme=dark]{--color-problematic:#ee5151;--color-foreground-primary:#ffffffcc;--color-foreground-secondary:#9ca0a5;--color-foreground-muted:#81868d;--color-foreground-border:#666;--color-background-primary:#131416;--color-background-secondary:#1a1c1e;--color-background-hover:#1e2124;--color-background-hover--transparent:#1e212400;--color-background-border:#303335;--color-background-item:#444;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#2b8cee;--color-brand-content:#368ce2;--color-highlighted-background:#083563;--color-guilabel-background:#08356380;--color-guilabel-border:#13395f80;--color-api-keyword:var(--color-foreground-secondary);--color-highlight-on-target:#330;--color-admonition-background:#18181a;--color-card-border:var(--color-background-secondary);--color-card-background:#18181a;--color-card-marginals-background:var(--color-background-hover)}html body[data-theme=dark] .only-light{display:none!important}body[data-theme=dark] .only-dark{display:block!important}@media(prefers-color-scheme:dark){body:not([data-theme=light]){--color-problematic:#ee5151;--color-foreground-primary:#ffffffcc;--color-foreground-secondary:#9ca0a5;--color-foreground-muted:#81868d;--color-foreground-border:#666;--color-background-primary:#131416;--color-background-secondary:#1a1c1e;--color-background-hover:#1e2124;--color-background-hover--transparent:#1e212400;--color-background-border:#303335;--color-background-item:#444;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#2b8cee;--color-brand-content:#368ce2;--color-highlighted-background:#083563;--color-guilabel-background:#08356380;--color-guilabel-border:#13395f80;--color-api-keyword:var(--color-foreground-secondary);--color-highlight-on-target:#330;--color-admonition-background:#18181a;--color-card-border:var(--color-background-secondary);--color-card-background:#18181a;--color-card-marginals-background:var(--color-background-hover)}html body:not([data-theme=light]) .only-light{display:none!important}body:not([data-theme=light]) .only-dark{display:block!important}}}body[data-theme=auto] .theme-toggle svg.theme-icon-when-auto,body[data-theme=dark] .theme-toggle svg.theme-icon-when-dark,body[data-theme=light] .theme-toggle svg.theme-icon-when-light{display:block}body{font-family:var(--font-stack)}code,kbd,pre,samp{font-family:var(--font-stack--monospace)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}article{line-height:1.5}h1,h2,h3,h4,h5,h6{border-radius:.5rem;font-weight:700;line-height:1.25;margin:.5rem -.5rem;padding-left:.5rem;padding-right:.5rem}h1+p,h2+p,h3+p,h4+p,h5+p,h6+p{margin-top:0}h1{font-size:2.5em;margin-bottom:1rem}h1,h2{margin-top:1.75rem}h2{font-size:2em}h3{font-size:1.5em}h4{font-size:1.25em}h5{font-size:1.125em}h6{font-size:1em}small{font-size:80%;opacity:75%}p{margin-bottom:.75rem;margin-top:.5rem}hr.docutils{background-color:var(--color-background-border);border:0;height:1px;margin:2rem 0;padding:0}.centered{text-align:center}a{color:var(--color-link);text-decoration:underline;text-decoration-color:var(--color-link-underline)}a:hover{color:var(--color-link--hover);text-decoration-color:var(--color-link-underline--hover)}a.muted-link{color:inherit}a.muted-link:hover{color:var(--color-link);text-decoration-color:var(--color-link-underline--hover)}html{overflow-x:hidden;overflow-y:scroll;scroll-behavior:smooth}.sidebar-scroll,.toc-scroll,article[role=main] *{scrollbar-color:var(--color-foreground-border) transparent;scrollbar-width:thin}.sidebar-scroll::-webkit-scrollbar,.toc-scroll::-webkit-scrollbar,article[role=main] ::-webkit-scrollbar{height:.25rem;width:.25rem}.sidebar-scroll::-webkit-scrollbar-thumb,.toc-scroll::-webkit-scrollbar-thumb,article[role=main] ::-webkit-scrollbar-thumb{background-color:var(--color-foreground-border);border-radius:.125rem}body,html{background:var(--color-background-primary);color:var(--color-foreground-primary);height:100%}article{background:var(--color-content-background);color:var(--color-content-foreground)}.page{display:flex;min-height:100%}.mobile-header{background-color:var(--color-header-background);border-bottom:1px solid var(--color-header-border);color:var(--color-header-text);display:none;height:var(--header-height);width:100%;z-index:10}.mobile-header.scrolled{border-bottom:none;box-shadow:0 0 .2rem rgba(0,0,0,.1),0 .2rem .4rem rgba(0,0,0,.2)}.mobile-header .header-center a{color:var(--color-header-text);text-decoration:none}.main{display:flex;flex:1}.sidebar-drawer{background:var(--color-sidebar-background);border-right:1px solid var(--color-sidebar-background-border);box-sizing:border-box;display:flex;justify-content:flex-end;min-width:15em;width:calc(50% - 26em)}.sidebar-container,.toc-drawer{box-sizing:border-box;width:15em}.toc-drawer{background:var(--color-toc-background);padding-right:1rem}.sidebar-sticky,.toc-sticky{display:flex;flex-direction:column;height:min(100%,100vh);height:100vh;position:sticky;top:0}.sidebar-scroll,.toc-scroll{flex-grow:1;flex-shrink:1;overflow:auto;scroll-behavior:smooth}.content{display:flex;flex-direction:column;justify-content:space-between;padding:0 3em;width:46em}.icon{display:inline-block;height:1rem;width:1rem}.icon svg{height:100%;width:100%}.announcement{align-items:center;background-color:var(--color-announcement-background);color:var(--color-announcement-text);display:flex;height:var(--header-height);overflow-x:auto}.announcement+.page{min-height:calc(100% - var(--header-height))}.announcement-content{box-sizing:border-box;min-width:100%;padding:.5rem;text-align:center;white-space:nowrap}.announcement-content a{color:var(--color-announcement-text);text-decoration-color:var(--color-announcement-text)}.announcement-content a:hover{color:var(--color-announcement-text);text-decoration-color:var(--color-link--hover)}.no-js .theme-toggle-container{display:none}.theme-toggle-container{vertical-align:middle}.theme-toggle{background:transparent;border:none;cursor:pointer;padding:0}.theme-toggle svg{color:var(--color-foreground-primary);display:none;height:1rem;vertical-align:middle;width:1rem}.theme-toggle-header{float:left;padding:1rem .5rem}.nav-overlay-icon,.toc-overlay-icon{cursor:pointer;display:none}.nav-overlay-icon .icon,.toc-overlay-icon .icon{color:var(--color-foreground-secondary);height:1rem;width:1rem}.nav-overlay-icon,.toc-header-icon{align-items:center;justify-content:center}.toc-content-icon{height:1.5rem;width:1.5rem}.content-icon-container{display:flex;float:right;gap:.5rem;margin-bottom:1rem;margin-left:1rem;margin-top:1.5rem}.content-icon-container .edit-this-page svg{color:inherit;height:1rem;width:1rem}.sidebar-toggle{display:none;position:absolute}.sidebar-toggle[name=__toc]{left:20px}.sidebar-toggle:checked{left:40px}.overlay{background-color:rgba(0,0,0,.54);height:0;opacity:0;position:fixed;top:0;transition:width 0ms,height 0ms,opacity .25s ease-out;width:0}.sidebar-overlay{z-index:20}.toc-overlay{z-index:40}.sidebar-drawer{transition:left .25s ease-in-out;z-index:30}.toc-drawer{transition:right .25s ease-in-out;z-index:50}#__navigation:checked~.sidebar-overlay{height:100%;opacity:1;width:100%}#__navigation:checked~.page .sidebar-drawer{left:0;top:0}#__toc:checked~.toc-overlay{height:100%;opacity:1;width:100%}#__toc:checked~.page .toc-drawer{right:0;top:0}.back-to-top{background:var(--color-background-primary);border-radius:1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 1px 0 hsla(220,9%,46%,.502);display:none;font-size:.8125rem;left:0;margin-left:50%;padding:.5rem .75rem .5rem .5rem;position:fixed;text-decoration:none;top:1rem;transform:translateX(-50%);z-index:10}.back-to-top svg{fill:currentColor;display:inline-block;height:1rem;width:1rem}.back-to-top span{margin-left:.25rem}.show-back-to-top .back-to-top{align-items:center;display:flex}@media(min-width:97em){html{font-size:110%}}@media(max-width:82em){.toc-content-icon{display:flex}.toc-drawer{border-left:1px solid var(--color-background-muted);height:100vh;position:fixed;right:-15em;top:0}.toc-tree{border-left:none;font-size:var(--toc-font-size--mobile)}.sidebar-drawer{width:calc(50% - 18.5em)}}@media(max-width:67em){.nav-overlay-icon{display:flex}.sidebar-drawer{height:100vh;left:-15em;position:fixed;top:0;width:15em}.toc-header-icon{display:flex}.theme-toggle-content,.toc-content-icon{display:none}.theme-toggle-header{display:block}.mobile-header{align-items:center;display:flex;justify-content:space-between;position:sticky;top:0}.mobile-header .header-left,.mobile-header .header-right{display:flex;height:var(--header-height);padding:0 var(--header-padding)}.mobile-header .header-left label,.mobile-header .header-right label{height:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.nav-overlay-icon .icon,.theme-toggle svg{height:1.25rem;width:1.25rem}:target{scroll-margin-top:var(--header-height)}.back-to-top{top:calc(var(--header-height) + .5rem)}.page{flex-direction:column;justify-content:center}.content{margin-left:auto;margin-right:auto}}@media(max-width:52em){.content{overflow-x:auto;width:100%}}@media(max-width:46em){.content{padding:0 1em}article aside.sidebar{float:none;margin:1rem 0;width:100%}}.admonition,.topic{background:var(--color-admonition-background);border-radius:.2rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1);font-size:var(--admonition-font-size);margin:1rem auto;overflow:hidden;padding:0 .5rem .5rem;page-break-inside:avoid}.admonition>:nth-child(2),.topic>:nth-child(2){margin-top:0}.admonition>:last-child,.topic>:last-child{margin-bottom:0}p.admonition-title,p.topic-title{font-size:var(--admonition-title-font-size);font-weight:500;line-height:1.3;margin:0 -.5rem .5rem;padding:.4rem .5rem .4rem 2rem;position:relative}p.admonition-title:before,p.topic-title:before{content:"";height:1rem;left:.5rem;position:absolute;width:1rem}p.admonition-title{background-color:var(--color-admonition-title-background)}p.admonition-title:before{background-color:var(--color-admonition-title);-webkit-mask-image:var(--icon-admonition-default);mask-image:var(--icon-admonition-default);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}p.topic-title{background-color:var(--color-topic-title-background)}p.topic-title:before{background-color:var(--color-topic-title);-webkit-mask-image:var(--icon-topic-default);mask-image:var(--icon-topic-default);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.admonition{border-left:.2rem solid var(--color-admonition-title)}.admonition.caution{border-left-color:var(--color-admonition-title--caution)}.admonition.caution>.admonition-title{background-color:var(--color-admonition-title-background--caution)}.admonition.caution>.admonition-title:before{background-color:var(--color-admonition-title--caution);-webkit-mask-image:var(--icon-spark);mask-image:var(--icon-spark)}.admonition.warning{border-left-color:var(--color-admonition-title--warning)}.admonition.warning>.admonition-title{background-color:var(--color-admonition-title-background--warning)}.admonition.warning>.admonition-title:before{background-color:var(--color-admonition-title--warning);-webkit-mask-image:var(--icon-warning);mask-image:var(--icon-warning)}.admonition.danger{border-left-color:var(--color-admonition-title--danger)}.admonition.danger>.admonition-title{background-color:var(--color-admonition-title-background--danger)}.admonition.danger>.admonition-title:before{background-color:var(--color-admonition-title--danger);-webkit-mask-image:var(--icon-spark);mask-image:var(--icon-spark)}.admonition.attention{border-left-color:var(--color-admonition-title--attention)}.admonition.attention>.admonition-title{background-color:var(--color-admonition-title-background--attention)}.admonition.attention>.admonition-title:before{background-color:var(--color-admonition-title--attention);-webkit-mask-image:var(--icon-warning);mask-image:var(--icon-warning)}.admonition.error{border-left-color:var(--color-admonition-title--error)}.admonition.error>.admonition-title{background-color:var(--color-admonition-title-background--error)}.admonition.error>.admonition-title:before{background-color:var(--color-admonition-title--error);-webkit-mask-image:var(--icon-failure);mask-image:var(--icon-failure)}.admonition.hint{border-left-color:var(--color-admonition-title--hint)}.admonition.hint>.admonition-title{background-color:var(--color-admonition-title-background--hint)}.admonition.hint>.admonition-title:before{background-color:var(--color-admonition-title--hint);-webkit-mask-image:var(--icon-question);mask-image:var(--icon-question)}.admonition.tip{border-left-color:var(--color-admonition-title--tip)}.admonition.tip>.admonition-title{background-color:var(--color-admonition-title-background--tip)}.admonition.tip>.admonition-title:before{background-color:var(--color-admonition-title--tip);-webkit-mask-image:var(--icon-info);mask-image:var(--icon-info)}.admonition.important{border-left-color:var(--color-admonition-title--important)}.admonition.important>.admonition-title{background-color:var(--color-admonition-title-background--important)}.admonition.important>.admonition-title:before{background-color:var(--color-admonition-title--important);-webkit-mask-image:var(--icon-flame);mask-image:var(--icon-flame)}.admonition.note{border-left-color:var(--color-admonition-title--note)}.admonition.note>.admonition-title{background-color:var(--color-admonition-title-background--note)}.admonition.note>.admonition-title:before{background-color:var(--color-admonition-title--note);-webkit-mask-image:var(--icon-pencil);mask-image:var(--icon-pencil)}.admonition.seealso{border-left-color:var(--color-admonition-title--seealso)}.admonition.seealso>.admonition-title{background-color:var(--color-admonition-title-background--seealso)}.admonition.seealso>.admonition-title:before{background-color:var(--color-admonition-title--seealso);-webkit-mask-image:var(--icon-info);mask-image:var(--icon-info)}.admonition.admonition-todo{border-left-color:var(--color-admonition-title--admonition-todo)}.admonition.admonition-todo>.admonition-title{background-color:var(--color-admonition-title-background--admonition-todo)}.admonition.admonition-todo>.admonition-title:before{background-color:var(--color-admonition-title--admonition-todo);-webkit-mask-image:var(--icon-pencil);mask-image:var(--icon-pencil)}.admonition-todo>.admonition-title{text-transform:uppercase}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd{margin-left:2rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd>:first-child{margin-top:.125rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list,dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd>:last-child{margin-bottom:.75rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list>dt{font-size:var(--font-size--small);text-transform:uppercase}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd:empty{margin-bottom:.5rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul{margin-left:-1.2rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul>li>p:nth-child(2){margin-top:0}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul>li>p+p:last-child:empty{margin-bottom:0;margin-top:0}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple)>dt{color:var(--color-api-overall)}.sig:not(.sig-inline){background:var(--color-api-background);border-radius:.25rem;font-family:var(--font-stack--monospace);font-size:var(--api-font-size);font-weight:700;margin-left:-.25rem;margin-right:-.25rem;padding:.25rem .5rem .25rem 3em;text-indent:-2.5em;transition:background .1s ease-out}.sig:not(.sig-inline):hover{background:var(--color-api-background-hover)}.sig:not(.sig-inline) a.reference .viewcode-link{font-weight:400;width:3.5rem}.sig:not(.sig-inline) span.pre{overflow-wrap:anywhere}em.property{font-style:normal}em.property:first-child{color:var(--color-api-keyword)}.sig-name{color:var(--color-api-name)}.sig-prename{color:var(--color-api-pre-name);font-weight:400}.sig-paren{color:var(--color-api-paren)}.sig-param{font-style:normal}.versionmodified{font-style:italic}div.deprecated p,div.versionadded p,div.versionchanged p{margin-bottom:.125rem;margin-top:.125rem}.viewcode-back,.viewcode-link{float:right;text-align:right}.line-block{margin-bottom:.75rem;margin-top:.5rem}.line-block .line-block{margin-bottom:0;margin-top:0;padding-left:1rem}.code-block-caption,article p.caption,table>caption{font-size:var(--font-size--small);text-align:center}.toctree-wrapper.compound .caption,.toctree-wrapper.compound :not(.caption)>.caption-text{font-size:var(--font-size--small);margin-bottom:0;text-align:initial;text-transform:uppercase}.toctree-wrapper.compound>ul{margin-bottom:0;margin-top:0}.sig-inline,code.literal{background:var(--color-inline-code-background);border-radius:.2em;font-size:var(--font-size--small--2);overflow-wrap:break-word;padding:.1em .2em}p .sig-inline,p code.literal{border:1px solid var(--color-background-border)}.sig-inline{font-family:var(--font-stack--monospace)}div[class*=" highlight-"],div[class^=highlight-]{display:flex;margin:1em 0}div[class*=" highlight-"] .table-wrapper,div[class^=highlight-] .table-wrapper,pre{margin:0;padding:0}pre{overflow:auto}article[role=main] .highlight pre{line-height:1.5}.highlight pre,pre.literal-block{font-size:var(--code-font-size);padding:.625rem .875rem}pre.literal-block{background-color:var(--color-code-background);border-radius:.2rem;color:var(--color-code-foreground);margin-bottom:1rem;margin-top:1rem}.highlight{border-radius:.2rem;width:100%}.highlight .gp,.highlight span.linenos{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.highlight .hll{display:block;margin-left:-.875rem;margin-right:-.875rem;padding-left:.875rem;padding-right:.875rem}.code-block-caption{background-color:var(--color-code-background);border-bottom:1px solid;border-radius:.25rem;border-bottom-left-radius:0;border-bottom-right-radius:0;border-color:var(--color-background-border);color:var(--color-code-foreground);display:flex;font-weight:300;padding:.625rem .875rem}.code-block-caption+div[class]{margin-top:0}.code-block-caption+div[class] pre{border-top-left-radius:0;border-top-right-radius:0}.highlighttable{display:block;width:100%}.highlighttable tbody{display:block}.highlighttable tr{display:flex}.highlighttable td.linenos{background-color:var(--color-code-background);border-bottom-left-radius:.2rem;border-top-left-radius:.2rem;color:var(--color-code-foreground);padding:.625rem 0 .625rem .875rem}.highlighttable .linenodiv{box-shadow:-.0625rem 0 var(--color-foreground-border) inset;font-size:var(--code-font-size);padding-right:.875rem}.highlighttable td.code{display:block;flex:1;overflow:hidden;padding:0}.highlighttable td.code .highlight{border-bottom-left-radius:0;border-top-left-radius:0}.highlight span.linenos{box-shadow:-.0625rem 0 var(--color-foreground-border) inset;display:inline-block;margin-right:.875rem;padding-left:0;padding-right:.875rem}.footnote-reference{font-size:var(--font-size--small--4);vertical-align:super}dl.footnote.brackets{color:var(--color-foreground-secondary);display:grid;font-size:var(--font-size--small);grid-template-columns:max-content auto}dl.footnote.brackets dt{margin:0}dl.footnote.brackets dt>.fn-backref{margin-left:.25rem}dl.footnote.brackets dt:after{content:":"}dl.footnote.brackets dt .brackets:before{content:"["}dl.footnote.brackets dt .brackets:after{content:"]"}dl.footnote.brackets dd{margin:0;padding:0 1rem}aside.footnote{color:var(--color-foreground-secondary);font-size:var(--font-size--small)}aside.footnote>span,div.citation>span{float:left;font-weight:500;padding-right:.25rem}aside.footnote>p,div.citation>p{margin-left:2rem}img{box-sizing:border-box;height:auto;max-width:100%}article .figure,article figure{border-radius:.2rem;margin:0}article .figure :last-child,article figure :last-child{margin-bottom:0}article .align-left{clear:left;float:left;margin:0 1rem 1rem}article .align-right{clear:right;float:right;margin:0 1rem 1rem}article .align-center,article .align-default{display:block;margin-left:auto;margin-right:auto;text-align:center}article table.align-default{display:table;text-align:initial}.domainindex-jumpbox,.genindex-jumpbox{border-bottom:1px solid var(--color-background-border);border-top:1px solid var(--color-background-border);padding:.25rem}.domainindex-section h2,.genindex-section h2{margin-bottom:.5rem;margin-top:.75rem}.domainindex-section ul,.genindex-section ul{margin-bottom:0;margin-top:0}ol,ul{margin-bottom:1rem;margin-top:1rem;padding-left:1.2rem}ol li>p:first-child,ul li>p:first-child{margin-bottom:.25rem;margin-top:.25rem}ol li>p:last-child,ul li>p:last-child{margin-top:.25rem}ol li>ol,ol li>ul,ul li>ol,ul li>ul{margin-bottom:.5rem;margin-top:.5rem}ol.arabic{list-style:decimal}ol.loweralpha{list-style:lower-alpha}ol.upperalpha{list-style:upper-alpha}ol.lowerroman{list-style:lower-roman}ol.upperroman{list-style:upper-roman}.simple li>ol,.simple li>ul,.toctree-wrapper li>ol,.toctree-wrapper li>ul{margin-bottom:0;margin-top:0}.field-list dt,.option-list dt,dl.footnote dt,dl.glossary dt,dl.simple dt,dl:not([class]) dt{font-weight:500;margin-top:.25rem}.field-list dt+dt,.option-list dt+dt,dl.footnote dt+dt,dl.glossary dt+dt,dl.simple dt+dt,dl:not([class]) dt+dt{margin-top:0}.field-list dt .classifier:before,.option-list dt .classifier:before,dl.footnote dt .classifier:before,dl.glossary dt .classifier:before,dl.simple dt .classifier:before,dl:not([class]) dt .classifier:before{content:":";margin-left:.2rem;margin-right:.2rem}.field-list dd ul,.field-list dd>p:first-child,.option-list dd ul,.option-list dd>p:first-child,dl.footnote dd ul,dl.footnote dd>p:first-child,dl.glossary dd ul,dl.glossary dd>p:first-child,dl.simple dd ul,dl.simple dd>p:first-child,dl:not([class]) dd ul,dl:not([class]) dd>p:first-child{margin-top:.125rem}.field-list dd ul,.option-list dd ul,dl.footnote dd ul,dl.glossary dd ul,dl.simple dd ul,dl:not([class]) dd ul{margin-bottom:.125rem}.math-wrapper{overflow-x:auto;width:100%}div.math{position:relative;text-align:center}div.math .headerlink,div.math:focus .headerlink{display:none}div.math:hover .headerlink{display:inline-block}div.math span.eqno{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);z-index:1}abbr[title]{cursor:help}.problematic{color:var(--color-problematic)}kbd:not(.compound){background-color:var(--color-background-secondary);border:1px solid var(--color-foreground-border);border-radius:.2rem;box-shadow:0 .0625rem 0 rgba(0,0,0,.2),inset 0 0 0 .125rem var(--color-background-primary);color:var(--color-foreground-primary);display:inline-block;font-size:var(--font-size--small--3);margin:0 .2rem;padding:0 .2rem;vertical-align:text-bottom}blockquote{background:var(--color-background-secondary);border-left:4px solid var(--color-background-border);margin-left:0;margin-right:0;padding:.5rem 1rem}blockquote .attribution{font-weight:600;text-align:right}blockquote.highlights,blockquote.pull-quote{font-size:1.25em}blockquote.epigraph,blockquote.pull-quote{border-left-width:0;border-radius:.5rem}blockquote.highlights{background:transparent;border-left-width:0}p .reference img{vertical-align:middle}p.rubric{font-size:1.125em;font-weight:700;line-height:1.25}dd p.rubric{font-size:var(--font-size--small);font-weight:inherit;line-height:inherit;text-transform:uppercase}article .sidebar{background-color:var(--color-background-secondary);border:1px solid var(--color-background-border);border-radius:.2rem;clear:right;float:right;margin-left:1rem;margin-right:0;width:30%}article .sidebar>*{padding-left:1rem;padding-right:1rem}article .sidebar>ol,article .sidebar>ul{padding-left:2.2rem}article .sidebar .sidebar-title{border-bottom:1px solid var(--color-background-border);font-weight:500;margin:0;padding:.5rem 1rem}.table-wrapper{margin-bottom:.5rem;margin-top:1rem;overflow-x:auto;padding:.2rem .2rem .75rem;width:100%}table.docutils{border-collapse:collapse;border-radius:.2rem;border-spacing:0;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1)}table.docutils th{background:var(--color-table-header-background)}table.docutils td,table.docutils th{border-bottom:1px solid var(--color-table-border);border-left:1px solid var(--color-table-border);border-right:1px solid var(--color-table-border);padding:0 .25rem}table.docutils td p,table.docutils th p{margin:.25rem}table.docutils td:first-child,table.docutils th:first-child{border-left:none}table.docutils td:last-child,table.docutils th:last-child{border-right:none}table.docutils td.text-left,table.docutils th.text-left{text-align:left}table.docutils td.text-right,table.docutils th.text-right{text-align:right}table.docutils td.text-center,table.docutils th.text-center{text-align:center}:target{scroll-margin-top:.5rem}@media(max-width:67em){:target{scroll-margin-top:calc(.5rem + var(--header-height))}section>span:target{scroll-margin-top:calc(.8rem + var(--header-height))}}.headerlink{font-weight:100;-webkit-user-select:none;-moz-user-select:none;user-select:none}.code-block-caption>.headerlink,dl dt>.headerlink,figcaption p>.headerlink,h1>.headerlink,h2>.headerlink,h3>.headerlink,h4>.headerlink,h5>.headerlink,h6>.headerlink,p.caption>.headerlink,table>caption>.headerlink{margin-left:.5rem;visibility:hidden}.code-block-caption:hover>.headerlink,dl dt:hover>.headerlink,figcaption p:hover>.headerlink,h1:hover>.headerlink,h2:hover>.headerlink,h3:hover>.headerlink,h4:hover>.headerlink,h5:hover>.headerlink,h6:hover>.headerlink,p.caption:hover>.headerlink,table>caption:hover>.headerlink{visibility:visible}.code-block-caption>.toc-backref,dl dt>.toc-backref,figcaption p>.toc-backref,h1>.toc-backref,h2>.toc-backref,h3>.toc-backref,h4>.toc-backref,h5>.toc-backref,h6>.toc-backref,p.caption>.toc-backref,table>caption>.toc-backref{color:inherit;text-decoration-line:none}figure:hover>figcaption>p>.headerlink,table:hover>caption>.headerlink{visibility:visible}:target>h1:first-of-type,:target>h2:first-of-type,:target>h3:first-of-type,:target>h4:first-of-type,:target>h5:first-of-type,:target>h6:first-of-type,span:target~h1:first-of-type,span:target~h2:first-of-type,span:target~h3:first-of-type,span:target~h4:first-of-type,span:target~h5:first-of-type,span:target~h6:first-of-type{background-color:var(--color-highlight-on-target)}:target>h1:first-of-type code.literal,:target>h2:first-of-type code.literal,:target>h3:first-of-type code.literal,:target>h4:first-of-type code.literal,:target>h5:first-of-type code.literal,:target>h6:first-of-type code.literal,span:target~h1:first-of-type code.literal,span:target~h2:first-of-type code.literal,span:target~h3:first-of-type code.literal,span:target~h4:first-of-type code.literal,span:target~h5:first-of-type code.literal,span:target~h6:first-of-type code.literal{background-color:transparent}.literal-block-wrapper:target .code-block-caption,.this-will-duplicate-information-and-it-is-still-useful-here li :target,figure:target,table:target>caption{background-color:var(--color-highlight-on-target)}dt:target{background-color:var(--color-highlight-on-target)!important}.footnote-reference:target,.footnote>dt:target+dd{background-color:var(--color-highlight-on-target)}.guilabel{background-color:var(--color-guilabel-background);border:1px solid var(--color-guilabel-border);border-radius:.5em;color:var(--color-guilabel-text);font-size:.9em;padding:0 .3em}footer{display:flex;flex-direction:column;font-size:var(--font-size--small);margin-top:2rem}.bottom-of-page{align-items:center;border-top:1px solid var(--color-background-border);color:var(--color-foreground-secondary);display:flex;justify-content:space-between;line-height:1.5;margin-top:1rem;padding-bottom:1rem;padding-top:1rem}@media(max-width:46em){.bottom-of-page{flex-direction:column-reverse;gap:.25rem;text-align:center}}.bottom-of-page .left-details{font-size:var(--font-size--small)}.bottom-of-page .right-details{display:flex;flex-direction:column;gap:.25rem;text-align:right}.bottom-of-page .icons{display:flex;font-size:1rem;gap:.25rem;justify-content:flex-end}.bottom-of-page .icons a{text-decoration:none}.bottom-of-page .icons img,.bottom-of-page .icons svg{font-size:1.125rem;height:1em;width:1em}.related-pages a{align-items:center;display:flex;text-decoration:none}.related-pages a:hover .page-info .title{color:var(--color-link);text-decoration:underline;text-decoration-color:var(--color-link-underline)}.related-pages a svg.furo-related-icon,.related-pages a svg.furo-related-icon>use{color:var(--color-foreground-border);flex-shrink:0;height:.75rem;margin:0 .5rem;width:.75rem}.related-pages a.next-page{clear:right;float:right;max-width:50%;text-align:right}.related-pages a.prev-page{clear:left;float:left;max-width:50%}.related-pages a.prev-page svg{transform:rotate(180deg)}.page-info{display:flex;flex-direction:column;overflow-wrap:anywhere}.next-page .page-info{align-items:flex-end}.page-info .context{align-items:center;color:var(--color-foreground-muted);display:flex;font-size:var(--font-size--small);padding-bottom:.1rem;text-decoration:none}ul.search{list-style:none;padding-left:0}ul.search li{border-bottom:1px solid var(--color-background-border);padding:1rem 0}[role=main] .highlighted{background-color:var(--color-highlighted-background);color:var(--color-highlighted-text)}.sidebar-brand{display:flex;flex-direction:column;flex-shrink:0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-decoration:none}.sidebar-brand-text{color:var(--color-sidebar-brand-text);font-size:1.5rem;overflow-wrap:break-word}.sidebar-brand-text,.sidebar-logo-container{margin:var(--sidebar-item-spacing-vertical) 0}.sidebar-logo{display:block;margin:0 auto;max-width:100%}.sidebar-search-container{align-items:center;background:var(--color-sidebar-search-background);display:flex;margin-top:var(--sidebar-search-space-above);position:relative}.sidebar-search-container:focus-within,.sidebar-search-container:hover{background:var(--color-sidebar-search-background--focus)}.sidebar-search-container:before{background-color:var(--color-sidebar-search-icon);content:"";height:var(--sidebar-search-icon-size);left:var(--sidebar-item-spacing-horizontal);-webkit-mask-image:var(--icon-search);mask-image:var(--icon-search);position:absolute;width:var(--sidebar-search-icon-size)}.sidebar-search{background:transparent;border:none;border-bottom:1px solid var(--color-sidebar-search-border);border-top:1px solid var(--color-sidebar-search-border);box-sizing:border-box;color:var(--color-sidebar-search-foreground);padding:var(--sidebar-search-input-spacing-vertical) var(--sidebar-search-input-spacing-horizontal) var(--sidebar-search-input-spacing-vertical) calc(var(--sidebar-item-spacing-horizontal) + var(--sidebar-search-input-spacing-horizontal) + var(--sidebar-search-icon-size));width:100%;z-index:10}.sidebar-search:focus{outline:none}.sidebar-search::-moz-placeholder{font-size:var(--sidebar-search-input-font-size)}.sidebar-search::placeholder{font-size:var(--sidebar-search-input-font-size)}#searchbox .highlight-link{margin:0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal) 0;text-align:center}#searchbox .highlight-link a{color:var(--color-sidebar-search-icon);font-size:var(--font-size--small--2)}.sidebar-tree{font-size:var(--sidebar-item-font-size);margin-bottom:var(--sidebar-item-spacing-vertical);margin-top:var(--sidebar-tree-space-above)}.sidebar-tree ul{display:flex;flex-direction:column;list-style:none;margin-bottom:0;margin-top:0;padding:0}.sidebar-tree li{margin:0;position:relative}.sidebar-tree li>ul{margin-left:var(--sidebar-item-spacing-horizontal)}.sidebar-tree .icon,.sidebar-tree .reference{color:var(--color-sidebar-link-text)}.sidebar-tree .reference{box-sizing:border-box;display:inline-block;height:100%;line-height:var(--sidebar-item-line-height);overflow-wrap:anywhere;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-decoration:none;width:100%}.sidebar-tree .reference:hover{background:var(--color-sidebar-item-background--hover)}.sidebar-tree .reference.external:after{color:var(--color-sidebar-link-text);content:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='12' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='1.5' stroke='%23607D8B' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M0 0h24v24H0z' stroke='none'/%3E%3Cpath d='M11 7H6a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2v-5M10 14 20 4M15 4h5v5'/%3E%3C/svg%3E");margin:0 .25rem;vertical-align:middle}.sidebar-tree .current-page>.reference{font-weight:700}.sidebar-tree label{align-items:center;cursor:pointer;display:flex;height:var(--sidebar-item-height);justify-content:center;position:absolute;right:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:var(--sidebar-expander-width)}.sidebar-tree .caption,.sidebar-tree :not(.caption)>.caption-text{color:var(--color-sidebar-caption-text);font-size:var(--sidebar-caption-font-size);font-weight:700;margin:var(--sidebar-caption-space-above) 0 0 0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-transform:uppercase}.sidebar-tree li.has-children>.reference{padding-right:var(--sidebar-expander-width)}.sidebar-tree .toctree-l1>.reference,.sidebar-tree .toctree-l1>label .icon{color:var(--color-sidebar-link-text--top-level)}.sidebar-tree label{background:var(--color-sidebar-item-expander-background)}.sidebar-tree label:hover{background:var(--color-sidebar-item-expander-background--hover)}.sidebar-tree .current>.reference{background:var(--color-sidebar-item-background--current)}.sidebar-tree .current>.reference:hover{background:var(--color-sidebar-item-background--hover)}.toctree-checkbox{display:none;position:absolute}.toctree-checkbox~ul{display:none}.toctree-checkbox~label .icon svg{transform:rotate(90deg)}.toctree-checkbox:checked~ul{display:block}.toctree-checkbox:checked~label .icon svg{transform:rotate(-90deg)}.toc-title-container{padding:var(--toc-title-padding);padding-top:var(--toc-spacing-vertical)}.toc-title{color:var(--color-toc-title-text);font-size:var(--toc-title-font-size);padding-left:var(--toc-spacing-horizontal);text-transform:uppercase}.no-toc{display:none}.toc-tree-container{padding-bottom:var(--toc-spacing-vertical)}.toc-tree{border-left:1px solid var(--color-background-border);font-size:var(--toc-font-size);line-height:1.3;padding-left:calc(var(--toc-spacing-horizontal) - var(--toc-item-spacing-horizontal))}.toc-tree>ul>li:first-child{padding-top:0}.toc-tree>ul>li:first-child>ul{padding-left:0}.toc-tree>ul>li:first-child>a{display:none}.toc-tree ul{list-style-type:none;margin-bottom:0;margin-top:0;padding-left:var(--toc-item-spacing-horizontal)}.toc-tree li{padding-top:var(--toc-item-spacing-vertical)}.toc-tree li.scroll-current>.reference{color:var(--color-toc-item-text--active);font-weight:700}.toc-tree .reference{color:var(--color-toc-item-text);overflow-wrap:anywhere;text-decoration:none}.toc-scroll{max-height:100vh;overflow-y:scroll}.contents:not(.this-will-duplicate-information-and-it-is-still-useful-here){background:rgba(255,0,0,.25);color:var(--color-problematic)}.contents:not(.this-will-duplicate-information-and-it-is-still-useful-here):before{content:"ERROR: Adding a table of contents in Furo-based documentation is unnecessary, and does not work well with existing styling.Add a 'this-will-duplicate-information-and-it-is-still-useful-here' class, if you want an escape hatch."}.text-align\:left>p{text-align:left}.text-align\:center>p{text-align:center}.text-align\:right>p{text-align:right} +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{-webkit-text-size-adjust:100%;line-height:1.15}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}@media print{.content-icon-container,.headerlink,.mobile-header,.related-pages{display:none!important}.highlight{border:.1pt solid var(--color-foreground-border)}a,blockquote,dl,ol,pre,table,ul{page-break-inside:avoid}caption,figure,h1,h2,h3,h4,h5,h6,img{page-break-after:avoid;page-break-inside:avoid}dl,ol,ul{page-break-before:avoid}}.visually-hidden{clip:rect(0,0,0,0)!important;border:0!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}:-moz-focusring{outline:auto}body{--font-stack:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;--font-stack--monospace:"SFMono-Regular",Menlo,Consolas,Monaco,Liberation Mono,Lucida Console,monospace;--font-size--normal:100%;--font-size--small:87.5%;--font-size--small--2:81.25%;--font-size--small--3:75%;--font-size--small--4:62.5%;--sidebar-caption-font-size:var(--font-size--small--2);--sidebar-item-font-size:var(--font-size--small);--sidebar-search-input-font-size:var(--font-size--small);--toc-font-size:var(--font-size--small--3);--toc-font-size--mobile:var(--font-size--normal);--toc-title-font-size:var(--font-size--small--4);--admonition-font-size:0.8125rem;--admonition-title-font-size:0.8125rem;--code-font-size:var(--font-size--small--2);--api-font-size:var(--font-size--small);--header-height:calc(var(--sidebar-item-line-height) + var(--sidebar-item-spacing-vertical)*4);--header-padding:0.5rem;--sidebar-tree-space-above:1.5rem;--sidebar-caption-space-above:1rem;--sidebar-item-line-height:1rem;--sidebar-item-spacing-vertical:0.5rem;--sidebar-item-spacing-horizontal:1rem;--sidebar-item-height:calc(var(--sidebar-item-line-height) + var(--sidebar-item-spacing-vertical)*2);--sidebar-expander-width:var(--sidebar-item-height);--sidebar-search-space-above:0.5rem;--sidebar-search-input-spacing-vertical:0.5rem;--sidebar-search-input-spacing-horizontal:0.5rem;--sidebar-search-input-height:1rem;--sidebar-search-icon-size:var(--sidebar-search-input-height);--toc-title-padding:0.25rem 0;--toc-spacing-vertical:1.5rem;--toc-spacing-horizontal:1.5rem;--toc-item-spacing-vertical:0.4rem;--toc-item-spacing-horizontal:1rem;--icon-search:url('data:image/svg+xml;charset=utf-8,');--icon-pencil:url('data:image/svg+xml;charset=utf-8,');--icon-abstract:url('data:image/svg+xml;charset=utf-8,');--icon-info:url('data:image/svg+xml;charset=utf-8,');--icon-flame:url('data:image/svg+xml;charset=utf-8,');--icon-question:url('data:image/svg+xml;charset=utf-8,');--icon-warning:url('data:image/svg+xml;charset=utf-8,');--icon-failure:url('data:image/svg+xml;charset=utf-8,');--icon-spark:url('data:image/svg+xml;charset=utf-8,');--color-admonition-title--caution:#ff9100;--color-admonition-title-background--caution:rgba(255,145,0,.2);--color-admonition-title--warning:#ff9100;--color-admonition-title-background--warning:rgba(255,145,0,.2);--color-admonition-title--danger:#ff5252;--color-admonition-title-background--danger:rgba(255,82,82,.2);--color-admonition-title--attention:#ff5252;--color-admonition-title-background--attention:rgba(255,82,82,.2);--color-admonition-title--error:#ff5252;--color-admonition-title-background--error:rgba(255,82,82,.2);--color-admonition-title--hint:#00c852;--color-admonition-title-background--hint:rgba(0,200,82,.2);--color-admonition-title--tip:#00c852;--color-admonition-title-background--tip:rgba(0,200,82,.2);--color-admonition-title--important:#00bfa5;--color-admonition-title-background--important:rgba(0,191,165,.2);--color-admonition-title--note:#00b0ff;--color-admonition-title-background--note:rgba(0,176,255,.2);--color-admonition-title--seealso:#448aff;--color-admonition-title-background--seealso:rgba(68,138,255,.2);--color-admonition-title--admonition-todo:grey;--color-admonition-title-background--admonition-todo:hsla(0,0%,50%,.2);--color-admonition-title:#651fff;--color-admonition-title-background:rgba(101,31,255,.2);--icon-admonition-default:var(--icon-abstract);--color-topic-title:#14b8a6;--color-topic-title-background:rgba(20,184,166,.2);--icon-topic-default:var(--icon-pencil);--color-problematic:#b30000;--color-foreground-primary:#000;--color-foreground-secondary:#5a5c63;--color-foreground-muted:#646776;--color-foreground-border:#878787;--color-background-primary:#fff;--color-background-secondary:#f8f9fb;--color-background-hover:#efeff4;--color-background-hover--transparent:#efeff400;--color-background-border:#eeebee;--color-background-item:#ccc;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#2962ff;--color-brand-content:#2a5adf;--color-api-background:var(--color-background-hover--transparent);--color-api-background-hover:var(--color-background-hover);--color-api-overall:var(--color-foreground-secondary);--color-api-name:var(--color-problematic);--color-api-pre-name:var(--color-problematic);--color-api-paren:var(--color-foreground-secondary);--color-api-keyword:var(--color-foreground-primary);--color-highlight-on-target:#ffc;--color-inline-code-background:var(--color-background-secondary);--color-highlighted-background:#def;--color-highlighted-text:var(--color-foreground-primary);--color-guilabel-background:#ddeeff80;--color-guilabel-border:#bedaf580;--color-guilabel-text:var(--color-foreground-primary);--color-admonition-background:transparent;--color-table-header-background:var(--color-background-secondary);--color-table-border:var(--color-background-border);--color-card-border:var(--color-background-secondary);--color-card-background:transparent;--color-card-marginals-background:var(--color-background-secondary);--color-header-background:var(--color-background-primary);--color-header-border:var(--color-background-border);--color-header-text:var(--color-foreground-primary);--color-sidebar-background:var(--color-background-secondary);--color-sidebar-background-border:var(--color-background-border);--color-sidebar-brand-text:var(--color-foreground-primary);--color-sidebar-caption-text:var(--color-foreground-muted);--color-sidebar-link-text:var(--color-foreground-secondary);--color-sidebar-link-text--top-level:var(--color-brand-primary);--color-sidebar-item-background:var(--color-sidebar-background);--color-sidebar-item-background--current:var( --color-sidebar-item-background );--color-sidebar-item-background--hover:linear-gradient(90deg,var(--color-background-hover--transparent) 0%,var(--color-background-hover) var(--sidebar-item-spacing-horizontal),var(--color-background-hover) 100%);--color-sidebar-item-expander-background:transparent;--color-sidebar-item-expander-background--hover:var( --color-background-hover );--color-sidebar-search-text:var(--color-foreground-primary);--color-sidebar-search-background:var(--color-background-secondary);--color-sidebar-search-background--focus:var(--color-background-primary);--color-sidebar-search-border:var(--color-background-border);--color-sidebar-search-icon:var(--color-foreground-muted);--color-toc-background:var(--color-background-primary);--color-toc-title-text:var(--color-foreground-muted);--color-toc-item-text:var(--color-foreground-secondary);--color-toc-item-text--hover:var(--color-foreground-primary);--color-toc-item-text--active:var(--color-brand-primary);--color-content-foreground:var(--color-foreground-primary);--color-content-background:transparent;--color-link:var(--color-brand-content);--color-link--hover:var(--color-brand-content);--color-link-underline:var(--color-background-border);--color-link-underline--hover:var(--color-foreground-border)}.only-light{display:block!important}html body .only-dark{display:none!important}@media not print{body[data-theme=dark]{--color-problematic:#ee5151;--color-foreground-primary:#ffffffcc;--color-foreground-secondary:#9ca0a5;--color-foreground-muted:#81868d;--color-foreground-border:#666;--color-background-primary:#131416;--color-background-secondary:#1a1c1e;--color-background-hover:#1e2124;--color-background-hover--transparent:#1e212400;--color-background-border:#303335;--color-background-item:#444;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#2b8cee;--color-brand-content:#368ce2;--color-highlighted-background:#083563;--color-guilabel-background:#08356380;--color-guilabel-border:#13395f80;--color-api-keyword:var(--color-foreground-secondary);--color-highlight-on-target:#330;--color-admonition-background:#18181a;--color-card-border:var(--color-background-secondary);--color-card-background:#18181a;--color-card-marginals-background:var(--color-background-hover)}html body[data-theme=dark] .only-light{display:none!important}body[data-theme=dark] .only-dark{display:block!important}@media(prefers-color-scheme:dark){body:not([data-theme=light]){--color-problematic:#ee5151;--color-foreground-primary:#ffffffcc;--color-foreground-secondary:#9ca0a5;--color-foreground-muted:#81868d;--color-foreground-border:#666;--color-background-primary:#131416;--color-background-secondary:#1a1c1e;--color-background-hover:#1e2124;--color-background-hover--transparent:#1e212400;--color-background-border:#303335;--color-background-item:#444;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#2b8cee;--color-brand-content:#368ce2;--color-highlighted-background:#083563;--color-guilabel-background:#08356380;--color-guilabel-border:#13395f80;--color-api-keyword:var(--color-foreground-secondary);--color-highlight-on-target:#330;--color-admonition-background:#18181a;--color-card-border:var(--color-background-secondary);--color-card-background:#18181a;--color-card-marginals-background:var(--color-background-hover)}html body:not([data-theme=light]) .only-light{display:none!important}body:not([data-theme=light]) .only-dark{display:block!important}}}body[data-theme=auto] .theme-toggle svg.theme-icon-when-auto,body[data-theme=dark] .theme-toggle svg.theme-icon-when-dark,body[data-theme=light] .theme-toggle svg.theme-icon-when-light{display:block}body{font-family:var(--font-stack)}code,kbd,pre,samp{font-family:var(--font-stack--monospace)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}article{line-height:1.5}h1,h2,h3,h4,h5,h6{border-radius:.5rem;font-weight:700;line-height:1.25;margin:.5rem -.5rem;padding-left:.5rem;padding-right:.5rem}h1+p,h2+p,h3+p,h4+p,h5+p,h6+p{margin-top:0}h1{font-size:2.5em;margin-bottom:1rem}h1,h2{margin-top:1.75rem}h2{font-size:2em}h3{font-size:1.5em}h4{font-size:1.25em}h5{font-size:1.125em}h6{font-size:1em}small{font-size:80%;opacity:75%}p{margin-bottom:.75rem;margin-top:.5rem}hr.docutils{background-color:var(--color-background-border);border:0;height:1px;margin:2rem 0;padding:0}.centered{text-align:center}a{color:var(--color-link);text-decoration:underline;text-decoration-color:var(--color-link-underline)}a:hover{color:var(--color-link--hover);text-decoration-color:var(--color-link-underline--hover)}a.muted-link{color:inherit}a.muted-link:hover{color:var(--color-link);text-decoration-color:var(--color-link-underline--hover)}html{overflow-x:hidden;overflow-y:scroll;scroll-behavior:smooth}.sidebar-scroll,.toc-scroll,article[role=main] *{scrollbar-color:var(--color-foreground-border) transparent;scrollbar-width:thin}.sidebar-scroll::-webkit-scrollbar,.toc-scroll::-webkit-scrollbar,article[role=main] ::-webkit-scrollbar{height:.25rem;width:.25rem}.sidebar-scroll::-webkit-scrollbar-thumb,.toc-scroll::-webkit-scrollbar-thumb,article[role=main] ::-webkit-scrollbar-thumb{background-color:var(--color-foreground-border);border-radius:.125rem}body,html{background:var(--color-background-primary);color:var(--color-foreground-primary);height:100%}article{background:var(--color-content-background);color:var(--color-content-foreground);overflow-wrap:break-word}.page{display:flex;min-height:100%}.mobile-header{background-color:var(--color-header-background);border-bottom:1px solid var(--color-header-border);color:var(--color-header-text);display:none;height:var(--header-height);width:100%;z-index:10}.mobile-header.scrolled{border-bottom:none;box-shadow:0 0 .2rem rgba(0,0,0,.1),0 .2rem .4rem rgba(0,0,0,.2)}.mobile-header .header-center a{color:var(--color-header-text);text-decoration:none}.main{display:flex;flex:1}.sidebar-drawer{background:var(--color-sidebar-background);border-right:1px solid var(--color-sidebar-background-border);box-sizing:border-box;display:flex;justify-content:flex-end;min-width:15em;width:calc(50% - 26em)}.sidebar-container,.toc-drawer{box-sizing:border-box;width:15em}.toc-drawer{background:var(--color-toc-background);padding-right:1rem}.sidebar-sticky,.toc-sticky{display:flex;flex-direction:column;height:min(100%,100vh);height:100vh;position:sticky;top:0}.sidebar-scroll,.toc-scroll{flex-grow:1;flex-shrink:1;overflow:auto;scroll-behavior:smooth}.content{display:flex;flex-direction:column;justify-content:space-between;padding:0 3em;width:46em}.icon{display:inline-block;height:1rem;width:1rem}.icon svg{height:100%;width:100%}.announcement{align-items:center;background-color:var(--color-announcement-background);color:var(--color-announcement-text);display:flex;height:var(--header-height);overflow-x:auto}.announcement+.page{min-height:calc(100% - var(--header-height))}.announcement-content{box-sizing:border-box;min-width:100%;padding:.5rem;text-align:center;white-space:nowrap}.announcement-content a{color:var(--color-announcement-text);text-decoration-color:var(--color-announcement-text)}.announcement-content a:hover{color:var(--color-announcement-text);text-decoration-color:var(--color-link--hover)}.no-js .theme-toggle-container{display:none}.theme-toggle-container{vertical-align:middle}.theme-toggle{background:transparent;border:none;cursor:pointer;padding:0}.theme-toggle svg{color:var(--color-foreground-primary);display:none;height:1rem;vertical-align:middle;width:1rem}.theme-toggle-header{float:left;padding:1rem .5rem}.nav-overlay-icon,.toc-overlay-icon{cursor:pointer;display:none}.nav-overlay-icon .icon,.toc-overlay-icon .icon{color:var(--color-foreground-secondary);height:1rem;width:1rem}.nav-overlay-icon,.toc-header-icon{align-items:center;justify-content:center}.toc-content-icon{height:1.5rem;width:1.5rem}.content-icon-container{display:flex;float:right;gap:.5rem;margin-bottom:1rem;margin-left:1rem;margin-top:1.5rem}.content-icon-container .edit-this-page svg{color:inherit;height:1rem;width:1rem}.sidebar-toggle{display:none;position:absolute}.sidebar-toggle[name=__toc]{left:20px}.sidebar-toggle:checked{left:40px}.overlay{background-color:rgba(0,0,0,.54);height:0;opacity:0;position:fixed;top:0;transition:width 0ms,height 0ms,opacity .25s ease-out;width:0}.sidebar-overlay{z-index:20}.toc-overlay{z-index:40}.sidebar-drawer{transition:left .25s ease-in-out;z-index:30}.toc-drawer{transition:right .25s ease-in-out;z-index:50}#__navigation:checked~.sidebar-overlay{height:100%;opacity:1;width:100%}#__navigation:checked~.page .sidebar-drawer{left:0;top:0}#__toc:checked~.toc-overlay{height:100%;opacity:1;width:100%}#__toc:checked~.page .toc-drawer{right:0;top:0}.back-to-top{background:var(--color-background-primary);border-radius:1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 1px 0 hsla(220,9%,46%,.502);display:none;font-size:.8125rem;left:0;margin-left:50%;padding:.5rem .75rem .5rem .5rem;position:fixed;text-decoration:none;top:1rem;transform:translateX(-50%);z-index:10}.back-to-top svg{fill:currentColor;display:inline-block;height:1rem;width:1rem}.back-to-top span{margin-left:.25rem}.show-back-to-top .back-to-top{align-items:center;display:flex}@media(min-width:97em){html{font-size:110%}}@media(max-width:82em){.toc-content-icon{display:flex}.toc-drawer{border-left:1px solid var(--color-background-muted);height:100vh;position:fixed;right:-15em;top:0}.toc-tree{border-left:none;font-size:var(--toc-font-size--mobile)}.sidebar-drawer{width:calc(50% - 18.5em)}}@media(max-width:67em){.nav-overlay-icon{display:flex}.sidebar-drawer{height:100vh;left:-15em;position:fixed;top:0;width:15em}.toc-header-icon{display:flex}.theme-toggle-content,.toc-content-icon{display:none}.theme-toggle-header{display:block}.mobile-header{align-items:center;display:flex;justify-content:space-between;position:sticky;top:0}.mobile-header .header-left,.mobile-header .header-right{display:flex;height:var(--header-height);padding:0 var(--header-padding)}.mobile-header .header-left label,.mobile-header .header-right label{height:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.nav-overlay-icon .icon,.theme-toggle svg{height:1.25rem;width:1.25rem}:target{scroll-margin-top:var(--header-height)}.back-to-top{top:calc(var(--header-height) + .5rem)}.page{flex-direction:column;justify-content:center}.content{margin-left:auto;margin-right:auto}}@media(max-width:52em){.content{overflow-x:auto;width:100%}}@media(max-width:46em){.content{padding:0 1em}article aside.sidebar{float:none;margin:1rem 0;width:100%}}.admonition,.topic{background:var(--color-admonition-background);border-radius:.2rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1);font-size:var(--admonition-font-size);margin:1rem auto;overflow:hidden;padding:0 .5rem .5rem;page-break-inside:avoid}.admonition>:nth-child(2),.topic>:nth-child(2){margin-top:0}.admonition>:last-child,.topic>:last-child{margin-bottom:0}.admonition p.admonition-title,p.topic-title{font-size:var(--admonition-title-font-size);font-weight:500;line-height:1.3;margin:0 -.5rem .5rem;padding:.4rem .5rem .4rem 2rem;position:relative}.admonition p.admonition-title:before,p.topic-title:before{content:"";height:1rem;left:.5rem;position:absolute;width:1rem}p.admonition-title{background-color:var(--color-admonition-title-background)}p.admonition-title:before{background-color:var(--color-admonition-title);-webkit-mask-image:var(--icon-admonition-default);mask-image:var(--icon-admonition-default);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}p.topic-title{background-color:var(--color-topic-title-background)}p.topic-title:before{background-color:var(--color-topic-title);-webkit-mask-image:var(--icon-topic-default);mask-image:var(--icon-topic-default);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.admonition{border-left:.2rem solid var(--color-admonition-title)}.admonition.caution{border-left-color:var(--color-admonition-title--caution)}.admonition.caution>.admonition-title{background-color:var(--color-admonition-title-background--caution)}.admonition.caution>.admonition-title:before{background-color:var(--color-admonition-title--caution);-webkit-mask-image:var(--icon-spark);mask-image:var(--icon-spark)}.admonition.warning{border-left-color:var(--color-admonition-title--warning)}.admonition.warning>.admonition-title{background-color:var(--color-admonition-title-background--warning)}.admonition.warning>.admonition-title:before{background-color:var(--color-admonition-title--warning);-webkit-mask-image:var(--icon-warning);mask-image:var(--icon-warning)}.admonition.danger{border-left-color:var(--color-admonition-title--danger)}.admonition.danger>.admonition-title{background-color:var(--color-admonition-title-background--danger)}.admonition.danger>.admonition-title:before{background-color:var(--color-admonition-title--danger);-webkit-mask-image:var(--icon-spark);mask-image:var(--icon-spark)}.admonition.attention{border-left-color:var(--color-admonition-title--attention)}.admonition.attention>.admonition-title{background-color:var(--color-admonition-title-background--attention)}.admonition.attention>.admonition-title:before{background-color:var(--color-admonition-title--attention);-webkit-mask-image:var(--icon-warning);mask-image:var(--icon-warning)}.admonition.error{border-left-color:var(--color-admonition-title--error)}.admonition.error>.admonition-title{background-color:var(--color-admonition-title-background--error)}.admonition.error>.admonition-title:before{background-color:var(--color-admonition-title--error);-webkit-mask-image:var(--icon-failure);mask-image:var(--icon-failure)}.admonition.hint{border-left-color:var(--color-admonition-title--hint)}.admonition.hint>.admonition-title{background-color:var(--color-admonition-title-background--hint)}.admonition.hint>.admonition-title:before{background-color:var(--color-admonition-title--hint);-webkit-mask-image:var(--icon-question);mask-image:var(--icon-question)}.admonition.tip{border-left-color:var(--color-admonition-title--tip)}.admonition.tip>.admonition-title{background-color:var(--color-admonition-title-background--tip)}.admonition.tip>.admonition-title:before{background-color:var(--color-admonition-title--tip);-webkit-mask-image:var(--icon-info);mask-image:var(--icon-info)}.admonition.important{border-left-color:var(--color-admonition-title--important)}.admonition.important>.admonition-title{background-color:var(--color-admonition-title-background--important)}.admonition.important>.admonition-title:before{background-color:var(--color-admonition-title--important);-webkit-mask-image:var(--icon-flame);mask-image:var(--icon-flame)}.admonition.note{border-left-color:var(--color-admonition-title--note)}.admonition.note>.admonition-title{background-color:var(--color-admonition-title-background--note)}.admonition.note>.admonition-title:before{background-color:var(--color-admonition-title--note);-webkit-mask-image:var(--icon-pencil);mask-image:var(--icon-pencil)}.admonition.seealso{border-left-color:var(--color-admonition-title--seealso)}.admonition.seealso>.admonition-title{background-color:var(--color-admonition-title-background--seealso)}.admonition.seealso>.admonition-title:before{background-color:var(--color-admonition-title--seealso);-webkit-mask-image:var(--icon-info);mask-image:var(--icon-info)}.admonition.admonition-todo{border-left-color:var(--color-admonition-title--admonition-todo)}.admonition.admonition-todo>.admonition-title{background-color:var(--color-admonition-title-background--admonition-todo)}.admonition.admonition-todo>.admonition-title:before{background-color:var(--color-admonition-title--admonition-todo);-webkit-mask-image:var(--icon-pencil);mask-image:var(--icon-pencil)}.admonition-todo>.admonition-title{text-transform:uppercase}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd{margin-left:2rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd>:first-child{margin-top:.125rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list,dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd>:last-child{margin-bottom:.75rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list>dt{font-size:var(--font-size--small);text-transform:uppercase}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd:empty{margin-bottom:.5rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul{margin-left:-1.2rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul>li>p:nth-child(2){margin-top:0}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul>li>p+p:last-child:empty{margin-bottom:0;margin-top:0}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple)>dt{color:var(--color-api-overall)}.sig:not(.sig-inline){background:var(--color-api-background);border-radius:.25rem;font-family:var(--font-stack--monospace);font-size:var(--api-font-size);font-weight:700;margin-left:-.25rem;margin-right:-.25rem;padding:.25rem .5rem .25rem 3em;text-indent:-2.5em;transition:background .1s ease-out}.sig:not(.sig-inline):hover{background:var(--color-api-background-hover)}.sig:not(.sig-inline) a.reference .viewcode-link{font-weight:400;width:3.5rem}em.property{font-style:normal}em.property:first-child{color:var(--color-api-keyword)}.sig-name{color:var(--color-api-name)}.sig-prename{color:var(--color-api-pre-name);font-weight:400}.sig-paren{color:var(--color-api-paren)}.sig-param{font-style:normal}.versionmodified{font-style:italic}div.deprecated p,div.versionadded p,div.versionchanged p{margin-bottom:.125rem;margin-top:.125rem}.viewcode-back,.viewcode-link{float:right;text-align:right}.line-block{margin-bottom:.75rem;margin-top:.5rem}.line-block .line-block{margin-bottom:0;margin-top:0;padding-left:1rem}.code-block-caption,article p.caption,table>caption{font-size:var(--font-size--small);text-align:center}.toctree-wrapper.compound .caption,.toctree-wrapper.compound :not(.caption)>.caption-text{font-size:var(--font-size--small);margin-bottom:0;text-align:initial;text-transform:uppercase}.toctree-wrapper.compound>ul{margin-bottom:0;margin-top:0}.sig-inline,code.literal{background:var(--color-inline-code-background);border-radius:.2em;font-size:var(--font-size--small--2);padding:.1em .2em}pre.literal-block .sig-inline,pre.literal-block code.literal{font-size:inherit;padding:0}p .sig-inline,p code.literal{border:1px solid var(--color-background-border)}.sig-inline{font-family:var(--font-stack--monospace)}div[class*=" highlight-"],div[class^=highlight-]{display:flex;margin:1em 0}div[class*=" highlight-"] .table-wrapper,div[class^=highlight-] .table-wrapper,pre{margin:0;padding:0}pre{overflow:auto}article[role=main] .highlight pre{line-height:1.5}.highlight pre,pre.literal-block{font-size:var(--code-font-size);padding:.625rem .875rem}pre.literal-block{background-color:var(--color-code-background);border-radius:.2rem;color:var(--color-code-foreground);margin-bottom:1rem;margin-top:1rem}.highlight{border-radius:.2rem;width:100%}.highlight .gp,.highlight span.linenos{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.highlight .hll{display:block;margin-left:-.875rem;margin-right:-.875rem;padding-left:.875rem;padding-right:.875rem}.code-block-caption{background-color:var(--color-code-background);border-bottom:1px solid;border-radius:.25rem;border-bottom-left-radius:0;border-bottom-right-radius:0;border-color:var(--color-background-border);color:var(--color-code-foreground);display:flex;font-weight:300;padding:.625rem .875rem}.code-block-caption+div[class]{margin-top:0}.code-block-caption+div[class] pre{border-top-left-radius:0;border-top-right-radius:0}.highlighttable{display:block;width:100%}.highlighttable tbody{display:block}.highlighttable tr{display:flex}.highlighttable td.linenos{background-color:var(--color-code-background);border-bottom-left-radius:.2rem;border-top-left-radius:.2rem;color:var(--color-code-foreground);padding:.625rem 0 .625rem .875rem}.highlighttable .linenodiv{box-shadow:-.0625rem 0 var(--color-foreground-border) inset;font-size:var(--code-font-size);padding-right:.875rem}.highlighttable td.code{display:block;flex:1;overflow:hidden;padding:0}.highlighttable td.code .highlight{border-bottom-left-radius:0;border-top-left-radius:0}.highlight span.linenos{box-shadow:-.0625rem 0 var(--color-foreground-border) inset;display:inline-block;margin-right:.875rem;padding-left:0;padding-right:.875rem}.footnote-reference{font-size:var(--font-size--small--4);vertical-align:super}dl.footnote.brackets{color:var(--color-foreground-secondary);display:grid;font-size:var(--font-size--small);grid-template-columns:max-content auto}dl.footnote.brackets dt{margin:0}dl.footnote.brackets dt>.fn-backref{margin-left:.25rem}dl.footnote.brackets dt:after{content:":"}dl.footnote.brackets dt .brackets:before{content:"["}dl.footnote.brackets dt .brackets:after{content:"]"}dl.footnote.brackets dd{margin:0;padding:0 1rem}aside.footnote{color:var(--color-foreground-secondary);font-size:var(--font-size--small)}aside.footnote>span,div.citation>span{float:left;font-weight:500;padding-right:.25rem}aside.footnote>p,div.citation>p{margin-left:2rem}img{box-sizing:border-box;height:auto;max-width:100%}article .figure,article figure{border-radius:.2rem;margin:0}article .figure :last-child,article figure :last-child{margin-bottom:0}article .align-left{clear:left;float:left;margin:0 1rem 1rem}article .align-right{clear:right;float:right;margin:0 1rem 1rem}article .align-center,article .align-default{display:block;margin-left:auto;margin-right:auto;text-align:center}article table.align-default{display:table;text-align:initial}.domainindex-jumpbox,.genindex-jumpbox{border-bottom:1px solid var(--color-background-border);border-top:1px solid var(--color-background-border);padding:.25rem}.domainindex-section h2,.genindex-section h2{margin-bottom:.5rem;margin-top:.75rem}.domainindex-section ul,.genindex-section ul{margin-bottom:0;margin-top:0}ol,ul{margin-bottom:1rem;margin-top:1rem;padding-left:1.2rem}ol li>p:first-child,ul li>p:first-child{margin-bottom:.25rem;margin-top:.25rem}ol li>p:last-child,ul li>p:last-child{margin-top:.25rem}ol li>ol,ol li>ul,ul li>ol,ul li>ul{margin-bottom:.5rem;margin-top:.5rem}ol.arabic{list-style:decimal}ol.loweralpha{list-style:lower-alpha}ol.upperalpha{list-style:upper-alpha}ol.lowerroman{list-style:lower-roman}ol.upperroman{list-style:upper-roman}.simple li>ol,.simple li>ul,.toctree-wrapper li>ol,.toctree-wrapper li>ul{margin-bottom:0;margin-top:0}.field-list dt,.option-list dt,dl.footnote dt,dl.glossary dt,dl.simple dt,dl:not([class]) dt{font-weight:500;margin-top:.25rem}.field-list dt+dt,.option-list dt+dt,dl.footnote dt+dt,dl.glossary dt+dt,dl.simple dt+dt,dl:not([class]) dt+dt{margin-top:0}.field-list dt .classifier:before,.option-list dt .classifier:before,dl.footnote dt .classifier:before,dl.glossary dt .classifier:before,dl.simple dt .classifier:before,dl:not([class]) dt .classifier:before{content:":";margin-left:.2rem;margin-right:.2rem}.field-list dd ul,.field-list dd>p:first-child,.option-list dd ul,.option-list dd>p:first-child,dl.footnote dd ul,dl.footnote dd>p:first-child,dl.glossary dd ul,dl.glossary dd>p:first-child,dl.simple dd ul,dl.simple dd>p:first-child,dl:not([class]) dd ul,dl:not([class]) dd>p:first-child{margin-top:.125rem}.field-list dd ul,.option-list dd ul,dl.footnote dd ul,dl.glossary dd ul,dl.simple dd ul,dl:not([class]) dd ul{margin-bottom:.125rem}.math-wrapper{overflow-x:auto;width:100%}div.math{position:relative;text-align:center}div.math .headerlink,div.math:focus .headerlink{display:none}div.math:hover .headerlink{display:inline-block}div.math span.eqno{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);z-index:1}abbr[title]{cursor:help}.problematic{color:var(--color-problematic)}kbd:not(.compound){background-color:var(--color-background-secondary);border:1px solid var(--color-foreground-border);border-radius:.2rem;box-shadow:0 .0625rem 0 rgba(0,0,0,.2),inset 0 0 0 .125rem var(--color-background-primary);color:var(--color-foreground-primary);display:inline-block;font-size:var(--font-size--small--3);margin:0 .2rem;padding:0 .2rem;vertical-align:text-bottom}blockquote{background:var(--color-background-secondary);border-left:4px solid var(--color-background-border);margin-left:0;margin-right:0;padding:.5rem 1rem}blockquote .attribution{font-weight:600;text-align:right}blockquote.highlights,blockquote.pull-quote{font-size:1.25em}blockquote.epigraph,blockquote.pull-quote{border-left-width:0;border-radius:.5rem}blockquote.highlights{background:transparent;border-left-width:0}p .reference img{vertical-align:middle}p.rubric{font-size:1.125em;font-weight:700;line-height:1.25}dd p.rubric{font-size:var(--font-size--small);font-weight:inherit;line-height:inherit;text-transform:uppercase}article .sidebar{background-color:var(--color-background-secondary);border:1px solid var(--color-background-border);border-radius:.2rem;clear:right;float:right;margin-left:1rem;margin-right:0;width:30%}article .sidebar>*{padding-left:1rem;padding-right:1rem}article .sidebar>ol,article .sidebar>ul{padding-left:2.2rem}article .sidebar .sidebar-title{border-bottom:1px solid var(--color-background-border);font-weight:500;margin:0;padding:.5rem 1rem}.table-wrapper{margin-bottom:.5rem;margin-top:1rem;overflow-x:auto;padding:.2rem .2rem .75rem;width:100%}table.docutils{border-collapse:collapse;border-radius:.2rem;border-spacing:0;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1)}table.docutils th{background:var(--color-table-header-background)}table.docutils td,table.docutils th{border-bottom:1px solid var(--color-table-border);border-left:1px solid var(--color-table-border);border-right:1px solid var(--color-table-border);padding:0 .25rem}table.docutils td p,table.docutils th p{margin:.25rem}table.docutils td:first-child,table.docutils th:first-child{border-left:none}table.docutils td:last-child,table.docutils th:last-child{border-right:none}table.docutils td.text-left,table.docutils th.text-left{text-align:left}table.docutils td.text-right,table.docutils th.text-right{text-align:right}table.docutils td.text-center,table.docutils th.text-center{text-align:center}:target{scroll-margin-top:.5rem}@media(max-width:67em){:target{scroll-margin-top:calc(.5rem + var(--header-height))}section>span:target{scroll-margin-top:calc(.8rem + var(--header-height))}}.headerlink{font-weight:100;-webkit-user-select:none;-moz-user-select:none;user-select:none}.code-block-caption>.headerlink,dl dt>.headerlink,figcaption p>.headerlink,h1>.headerlink,h2>.headerlink,h3>.headerlink,h4>.headerlink,h5>.headerlink,h6>.headerlink,p.caption>.headerlink,table>caption>.headerlink{margin-left:.5rem;visibility:hidden}.code-block-caption:hover>.headerlink,dl dt:hover>.headerlink,figcaption p:hover>.headerlink,h1:hover>.headerlink,h2:hover>.headerlink,h3:hover>.headerlink,h4:hover>.headerlink,h5:hover>.headerlink,h6:hover>.headerlink,p.caption:hover>.headerlink,table>caption:hover>.headerlink{visibility:visible}.code-block-caption>.toc-backref,dl dt>.toc-backref,figcaption p>.toc-backref,h1>.toc-backref,h2>.toc-backref,h3>.toc-backref,h4>.toc-backref,h5>.toc-backref,h6>.toc-backref,p.caption>.toc-backref,table>caption>.toc-backref{color:inherit;text-decoration-line:none}figure:hover>figcaption>p>.headerlink,table:hover>caption>.headerlink{visibility:visible}:target>h1:first-of-type,:target>h2:first-of-type,:target>h3:first-of-type,:target>h4:first-of-type,:target>h5:first-of-type,:target>h6:first-of-type,span:target~h1:first-of-type,span:target~h2:first-of-type,span:target~h3:first-of-type,span:target~h4:first-of-type,span:target~h5:first-of-type,span:target~h6:first-of-type{background-color:var(--color-highlight-on-target)}:target>h1:first-of-type code.literal,:target>h2:first-of-type code.literal,:target>h3:first-of-type code.literal,:target>h4:first-of-type code.literal,:target>h5:first-of-type code.literal,:target>h6:first-of-type code.literal,span:target~h1:first-of-type code.literal,span:target~h2:first-of-type code.literal,span:target~h3:first-of-type code.literal,span:target~h4:first-of-type code.literal,span:target~h5:first-of-type code.literal,span:target~h6:first-of-type code.literal{background-color:transparent}.literal-block-wrapper:target .code-block-caption,.this-will-duplicate-information-and-it-is-still-useful-here li :target,figure:target,table:target>caption{background-color:var(--color-highlight-on-target)}dt:target{background-color:var(--color-highlight-on-target)!important}.footnote-reference:target,.footnote>dt:target+dd{background-color:var(--color-highlight-on-target)}.guilabel{background-color:var(--color-guilabel-background);border:1px solid var(--color-guilabel-border);border-radius:.5em;color:var(--color-guilabel-text);font-size:.9em;padding:0 .3em}footer{display:flex;flex-direction:column;font-size:var(--font-size--small);margin-top:2rem}.bottom-of-page{align-items:center;border-top:1px solid var(--color-background-border);color:var(--color-foreground-secondary);display:flex;justify-content:space-between;line-height:1.5;margin-top:1rem;padding-bottom:1rem;padding-top:1rem}@media(max-width:46em){.bottom-of-page{flex-direction:column-reverse;gap:.25rem;text-align:center}}.bottom-of-page .left-details{font-size:var(--font-size--small)}.bottom-of-page .right-details{display:flex;flex-direction:column;gap:.25rem;text-align:right}.bottom-of-page .icons{display:flex;font-size:1rem;gap:.25rem;justify-content:flex-end}.bottom-of-page .icons a{text-decoration:none}.bottom-of-page .icons img,.bottom-of-page .icons svg{font-size:1.125rem;height:1em;width:1em}.related-pages a{align-items:center;display:flex;text-decoration:none}.related-pages a:hover .page-info .title{color:var(--color-link);text-decoration:underline;text-decoration-color:var(--color-link-underline)}.related-pages a svg.furo-related-icon,.related-pages a svg.furo-related-icon>use{color:var(--color-foreground-border);flex-shrink:0;height:.75rem;margin:0 .5rem;width:.75rem}.related-pages a.next-page{clear:right;float:right;max-width:50%;text-align:right}.related-pages a.prev-page{clear:left;float:left;max-width:50%}.related-pages a.prev-page svg{transform:rotate(180deg)}.page-info{display:flex;flex-direction:column;overflow-wrap:anywhere}.next-page .page-info{align-items:flex-end}.page-info .context{align-items:center;color:var(--color-foreground-muted);display:flex;font-size:var(--font-size--small);padding-bottom:.1rem;text-decoration:none}ul.search{list-style:none;padding-left:0}ul.search li{border-bottom:1px solid var(--color-background-border);padding:1rem 0}[role=main] .highlighted{background-color:var(--color-highlighted-background);color:var(--color-highlighted-text)}.sidebar-brand{display:flex;flex-direction:column;flex-shrink:0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-decoration:none}.sidebar-brand-text{color:var(--color-sidebar-brand-text);font-size:1.5rem;overflow-wrap:break-word}.sidebar-brand-text,.sidebar-logo-container{margin:var(--sidebar-item-spacing-vertical) 0}.sidebar-logo{display:block;margin:0 auto;max-width:100%}.sidebar-search-container{align-items:center;background:var(--color-sidebar-search-background);display:flex;margin-top:var(--sidebar-search-space-above);position:relative}.sidebar-search-container:focus-within,.sidebar-search-container:hover{background:var(--color-sidebar-search-background--focus)}.sidebar-search-container:before{background-color:var(--color-sidebar-search-icon);content:"";height:var(--sidebar-search-icon-size);left:var(--sidebar-item-spacing-horizontal);-webkit-mask-image:var(--icon-search);mask-image:var(--icon-search);position:absolute;width:var(--sidebar-search-icon-size)}.sidebar-search{background:transparent;border:none;border-bottom:1px solid var(--color-sidebar-search-border);border-top:1px solid var(--color-sidebar-search-border);box-sizing:border-box;color:var(--color-sidebar-search-foreground);padding:var(--sidebar-search-input-spacing-vertical) var(--sidebar-search-input-spacing-horizontal) var(--sidebar-search-input-spacing-vertical) calc(var(--sidebar-item-spacing-horizontal) + var(--sidebar-search-input-spacing-horizontal) + var(--sidebar-search-icon-size));width:100%;z-index:10}.sidebar-search:focus{outline:none}.sidebar-search::-moz-placeholder{font-size:var(--sidebar-search-input-font-size)}.sidebar-search::placeholder{font-size:var(--sidebar-search-input-font-size)}#searchbox .highlight-link{margin:0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal) 0;text-align:center}#searchbox .highlight-link a{color:var(--color-sidebar-search-icon);font-size:var(--font-size--small--2)}.sidebar-tree{font-size:var(--sidebar-item-font-size);margin-bottom:var(--sidebar-item-spacing-vertical);margin-top:var(--sidebar-tree-space-above)}.sidebar-tree ul{display:flex;flex-direction:column;list-style:none;margin-bottom:0;margin-top:0;padding:0}.sidebar-tree li{margin:0;position:relative}.sidebar-tree li>ul{margin-left:var(--sidebar-item-spacing-horizontal)}.sidebar-tree .icon,.sidebar-tree .reference{color:var(--color-sidebar-link-text)}.sidebar-tree .reference{box-sizing:border-box;display:inline-block;height:100%;line-height:var(--sidebar-item-line-height);overflow-wrap:anywhere;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-decoration:none;width:100%}.sidebar-tree .reference:hover{background:var(--color-sidebar-item-background--hover)}.sidebar-tree .reference.external:after{color:var(--color-sidebar-link-text);content:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='12' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='1.5' stroke='%23607D8B' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M0 0h24v24H0z' stroke='none'/%3E%3Cpath d='M11 7H6a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2v-5M10 14 20 4M15 4h5v5'/%3E%3C/svg%3E");margin:0 .25rem;vertical-align:middle}.sidebar-tree .current-page>.reference{font-weight:700}.sidebar-tree label{align-items:center;cursor:pointer;display:flex;height:var(--sidebar-item-height);justify-content:center;position:absolute;right:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:var(--sidebar-expander-width)}.sidebar-tree .caption,.sidebar-tree :not(.caption)>.caption-text{color:var(--color-sidebar-caption-text);font-size:var(--sidebar-caption-font-size);font-weight:700;margin:var(--sidebar-caption-space-above) 0 0 0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-transform:uppercase}.sidebar-tree li.has-children>.reference{padding-right:var(--sidebar-expander-width)}.sidebar-tree .toctree-l1>.reference,.sidebar-tree .toctree-l1>label .icon{color:var(--color-sidebar-link-text--top-level)}.sidebar-tree label{background:var(--color-sidebar-item-expander-background)}.sidebar-tree label:hover{background:var(--color-sidebar-item-expander-background--hover)}.sidebar-tree .current>.reference{background:var(--color-sidebar-item-background--current)}.sidebar-tree .current>.reference:hover{background:var(--color-sidebar-item-background--hover)}.toctree-checkbox{display:none;position:absolute}.toctree-checkbox~ul{display:none}.toctree-checkbox~label .icon svg{transform:rotate(90deg)}.toctree-checkbox:checked~ul{display:block}.toctree-checkbox:checked~label .icon svg{transform:rotate(-90deg)}.toc-title-container{padding:var(--toc-title-padding);padding-top:var(--toc-spacing-vertical)}.toc-title{color:var(--color-toc-title-text);font-size:var(--toc-title-font-size);padding-left:var(--toc-spacing-horizontal);text-transform:uppercase}.no-toc{display:none}.toc-tree-container{padding-bottom:var(--toc-spacing-vertical)}.toc-tree{border-left:1px solid var(--color-background-border);font-size:var(--toc-font-size);line-height:1.3;padding-left:calc(var(--toc-spacing-horizontal) - var(--toc-item-spacing-horizontal))}.toc-tree>ul>li:first-child{padding-top:0}.toc-tree>ul>li:first-child>ul{padding-left:0}.toc-tree>ul>li:first-child>a{display:none}.toc-tree ul{list-style-type:none;margin-bottom:0;margin-top:0;padding-left:var(--toc-item-spacing-horizontal)}.toc-tree li{padding-top:var(--toc-item-spacing-vertical)}.toc-tree li.scroll-current>.reference{color:var(--color-toc-item-text--active);font-weight:700}.toc-tree .reference{color:var(--color-toc-item-text);overflow-wrap:anywhere;text-decoration:none}.toc-scroll{max-height:100vh;overflow-y:scroll}.contents:not(.this-will-duplicate-information-and-it-is-still-useful-here){background:rgba(255,0,0,.25);color:var(--color-problematic)}.contents:not(.this-will-duplicate-information-and-it-is-still-useful-here):before{content:"ERROR: Adding a table of contents in Furo-based documentation is unnecessary, and does not work well with existing styling.Add a 'this-will-duplicate-information-and-it-is-still-useful-here' class, if you want an escape hatch."}.text-align\:left>p{text-align:left}.text-align\:center>p{text-align:center}.text-align\:right>p{text-align:right} /*# sourceMappingURL=furo.css.map*/ \ No newline at end of file diff --git a/docs/fr/_static/styles/furo.css.map b/docs/fr/_static/styles/furo.css.map index 997200ae..d1dfb109 100644 --- a/docs/fr/_static/styles/furo.css.map +++ b/docs/fr/_static/styles/furo.css.map @@ -1 +1 @@ -{"version":3,"file":"styles/furo.css","mappings":"AAAA,2EAA2E,CAU3E,KAEE,6BAA8B,CAD9B,gBAEF,CASA,KACE,QACF,CAMA,KACE,aACF,CAOA,GACE,aAAc,CACd,cACF,CAUA,GACE,sBAAuB,CACvB,QAAS,CACT,gBACF,CAOA,IACE,+BAAiC,CACjC,aACF,CASA,EACE,4BACF,CAOA,YACE,kBAAmB,CACnB,yBAA0B,CAC1B,gCACF,CAMA,SAEE,kBACF,CAOA,cAGE,+BAAiC,CACjC,aACF,CAeA,QAEE,aAAc,CACd,aAAc,CACd,iBAAkB,CAClB,uBACF,CAEA,IACE,aACF,CAEA,IACE,SACF,CASA,IACE,iBACF,CAUA,sCAKE,mBAAoB,CACpB,cAAe,CACf,gBAAiB,CACjB,QACF,CAOA,aAEE,gBACF,CAOA,cAEE,mBACF,CAMA,gDAIE,yBACF,CAMA,wHAIE,iBAAkB,CAClB,SACF,CAMA,4GAIE,6BACF,CAMA,SACE,0BACF,CASA,OACE,qBAAsB,CACtB,aAAc,CACd,aAAc,CACd,cAAe,CACf,SAAU,CACV,kBACF,CAMA,SACE,uBACF,CAMA,SACE,aACF,CAOA,6BAEE,qBAAsB,CACtB,SACF,CAMA,kFAEE,WACF,CAOA,cACE,4BAA6B,CAC7B,mBACF,CAMA,yCACE,uBACF,CAOA,6BACE,yBAA0B,CAC1B,YACF,CASA,QACE,aACF,CAMA,QACE,iBACF,CAiBA,kBACE,YACF,CCvVA,aAcE,kEACE,uBAOF,WACE,iDAMF,gCACE,wBAEF,qCAEE,uBADA,uBACA,CAEF,SACE,wBAtBA,CCpBJ,iBAOE,6BAEA,mBANA,qBAEA,sBACA,0BAFA,oBAHA,4BAOA,6BANA,mBAOA,CAEF,gBACE,aCPF,KCGE,mHAEA,wGAGA,wBAAyB,CACzB,wBAAyB,CACzB,4BAA6B,CAC7B,yBAA0B,CAC1B,2BAA4B,CAG5B,sDAAuD,CACvD,gDAAiD,CACjD,wDAAyD,CAGzD,0CAA2C,CAC3C,gDAAiD,CACjD,gDAAiD,CAKjD,gCAAiC,CACjC,sCAAuC,CAGvC,2CAA4C,CAG5C,uCAAwC,CChCxC,+FAGA,uBAAwB,CAGxB,iCAAkC,CAClC,kCAAmC,CAEnC,+BAAgC,CAChC,sCAAuC,CACvC,sCAAuC,CACvC,qGAIA,mDAAoD,CAEpD,mCAAoC,CACpC,8CAA+C,CAC/C,gDAAiD,CACjD,kCAAmC,CACnC,6DAA8D,CAG9D,6BAA8B,CAC9B,6BAA8B,CAC9B,+BAAgC,CAChC,kCAAmC,CACnC,kCAAmC,CCPjC,ukBCYA,srCAZF,kaCVA,mLAOA,oTAWA,2UAaA,0CACA,gEACA,0CAGA,gEAUA,yCACA,+DAGA,4CACA,CACA,iEAGA,sGACA,uCACA,4DAGA,sCACA,2DAEA,4CACA,kEACA,oGACA,CAEA,0GACA,+CAGA,+MAOA,+EACA,wCAIA,4DACA,sEACA,kEACA,sEACA,gDAGA,+DACA,0CACA,gEACA,gGACA,CAGA,2DACA,qDAGA,0CACA,8CACA,oDACA,oDL7GF,iCAEA,iEAME,oCKyGA,yDAIA,sCACA,kCACA,sDAGA,0CACA,kEACA,oDAEA,sDAGA,oCACA,oEAIA,CAGA,yDAGA,qDACA,oDAGA,6DAIA,iEAGA,2DAEA,2DL9IE,4DAEA,gEAIF,gEKgGA,gFAIA,oNAOA,qDAEA,gFAIA,4DAIA,oEAMA,yEAIA,6DACA,0DAGA,uDAGA,qDAEA,wDLpII,6DAEA,yDACE,2DAMN,uCAIA,yCACE,8CAGF,sDMjDA,6DAKA,oCAIA,4CACA,kBAGF,sBAMA,2BAME,qCAGA,qCAEA,iCAEA,+BAEA,mCAEA,qCAIA,CACA,gCACA,gDAKA,kCAIA,6BAEA,0CAQA,kCAIF,8BAGE,8BACA,uCAGF,sCAKE,kCAEA,sDAGA,iCACE,CACA,2FAGA,gCACE,CACA,+DCzEJ,wCAEA,sBAEF,yDAEE,mCACA,wDAGA,2GAGA,wIACE,gDAMJ,kCAGE,6BACA,0CAGA,gEACA,8BAGA,uCAKA,sCAEA,wFAEA,iCAIA,sCAMA,sDAEE,gGAKE,+CAON,sBACE,yCAEA,0BAUF,yLAKA,aACE,mCAEA,mBAEF,wCAGE,MACA,kCACA,kCAGA,SAEF,kCAME,mBAGF,CAJE,eACA,CAHA,gBAEA,CASA,mBACA,mBAEF,oBACE,+BAGA,YACE,mBACA,CAMF,yBADF,kBAEE,CADA,gBACA,uCAEA,qBACA,iBACA,OACA,aACA,CAFA,WAEA,GACE,qBADF,gBACE,aAGF,+CAEA,SACA,CANE,WAEJ,aACE,CADF,SAIE,4BACA,GAGE,wBADF,yBACE,kDACA,uCAEA,yDAEE,+CAKN,uBACE,yDAKF,uBACE,CACA,iBACA,uBACA,kDAMA,0DAGF,CALE,oBAKF,0GAWE,sJAOA,+CAGF,sBAEE,WAKA,0CAEA,CALF,qCAGE,CAHF,WAKE,SAGA,0CAEE,CALF,qCAKE,OACA,YAEJ,gBACE,gBAIA,+CAKF,CAGE,kDAGA,CANF,8BAGE,CAGA,YAEA,CAdF,2BACE,CAHA,UAEF,CAYE,UAEA,CACA,0CACF,iEAOE,iCACA,8BAGA,wCAIA,wBAKE,0CAKF,CARE,6DAGA,CALF,qBAEE,CASA,YACA,yBAGA,CAEE,cAKN,CAPI,sBAOJ,gCAGE,qBAEA,WACA,aACA,sCAEA,mBACA,6BAGA,uEADA,qBACA,6BAIA,yBACA,qCAEE,UAEA,YACA,sBAEF,8BAGA,CAPE,aACA,WAMF,4BACE,sBACA,WAMJ,uBACE,cAYE,mBAXA,qDAKA,qCAGA,CAEA,YACA,CAHA,2BAEA,CACA,oCAEA,4CACA,uBAIA,oCAEJ,CAFI,cAIF,iBACE,CAHJ,kBAGI,yBAEA,oCAIA,qDAMF,mEAEA,CACE,8CAKA,gCAEA,qCAGA,oCAGE,sBACA,CAJF,WAEE,CAFF,eAEE,SAEA,mBACA,qCACE,aACA,CAFF,YADA,qBACA,WAEE,sBACA,kEAEN,2BAEE,iDAKA,uCAGF,CACE,0DAKA,kBACF,CAFE,sBAGA,mBACA,0BAEJ,yBAII,aADA,WACA,CAMF,UAFE,kBAEF,CAJF,gBACE,CAHE,iBAMF,6CC7ZF,yBACE,WACA,iBAEA,aAFA,iBAEA,6BAEA,kCACA,mBAKA,gCAGA,CARA,QAEA,CAGA,UALA,qBAEA,qDAGA,CALA,OAQA,4BACE,cAGF,2BACE,gCAEJ,CAHE,UAGF,aACE,iCAEA,CAHF,UAGE,wCAEA,WACA,WADA,UACA,6CAGA,yCAIA,kEAGE,QADA,KACA,cAQA,0CACA,CAFF,kBACE,CACA,wEACA,CALJ,YACE,CAEE,mBAFF,OAIE,gBAJF,gCACA,CADA,eALE,oBAIJ,CACE,SAIE,0BAEJ,CAFI,UAEJ,CACE,kCACA,qBACE,CAFF,sBAEE,qEACA,uDACA,8DAMF,yBAII,oDAJJ,YAGE,CAHF,eAGE,iBACE,WACA,uDACE,yCACA,2CACE,yCACA,YADA,eACA,uFALJ,+CACA,gBACE,kBACA,CADA,2CADF,eACE,MACA,0DACE,yCACA,qGALJ,oCACA,uCACE,CAFF,UAEE,uEACA,+CACE,oDACA,6DANN,kCACE,kCACA,gBADA,UACA,yBACE,wDACA,cADA,UACA,qBACE,6CACA,yFALJ,sCACA,CAEE,gBACE,CAHJ,gBAGI,sBAHJ,uBACE,4DACA,4CACE,iDAJJ,2CACA,CADA,gBAEE,gBAGE,sBALJ,+BAII,iBAFF,gDACA,WACE,YADF,uCACE,6EACA,2BANN,8CACE,kDACA,0CACE,8BACA,yFACE,sBACA,sFALJ,mEACA,sBACE,kEACA,6EACE,uCACA,kEALJ,qGAEE,kEACA,6EACE,uCACA,kEALJ,8CACA,uDACE,sEACA,2EACE,sCACA,iEALJ,mGACA,qCACE,oDACA,0DACE,6GACA,gDAGR,yDCpEA,sEACE,CACA,6GACE,gEACF,iGAIF,wFACE,qDAGA,mGAEE,2CAEF,4FACE,gCACF,wGACE,8DAEE,6FAIA,iJAKN,6GACE,gDAKF,yDACA,qCAGA,6BACA,kBACA,qDAKA,oCAEA,+DAGA,2CAGE,oDAIA,oEAEE,qBAGJ,wDAIA,uCAEE,kEAEF,CACF,6CAEE,uDAEA,oCAIF,4BACE,6BAEA,gEAEE,+CAIF,0EC9FA,sDAGE,+DCLJ,sCAGE,8BAKA,wJAIE,gBACA,yGCZF,mBAQA,2MAIA,oBAOF,wGAKE,iCAEE,CAFF,wBAEE,8GAWF,mBAEE,2GAMA,mBAEA,6HAOF,YAGA,mIAOE,gBADA,YACA,4FAOF,8BACA,uBAYA,sCAEE,CAFF,qBARA,wCAEA,CAHA,8BACA,CAFA,eACA,CAGA,mBAEA,sBAEA,kDAEA,CAEE,kCACE,6BACA,4CAMJ,kDAGA,eAIA,6CACE,mCACA,0CACA,8BAEA,sCACA,cAEF,+BACE,CAHA,eAGA,YACA,4BACA,gEAGF,0DAME,sBAFA,kBAGE,+BACA,4BAIJ,aACE,oBACA,CAFF,gBAEE,yBAEA,eACA,CApHsB,YAmHtB,CACA,sECpIF,mDACA,2FAMA,iCAGA,CACA,eACE,CAFF,kBACA,CADA,wBAEE,CACA,6BACE,eAEF,CAHA,YAGA,wEAIE,mBACE,qCACF,CAGJ,wBACE,CAJE,iBAIF,8BAIJ,+CAEE,qDAEF,kDAIE,YAEF,CAFE,YAEF,CCjCE,mFAJA,QACA,UAIE,CADF,iBACE,mCAGA,iDACE,+BAGF,wBAEA,mBAKA,6CAEF,CAHE,mBACA,CAEF,kCAIE,CARA,kBACA,CAFF,eASE,YACA,mBAGF,CAJE,UAIF,wCCjCA,oBDmCE,wBCpCJ,uCACE,8BACA,4CACA,oBAGA,2CCAA,6CAGE,CAPF,uBAIA,CDGA,gDACE,6BCVJ,CAWM,2CAEF,CAJA,kCAEE,CDJF,aCLF,gBDKE,uBCMA,gCAGA,gDAGE,wBAGJ,0BAEA,iBACE,aACF,CADE,UACF,uBACE,aACF,oBACE,YACF,4BACE,6CAMA,CAYF,6DAZE,mCAGE,iCASJ,4BAGE,4DADA,+BACA,CAFA,qBAEA,yBACE,aAEF,wBAHA,SAGA,iHACE,2DAKF,CANA,yCACE,CADF,oCAMA,uSAIA,sGACE,oDChEJ,WAEF,yBACE,QACA,eAEA,gBAEE,uCAGA,CALF,iCAKE,uCAGA,0BACA,CACA,oBACA,iCClBJ,gBACE,KAGF,qBACE,YAGF,CAHE,cAGF,gCAEE,mBACA,iEAEA,oCACA,wCAEA,sBACA,WAEA,CAFA,YAEA,8EAEA,mCAFA,iBAEA,6BAIA,wEAKA,sDAIE,CARF,mDAIA,CAIE,cAEF,8CAIA,oBAFE,iBAEF,8CAGE,eAEF,CAFE,YAEF,OAEE,kBAGJ,CAJI,eACA,CAFF,mBAKF,yCCjDE,oBACA,CAFA,iBAEA,uCAKE,iBACA,qCAGA,mBCZJ,CDWI,gBCXJ,6BAEE,eACA,sBAGA,eAEA,sBACA,oDACA,iGAMA,gBAFE,YAEF,8FAME,iJClBF,YACA,gNAUE,6BAEF,oTAcI,kBACF,gHAIA,qBACE,eACF,qDACE,kBACF,6DACE,4BCxCJ,oBAEF,qCAEI,+CAGF,uBACE,uDAGJ,oBAkBE,mDAhBA,+CAaA,CAbA,oBAaA,0FAEE,CAFF,gGAbA,+BAaA,0BAGA,mQAIA,oNAEE,iBAGJ,CAHI,gBADA,gBAIJ,8CAYI,CAZJ,wCAYI,sVACE,iCAGA,uEAHA,QAGA,qXAKJ,iDAGF,CARM,+CACE,iDAIN,CALI,gBAQN,mHACE,gBAGF,2DACE,0EAOA,0EAKA,6EC/EA,iDACA,gCACA,oDAGA,qBACA,oDCFA,cACA,eAEA,yBAGF,sBAEE,iBACA,sNAWA,iBACE,kBACA,wRAgBA,kBAEA,iOAgBA,uCACE,uEAEA,kBAEF,qUAuBE,iDAIJ,CACA,geCxFF,4BAEE,CAQA,6JACA,iDAIA,sEAGA,mDAOF,iDAGE,4DAIA,8CACA,qDAEE,eAFF,cAEE,oBAEF,uBAFE,kCAGA,eACA,iBACA,mBAIA,mDACA,CAHA,uCAEA,CAJA,0CACA,CAIA,gBAJA,gBACA,oBADA,gBAIA,wBAEJ,gBAGE,6BACA,YAHA,iBAGA,gCACA,iEAEA,6CACA,sDACA,0BADA,wBACA,0BACA,oIAIA,mBAFA,YAEA,qBACA,0CAIE,uBAEF,CAHA,yBACE,CAEF,iDACE,mFAKJ,oCACE,CANE,aAKJ,CACE,qEAIA,YAFA,WAEA,CAHA,aACA,CAEA,gBACE,4BACA,sBADA,aACA,gCAMF,oCACA,yDACA,2CAEA,qBAGE,kBAEA,CACA,mCAIF,CARE,YACA,CAOF,iCAEE,CAPA,oBACA,CAQA,oBACE,uDAEJ,sDAGA,CAHA,cAGA,0BACE,oDAIA,oCACA,4BACA,sBAGA,cAEA,oFAGA,sBAEA,yDACE,CAIA,iBAJA,wBAIA,6CAJA,6CAOA,4BAGJ,CAHI,cAGJ,yCAGA,kBACE,CAIA,iDAEA,CATA,YAEF,CACE,4CAGA,kBAIA,wEAEA,wDAIF,kCAOE,iDACA,CARF,WAIE,sCAGA,CANA,2CACA,CAMA,oEARF,iBACE,CACA,qCAMA,iBAuBE,uBAlBF,YAKA,2DALA,uDAKA,CALA,sBAiBA,4CACE,CALA,gRAIF,YACE,UAEN,uBACE,YACA,mCAOE,+CAGA,8BAGF,+CAGA,4BCjNA,SDiNA,qFCjNA,gDAGA,sCACA,qCACA,sDAIF,CAIE,kDAGA,CAPF,0CAOE,kBAEA,kDAEA,CAHA,eACA,CAFA,YACA,CADA,SAIA,mHAIE,CAGA,6CAFA,oCAeE,CAbF,yBACE,qBAEJ,CAGE,oBACA,CAEA,YAFA,2CACF,CACE,uBAEA,mFAEE,CALJ,oBACE,CAEA,UAEE,gCAGF,sDAEA,yCC7CJ,oCAGA,CD6CE,yXAQE,sCCrDJ,wCAGA,oCACE","sources":["webpack:///./node_modules/normalize.css/normalize.css","webpack:///./src/furo/assets/styles/base/_print.sass","webpack:///./src/furo/assets/styles/base/_screen-readers.sass","webpack:///./src/furo/assets/styles/base/_theme.sass","webpack:///./src/furo/assets/styles/variables/_fonts.scss","webpack:///./src/furo/assets/styles/variables/_spacing.scss","webpack:///./src/furo/assets/styles/variables/_icons.scss","webpack:///./src/furo/assets/styles/variables/_admonitions.scss","webpack:///./src/furo/assets/styles/variables/_colors.scss","webpack:///./src/furo/assets/styles/base/_typography.sass","webpack:///./src/furo/assets/styles/_scaffold.sass","webpack:///./src/furo/assets/styles/content/_admonitions.sass","webpack:///./src/furo/assets/styles/content/_api.sass","webpack:///./src/furo/assets/styles/content/_blocks.sass","webpack:///./src/furo/assets/styles/content/_captions.sass","webpack:///./src/furo/assets/styles/content/_code.sass","webpack:///./src/furo/assets/styles/content/_footnotes.sass","webpack:///./src/furo/assets/styles/content/_images.sass","webpack:///./src/furo/assets/styles/content/_indexes.sass","webpack:///./src/furo/assets/styles/content/_lists.sass","webpack:///./src/furo/assets/styles/content/_math.sass","webpack:///./src/furo/assets/styles/content/_misc.sass","webpack:///./src/furo/assets/styles/content/_rubrics.sass","webpack:///./src/furo/assets/styles/content/_sidebar.sass","webpack:///./src/furo/assets/styles/content/_tables.sass","webpack:///./src/furo/assets/styles/content/_target.sass","webpack:///./src/furo/assets/styles/content/_gui-labels.sass","webpack:///./src/furo/assets/styles/components/_footer.sass","webpack:///./src/furo/assets/styles/components/_sidebar.sass","webpack:///./src/furo/assets/styles/components/_table_of_contents.sass","webpack:///./src/furo/assets/styles/_shame.sass"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput { /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect { /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n","// This file contains styles for managing print media.\n\n////////////////////////////////////////////////////////////////////////////////\n// Hide elements not relevant to print media.\n////////////////////////////////////////////////////////////////////////////////\n@media print\n // Hide icon container.\n .content-icon-container\n display: none !important\n\n // Hide showing header links if hovering over when printing.\n .headerlink\n display: none !important\n\n // Hide mobile header.\n .mobile-header\n display: none !important\n\n // Hide navigation links.\n .related-pages\n display: none !important\n\n////////////////////////////////////////////////////////////////////////////////\n// Tweaks related to decolorization.\n////////////////////////////////////////////////////////////////////////////////\n@media print\n // Apply a border around code which no longer have a color background.\n .highlight\n border: 0.1pt solid var(--color-foreground-border)\n\n////////////////////////////////////////////////////////////////////////////////\n// Avoid page break in some relevant cases.\n////////////////////////////////////////////////////////////////////////////////\n@media print\n ul, ol, dl, a, table, pre, blockquote\n page-break-inside: avoid\n\n h1, h2, h3, h4, h5, h6, img, figure, caption\n page-break-inside: avoid\n page-break-after: avoid\n\n ul, ol, dl\n page-break-before: avoid\n",".visually-hidden\n position: absolute !important\n width: 1px !important\n height: 1px !important\n padding: 0 !important\n margin: -1px !important\n overflow: hidden !important\n clip: rect(0,0,0,0) !important\n white-space: nowrap !important\n border: 0 !important\n\n:-moz-focusring\n outline: auto\n","// This file serves as the \"skeleton\" of the theming logic.\n//\n// This contains the bulk of the logic for handling dark mode, color scheme\n// toggling and the handling of color-scheme-specific hiding of elements.\n\nbody\n @include fonts\n @include spacing\n @include icons\n @include admonitions\n @include default-admonition(#651fff, \"abstract\")\n @include default-topic(#14B8A6, \"pencil\")\n\n @include colors\n\n.only-light\n display: block !important\nhtml body .only-dark\n display: none !important\n\n// Ignore dark-mode hints if print media.\n@media not print\n // Enable dark-mode, if requested.\n body[data-theme=\"dark\"]\n @include colors-dark\n\n html & .only-light\n display: none !important\n .only-dark\n display: block !important\n\n // Enable dark mode, unless explicitly told to avoid.\n @media (prefers-color-scheme: dark)\n body:not([data-theme=\"light\"])\n @include colors-dark\n\n html & .only-light\n display: none !important\n .only-dark\n display: block !important\n\n//\n// Theme toggle presentation\n//\nbody[data-theme=\"auto\"]\n .theme-toggle svg.theme-icon-when-auto\n display: block\n\nbody[data-theme=\"dark\"]\n .theme-toggle svg.theme-icon-when-dark\n display: block\n\nbody[data-theme=\"light\"]\n .theme-toggle svg.theme-icon-when-light\n display: block\n","// Fonts used by this theme.\n//\n// There are basically two things here -- using the system font stack and\n// defining sizes for various elements in %ages. We could have also used `em`\n// but %age is easier to reason about for me.\n\n@mixin fonts {\n // These are adapted from https://systemfontstack.com/\n --font-stack: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial,\n sans-serif, Apple Color Emoji, Segoe UI Emoji;\n --font-stack--monospace: \"SFMono-Regular\", Menlo, Consolas, Monaco,\n Liberation Mono, Lucida Console, monospace;\n\n --font-size--normal: 100%;\n --font-size--small: 87.5%;\n --font-size--small--2: 81.25%;\n --font-size--small--3: 75%;\n --font-size--small--4: 62.5%;\n\n // Sidebar\n --sidebar-caption-font-size: var(--font-size--small--2);\n --sidebar-item-font-size: var(--font-size--small);\n --sidebar-search-input-font-size: var(--font-size--small);\n\n // Table of Contents\n --toc-font-size: var(--font-size--small--3);\n --toc-font-size--mobile: var(--font-size--normal);\n --toc-title-font-size: var(--font-size--small--4);\n\n // Admonitions\n //\n // These aren't defined in terms of %ages, since nesting these is permitted.\n --admonition-font-size: 0.8125rem;\n --admonition-title-font-size: 0.8125rem;\n\n // Code\n --code-font-size: var(--font-size--small--2);\n\n // API\n --api-font-size: var(--font-size--small);\n}\n","// Spacing for various elements on the page\n//\n// If the user wants to tweak things in a certain way, they are permitted to.\n// They also have to deal with the consequences though!\n\n@mixin spacing {\n // Header!\n --header-height: calc(\n var(--sidebar-item-line-height) + 4 * #{var(--sidebar-item-spacing-vertical)}\n );\n --header-padding: 0.5rem;\n\n // Sidebar\n --sidebar-tree-space-above: 1.5rem;\n --sidebar-caption-space-above: 1rem;\n\n --sidebar-item-line-height: 1rem;\n --sidebar-item-spacing-vertical: 0.5rem;\n --sidebar-item-spacing-horizontal: 1rem;\n --sidebar-item-height: calc(\n var(--sidebar-item-line-height) + 2 *#{var(--sidebar-item-spacing-vertical)}\n );\n\n --sidebar-expander-width: var(--sidebar-item-height); // be square\n\n --sidebar-search-space-above: 0.5rem;\n --sidebar-search-input-spacing-vertical: 0.5rem;\n --sidebar-search-input-spacing-horizontal: 0.5rem;\n --sidebar-search-input-height: 1rem;\n --sidebar-search-icon-size: var(--sidebar-search-input-height);\n\n // Table of Contents\n --toc-title-padding: 0.25rem 0;\n --toc-spacing-vertical: 1.5rem;\n --toc-spacing-horizontal: 1.5rem;\n --toc-item-spacing-vertical: 0.4rem;\n --toc-item-spacing-horizontal: 1rem;\n}\n","// Expose theme icons as CSS variables.\n\n$icons: (\n // Adapted from tabler-icons\n // url: https://tablericons.com/\n \"search\":\n url('data:image/svg+xml;charset=utf-8,'),\n // Factored out from mkdocs-material on 24-Aug-2020.\n // url: https://squidfunk.github.io/mkdocs-material/reference/admonitions/\n \"pencil\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"abstract\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"info\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"flame\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"question\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"warning\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"failure\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"spark\":\n url('data:image/svg+xml;charset=utf-8,')\n);\n\n@mixin icons {\n @each $name, $glyph in $icons {\n --icon-#{$name}: #{$glyph};\n }\n}\n","// Admonitions\n\n// Structure of these is:\n// admonition-class: color \"icon-name\";\n//\n// The colors are translated into CSS variables below. The icons are\n// used directly in the main declarations to set the `mask-image` in\n// the title.\n\n// prettier-ignore\n$admonitions: (\n // Each of these has an reST directives for it.\n \"caution\": #ff9100 \"spark\",\n \"warning\": #ff9100 \"warning\",\n \"danger\": #ff5252 \"spark\",\n \"attention\": #ff5252 \"warning\",\n \"error\": #ff5252 \"failure\",\n \"hint\": #00c852 \"question\",\n \"tip\": #00c852 \"info\",\n \"important\": #00bfa5 \"flame\",\n \"note\": #00b0ff \"pencil\",\n \"seealso\": #448aff \"info\",\n \"admonition-todo\": #808080 \"pencil\"\n);\n\n@mixin default-admonition($color, $icon-name) {\n --color-admonition-title: #{$color};\n --color-admonition-title-background: #{rgba($color, 0.2)};\n\n --icon-admonition-default: var(--icon-#{$icon-name});\n}\n\n@mixin default-topic($color, $icon-name) {\n --color-topic-title: #{$color};\n --color-topic-title-background: #{rgba($color, 0.2)};\n\n --icon-topic-default: var(--icon-#{$icon-name});\n}\n\n@mixin admonitions {\n @each $name, $values in $admonitions {\n --color-admonition-title--#{$name}: #{nth($values, 1)};\n --color-admonition-title-background--#{$name}: #{rgba(\n nth($values, 1),\n 0.2\n )};\n }\n}\n","// Colors used throughout this theme.\n//\n// The aim is to give the user more control. Thus, instead of hard-coding colors\n// in various parts of the stylesheet, the approach taken is to define all\n// colors as CSS variables and reusing them in all the places.\n//\n// `colors-dark` depends on `colors` being included at a lower specificity.\n\n@mixin colors {\n --color-problematic: #b30000;\n\n // Base Colors\n --color-foreground-primary: black; // for main text and headings\n --color-foreground-secondary: #5a5c63; // for secondary text\n --color-foreground-muted: #646776; // for muted text\n --color-foreground-border: #878787; // for content borders\n\n --color-background-primary: white; // for content\n --color-background-secondary: #f8f9fb; // for navigation + ToC\n --color-background-hover: #efeff4ff; // for navigation-item hover\n --color-background-hover--transparent: #efeff400;\n --color-background-border: #eeebee; // for UI borders\n --color-background-item: #ccc; // for \"background\" items (eg: copybutton)\n\n // Announcements\n --color-announcement-background: #000000dd;\n --color-announcement-text: #eeebee;\n\n // Brand colors\n --color-brand-primary: #2962ff;\n --color-brand-content: #2a5adf;\n\n // API documentation\n --color-api-background: var(--color-background-hover--transparent);\n --color-api-background-hover: var(--color-background-hover);\n --color-api-overall: var(--color-foreground-secondary);\n --color-api-name: var(--color-problematic);\n --color-api-pre-name: var(--color-problematic);\n --color-api-paren: var(--color-foreground-secondary);\n --color-api-keyword: var(--color-foreground-primary);\n --color-highlight-on-target: #ffffcc;\n\n // Inline code background\n --color-inline-code-background: var(--color-background-secondary);\n\n // Highlighted text (search)\n --color-highlighted-background: #ddeeff;\n --color-highlighted-text: var(--color-foreground-primary);\n\n // GUI Labels\n --color-guilabel-background: #ddeeff80;\n --color-guilabel-border: #bedaf580;\n --color-guilabel-text: var(--color-foreground-primary);\n\n // Admonitions!\n --color-admonition-background: transparent;\n\n //////////////////////////////////////////////////////////////////////////////\n // Everything below this should be one of:\n // - var(...)\n // - *-gradient(...)\n // - special literal values (eg: transparent, none)\n //////////////////////////////////////////////////////////////////////////////\n\n // Tables\n --color-table-header-background: var(--color-background-secondary);\n --color-table-border: var(--color-background-border);\n\n // Cards\n --color-card-border: var(--color-background-secondary);\n --color-card-background: transparent;\n --color-card-marginals-background: var(--color-background-secondary);\n\n // Header\n --color-header-background: var(--color-background-primary);\n --color-header-border: var(--color-background-border);\n --color-header-text: var(--color-foreground-primary);\n\n // Sidebar (left)\n --color-sidebar-background: var(--color-background-secondary);\n --color-sidebar-background-border: var(--color-background-border);\n\n --color-sidebar-brand-text: var(--color-foreground-primary);\n --color-sidebar-caption-text: var(--color-foreground-muted);\n --color-sidebar-link-text: var(--color-foreground-secondary);\n --color-sidebar-link-text--top-level: var(--color-brand-primary);\n\n --color-sidebar-item-background: var(--color-sidebar-background);\n --color-sidebar-item-background--current: var(\n --color-sidebar-item-background\n );\n --color-sidebar-item-background--hover: linear-gradient(\n 90deg,\n var(--color-background-hover--transparent) 0%,\n var(--color-background-hover) var(--sidebar-item-spacing-horizontal),\n var(--color-background-hover) 100%\n );\n\n --color-sidebar-item-expander-background: transparent;\n --color-sidebar-item-expander-background--hover: var(\n --color-background-hover\n );\n\n --color-sidebar-search-text: var(--color-foreground-primary);\n --color-sidebar-search-background: var(--color-background-secondary);\n --color-sidebar-search-background--focus: var(--color-background-primary);\n --color-sidebar-search-border: var(--color-background-border);\n --color-sidebar-search-icon: var(--color-foreground-muted);\n\n // Table of Contents (right)\n --color-toc-background: var(--color-background-primary);\n --color-toc-title-text: var(--color-foreground-muted);\n --color-toc-item-text: var(--color-foreground-secondary);\n --color-toc-item-text--hover: var(--color-foreground-primary);\n --color-toc-item-text--active: var(--color-brand-primary);\n\n // Actual page contents\n --color-content-foreground: var(--color-foreground-primary);\n --color-content-background: transparent;\n\n // Links\n --color-link: var(--color-brand-content);\n --color-link--hover: var(--color-brand-content);\n --color-link-underline: var(--color-background-border);\n --color-link-underline--hover: var(--color-foreground-border);\n}\n\n@mixin colors-dark {\n --color-problematic: #ee5151;\n\n // Base Colors\n --color-foreground-primary: #ffffffcc; // for main text and headings\n --color-foreground-secondary: #9ca0a5; // for secondary text\n --color-foreground-muted: #81868d; // for muted text\n --color-foreground-border: #666666; // for content borders\n\n --color-background-primary: #131416; // for content\n --color-background-secondary: #1a1c1e; // for navigation + ToC\n --color-background-hover: #1e2124ff; // for navigation-item hover\n --color-background-hover--transparent: #1e212400;\n --color-background-border: #303335; // for UI borders\n --color-background-item: #444; // for \"background\" items (eg: copybutton)\n\n // Announcements\n --color-announcement-background: #000000dd;\n --color-announcement-text: #eeebee;\n\n // Brand colors\n --color-brand-primary: #2b8cee;\n --color-brand-content: #368ce2;\n\n // Highlighted text (search)\n --color-highlighted-background: #083563;\n\n // GUI Labels\n --color-guilabel-background: #08356380;\n --color-guilabel-border: #13395f80;\n\n // API documentation\n --color-api-keyword: var(--color-foreground-secondary);\n --color-highlight-on-target: #333300;\n\n // Admonitions\n --color-admonition-background: #18181a;\n\n // Cards\n --color-card-border: var(--color-background-secondary);\n --color-card-background: #18181a;\n --color-card-marginals-background: var(--color-background-hover);\n}\n","// This file contains the styling for making the content throughout the page,\n// including fonts, paragraphs, headings and spacing among these elements.\n\nbody\n font-family: var(--font-stack)\npre,\ncode,\nkbd,\nsamp\n font-family: var(--font-stack--monospace)\n\n// Make fonts look slightly nicer.\nbody\n -webkit-font-smoothing: antialiased\n -moz-osx-font-smoothing: grayscale\n\n// Line height from Bootstrap 4.1\narticle\n line-height: 1.5\n\n//\n// Headings\n//\nh1,\nh2,\nh3,\nh4,\nh5,\nh6\n line-height: 1.25\n font-weight: bold\n\n border-radius: 0.5rem\n margin-top: 0.5rem\n margin-bottom: 0.5rem\n margin-left: -0.5rem\n margin-right: -0.5rem\n padding-left: 0.5rem\n padding-right: 0.5rem\n\n + p\n margin-top: 0\n\nh1\n font-size: 2.5em\n margin-top: 1.75rem\n margin-bottom: 1rem\nh2\n font-size: 2em\n margin-top: 1.75rem\nh3\n font-size: 1.5em\nh4\n font-size: 1.25em\nh5\n font-size: 1.125em\nh6\n font-size: 1em\n\nsmall\n opacity: 75%\n font-size: 80%\n\n// Paragraph\np\n margin-top: 0.5rem\n margin-bottom: 0.75rem\n\n// Horizontal rules\nhr.docutils\n height: 1px\n padding: 0\n margin: 2rem 0\n background-color: var(--color-background-border)\n border: 0\n\n.centered\n text-align: center\n\n// Links\na\n text-decoration: underline\n\n color: var(--color-link)\n text-decoration-color: var(--color-link-underline)\n\n &:hover\n color: var(--color-link--hover)\n text-decoration-color: var(--color-link-underline--hover)\n &.muted-link\n color: inherit\n &:hover\n color: var(--color-link)\n text-decoration-color: var(--color-link-underline--hover)\n","// This file contains the styles for the overall layouting of the documentation\n// skeleton, including the responsive changes as well as sidebar toggles.\n//\n// This is implemented as a mobile-last design, which isn't ideal, but it is\n// reasonably good-enough and I got pretty tired by the time I'd finished this\n// to move the rules around to fix this. Shouldn't take more than 3-4 hours,\n// if you know what you're doing tho.\n\n// HACK: Not all browsers account for the scrollbar width in media queries.\n// This results in horizontal scrollbars in the breakpoint where we go\n// from displaying everything to hiding the ToC. We accomodate for this by\n// adding a bit of padding to the TOC drawer, disabling the horizontal\n// scrollbar and allowing the scrollbars to cover the padding.\n// https://www.456bereastreet.com/archive/201301/media_query_width_and_vertical_scrollbars/\n\n// HACK: Always having the scrollbar visible, prevents certain browsers from\n// causing the content to stutter horizontally between taller-than-viewport and\n// not-taller-than-viewport pages.\n\nhtml\n overflow-x: hidden\n overflow-y: scroll\n scroll-behavior: smooth\n\n.sidebar-scroll, .toc-scroll, article[role=main] *\n // Override Firefox scrollbar style\n scrollbar-width: thin\n scrollbar-color: var(--color-foreground-border) transparent\n\n // Override Chrome scrollbar styles\n &::-webkit-scrollbar\n width: 0.25rem\n height: 0.25rem\n &::-webkit-scrollbar-thumb\n background-color: var(--color-foreground-border)\n border-radius: 0.125rem\n\n//\n// Overalls\n//\nhtml,\nbody\n height: 100%\n color: var(--color-foreground-primary)\n background: var(--color-background-primary)\n\narticle\n color: var(--color-content-foreground)\n background: var(--color-content-background)\n\n.page\n display: flex\n // fill the viewport for pages with little content.\n min-height: 100%\n\n.mobile-header\n width: 100%\n height: var(--header-height)\n background-color: var(--color-header-background)\n color: var(--color-header-text)\n border-bottom: 1px solid var(--color-header-border)\n\n // Looks like sub-script/super-script have this, and we need this to\n // be \"on top\" of those.\n z-index: 10\n\n // We don't show the header on large screens.\n display: none\n\n // Add shadow when scrolled\n &.scrolled\n border-bottom: none\n box-shadow: 0 0 0.2rem rgba(0, 0, 0, 0.1), 0 0.2rem 0.4rem rgba(0, 0, 0, 0.2)\n\n .header-center\n a\n color: var(--color-header-text)\n text-decoration: none\n\n.main\n display: flex\n flex: 1\n\n// Sidebar (left) also covers the entire left portion of screen.\n.sidebar-drawer\n box-sizing: border-box\n\n border-right: 1px solid var(--color-sidebar-background-border)\n background: var(--color-sidebar-background)\n\n display: flex\n justify-content: flex-end\n // These next two lines took me two days to figure out.\n width: calc((100% - #{$full-width}) / 2 + #{$sidebar-width})\n min-width: $sidebar-width\n\n// Scroll-along sidebars\n.sidebar-container,\n.toc-drawer\n box-sizing: border-box\n width: $sidebar-width\n\n.toc-drawer\n background: var(--color-toc-background)\n // See HACK described on top of this document\n padding-right: 1rem\n\n.sidebar-sticky,\n.toc-sticky\n position: sticky\n top: 0\n height: min(100%, 100vh)\n height: 100vh\n\n display: flex\n flex-direction: column\n\n.sidebar-scroll,\n.toc-scroll\n flex-grow: 1\n flex-shrink: 1\n\n overflow: auto\n scroll-behavior: smooth\n\n// Central items.\n.content\n padding: 0 $content-padding\n width: $content-width\n\n display: flex\n flex-direction: column\n justify-content: space-between\n\n.icon\n display: inline-block\n height: 1rem\n width: 1rem\n svg\n width: 100%\n height: 100%\n\n//\n// Accommodate announcement banner\n//\n.announcement\n background-color: var(--color-announcement-background)\n color: var(--color-announcement-text)\n\n height: var(--header-height)\n display: flex\n align-items: center\n overflow-x: auto\n & + .page\n min-height: calc(100% - var(--header-height))\n\n.announcement-content\n box-sizing: border-box\n padding: 0.5rem\n min-width: 100%\n white-space: nowrap\n text-align: center\n\n a\n color: var(--color-announcement-text)\n text-decoration-color: var(--color-announcement-text)\n\n &:hover\n color: var(--color-announcement-text)\n text-decoration-color: var(--color-link--hover)\n\n////////////////////////////////////////////////////////////////////////////////\n// Toggles for theme\n////////////////////////////////////////////////////////////////////////////////\n.no-js .theme-toggle-container // don't show theme toggle if there's no JS\n display: none\n\n.theme-toggle-container\n vertical-align: middle\n\n.theme-toggle\n cursor: pointer\n border: none\n padding: 0\n background: transparent\n\n.theme-toggle svg\n vertical-align: middle\n height: 1rem\n width: 1rem\n color: var(--color-foreground-primary)\n display: none\n\n.theme-toggle-header\n float: left\n padding: 1rem 0.5rem\n\n////////////////////////////////////////////////////////////////////////////////\n// Toggles for elements\n////////////////////////////////////////////////////////////////////////////////\n.toc-overlay-icon, .nav-overlay-icon\n display: none\n cursor: pointer\n\n .icon\n color: var(--color-foreground-secondary)\n height: 1rem\n width: 1rem\n\n.toc-header-icon, .nav-overlay-icon\n // for when we set display: flex\n justify-content: center\n align-items: center\n\n.toc-content-icon\n height: 1.5rem\n width: 1.5rem\n\n.content-icon-container\n float: right\n display: flex\n margin-top: 1.5rem\n margin-left: 1rem\n margin-bottom: 1rem\n gap: 0.5rem\n\n .edit-this-page svg\n color: inherit\n height: 1rem\n width: 1rem\n\n.sidebar-toggle\n position: absolute\n display: none\n// \n.sidebar-toggle[name=\"__toc\"]\n left: 20px\n.sidebar-toggle:checked\n left: 40px\n// \n\n.overlay\n position: fixed\n top: 0\n width: 0\n height: 0\n\n transition: width 0ms, height 0ms, opacity 250ms ease-out\n\n opacity: 0\n background-color: rgba(0, 0, 0, 0.54)\n.sidebar-overlay\n z-index: 20\n.toc-overlay\n z-index: 40\n\n// Keep things on top and smooth.\n.sidebar-drawer\n z-index: 30\n transition: left 250ms ease-in-out\n.toc-drawer\n z-index: 50\n transition: right 250ms ease-in-out\n\n// Show the Sidebar\n#__navigation:checked\n & ~ .sidebar-overlay\n width: 100%\n height: 100%\n opacity: 1\n & ~ .page\n .sidebar-drawer\n top: 0\n left: 0\n // Show the toc sidebar\n#__toc:checked\n & ~ .toc-overlay\n width: 100%\n height: 100%\n opacity: 1\n & ~ .page\n .toc-drawer\n top: 0\n right: 0\n\n////////////////////////////////////////////////////////////////////////////////\n// Back to top\n////////////////////////////////////////////////////////////////////////////////\n.back-to-top\n text-decoration: none\n\n display: none\n position: fixed\n left: 0\n top: 1rem\n padding: 0.5rem\n padding-right: 0.75rem\n border-radius: 1rem\n font-size: 0.8125rem\n\n background: var(--color-background-primary)\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), #6b728080 0px 0px 1px 0px\n\n z-index: 10\n\n margin-left: 50%\n transform: translateX(-50%)\n svg\n height: 1rem\n width: 1rem\n fill: currentColor\n display: inline-block\n\n span\n margin-left: 0.25rem\n\n .show-back-to-top &\n display: flex\n align-items: center\n\n////////////////////////////////////////////////////////////////////////////////\n// Responsive layouting\n////////////////////////////////////////////////////////////////////////////////\n// Make things a bit bigger on bigger screens.\n@media (min-width: $full-width + $sidebar-width)\n html\n font-size: 110%\n\n@media (max-width: $full-width)\n // Collapse \"toc\" into the icon.\n .toc-content-icon\n display: flex\n .toc-drawer\n position: fixed\n height: 100vh\n top: 0\n right: -$sidebar-width\n border-left: 1px solid var(--color-background-muted)\n .toc-tree\n border-left: none\n font-size: var(--toc-font-size--mobile)\n\n // Accomodate for a changed content width.\n .sidebar-drawer\n width: calc((100% - #{$full-width - $sidebar-width}) / 2 + #{$sidebar-width})\n\n@media (max-width: $full-width - $sidebar-width)\n // Collapse \"navigation\".\n .nav-overlay-icon\n display: flex\n .sidebar-drawer\n position: fixed\n height: 100vh\n width: $sidebar-width\n\n top: 0\n left: -$sidebar-width\n\n // Swap which icon is visible.\n .toc-header-icon\n display: flex\n .toc-content-icon, .theme-toggle-content\n display: none\n .theme-toggle-header\n display: block\n\n // Show the header.\n .mobile-header\n position: sticky\n top: 0\n display: flex\n justify-content: space-between\n align-items: center\n\n .header-left,\n .header-right\n display: flex\n height: var(--header-height)\n padding: 0 var(--header-padding)\n label\n height: 100%\n width: 100%\n user-select: none\n\n .nav-overlay-icon .icon,\n .theme-toggle svg\n height: 1.25rem\n width: 1.25rem\n\n // Add a scroll margin for the content\n :target\n scroll-margin-top: var(--header-height)\n\n // Show back-to-top below the header\n .back-to-top\n top: calc(var(--header-height) + 0.5rem)\n\n // Center the page, and accommodate for the header.\n .page\n flex-direction: column\n justify-content: center\n .content\n margin-left: auto\n margin-right: auto\n\n@media (max-width: $content-width + 2* $content-padding)\n // Content should respect window limits.\n .content\n width: 100%\n overflow-x: auto\n\n@media (max-width: $content-width)\n .content\n padding: 0 $content-padding--small\n // Don't float sidebars to the right.\n article aside.sidebar\n float: none\n width: 100%\n margin: 1rem 0\n","//\n// The design here is strongly inspired by mkdocs-material.\n.admonition, .topic\n margin: 1rem auto\n padding: 0 0.5rem 0.5rem 0.5rem\n\n background: var(--color-admonition-background)\n\n border-radius: 0.2rem\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), 0 0 0.0625rem rgba(0, 0, 0, 0.1)\n\n font-size: var(--admonition-font-size)\n\n overflow: hidden\n page-break-inside: avoid\n\n // First element should have no margin, since the title has it.\n > :nth-child(2)\n margin-top: 0\n\n // Last item should have no margin, since we'll control that w/ padding\n > :last-child\n margin-bottom: 0\n\np.admonition-title, p.topic-title\n position: relative\n margin: 0 -0.5rem 0.5rem\n padding-left: 2rem\n padding-right: .5rem\n padding-top: .4rem\n padding-bottom: .4rem\n\n font-weight: 500\n font-size: var(--admonition-title-font-size)\n line-height: 1.3\n\n // Our fancy icon\n &::before\n content: \"\"\n position: absolute\n left: 0.5rem\n width: 1rem\n height: 1rem\n\n// Default styles\np.admonition-title\n background-color: var(--color-admonition-title-background)\n &::before\n background-color: var(--color-admonition-title)\n mask-image: var(--icon-admonition-default)\n mask-repeat: no-repeat\n\np.topic-title\n background-color: var(--color-topic-title-background)\n &::before\n background-color: var(--color-topic-title)\n mask-image: var(--icon-topic-default)\n mask-repeat: no-repeat\n\n//\n// Variants\n//\n.admonition\n border-left: 0.2rem solid var(--color-admonition-title)\n\n @each $type, $value in $admonitions\n &.#{$type}\n border-left-color: var(--color-admonition-title--#{$type})\n > .admonition-title\n background-color: var(--color-admonition-title-background--#{$type})\n &::before\n background-color: var(--color-admonition-title--#{$type})\n mask-image: var(--icon-#{nth($value, 2)})\n\n.admonition-todo > .admonition-title\n text-transform: uppercase\n","// This file stylizes the API documentation (stuff generated by autodoc). It's\n// deeply nested due to how autodoc structures the HTML without enough classes\n// to select the relevant items.\n\n// API docs!\ndl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple)\n // Tweak the spacing of all the things!\n dd\n margin-left: 2rem\n > :first-child\n margin-top: 0.125rem\n > :last-child\n margin-bottom: 0.75rem\n\n // This is used for the arguments\n .field-list\n margin-bottom: 0.75rem\n\n // \"Headings\" (like \"Parameters\" and \"Return\")\n > dt\n text-transform: uppercase\n font-size: var(--font-size--small)\n\n dd:empty\n margin-bottom: 0.5rem\n dd > ul\n margin-left: -1.2rem\n > li\n > p:nth-child(2)\n margin-top: 0\n // When the last-empty-paragraph follows a paragraph, it doesn't need\n // to augument the existing spacing.\n > p + p:last-child:empty\n margin-top: 0\n margin-bottom: 0\n\n // Colorize the elements\n > dt\n color: var(--color-api-overall)\n\n.sig:not(.sig-inline)\n font-weight: bold\n\n font-size: var(--api-font-size)\n font-family: var(--font-stack--monospace)\n\n margin-left: -0.25rem\n margin-right: -0.25rem\n padding-top: 0.25rem\n padding-bottom: 0.25rem\n padding-right: 0.5rem\n\n // These are intentionally em, to properly match the font size.\n padding-left: 3em\n text-indent: -2.5em\n\n border-radius: 0.25rem\n\n background: var(--color-api-background)\n transition: background 100ms ease-out\n\n &:hover\n background: var(--color-api-background-hover)\n\n // adjust the size of the [source] link on the right.\n a.reference\n .viewcode-link\n font-weight: normal\n width: 3.5rem\n\n // Break words when they're too long\n span.pre\n overflow-wrap: anywhere\n\nem.property\n font-style: normal\n &:first-child\n color: var(--color-api-keyword)\n.sig-name\n color: var(--color-api-name)\n.sig-prename\n font-weight: normal\n color: var(--color-api-pre-name)\n.sig-paren\n color: var(--color-api-paren)\n.sig-param\n font-style: normal\n\n.versionmodified\n font-style: italic\ndiv.versionadded, div.versionchanged, div.deprecated\n p\n margin-top: 0.125rem\n margin-bottom: 0.125rem\n\n// Align the [docs] and [source] to the right.\n.viewcode-link, .viewcode-back\n float: right\n text-align: right\n",".line-block\n margin-top: 0.5rem\n margin-bottom: 0.75rem\n .line-block\n margin-top: 0rem\n margin-bottom: 0rem\n padding-left: 1rem\n","// Captions\narticle p.caption,\ntable > caption,\n.code-block-caption\n font-size: var(--font-size--small)\n text-align: center\n\n// Caption above a TOCTree\n.toctree-wrapper.compound\n .caption, :not(.caption) > .caption-text\n font-size: var(--font-size--small)\n text-transform: uppercase\n\n text-align: initial\n margin-bottom: 0\n\n > ul\n margin-top: 0\n margin-bottom: 0\n","// Inline code\ncode.literal, .sig-inline\n background: var(--color-inline-code-background)\n border-radius: 0.2em\n // Make the font smaller, and use padding to recover.\n font-size: var(--font-size--small--2)\n padding: 0.1em 0.2em\n\n overflow-wrap: break-word\n\n p &\n border: 1px solid var(--color-background-border)\n\n.sig-inline\n font-family: var(--font-stack--monospace)\n\n// Code and Literal Blocks\n$code-spacing-vertical: 0.625rem\n$code-spacing-horizontal: 0.875rem\n\n// Wraps every literal block + line numbers.\ndiv[class*=\" highlight-\"],\ndiv[class^=\"highlight-\"]\n margin: 1em 0\n display: flex\n\n .table-wrapper\n margin: 0\n padding: 0\n\npre\n margin: 0\n padding: 0\n overflow: auto\n\n // Needed to have more specificity than pygments' \"pre\" selector. :(\n article[role=\"main\"] .highlight &\n line-height: 1.5\n\n &.literal-block,\n .highlight &\n font-size: var(--code-font-size)\n padding: $code-spacing-vertical $code-spacing-horizontal\n\n // Make it look like all the other blocks.\n &.literal-block\n margin-top: 1rem\n margin-bottom: 1rem\n\n border-radius: 0.2rem\n background-color: var(--color-code-background)\n color: var(--color-code-foreground)\n\n// All code is always contained in this.\n.highlight\n width: 100%\n border-radius: 0.2rem\n\n // Make line numbers and prompts un-selectable.\n .gp, span.linenos\n user-select: none\n pointer-events: none\n\n // Expand the line-highlighting.\n .hll\n display: block\n margin-left: -$code-spacing-horizontal\n margin-right: -$code-spacing-horizontal\n padding-left: $code-spacing-horizontal\n padding-right: $code-spacing-horizontal\n\n/* Make code block captions be nicely integrated */\n.code-block-caption\n display: flex\n padding: $code-spacing-vertical $code-spacing-horizontal\n\n border-radius: 0.25rem\n border-bottom-left-radius: 0\n border-bottom-right-radius: 0\n font-weight: 300\n border-bottom: 1px solid\n\n background-color: var(--color-code-background)\n color: var(--color-code-foreground)\n border-color: var(--color-background-border)\n\n + div[class]\n margin-top: 0\n pre\n border-top-left-radius: 0\n border-top-right-radius: 0\n\n// When `html_codeblock_linenos_style` is table.\n.highlighttable\n width: 100%\n display: block\n tbody\n display: block\n\n tr\n display: flex\n\n // Line numbers\n td.linenos\n background-color: var(--color-code-background)\n color: var(--color-code-foreground)\n padding: $code-spacing-vertical $code-spacing-horizontal\n padding-right: 0\n border-top-left-radius: 0.2rem\n border-bottom-left-radius: 0.2rem\n\n .linenodiv\n padding-right: $code-spacing-horizontal\n font-size: var(--code-font-size)\n box-shadow: -0.0625rem 0 var(--color-foreground-border) inset\n\n // Actual code\n td.code\n padding: 0\n display: block\n flex: 1\n overflow: hidden\n\n .highlight\n border-top-left-radius: 0\n border-bottom-left-radius: 0\n\n// When `html_codeblock_linenos_style` is inline.\n.highlight\n span.linenos\n display: inline-block\n padding-left: 0\n padding-right: $code-spacing-horizontal\n margin-right: $code-spacing-horizontal\n box-shadow: -0.0625rem 0 var(--color-foreground-border) inset\n","// Inline Footnote Reference\n.footnote-reference\n font-size: var(--font-size--small--4)\n vertical-align: super\n\n// Definition list, listing the content of each note.\n// docutils <= 0.17\ndl.footnote.brackets\n font-size: var(--font-size--small)\n color: var(--color-foreground-secondary)\n\n display: grid\n grid-template-columns: max-content auto\n dt\n margin: 0\n > .fn-backref\n margin-left: 0.25rem\n\n &:after\n content: \":\"\n\n .brackets\n &:before\n content: \"[\"\n &:after\n content: \"]\"\n\n dd\n margin: 0\n padding: 0 1rem\n\n// docutils >= 0.18\naside.footnote\n font-size: var(--font-size--small)\n color: var(--color-foreground-secondary)\n\naside.footnote > span,\ndiv.citation > span\n float: left\n font-weight: 500\n padding-right: 0.25rem\n\naside.footnote > p,\ndiv.citation > p\n margin-left: 2rem\n","//\n// Figures\n//\nimg\n box-sizing: border-box\n max-width: 100%\n height: auto\n\narticle\n figure, .figure\n border-radius: 0.2rem\n\n margin: 0\n :last-child\n margin-bottom: 0\n\n .align-left\n float: left\n clear: left\n margin: 0 1rem 1rem\n\n .align-right\n float: right\n clear: right\n margin: 0 1rem 1rem\n\n .align-default,\n .align-center\n display: block\n text-align: center\n margin-left: auto\n margin-right: auto\n\n // WELL, table needs to be stylised like a table.\n table.align-default\n display: table\n text-align: initial\n",".genindex-jumpbox, .domainindex-jumpbox\n border-top: 1px solid var(--color-background-border)\n border-bottom: 1px solid var(--color-background-border)\n padding: 0.25rem\n\n.genindex-section, .domainindex-section\n h2\n margin-top: 0.75rem\n margin-bottom: 0.5rem\n ul\n margin-top: 0\n margin-bottom: 0\n","ul,\nol\n padding-left: 1.2rem\n\n // Space lists out like paragraphs\n margin-top: 1rem\n margin-bottom: 1rem\n // reduce margins within li.\n li\n > p:first-child\n margin-top: 0.25rem\n margin-bottom: 0.25rem\n\n > p:last-child\n margin-top: 0.25rem\n\n > ul,\n > ol\n margin-top: 0.5rem\n margin-bottom: 0.5rem\n\nol\n &.arabic\n list-style: decimal\n &.loweralpha\n list-style: lower-alpha\n &.upperalpha\n list-style: upper-alpha\n &.lowerroman\n list-style: lower-roman\n &.upperroman\n list-style: upper-roman\n\n// Don't space lists out when they're \"simple\" or in a `.. toctree::`\n.simple,\n.toctree-wrapper\n li\n > ul,\n > ol\n margin-top: 0\n margin-bottom: 0\n\n// Definition Lists\n.field-list,\n.option-list,\ndl:not([class]),\ndl.simple,\ndl.footnote,\ndl.glossary\n dt\n font-weight: 500\n margin-top: 0.25rem\n + dt\n margin-top: 0\n\n .classifier::before\n content: \":\"\n margin-left: 0.2rem\n margin-right: 0.2rem\n\n dd\n > p:first-child,\n ul\n margin-top: 0.125rem\n\n ul\n margin-bottom: 0.125rem\n",".math-wrapper\n width: 100%\n overflow-x: auto\n\ndiv.math\n position: relative\n text-align: center\n\n .headerlink,\n &:focus .headerlink\n display: none\n\n &:hover .headerlink\n display: inline-block\n\n span.eqno\n position: absolute\n right: 0.5rem\n top: 50%\n transform: translate(0, -50%)\n z-index: 1\n","// Abbreviations\nabbr[title]\n cursor: help\n\n// \"Problematic\" content, as identified by Sphinx\n.problematic\n color: var(--color-problematic)\n\n// Keyboard / Mouse \"instructions\"\nkbd:not(.compound)\n margin: 0 0.2rem\n padding: 0 0.2rem\n border-radius: 0.2rem\n border: 1px solid var(--color-foreground-border)\n color: var(--color-foreground-primary)\n vertical-align: text-bottom\n\n font-size: var(--font-size--small--3)\n display: inline-block\n\n box-shadow: 0 0.0625rem 0 rgba(0, 0, 0, 0.2), inset 0 0 0 0.125rem var(--color-background-primary)\n\n background-color: var(--color-background-secondary)\n\n// Blockquote\nblockquote\n border-left: 4px solid var(--color-background-border)\n background: var(--color-background-secondary)\n\n margin-left: 0\n margin-right: 0\n padding: 0.5rem 1rem\n\n .attribution\n font-weight: 600\n text-align: right\n\n &.pull-quote,\n &.highlights\n font-size: 1.25em\n\n &.epigraph,\n &.pull-quote\n border-left-width: 0\n border-radius: 0.5rem\n\n &.highlights\n border-left-width: 0\n background: transparent\n\n// Center align embedded-in-text images\np .reference img\n vertical-align: middle\n","p.rubric\n line-height: 1.25\n font-weight: bold\n font-size: 1.125em\n\n // For Numpy-style documentation that's got rubrics within it.\n // https://github.com/pradyunsg/furo/discussions/505\n dd &\n line-height: inherit\n font-weight: inherit\n\n font-size: var(--font-size--small)\n text-transform: uppercase\n","article .sidebar\n float: right\n clear: right\n width: 30%\n\n margin-left: 1rem\n margin-right: 0\n\n border-radius: 0.2rem\n background-color: var(--color-background-secondary)\n border: var(--color-background-border) 1px solid\n\n > *\n padding-left: 1rem\n padding-right: 1rem\n\n > ul, > ol // lists need additional padding, because bullets.\n padding-left: 2.2rem\n\n .sidebar-title\n margin: 0\n padding: 0.5rem 1rem\n border-bottom: var(--color-background-border) 1px solid\n\n font-weight: 500\n\n// TODO: subtitle\n// TODO: dedicated variables?\n",".table-wrapper\n width: 100%\n overflow-x: auto\n margin-top: 1rem\n margin-bottom: 0.5rem\n padding: 0.2rem 0.2rem 0.75rem\n\ntable.docutils\n border-radius: 0.2rem\n border-spacing: 0\n border-collapse: collapse\n\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), 0 0 0.0625rem rgba(0, 0, 0, 0.1)\n\n th\n background: var(--color-table-header-background)\n\n td,\n th\n // Space things out properly\n padding: 0 0.25rem\n\n // Get the borders looking just-right.\n border-left: 1px solid var(--color-table-border)\n border-right: 1px solid var(--color-table-border)\n border-bottom: 1px solid var(--color-table-border)\n\n p\n margin: 0.25rem\n\n &:first-child\n border-left: none\n &:last-child\n border-right: none\n\n // MyST-parser tables set these classes for control of column alignment\n &.text-left\n text-align: left\n &.text-right\n text-align: right\n &.text-center\n text-align: center\n",":target\n scroll-margin-top: 0.5rem\n\n@media (max-width: $full-width - $sidebar-width)\n :target\n scroll-margin-top: calc(0.5rem + var(--header-height))\n\n // When a heading is selected\n section > span:target\n scroll-margin-top: calc(0.8rem + var(--header-height))\n\n// Permalinks\n.headerlink\n font-weight: 100\n user-select: none\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\ndl dt,\np.caption,\nfigcaption p,\ntable > caption,\n.code-block-caption\n > .headerlink\n margin-left: 0.5rem\n visibility: hidden\n &:hover > .headerlink\n visibility: visible\n\n // Don't change to link-like, if someone adds the contents directive.\n > .toc-backref\n color: inherit\n text-decoration-line: none\n\n// Figure and table captions are special.\nfigure:hover > figcaption > p > .headerlink,\ntable:hover > caption > .headerlink\n visibility: visible\n\n:target >, // Regular section[id] style anchors\nspan:target ~ // Non-regular span[id] style \"extra\" anchors\n h1,\n h2,\n h3,\n h4,\n h5,\n h6\n &:nth-of-type(1)\n background-color: var(--color-highlight-on-target)\n // .headerlink\n // visibility: visible\n code.literal\n background-color: transparent\n\ntable:target > caption,\nfigure:target\n background-color: var(--color-highlight-on-target)\n\n// Inline page contents\n.this-will-duplicate-information-and-it-is-still-useful-here li :target\n background-color: var(--color-highlight-on-target)\n\n// Code block permalinks\n.literal-block-wrapper:target .code-block-caption\n background-color: var(--color-highlight-on-target)\n\n// When a definition list item is selected\n//\n// There isn't really an alternative to !important here, due to the\n// high-specificity of API documentation's selector.\ndt:target\n background-color: var(--color-highlight-on-target) !important\n\n// When a footnote reference is selected\n.footnote > dt:target + dd,\n.footnote-reference:target\n background-color: var(--color-highlight-on-target)\n",".guilabel\n background-color: var(--color-guilabel-background)\n border: 1px solid var(--color-guilabel-border)\n color: var(--color-guilabel-text)\n\n padding: 0 0.3em\n border-radius: 0.5em\n font-size: 0.9em\n","// This file contains the styles used for stylizing the footer that's shown\n// below the content.\n\nfooter\n font-size: var(--font-size--small)\n display: flex\n flex-direction: column\n\n margin-top: 2rem\n\n// Bottom of page information\n.bottom-of-page\n display: flex\n align-items: center\n justify-content: space-between\n\n margin-top: 1rem\n padding-top: 1rem\n padding-bottom: 1rem\n\n color: var(--color-foreground-secondary)\n border-top: 1px solid var(--color-background-border)\n\n line-height: 1.5\n\n @media (max-width: $content-width)\n text-align: center\n flex-direction: column-reverse\n gap: 0.25rem\n\n .left-details\n font-size: var(--font-size--small)\n\n .right-details\n display: flex\n flex-direction: column\n gap: 0.25rem\n text-align: right\n\n .icons\n display: flex\n justify-content: flex-end\n gap: 0.25rem\n font-size: 1rem\n\n a\n text-decoration: none\n\n svg,\n img\n font-size: 1.125rem\n height: 1em\n width: 1em\n\n// Next/Prev page information\n.related-pages\n a\n display: flex\n align-items: center\n\n text-decoration: none\n &:hover .page-info .title\n text-decoration: underline\n color: var(--color-link)\n text-decoration-color: var(--color-link-underline)\n\n svg.furo-related-icon,\n svg.furo-related-icon > use\n flex-shrink: 0\n\n color: var(--color-foreground-border)\n\n width: 0.75rem\n height: 0.75rem\n margin: 0 0.5rem\n\n &.next-page\n max-width: 50%\n\n float: right\n clear: right\n text-align: right\n\n &.prev-page\n max-width: 50%\n\n float: left\n clear: left\n\n svg\n transform: rotate(180deg)\n\n.page-info\n display: flex\n flex-direction: column\n overflow-wrap: anywhere\n\n .next-page &\n align-items: flex-end\n\n .context\n display: flex\n align-items: center\n\n padding-bottom: 0.1rem\n\n color: var(--color-foreground-muted)\n font-size: var(--font-size--small)\n text-decoration: none\n","// This file contains the styles for the contents of the left sidebar, which\n// contains the navigation tree, logo, search etc.\n\n////////////////////////////////////////////////////////////////////////////////\n// Brand on top of the scrollable tree.\n////////////////////////////////////////////////////////////////////////////////\n.sidebar-brand\n display: flex\n flex-direction: column\n flex-shrink: 0\n\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n text-decoration: none\n\n.sidebar-brand-text\n color: var(--color-sidebar-brand-text)\n overflow-wrap: break-word\n margin: var(--sidebar-item-spacing-vertical) 0\n font-size: 1.5rem\n\n.sidebar-logo-container\n margin: var(--sidebar-item-spacing-vertical) 0\n\n.sidebar-logo\n margin: 0 auto\n display: block\n max-width: 100%\n\n////////////////////////////////////////////////////////////////////////////////\n// Search\n////////////////////////////////////////////////////////////////////////////////\n.sidebar-search-container\n display: flex\n align-items: center\n margin-top: var(--sidebar-search-space-above)\n\n position: relative\n\n background: var(--color-sidebar-search-background)\n &:hover,\n &:focus-within\n background: var(--color-sidebar-search-background--focus)\n\n &::before\n content: \"\"\n position: absolute\n left: var(--sidebar-item-spacing-horizontal)\n width: var(--sidebar-search-icon-size)\n height: var(--sidebar-search-icon-size)\n\n background-color: var(--color-sidebar-search-icon)\n mask-image: var(--icon-search)\n\n.sidebar-search\n box-sizing: border-box\n\n border: none\n border-top: 1px solid var(--color-sidebar-search-border)\n border-bottom: 1px solid var(--color-sidebar-search-border)\n\n padding-top: var(--sidebar-search-input-spacing-vertical)\n padding-bottom: var(--sidebar-search-input-spacing-vertical)\n padding-right: var(--sidebar-search-input-spacing-horizontal)\n padding-left: calc(var(--sidebar-item-spacing-horizontal) + var(--sidebar-search-input-spacing-horizontal) + var(--sidebar-search-icon-size))\n\n width: 100%\n\n color: var(--color-sidebar-search-foreground)\n background: transparent\n z-index: 10\n\n &:focus\n outline: none\n\n &::placeholder\n font-size: var(--sidebar-search-input-font-size)\n\n//\n// Hide Search Matches link\n//\n#searchbox .highlight-link\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal) 0\n margin: 0\n text-align: center\n\n a\n color: var(--color-sidebar-search-icon)\n font-size: var(--font-size--small--2)\n\n////////////////////////////////////////////////////////////////////////////////\n// Structure/Skeleton of the navigation tree (left)\n////////////////////////////////////////////////////////////////////////////////\n.sidebar-tree\n font-size: var(--sidebar-item-font-size)\n margin-top: var(--sidebar-tree-space-above)\n margin-bottom: var(--sidebar-item-spacing-vertical)\n\n ul\n padding: 0\n margin-top: 0\n margin-bottom: 0\n\n display: flex\n flex-direction: column\n\n list-style: none\n\n li\n position: relative\n margin: 0\n\n > ul\n margin-left: var(--sidebar-item-spacing-horizontal)\n\n .icon\n color: var(--color-sidebar-link-text)\n\n .reference\n box-sizing: border-box\n color: var(--color-sidebar-link-text)\n\n // Fill the parent.\n display: inline-block\n line-height: var(--sidebar-item-line-height)\n text-decoration: none\n\n // Don't allow long words to cause wrapping.\n overflow-wrap: anywhere\n\n height: 100%\n width: 100%\n\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n\n &:hover\n background: var(--color-sidebar-item-background--hover)\n\n // Add a nice little \"external-link\" arrow here.\n &.external::after\n content: url('data:image/svg+xml,')\n margin: 0 0.25rem\n vertical-align: middle\n color: var(--color-sidebar-link-text)\n\n // Make the current page reference bold.\n .current-page > .reference\n font-weight: bold\n\n label\n position: absolute\n top: 0\n right: 0\n height: var(--sidebar-item-height)\n width: var(--sidebar-expander-width)\n\n cursor: pointer\n user-select: none\n\n display: flex\n justify-content: center\n align-items: center\n\n .caption, :not(.caption) > .caption-text\n font-size: var(--sidebar-caption-font-size)\n color: var(--color-sidebar-caption-text)\n\n font-weight: bold\n text-transform: uppercase\n\n margin: var(--sidebar-caption-space-above) 0 0 0\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n\n // If it has children, add a bit more padding to wrap the content to avoid\n // overlapping with the
    -
    @@ -153,7 +153,7 @@
    - Documentation FitTrackee 0.7.20 + Documentation FitTrackee 0.7.21 @@ -257,7 +257,7 @@ "map_attribution": "&copy; <a href=http://www.openstreetmap.org/copyright>OpenStreetMap</a> contributors", "privacy_policy": null, "privacy_policy_date": null, - "version": "0.7.20", + "version": "0.7.21", "weather_provider": null }, "status": "success" @@ -302,7 +302,7 @@ "map_attribution": "&copy; <a href=http://www.openstreetmap.org/copyright>OpenStreetMap</a> contributors", "privacy_policy": null, "privacy_policy_date": null, - "version": "0.7.20", + "version": "0.7.21", "weather_provider": null }, "status": "success" @@ -428,12 +428,12 @@
    - - - - - - - + + + + + + + \ No newline at end of file diff --git a/docs/fr/api/index.html b/docs/fr/api/index.html index 0c285a28..1839be84 100644 --- a/docs/fr/api/index.html +++ b/docs/fr/api/index.html @@ -5,14 +5,14 @@ - - Documentation de l’API - Documentation FitTrackee 0.7.20 - - - - - - + + Documentation de l’API - Documentation FitTrackee 0.7.21 + + + + + + @@ -126,7 +126,7 @@
    -
    @@ -153,7 +153,7 @@
    - Documentation FitTrackee 0.7.20 + Documentation FitTrackee 0.7.21 @@ -299,12 +299,12 @@
    - - - - - - - + + + + + + + \ No newline at end of file diff --git a/docs/fr/api/oauth2.html b/docs/fr/api/oauth2.html index db8027cb..322c5882 100644 --- a/docs/fr/api/oauth2.html +++ b/docs/fr/api/oauth2.html @@ -5,14 +5,14 @@ - - OAuth2 - Documentation FitTrackee 0.7.20 - - - - - - + + OAuth2 - Documentation FitTrackee 0.7.21 + + + + + + @@ -126,7 +126,7 @@
    -
    @@ -153,7 +153,7 @@
    - Documentation FitTrackee 0.7.20 + Documentation FitTrackee 0.7.21 @@ -804,12 +804,12 @@
    - - - - - - - + + + + + + + \ No newline at end of file diff --git a/docs/fr/api/records.html b/docs/fr/api/records.html index 68614cd9..75a5db89 100644 --- a/docs/fr/api/records.html +++ b/docs/fr/api/records.html @@ -5,14 +5,14 @@ - - Records - Documentation FitTrackee 0.7.20 - - - - - - + + Records - Documentation FitTrackee 0.7.21 + + + + + + @@ -126,7 +126,7 @@
    -
    @@ -153,7 +153,7 @@
    - Documentation FitTrackee 0.7.20 + Documentation FitTrackee 0.7.21 @@ -401,12 +401,12 @@
    - - - - - - - + + + + + + + \ No newline at end of file diff --git a/docs/fr/api/sports.html b/docs/fr/api/sports.html index 30341a54..5f373fc5 100644 --- a/docs/fr/api/sports.html +++ b/docs/fr/api/sports.html @@ -5,14 +5,14 @@ - - Sports - Documentation FitTrackee 0.7.20 - - - - - - + + Sports - Documentation FitTrackee 0.7.21 + + + + + + @@ -126,7 +126,7 @@
    -
    @@ -153,7 +153,7 @@
    - Documentation FitTrackee 0.7.20 + Documentation FitTrackee 0.7.21 @@ -631,12 +631,12 @@
    - - - - - - - + + + + + + + \ No newline at end of file diff --git a/docs/fr/api/stats.html b/docs/fr/api/stats.html index a2cb7833..dd2deb9f 100644 --- a/docs/fr/api/stats.html +++ b/docs/fr/api/stats.html @@ -5,14 +5,14 @@ - - Statistiques - Documentation FitTrackee 0.7.20 - - - - - - + + Statistiques - Documentation FitTrackee 0.7.21 + + + + + + @@ -126,7 +126,7 @@
    -
    @@ -153,7 +153,7 @@
    - Documentation FitTrackee 0.7.20 + Documentation FitTrackee 0.7.21 @@ -548,12 +548,12 @@
    - - - - - - - + + + + + + + \ No newline at end of file diff --git a/docs/fr/api/users.html b/docs/fr/api/users.html index 82c498a9..701e14fb 100644 --- a/docs/fr/api/users.html +++ b/docs/fr/api/users.html @@ -5,14 +5,14 @@ - - Utilisateurs - Documentation FitTrackee 0.7.20 - - - - - - + + Utilisateurs - Documentation FitTrackee 0.7.21 + + + + + + @@ -126,7 +126,7 @@
    -
    @@ -153,7 +153,7 @@
    - Documentation FitTrackee 0.7.20 + Documentation FitTrackee 0.7.21 @@ -790,12 +790,12 @@
    - - - - - - - + + + + + + + \ No newline at end of file diff --git a/docs/fr/api/workouts.html b/docs/fr/api/workouts.html index 8e754706..8636d65d 100644 --- a/docs/fr/api/workouts.html +++ b/docs/fr/api/workouts.html @@ -5,14 +5,14 @@ - - Séances - Documentation FitTrackee 0.7.20 - - - - - - + + Séances - Documentation FitTrackee 0.7.21 + + + + + + @@ -126,7 +126,7 @@
    -
    @@ -153,7 +153,7 @@
    - Documentation FitTrackee 0.7.20 + Documentation FitTrackee 0.7.21 @@ -1316,12 +1316,12 @@
    - - - - - - - + + + + + + + \ No newline at end of file diff --git a/docs/fr/changelog.html b/docs/fr/changelog.html index 0ac1eeee..e7cc7b1f 100644 --- a/docs/fr/changelog.html +++ b/docs/fr/changelog.html @@ -5,14 +5,14 @@ - - Historique des modifications - Documentation FitTrackee 0.7.20 - - - - - - + + Historique des modifications - Documentation FitTrackee 0.7.21 + + + + + + @@ -126,7 +126,7 @@
    -
    @@ -153,7 +153,7 @@
    - Documentation FitTrackee 0.7.20 + Documentation FitTrackee 0.7.21 @@ -231,6 +231,21 @@

    Historique des modifications#

    +
    +

    Version 0.7.21 (30/07/2023)#

    +
    +

    Bugs corrigés#

    +
      +
    • #407 - Workout display error when speeds are zero

    • +
    +
    +
    +

    Divers#

    +
      +
    • PR#409 - CI - update actions version

    • +
    +
    +

    Version 0.7.20 (22/07/2023)#

    @@ -239,8 +254,8 @@
  • #400 - Add new sport: open water swimming

  • -
    -

    Bugs corrigés#

    +
    +

    Bugs corrigés#

    • PR#398 - Fix language dropdown label

    • #402 - handle gpx file without elevation

    • @@ -276,23 +291,23 @@

    Version 0.7.19 (15/07/2023)#

    -
    -

    Fonctionnalités et améliorations#

    +
    +

    Fonctionnalités et améliorations#

    • PR#380 - Update documentation link

    • #390 - Improve UI

    • #391 - Add new sport: paragliding

    -
    -

    Bugs corrigés#

    +
    +

    Bugs corrigés#

    • #384 - Inconsistent page with between workout with and without GPS data

    • #393 - PIL.Image module has no attribute ANTIALIAS

    -
    -

    Traductions#

    +
    +

    Traductions#

    • PR#394 - Translations update (Galician)

    • PR#397 - Translations update (Spanish)

    • @@ -305,8 +320,8 @@
    • PR#388 - Minor typo in CONTRIBUTING.md

    -
    -

    Divers#

    +
    +

    Divers#

    - - - - - - + + + + + + + \ No newline at end of file diff --git a/docs/fr/cli.html b/docs/fr/cli.html index b795d0ed..3c683199 100644 --- a/docs/fr/cli.html +++ b/docs/fr/cli.html @@ -5,14 +5,14 @@ - - Interface de ligne de commande - Documentation FitTrackee 0.7.20 - - - - - - + + Interface de ligne de commande - Documentation FitTrackee 0.7.21 + + + + + + @@ -126,7 +126,7 @@
    -
    @@ -153,7 +153,7 @@
    - Documentation FitTrackee 0.7.20 + Documentation FitTrackee 0.7.21 @@ -543,12 +543,12 @@ Commands:
    - - - - - - - + + + + + + + \ No newline at end of file diff --git a/docs/fr/features.html b/docs/fr/features.html index 4e372d23..d14103b0 100644 --- a/docs/fr/features.html +++ b/docs/fr/features.html @@ -5,14 +5,14 @@ - - Fonctionnalités - Documentation FitTrackee 0.7.20 - - - - - - + + Fonctionnalités - Documentation FitTrackee 0.7.21 + + + + + + @@ -126,7 +126,7 @@
    -
    @@ -153,7 +153,7 @@
    - Documentation FitTrackee 0.7.20 + Documentation FitTrackee 0.7.21 @@ -642,12 +642,12 @@
    - - - - - - - + + + + + + + \ No newline at end of file diff --git a/docs/fr/genindex.html b/docs/fr/genindex.html index 62786f75..295a645f 100644 --- a/docs/fr/genindex.html +++ b/docs/fr/genindex.html @@ -4,13 +4,13 @@ - Index - Documentation FitTrackee 0.7.20 - - - - - - + Index - Documentation FitTrackee 0.7.21 + + + + + + @@ -124,7 +124,7 @@
    -
    @@ -151,7 +151,7 @@
    - Documentation FitTrackee 0.7.20 + Documentation FitTrackee 0.7.21 @@ -326,12 +326,12 @@
    - - - - - - - + + + + + + + \ No newline at end of file diff --git a/docs/fr/http-routingtable.html b/docs/fr/http-routingtable.html index 6576c420..7f90459e 100644 --- a/docs/fr/http-routingtable.html +++ b/docs/fr/http-routingtable.html @@ -4,13 +4,13 @@ - Table de routage HTTP - Documentation FitTrackee 0.7.20 - - - - - - + Table de routage HTTP - Documentation FitTrackee 0.7.21 + + + + + + @@ -124,7 +124,7 @@
    -
    @@ -151,7 +151,7 @@
    - Documentation FitTrackee 0.7.20 + Documentation FitTrackee 0.7.21 @@ -617,13 +617,13 @@
    - - - - - - - + + + + + + + \ No newline at end of file diff --git a/docs/fr/index.html b/docs/fr/index.html index fdf9f16a..8e5689ea 100644 --- a/docs/fr/index.html +++ b/docs/fr/index.html @@ -5,14 +5,14 @@ - - Documentation FitTrackee 0.7.20 - - - - - - + + Documentation FitTrackee 0.7.21 + + + + + + @@ -126,7 +126,7 @@
    -
    @@ -153,7 +153,7 @@
    - Documentation FitTrackee 0.7.20 + Documentation FitTrackee 0.7.21 @@ -310,12 +310,12 @@
    - - - - - - - + + + + + + + \ No newline at end of file diff --git a/docs/fr/installation.html b/docs/fr/installation.html index 16bddd78..d5a6cbe0 100644 --- a/docs/fr/installation.html +++ b/docs/fr/installation.html @@ -5,14 +5,14 @@ - - Installation - Documentation FitTrackee 0.7.20 - - - - - - + + Installation - Documentation FitTrackee 0.7.21 + + + + + + @@ -126,7 +126,7 @@
    -
    @@ -153,7 +153,7 @@
    - Documentation FitTrackee 0.7.20 + Documentation FitTrackee 0.7.21 @@ -882,11 +882,11 @@ $ make install-db
    -
    $ wget https://github.com/SamR1/FitTrackee/archive/v0.7.20.tar.gz
    -$ tar -xzf v0.7.20.tar.gz
    -$ mv FitTrackee-0.7.20 FitTrackee
    +
    $ wget https://github.com/SamR1/FitTrackee/archive/v0.7.21.tar.gz
    +$ tar -xzf v0.7.21.tar.gz
    +$ mv FitTrackee-0.7.21 FitTrackee
     $ cd FitTrackee
     
    @@ -1008,11 +1008,11 @@ $ source .
    • Arrêter l’application

    • Changer pour le répertoire dans lequel FitTrackee est localisé

    • -
    • Télécharger la dernière version (à ce jour, la version v0.7.20) et écraser les fichiers existants :

    • +
    • Télécharger la dernière version (à ce jour, la version v0.7.21) et écraser les fichiers existants :

    -
    $ wget https://github.com/SamR1/FitTrackee/archive/v0.7.20.tar.gz
    -$ tar -xzf v0.7.20.tar.gz
    -$ cp -R FitTrackee-0.7.20/* FitTrackee/
    +
    $ wget https://github.com/SamR1/FitTrackee/archive/v0.7.21.tar.gz
    +$ tar -xzf v0.7.21.tar.gz
    +$ cp -R FitTrackee-0.7.21/* FitTrackee/
     $ cd FitTrackee
     
    @@ -1368,12 +1368,12 @@ $ make docker-test-python
    -
    - - - - - - +
    + + + + + + \ No newline at end of file diff --git a/docs/fr/oauth.html b/docs/fr/oauth.html index dd2c8b8e..94fc9a79 100644 --- a/docs/fr/oauth.html +++ b/docs/fr/oauth.html @@ -5,14 +5,14 @@ - - OAuth 2.0 - Documentation FitTrackee 0.7.20 - - - - - - + + OAuth 2.0 - Documentation FitTrackee 0.7.21 + + + + + + @@ -126,7 +126,7 @@
    -
    @@ -153,7 +153,7 @@
    - Documentation FitTrackee 0.7.20 + Documentation FitTrackee 0.7.21 @@ -405,12 +405,12 @@
    - - - - - - - + + + + + + + \ No newline at end of file diff --git a/docs/fr/objects.inv b/docs/fr/objects.inv index 617fde2f..95081db1 100644 Binary files a/docs/fr/objects.inv and b/docs/fr/objects.inv differ diff --git a/docs/fr/search.html b/docs/fr/search.html index 79b76123..1ff40ebd 100644 --- a/docs/fr/search.html +++ b/docs/fr/search.html @@ -4,13 +4,13 @@ - Recherche - Documentation FitTrackee 0.7.20 - - - - - - + Recherche - Documentation FitTrackee 0.7.21 + + + + + + @@ -124,7 +124,7 @@
    -
    @@ -151,7 +151,7 @@
    - Documentation FitTrackee 0.7.20 + Documentation FitTrackee 0.7.21 @@ -273,13 +273,13 @@
    - - - - - - - + + + + + + + diff --git a/docs/fr/searchindex.js b/docs/fr/searchindex.js index 3e101141..04fe4b63 100644 --- a/docs/fr/searchindex.js +++ b/docs/fr/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["api/auth", "api/configuration", "api/index", "api/oauth2", "api/records", "api/sports", "api/stats", "api/users", "api/workouts", "changelog", "cli", "features", "index", "installation", "oauth", "third_party_tools", "troubleshooting/administrator", "troubleshooting/index"], "filenames": ["api/auth.rst", "api/configuration.rst", "api/index.rst", "api/oauth2.rst", "api/records.rst", "api/sports.rst", "api/stats.rst", "api/users.rst", "api/workouts.rst", "changelog.md", "cli.rst", "features.rst", "index.rst", "installation.rst", "oauth.rst", "third_party_tools.rst", "troubleshooting/administrator.rst", "troubleshooting/index.rst"], "titles": ["Authentification et compte", "Configuration", "Documentation de l\u2019API", "OAuth2", "Records", "Sports", "Statistiques", "Utilisateurs", "S\u00e9ances", "Historique des modifications", "Interface de ligne de commande", "Fonctionnalit\u00e9s", "FitTrackee", "Installation", "OAuth 2.0", "Outils tiers", "Administrateur", "D\u00e9pannage"], "terms": {"post": [0, 3, 8, 14], "api": [0, 1, 3, 4, 5, 6, 7, 8, 9, 11, 12, 14], "auth": [0, 1, 3, 4, 5, 6, 7, 8], "regist": 0, "enregistr": [0, 10, 11, 14], "utilis": [0, 1, 2, 3, 4, 5, 6, 8, 9, 13, 14], "envoi": [0, 7, 9, 11, 13, 14], "courriel": [0, 7, 9, 11, 16], "confirm": [0, 3, 9, 11, 13], "Le": [0, 9, 11, 13], "nouvel": [0, 7, 10, 11, 13], "cr\u00e9": [0, 3, 8, 9, 10, 11, 13, 14], "inact": [0, 7, 11, 13], "L": [0, 1, 5, 9, 11, 13, 14], "doit": [0, 1, 3, 5, 8, 9, 11, 13, 14, 16], "adress": [0, 1, 7, 10, 11, 13], "\u00e9lectron": [0, 1, 7, 10, 11, 13], "activ": [0, 1, 5, 7, 9, 10, 11, 12, 13], "exempl": [0, 1, 3, 4, 5, 6, 7, 8, 11, 12, 13, 14], "requ\u00eat": [0, 1, 3, 4, 5, 6, 7, 8, 14], "http": [0, 1, 3, 4, 5, 6, 7, 8, 13, 14], "1": [0, 1, 3, 4, 5, 6, 7, 8, 11, 13], "content": [0, 1, 3, 4, 5, 6, 7, 8, 9], "typ": [0, 1, 3, 4, 5, 6, 7, 8, 9, 11, 13], "appliqu": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14], "json": [0, 1, 3, 4, 5, 6, 7, 8, 11], "r\u00e9pons": [0, 1, 3, 4, 5, 6, 7, 8], "succes": [0, 3, 5, 6, 8], "200": [0, 1, 3, 4, 5, 6, 7, 8, 9, 13], "success": [0, 1, 3, 4, 5, 6, 7, 8], "status": [0, 1, 3, 4, 5, 6, 7, 8], "erreur": [0, 3, 9, 11, 16], "lor": [0, 10, 11], "400": [0, 1, 3, 5, 7, 8, 9], "bad": [0, 1, 3, 5, 7, 8], "request": [0, 1, 3, 5, 7, 8, 13, 14], "messag": [0, 1, 3, 7, 8, 9, 10, 11, 13, 14], "error": [0, 1, 5, 7, 8, 9, 13], "email": [0, 1, 7, 9, 10, 16], "valid": [0, 1, 3, 4, 5, 6, 7, 8, 13, 16], "must": [0, 1, 7, 9], "be": [0, 1, 7, 9, 13], "provided": [0, 1, 7], "objet": [0, 1, 5, 7, 8], "usernam": [0, 7, 10, 13], "string": [0, 1, 3, 5, 6, 7, 8], "nom": [0, 3, 6, 7, 9, 10, 13], "3": [0, 5, 6, 7, 8, 11, 13], "30": [0, 6], "caracter": [0, 3, 9, 13, 14], "requ": [0, 14], "password": [0, 9, 10, 13], "mot": [0, 7, 10, 11, 13], "pass": [0, 7, 10, 11, 13], "8": [0, 8, 11, 13], "minimum": 0, "lang": [0, 9], "pr\u00e9f\u00e9rent": [0, 7], "langu": [0, 11], "interfac": [0, 9, 11, 12, 13], "si": [0, 3, 7, 8, 9, 10, 11, 13, 14, 16], "non": [0, 3, 5, 8, 9, 12, 13], "fourn": [0, 3, 8, 10, 11, 13, 14, 16], "ser": [0, 9, 10, 11, 13], "anglais": [0, 9, 11], "accepted_policy": 0, "boolean": [0, 1, 3, 7, 10], "tru": [0, 1, 3, 5, 7, 9, 13], "a": [0, 1, 3, 4, 5, 6, 7, 8, 9, 11, 12], "accept": [0, 9, 11], "polit": [0, 1, 9, 11], "confidential": [0, 1, 9, 11], "cod": [0, 1, 3, 4, 5, 6, 7, 8, 9, 14], "\u00e9tat": [0, 1, 3, 4, 5, 6, 7, 8], "ok": [0, 1, 3, 4, 5, 6, 7, 8], "invalid": [0, 1, 3, 4, 5, 6, 7, 8, 9, 13], "payload": [0, 1, 3, 5, 7, 8], "sorry": 0, "that": [0, 9], "is": [0, 9], "already": 0, "taken": 0, "you": [0, 1, 5, 6, 7, 8, 13], "agre": 0, "privacy": [0, 9], "policy": [0, 9], "to": [0, 6, 8, 9, 13, 15], "character": [0, 9], "required": 0, "only": [0, 9], "alphanumeric": 0, "and": [0, 9, 10, 13], "the": [0, 5, 7, 8, 9, 13], "underscor": 0, "charact": 0, "_": [0, 9], "allowed": [0, 8], "403": [0, 1, 5, 6, 7, 8], "forbidden": [0, 1, 5, 6, 7, 8], "registr": [0, 9], "disabled": [0, 10], "500": [0, 1, 5, 7, 8, 9], "internal": [0, 1, 5, 7, 8], "serv": [0, 1, 5, 7, 8, 9, 13], "pleas": [0, 1, 3, 4, 5, 6, 7, 8], "try": [0, 5, 7, 8], "again": [0, 1, 3, 4, 5, 6, 7, 8], "or": [0, 5, 7, 8, 9], "contact": [0, 1, 5, 7, 8, 11], "administrator": [0, 5, 7, 8], "account": [0, 7, 9], "apres": [0, 3, 9, 11, 13, 14], "inscript": [0, 1, 9, 11, 13], "auth_token": 0, "web": [0, 3, 12, 13, 14], "token": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 14], "successful": 0, "jeton": [0, 1, 3, 4, 5, 6, 7, 8, 10, 13, 14], "resend": 0, "renvoi": [0, 3, 7, 8], "instruct": [0, 9, 11, 13], "d\u00e9sactiv": [0, 9, 10, 11, 13], "point": [0, 1, 3, 9, 11, 13, 14], "acces": [0, 1, 3, 14], "disponibl": [0, 4, 10, 11, 13, 14, 15], "resent": 0, "404": [0, 3, 5, 6, 7, 8, 9], "not": [0, 1, 3, 5, 6, 7, 8, 9, 11, 13], "found": [0, 3, 5, 6, 7, 8, 9], "requested": 0, "url": [0, 3, 9, 13, 14, 16], "was": 0, "login": 0, "connexion": [0, 13], "seul": [0, 3, 7, 8, 9, 11, 13, 14], "dispos": [0, 7], "actif": [0, 10, 11], "peuvent": [0, 9, 11, 12, 13], "connect": [0, 11], "successfully": 0, "logged": 0, "in": [0, 1, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14], "401": [0, 1, 3, 4, 5, 6, 7, 8, 9], "unauthorized": [0, 1, 3, 4, 5, 6, 7, 8], "credential": 0, "get": [0, 1, 3, 4, 5, 6, 7, 8], "profil": [0, 3, 9, 14], "obten": [0, 1, 3, 4, 5, 6, 7, 8, 14], "inform": [0, 1, 7, 9, 11, 12, 13], "authentifi": [0, 1, 3, 4, 5, 7, 8, 11], "scop": [0, 1, 3, 4, 5, 6, 7, 8], "read": [0, 3, 4, 5, 6, 7, 8, 14], "dat": [0, 1, 3, 4, 5, 6, 7, 8, 9, 11], "accepted_privacy_policy": 0, "admin": [0, 1, 4, 5, 6, 7, 8, 10, 13], "fals": [0, 1, 3, 5, 7, 8, 13], "bio": [0, 7], "null": [0, 1, 5, 7, 8, 9], "birth_dat": [0, 7], "created_at": [0, 7], "sun": [0, 4, 7, 8], "14": [0, 3, 7, 8, 11], "jul": [0, 4, 7, 8], "2019": [0, 4, 6, 7, 8], "09": [0, 7], "58": [0, 7, 9], "gmt": [0, 3, 4, 7, 8], "date_format": 0, "dd": 0, "mm": 0, "yyyy": 0, "display_ascent": 0, "sam": [0, 4, 7, 8, 9], "exampl": [0, 1, 3, 7, 9, 13, 14], "com": [0, 1, 3, 7, 9, 13, 14], "email_to_confirm": 0, "first_nam": [0, 7], "imperial_unit": [0, 7], "is_act": [0, 5, 7], "languag": [0, 7, 9], "last_nam": [0, 7], "locat": [0, 7, 13], "nb_sport": [0, 7], "nb_workout": [0, 6, 7], "6": [0, 5, 7, 8, 10, 11, 13], "pictur": [0, 7, 8, 9], "record": [0, 2, 7, 8, 9, 11], "id": [0, 3, 4, 5, 7, 8], "9": [0, 4, 7, 11, 13], "record_typ": [0, 4, 7, 8], "AS": [0, 4, 7, 8], "sport_id": [0, 4, 5, 6, 7, 8], "user": [0, 4, 6, 7, 8, 9, 13, 14], "valu": [0, 4, 7, 8, 9], "18": [0, 4, 7, 8, 11], "workout_dat": [0, 4, 7, 8], "07": [0, 4, 7, 8], "08": [0, 4, 7, 8], "00": [0, 4, 7, 8], "workout_id": [0, 4, 7, 8], "hvybqybra7wwxpastwr4v2": [0, 4, 7, 8], "10": [0, 1, 4, 7, 8, 11, 13], "fd": [0, 4, 7, 8], "13": [0, 4, 7, 8, 10, 11, 13], "ha": [0, 4, 7, 8], "43": [0, 4, 7, 8, 9], "97": [0, 4, 7, 8, 9], "11": [0, 4, 7, 11, 13], "ld": [0, 4, 7, 8], "01": [0, 4, 6, 7, 8], "12": [0, 4, 7, 8], "MS": [0, 4, 7, 8], "sports_list": [0, 7], "4": [0, 5, 6, 7, 8, 11, 13], "start_elevation_at_zero": 0, "timezon": [0, 7, 9], "europ": [0, 7], "paris": [0, 7], "total_ascent": [0, 6], "720": 0, "35": [0, 9], "total_dist": [0, 6, 7], "67": [0, 7], "895": [0, 7], "total_dur": [0, 6, 7], "50": [0, 7, 9, 13], "27": [0, 3, 7], "use_raw_gpx_speed": 0, "weekm": [0, 6, 7], "En": [0, 1, 3, 4, 5, 6, 7, 8, 12], "t\u00eat": [0, 1, 3, 4, 5, 6, 7, 8, 14], "authoriz": [0, 1, 3, 4, 5, 6, 7, 8, 13, 14], "oauth": [0, 1, 3, 4, 5, 6, 7, 8, 9, 12, 13], "2": [0, 1, 3, 4, 5, 6, 7, 8, 11, 12, 13], "0": [0, 1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13], "bear": [0, 1, 3, 4, 5, 6, 7, 8], "provid": [0, 1, 3, 4, 5, 6, 7, 8, 9], "signatur": [0, 1, 3, 4, 5, 6, 7, 8], "expired": [0, 1, 3, 4, 5, 6, 7, 8], "log": [0, 1, 3, 4, 5, 6, 7, 8, 13, 16], "edit": [0, 9, 11], "modifi": [0, 5, 7, 10, 11, 13], "writ": [0, 1, 3, 5, 7, 8, 14], "updated": [0, 9], "pr\u00e9nom": 0, "famill": 0, "localis": [0, 13], "biograph": 0, "naissanc": 0, "format": [0, 6, 8, 9, 11, 12], "Y": [0, 6, 8], "preferent": [0, 9], "pris": [0, 3, 9, 11, 13, 14], "charg": [0, 3, 9, 11, 13, 14, 17], "valeur": [0, 3, 11, 13, 14, 16], "d\u00e9faut": [0, 3, 7, 8, 9, 11, 13], "date_string": 0, "correspond": [0, 8, 13], "mmm": 0, "do": [0, 1, 5, 6, 7, 8, 9], "local": [0, 9, 12, 13], "e": 0, "fr": [0, 7, 13], "gl": 0, "it": 0, "nl": 0, "nb": 0, "affich": [0, 8, 9, 10, 11, 12, 13, 14, 17], "dan": [0, 1, 8, 9, 10, 11, 12, 13, 14, 17], "d\u00e9nivel": [0, 4, 8, 11], "total": [0, 3, 8, 9, 11], "distanc": [0, 4, 8, 9, 11], "unit": [0, 9, 13], "imp\u00e9rial": [0, 11], "Les": [0, 4, 8, 10, 11, 12, 13, 14, 17], "graphiqu": [0, 9, 11, 13], "altitud": [0, 9, 11], "commencent": 0, "z\u00e9ro": [0, 11], "fuseau": [0, 8, 11], "horair": [0, 8, 11], "gpx": [0, 3, 8, 9, 11, 12, 13, 15], "filtr": [0, 11], "calcul": [0, 9, 11], "vitess": [0, 4, 8, 9, 11, 13], "La": [0, 9, 11, 13, 14, 16], "semain": [0, 6, 11], "commenc": [0, 6, 9, 11, 13, 16], "lund": [0, 6, 11], "don": [0, 3, 8, 9, 11, 12, 14, 16], "match": 0, "sport": [0, 2, 6, 8, 9, 13], "color": [0, 5, 9], "000000": 0, "stopped_speed_threshold": [0, 5], "user_id": 0, "couleur": [0, 11], "hexad\u00e9cimal": 0, "ajout": [0, 7, 9, 10, 11, 12, 13, 15], "s\u00e9anc": [0, 2, 6, 9, 12, 14, 15, 17], "float": [0, 8], "seuil": [0, 11], "arr\u00eat": [0, 9, 11, 13], "gpxpy": [0, 11, 13], "hexadecimal": 0, "exist": [0, 6, 7, 8, 9, 11, 12, 13], "delet": [0, 3, 7, 8, 9], "reset": [0, 9, 10], "r\u00e9initialis": [0, 7, 10, 11, 13], "204": [0, 3, 7, 8], "parametr": [0, 3, 5, 6, 7, 8, 9, 11, 14], "identifi": [0, 3, 5, 6, 8, 14], "no": [0, 3, 7, 8, 9], "supprim": [0, 3, 7, 8, 9, 10, 11], "mis": [0, 5, 7, 8, 9, 11, 14], "jour": [0, 1, 5, 7, 8, 9, 10, 11], "imag": [0, 7, 8, 9, 11, 13, 17], "multipart": [0, 3, 8], "form": [0, 3, 8], "fil": [0, 8, 9, 13], "fichi": [0, 1, 8, 9, 10, 11, 12, 13, 15, 17], "extens": [0, 8, 13], "autoris": [0, 1, 3, 8, 13, 14], "jpg": 0, "png": [0, 8, 13], "gif": 0, "part": [0, 8, 9, 11, 12, 14, 15], "selected": [0, 8], "413": [0, 8], "entity": [0, 8], "too": [0, 8], "larg": [0, 8, 13], "during": [0, 8], "updat": [0, 8, 9, 13], "siz": [0, 8, 9, 13], "exceed": [0, 8, 9], "0mb": [0, 8], "trait": [0, 10], "demand": [0, 9, 10, 11, 13], "processed": 0, "patch": [0, 1, 5, 7, 8], "suiv": [0, 4, 10, 11, 13, 14, 15, 16], "modif": [0, 11, 12], "chang": [0, 9, 11, 13], "actuel": 0, "autr": [0, 7, 11, 13], "new_password": 0, "nouveau": [0, 10, 11, 13, 14], "missing": [0, 9], "current": [0, 9], "uniqu": [0, 3, 9, 10, 13, 14], "new": [0, 7, 9, 11], "logout": [0, 9], "d\u00e9connexion": 0, "out": 0, "access": [0, 9], "revoked": 0, "malformed": 0, "for": [0, 1, 8, 9, 13], "other": [0, 7], "reason": 0, "blacklist": 0, "export": [0, 9, 10, 11, 12, 13], "archiv": [0, 1, 9, 10, 11, 13], "Il": [0, 9, 11, 12, 13, 14], "cr\u00e9ation": [0, 9, 11], "in_progress": 0, "errored": 0, "taill": [0, 1, 11, 13], "octet": 0, "lorsqu": [0, 9, 10, 13], "r\u00e9uss": 0, "wed": 0, "mar": [0, 9, 13], "2023": [0, 13], "31": [0, 8, 13], "17": [0, 8], "file_nam": 0, "archive_rgjsr3fht295ywnqr5yp": 0, "zip": [0, 1, 8, 9, 11], "file_siz": 0, "924": 0, "aucun": [0, 8, 11, 12, 13], "ongoing": 0, "completed": 0, "t\u00e9l\u00e9charg": [0, 8, 10, 11, 13, 17], "download": [0, 8, 9], "archive_rgjsr3fhr5yp": 0, "x": [0, 8, 9, 13, 14], "gzip": 0, "config": [1, 9, 13], "about": [1, 9, 13], "admin_contact": 1, "gpx_limit_import": 1, "is_email_sending_enabled": 1, "is_registration_enabled": 1, "max_single_file_siz": 1, "1048576": 1, "max_user": 1, "max_zip_file_siz": 1, "10485760": 1, "map_attribu": [1, 13], "copy": [1, 13], "href": [1, 13], "www": [1, 13], "openstreetmap": [1, 9, 13], "org": [1, 13], "copyright": [1, 13], "contributor": [1, 13], "privacy_policy": 1, "privacy_policy_dat": 1, "version": [1, 10, 11, 13, 14], "7": [1, 8, 10, 11, 13, 14], "20": [1, 7, 11, 13], "weather_provid": 1, "getting": 1, "mettr": [1, 7, 8, 9, 10, 11, 13], "avoir": [1, 5, 13], "droit": [1, 5, 7, 9, 10, 11, 13, 14], "administr": [1, 5, 7, 10, 13, 14, 17], "instanc": [1, 9, 11, 13], "integ": [1, 3, 5, 6, 7, 8], "nombr": [1, 7, 8, 10, 11, 13], "maximum": [1, 11], "maximal": [1, 4, 8, 9, 10, 11], "inscrir": [1, 9, 11, 13], "hav": [1, 5, 6, 7, 8, 9], "perm": [1, 5, 6, 7, 8], "when": [1, 9], "updating": 1, "ping": 1, "contr\u00f4l": 1, "pong": 1, "authentif": [2, 13, 14], "compt": [2, 7, 8, 9, 10, 13, 15], "configur": [2, 9, 11, 13, 14, 16], "oauth2": [2, 14], "statist": 2, "app": [3, 9, 13, 14], "client": [3, 9, 11, 13, 14], "pagin": [3, 7, 8], "5": [3, 5, 6, 7, 8, 10, 11, 13], "pag": [3, 7, 8, 9], "Ce": 3, "accessibl": [3, 13, 14], "fittracke": [3, 10, 11, 13, 14, 15, 17], "san": [3, 6, 7, 8, 9, 11, 12, 13], "client_descript": 3, "client_id": [3, 14], "o22a27s2abpuoxjbxv3ujdox": 3, "issued_at": 3, "thu": 3, "july": 3, "2022": 3, "06": [3, 6], "53": [3, 9], "nam": 3, "import": [3, 9, 11, 13, 15], "redirect_ur": 3, "callback": [3, 14], "workout": [3, 4, 5, 6, 8, 9, 14], "websit": 3, "has_next": 3, "has_prev": 3, "client_secret": 3, "secret": [3, 13, 14], "created": [3, 8], "client_nam": 3, "client_ur": 3, "array": 3, "list": [3, 9, 10, 12, 13], "redirect": [3, 14], "cha\u00een": [3, 14], "descript": [3, 10, 13], "optionnel": [3, 13], "client_client_id": 3, "trouv": [3, 5, 8], "int": [3, 5, 8], "by_id": 3, "enti": 3, "an": [3, 9], "revok": 3, "r\u00e9voqu": 3, "tous": [3, 4, 5, 6, 7, 9, 11, 13], "associ": [3, 10, 11, 14], "cas": [3, 11, 13], "redirig": [3, 14], "ver": [3, 9, 13, 14], "\u00e9mettr": 3, "response_typ": [3, 14], "support": [3, 9, 13, 14, 16], "\u00eatre": [3, 8, 9, 10, 11, 12, 13, 14, 16], "stat": [3, 6, 9, 14], "\u00e9vit": [3, 9], "falsif": [3, 14], "entre": [3, 8, 11, 14], "sit": [3, 14], "cross": [3, 14], "forgery": [3, 14], "csrf": [3, 14], "obligatoir": [3, 8, 9, 10, 13, 14], "recommand": [3, 13, 14], "code_challeng": [3, 14], "g\u00e9ner": [3, 10, 11, 13, 14], "v\u00e9rif": [3, 9, 14, 16], "pkce": [3, 14], "code_challenge_method": [3, 14], "m\u00e9thod": [3, 13, 14], "challeng": [3, 14], "s256": [3, 14], "librair": [3, 13], "authlib": [3, 13, 14], "d\u00e9livr": 3, "rafra\u00eech": 3, "access_token": 3, "roehv64thcg28wcewzhrnvlusoduvw8nvnhkcml57": 3, "expires_in": 3, "864000": 3, "refresh_token": 3, "nuv9cy8vqonrqkhtz5pqaq2zw7msh0mornpjr14amswd6f6": 3, "token_typ": 3, "expires_at": 3, "1658660147": 3, "0667062": 3, "grant_typ": 3, "authorization_cod": [3, 14], "\u00e9miss": 3, "code_verifi": 3, "moyen": [4, 8, 9, 11, 13], "plus": [4, 9, 10, 11, 12, 13, 16], "\u00e9lev": [4, 11, 13], "dur": [4, 6, 8, 9, 11], "longu": [4, 9, 11], "retourn": 4, "is_active_for_us": 5, "label": [5, 9], "cycling": 5, "transport": [5, 9, 11], "hiking": 5, "mountain": 5, "biking": [5, 8], "running": 5, "walking": 5, "has_workout": 5, "user_nam": [6, 7], "by_tim": 6, "entra\u00een": [6, 8, 11], "from": [6, 8, 9, 13], "2018": [6, 8], "tim": [6, 8], "week": [6, 9], "statistic": [6, 9], "2017": [6, 8], "average_speed": 6, "48": 6, "203": 6, "156": [6, 9], "15": [6, 8, 10, 11, 13], "282": [6, 9], "12341": 6, "16": [6, 8, 11, 13], "99": [6, 9], "150": 6, "178": [6, 9], "47": [6, 8, 9], "9960": 6, "95": [6, 9], "46": [6, 9], "78": 6, "613": 6, "1267": 6, "d\u00e9but": [6, 8], "fin": [6, 8, 9, 13], "p\u00e9riod": [6, 11, 13], "temp": 6, "dimanch": [6, 11], "month": [6, 9], "mois": [6, 9, 11], "year": 6, "ann\u00e9": [6, 11], "default": [6, 8, 9, 13], "by_sport": 6, "all": [6, 13], "tout": [6, 13], "uploads_dir_siz": 6, "1000": 6, "statut": [7, 10], "Ne": 7, "quelqu": [7, 8, 9, 11, 14], "order_by": [7, 8], "workouts_count": 7, "par_pag": 7, "is_admin": 7, "sat": 7, "03": [7, 8], "per_pag": [7, 8], "max": [7, 8, 9, 10], "q": 7, "order": [7, 8, 9], "ordre": [7, 8], "tri": [7, 8, 11], "asc": [7, 8], "desc": [7, 8], "criter": 7, "peut": [7, 9, 10, 11, 13, 14], "jpeg": 7, "activat": [7, 10], "new_email": 7, "reset_password": 7, "different": [7, 9], "than": [7, 9], "curent": 7, "Un": [7, 9, 11, 13], "propr": [7, 11, 12], "sauf": [7, 13], "sien": 7, "john_do": 7, "can": [7, 9, 13, 16], "your": 7, "has": [7, 9], "right": [7, 9], "02": 8, "moin": 8, "ascent": [8, 9], "ave_speed": 8, "bound": 8, "creation_dat": 8, "51": 8, "descent": [8, 9], "durat": [8, 9], "04": 8, "kjxavsturjvoah2wvcegef": 8, "map": [8, 9, 11, 12], "max_alt": 8, "max_speed": 8, "min_alt": 8, "modification_dat": 8, "moving": [8, 9], "next_workout": 8, "paus": [8, 9], "previous_workout": 8, "Mon": 8, "jan": 8, "segment": [8, 9, 11], "titl": [8, 9], "weather_end": 8, "weather_start": 8, "with_gpx": 8, "100": [8, 9, 11], "titr": [8, 11], "tient": 8, "majuscul": 8, "minuscul": 8, "distance_from": 8, "minimal": [8, 9, 11, 14], "distance_to": 8, "duration_from": 8, "h": [8, 11], "M": 8, "duration_to": 8, "ave_speed_from": 8, "ave_speed_to": 8, "max_speed_from": 8, "max_speed_to": 8, "sorting": 8, "criteri": 8, "workout_short_id": 8, "57": [8, 9], "45": 8, "22": 8, "without": [8, 9], "sunday": 8, "morning": 8, "court": 8, "cart": [8, 9, 11, 12, 13, 17], "leaflet": [8, 13], "this": [8, 10, 13], "chart_dat": 8, "r\u00e9cuper": [8, 13, 14], "chart": [8, 9, 13], "js": [8, 13], "elev": [8, 9], "279": [8, 9], "latitud": 8, "5078118": 8, "longitud": 8, "1232004": 8, "speed": [8, 9], "63": 8, "fri": 8, "44": [8, 9], "7380": 8, "280": [8, 9], "5079733": 8, "1234538": 8, "39": 8, "segment_id": 8, "map_id": 8, "fa33f4d996844a5c73ecd1ae24456ab8": 8, "1563529507772": 8, "map_til": 8, "z": [8, 13], "tuil": [8, 9, 11], "serveur": [8, 9, 11, 12, 16], "4109": 8, "2930": 8, "sous": [8, 13], "domain": [8, 13], "zoom": 8, "index": 8, "axe": [8, 11], "xml": 8, "201": [8, 9], "guillemet": 8, "doubl": 8, "doivent": [8, 13, 14], "\u00e9chapp": [8, 9], "no_gpx": 8, "uuid": [8, 9], "n\u00e9gat": [8, 11], "posit": [8, 9, 11], "km": [8, 11], "second": 8, "add": 9, "open": [9, 11, 12], "wat": 9, "swimming": 9, "pr": 9, "398": 9, "fix": [9, 13], "dropdown": 9, "402": 9, "handl": 9, "399": 9, "translat": 9, "galician": [9, 11], "polish": 9, "406": 9, "spanish": 9, "avanc": [9, 11], "n\u00e9erland": [9, 11], "galicien": 9, "allemand": [9, 11], "italien": [9, 11], "85": 9, "norv\u00e9gien": [9, 11], "bokm\u00e5l": [9, 11], "polon": [9, 11], "56": 9, "espagnol": [9, 11], "merc": 9, "contributeur": [9, 15], "gallegonovato": 9, "xmgz": 9, "mariusz": 9, "Cette": [9, 12, 13], "contient": [9, 11], "migrat": [9, 10, 13], "bas": [9, 11, 13, 16], "voir": [9, 11, 13, 14, 16], "380": 9, "link": 9, "390": 9, "improv": 9, "ui": 9, "391": 9, "paragliding": 9, "384": 9, "inconsistent": 9, "with": [9, 13], "between": 9, "gp": [9, 11], "393": 9, "pil": 9, "modul": [9, 13], "attribut": 9, "antiali": 9, "394": 9, "397": 9, "386": 9, "minor": 9, "contributing": 9, "md": 9, "388": 9, "typo": 9, "395": 9, "ci": 9, "test": [9, 13], "packaged": 9, "of": [9, 13, 14], "cc3fe1c": 9, "python": [9, 13, 14], "postgresql": [9, 13, 16], "98": 9, "42": 9, "dkm": 9, "partiel": 9, "quant": 9, "encor": [9, 12], "weblat": [9, 11], "mainten": [9, 13], "351": 9, "370": 9, "dutch": 9, "thank": 9, "bjornclauw": 9, "371": 9, "375": 9, "french": [9, 11], "thovi98": 9, "376": 9, "german": 9, "qwerty287": 9, "1375986": 9, "them": 9, "furo": 9, "377": 9, "init": [9, 13], "354": 9, "drop": 9, "374": 9, "dock": 9, "install": [9, 12], "virtualenv": [9, 13], "87": 9, "36": 9, "366": 9, "369": 9, "hosted": 9, "367": 9, "358": 9, "filtering": 9, "359": 9, "foot": 9, "overlap": 9, "350": 9, "352": 9, "356": 9, "357": 9, "365": 9, "gnu": 9, "ewm": 9, "jat255": 9, "parm": 9, "dessous": 9, "darksky": [9, 13], "servic": [9, 13], "319": 9, "cli": [9, 10, 11, 13], "creat": [9, 13], "329": 9, "mak": [9, 13], "start": 9, "axis": 9, "at": [9, 13], "zero": 9, "sticky": 9, "333": 9, "featur": 9, "filt": 9, "by": [9, 13], "338": 9, "display": 9, "relev": 9, "328": 9, "track": 9, "incorrect": 9, "imperial": 9, "b29ed7": 9, "dashboard": 9, "250": 9, "norwegian": 9, "320": 9, "323": 9, "06ba975": 9, "bcc568e": 9, "ea0ac99": 9, "a458f5f": 9, "075aeb9": 9, "60e164d": 9, "italian": 9, "318": 9, "remov": 9, "weath": 9, "comradekingu": 9, "J": 9, "lavoi": 9, "mondstern": 9, "314": 9, "deleted": 9, "process": [9, 13], "fail": 9, "315": 9, "permet": [9, 10, 11, 12, 14], "Une": [9, 10, 11, 13, 16], "personnalis": [9, 11], "d\u00e9fin": [9, 11, 14, 16], "afin": [9, 14], "puissent": [9, 11], "prendr": [9, 11], "connaiss": [9, 11], "conten": [9, 11, 13], "t\u00e9l\u00e9vers": [9, 11], "enfin": 9, "compl\u00e9mentair": 9, "pouv": 9, "util": [9, 11], "propos": [9, 11], "301": [9, 13], "304": 9, "305": 9, "additional": 9, "307": 9, "quand": 9, "d\u00e9marr": [9, 13, 17], "modal": 9, "297": 9, "308": 9, "310": 9, "290": 9, "294": 9, "postgresql10": 9, "d\u00e9pend": 9, "265": 9, "implementing": 9, "altern": 9, "visualcrossing": 9, "environment": [9, 13, 16], "variabl": [9, 16], "set": [9, 10, 13], "weather_api_provid": [9, 13], "see": [9, 13], "287": 9, "289": 9, "dperruso": 9, "92": 9, "parameter": 9, "c88a515": 9, "f96dcef": 9, "mountaineering": 9, "278": 9, "270": 9, "nederland": 9, "258": 9, "pars": 9, "are": 9, "271": 9, "creation": 9, "273": 9, "274": 9, "paralleliz": 9, "275": 9, "disabl": 9, "work": [9, 13, 16], "entry": 9, "commend": 9, "lign": [9, 11, 12, 13], "command": [9, 11, 12, 13], "flask": [9, 13], "dramatiq": [9, 10, 13], "3c8d9c2": 9, "trailing": 9, "comm": [9, 11, 13], "d\u00e9velopp": [9, 10, 12], "264": 9, "whit": 9, "gray": 9, "background": 9, "266": 9, "260": 9, "checked": 9, "261": 9, "should": 9, "return": [9, 13], "numb": [9, 13], "lim": [9, 13], "n\u00e9cessit": [9, 13, 14], "89": 9, "b1536fc": 9, "257": 9, "body": [9, 13], "nginx": [9, 11, 13, 14, 16], "112": 9, "allow": [9, 13], "244": 9, "virtual": 9, "rid": 9, "246": 9, "247": 9, "displayed": 9, "microsecond": 9, "252": 9, "242": 9, "241": 9, "strength": 9, "estim": 9, "packag": 9, "239": 9, "cb9d02f": 9, "english": 9, "88": 9, "231": 9, "invalidat": 9, "236": 9, "rat": [9, 13], "limit": [9, 11], "232": 9, "hidden": 9, "237": 9, "212": 9, "230": 9, "databas": [9, 10, 13], "problem": [9, 13], "after": [9, 13], "upgrad": [9, 13], "225": 9, "grammar": 9, "issu": [9, 11], "skylan0916": 9, "derni": [9, 13], "ex\u00e9cut": 9, "inf\u00e9rieur": 9, "diff\u00e9rent": 9, "ex\u00e9cu": [9, 10], "213": 9, "using": 9, "measur": 9, "ft": 9, "mi": 9, "223": 9, "icon": 9, "167": 9, "added": 9, "162": 9, "fmstrat": 9, "210": 9, "could": 9, "til": [9, 13], "requiring": 9, "subdomain": 9, "staticmap_subdomain": [9, 13], "209": 9, "containing": 9, "multipl": 9, "gorgoback": 9, "Et": 9, "detect": 9, "brows": 9, "use": 9, "matching": 9, "if": [9, 13], "avail": 9, "208": 9, "card": 9, "html": 9, "changing": 9, "197": 9, "196": 9, "manag": [9, 10], "tool": 9, "190": 9, "193": 9, "deleting": 9, "192": 9, "instead": 9, "191": 9, "layout": 9, "nomenclatur": 9, "inclus": 9, "195": 9, "cec": 9, "affect": [9, 11], "pr\u00e9c\u00e9dent": 9, "cc4287e": 9, "env": [9, 13], "offset": 9, "Pas": 9, "refactoris": 9, "avant": [9, 13], "possibl": [9, 11, 12, 13], "fournisseur": [9, 13], "smtp": [9, 13, 16], "cel": [9, 11, 13], "r\u00e9duit": 9, "pr\u00e9requ": 9, "mono": [9, 11], "Pour": [9, 11, 13, 14], "ger": [9, 10, 11, 13, 16], "180": 9, "cannot": 9, "send": 9, "tl": [9, 13], "177": 9, "manqu": 9, "petit": 9, "\u00e9cran": [9, 11], "175": 9, "refreshed": 9, "173": 9, "171": 9, "correctly": 9, "apport": 9, "niveau": 9, "155": 9, "106": 9, "169": 9, "161": 9, "farthest": 9, "160": 9, "plusieur": [9, 11, 12, 13], "danielsiersleben": 9, "rapport": 9, "initialis": [9, 13], "149": 9, "152": 9, "autoespcap": 9, "model": 9, "jinj": 9, "151": 9, "security": 9, "nettoi": 9, "entr\u00e9": [9, 13, 14], "alphanumer": 9, "alert": 9, "worker": [9, 10, 13], "lanc": [9, 13], "script": 9, "product": 9, "dotenv": 9, "146": 9, "filter": 9, "145": 9, "140": 9, "fullscreen": 9, "control": [9, 13], "138": 9, "initial": 9, "135": 9, "finish": 9, "marker": 9, "134": 9, "wind": 9, "direct": [9, 11, 13], "877fa0f": 9, "changed": 9, "calendar": 9, "small": 9, "resolu": 9, "131": 9, "129": 9, "editing": 9, "127": [9, 13], "validat": 9, "legitimat": 9, "uri": 9, "such": 9, "localhost": [9, 13], "123": 9, "121": 9, "activity": 9, "snowsho": 9, "contain": [9, 13], "116": 9, "bet": 9, "button": 9, "graph": 9, "screen": 9, "115": 9, "option": [9, 10, 13], "averag": 9, "91": 9, "min": 9, "90": 9, "som": 9, "seem": 9, "104": 9, "switch": 9, "agplv3": 9, "licens": [9, 12, 13], "101": 9, "full": 9, "development": 9, "109": 9, "stopped": 9, "threshold": 9, "slow": 9, "mov": 9, "84": 9, "93": 9, "paf38": 9, "83": 9, "configured": 9, "generat": 9, "static": 9, "keep": 9, "default_staticmap": [9, 13], "81": 9, "remaining": 9, "textar": 9, "82": 9, "modify": 9, "his": 9, "birth": 9, "day": [9, 10, 13], "80": [9, 13], "sav": 9, "79": 9, "rebuild": 9, "75": 9, "javascript": [9, 13], "Du": 9, "fait": [9, 13], "sqlalchemy": [9, 13, 16], "postgr": [9, 16], "72": 9, "exceeding": 9, "71": 9, "great": 9, "70": 9, "less": 9, "uploaded": [9, 13], "66": 9, "used": 9, "importing": 9, "64": 9, "per": [9, 13], "shown": 9, "62": 9, "sending": 9, "\u00e9valu": [9, 13], "standardiz": 9, "term": 9, "upload": [9, 13, 15], "directory": [9, 13], "endpoint": 9, "also": 9, "59": 9, "uploading": 9, "activit": 9, "introduit": 9, "majeur": 9, "facilit": 9, "dor\u00e9nav": 9, "attent": [9, 13, 16], "lir": 9, "certain": [9, 10, 12, 13], "environ": [9, 10, 16], "renomm": 9, "celui": 9, "remplac": [9, 11, 13], "thunderforest": [9, 13], "outdoor": [9, 13], "54": 9, "simplify": 9, "d\u00e9plac": 9, "red": [9, 10, 13], "complet": 9, "co": 9, "4c3fc34": 9, "empty": 9, "34614d5": 9, "spinn": 9, "loading": 9, "b862a77": 9, "2e1ee2c": 9, "interceptor": 9, "rout": [9, 13], "definit": 9, "down": 9, "mor": 9, "weekend": 9, "40": 9, "localiz": 9, "i18n": 9, "41": 9, "show": [9, 10, 13], "mous": 9, "over": 9, "docu": 9, "choos": 9, "first": 9, "33": 9, "37": 9, "34": 9, "anymor": 9, "poetry": [9, 13], "pipenv": 9, "gestion": [9, 13], "paquet": [9, 13], "detailed": 9, "28": 9, "26": 9, "tooltip": 9, "standard": [9, 13], "v\u00e9lo": [9, 11], "randon": [9, 11], "vtt": [9, 11], "cours": [9, 11], "pied": [9, 11], "march": [9, 11], "\u00e9gal": [9, 10, 11, 12, 13], "enter": 9, "heur": [9, 11, 13], "suppress": [9, 11], "m\u00e9t\u00e9o": [9, 11], "cl\u00e9": [9, 11, 13], "calendri": [9, 11], "mensuel": [9, 11], "cour": [9, 10, 12, 13], "grand": [9, 11], "recherch": 9, "propri\u00e9tair": [9, 11], "moment": [9, 11], "search": 9, "view": [9, 13], "usag": [10, 13], "arg": [10, 13], "lin": [10, 13], "help": [10, 13], "exit": [10, 13], "d\u00e9sorm": 10, "obsolet": 10, "prochain": [10, 11], "fittrackee_set_admin": 10, "fittrackee_upgrade_db": 10, "fittrackee_work": 10, "vid": [10, 13], "expir": 10, "depuis": [10, 13], "noir": 10, "d\u00e9j\u00e0": 10, "argument": 10, "al\u00e9atoir": [10, 13], "incomplet": 10, "fitracke": 11, "stock": [11, 12, 14], "sportiv": [11, 12], "plein": [11, 12], "air": [11, 12], "plut\u00f4t": 11, "m\u00eam": [11, 13], "r\u00e9pertoir": [11, 13], "chiffr": [11, 13], "Avec": 11, "street": [11, 12], "statiqu": [11, 13], "trac": [11, 13], "virtuel": [11, 13], "electr": 11, "alpin": 11, "nag": 11, "eau": 11, "libr": 11, "parapent": 11, "19": 11, "aviron": 11, "ski": 11, "raquet": 11, "trail": 11, "lieu": 11, "Elle": 11, "except": [11, 16], "analys": [11, 13], "mani": [11, 13], "sp\u00e9cif": 11, "jusqu": 11, "system": [11, 13], "m\u00e9triqu": 11, "differ": 11, "origin": 11, "particuli": 11, "entrer": 11, "relat": 11, "Des": 11, "bouton": 11, "permettent": 11, "visualis": 11, "visual": [11, 13], "crossing": [11, 13], "sourc": 11, "vent": 11, "flech": 11, "indiqu": 11, "infobull": 11, "proven": 11, "masqu": 11, "cf": [11, 12, 13], "selon": [11, 13], "comport": 11, "d\u00e9roul": 11, "instant": 11, "r\u00e9cent": 11, "consult": 11, "s\u00e9lection": 11, "menu": 11, "nouveaut": 11, "dont": [11, 14], "o\u00f9": [11, 13], "premi": 11, "chois": [11, 13], "affichag": 11, "cach": 11, "d\u00e9part": 11, "exclur": 11, "extr\u00eam": 11, "exclu": 11, "mati": 11, "appara\u00eetr": 11, "toujour": 11, "tierc": [11, 14], "S": 11, "unitair": 11, "n\u00e9cessair": [11, 13], "volumin": [11, 16], "avert": 11, "suppl\u00e9mentair": 11, "syntax": 11, "markdown": 11, "adapt": [11, 13], "discours": 11, "traduit": 11, "bloqu": 11, "verrouill": 11, "vi": 11, "etat": 11, "publi": [11, 13], "suivr": 12, "conserv": [12, 13], "votr": [12, 13], "mobil": 12, "android": 12, "exhaust": 12, "runn": 12, "up": 12, "gpl": 12, "v3": 12, "opentrack": 12, "apach": 12, "fitotrack": 12, "aid": 12, "fonctionnal": [12, 13], "instabl": [12, 13], "ticket": 12, "outil": [12, 13], "tier": 12, "document": [12, 13, 14, 16], "d\u00e9pannag": 12, "histor": [12, 13], "typescript": 13, "staticmap": 13, "t\u00e2ch": 13, "vue3": 13, "vuex": 13, "logo": 13, "ic\u00f4n": 13, "freepik": 13, "flaticon": 13, "fork": 13, "awesom": 13, "nod": 13, "yarn": 13, "compos": 13, "\u00e9tap": 13, "d\u00e9crivent": 13, "linux": 13, "debian": 13, "arch": 13, "Sur": 13, "exploit": 13, "rencontr": 13, "makefil": 13, "custom": 13, "Elles": 13, "flask_app": 13, "d\u00e9marrag": 13, "pwd": 13, "__main__": 13, "py": 13, "sinon": 13, "host": 13, "h\u00f4t": 13, "port": 13, "5000": 13, "app_setting": 13, "productionconfig": 13, "app_secret_key": 13, "fort": 13, "jwt": 13, "app_worker": 13, "_workers_": 13, "gunicorn": [13, 16], "app_log": 13, "chemin": [13, 16], "upload_fold": [13, 16], "absolu": [13, 16], "application_directory": 13, "database_url": [13, 16], "5432": 13, "database_disable_pooling": 13, "pooling": 13, "ui_url": 13, "lien": 13, "email_url": [13, 16], "chain": 13, "sender_email": 13, "exp\u00e9diteur": 13, "redis_url": 13, "workers_process": 13, "processus": 13, "api_rate_limit": 13, "300": 13, "minut": 13, "tile_server_url": 13, "gard": 13, "n\u00e9cessitent": [13, 14], "df": 13, "Par": [13, 14], "b": 13, "osm": 13, "franc": 13, "attribu": 13, "target": 13, "_blank": 13, "rel": 13, "noopen": 13, "noreferr": 13, "komoot": 13, "insensibl": 13, "cass": 13, "weather_api_key": 13, "weather_ap": 13, "vue_app_api_url": 13, "25": 13, "ssl": 13, "465": 13, "starttl": 13, "587": 13, "office365": 13, "fonction": [13, 14], "identif": 13, "omis": 13, "ancien": 13, "notif": 13, "pr\u00eat": 13, "laiss": 13, "apikey": 13, "xxxx": 13, "v\u00e9rifi": [13, 16], "condit": 13, "attendu": 13, "osmfr": 13, "fond": 13, "mention": 13, "legal": 13, "nofollow": 13, "nbsp": 13, "creativecommon": 13, "licenc": 13, "cc": 13, "SA": 13, "ip": 13, "strateg": 13, "pourr": 13, "soum": 13, "asset": 13, "notat": 13, "s\u00e9par": [13, 14], "virgul": 13, "hour": 13, "diagnostic": 13, "utility": 13, "commmand": 13, "clear": 13, "specific": 13, "key": 13, "enumerat": 13, "detail": 13, "interrompu": 13, "remarqu": 13, "pip": 13, "schem": [13, 14], "owner": 13, "privileg": 13, "copi": 13, "coll": 13, "nano": 13, "ftcli": 13, "db": 13, "systemd": 13, "ouvr": 13, "navig": 13, "alor": 13, "projet": 13, "project": 13, "clon": 13, "d\u00e9p\u00f4t": 13, "git": 13, "github": 13, "samr1": 13, "cd": 13, "vu": 13, "dev": 13, "run": 13, "3000": 13, "v0": 13, "wget": 13, "tar": 13, "gz": 13, "xzf": 13, "mv": 13, "sql": 13, "proced": 13, "fair": 13, "sauvegard": 13, "ensembl": 13, "pg_dump": 13, "suivent": 13, "s\u00e9mant": 13, "r\u00e9tro": 13, "compatibl": 13, "stopp": 13, "u": 13, "journal": [13, 16], "red\u00e9marr": 13, "pull": 13, "lequel": 13, "\u00e9cras": 13, "cp": 13, "r": 13, "proxy": [13, 14], "network": 13, "startlimitintervalsec": 13, "simpl": 13, "restart": 13, "alway": 13, "restartsec": 13, "standardoutput": 13, "syslog": 13, "standarderror": 13, "syslogidentifi": 13, "workingdirectory": 13, "hom": 13, "execstart": 13, "venv": 13, "bin": 13, "create_app": 13, "logfil": 13, "wantedby": 13, "mult": 13, "timeout": [13, 16], "fittrackee_worker": 13, "task": 13, "queu": 13, "listen": 13, "443": 13, "http2": 13, "server_nam": 13, "ssl_certificat": 13, "fullchain": 13, "pem": 13, "ssl_certificate_key": 13, "privkey": 13, "paramet": 13, "how": 13, "1mb": 13, "setting": 13, "ll": 13, "need": 13, "uncommenting": 13, "below": 13, "want": 13, "prevent": 13, "checking": 13, "client_max_body_siz": [13, 16], "1m": 13, "proxy_pass": 13, "proxy_redirect": 13, "proxy_set_head": [13, 14], "real": 13, "remote_addr": 13, "forwarded": [13, 14], "proxy_add_x_forwarded_for": 13, "proto": [13, 14], "request_ur": 13, "besoin": 13, "build": 13, "8025": 13, "acced": [13, 14], "mailhog": 13, "stop": 13, "shel": 13, "additionnel": 13, "fittrackee_client": 13, "lint": 13, "check": 13, "fittrackee_ynh": 13, "rest": 14, "plupart": 14, "permettr": 14, "interag": 14, "onglet": 14, "\u00e9chang": 14, "contr": 14, "corp": 14, "assur": 14, "meilleur": 14, "s\u00e9cur": 14, "\u00e9critur": 14, "accord": 14, "lectur": 14, "Ils": 14, "puiss": 14, "fittrackee_host": 14, "espac": 14, "facult": 14, "emp\u00each": 14, "3aread": 14, "3awrit": 14, "sort": 14, "ensuit": 14, "\u0153uvr": 14, "bibliothequ": 14, "derri": 14, "simplified": 14, "aaron": 14, "pareck": 14, "flow": 14, "oauthlib": 14, "session": 14, "gr\u00e2c": 15, "strav": 15, "fit": 15, "exc": 16, "nosuchmoduleerror": 16, "load": 16, "plugin": 16, "dialect": 16, "invalidemailurlschem": 16, "augment": 16, "del": 16, "critical": 16, "d\u00e9tail": 17, "\u00e9chec": 17}, "objects": {"": [[0, 0, 1, "post--api-auth-account-confirm", "/api/auth/account/confirm"], [0, 1, 1, "get--api-auth-account-export", "/api/auth/account/export"], [0, 1, 1, "get--api-auth-account-export-(string-file_name)", "/api/auth/account/export/(string:file_name)"], [0, 0, 1, "post--api-auth-account-export-request", "/api/auth/account/export/request"], [0, 0, 1, "post--api-auth-account-privacy-policy", "/api/auth/account/privacy-policy"], [0, 0, 1, "post--api-auth-account-resend-confirmation", "/api/auth/account/resend-confirmation"], [0, 0, 1, "post--api-auth-email-update", "/api/auth/email/update"], [0, 0, 1, "post--api-auth-login", "/api/auth/login"], [0, 0, 1, "post--api-auth-logout", "/api/auth/logout"], [0, 0, 1, "post--api-auth-password-reset-request", "/api/auth/password/reset-request"], [0, 0, 1, "post--api-auth-password-update", "/api/auth/password/update"], [0, 2, 1, "delete--api-auth-picture", "/api/auth/picture"], [0, 0, 1, "post--api-auth-picture", "/api/auth/picture"], [0, 1, 1, "get--api-auth-profile", "/api/auth/profile"], [0, 0, 1, "post--api-auth-profile-edit", "/api/auth/profile/edit"], [0, 3, 1, "patch--api-auth-profile-edit-account", "/api/auth/profile/edit/account"], [0, 0, 1, "post--api-auth-profile-edit-preferences", "/api/auth/profile/edit/preferences"], [0, 0, 1, "post--api-auth-profile-edit-sports", "/api/auth/profile/edit/sports"], [0, 2, 1, "delete--api-auth-profile-reset-sports-(sport_id)", "/api/auth/profile/reset/sports/(sport_id)"], [0, 0, 1, "post--api-auth-register", "/api/auth/register"], [1, 1, 1, "get--api-config", "/api/config"], [1, 3, 1, "patch--api-config", "/api/config"], [3, 1, 1, "get--api-oauth-apps", "/api/oauth/apps"], [3, 0, 1, "post--api-oauth-apps", "/api/oauth/apps"], [3, 2, 1, "delete--api-oauth-apps-(int-client_id)", "/api/oauth/apps/(int:client_id)"], [3, 1, 1, "get--api-oauth-apps-(int-client_id)-by_id", "/api/oauth/apps/(int:client_id)/by_id"], [3, 0, 1, "post--api-oauth-apps-(int-client_id)-revoke", "/api/oauth/apps/(int:client_id)/revoke"], [3, 1, 1, "get--api-oauth-apps-(string-client_client_id)", "/api/oauth/apps/(string:client_client_id)"], [3, 0, 1, "post--api-oauth-authorize", "/api/oauth/authorize"], [3, 0, 1, "post--api-oauth-revoke", "/api/oauth/revoke"], [3, 0, 1, "post--api-oauth-token", "/api/oauth/token"], [1, 1, 1, "get--api-ping", "/api/ping"], [4, 1, 1, "get--api-records", "/api/records"], [5, 1, 1, "get--api-sports", "/api/sports"], [5, 1, 1, "get--api-sports-(int-sport_id)", "/api/sports/(int:sport_id)"], [5, 3, 1, "patch--api-sports-(int-sport_id)", "/api/sports/(int:sport_id)"], [6, 1, 1, "get--api-stats-(user_name)-by_sport", "/api/stats/(user_name)/by_sport"], [6, 1, 1, "get--api-stats-(user_name)-by_time", "/api/stats/(user_name)/by_time"], [6, 1, 1, "get--api-stats-all", "/api/stats/all"], [7, 1, 1, "get--api-users", "/api/users"], [7, 2, 1, "delete--api-users-(user_name)", "/api/users/(user_name)"], [7, 1, 1, "get--api-users-(user_name)", "/api/users/(user_name)"], [7, 3, 1, "patch--api-users-(user_name)", "/api/users/(user_name)"], [7, 1, 1, "get--api-users-(user_name)-picture", "/api/users/(user_name)/picture"], [8, 1, 1, "get--api-workouts", "/api/workouts"], [8, 0, 1, "post--api-workouts", "/api/workouts"], [8, 2, 1, "delete--api-workouts-(string-workout_short_id)", "/api/workouts/(string:workout_short_id)"], [8, 1, 1, "get--api-workouts-(string-workout_short_id)", "/api/workouts/(string:workout_short_id)"], [8, 3, 1, "patch--api-workouts-(string-workout_short_id)", "/api/workouts/(string:workout_short_id)"], [8, 1, 1, "get--api-workouts-(string-workout_short_id)-chart_data", "/api/workouts/(string:workout_short_id)/chart_data"], [8, 1, 1, "get--api-workouts-(string-workout_short_id)-chart_data-segment-(int-segment_id)", "/api/workouts/(string:workout_short_id)/chart_data/segment/(int:segment_id)"], [8, 1, 1, "get--api-workouts-(string-workout_short_id)-gpx", "/api/workouts/(string:workout_short_id)/gpx"], [8, 1, 1, "get--api-workouts-(string-workout_short_id)-gpx-download", "/api/workouts/(string:workout_short_id)/gpx/download"], [8, 1, 1, "get--api-workouts-(string-workout_short_id)-gpx-segment-(int-segment_id)", "/api/workouts/(string:workout_short_id)/gpx/segment/(int:segment_id)"], [8, 1, 1, "get--api-workouts-map-(map_id)", "/api/workouts/map/(map_id)"], [8, 0, 1, "post--api-workouts-no_gpx", "/api/workouts/no_gpx"], [13, 4, 1, "-", "API_RATE_LIMITS"], [13, 4, 1, "-", "APP_LOG"], [13, 4, 1, "-", "APP_SECRET_KEY"], [13, 4, 1, "-", "APP_SETTINGS"], [13, 4, 1, "-", "APP_WORKERS"], [13, 4, 1, "-", "DATABASE_DISABLE_POOLING"], [13, 4, 1, "-", "DATABASE_URL"], [13, 4, 1, "-", "DEFAULT_STATICMAP"], [13, 4, 1, "-", "EMAIL_URL"], [13, 4, 1, "-", "FLASK_APP"], [13, 4, 1, "-", "HOST"], [13, 4, 1, "-", "MAP_ATTRIBUTION"], [13, 4, 1, "-", "PORT"], [13, 4, 1, "-", "REDIS_URL"], [13, 4, 1, "-", "SENDER_EMAIL"], [13, 4, 1, "-", "STATICMAP_SUBDOMAINS"], [13, 4, 1, "-", "TILE_SERVER_URL"], [13, 4, 1, "-", "UI_URL"], [13, 4, 1, "-", "UPLOAD_FOLDER"], [13, 4, 1, "-", "VUE_APP_API_URL"], [13, 4, 1, "-", "WEATHER_API_KEY"], [13, 4, 1, "envvar-WEATHER_API_PROVIDER", "WEATHER_API_PROVIDER \ud83c\udd95"], [13, 4, 1, "-", "WORKERS_PROCESSES"]], "/api/workouts/map_tile/(s)/(z)/(x)/(y)": [[8, 1, 1, "get--api-workouts-map_tile-(s)-(z)-(x)-(y).png", "png"]]}, "objtypes": {"0": "http:post", "1": "http:get", "2": "http:delete", "3": "http:patch", "4": "std:envvar"}, "objnames": {"0": ["http", "post", "HTTP post"], "1": ["http", "get", "HTTP get"], "2": ["http", "delete", "HTTP delete"], "3": ["http", "patch", "HTTP patch"], "4": ["std", "envvar", "variable d'environnement"]}, "titleterms": {"authentif": 0, "compt": [0, 11], "configur": 1, "document": [2, 9], "api": [2, 13], "point": 2, "acces": [2, 13], "oauth2": [3, 10], "record": 4, "sport": [5, 11], "statist": [6, 9, 11], "utilis": [7, 10, 11], "s\u00e9anc": [8, 11, 16], "histor": 9, "modif": 9, "version": 9, "0": [9, 14], "7": 9, "20": 9, "22": 9, "07": 9, "2023": 9, "fonctionnal": [9, 11], "am\u00e9lior": 9, "bug": 9, "corrig": 9, "traduct": [9, 11], "19": 9, "15": 9, "diver": 9, "18": 9, "25": 9, "06": 9, "17": 9, "03": 9, "16": 9, "29": 9, "05": 9, "12": 9, "04": 9, "14": 9, "08": 9, "13": 9, "02": 9, "11": 9, "31": 9, "2022": 9, "10": 9, "21": 9, "9": 9, "8": 9, "30": 9, "27": 9, "6": 9, "09": 9, "5": 9, "4": 9, "3": 9, "01": 9, "2": [9, 14], "1": 9, "ticket": 9, "ferm": 9, "pull": 9, "request": 9, "24": 9, "23": 9, "s\u00e9cur": 9, "nouvel": 9, "2021": 9, "2020": 9, "fittracke": [9, 12, 16], "pyp": [9, 13], "administr": [9, 11, 16], "correct": 9, "mineur": 9, "disponibl": 9, "franc": 9, "2019": 9, "premi": 9, "2018": 9, "interfac": 10, "lign": 10, "command": 10, "bas": 10, "don": [10, 13], "ftcli": 10, "db": 10, "drop": 10, "upgrad": 10, "clean": 10, "user": 10, "clean_arch": 10, "clean_token": 10, "creat": 10, "export_arch": 10, "updat": 10, "pr\u00e9f\u00e9rent": 11, "appliqu": 11, "screenshot": 11, "tableau": 11, "bord": 11, "pag": 11, "d\u00e9tail": [11, 16], "list": 11, "tabl": 12, "mati": 12, "install": 13, "pr\u00e9requ": 13, "variabl": 13, "environ": 13, "courriel": 13, "serveur": 13, "tuil": 13, "limit": 13, "m\u00e9t\u00e9o": 13, "a": 13, "part": 13, "sourc": 13, "d\u00e9velopp": 13, "product": 13, "mis": 13, "jour": 13, "d\u00e9ploi": 13, "dock": 13, "yunohost": 13, "oauth": 14, "scop": 14, "flux": 14, "ressourc": 14, "outil": 15, "tier": 15, "d\u00e9marr": 16, "Les": 16, "imag": 16, "cart": 16, "affich": 16, "dan": 16, "\u00e9chec": 16, "charg": 16, "t\u00e9l\u00e9charg": 16, "fichi": 16, "d\u00e9pannag": 17}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 57}, "alltitles": {"Authentification et compte": [[0, "authentication-and-account"]], "Configuration": [[1, "configuration"]], "Documentation de l\u2019API": [[2, "api-documentation"]], "Points d'acc\u00e8s :": [[2, null]], "OAuth2": [[3, "oauth2"], [10, "oauth2"]], "Records": [[4, "records"]], "Sports": [[5, "sports"], [11, "sports"]], "Statistiques": [[6, "statistics"], [11, "statistics"]], "Utilisateurs": [[7, "users"], [10, "users"], [11, "users"]], "S\u00e9ances": [[8, "workouts"], [11, "workouts"]], "Historique des modifications": [[9, "change-log"]], "Version 0.7.20 (22/07/2023)": [[9, "version-0-7-20-2023-07-22"]], "Fonctionnalit\u00e9s et am\u00e9liorations": [[9, "features-and-enhancements"], [9, "id1"], [9, "id8"], [9, "id11"], [9, "id17"], [9, "id22"], [9, "id24"], [9, "id26"], [9, "id29"], [9, "id40"], [9, "id46"]], "Bugs corrig\u00e9s": [[9, "bugs-fixed"], [9, "id2"], [9, "id9"], [9, "id12"], [9, "id15"], [9, "id18"], [9, "id30"], [9, "id35"], [9, "id37"], [9, "id41"], [9, "id44"], [9, "id47"], [9, "id49"], [9, "id52"], [9, "id55"], [9, "id57"], [9, "id60"], [9, "id63"], [9, "id66"], [9, "id71"], [9, "id73"], [9, "id75"], [9, "id77"], [9, "id80"], [9, "id82"], [9, "id88"], [9, "id91"], [9, "id93"], [9, "id95"], [9, "id102"], [9, "id107"], [9, "id109"], [9, "id111"], [9, "id114"], [9, "id116"], [9, "id118"], [9, "id122"], [9, "id132"], [9, "id135"], [9, "id137"], [9, "id140"], [9, "id147"]], "Traductions": [[9, "translations"], [9, "id3"], [9, "id4"], [9, "id7"], [9, "id10"], [9, "id13"], [9, "id16"], [9, "id19"], [9, "id20"], [9, "id23"], [9, "id25"], [9, "id27"], [9, "id28"], [9, "id31"], [9, "id33"], [9, "id36"], [9, "id38"], [9, "id42"], [9, "id43"], [9, "id45"], [9, "id48"], [9, "id61"], [11, "translations"]], "Version 0.7.19 (15/07/2023)": [[9, "version-0-7-19-2023-07-15"]], "Documentation": [[9, "documentation"], [9, "id5"], [9, "id39"]], "Divers": [[9, "misc"], [9, "id6"], [9, "id14"], [9, "id21"], [9, "id32"], [9, "id34"], [9, "id50"], [9, "id64"], [9, "id67"], [9, "id84"], [9, "id86"], [9, "id103"], [9, "id112"], [9, "id119"], [9, "id123"], [9, "id130"], [9, "id141"], [9, "id144"]], "Version 0.7.18 (25/06/2023)": [[9, "version-0-7-18-2023-06-25"]], "Version 0.7.17 (03/06/2023)": [[9, "version-0-7-17-2023-06-03"]], "Version 0.7.16 (29/05/2023)": [[9, "version-0-7-16-2023-05-29"]], "Version 0.7.15 (12/04/2023)": [[9, "version-0-7-15-2023-04-12"]], "Version 0.7.14 (08/03/2023)": [[9, "version-0-7-14-2023-03-08"]], "Version 0.7.13 (05/03/2023)": [[9, "version-0-7-13-2023-03-05"]], "Version 0.7.12 (16/02/2023)": [[9, "version-0-7-12-2023-02-16"]], "Version 0.7.11 (31/12/2022)": [[9, "version-0-7-11-2022-12-31"]], "Version 0.7.10 (21/12/2022)": [[9, "version-0-7-10-2022-12-21"]], "Version 0.7.9 (11/12/2022)": [[9, "version-0-7-9-2022-12-11"]], "Version 0.7.8 (30/11/2022)": [[9, "version-0-7-8-2022-11-30"]], "Version 0.7.7 (27/11/2022)": [[9, "version-0-7-7-2022-11-27"]], "Version 0.7.6 (09/11/2022)": [[9, "version-0-7-6-2022-11-09"]], "Version 0.7.5 (09/11/2022)": [[9, "version-0-7-5-2022-11-09"]], "Version 0.7.4 (05/11/2022)": [[9, "version-0-7-4-2022-11-05"]], "Version 0.7.3 (01/11/2022)": [[9, "version-0-7-3-2022-11-01"]], "Version 0.7.2 (21/09/2022)": [[9, "version-0-7-2-2022-09-21"]], "Version 0.7.1 (21/09/2022)": [[9, "version-0-7-1-2022-09-21"]], "Version 0.7.0 (19/09/2022)": [[9, "version-0-7-0-2022-09-19"]], "Version 0.6.12 (14/09/2022)": [[9, "version-0-6-12-2022-09-14"]], "Tickets Ferm\u00e9s": [[9, "issues-closed"], [9, "id51"], [9, "id54"], [9, "id58"], [9, "id62"], [9, "id65"], [9, "id68"], [9, "id70"], [9, "id74"], [9, "id76"], [9, "id78"], [9, "id83"], [9, "id87"], [9, "id90"], [9, "id92"], [9, "id94"], [9, "id96"], [9, "id98"], [9, "id100"], [9, "id105"], [9, "id108"], [9, "id110"], [9, "id113"], [9, "id115"], [9, "id117"], [9, "id120"], [9, "id124"], [9, "id126"], [9, "id128"], [9, "id131"], [9, "id133"], [9, "id136"], [9, "id138"], [9, "id142"], [9, "id145"], [9, "id148"]], "Pull Requests": [[9, "pull-requests"], [9, "id53"], [9, "id56"], [9, "id72"], [9, "id81"], [9, "id85"], [9, "id89"], [9, "id104"]], "Version 0.6.11 (27/02/2022)": [[9, "version-0-6-11-2022-07-27"]], "Fonctionnalit\u00e9s": [[9, "features"], [9, "id59"], [9, "id69"], [9, "id79"], [11, "features"]], "Version 0.6.10 (13/07/2022)": [[9, "version-0-6-10-2022-07-13"]], "Version 0.6.9 (03/07/2022)": [[9, "version-0-6-9-2022-07-03"]], "Version 0.6.8 (22/06/2022)": [[9, "version-0-6-8-2022-06-22"]], "Version 0.6.7 (11/06/2022)": [[9, "version-0-6-7-2022-06-11"]], "Version 0.6.6 (29/05/2022)": [[9, "version-0-6-6-2022-05-29"]], "Version 0.6.5 (24/04/2022)": [[9, "version-0-6-5-2022-04-24"]], "Version 0.6.4 (23/04/2022)": [[9, "version-0-6-4-2022-04-23"]], "Version 0.6.3 (09/04/2022)": [[9, "version-0-6-3-2022-04-09"]], "Version 0.6.2 (03/04/2022)": [[9, "version-0-6-2-2022-04-03"]], "Version 0.6.1 (27/03/2022)": [[9, "version-0-6-1-2022-03-27"]], "Version 0.6.0 (27/03/2022)": [[9, "version-0-6-0-2022-03-27"]], "Version 0.5.7 (13/02/2022": [[9, "version-0-5-7-2022-02-13"]], "S\u00e9curit\u00e9": [[9, "security"]], "Version 0.5.6 (05/02/2022)": [[9, "version-0-5-6-2022-02-05"]], "Version 0.5.5 (19/01/2022)": [[9, "version-0-5-5-2022-01-19"]], "Nouvelles fonctionnalit\u00e9s": [[9, "new-features"], [9, "id97"], [9, "id99"], [9, "id101"], [9, "id106"], [9, "id121"], [9, "id125"], [9, "id127"], [9, "id129"], [9, "id134"], [9, "id139"], [9, "id143"], [9, "id146"], [9, "id149"]], "Version 0.5.4 (01/01/2022": [[9, "version-0-5-4-2022-01-01"]], "Version 0.5.3 (01/01/2022)": [[9, "version-0-5-3-2022-01-01"]], "Version 0.5.2 (19/12/2021)": [[9, "version-0-5-2-2021-12-19"]], "Version 0.5.1 (30/11/2021)": [[9, "version-0-5-1-2021-11-30"]], "Version 0.5.0 (14/11/2021)": [[9, "version-0-5-0-2021-11-14"]], "Version 0.4.9 (16/07/2021)": [[9, "version-0-4-9-2021-07-16"]], "Version 0.4.8 (03/07/2021)": [[9, "version-0-4-8-2021-07-03"]], "Version 0.4.7 (07/04/2021)": [[9, "version-0-4-7-2021-04-07"]], "Version 0.4.6 (21/02/2021)": [[9, "version-0-4-6-2021-02-21"]], "Version 0.4.5 (17/02/2021)": [[9, "version-0-4-5-2021-02-17"]], "Version 0.4.4 (31/01/2021)": [[9, "version-0-4-4-2021-01-31"]], "Version 0.4.3 (10/01/2021)": [[9, "version-0-4-3-2021-01-10"]], "Version 0.4.2 (03/01/2021)": [[9, "version-0-4-2-2021-01-03"]], "Version 0.4.1 (31/12/2020)": [[9, "version-0-4-1-2020-12-31"]], "Version 0.4.0 - FitTrackee sur PyPI (19/09/2020)": [[9, "version-0-4-0-fittrackee-on-pypi-2020-09-19"]], "Version 0.3.0 - Administration (15/07/2020)": [[9, "version-0-3-0-administration-2020-07-15"]], "Version 0.2.5 - Corrections et am\u00e9liorations (31/01/2020)": [[9, "version-0-2-5-fix-and-improvements-2020-01-31"]], "Version 0.2.4 - Corrections mineures (30/01/2020)": [[9, "version-0-2-4-minor-fix-2020-01-30"]], "Version 0.2.3 - FitTrackee disponible en Fran\u00e7ais (29/12/2019)": [[9, "version-0-2-3-fittrackee-available-in-french-2019-12-29"]], "Version 0.2.2 - Corrections des statistiques (23/09/2019)": [[9, "version-0-2-2-statistics-fix-2019-09-23"]], "Version 0.2.1 - Correction et am\u00e9liorations (01/09/2019)": [[9, "version-0-2-1-fix-and-improvements-2019-09-01"]], "Version 0.2.0 - Statistiques (07/07/2019)": [[9, "version-0-2-0-statistics-2019-07-07"]], "Version 0.1.1 - Corrections et am\u00e9liorations (07/02/2019)": [[9, "version-0-1-1-fix-and-improvements-2019-02-07"]], "Version 0.1.0 - Premi\u00e8re version \ud83c\udf89 (04/07/2018)": [[9, "version-0-1-0-first-release-2018-07-04"]], "Interface de ligne de commande": [[10, "command-line-interface"]], "Base de donn\u00e9es": [[10, "database"]], "ftcli db drop": [[10, "ftcli-db-drop"]], "ftcli db upgrade": [[10, "ftcli-db-upgrade"]], "ftcli oauth2 clean": [[10, "ftcli-oauth2-clean"]], "ftcli users clean_archives": [[10, "ftcli-users-clean-archives"]], "ftcli users clean_tokens": [[10, "ftcli-users-clean-tokens"]], "ftcli users create": [[10, "ftcli-users-create"]], "ftcli users export_archives": [[10, "ftcli-users-export-archives"]], "ftcli users update": [[10, "ftcli-users-update"]], "Compte et pr\u00e9f\u00e9rences": [[11, "account-preferences"]], "Administration": [[11, "administration"], [11, "id1"]], "Application": [[11, "application"]], "Screenshots": [[11, "screenshots"]], "Tableau de bord": [[11, "dashboard"]], "Page de d\u00e9tail d\u2019une s\u00e9ance": [[11, "workout-detail"]], "Liste des s\u00e9ances": [[11, "workouts-list"]], "FitTrackee": [[12, "fittrackee"]], "Table des mati\u00e8res": [[12, "table-of-contents"]], "Installation": [[13, "installation"], [13, "id2"], [13, "id6"]], "Pr\u00e9requis": [[13, "prerequisites"]], "Variables d\u2019environnement": [[13, "environment-variables"]], "Courriels": [[13, "emails"]], "Serveur de tuiles": [[13, "map-tile-server"]], "Limitation d\u2019acc\u00e8s \u00e0 l\u2019API": [[13, "api-rate-limits"]], "Donn\u00e9es m\u00e9t\u00e9o": [[13, "weather-data"]], "A partir de PyPI": [[13, "from-pypi"], [13, "id3"]], "A partir des sources": [[13, "from-sources"], [13, "id4"]], "Environnements de d\u00e9veloppement": [[13, "dev-environment"], [13, "id5"]], "Environnements de production": [[13, "production-environment"]], "Mise \u00e0 jour": [[13, "upgrade"]], "Environnement de production": [[13, "prod-environment"]], "D\u00e9ploiement": [[13, "deployment"]], "Docker": [[13, "docker"]], "D\u00e9veloppement": [[13, "development"]], "Yunohost": [[13, "yunohost"]], "OAuth 2.0": [[14, "oauth-2-0"]], "Scopes": [[14, "scopes"]], "Flux": [[14, "flow"]], "Ressources": [[14, "resources"]], "Outils tiers": [[15, "third-party-tools"]], "Administrateur": [[16, "administrator"]], "FitTrackee ne d\u00e9marre pas": [[16, "fittrackee-fails-to-start"]], "Les images de la carte ne sont pas affich\u00e9es mais la carte est affich\u00e9e dans le d\u00e9tail de la s\u00e9ance": [[16, "map-images-are-not-displayed-but-map-is-shown-in-workout-detail"]], "\u00c9chec du chargement ou du t\u00e9l\u00e9chargement de fichiers": [[16, "failed-to-upload-or-download-files"]], "D\u00e9pannage": [[17, "troubleshooting"]]}, "indexentries": {"api_rate_limits": [[13, "envvar-API_RATE_LIMITS"]], "app_log": [[13, "envvar-APP_LOG"]], "app_secret_key": [[13, "envvar-APP_SECRET_KEY"]], "app_settings": [[13, "envvar-APP_SETTINGS"]], "app_workers": [[13, "envvar-APP_WORKERS"]], "database_disable_pooling": [[13, "envvar-DATABASE_DISABLE_POOLING"]], "database_url": [[13, "envvar-DATABASE_URL"]], "default_staticmap": [[13, "envvar-DEFAULT_STATICMAP"]], "email_url": [[13, "envvar-EMAIL_URL"]], "flask_app": [[13, "envvar-FLASK_APP"]], "host": [[13, "envvar-HOST"]], "map_attribution": [[13, "envvar-MAP_ATTRIBUTION"]], "port": [[13, "envvar-PORT"]], "redis_url": [[13, "envvar-REDIS_URL"]], "sender_email": [[13, "envvar-SENDER_EMAIL"]], "staticmap_subdomains": [[13, "envvar-STATICMAP_SUBDOMAINS"]], "tile_server_url": [[13, "envvar-TILE_SERVER_URL"]], "ui_url": [[13, "envvar-UI_URL"]], "upload_folder": [[13, "envvar-UPLOAD_FOLDER"]], "vue_app_api_url": [[13, "envvar-VUE_APP_API_URL"]], "weather_api_key": [[13, "envvar-WEATHER_API_KEY"]], "weather_api_provider \ud83c\udd95": [[13, "envvar-WEATHER_API_PROVIDER"]], "workers_processes": [[13, "envvar-WORKERS_PROCESSES"]], "variable d'environnement": [[13, "envvar-API_RATE_LIMITS"], [13, "envvar-APP_LOG"], [13, "envvar-APP_SECRET_KEY"], [13, "envvar-APP_SETTINGS"], [13, "envvar-APP_WORKERS"], [13, "envvar-DATABASE_DISABLE_POOLING"], [13, "envvar-DATABASE_URL"], [13, "envvar-DEFAULT_STATICMAP"], [13, "envvar-EMAIL_URL"], [13, "envvar-FLASK_APP"], [13, "envvar-HOST"], [13, "envvar-MAP_ATTRIBUTION"], [13, "envvar-PORT"], [13, "envvar-REDIS_URL"], [13, "envvar-SENDER_EMAIL"], [13, "envvar-STATICMAP_SUBDOMAINS"], [13, "envvar-TILE_SERVER_URL"], [13, "envvar-UI_URL"], [13, "envvar-UPLOAD_FOLDER"], [13, "envvar-VUE_APP_API_URL"], [13, "envvar-WEATHER_API_KEY"], [13, "envvar-WEATHER_API_PROVIDER"], [13, "envvar-WORKERS_PROCESSES"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["api/auth", "api/configuration", "api/index", "api/oauth2", "api/records", "api/sports", "api/stats", "api/users", "api/workouts", "changelog", "cli", "features", "index", "installation", "oauth", "third_party_tools", "troubleshooting/administrator", "troubleshooting/index"], "filenames": ["api/auth.rst", "api/configuration.rst", "api/index.rst", "api/oauth2.rst", "api/records.rst", "api/sports.rst", "api/stats.rst", "api/users.rst", "api/workouts.rst", "changelog.md", "cli.rst", "features.rst", "index.rst", "installation.rst", "oauth.rst", "third_party_tools.rst", "troubleshooting/administrator.rst", "troubleshooting/index.rst"], "titles": ["Authentification et compte", "Configuration", "Documentation de l\u2019API", "OAuth2", "Records", "Sports", "Statistiques", "Utilisateurs", "S\u00e9ances", "Historique des modifications", "Interface de ligne de commande", "Fonctionnalit\u00e9s", "FitTrackee", "Installation", "OAuth 2.0", "Outils tiers", "Administrateur", "D\u00e9pannage"], "terms": {"post": [0, 3, 8, 14], "api": [0, 1, 3, 4, 5, 6, 7, 8, 9, 11, 12, 14], "auth": [0, 1, 3, 4, 5, 6, 7, 8], "regist": 0, "enregistr": [0, 10, 11, 14], "utilis": [0, 1, 2, 3, 4, 5, 6, 8, 9, 13, 14], "envoi": [0, 7, 9, 11, 13, 14], "courriel": [0, 7, 9, 11, 16], "confirm": [0, 3, 9, 11, 13], "Le": [0, 9, 11, 13], "nouvel": [0, 7, 10, 11, 13], "cr\u00e9": [0, 3, 8, 9, 10, 11, 13, 14], "inact": [0, 7, 11, 13], "L": [0, 1, 5, 9, 11, 13, 14], "doit": [0, 1, 3, 5, 8, 9, 11, 13, 14, 16], "adress": [0, 1, 7, 10, 11, 13], "\u00e9lectron": [0, 1, 7, 10, 11, 13], "activ": [0, 1, 5, 7, 9, 10, 11, 12, 13], "exempl": [0, 1, 3, 4, 5, 6, 7, 8, 11, 12, 13, 14], "requ\u00eat": [0, 1, 3, 4, 5, 6, 7, 8, 14], "http": [0, 1, 3, 4, 5, 6, 7, 8, 13, 14], "1": [0, 1, 3, 4, 5, 6, 7, 8, 11, 13], "content": [0, 1, 3, 4, 5, 6, 7, 8, 9], "typ": [0, 1, 3, 4, 5, 6, 7, 8, 9, 11, 13], "appliqu": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14], "json": [0, 1, 3, 4, 5, 6, 7, 8, 11], "r\u00e9pons": [0, 1, 3, 4, 5, 6, 7, 8], "succes": [0, 3, 5, 6, 8], "200": [0, 1, 3, 4, 5, 6, 7, 8, 9, 13], "success": [0, 1, 3, 4, 5, 6, 7, 8], "status": [0, 1, 3, 4, 5, 6, 7, 8], "erreur": [0, 3, 9, 11, 16], "lor": [0, 10, 11], "400": [0, 1, 3, 5, 7, 8, 9], "bad": [0, 1, 3, 5, 7, 8], "request": [0, 1, 3, 5, 7, 8, 13, 14], "messag": [0, 1, 3, 7, 8, 9, 10, 11, 13, 14], "error": [0, 1, 5, 7, 8, 9, 13], "email": [0, 1, 7, 9, 10, 16], "valid": [0, 1, 3, 4, 5, 6, 7, 8, 13, 16], "must": [0, 1, 7, 9], "be": [0, 1, 7, 9, 13], "provided": [0, 1, 7], "objet": [0, 1, 5, 7, 8], "usernam": [0, 7, 10, 13], "string": [0, 1, 3, 5, 6, 7, 8], "nom": [0, 3, 6, 7, 9, 10, 13], "3": [0, 5, 6, 7, 8, 11, 13], "30": [0, 6], "caracter": [0, 3, 9, 13, 14], "requ": [0, 14], "password": [0, 9, 10, 13], "mot": [0, 7, 10, 11, 13], "pass": [0, 7, 10, 11, 13], "8": [0, 8, 11, 13], "minimum": 0, "lang": [0, 9], "pr\u00e9f\u00e9rent": [0, 7], "langu": [0, 11], "interfac": [0, 9, 11, 12, 13], "si": [0, 3, 7, 8, 9, 10, 11, 13, 14, 16], "non": [0, 3, 5, 8, 9, 12, 13], "fourn": [0, 3, 8, 10, 11, 13, 14, 16], "ser": [0, 9, 10, 11, 13], "anglais": [0, 9, 11], "accepted_policy": 0, "boolean": [0, 1, 3, 7, 10], "tru": [0, 1, 3, 5, 7, 9, 13], "a": [0, 1, 3, 4, 5, 6, 7, 8, 9, 11, 12], "accept": [0, 9, 11], "polit": [0, 1, 9, 11], "confidential": [0, 1, 9, 11], "cod": [0, 1, 3, 4, 5, 6, 7, 8, 9, 14], "\u00e9tat": [0, 1, 3, 4, 5, 6, 7, 8], "ok": [0, 1, 3, 4, 5, 6, 7, 8], "invalid": [0, 1, 3, 4, 5, 6, 7, 8, 9, 13], "payload": [0, 1, 3, 5, 7, 8], "sorry": 0, "that": [0, 9], "is": [0, 9], "already": 0, "taken": 0, "you": [0, 1, 5, 6, 7, 8, 13], "agre": 0, "privacy": [0, 9], "policy": [0, 9], "to": [0, 6, 8, 9, 13, 15], "character": [0, 9], "required": 0, "only": [0, 9], "alphanumeric": 0, "and": [0, 9, 10, 13], "the": [0, 5, 7, 8, 9, 13], "underscor": 0, "charact": 0, "_": [0, 9], "allowed": [0, 8], "403": [0, 1, 5, 6, 7, 8], "forbidden": [0, 1, 5, 6, 7, 8], "registr": [0, 9], "disabled": [0, 10], "500": [0, 1, 5, 7, 8, 9], "internal": [0, 1, 5, 7, 8], "serv": [0, 1, 5, 7, 8, 9, 13], "pleas": [0, 1, 3, 4, 5, 6, 7, 8], "try": [0, 5, 7, 8], "again": [0, 1, 3, 4, 5, 6, 7, 8], "or": [0, 5, 7, 8, 9], "contact": [0, 1, 5, 7, 8, 11], "administrator": [0, 5, 7, 8], "account": [0, 7, 9], "apres": [0, 3, 9, 11, 13, 14], "inscript": [0, 1, 9, 11, 13], "auth_token": 0, "web": [0, 3, 12, 13, 14], "token": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 14], "successful": 0, "jeton": [0, 1, 3, 4, 5, 6, 7, 8, 10, 13, 14], "resend": 0, "renvoi": [0, 3, 7, 8], "instruct": [0, 9, 11, 13], "d\u00e9sactiv": [0, 9, 10, 11, 13], "point": [0, 1, 3, 9, 11, 13, 14], "acces": [0, 1, 3, 14], "disponibl": [0, 4, 10, 11, 13, 14, 15], "resent": 0, "404": [0, 3, 5, 6, 7, 8, 9], "not": [0, 1, 3, 5, 6, 7, 8, 9, 11, 13], "found": [0, 3, 5, 6, 7, 8, 9], "requested": 0, "url": [0, 3, 9, 13, 14, 16], "was": 0, "login": 0, "connexion": [0, 13], "seul": [0, 3, 7, 8, 9, 11, 13, 14], "dispos": [0, 7], "actif": [0, 10, 11], "peuvent": [0, 9, 11, 12, 13], "connect": [0, 11], "successfully": 0, "logged": 0, "in": [0, 1, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14], "401": [0, 1, 3, 4, 5, 6, 7, 8, 9], "unauthorized": [0, 1, 3, 4, 5, 6, 7, 8], "credential": 0, "get": [0, 1, 3, 4, 5, 6, 7, 8], "profil": [0, 3, 9, 14], "obten": [0, 1, 3, 4, 5, 6, 7, 8, 14], "inform": [0, 1, 7, 9, 11, 12, 13], "authentifi": [0, 1, 3, 4, 5, 7, 8, 11], "scop": [0, 1, 3, 4, 5, 6, 7, 8], "read": [0, 3, 4, 5, 6, 7, 8, 14], "dat": [0, 1, 3, 4, 5, 6, 7, 8, 9, 11], "accepted_privacy_policy": 0, "admin": [0, 1, 4, 5, 6, 7, 8, 10, 13], "fals": [0, 1, 3, 5, 7, 8, 13], "bio": [0, 7], "null": [0, 1, 5, 7, 8, 9], "birth_dat": [0, 7], "created_at": [0, 7], "sun": [0, 4, 7, 8], "14": [0, 3, 7, 8, 11], "jul": [0, 4, 7, 8], "2019": [0, 4, 6, 7, 8], "09": [0, 7], "58": [0, 7, 9], "gmt": [0, 3, 4, 7, 8], "date_format": 0, "dd": 0, "mm": 0, "yyyy": 0, "display_ascent": 0, "sam": [0, 4, 7, 8, 9], "exampl": [0, 1, 3, 7, 9, 13, 14], "com": [0, 1, 3, 7, 9, 13, 14], "email_to_confirm": 0, "first_nam": [0, 7], "imperial_unit": [0, 7], "is_act": [0, 5, 7], "languag": [0, 7, 9], "last_nam": [0, 7], "locat": [0, 7, 13], "nb_sport": [0, 7], "nb_workout": [0, 6, 7], "6": [0, 5, 7, 8, 10, 11, 13], "pictur": [0, 7, 8, 9], "record": [0, 2, 7, 8, 9, 11], "id": [0, 3, 4, 5, 7, 8], "9": [0, 4, 7, 11, 13], "record_typ": [0, 4, 7, 8], "AS": [0, 4, 7, 8], "sport_id": [0, 4, 5, 6, 7, 8], "user": [0, 4, 6, 7, 8, 9, 13, 14], "valu": [0, 4, 7, 8, 9], "18": [0, 4, 7, 8, 11], "workout_dat": [0, 4, 7, 8], "07": [0, 4, 7, 8], "08": [0, 4, 7, 8], "00": [0, 4, 7, 8], "workout_id": [0, 4, 7, 8], "hvybqybra7wwxpastwr4v2": [0, 4, 7, 8], "10": [0, 1, 4, 7, 8, 11, 13], "fd": [0, 4, 7, 8], "13": [0, 4, 7, 8, 10, 11, 13], "ha": [0, 4, 7, 8], "43": [0, 4, 7, 8, 9], "97": [0, 4, 7, 8, 9], "11": [0, 4, 7, 11, 13], "ld": [0, 4, 7, 8], "01": [0, 4, 6, 7, 8], "12": [0, 4, 7, 8], "MS": [0, 4, 7, 8], "sports_list": [0, 7], "4": [0, 5, 6, 7, 8, 11, 13], "start_elevation_at_zero": 0, "timezon": [0, 7, 9], "europ": [0, 7], "paris": [0, 7], "total_ascent": [0, 6], "720": 0, "35": [0, 9], "total_dist": [0, 6, 7], "67": [0, 7], "895": [0, 7], "total_dur": [0, 6, 7], "50": [0, 7, 9, 13], "27": [0, 3, 7], "use_raw_gpx_speed": 0, "weekm": [0, 6, 7], "En": [0, 1, 3, 4, 5, 6, 7, 8, 12], "t\u00eat": [0, 1, 3, 4, 5, 6, 7, 8, 14], "authoriz": [0, 1, 3, 4, 5, 6, 7, 8, 13, 14], "oauth": [0, 1, 3, 4, 5, 6, 7, 8, 9, 12, 13], "2": [0, 1, 3, 4, 5, 6, 7, 8, 11, 12, 13], "0": [0, 1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13], "bear": [0, 1, 3, 4, 5, 6, 7, 8], "provid": [0, 1, 3, 4, 5, 6, 7, 8, 9], "signatur": [0, 1, 3, 4, 5, 6, 7, 8], "expired": [0, 1, 3, 4, 5, 6, 7, 8], "log": [0, 1, 3, 4, 5, 6, 7, 8, 13, 16], "edit": [0, 9, 11], "modifi": [0, 5, 7, 10, 11, 13], "writ": [0, 1, 3, 5, 7, 8, 14], "updated": [0, 9], "pr\u00e9nom": 0, "famill": 0, "localis": [0, 13], "biograph": 0, "naissanc": 0, "format": [0, 6, 8, 9, 11, 12], "Y": [0, 6, 8], "preferent": [0, 9], "pris": [0, 3, 9, 11, 13, 14], "charg": [0, 3, 9, 11, 13, 14, 17], "valeur": [0, 3, 11, 13, 14, 16], "d\u00e9faut": [0, 3, 7, 8, 9, 11, 13], "date_string": 0, "correspond": [0, 8, 13], "mmm": 0, "do": [0, 1, 5, 6, 7, 8, 9], "local": [0, 9, 12, 13], "e": 0, "fr": [0, 7, 13], "gl": 0, "it": 0, "nl": 0, "nb": 0, "affich": [0, 8, 9, 10, 11, 12, 13, 14, 17], "dan": [0, 1, 8, 9, 10, 11, 12, 13, 14, 17], "d\u00e9nivel": [0, 4, 8, 11], "total": [0, 3, 8, 9, 11], "distanc": [0, 4, 8, 9, 11], "unit": [0, 9, 13], "imp\u00e9rial": [0, 11], "Les": [0, 4, 8, 10, 11, 12, 13, 14, 17], "graphiqu": [0, 9, 11, 13], "altitud": [0, 9, 11], "commencent": 0, "z\u00e9ro": [0, 11], "fuseau": [0, 8, 11], "horair": [0, 8, 11], "gpx": [0, 3, 8, 9, 11, 12, 13, 15], "filtr": [0, 11], "calcul": [0, 9, 11], "vitess": [0, 4, 8, 9, 11, 13], "La": [0, 9, 11, 13, 14, 16], "semain": [0, 6, 11], "commenc": [0, 6, 9, 11, 13, 16], "lund": [0, 6, 11], "don": [0, 3, 8, 9, 11, 12, 14, 16], "match": 0, "sport": [0, 2, 6, 8, 9, 13], "color": [0, 5, 9], "000000": 0, "stopped_speed_threshold": [0, 5], "user_id": 0, "couleur": [0, 11], "hexad\u00e9cimal": 0, "ajout": [0, 7, 9, 10, 11, 12, 13, 15], "s\u00e9anc": [0, 2, 6, 9, 12, 14, 15, 17], "float": [0, 8], "seuil": [0, 11], "arr\u00eat": [0, 9, 11, 13], "gpxpy": [0, 11, 13], "hexadecimal": 0, "exist": [0, 6, 7, 8, 9, 11, 12, 13], "delet": [0, 3, 7, 8, 9], "reset": [0, 9, 10], "r\u00e9initialis": [0, 7, 10, 11, 13], "204": [0, 3, 7, 8], "parametr": [0, 3, 5, 6, 7, 8, 9, 11, 14], "identifi": [0, 3, 5, 6, 8, 14], "no": [0, 3, 7, 8, 9], "supprim": [0, 3, 7, 8, 9, 10, 11], "mis": [0, 5, 7, 8, 9, 11, 14], "jour": [0, 1, 5, 7, 8, 9, 10, 11], "imag": [0, 7, 8, 9, 11, 13, 17], "multipart": [0, 3, 8], "form": [0, 3, 8], "fil": [0, 8, 9, 13], "fichi": [0, 1, 8, 9, 10, 11, 12, 13, 15, 17], "extens": [0, 8, 13], "autoris": [0, 1, 3, 8, 13, 14], "jpg": 0, "png": [0, 8, 13], "gif": 0, "part": [0, 8, 9, 11, 12, 14, 15], "selected": [0, 8], "413": [0, 8], "entity": [0, 8], "too": [0, 8], "larg": [0, 8, 13], "during": [0, 8], "updat": [0, 8, 9, 13], "siz": [0, 8, 9, 13], "exceed": [0, 8, 9], "0mb": [0, 8], "trait": [0, 10], "demand": [0, 9, 10, 11, 13], "processed": 0, "patch": [0, 1, 5, 7, 8], "suiv": [0, 4, 10, 11, 13, 14, 15, 16], "modif": [0, 11, 12], "chang": [0, 9, 11, 13], "actuel": 0, "autr": [0, 7, 11, 13], "new_password": 0, "nouveau": [0, 10, 11, 13, 14], "missing": [0, 9], "current": [0, 9], "uniqu": [0, 3, 9, 10, 13, 14], "new": [0, 7, 9, 11], "logout": [0, 9], "d\u00e9connexion": 0, "out": 0, "access": [0, 9], "revoked": 0, "malformed": 0, "for": [0, 1, 8, 9, 13], "other": [0, 7], "reason": 0, "blacklist": 0, "export": [0, 9, 10, 11, 12, 13], "archiv": [0, 1, 9, 10, 11, 13], "Il": [0, 9, 11, 12, 13, 14], "cr\u00e9ation": [0, 9, 11], "in_progress": 0, "errored": 0, "taill": [0, 1, 11, 13], "octet": 0, "lorsqu": [0, 9, 10, 13], "r\u00e9uss": 0, "wed": 0, "mar": [0, 9, 13], "2023": [0, 13], "31": [0, 8, 13], "17": [0, 8], "file_nam": 0, "archive_rgjsr3fht295ywnqr5yp": 0, "zip": [0, 1, 8, 9, 11], "file_siz": 0, "924": 0, "aucun": [0, 8, 11, 12, 13], "ongoing": 0, "completed": 0, "t\u00e9l\u00e9charg": [0, 8, 10, 11, 13, 17], "download": [0, 8, 9], "archive_rgjsr3fhr5yp": 0, "x": [0, 8, 9, 13, 14], "gzip": 0, "config": [1, 9, 13], "about": [1, 9, 13], "admin_contact": 1, "gpx_limit_import": 1, "is_email_sending_enabled": 1, "is_registration_enabled": 1, "max_single_file_siz": 1, "1048576": 1, "max_user": 1, "max_zip_file_siz": 1, "10485760": 1, "map_attribu": [1, 13], "copy": [1, 13], "href": [1, 13], "www": [1, 13], "openstreetmap": [1, 9, 13], "org": [1, 13], "copyright": [1, 13], "contributor": [1, 13], "privacy_policy": 1, "privacy_policy_dat": 1, "version": [1, 10, 11, 13, 14], "7": [1, 8, 10, 11, 13, 14], "21": [1, 13], "weather_provid": 1, "getting": 1, "mettr": [1, 7, 8, 9, 10, 11, 13], "avoir": [1, 5, 13], "droit": [1, 5, 7, 9, 10, 11, 13, 14], "administr": [1, 5, 7, 10, 13, 14, 17], "instanc": [1, 9, 11, 13], "integ": [1, 3, 5, 6, 7, 8], "nombr": [1, 7, 8, 10, 11, 13], "maximum": [1, 11], "maximal": [1, 4, 8, 9, 10, 11], "inscrir": [1, 9, 11, 13], "hav": [1, 5, 6, 7, 8, 9], "perm": [1, 5, 6, 7, 8], "when": [1, 9], "updating": 1, "ping": 1, "contr\u00f4l": 1, "pong": 1, "authentif": [2, 13, 14], "compt": [2, 7, 8, 9, 10, 13, 15], "configur": [2, 9, 11, 13, 14, 16], "oauth2": [2, 14], "statist": 2, "app": [3, 9, 13, 14], "client": [3, 9, 11, 13, 14], "pagin": [3, 7, 8], "5": [3, 5, 6, 7, 8, 10, 11, 13], "pag": [3, 7, 8, 9], "Ce": 3, "accessibl": [3, 13, 14], "fittracke": [3, 10, 11, 13, 14, 15, 17], "san": [3, 6, 7, 8, 9, 11, 12, 13], "client_descript": 3, "client_id": [3, 14], "o22a27s2abpuoxjbxv3ujdox": 3, "issued_at": 3, "thu": 3, "july": 3, "2022": 3, "06": [3, 6], "53": [3, 9], "nam": 3, "import": [3, 9, 11, 13, 15], "redirect_ur": 3, "callback": [3, 14], "workout": [3, 4, 5, 6, 8, 9, 14], "websit": 3, "has_next": 3, "has_prev": 3, "client_secret": 3, "secret": [3, 13, 14], "created": [3, 8], "client_nam": 3, "client_ur": 3, "array": 3, "list": [3, 9, 10, 12, 13], "redirect": [3, 14], "cha\u00een": [3, 14], "descript": [3, 10, 13], "optionnel": [3, 13], "client_client_id": 3, "trouv": [3, 5, 8], "int": [3, 5, 8], "by_id": 3, "enti": 3, "an": [3, 9], "revok": 3, "r\u00e9voqu": 3, "tous": [3, 4, 5, 6, 7, 9, 11, 13], "associ": [3, 10, 11, 14], "cas": [3, 11, 13], "redirig": [3, 14], "ver": [3, 9, 13, 14], "\u00e9mettr": 3, "response_typ": [3, 14], "support": [3, 9, 13, 14, 16], "\u00eatre": [3, 8, 9, 10, 11, 12, 13, 14, 16], "stat": [3, 6, 9, 14], "\u00e9vit": [3, 9], "falsif": [3, 14], "entre": [3, 8, 11, 14], "sit": [3, 14], "cross": [3, 14], "forgery": [3, 14], "csrf": [3, 14], "obligatoir": [3, 8, 9, 10, 13, 14], "recommand": [3, 13, 14], "code_challeng": [3, 14], "g\u00e9ner": [3, 10, 11, 13, 14], "v\u00e9rif": [3, 9, 14, 16], "pkce": [3, 14], "code_challenge_method": [3, 14], "m\u00e9thod": [3, 13, 14], "challeng": [3, 14], "s256": [3, 14], "librair": [3, 13], "authlib": [3, 13, 14], "d\u00e9livr": 3, "rafra\u00eech": 3, "access_token": 3, "roehv64thcg28wcewzhrnvlusoduvw8nvnhkcml57": 3, "expires_in": 3, "864000": 3, "refresh_token": 3, "nuv9cy8vqonrqkhtz5pqaq2zw7msh0mornpjr14amswd6f6": 3, "token_typ": 3, "expires_at": 3, "1658660147": 3, "0667062": 3, "grant_typ": 3, "authorization_cod": [3, 14], "\u00e9miss": 3, "code_verifi": 3, "moyen": [4, 8, 9, 11, 13], "plus": [4, 9, 10, 11, 12, 13, 16], "\u00e9lev": [4, 11, 13], "dur": [4, 6, 8, 9, 11], "longu": [4, 9, 11], "retourn": 4, "is_active_for_us": 5, "label": [5, 9], "cycling": 5, "transport": [5, 9, 11], "hiking": 5, "mountain": 5, "biking": [5, 8], "running": 5, "walking": 5, "has_workout": 5, "user_nam": [6, 7], "by_tim": 6, "entra\u00een": [6, 8, 11], "from": [6, 8, 9, 13], "2018": [6, 8], "tim": [6, 8], "week": [6, 9], "statistic": [6, 9], "2017": [6, 8], "average_speed": 6, "48": 6, "203": 6, "156": [6, 9], "15": [6, 8, 10, 11, 13], "282": [6, 9], "12341": 6, "16": [6, 8, 11, 13], "99": [6, 9], "150": 6, "178": [6, 9], "47": [6, 8, 9], "9960": 6, "95": [6, 9], "46": [6, 9], "78": 6, "613": 6, "1267": 6, "d\u00e9but": [6, 8], "fin": [6, 8, 9, 13], "p\u00e9riod": [6, 11, 13], "temp": 6, "dimanch": [6, 11], "month": [6, 9], "mois": [6, 9, 11], "year": 6, "ann\u00e9": [6, 11], "default": [6, 8, 9, 13], "by_sport": 6, "all": [6, 13], "tout": [6, 13], "uploads_dir_siz": 6, "1000": 6, "statut": [7, 10], "Ne": 7, "quelqu": [7, 8, 9, 11, 14], "order_by": [7, 8], "workouts_count": 7, "par_pag": 7, "is_admin": 7, "sat": 7, "20": [7, 11], "03": [7, 8], "per_pag": [7, 8], "max": [7, 8, 9, 10], "q": 7, "order": [7, 8, 9], "ordre": [7, 8], "tri": [7, 8, 11], "asc": [7, 8], "desc": [7, 8], "criter": 7, "peut": [7, 9, 10, 11, 13, 14], "jpeg": 7, "activat": [7, 10], "new_email": 7, "reset_password": 7, "different": [7, 9], "than": [7, 9], "curent": 7, "Un": [7, 9, 11, 13], "propr": [7, 11, 12], "sauf": [7, 13], "sien": 7, "john_do": 7, "can": [7, 9, 13, 16], "your": 7, "has": [7, 9], "right": [7, 9], "02": 8, "moin": 8, "ascent": [8, 9], "ave_speed": 8, "bound": 8, "creation_dat": 8, "51": 8, "descent": [8, 9], "durat": [8, 9], "04": 8, "kjxavsturjvoah2wvcegef": 8, "map": [8, 9, 11, 12], "max_alt": 8, "max_speed": 8, "min_alt": 8, "modification_dat": 8, "moving": [8, 9], "next_workout": 8, "paus": [8, 9], "previous_workout": 8, "Mon": 8, "jan": 8, "segment": [8, 9, 11], "titl": [8, 9], "weather_end": 8, "weather_start": 8, "with_gpx": 8, "100": [8, 9, 11], "titr": [8, 11], "tient": 8, "majuscul": 8, "minuscul": 8, "distance_from": 8, "minimal": [8, 9, 11, 14], "distance_to": 8, "duration_from": 8, "h": [8, 11], "M": 8, "duration_to": 8, "ave_speed_from": 8, "ave_speed_to": 8, "max_speed_from": 8, "max_speed_to": 8, "sorting": 8, "criteri": 8, "workout_short_id": 8, "57": [8, 9], "45": 8, "22": 8, "without": [8, 9], "sunday": 8, "morning": 8, "court": 8, "cart": [8, 9, 11, 12, 13, 17], "leaflet": [8, 13], "this": [8, 10, 13], "chart_dat": 8, "r\u00e9cuper": [8, 13, 14], "chart": [8, 9, 13], "js": [8, 13], "elev": [8, 9], "279": [8, 9], "latitud": 8, "5078118": 8, "longitud": 8, "1232004": 8, "speed": [8, 9], "63": 8, "fri": 8, "44": [8, 9], "7380": 8, "280": [8, 9], "5079733": 8, "1234538": 8, "39": 8, "segment_id": 8, "map_id": 8, "fa33f4d996844a5c73ecd1ae24456ab8": 8, "1563529507772": 8, "map_til": 8, "z": [8, 13], "tuil": [8, 9, 11], "serveur": [8, 9, 11, 12, 16], "4109": 8, "2930": 8, "sous": [8, 13], "domain": [8, 13], "zoom": 8, "index": 8, "axe": [8, 11], "xml": 8, "201": [8, 9], "guillemet": 8, "doubl": 8, "doivent": [8, 13, 14], "\u00e9chapp": [8, 9], "no_gpx": 8, "uuid": [8, 9], "n\u00e9gat": [8, 11], "posit": [8, 9, 11], "km": [8, 11], "second": 8, "407": 9, "display": 9, "are": 9, "zero": 9, "pr": 9, "409": 9, "ci": 9, "action": 9, "add": 9, "open": [9, 11, 12], "wat": 9, "swimming": 9, "398": 9, "fix": [9, 13], "dropdown": 9, "402": 9, "handl": 9, "399": 9, "translat": 9, "galician": [9, 11], "polish": 9, "406": 9, "spanish": 9, "avanc": [9, 11], "n\u00e9erland": [9, 11], "galicien": 9, "allemand": [9, 11], "italien": [9, 11], "85": 9, "norv\u00e9gien": [9, 11], "bokm\u00e5l": [9, 11], "polon": [9, 11], "56": 9, "espagnol": [9, 11], "merc": 9, "contributeur": [9, 15], "gallegonovato": 9, "xmgz": 9, "mariusz": 9, "Cette": [9, 12, 13], "contient": [9, 11], "migrat": [9, 10, 13], "bas": [9, 11, 13, 16], "voir": [9, 11, 13, 14, 16], "380": 9, "link": 9, "390": 9, "improv": 9, "ui": 9, "391": 9, "paragliding": 9, "384": 9, "inconsistent": 9, "with": [9, 13], "between": 9, "gp": [9, 11], "393": 9, "pil": 9, "modul": [9, 13], "attribut": 9, "antiali": 9, "394": 9, "397": 9, "386": 9, "minor": 9, "contributing": 9, "md": 9, "388": 9, "typo": 9, "395": 9, "test": [9, 13], "packaged": 9, "of": [9, 13, 14], "cc3fe1c": 9, "python": [9, 13, 14], "postgresql": [9, 13, 16], "98": 9, "42": 9, "dkm": 9, "partiel": 9, "quant": 9, "encor": [9, 12], "weblat": [9, 11], "mainten": [9, 13], "351": 9, "370": 9, "dutch": 9, "thank": 9, "bjornclauw": 9, "371": 9, "375": 9, "french": [9, 11], "thovi98": 9, "376": 9, "german": 9, "qwerty287": 9, "1375986": 9, "them": 9, "furo": 9, "377": 9, "init": [9, 13], "354": 9, "drop": 9, "374": 9, "dock": 9, "install": [9, 12], "virtualenv": [9, 13], "87": 9, "36": 9, "366": 9, "369": 9, "hosted": 9, "367": 9, "358": 9, "filtering": 9, "359": 9, "foot": 9, "overlap": 9, "350": 9, "352": 9, "356": 9, "357": 9, "365": 9, "gnu": 9, "ewm": 9, "jat255": 9, "parm": 9, "dessous": 9, "darksky": [9, 13], "servic": [9, 13], "319": 9, "cli": [9, 10, 11, 13], "creat": [9, 13], "329": 9, "mak": [9, 13], "start": 9, "axis": 9, "at": [9, 13], "sticky": 9, "333": 9, "featur": 9, "filt": 9, "by": [9, 13], "338": 9, "relev": 9, "328": 9, "track": 9, "incorrect": 9, "imperial": 9, "b29ed7": 9, "dashboard": 9, "250": 9, "norwegian": 9, "320": 9, "323": 9, "06ba975": 9, "bcc568e": 9, "ea0ac99": 9, "a458f5f": 9, "075aeb9": 9, "60e164d": 9, "italian": 9, "318": 9, "remov": 9, "weath": 9, "comradekingu": 9, "J": 9, "lavoi": 9, "mondstern": 9, "314": 9, "deleted": 9, "process": [9, 13], "fail": 9, "315": 9, "permet": [9, 10, 11, 12, 14], "Une": [9, 10, 11, 13, 16], "personnalis": [9, 11], "d\u00e9fin": [9, 11, 14, 16], "afin": [9, 14], "puissent": [9, 11], "prendr": [9, 11], "connaiss": [9, 11], "conten": [9, 11, 13], "t\u00e9l\u00e9vers": [9, 11], "enfin": 9, "compl\u00e9mentair": 9, "pouv": 9, "util": [9, 11], "propos": [9, 11], "301": [9, 13], "304": 9, "305": 9, "additional": 9, "307": 9, "quand": 9, "d\u00e9marr": [9, 13, 17], "modal": 9, "297": 9, "308": 9, "310": 9, "290": 9, "294": 9, "postgresql10": 9, "d\u00e9pend": 9, "265": 9, "implementing": 9, "altern": 9, "visualcrossing": 9, "environment": [9, 13, 16], "variabl": [9, 16], "set": [9, 10, 13], "weather_api_provid": [9, 13], "see": [9, 13], "287": 9, "289": 9, "dperruso": 9, "92": 9, "parameter": 9, "c88a515": 9, "f96dcef": 9, "mountaineering": 9, "278": 9, "270": 9, "nederland": 9, "258": 9, "pars": 9, "271": 9, "creation": 9, "273": 9, "274": 9, "paralleliz": 9, "275": 9, "disabl": 9, "work": [9, 13, 16], "entry": 9, "commend": 9, "lign": [9, 11, 12, 13], "command": [9, 11, 12, 13], "flask": [9, 13], "dramatiq": [9, 10, 13], "3c8d9c2": 9, "trailing": 9, "comm": [9, 11, 13], "d\u00e9velopp": [9, 10, 12], "264": 9, "whit": 9, "gray": 9, "background": 9, "266": 9, "260": 9, "checked": 9, "261": 9, "should": 9, "return": [9, 13], "numb": [9, 13], "lim": [9, 13], "n\u00e9cessit": [9, 13, 14], "89": 9, "b1536fc": 9, "257": 9, "body": [9, 13], "nginx": [9, 11, 13, 14, 16], "112": 9, "allow": [9, 13], "244": 9, "virtual": 9, "rid": 9, "246": 9, "247": 9, "displayed": 9, "microsecond": 9, "252": 9, "242": 9, "241": 9, "strength": 9, "estim": 9, "packag": 9, "239": 9, "cb9d02f": 9, "english": 9, "88": 9, "231": 9, "invalidat": 9, "236": 9, "rat": [9, 13], "limit": [9, 11], "232": 9, "hidden": 9, "237": 9, "212": 9, "230": 9, "databas": [9, 10, 13], "problem": [9, 13], "after": [9, 13], "upgrad": [9, 13], "225": 9, "grammar": 9, "issu": [9, 11], "skylan0916": 9, "derni": [9, 13], "ex\u00e9cut": 9, "inf\u00e9rieur": 9, "diff\u00e9rent": 9, "ex\u00e9cu": [9, 10], "213": 9, "using": 9, "measur": 9, "ft": 9, "mi": 9, "223": 9, "icon": 9, "167": 9, "added": 9, "162": 9, "fmstrat": 9, "210": 9, "could": 9, "til": [9, 13], "requiring": 9, "subdomain": 9, "staticmap_subdomain": [9, 13], "209": 9, "containing": 9, "multipl": 9, "gorgoback": 9, "Et": 9, "detect": 9, "brows": 9, "use": 9, "matching": 9, "if": [9, 13], "avail": 9, "208": 9, "card": 9, "html": 9, "changing": 9, "197": 9, "196": 9, "manag": [9, 10], "tool": 9, "190": 9, "193": 9, "deleting": 9, "192": 9, "instead": 9, "191": 9, "layout": 9, "nomenclatur": 9, "inclus": 9, "195": 9, "cec": 9, "affect": [9, 11], "pr\u00e9c\u00e9dent": 9, "cc4287e": 9, "env": [9, 13], "offset": 9, "Pas": 9, "refactoris": 9, "avant": [9, 13], "possibl": [9, 11, 12, 13], "fournisseur": [9, 13], "smtp": [9, 13, 16], "cel": [9, 11, 13], "r\u00e9duit": 9, "pr\u00e9requ": 9, "mono": [9, 11], "Pour": [9, 11, 13, 14], "ger": [9, 10, 11, 13, 16], "180": 9, "cannot": 9, "send": 9, "tl": [9, 13], "177": 9, "manqu": 9, "petit": 9, "\u00e9cran": [9, 11], "175": 9, "refreshed": 9, "173": 9, "171": 9, "correctly": 9, "apport": 9, "niveau": 9, "155": 9, "106": 9, "169": 9, "161": 9, "farthest": 9, "160": 9, "plusieur": [9, 11, 12, 13], "danielsiersleben": 9, "rapport": 9, "initialis": [9, 13], "149": 9, "152": 9, "autoespcap": 9, "model": 9, "jinj": 9, "151": 9, "security": 9, "nettoi": 9, "entr\u00e9": [9, 13, 14], "alphanumer": 9, "alert": 9, "worker": [9, 10, 13], "lanc": [9, 13], "script": 9, "product": 9, "dotenv": 9, "146": 9, "filter": 9, "145": 9, "140": 9, "fullscreen": 9, "control": [9, 13], "138": 9, "initial": 9, "135": 9, "finish": 9, "marker": 9, "134": 9, "wind": 9, "direct": [9, 11, 13], "877fa0f": 9, "changed": 9, "calendar": 9, "small": 9, "resolu": 9, "131": 9, "129": 9, "editing": 9, "127": [9, 13], "validat": 9, "legitimat": 9, "uri": 9, "such": 9, "localhost": [9, 13], "123": 9, "121": 9, "activity": 9, "snowsho": 9, "contain": [9, 13], "116": 9, "bet": 9, "button": 9, "graph": 9, "screen": 9, "115": 9, "option": [9, 10, 13], "averag": 9, "91": 9, "min": 9, "90": 9, "som": 9, "seem": 9, "104": 9, "switch": 9, "agplv3": 9, "licens": [9, 12, 13], "101": 9, "full": 9, "development": 9, "109": 9, "stopped": 9, "threshold": 9, "slow": 9, "mov": 9, "84": 9, "93": 9, "paf38": 9, "83": 9, "configured": 9, "generat": 9, "static": 9, "keep": 9, "default_staticmap": [9, 13], "81": 9, "remaining": 9, "textar": 9, "82": 9, "modify": 9, "his": 9, "birth": 9, "day": [9, 10, 13], "80": [9, 13], "sav": 9, "79": 9, "rebuild": 9, "75": 9, "javascript": [9, 13], "Du": 9, "fait": [9, 13], "sqlalchemy": [9, 13, 16], "postgr": [9, 16], "72": 9, "exceeding": 9, "71": 9, "great": 9, "70": 9, "less": 9, "uploaded": [9, 13], "66": 9, "used": 9, "importing": 9, "64": 9, "per": [9, 13], "shown": 9, "62": 9, "sending": 9, "\u00e9valu": [9, 13], "standardiz": 9, "term": 9, "upload": [9, 13, 15], "directory": [9, 13], "endpoint": 9, "also": 9, "59": 9, "uploading": 9, "activit": 9, "introduit": 9, "majeur": 9, "facilit": 9, "dor\u00e9nav": 9, "attent": [9, 13, 16], "lir": 9, "certain": [9, 10, 12, 13], "environ": [9, 10, 16], "renomm": 9, "celui": 9, "remplac": [9, 11, 13], "thunderforest": [9, 13], "outdoor": [9, 13], "54": 9, "simplify": 9, "d\u00e9plac": 9, "red": [9, 10, 13], "complet": 9, "co": 9, "4c3fc34": 9, "empty": 9, "34614d5": 9, "spinn": 9, "loading": 9, "b862a77": 9, "2e1ee2c": 9, "interceptor": 9, "rout": [9, 13], "definit": 9, "down": 9, "mor": 9, "weekend": 9, "40": 9, "localiz": 9, "i18n": 9, "41": 9, "show": [9, 10, 13], "mous": 9, "over": 9, "docu": 9, "choos": 9, "first": 9, "33": 9, "37": 9, "34": 9, "anymor": 9, "poetry": [9, 13], "pipenv": 9, "gestion": [9, 13], "paquet": [9, 13], "detailed": 9, "28": 9, "26": 9, "tooltip": 9, "standard": [9, 13], "v\u00e9lo": [9, 11], "randon": [9, 11], "vtt": [9, 11], "cours": [9, 11], "pied": [9, 11], "march": [9, 11], "\u00e9gal": [9, 10, 11, 12, 13], "enter": 9, "heur": [9, 11, 13], "suppress": [9, 11], "m\u00e9t\u00e9o": [9, 11], "cl\u00e9": [9, 11, 13], "calendri": [9, 11], "mensuel": [9, 11], "cour": [9, 10, 12, 13], "grand": [9, 11], "recherch": 9, "propri\u00e9tair": [9, 11], "moment": [9, 11], "search": 9, "view": [9, 13], "usag": [10, 13], "arg": [10, 13], "lin": [10, 13], "help": [10, 13], "exit": [10, 13], "d\u00e9sorm": 10, "obsolet": 10, "prochain": [10, 11], "fittrackee_set_admin": 10, "fittrackee_upgrade_db": 10, "fittrackee_work": 10, "vid": [10, 13], "expir": 10, "depuis": [10, 13], "noir": 10, "d\u00e9j\u00e0": 10, "argument": 10, "al\u00e9atoir": [10, 13], "incomplet": 10, "fitracke": 11, "stock": [11, 12, 14], "sportiv": [11, 12], "plein": [11, 12], "air": [11, 12], "plut\u00f4t": 11, "m\u00eam": [11, 13], "r\u00e9pertoir": [11, 13], "chiffr": [11, 13], "Avec": 11, "street": [11, 12], "statiqu": [11, 13], "trac": [11, 13], "virtuel": [11, 13], "electr": 11, "alpin": 11, "nag": 11, "eau": 11, "libr": 11, "parapent": 11, "19": 11, "aviron": 11, "ski": 11, "raquet": 11, "trail": 11, "lieu": 11, "Elle": 11, "except": [11, 16], "analys": [11, 13], "mani": [11, 13], "sp\u00e9cif": 11, "jusqu": 11, "system": [11, 13], "m\u00e9triqu": 11, "differ": 11, "origin": 11, "particuli": 11, "entrer": 11, "relat": 11, "Des": 11, "bouton": 11, "permettent": 11, "visualis": 11, "visual": [11, 13], "crossing": [11, 13], "sourc": 11, "vent": 11, "flech": 11, "indiqu": 11, "infobull": 11, "proven": 11, "masqu": 11, "cf": [11, 12, 13], "selon": [11, 13], "comport": 11, "d\u00e9roul": 11, "instant": 11, "r\u00e9cent": 11, "consult": 11, "s\u00e9lection": 11, "menu": 11, "nouveaut": 11, "dont": [11, 14], "o\u00f9": [11, 13], "premi": 11, "chois": [11, 13], "affichag": 11, "cach": 11, "d\u00e9part": 11, "exclur": 11, "extr\u00eam": 11, "exclu": 11, "mati": 11, "appara\u00eetr": 11, "toujour": 11, "tierc": [11, 14], "S": 11, "unitair": 11, "n\u00e9cessair": [11, 13], "volumin": [11, 16], "avert": 11, "suppl\u00e9mentair": 11, "syntax": 11, "markdown": 11, "adapt": [11, 13], "discours": 11, "traduit": 11, "bloqu": 11, "verrouill": 11, "vi": 11, "etat": 11, "publi": [11, 13], "suivr": 12, "conserv": [12, 13], "votr": [12, 13], "mobil": 12, "android": 12, "exhaust": 12, "runn": 12, "up": 12, "gpl": 12, "v3": 12, "opentrack": 12, "apach": 12, "fitotrack": 12, "aid": 12, "fonctionnal": [12, 13], "instabl": [12, 13], "ticket": 12, "outil": [12, 13], "tier": 12, "document": [12, 13, 14, 16], "d\u00e9pannag": 12, "histor": [12, 13], "typescript": 13, "staticmap": 13, "t\u00e2ch": 13, "vue3": 13, "vuex": 13, "logo": 13, "ic\u00f4n": 13, "freepik": 13, "flaticon": 13, "fork": 13, "awesom": 13, "nod": 13, "yarn": 13, "compos": 13, "\u00e9tap": 13, "d\u00e9crivent": 13, "linux": 13, "debian": 13, "arch": 13, "Sur": 13, "exploit": 13, "rencontr": 13, "makefil": 13, "custom": 13, "Elles": 13, "flask_app": 13, "d\u00e9marrag": 13, "pwd": 13, "__main__": 13, "py": 13, "sinon": 13, "host": 13, "h\u00f4t": 13, "port": 13, "5000": 13, "app_setting": 13, "productionconfig": 13, "app_secret_key": 13, "fort": 13, "jwt": 13, "app_worker": 13, "_workers_": 13, "gunicorn": [13, 16], "app_log": 13, "chemin": [13, 16], "upload_fold": [13, 16], "absolu": [13, 16], "application_directory": 13, "database_url": [13, 16], "5432": 13, "database_disable_pooling": 13, "pooling": 13, "ui_url": 13, "lien": 13, "email_url": [13, 16], "chain": 13, "sender_email": 13, "exp\u00e9diteur": 13, "redis_url": 13, "workers_process": 13, "processus": 13, "api_rate_limit": 13, "300": 13, "minut": 13, "tile_server_url": 13, "gard": 13, "n\u00e9cessitent": [13, 14], "df": 13, "Par": [13, 14], "b": 13, "osm": 13, "franc": 13, "attribu": 13, "target": 13, "_blank": 13, "rel": 13, "noopen": 13, "noreferr": 13, "komoot": 13, "insensibl": 13, "cass": 13, "weather_api_key": 13, "weather_ap": 13, "vue_app_api_url": 13, "25": 13, "ssl": 13, "465": 13, "starttl": 13, "587": 13, "office365": 13, "fonction": [13, 14], "identif": 13, "omis": 13, "ancien": 13, "notif": 13, "pr\u00eat": 13, "laiss": 13, "apikey": 13, "xxxx": 13, "v\u00e9rifi": [13, 16], "condit": 13, "attendu": 13, "osmfr": 13, "fond": 13, "mention": 13, "legal": 13, "nofollow": 13, "nbsp": 13, "creativecommon": 13, "licenc": 13, "cc": 13, "SA": 13, "ip": 13, "strateg": 13, "pourr": 13, "soum": 13, "asset": 13, "notat": 13, "s\u00e9par": [13, 14], "virgul": 13, "hour": 13, "diagnostic": 13, "utility": 13, "commmand": 13, "clear": 13, "specific": 13, "key": 13, "enumerat": 13, "detail": 13, "interrompu": 13, "remarqu": 13, "pip": 13, "schem": [13, 14], "owner": 13, "privileg": 13, "copi": 13, "coll": 13, "nano": 13, "ftcli": 13, "db": 13, "systemd": 13, "ouvr": 13, "navig": 13, "alor": 13, "projet": 13, "project": 13, "clon": 13, "d\u00e9p\u00f4t": 13, "git": 13, "github": 13, "samr1": 13, "cd": 13, "vu": 13, "dev": 13, "run": 13, "3000": 13, "v0": 13, "wget": 13, "tar": 13, "gz": 13, "xzf": 13, "mv": 13, "sql": 13, "proced": 13, "fair": 13, "sauvegard": 13, "ensembl": 13, "pg_dump": 13, "suivent": 13, "s\u00e9mant": 13, "r\u00e9tro": 13, "compatibl": 13, "stopp": 13, "u": 13, "journal": [13, 16], "red\u00e9marr": 13, "pull": 13, "lequel": 13, "\u00e9cras": 13, "cp": 13, "r": 13, "proxy": [13, 14], "network": 13, "startlimitintervalsec": 13, "simpl": 13, "restart": 13, "alway": 13, "restartsec": 13, "standardoutput": 13, "syslog": 13, "standarderror": 13, "syslogidentifi": 13, "workingdirectory": 13, "hom": 13, "execstart": 13, "venv": 13, "bin": 13, "create_app": 13, "logfil": 13, "wantedby": 13, "mult": 13, "timeout": [13, 16], "fittrackee_worker": 13, "task": 13, "queu": 13, "listen": 13, "443": 13, "http2": 13, "server_nam": 13, "ssl_certificat": 13, "fullchain": 13, "pem": 13, "ssl_certificate_key": 13, "privkey": 13, "paramet": 13, "how": 13, "1mb": 13, "setting": 13, "ll": 13, "need": 13, "uncommenting": 13, "below": 13, "want": 13, "prevent": 13, "checking": 13, "client_max_body_siz": [13, 16], "1m": 13, "proxy_pass": 13, "proxy_redirect": 13, "proxy_set_head": [13, 14], "real": 13, "remote_addr": 13, "forwarded": [13, 14], "proxy_add_x_forwarded_for": 13, "proto": [13, 14], "request_ur": 13, "besoin": 13, "build": 13, "8025": 13, "acced": [13, 14], "mailhog": 13, "stop": 13, "shel": 13, "additionnel": 13, "fittrackee_client": 13, "lint": 13, "check": 13, "fittrackee_ynh": 13, "rest": 14, "plupart": 14, "permettr": 14, "interag": 14, "onglet": 14, "\u00e9chang": 14, "contr": 14, "corp": 14, "assur": 14, "meilleur": 14, "s\u00e9cur": 14, "\u00e9critur": 14, "accord": 14, "lectur": 14, "Ils": 14, "puiss": 14, "fittrackee_host": 14, "espac": 14, "facult": 14, "emp\u00each": 14, "3aread": 14, "3awrit": 14, "sort": 14, "ensuit": 14, "\u0153uvr": 14, "bibliothequ": 14, "derri": 14, "simplified": 14, "aaron": 14, "pareck": 14, "flow": 14, "oauthlib": 14, "session": 14, "gr\u00e2c": 15, "strav": 15, "fit": 15, "exc": 16, "nosuchmoduleerror": 16, "load": 16, "plugin": 16, "dialect": 16, "invalidemailurlschem": 16, "augment": 16, "del": 16, "critical": 16, "d\u00e9tail": 17, "\u00e9chec": 17}, "objects": {"": [[0, 0, 1, "post--api-auth-account-confirm", "/api/auth/account/confirm"], [0, 1, 1, "get--api-auth-account-export", "/api/auth/account/export"], [0, 1, 1, "get--api-auth-account-export-(string-file_name)", "/api/auth/account/export/(string:file_name)"], [0, 0, 1, "post--api-auth-account-export-request", "/api/auth/account/export/request"], [0, 0, 1, "post--api-auth-account-privacy-policy", "/api/auth/account/privacy-policy"], [0, 0, 1, "post--api-auth-account-resend-confirmation", "/api/auth/account/resend-confirmation"], [0, 0, 1, "post--api-auth-email-update", "/api/auth/email/update"], [0, 0, 1, "post--api-auth-login", "/api/auth/login"], [0, 0, 1, "post--api-auth-logout", "/api/auth/logout"], [0, 0, 1, "post--api-auth-password-reset-request", "/api/auth/password/reset-request"], [0, 0, 1, "post--api-auth-password-update", "/api/auth/password/update"], [0, 2, 1, "delete--api-auth-picture", "/api/auth/picture"], [0, 0, 1, "post--api-auth-picture", "/api/auth/picture"], [0, 1, 1, "get--api-auth-profile", "/api/auth/profile"], [0, 0, 1, "post--api-auth-profile-edit", "/api/auth/profile/edit"], [0, 3, 1, "patch--api-auth-profile-edit-account", "/api/auth/profile/edit/account"], [0, 0, 1, "post--api-auth-profile-edit-preferences", "/api/auth/profile/edit/preferences"], [0, 0, 1, "post--api-auth-profile-edit-sports", "/api/auth/profile/edit/sports"], [0, 2, 1, "delete--api-auth-profile-reset-sports-(sport_id)", "/api/auth/profile/reset/sports/(sport_id)"], [0, 0, 1, "post--api-auth-register", "/api/auth/register"], [1, 1, 1, "get--api-config", "/api/config"], [1, 3, 1, "patch--api-config", "/api/config"], [3, 1, 1, "get--api-oauth-apps", "/api/oauth/apps"], [3, 0, 1, "post--api-oauth-apps", "/api/oauth/apps"], [3, 2, 1, "delete--api-oauth-apps-(int-client_id)", "/api/oauth/apps/(int:client_id)"], [3, 1, 1, "get--api-oauth-apps-(int-client_id)-by_id", "/api/oauth/apps/(int:client_id)/by_id"], [3, 0, 1, "post--api-oauth-apps-(int-client_id)-revoke", "/api/oauth/apps/(int:client_id)/revoke"], [3, 1, 1, "get--api-oauth-apps-(string-client_client_id)", "/api/oauth/apps/(string:client_client_id)"], [3, 0, 1, "post--api-oauth-authorize", "/api/oauth/authorize"], [3, 0, 1, "post--api-oauth-revoke", "/api/oauth/revoke"], [3, 0, 1, "post--api-oauth-token", "/api/oauth/token"], [1, 1, 1, "get--api-ping", "/api/ping"], [4, 1, 1, "get--api-records", "/api/records"], [5, 1, 1, "get--api-sports", "/api/sports"], [5, 1, 1, "get--api-sports-(int-sport_id)", "/api/sports/(int:sport_id)"], [5, 3, 1, "patch--api-sports-(int-sport_id)", "/api/sports/(int:sport_id)"], [6, 1, 1, "get--api-stats-(user_name)-by_sport", "/api/stats/(user_name)/by_sport"], [6, 1, 1, "get--api-stats-(user_name)-by_time", "/api/stats/(user_name)/by_time"], [6, 1, 1, "get--api-stats-all", "/api/stats/all"], [7, 1, 1, "get--api-users", "/api/users"], [7, 2, 1, "delete--api-users-(user_name)", "/api/users/(user_name)"], [7, 1, 1, "get--api-users-(user_name)", "/api/users/(user_name)"], [7, 3, 1, "patch--api-users-(user_name)", "/api/users/(user_name)"], [7, 1, 1, "get--api-users-(user_name)-picture", "/api/users/(user_name)/picture"], [8, 1, 1, "get--api-workouts", "/api/workouts"], [8, 0, 1, "post--api-workouts", "/api/workouts"], [8, 2, 1, "delete--api-workouts-(string-workout_short_id)", "/api/workouts/(string:workout_short_id)"], [8, 1, 1, "get--api-workouts-(string-workout_short_id)", "/api/workouts/(string:workout_short_id)"], [8, 3, 1, "patch--api-workouts-(string-workout_short_id)", "/api/workouts/(string:workout_short_id)"], [8, 1, 1, "get--api-workouts-(string-workout_short_id)-chart_data", "/api/workouts/(string:workout_short_id)/chart_data"], [8, 1, 1, "get--api-workouts-(string-workout_short_id)-chart_data-segment-(int-segment_id)", "/api/workouts/(string:workout_short_id)/chart_data/segment/(int:segment_id)"], [8, 1, 1, "get--api-workouts-(string-workout_short_id)-gpx", "/api/workouts/(string:workout_short_id)/gpx"], [8, 1, 1, "get--api-workouts-(string-workout_short_id)-gpx-download", "/api/workouts/(string:workout_short_id)/gpx/download"], [8, 1, 1, "get--api-workouts-(string-workout_short_id)-gpx-segment-(int-segment_id)", "/api/workouts/(string:workout_short_id)/gpx/segment/(int:segment_id)"], [8, 1, 1, "get--api-workouts-map-(map_id)", "/api/workouts/map/(map_id)"], [8, 0, 1, "post--api-workouts-no_gpx", "/api/workouts/no_gpx"], [13, 4, 1, "-", "API_RATE_LIMITS"], [13, 4, 1, "-", "APP_LOG"], [13, 4, 1, "-", "APP_SECRET_KEY"], [13, 4, 1, "-", "APP_SETTINGS"], [13, 4, 1, "-", "APP_WORKERS"], [13, 4, 1, "-", "DATABASE_DISABLE_POOLING"], [13, 4, 1, "-", "DATABASE_URL"], [13, 4, 1, "-", "DEFAULT_STATICMAP"], [13, 4, 1, "-", "EMAIL_URL"], [13, 4, 1, "-", "FLASK_APP"], [13, 4, 1, "-", "HOST"], [13, 4, 1, "-", "MAP_ATTRIBUTION"], [13, 4, 1, "-", "PORT"], [13, 4, 1, "-", "REDIS_URL"], [13, 4, 1, "-", "SENDER_EMAIL"], [13, 4, 1, "-", "STATICMAP_SUBDOMAINS"], [13, 4, 1, "-", "TILE_SERVER_URL"], [13, 4, 1, "-", "UI_URL"], [13, 4, 1, "-", "UPLOAD_FOLDER"], [13, 4, 1, "-", "VUE_APP_API_URL"], [13, 4, 1, "-", "WEATHER_API_KEY"], [13, 4, 1, "envvar-WEATHER_API_PROVIDER", "WEATHER_API_PROVIDER \ud83c\udd95"], [13, 4, 1, "-", "WORKERS_PROCESSES"]], "/api/workouts/map_tile/(s)/(z)/(x)/(y)": [[8, 1, 1, "get--api-workouts-map_tile-(s)-(z)-(x)-(y).png", "png"]]}, "objtypes": {"0": "http:post", "1": "http:get", "2": "http:delete", "3": "http:patch", "4": "std:envvar"}, "objnames": {"0": ["http", "post", "HTTP post"], "1": ["http", "get", "HTTP get"], "2": ["http", "delete", "HTTP delete"], "3": ["http", "patch", "HTTP patch"], "4": ["std", "envvar", "variable d'environnement"]}, "titleterms": {"authentif": 0, "compt": [0, 11], "configur": 1, "document": [2, 9], "api": [2, 13], "point": 2, "acces": [2, 13], "oauth2": [3, 10], "record": 4, "sport": [5, 11], "statist": [6, 9, 11], "utilis": [7, 10, 11], "s\u00e9anc": [8, 11, 16], "histor": 9, "modif": 9, "version": 9, "0": [9, 14], "7": 9, "21": 9, "30": 9, "07": 9, "2023": 9, "bug": 9, "corrig": 9, "diver": 9, "20": 9, "22": 9, "fonctionnal": [9, 11], "am\u00e9lior": 9, "traduct": [9, 11], "19": 9, "15": 9, "18": 9, "25": 9, "06": 9, "17": 9, "03": 9, "16": 9, "29": 9, "05": 9, "12": 9, "04": 9, "14": 9, "08": 9, "13": 9, "02": 9, "11": 9, "31": 9, "2022": 9, "10": 9, "9": 9, "8": 9, "27": 9, "6": 9, "09": 9, "5": 9, "4": 9, "3": 9, "01": 9, "2": [9, 14], "1": 9, "ticket": 9, "ferm": 9, "pull": 9, "request": 9, "24": 9, "23": 9, "s\u00e9cur": 9, "nouvel": 9, "2021": 9, "2020": 9, "fittracke": [9, 12, 16], "pyp": [9, 13], "administr": [9, 11, 16], "correct": 9, "mineur": 9, "disponibl": 9, "franc": 9, "2019": 9, "premi": 9, "2018": 9, "interfac": 10, "lign": 10, "command": 10, "bas": 10, "don": [10, 13], "ftcli": 10, "db": 10, "drop": 10, "upgrad": 10, "clean": 10, "user": 10, "clean_arch": 10, "clean_token": 10, "creat": 10, "export_arch": 10, "updat": 10, "pr\u00e9f\u00e9rent": 11, "appliqu": 11, "screenshot": 11, "tableau": 11, "bord": 11, "pag": 11, "d\u00e9tail": [11, 16], "list": 11, "tabl": 12, "mati": 12, "install": 13, "pr\u00e9requ": 13, "variabl": 13, "environ": 13, "courriel": 13, "serveur": 13, "tuil": 13, "limit": 13, "m\u00e9t\u00e9o": 13, "a": 13, "part": 13, "sourc": 13, "d\u00e9velopp": 13, "product": 13, "mis": 13, "jour": 13, "d\u00e9ploi": 13, "dock": 13, "yunohost": 13, "oauth": 14, "scop": 14, "flux": 14, "ressourc": 14, "outil": 15, "tier": 15, "d\u00e9marr": 16, "Les": 16, "imag": 16, "cart": 16, "affich": 16, "dan": 16, "\u00e9chec": 16, "charg": 16, "t\u00e9l\u00e9charg": 16, "fichi": 16, "d\u00e9pannag": 17}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 58}, "alltitles": {"Authentification et compte": [[0, "authentication-and-account"]], "Configuration": [[1, "configuration"]], "Documentation de l\u2019API": [[2, "api-documentation"]], "Points d'acc\u00e8s :": [[2, null]], "OAuth2": [[3, "oauth2"], [10, "oauth2"]], "Records": [[4, "records"]], "Sports": [[5, "sports"], [11, "sports"]], "Statistiques": [[6, "statistics"], [11, "statistics"]], "Utilisateurs": [[7, "users"], [10, "users"], [11, "users"]], "S\u00e9ances": [[8, "workouts"], [11, "workouts"]], "Historique des modifications": [[9, "change-log"]], "Version 0.7.21 (30/07/2023)": [[9, "version-0-7-21-2023-07-30"]], "Bugs corrig\u00e9s": [[9, "bugs-fixed"], [9, "id1"], [9, "id3"], [9, "id11"], [9, "id14"], [9, "id17"], [9, "id20"], [9, "id32"], [9, "id37"], [9, "id39"], [9, "id43"], [9, "id46"], [9, "id49"], [9, "id51"], [9, "id54"], [9, "id57"], [9, "id59"], [9, "id62"], [9, "id65"], [9, "id68"], [9, "id73"], [9, "id75"], [9, "id77"], [9, "id79"], [9, "id82"], [9, "id84"], [9, "id90"], [9, "id93"], [9, "id95"], [9, "id97"], [9, "id104"], [9, "id109"], [9, "id111"], [9, "id113"], [9, "id116"], [9, "id118"], [9, "id120"], [9, "id124"], [9, "id134"], [9, "id137"], [9, "id139"], [9, "id142"], [9, "id149"]], "Divers": [[9, "misc"], [9, "id5"], [9, "id8"], [9, "id16"], [9, "id23"], [9, "id34"], [9, "id36"], [9, "id52"], [9, "id66"], [9, "id69"], [9, "id86"], [9, "id88"], [9, "id105"], [9, "id114"], [9, "id121"], [9, "id125"], [9, "id132"], [9, "id143"], [9, "id146"]], "Version 0.7.20 (22/07/2023)": [[9, "version-0-7-20-2023-07-22"]], "Fonctionnalit\u00e9s et am\u00e9liorations": [[9, "features-and-enhancements"], [9, "id2"], [9, "id10"], [9, "id13"], [9, "id19"], [9, "id24"], [9, "id26"], [9, "id28"], [9, "id31"], [9, "id42"], [9, "id48"]], "Traductions": [[9, "translations"], [9, "id4"], [9, "id6"], [9, "id9"], [9, "id12"], [9, "id15"], [9, "id18"], [9, "id21"], [9, "id22"], [9, "id25"], [9, "id27"], [9, "id29"], [9, "id30"], [9, "id33"], [9, "id35"], [9, "id38"], [9, "id40"], [9, "id44"], [9, "id45"], [9, "id47"], [9, "id50"], [9, "id63"], [11, "translations"]], "Version 0.7.19 (15/07/2023)": [[9, "version-0-7-19-2023-07-15"]], "Documentation": [[9, "documentation"], [9, "id7"], [9, "id41"]], "Version 0.7.18 (25/06/2023)": [[9, "version-0-7-18-2023-06-25"]], "Version 0.7.17 (03/06/2023)": [[9, "version-0-7-17-2023-06-03"]], "Version 0.7.16 (29/05/2023)": [[9, "version-0-7-16-2023-05-29"]], "Version 0.7.15 (12/04/2023)": [[9, "version-0-7-15-2023-04-12"]], "Version 0.7.14 (08/03/2023)": [[9, "version-0-7-14-2023-03-08"]], "Version 0.7.13 (05/03/2023)": [[9, "version-0-7-13-2023-03-05"]], "Version 0.7.12 (16/02/2023)": [[9, "version-0-7-12-2023-02-16"]], "Version 0.7.11 (31/12/2022)": [[9, "version-0-7-11-2022-12-31"]], "Version 0.7.10 (21/12/2022)": [[9, "version-0-7-10-2022-12-21"]], "Version 0.7.9 (11/12/2022)": [[9, "version-0-7-9-2022-12-11"]], "Version 0.7.8 (30/11/2022)": [[9, "version-0-7-8-2022-11-30"]], "Version 0.7.7 (27/11/2022)": [[9, "version-0-7-7-2022-11-27"]], "Version 0.7.6 (09/11/2022)": [[9, "version-0-7-6-2022-11-09"]], "Version 0.7.5 (09/11/2022)": [[9, "version-0-7-5-2022-11-09"]], "Version 0.7.4 (05/11/2022)": [[9, "version-0-7-4-2022-11-05"]], "Version 0.7.3 (01/11/2022)": [[9, "version-0-7-3-2022-11-01"]], "Version 0.7.2 (21/09/2022)": [[9, "version-0-7-2-2022-09-21"]], "Version 0.7.1 (21/09/2022)": [[9, "version-0-7-1-2022-09-21"]], "Version 0.7.0 (19/09/2022)": [[9, "version-0-7-0-2022-09-19"]], "Version 0.6.12 (14/09/2022)": [[9, "version-0-6-12-2022-09-14"]], "Tickets Ferm\u00e9s": [[9, "issues-closed"], [9, "id53"], [9, "id56"], [9, "id60"], [9, "id64"], [9, "id67"], [9, "id70"], [9, "id72"], [9, "id76"], [9, "id78"], [9, "id80"], [9, "id85"], [9, "id89"], [9, "id92"], [9, "id94"], [9, "id96"], [9, "id98"], [9, "id100"], [9, "id102"], [9, "id107"], [9, "id110"], [9, "id112"], [9, "id115"], [9, "id117"], [9, "id119"], [9, "id122"], [9, "id126"], [9, "id128"], [9, "id130"], [9, "id133"], [9, "id135"], [9, "id138"], [9, "id140"], [9, "id144"], [9, "id147"], [9, "id150"]], "Pull Requests": [[9, "pull-requests"], [9, "id55"], [9, "id58"], [9, "id74"], [9, "id83"], [9, "id87"], [9, "id91"], [9, "id106"]], "Version 0.6.11 (27/02/2022)": [[9, "version-0-6-11-2022-07-27"]], "Fonctionnalit\u00e9s": [[9, "features"], [9, "id61"], [9, "id71"], [9, "id81"], [11, "features"]], "Version 0.6.10 (13/07/2022)": [[9, "version-0-6-10-2022-07-13"]], "Version 0.6.9 (03/07/2022)": [[9, "version-0-6-9-2022-07-03"]], "Version 0.6.8 (22/06/2022)": [[9, "version-0-6-8-2022-06-22"]], "Version 0.6.7 (11/06/2022)": [[9, "version-0-6-7-2022-06-11"]], "Version 0.6.6 (29/05/2022)": [[9, "version-0-6-6-2022-05-29"]], "Version 0.6.5 (24/04/2022)": [[9, "version-0-6-5-2022-04-24"]], "Version 0.6.4 (23/04/2022)": [[9, "version-0-6-4-2022-04-23"]], "Version 0.6.3 (09/04/2022)": [[9, "version-0-6-3-2022-04-09"]], "Version 0.6.2 (03/04/2022)": [[9, "version-0-6-2-2022-04-03"]], "Version 0.6.1 (27/03/2022)": [[9, "version-0-6-1-2022-03-27"]], "Version 0.6.0 (27/03/2022)": [[9, "version-0-6-0-2022-03-27"]], "Version 0.5.7 (13/02/2022": [[9, "version-0-5-7-2022-02-13"]], "S\u00e9curit\u00e9": [[9, "security"]], "Version 0.5.6 (05/02/2022)": [[9, "version-0-5-6-2022-02-05"]], "Version 0.5.5 (19/01/2022)": [[9, "version-0-5-5-2022-01-19"]], "Nouvelles fonctionnalit\u00e9s": [[9, "new-features"], [9, "id99"], [9, "id101"], [9, "id103"], [9, "id108"], [9, "id123"], [9, "id127"], [9, "id129"], [9, "id131"], [9, "id136"], [9, "id141"], [9, "id145"], [9, "id148"], [9, "id151"]], "Version 0.5.4 (01/01/2022": [[9, "version-0-5-4-2022-01-01"]], "Version 0.5.3 (01/01/2022)": [[9, "version-0-5-3-2022-01-01"]], "Version 0.5.2 (19/12/2021)": [[9, "version-0-5-2-2021-12-19"]], "Version 0.5.1 (30/11/2021)": [[9, "version-0-5-1-2021-11-30"]], "Version 0.5.0 (14/11/2021)": [[9, "version-0-5-0-2021-11-14"]], "Version 0.4.9 (16/07/2021)": [[9, "version-0-4-9-2021-07-16"]], "Version 0.4.8 (03/07/2021)": [[9, "version-0-4-8-2021-07-03"]], "Version 0.4.7 (07/04/2021)": [[9, "version-0-4-7-2021-04-07"]], "Version 0.4.6 (21/02/2021)": [[9, "version-0-4-6-2021-02-21"]], "Version 0.4.5 (17/02/2021)": [[9, "version-0-4-5-2021-02-17"]], "Version 0.4.4 (31/01/2021)": [[9, "version-0-4-4-2021-01-31"]], "Version 0.4.3 (10/01/2021)": [[9, "version-0-4-3-2021-01-10"]], "Version 0.4.2 (03/01/2021)": [[9, "version-0-4-2-2021-01-03"]], "Version 0.4.1 (31/12/2020)": [[9, "version-0-4-1-2020-12-31"]], "Version 0.4.0 - FitTrackee sur PyPI (19/09/2020)": [[9, "version-0-4-0-fittrackee-on-pypi-2020-09-19"]], "Version 0.3.0 - Administration (15/07/2020)": [[9, "version-0-3-0-administration-2020-07-15"]], "Version 0.2.5 - Corrections et am\u00e9liorations (31/01/2020)": [[9, "version-0-2-5-fix-and-improvements-2020-01-31"]], "Version 0.2.4 - Corrections mineures (30/01/2020)": [[9, "version-0-2-4-minor-fix-2020-01-30"]], "Version 0.2.3 - FitTrackee disponible en Fran\u00e7ais (29/12/2019)": [[9, "version-0-2-3-fittrackee-available-in-french-2019-12-29"]], "Version 0.2.2 - Corrections des statistiques (23/09/2019)": [[9, "version-0-2-2-statistics-fix-2019-09-23"]], "Version 0.2.1 - Correction et am\u00e9liorations (01/09/2019)": [[9, "version-0-2-1-fix-and-improvements-2019-09-01"]], "Version 0.2.0 - Statistiques (07/07/2019)": [[9, "version-0-2-0-statistics-2019-07-07"]], "Version 0.1.1 - Corrections et am\u00e9liorations (07/02/2019)": [[9, "version-0-1-1-fix-and-improvements-2019-02-07"]], "Version 0.1.0 - Premi\u00e8re version \ud83c\udf89 (04/07/2018)": [[9, "version-0-1-0-first-release-2018-07-04"]], "Interface de ligne de commande": [[10, "command-line-interface"]], "Base de donn\u00e9es": [[10, "database"]], "ftcli db drop": [[10, "ftcli-db-drop"]], "ftcli db upgrade": [[10, "ftcli-db-upgrade"]], "ftcli oauth2 clean": [[10, "ftcli-oauth2-clean"]], "ftcli users clean_archives": [[10, "ftcli-users-clean-archives"]], "ftcli users clean_tokens": [[10, "ftcli-users-clean-tokens"]], "ftcli users create": [[10, "ftcli-users-create"]], "ftcli users export_archives": [[10, "ftcli-users-export-archives"]], "ftcli users update": [[10, "ftcli-users-update"]], "Compte et pr\u00e9f\u00e9rences": [[11, "account-preferences"]], "Administration": [[11, "administration"], [11, "id1"]], "Application": [[11, "application"]], "Screenshots": [[11, "screenshots"]], "Tableau de bord": [[11, "dashboard"]], "Page de d\u00e9tail d\u2019une s\u00e9ance": [[11, "workout-detail"]], "Liste des s\u00e9ances": [[11, "workouts-list"]], "FitTrackee": [[12, "fittrackee"]], "Table des mati\u00e8res": [[12, "table-of-contents"]], "Installation": [[13, "installation"], [13, "id2"], [13, "id6"]], "Pr\u00e9requis": [[13, "prerequisites"]], "Variables d\u2019environnement": [[13, "environment-variables"]], "Courriels": [[13, "emails"]], "Serveur de tuiles": [[13, "map-tile-server"]], "Limitation d\u2019acc\u00e8s \u00e0 l\u2019API": [[13, "api-rate-limits"]], "Donn\u00e9es m\u00e9t\u00e9o": [[13, "weather-data"]], "A partir de PyPI": [[13, "from-pypi"], [13, "id3"]], "A partir des sources": [[13, "from-sources"], [13, "id4"]], "Environnements de d\u00e9veloppement": [[13, "dev-environment"], [13, "id5"]], "Environnements de production": [[13, "production-environment"]], "Mise \u00e0 jour": [[13, "upgrade"]], "Environnement de production": [[13, "prod-environment"]], "D\u00e9ploiement": [[13, "deployment"]], "Docker": [[13, "docker"]], "D\u00e9veloppement": [[13, "development"]], "Yunohost": [[13, "yunohost"]], "OAuth 2.0": [[14, "oauth-2-0"]], "Scopes": [[14, "scopes"]], "Flux": [[14, "flow"]], "Ressources": [[14, "resources"]], "Outils tiers": [[15, "third-party-tools"]], "Administrateur": [[16, "administrator"]], "FitTrackee ne d\u00e9marre pas": [[16, "fittrackee-fails-to-start"]], "Les images de la carte ne sont pas affich\u00e9es mais la carte est affich\u00e9e dans le d\u00e9tail de la s\u00e9ance": [[16, "map-images-are-not-displayed-but-map-is-shown-in-workout-detail"]], "\u00c9chec du chargement ou du t\u00e9l\u00e9chargement de fichiers": [[16, "failed-to-upload-or-download-files"]], "D\u00e9pannage": [[17, "troubleshooting"]]}, "indexentries": {"api_rate_limits": [[13, "envvar-API_RATE_LIMITS"]], "app_log": [[13, "envvar-APP_LOG"]], "app_secret_key": [[13, "envvar-APP_SECRET_KEY"]], "app_settings": [[13, "envvar-APP_SETTINGS"]], "app_workers": [[13, "envvar-APP_WORKERS"]], "database_disable_pooling": [[13, "envvar-DATABASE_DISABLE_POOLING"]], "database_url": [[13, "envvar-DATABASE_URL"]], "default_staticmap": [[13, "envvar-DEFAULT_STATICMAP"]], "email_url": [[13, "envvar-EMAIL_URL"]], "flask_app": [[13, "envvar-FLASK_APP"]], "host": [[13, "envvar-HOST"]], "map_attribution": [[13, "envvar-MAP_ATTRIBUTION"]], "port": [[13, "envvar-PORT"]], "redis_url": [[13, "envvar-REDIS_URL"]], "sender_email": [[13, "envvar-SENDER_EMAIL"]], "staticmap_subdomains": [[13, "envvar-STATICMAP_SUBDOMAINS"]], "tile_server_url": [[13, "envvar-TILE_SERVER_URL"]], "ui_url": [[13, "envvar-UI_URL"]], "upload_folder": [[13, "envvar-UPLOAD_FOLDER"]], "vue_app_api_url": [[13, "envvar-VUE_APP_API_URL"]], "weather_api_key": [[13, "envvar-WEATHER_API_KEY"]], "weather_api_provider \ud83c\udd95": [[13, "envvar-WEATHER_API_PROVIDER"]], "workers_processes": [[13, "envvar-WORKERS_PROCESSES"]], "variable d'environnement": [[13, "envvar-API_RATE_LIMITS"], [13, "envvar-APP_LOG"], [13, "envvar-APP_SECRET_KEY"], [13, "envvar-APP_SETTINGS"], [13, "envvar-APP_WORKERS"], [13, "envvar-DATABASE_DISABLE_POOLING"], [13, "envvar-DATABASE_URL"], [13, "envvar-DEFAULT_STATICMAP"], [13, "envvar-EMAIL_URL"], [13, "envvar-FLASK_APP"], [13, "envvar-HOST"], [13, "envvar-MAP_ATTRIBUTION"], [13, "envvar-PORT"], [13, "envvar-REDIS_URL"], [13, "envvar-SENDER_EMAIL"], [13, "envvar-STATICMAP_SUBDOMAINS"], [13, "envvar-TILE_SERVER_URL"], [13, "envvar-UI_URL"], [13, "envvar-UPLOAD_FOLDER"], [13, "envvar-VUE_APP_API_URL"], [13, "envvar-WEATHER_API_KEY"], [13, "envvar-WEATHER_API_PROVIDER"], [13, "envvar-WORKERS_PROCESSES"]]}}) \ No newline at end of file diff --git a/docs/fr/third_party_tools.html b/docs/fr/third_party_tools.html index c19d0632..83de35d5 100644 --- a/docs/fr/third_party_tools.html +++ b/docs/fr/third_party_tools.html @@ -5,14 +5,14 @@ - - Outils tiers - Documentation FitTrackee 0.7.20 - - - - - - + + Outils tiers - Documentation FitTrackee 0.7.21 + + + + + + @@ -126,7 +126,7 @@
    -
    @@ -153,7 +153,7 @@
    - Documentation FitTrackee 0.7.20 + Documentation FitTrackee 0.7.21 @@ -291,12 +291,12 @@
    - - - - - - - + + + + + + + \ No newline at end of file diff --git a/docs/fr/troubleshooting/administrator.html b/docs/fr/troubleshooting/administrator.html index 0719d871..01b5aa4e 100644 --- a/docs/fr/troubleshooting/administrator.html +++ b/docs/fr/troubleshooting/administrator.html @@ -5,14 +5,14 @@ - - Administrateur - Documentation FitTrackee 0.7.20 - - - - - - + + Administrateur - Documentation FitTrackee 0.7.21 + + + + + + @@ -126,7 +126,7 @@
    -
    @@ -153,7 +153,7 @@
    - Documentation FitTrackee 0.7.20 + Documentation FitTrackee 0.7.21 @@ -337,12 +337,12 @@
    - - - - - - - + + + + + + + \ No newline at end of file diff --git a/docs/fr/troubleshooting/index.html b/docs/fr/troubleshooting/index.html index 4b724041..7de2bff5 100644 --- a/docs/fr/troubleshooting/index.html +++ b/docs/fr/troubleshooting/index.html @@ -5,14 +5,14 @@ - - Dépannage - Documentation FitTrackee 0.7.20 - - - - - - + + Dépannage - Documentation FitTrackee 0.7.21 + + + + + + @@ -126,7 +126,7 @@
    -
    @@ -153,7 +153,7 @@
    - Documentation FitTrackee 0.7.20 + Documentation FitTrackee 0.7.21 @@ -296,12 +296,12 @@
    - - - - - - - + + + + + + + \ No newline at end of file diff --git a/docsrc/gettext/.doctrees/api/auth.doctree b/docsrc/gettext/.doctrees/api/auth.doctree index c719d1de..7128ce6a 100644 Binary files a/docsrc/gettext/.doctrees/api/auth.doctree and b/docsrc/gettext/.doctrees/api/auth.doctree differ diff --git a/docsrc/gettext/.doctrees/api/configuration.doctree b/docsrc/gettext/.doctrees/api/configuration.doctree index 6f867c43..e685fcba 100644 Binary files a/docsrc/gettext/.doctrees/api/configuration.doctree and b/docsrc/gettext/.doctrees/api/configuration.doctree differ diff --git a/docsrc/gettext/.doctrees/api/index.doctree b/docsrc/gettext/.doctrees/api/index.doctree index a6ada2c6..ad721afb 100644 Binary files a/docsrc/gettext/.doctrees/api/index.doctree and b/docsrc/gettext/.doctrees/api/index.doctree differ diff --git a/docsrc/gettext/.doctrees/api/oauth2.doctree b/docsrc/gettext/.doctrees/api/oauth2.doctree index 2f04f8fe..d62d6df2 100644 Binary files a/docsrc/gettext/.doctrees/api/oauth2.doctree and b/docsrc/gettext/.doctrees/api/oauth2.doctree differ diff --git a/docsrc/gettext/.doctrees/api/records.doctree b/docsrc/gettext/.doctrees/api/records.doctree index d5c16f58..9ac879f1 100644 Binary files a/docsrc/gettext/.doctrees/api/records.doctree and b/docsrc/gettext/.doctrees/api/records.doctree differ diff --git a/docsrc/gettext/.doctrees/api/sports.doctree b/docsrc/gettext/.doctrees/api/sports.doctree index fc46d3f7..0b059c96 100644 Binary files a/docsrc/gettext/.doctrees/api/sports.doctree and b/docsrc/gettext/.doctrees/api/sports.doctree differ diff --git a/docsrc/gettext/.doctrees/api/stats.doctree b/docsrc/gettext/.doctrees/api/stats.doctree index 62a05e28..ec0eae99 100644 Binary files a/docsrc/gettext/.doctrees/api/stats.doctree and b/docsrc/gettext/.doctrees/api/stats.doctree differ diff --git a/docsrc/gettext/.doctrees/api/users.doctree b/docsrc/gettext/.doctrees/api/users.doctree index 77303c3f..70fe5cb6 100644 Binary files a/docsrc/gettext/.doctrees/api/users.doctree and b/docsrc/gettext/.doctrees/api/users.doctree differ diff --git a/docsrc/gettext/.doctrees/api/workouts.doctree b/docsrc/gettext/.doctrees/api/workouts.doctree index c8c48c7b..97fe1309 100644 Binary files a/docsrc/gettext/.doctrees/api/workouts.doctree and b/docsrc/gettext/.doctrees/api/workouts.doctree differ diff --git a/docsrc/gettext/.doctrees/changelog.doctree b/docsrc/gettext/.doctrees/changelog.doctree index 4b03c569..7eedb33f 100644 Binary files a/docsrc/gettext/.doctrees/changelog.doctree and b/docsrc/gettext/.doctrees/changelog.doctree differ diff --git a/docsrc/gettext/.doctrees/cli.doctree b/docsrc/gettext/.doctrees/cli.doctree index 5164a36d..71d6bf41 100644 Binary files a/docsrc/gettext/.doctrees/cli.doctree and b/docsrc/gettext/.doctrees/cli.doctree differ diff --git a/docsrc/gettext/.doctrees/environment.pickle b/docsrc/gettext/.doctrees/environment.pickle index f429fab7..b8b83d43 100644 Binary files a/docsrc/gettext/.doctrees/environment.pickle and b/docsrc/gettext/.doctrees/environment.pickle differ diff --git a/docsrc/gettext/.doctrees/features.doctree b/docsrc/gettext/.doctrees/features.doctree index d4efb54c..60f5cbdb 100644 Binary files a/docsrc/gettext/.doctrees/features.doctree and b/docsrc/gettext/.doctrees/features.doctree differ diff --git a/docsrc/gettext/.doctrees/index.doctree b/docsrc/gettext/.doctrees/index.doctree index 1d499231..50f9c1ad 100644 Binary files a/docsrc/gettext/.doctrees/index.doctree and b/docsrc/gettext/.doctrees/index.doctree differ diff --git a/docsrc/gettext/.doctrees/installation.doctree b/docsrc/gettext/.doctrees/installation.doctree index 2467f635..37f97b4b 100644 Binary files a/docsrc/gettext/.doctrees/installation.doctree and b/docsrc/gettext/.doctrees/installation.doctree differ diff --git a/docsrc/gettext/.doctrees/oauth.doctree b/docsrc/gettext/.doctrees/oauth.doctree index b0ff3c7e..78cb7f1c 100644 Binary files a/docsrc/gettext/.doctrees/oauth.doctree and b/docsrc/gettext/.doctrees/oauth.doctree differ diff --git a/docsrc/gettext/.doctrees/third_party_tools.doctree b/docsrc/gettext/.doctrees/third_party_tools.doctree index 11a64ea5..ea0b34b7 100644 Binary files a/docsrc/gettext/.doctrees/third_party_tools.doctree and b/docsrc/gettext/.doctrees/third_party_tools.doctree differ diff --git a/docsrc/gettext/.doctrees/troubleshooting/administrator.doctree b/docsrc/gettext/.doctrees/troubleshooting/administrator.doctree index 538f9ad8..c415cd6a 100644 Binary files a/docsrc/gettext/.doctrees/troubleshooting/administrator.doctree and b/docsrc/gettext/.doctrees/troubleshooting/administrator.doctree differ diff --git a/docsrc/gettext/.doctrees/troubleshooting/index.doctree b/docsrc/gettext/.doctrees/troubleshooting/index.doctree index 7502bd15..9a036f82 100644 Binary files a/docsrc/gettext/.doctrees/troubleshooting/index.doctree and b/docsrc/gettext/.doctrees/troubleshooting/index.doctree differ diff --git a/docsrc/gettext/docs.pot b/docsrc/gettext/docs.pot index bf65ff3b..b198779d 100644 --- a/docsrc/gettext/docs.pot +++ b/docsrc/gettext/docs.pot @@ -6,10 +6,10 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: FitTrackee 0.7.20\n" +"Project-Id-Version: FitTrackee 0.7.21\n" "\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-07-23 11:22+0200\n" +"POT-Creation-Date: 2023-07-30 16:48+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -1424,1881 +1424,1895 @@ msgid "Change log" msgstr "" #: ../source/changelog.md:3 -msgid "Version 0.7.20 (2023/07/22)" +msgid "Version 0.7.21 (2023/07/30)" msgstr "" #: ../source/changelog.md:5 -#: ../source/changelog.md:44 -#: ../source/changelog.md:157 -#: ../source/changelog.md:205 -#: ../source/changelog.md:278 -#: ../source/changelog.md:318 -#: ../source/changelog.md:339 -#: ../source/changelog.md:354 -#: ../source/changelog.md:378 -#: ../source/changelog.md:441 +#: ../source/changelog.md:22 +#: ../source/changelog.md:63 +#: ../source/changelog.md:174 +#: ../source/changelog.md:224 +#: ../source/changelog.md:270 +#: ../source/changelog.md:296 +#: ../source/changelog.md:394 +#: ../source/changelog.md:422 +#: ../source/changelog.md:433 +#: ../source/changelog.md:460 #: ../source/changelog.md:481 -msgid "Features and enhancements" -msgstr "" - -#: ../source/changelog.md:7 -msgid "#400 - Add new sport: open water swimming" -msgstr "" - -#: ../source/changelog.md:10 -#: ../source/changelog.md:51 -#: ../source/changelog.md:162 -#: ../source/changelog.md:212 -#: ../source/changelog.md:258 -#: ../source/changelog.md:284 -#: ../source/changelog.md:382 -#: ../source/changelog.md:410 -#: ../source/changelog.md:421 -#: ../source/changelog.md:448 -#: ../source/changelog.md:469 -#: ../source/changelog.md:487 -#: ../source/changelog.md:503 -#: ../source/changelog.md:524 -#: ../source/changelog.md:546 -#: ../source/changelog.md:553 -#: ../source/changelog.md:573 -#: ../source/changelog.md:595 -#: ../source/changelog.md:613 -#: ../source/changelog.md:648 -#: ../source/changelog.md:659 -#: ../source/changelog.md:670 +#: ../source/changelog.md:499 +#: ../source/changelog.md:515 +#: ../source/changelog.md:536 +#: ../source/changelog.md:558 +#: ../source/changelog.md:565 +#: ../source/changelog.md:585 +#: ../source/changelog.md:607 +#: ../source/changelog.md:625 +#: ../source/changelog.md:660 +#: ../source/changelog.md:671 #: ../source/changelog.md:682 -#: ../source/changelog.md:702 -#: ../source/changelog.md:708 -#: ../source/changelog.md:760 -#: ../source/changelog.md:784 -#: ../source/changelog.md:795 -#: ../source/changelog.md:806 -#: ../source/changelog.md:851 -#: ../source/changelog.md:884 +#: ../source/changelog.md:694 +#: ../source/changelog.md:714 +#: ../source/changelog.md:720 +#: ../source/changelog.md:772 +#: ../source/changelog.md:796 +#: ../source/changelog.md:807 +#: ../source/changelog.md:818 +#: ../source/changelog.md:863 #: ../source/changelog.md:896 -#: ../source/changelog.md:907 -#: ../source/changelog.md:923 -#: ../source/changelog.md:936 +#: ../source/changelog.md:908 +#: ../source/changelog.md:919 +#: ../source/changelog.md:935 #: ../source/changelog.md:948 -#: ../source/changelog.md:969 -#: ../source/changelog.md:1047 -#: ../source/changelog.md:1064 -#: ../source/changelog.md:1075 -#: ../source/changelog.md:1095 -#: ../source/changelog.md:1130 +#: ../source/changelog.md:960 +#: ../source/changelog.md:981 +#: ../source/changelog.md:1059 +#: ../source/changelog.md:1076 +#: ../source/changelog.md:1087 +#: ../source/changelog.md:1107 +#: ../source/changelog.md:1142 msgid "Bugs Fixed" msgstr "" +#: ../source/changelog.md:7 +msgid "#407 - Workout display error when speeds are zero" +msgstr "" + +#: ../source/changelog.md:10 +#: ../source/changelog.md:81 +#: ../source/changelog.md:128 +#: ../source/changelog.md:249 +#: ../source/changelog.md:322 +#: ../source/changelog.md:402 +#: ../source/changelog.md:415 +#: ../source/changelog.md:521 +#: ../source/changelog.md:613 +#: ../source/changelog.md:634 +#: ../source/changelog.md:742 +#: ../source/changelog.md:758 +#: ../source/changelog.md:867 +#: ../source/changelog.md:923 +#: ../source/changelog.md:964 +#: ../source/changelog.md:990 +#: ../source/changelog.md:1045 +#: ../source/changelog.md:1111 +#: ../source/changelog.md:1126 +msgid "Misc" +msgstr "" + #: ../source/changelog.md:12 +msgid "PR#409 - CI - update actions version" +msgstr "" + +#: ../source/changelog.md:15 +msgid "Version 0.7.20 (2023/07/22)" +msgstr "" + +#: ../source/changelog.md:17 +#: ../source/changelog.md:56 +#: ../source/changelog.md:169 +#: ../source/changelog.md:217 +#: ../source/changelog.md:290 +#: ../source/changelog.md:330 +#: ../source/changelog.md:351 +#: ../source/changelog.md:366 +#: ../source/changelog.md:390 +#: ../source/changelog.md:453 +#: ../source/changelog.md:493 +msgid "Features and enhancements" +msgstr "" + +#: ../source/changelog.md:19 +msgid "#400 - Add new sport: open water swimming" +msgstr "" + +#: ../source/changelog.md:24 msgid "PR#398 - Fix language dropdown label" msgstr "" -#: ../source/changelog.md:13 +#: ../source/changelog.md:25 msgid "#402 - handle gpx file without elevation" msgstr "" -#: ../source/changelog.md:16 -#: ../source/changelog.md:57 -#: ../source/changelog.md:101 -#: ../source/changelog.md:138 -#: ../source/changelog.md:167 -#: ../source/changelog.md:217 -#: ../source/changelog.md:262 -#: ../source/changelog.md:291 -#: ../source/changelog.md:306 -#: ../source/changelog.md:323 -#: ../source/changelog.md:343 -#: ../source/changelog.md:358 -#: ../source/changelog.md:371 -#: ../source/changelog.md:386 -#: ../source/changelog.md:399 -#: ../source/changelog.md:414 -#: ../source/changelog.md:428 -#: ../source/changelog.md:453 -#: ../source/changelog.md:462 -#: ../source/changelog.md:473 -#: ../source/changelog.md:492 -#: ../source/changelog.md:578 +#: ../source/changelog.md:28 +#: ../source/changelog.md:69 +#: ../source/changelog.md:113 +#: ../source/changelog.md:150 +#: ../source/changelog.md:179 +#: ../source/changelog.md:229 +#: ../source/changelog.md:274 +#: ../source/changelog.md:303 +#: ../source/changelog.md:318 +#: ../source/changelog.md:335 +#: ../source/changelog.md:355 +#: ../source/changelog.md:370 +#: ../source/changelog.md:383 +#: ../source/changelog.md:398 +#: ../source/changelog.md:411 +#: ../source/changelog.md:426 +#: ../source/changelog.md:440 +#: ../source/changelog.md:465 +#: ../source/changelog.md:474 +#: ../source/changelog.md:485 +#: ../source/changelog.md:504 +#: ../source/changelog.md:590 #: ../source/features.rst:201 msgid "Translations" msgstr "" -#: ../source/changelog.md:18 +#: ../source/changelog.md:30 msgid "PR#399 - Translations update (Galician)" msgstr "" -#: ../source/changelog.md:19 +#: ../source/changelog.md:31 msgid "PR#401 - Translations update (Galician and Polish)" msgstr "" -#: ../source/changelog.md:20 +#: ../source/changelog.md:32 msgid "PR#406 - Translations update (Galician and Spanish)" msgstr "" -#: ../source/changelog.md:23 -#: ../source/changelog.md:75 -#: ../source/changelog.md:122 -#: ../source/changelog.md:143 -#: ../source/changelog.md:175 -#: ../source/changelog.md:227 +#: ../source/changelog.md:35 +#: ../source/changelog.md:87 +#: ../source/changelog.md:134 +#: ../source/changelog.md:155 +#: ../source/changelog.md:187 +#: ../source/changelog.md:239 msgid "Translation status:" msgstr "" -#: ../source/changelog.md:24 -#: ../source/changelog.md:76 +#: ../source/changelog.md:36 +#: ../source/changelog.md:88 msgid "Dutch: 97%" msgstr "" -#: ../source/changelog.md:25 -#: ../source/changelog.md:77 -#: ../source/changelog.md:124 -#: ../source/changelog.md:145 -#: ../source/changelog.md:177 -#: ../source/changelog.md:229 +#: ../source/changelog.md:37 +#: ../source/changelog.md:89 +#: ../source/changelog.md:136 +#: ../source/changelog.md:157 +#: ../source/changelog.md:189 +#: ../source/changelog.md:241 msgid "English: 100%" msgstr "" -#: ../source/changelog.md:26 -#: ../source/changelog.md:78 -#: ../source/changelog.md:125 -#: ../source/changelog.md:146 -#: ../source/changelog.md:178 -#: ../source/changelog.md:230 +#: ../source/changelog.md:38 +#: ../source/changelog.md:90 +#: ../source/changelog.md:137 +#: ../source/changelog.md:158 +#: ../source/changelog.md:190 +#: ../source/changelog.md:242 msgid "French: 100%" msgstr "" -#: ../source/changelog.md:27 -#: ../source/changelog.md:126 -#: ../source/changelog.md:147 -#: ../source/changelog.md:231 +#: ../source/changelog.md:39 +#: ../source/changelog.md:138 +#: ../source/changelog.md:159 +#: ../source/changelog.md:243 msgid "Galician: 100%" msgstr "" -#: ../source/changelog.md:28 -#: ../source/changelog.md:80 +#: ../source/changelog.md:40 +#: ../source/changelog.md:92 msgid "German: 97%" msgstr "" -#: ../source/changelog.md:29 -#: ../source/changelog.md:81 +#: ../source/changelog.md:41 +#: ../source/changelog.md:93 msgid "Italian: 85%" msgstr "" -#: ../source/changelog.md:30 -#: ../source/changelog.md:82 -#: ../source/changelog.md:234 +#: ../source/changelog.md:42 +#: ../source/changelog.md:94 +#: ../source/changelog.md:246 msgid "Norwegian Bokmål: 35%" msgstr "" -#: ../source/changelog.md:31 +#: ../source/changelog.md:43 msgid "Polish: 56%" msgstr "" -#: ../source/changelog.md:32 -#: ../source/changelog.md:84 -#: ../source/changelog.md:131 -#: ../source/changelog.md:152 -#: ../source/changelog.md:184 -#: ../source/changelog.md:235 +#: ../source/changelog.md:44 +#: ../source/changelog.md:96 +#: ../source/changelog.md:143 +#: ../source/changelog.md:164 +#: ../source/changelog.md:196 +#: ../source/changelog.md:247 msgid "Spanish: 100%" msgstr "" -#: ../source/changelog.md:34 -#: ../source/changelog.md:86 -#: ../source/changelog.md:188 -#: ../source/changelog.md:242 -#: ../source/changelog.md:297 -#: ../source/changelog.md:329 -#: ../source/changelog.md:586 -#: ../source/changelog.md:869 +#: ../source/changelog.md:46 +#: ../source/changelog.md:98 +#: ../source/changelog.md:200 +#: ../source/changelog.md:254 +#: ../source/changelog.md:309 +#: ../source/changelog.md:341 +#: ../source/changelog.md:598 +#: ../source/changelog.md:881 msgid "Thanks to the contributors:" msgstr "" -#: ../source/changelog.md:35 -#: ../source/changelog.md:88 -#: ../source/changelog.md:190 -#: ../source/changelog.md:246 +#: ../source/changelog.md:47 +#: ../source/changelog.md:100 +#: ../source/changelog.md:202 +#: ../source/changelog.md:258 msgid "@gallegonovato" msgstr "" -#: ../source/changelog.md:36 -#: ../source/changelog.md:89 -#: ../source/changelog.md:193 -#: ../source/changelog.md:248 +#: ../source/changelog.md:48 +#: ../source/changelog.md:101 +#: ../source/changelog.md:205 +#: ../source/changelog.md:260 msgid "@xmgz" msgstr "" -#: ../source/changelog.md:37 +#: ../source/changelog.md:49 msgid "Mariusz" msgstr "" -#: ../source/changelog.md:39 -#: ../source/changelog.md:91 -#: ../source/changelog.md:195 -#: ../source/changelog.md:253 -#: ../source/changelog.md:301 -#: ../source/changelog.md:349 -#: ../source/changelog.md:363 -#: ../source/changelog.md:457 -#: ../source/changelog.md:496 +#: ../source/changelog.md:51 +#: ../source/changelog.md:103 +#: ../source/changelog.md:207 +#: ../source/changelog.md:265 +#: ../source/changelog.md:313 +#: ../source/changelog.md:361 +#: ../source/changelog.md:375 +#: ../source/changelog.md:469 +#: ../source/changelog.md:508 msgid "Note: This release contains database migration (see upgrade instructions in documentation)" msgstr "" -#: ../source/changelog.md:42 +#: ../source/changelog.md:54 msgid "Version 0.7.19 (2023/07/15)" msgstr "" -#: ../source/changelog.md:46 +#: ../source/changelog.md:58 msgid "PR#380 - Update documentation link" msgstr "" -#: ../source/changelog.md:47 +#: ../source/changelog.md:59 msgid "#390 - Improve UI" msgstr "" -#: ../source/changelog.md:48 +#: ../source/changelog.md:60 msgid "#391 - Add new sport: paragliding" msgstr "" -#: ../source/changelog.md:53 +#: ../source/changelog.md:65 msgid "#384 - Inconsistent page with between workout with and without GPS data" msgstr "" -#: ../source/changelog.md:54 +#: ../source/changelog.md:66 msgid "#393 - PIL.Image module has no attribute ANTIALIAS" msgstr "" -#: ../source/changelog.md:59 +#: ../source/changelog.md:71 msgid "PR#394 - Translations update (Galician)" msgstr "" -#: ../source/changelog.md:60 +#: ../source/changelog.md:72 msgid "PR#397 - Translations update (Spanish)" msgstr "" -#: ../source/changelog.md:63 -#: ../source/changelog.md:110 -#: ../source/changelog.md:432 +#: ../source/changelog.md:75 +#: ../source/changelog.md:122 +#: ../source/changelog.md:444 msgid "Documentation" msgstr "" -#: ../source/changelog.md:65 +#: ../source/changelog.md:77 msgid "PR#386 - Minor fix in CONTRIBUTING.md" msgstr "" -#: ../source/changelog.md:66 +#: ../source/changelog.md:78 msgid "PR#388 - Minor typo in CONTRIBUTING.md" msgstr "" -#: ../source/changelog.md:69 -#: ../source/changelog.md:116 -#: ../source/changelog.md:237 -#: ../source/changelog.md:310 -#: ../source/changelog.md:390 -#: ../source/changelog.md:403 -#: ../source/changelog.md:509 -#: ../source/changelog.md:601 -#: ../source/changelog.md:622 -#: ../source/changelog.md:730 -#: ../source/changelog.md:746 -#: ../source/changelog.md:855 -#: ../source/changelog.md:911 -#: ../source/changelog.md:952 -#: ../source/changelog.md:978 -#: ../source/changelog.md:1033 -#: ../source/changelog.md:1099 -#: ../source/changelog.md:1114 -msgid "Misc" -msgstr "" - -#: ../source/changelog.md:71 +#: ../source/changelog.md:83 msgid "#395 - CI - test a packaged version of FitTrackee" msgstr "" -#: ../source/changelog.md:72 +#: ../source/changelog.md:84 msgid "cc3fe1c CI - update python and postgresql default versions" msgstr "" -#: ../source/changelog.md:79 +#: ../source/changelog.md:91 msgid "Galician: 98%" msgstr "" -#: ../source/changelog.md:83 +#: ../source/changelog.md:95 msgid "Polish: 42%" msgstr "" -#: ../source/changelog.md:87 +#: ../source/changelog.md:99 msgid "@dkm" msgstr "" -#: ../source/changelog.md:94 +#: ../source/changelog.md:106 msgid "Version 0.7.18 (2023/06/25)" msgstr "" -#: ../source/changelog.md:96 +#: ../source/changelog.md:108 msgid "Polish is available in FitTrackee interface (partially translated).
    Documentation is now translated in French (note: documentation translations are not yet available on Weblate)." msgstr "" -#: ../source/changelog.md:99 +#: ../source/changelog.md:111 msgid "Important: Python 3.7 is no longer supported, the minimum version is now Python 3.8.1." msgstr "" -#: ../source/changelog.md:103 +#: ../source/changelog.md:115 msgid "#351 - [Translation Request] Polish" msgstr "" -#: ../source/changelog.md:104 +#: ../source/changelog.md:116 msgid "PR#370 - Translations update (Dutch, thanks to @bjornclauw)" msgstr "" -#: ../source/changelog.md:105 +#: ../source/changelog.md:117 msgid "PR#371 - Translations update (Polish, thanks to Mariusz on Weblate)" msgstr "" -#: ../source/changelog.md:106 +#: ../source/changelog.md:118 msgid "PR#375 - Translations update (French, thanks to @Thovi98)" msgstr "" -#: ../source/changelog.md:107 +#: ../source/changelog.md:119 msgid "PR#376 - Translations update (German, thanks to @qwerty287)" msgstr "" -#: ../source/changelog.md:112 +#: ../source/changelog.md:124 msgid "1375986 - Change documentation theme for Furo" msgstr "" -#: ../source/changelog.md:113 +#: ../source/changelog.md:125 msgid "#377 - Init documentation translation" msgstr "" -#: ../source/changelog.md:118 +#: ../source/changelog.md:130 msgid "#354 - Drop support for Python 3.7" msgstr "" -#: ../source/changelog.md:119 +#: ../source/changelog.md:131 msgid "PR#374 - Docker - install fittrackee in a virtualenv" msgstr "" -#: ../source/changelog.md:123 +#: ../source/changelog.md:135 msgid "Dutch: 100%" msgstr "" -#: ../source/changelog.md:127 -#: ../source/changelog.md:232 +#: ../source/changelog.md:139 +#: ../source/changelog.md:244 msgid "German: 100%" msgstr "" -#: ../source/changelog.md:128 -#: ../source/changelog.md:149 -#: ../source/changelog.md:181 -#: ../source/changelog.md:233 +#: ../source/changelog.md:140 +#: ../source/changelog.md:161 +#: ../source/changelog.md:193 +#: ../source/changelog.md:245 msgid "Italian: 87%" msgstr "" -#: ../source/changelog.md:129 -#: ../source/changelog.md:150 -#: ../source/changelog.md:182 +#: ../source/changelog.md:141 +#: ../source/changelog.md:162 +#: ../source/changelog.md:194 msgid "Norwegian Bokmål: 36%" msgstr "" -#: ../source/changelog.md:130 +#: ../source/changelog.md:142 msgid "Polish: 43%" msgstr "" -#: ../source/changelog.md:133 +#: ../source/changelog.md:145 msgid "Thanks to all contributors." msgstr "" -#: ../source/changelog.md:136 +#: ../source/changelog.md:148 msgid "Version 0.7.17 (2023/06/03)" msgstr "" -#: ../source/changelog.md:140 +#: ../source/changelog.md:152 msgid "PR#366, PR#369 - Translations update from Hosted Weblate (Galician, thanks to @xmgz)" msgstr "" -#: ../source/changelog.md:141 +#: ../source/changelog.md:153 msgid "PR#367 - Translations update (Spanish, French)" msgstr "" -#: ../source/changelog.md:144 -#: ../source/changelog.md:176 +#: ../source/changelog.md:156 +#: ../source/changelog.md:188 msgid "Dutch: 99%" msgstr "" -#: ../source/changelog.md:148 -#: ../source/changelog.md:180 +#: ../source/changelog.md:160 +#: ../source/changelog.md:192 msgid "German: 99%" msgstr "" -#: ../source/changelog.md:151 -#: ../source/changelog.md:183 +#: ../source/changelog.md:163 +#: ../source/changelog.md:195 msgid "Polish: 3%" msgstr "" -#: ../source/changelog.md:155 +#: ../source/changelog.md:167 msgid "Version 0.7.16 (2023/05/29)" msgstr "" -#: ../source/changelog.md:159 +#: ../source/changelog.md:171 msgid "PR#358 - Add user preference for filtering of GPX speed data" msgstr "" -#: ../source/changelog.md:164 +#: ../source/changelog.md:176 msgid "#359 - Footer overlaps content on user preferences page" msgstr "" -#: ../source/changelog.md:169 +#: ../source/changelog.md:181 msgid "PR#350 - Translations update from Hosted Weblate (Galician)" msgstr "" -#: ../source/changelog.md:170 +#: ../source/changelog.md:182 msgid "PR#352 - Translations update from Hosted Weblate (Dutch)" msgstr "" -#: ../source/changelog.md:171 +#: ../source/changelog.md:183 msgid "PR#356 - Init Polish translation files" msgstr "" -#: ../source/changelog.md:172 +#: ../source/changelog.md:184 msgid "PR#357 - Translations update from Hosted Weblate (Polish)" msgstr "" -#: ../source/changelog.md:173 +#: ../source/changelog.md:185 msgid "PR#365 - Translations update from Hosted Weblate (Spanish)" msgstr "" -#: ../source/changelog.md:179 +#: ../source/changelog.md:191 msgid "Galician: 99%" msgstr "" -#: ../source/changelog.md:186 +#: ../source/changelog.md:198 msgid "Note: Polish is not yet available in FitTrackee interface." msgstr "" -#: ../source/changelog.md:189 -#: ../source/changelog.md:243 -#: ../source/changelog.md:298 -#: ../source/changelog.md:330 +#: ../source/changelog.md:201 +#: ../source/changelog.md:255 +#: ../source/changelog.md:310 +#: ../source/changelog.md:342 msgid "@bjornclauw" msgstr "" -#: ../source/changelog.md:191 +#: ../source/changelog.md:203 msgid "@gnu-ewm" msgstr "" -#: ../source/changelog.md:192 -#: ../source/changelog.md:245 -#: ../source/changelog.md:331 +#: ../source/changelog.md:204 +#: ../source/changelog.md:257 +#: ../source/changelog.md:343 msgid "@jat255" msgstr "" -#: ../source/changelog.md:198 +#: ../source/changelog.md:210 msgid "Version 0.7.15 (2023/04/12)" msgstr "" -#: ../source/changelog.md:200 +#: ../source/changelog.md:212 msgid "Among enhancements and fixes, FitTrackee is now available in Galician, Spanish and partially in Norwegian Bokmål (see translation status below)." msgstr "" -#: ../source/changelog.md:202 +#: ../source/changelog.md:214 msgid "Note: DarkSky API support is removed, since the service shut down on March 31, 2023." msgstr "" -#: ../source/changelog.md:207 +#: ../source/changelog.md:219 msgid "#319 - Add cli to create users" msgstr "" -#: ../source/changelog.md:208 +#: ../source/changelog.md:220 msgid "#329 - Make \"start elevation axis at zero\" sticky" msgstr "" -#: ../source/changelog.md:209 +#: ../source/changelog.md:221 msgid "#333 - Feature request: filter workouts by title" msgstr "" -#: ../source/changelog.md:210 +#: ../source/changelog.md:222 msgid "#338 - Display relevant error message when