{"id":2284,"date":"2026-02-17T15:16:25","date_gmt":"2026-02-17T13:16:25","guid":{"rendered":"https:\/\/lightrest.codeline.fr\/?page_id=2284"},"modified":"2026-02-25T19:16:40","modified_gmt":"2026-02-25T17:16:40","slug":"la-classe-lrroute","status":"publish","type":"page","link":"https:\/\/lightrest.codeline.fr\/index.php\/la-classe-lrroute\/","title":{"rendered":"La classe lrRoute"},"content":{"rendered":"<div class=\"page-injector lr-doc\" data-deeplink=\"1\" data-trace=\"0\" data-source=\"https:\/\/lightrest.codeline.fr\/docs\/classes\/lrroute\/\" style=\"zoom:1.5;\">\n<!-- Page Injector: scoped CSS -->\n\n<style>\n.lr-doc{--md-text-font:\"Roboto\";--md-code-font:\"Roboto Mono\"}\n<\/style>\n\n<style>\n@charset \"UTF-8\";.lr-doc{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;box-sizing:border-box}.lr-doc *, .lr-doc :after, .lr-doc :before{box-sizing:inherit}@media (prefers-reduced-motion){.lr-doc *, .lr-doc :after, .lr-doc :before{transition:none!important}}.lr-doc{margin:0}.lr-doc a, .lr-doc button, .lr-doc input, .lr-doc label{-webkit-tap-highlight-color:transparent}.lr-doc a{color:inherit;text-decoration:none}.lr-doc hr{border:0;box-sizing:initial;display:block;height:.05rem;overflow:visible;padding:0}.lr-doc small{font-size:80%}.lr-doc sub, .lr-doc sup{line-height:1em}.lr-doc img{border-style:none}.lr-doc table{border-collapse:initial;border-spacing:0}.lr-doc td, .lr-doc th{font-weight:400;vertical-align:top}.lr-doc button{background:#0000;border:0;font-family:inherit;font-size:inherit;margin:0;padding:0}.lr-doc input{border:0;outline:none}.lr-doc{--md-primary-fg-color:#4051b5;--md-primary-fg-color--light:#5d6cc0;--md-primary-fg-color--dark:#303fa1;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3;--md-accent-fg-color:#526cfe;--md-accent-fg-color--transparent:#526cfe1a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}.lr-doc [data-md-color-scheme=default]{color-scheme:light}.lr-doc [data-md-color-scheme=default] img[src$=\"#gh-dark-mode-only\"], .lr-doc [data-md-color-scheme=default] img[src$=\"#only-dark\"]{display:none}.lr-doc, .lr-doc [data-md-color-scheme=default]{--md-hue:225deg;--md-default-fg-color:#000000de;--md-default-fg-color--light:#0000008a;--md-default-fg-color--lighter:#00000052;--md-default-fg-color--lightest:#00000012;--md-default-bg-color:#fff;--md-default-bg-color--light:#ffffffb3;--md-default-bg-color--lighter:#ffffff4d;--md-default-bg-color--lightest:#ffffff1f;--md-code-fg-color:#36464e;--md-code-bg-color:#f5f5f5;--md-code-bg-color--light:#f5f5f5b3;--md-code-bg-color--lighter:#f5f5f54d;--md-code-hl-color:#4287ff;--md-code-hl-color--light:#4287ff1a;--md-code-hl-number-color:#d52a2a;--md-code-hl-special-color:#db1457;--md-code-hl-function-color:#a846b9;--md-code-hl-constant-color:#6e59d9;--md-code-hl-keyword-color:#3f6ec6;--md-code-hl-string-color:#1c7d4d;--md-code-hl-name-color:var(--md-code-fg-color);--md-code-hl-operator-color:var(--md-default-fg-color--light);--md-code-hl-punctuation-color:var(--md-default-fg-color--light);--md-code-hl-comment-color:var(--md-default-fg-color--light);--md-code-hl-generic-color:var(--md-default-fg-color--light);--md-code-hl-variable-color:var(--md-default-fg-color--light);--md-typeset-color:var(--md-default-fg-color);--md-typeset-a-color:var(--md-primary-fg-color);--md-typeset-del-color:#f5503d26;--md-typeset-ins-color:#0bd57026;--md-typeset-kbd-color:#fafafa;--md-typeset-kbd-accent-color:#fff;--md-typeset-kbd-border-color:#b8b8b8;--md-typeset-mark-color:#ffff0080;--md-typeset-table-color:#0000001f;--md-typeset-table-color--light:rgba(0,0,0,.035);--md-admonition-fg-color:var(--md-default-fg-color);--md-admonition-bg-color:var(--md-default-bg-color);--md-warning-fg-color:#000000de;--md-warning-bg-color:#ff9;--md-footer-fg-color:#fff;--md-footer-fg-color--light:#ffffffb3;--md-footer-fg-color--lighter:#ffffff73;--md-footer-bg-color:#000000de;--md-footer-bg-color--dark:#00000052;--md-shadow-z1:0 0.2rem 0.5rem #0000000d,0 0 0.05rem #0000001a;--md-shadow-z2:0 0.2rem 0.5rem #0000001a,0 0 0.05rem #00000040;--md-shadow-z3:0 0.2rem 0.5rem #0003,0 0 0.05rem #00000059}.lr-doc .md-icon svg{fill:currentcolor;display:block;height:1.2rem;width:1.2rem}.lr-doc{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--md-text-font-family:var(--md-text-font,_),-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif;--md-code-font-family:var(--md-code-font,_),SFMono-Regular,Consolas,Menlo,monospace}.lr-doc aside, .lr-doc, .lr-doc input{font-feature-settings:\"kern\",\"liga\";color:var(--md-typeset-color);font-family:var(--md-text-font-family)}.lr-doc code, .lr-doc kbd, .lr-doc pre{font-feature-settings:\"kern\";font-family:var(--md-code-font-family)}.lr-doc{--md-typeset-table-sort-icon:url('data:image\/svg+xml;charset=utf-8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"m18 21-4-4h3V7h-3l4-4 4 4h-3v10h3M2 19v-2h10v2M2 13v-2h7v2M2 7V5h4v2z\"\/><\/svg>');--md-typeset-table-sort-icon--asc:url('data:image\/svg+xml;charset=utf-8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 17h3l-4 4-4-4h3V3h2M2 17h10v2H2M6 5v2H2V5m0 6h7v2H2z\"\/><\/svg>');--md-typeset-table-sort-icon--desc:url('data:image\/svg+xml;charset=utf-8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 7h3l-4-4-4 4h3v14h2M2 17h10v2H2M6 5v2H2V5m0 6h7v2H2z\"\/><\/svg>')}.lr-doc .md-typeset{-webkit-print-color-adjust:exact;color-adjust:exact;font-size:.8rem;line-height:1.6;overflow-wrap:break-word}@media print{.lr-doc .md-typeset{font-size:.68rem}}.lr-doc .md-typeset blockquote, .lr-doc .md-typeset dl, .lr-doc .md-typeset figure, .lr-doc .md-typeset ol, .lr-doc .md-typeset pre, .lr-doc .md-typeset ul{margin-bottom:1em;margin-top:1em}.lr-doc .md-typeset h1{color:var(--md-default-fg-color--light);font-size:2em;line-height:1.3;margin:0 0 1.25em}.lr-doc .md-typeset h1, .lr-doc .md-typeset h2{font-weight:300;letter-spacing:-.01em}.lr-doc .md-typeset h2{font-size:1.5625em;line-height:1.4;margin:1.6em 0 .64em}.lr-doc .md-typeset h3{font-size:1.25em;font-weight:400;letter-spacing:-.01em;line-height:1.5;margin:1.6em 0 .8em}.lr-doc .md-typeset h2+h3{margin-top:.8em}.lr-doc .md-typeset h4{font-weight:700;letter-spacing:-.01em;margin:1em 0}.lr-doc .md-typeset h5, .lr-doc .md-typeset h6{color:var(--md-default-fg-color--light);font-size:.8em;font-weight:700;letter-spacing:-.01em;margin:1.25em 0}.lr-doc .md-typeset h5{text-transform:uppercase}.lr-doc .md-typeset h5 code{text-transform:none}.lr-doc .md-typeset hr{border-bottom:.05rem solid var(--md-default-fg-color--lightest);display:flow-root;margin:1.5em 0}.lr-doc .md-typeset a{color:var(--md-typeset-a-color);word-break:break-word}.lr-doc .md-typeset a, .lr-doc .md-typeset a:before{transition:color 125ms}.lr-doc .md-typeset a:focus, .lr-doc .md-typeset a:hover{color:var(--md-accent-fg-color)}.lr-doc .md-typeset a:focus code, .lr-doc .md-typeset a:hover code{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.lr-doc .md-typeset a code{color:var(--md-typeset-a-color)}.lr-doc .md-typeset a.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.lr-doc .md-typeset code, .lr-doc .md-typeset kbd, .lr-doc .md-typeset pre{color:var(--md-code-fg-color);direction:ltr;font-variant-ligatures:none;transition:background-color 125ms}@media print{.lr-doc .md-typeset code, .lr-doc .md-typeset kbd, .lr-doc .md-typeset pre{white-space:pre-wrap}}.lr-doc .md-typeset code{background-color:var(--md-code-bg-color);border-radius:.1rem;-webkit-box-decoration-break:clone;box-decoration-break:clone;font-size:.85em;padding:0 .2941176471em;transition:color 125ms,background-color 125ms;word-break:break-word}.lr-doc .md-typeset code:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}.lr-doc .md-typeset pre{display:flow-root;line-height:1.4;position:relative}.lr-doc .md-typeset pre>code{-webkit-box-decoration-break:slice;box-decoration-break:slice;box-shadow:none;display:block;margin:0;outline-color:var(--md-accent-fg-color);overflow:auto;padding:.7720588235em 1.1764705882em;scrollbar-color:var(--md-default-fg-color--lighter) #0000;scrollbar-width:thin;touch-action:auto;word-break:normal}.lr-doc .md-typeset pre>code:hover{scrollbar-color:var(--md-accent-fg-color) #0000}.lr-doc .md-typeset pre>code::-webkit-scrollbar{height:.2rem;width:.2rem}.lr-doc .md-typeset pre>code::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.lr-doc .md-typeset pre>code::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}.lr-doc .md-typeset kbd{background-color:var(--md-typeset-kbd-color);border-radius:.1rem;box-shadow:0 .1rem 0 .05rem var(--md-typeset-kbd-border-color),0 .1rem 0 var(--md-typeset-kbd-border-color),0 -.1rem .2rem var(--md-typeset-kbd-accent-color) inset;color:var(--md-default-fg-color);display:inline-block;font-size:.75em;padding:0 .6666666667em;vertical-align:text-top;word-break:break-word}.lr-doc .md-typeset mark{background-color:var(--md-typeset-mark-color);-webkit-box-decoration-break:clone;box-decoration-break:clone;color:inherit;word-break:break-word}.lr-doc .md-typeset abbr{cursor:help;text-decoration:none}.lr-doc .md-typeset [data-preview], .lr-doc .md-typeset abbr{border-bottom:.05rem dotted var(--md-default-fg-color--light)}.lr-doc .md-typeset small{opacity:.75}.lr-doc [dir=ltr] .md-typeset sub, .lr-doc [dir=ltr] .md-typeset sup{margin-left:.078125em}.lr-doc [dir=rtl] .md-typeset sub, .lr-doc [dir=rtl] .md-typeset sup{margin-right:.078125em}.lr-doc [dir=ltr] .md-typeset blockquote{padding-left:.6rem}.lr-doc [dir=rtl] .md-typeset blockquote{padding-right:.6rem}.lr-doc [dir=ltr] .md-typeset blockquote{border-left:.2rem solid var(--md-default-fg-color--lighter)}.lr-doc [dir=rtl] .md-typeset blockquote{border-right:.2rem solid var(--md-default-fg-color--lighter)}.lr-doc .md-typeset blockquote{color:var(--md-default-fg-color--light);margin-left:0;margin-right:0}.lr-doc .md-typeset ul{list-style-type:disc}.lr-doc .md-typeset ul[type]{list-style-type:revert-layer}.lr-doc [dir=ltr] .md-typeset ol, .lr-doc [dir=ltr] .md-typeset ul{margin-left:.625em}.lr-doc [dir=rtl] .md-typeset ol, .lr-doc [dir=rtl] .md-typeset ul{margin-right:.625em}.lr-doc .md-typeset ol, .lr-doc .md-typeset ul{padding:0}.lr-doc .md-typeset ol:not([hidden]), .lr-doc .md-typeset ul:not([hidden]){display:flow-root}.lr-doc .md-typeset ol ol, .lr-doc .md-typeset ul ol{list-style-type:lower-alpha}.lr-doc .md-typeset ol ol ol, .lr-doc .md-typeset ul ol ol{list-style-type:lower-roman}.lr-doc .md-typeset ol ol ol ol, .lr-doc .md-typeset ul ol ol ol{list-style-type:upper-alpha}.lr-doc .md-typeset ol ol ol ol ol, .lr-doc .md-typeset ul ol ol ol ol{list-style-type:upper-roman}.lr-doc .md-typeset ol[type], .lr-doc .md-typeset ul[type]{list-style-type:revert-layer}.lr-doc [dir=ltr] .md-typeset ol li, .lr-doc [dir=ltr] .md-typeset ul li{margin-left:1.25em}.lr-doc [dir=rtl] .md-typeset ol li, .lr-doc [dir=rtl] .md-typeset ul li{margin-right:1.25em}.lr-doc .md-typeset ol li, .lr-doc .md-typeset ul li{margin-bottom:.5em}.lr-doc .md-typeset ol li blockquote, .lr-doc .md-typeset ol li p, .lr-doc .md-typeset ul li blockquote, .lr-doc .md-typeset ul li p{margin:.5em 0}.lr-doc .md-typeset ol li:last-child, .lr-doc .md-typeset ul li:last-child{margin-bottom:0}.lr-doc [dir=ltr] .md-typeset ol li ol, .lr-doc [dir=ltr] .md-typeset ol li ul, .lr-doc [dir=ltr] .md-typeset ul li ol, .lr-doc [dir=ltr] .md-typeset ul li ul{margin-left:.625em}.lr-doc [dir=rtl] .md-typeset ol li ol, .lr-doc [dir=rtl] .md-typeset ol li ul, .lr-doc [dir=rtl] .md-typeset ul li ol, .lr-doc [dir=rtl] .md-typeset ul li ul{margin-right:.625em}.lr-doc .md-typeset ol li ol, .lr-doc .md-typeset ol li ul, .lr-doc .md-typeset ul li ol, .lr-doc .md-typeset ul li ul{margin-bottom:.5em;margin-top:.5em}.lr-doc [dir=ltr] .md-typeset dd{margin-left:1.875em}.lr-doc [dir=rtl] .md-typeset dd{margin-right:1.875em}.lr-doc .md-typeset dd{margin-bottom:1.5em;margin-top:1em}.lr-doc .md-typeset img, .lr-doc .md-typeset svg, .lr-doc .md-typeset video{height:auto;max-width:100%}.lr-doc .md-typeset img[align=left]{margin:1em 1em 1em 0}.lr-doc .md-typeset img[align=right]{margin:1em 0 1em 1em}.lr-doc .md-typeset img[align]:only-child{margin-top:0}.lr-doc .md-typeset figure{display:flow-root;margin:1em auto;max-width:100%;text-align:center;width:fit-content}.lr-doc .md-typeset figure img{display:block;margin:0 auto}.lr-doc .md-typeset figcaption{font-style:italic;margin:1em auto;max-width:24rem}.lr-doc .md-typeset iframe{max-width:100%}.lr-doc .md-typeset table:not([class]){background-color:var(--md-default-bg-color);border:.05rem solid var(--md-typeset-table-color);border-radius:.1rem;display:inline-block;font-size:.64rem;max-width:100%;overflow:auto;touch-action:auto}@media print{.lr-doc .md-typeset table:not([class]){display:table}}.lr-doc .md-typeset table:not([class])+*{margin-top:1.5em}.lr-doc .md-typeset table:not([class]) td>:first-child, .lr-doc .md-typeset table:not([class]) th>:first-child{margin-top:0}.lr-doc .md-typeset table:not([class]) td>:last-child, .lr-doc .md-typeset table:not([class]) th>:last-child{margin-bottom:0}.lr-doc .md-typeset table:not([class]) td:not([align]), .lr-doc .md-typeset table:not([class]) th:not([align]){text-align:left}.lr-doc [dir=rtl] .md-typeset table:not([class]) td:not([align]), .lr-doc [dir=rtl] .md-typeset table:not([class]) th:not([align]){text-align:right}.lr-doc .md-typeset table:not([class]) th{font-weight:700;min-width:5rem;padding:.9375em 1.25em;vertical-align:top}.lr-doc .md-typeset table:not([class]) td{border-top:.05rem solid var(--md-typeset-table-color);padding:.9375em 1.25em;vertical-align:top}.lr-doc .md-typeset table:not([class]) tbody tr{transition:background-color 125ms}.lr-doc .md-typeset table:not([class]) tbody tr:hover{background-color:var(--md-typeset-table-color--light);box-shadow:0 .05rem 0 var(--md-default-bg-color) inset}.lr-doc .md-typeset table:not([class]) a{word-break:normal}.lr-doc .md-typeset table th[role=columnheader]{cursor:pointer}.lr-doc [dir=ltr] .md-typeset table th[role=columnheader]:after{margin-left:.5em}.lr-doc [dir=rtl] .md-typeset table th[role=columnheader]:after{margin-right:.5em}.lr-doc .md-typeset table th[role=columnheader]:after{content:\"\";display:inline-block;height:1.2em;-webkit-mask-image:var(--md-typeset-table-sort-icon);mask-image:var(--md-typeset-table-sort-icon);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:background-color 125ms;vertical-align:text-bottom;width:1.2em}.lr-doc .md-typeset table th[role=columnheader]:hover:after{background-color:var(--md-default-fg-color--lighter)}.lr-doc .md-typeset table th[role=columnheader][aria-sort=ascending]:after{background-color:var(--md-default-fg-color--light);-webkit-mask-image:var(--md-typeset-table-sort-icon--asc);mask-image:var(--md-typeset-table-sort-icon--asc)}.lr-doc .md-typeset table th[role=columnheader][aria-sort=descending]:after{background-color:var(--md-default-fg-color--light);-webkit-mask-image:var(--md-typeset-table-sort-icon--desc);mask-image:var(--md-typeset-table-sort-icon--desc)}.lr-doc .md-typeset__scrollwrap{margin:1em -.8rem;overflow-x:auto;touch-action:auto}.lr-doc .md-typeset__table{display:inline-block;margin-bottom:.5em;padding:0 .8rem}@media print{.lr-doc .md-typeset__table{display:block}}.lr-doc .md-typeset__table table{display:table;margin:0;overflow:hidden;width:100%}@media screen and (max-width:44.984375em){.lr-doc .md-content__inner>pre{margin:1em -.8rem}.lr-doc .md-content__inner>pre code{border-radius:0}}.lr-doc .md-typeset .md-author{border-radius:100%;display:block;flex-shrink:0;height:1.6rem;overflow:hidden;position:relative;transition:color 125ms,transform 125ms;width:1.6rem}.lr-doc .md-typeset .md-author img{display:block}.lr-doc .md-typeset .md-author--more{background:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--lighter);font-size:.6rem;font-weight:700;line-height:1.6rem;text-align:center}.lr-doc .md-typeset .md-author--long{height:2.4rem;width:2.4rem}.lr-doc .md-typeset a.md-author{transform:scale(1)}.lr-doc .md-typeset a.md-author img{border-radius:100%;filter:grayscale(100%) opacity(75%);transition:filter 125ms}.lr-doc .md-typeset a.md-author:focus, .lr-doc .md-typeset a.md-author:hover{transform:scale(1.1);z-index:1}.lr-doc .md-typeset a.md-author:focus img, .lr-doc .md-typeset a.md-author:hover img{filter:grayscale(0)}.lr-doc .md-banner{background-color:var(--md-footer-bg-color);color:var(--md-footer-fg-color);overflow:auto}@media print{.lr-doc .md-banner{display:none}}.lr-doc .md-banner--warning{background-color:var(--md-warning-bg-color);color:var(--md-warning-fg-color)}.lr-doc .md-banner__inner{font-size:.7rem;margin:.6rem auto;padding:0 .8rem}.lr-doc [dir=ltr] .md-banner__button{float:right}.lr-doc [dir=rtl] .md-banner__button{float:left}.lr-doc .md-banner__button{color:inherit;cursor:pointer;transition:opacity .25s}.lr-doc .no-js .md-banner__button{display:none}.lr-doc .md-banner__button:hover{opacity:.7}.lr-doc{font-size:125%;height:100%;overflow-x:hidden}@media screen and (min-width:100em){.lr-doc{font-size:137.5%}}@media screen and (min-width:125em){.lr-doc{font-size:150%}}.lr-doc{background-color:var(--md-default-bg-color);display:flex;flex-direction:column;font-size:.5rem;min-height:100%;position:relative;width:100%}@media print{.lr-doc{display:block}}@media screen and (max-width:59.984375em){.lr-doc[data-md-scrolllock]{position:fixed}}.lr-doc .md-grid{margin-left:auto;margin-right:auto;max-width:61rem}.lr-doc .md-container{display:flex;flex-direction:column;flex-grow:1}@media print{.lr-doc .md-container{display:block}}.lr-doc .md-main{flex-grow:1}.lr-doc .md-main__inner{display:flex;height:100%;margin-top:1.5rem}.lr-doc .md-ellipsis{overflow:hidden;text-overflow:ellipsis}.lr-doc .md-toggle{display:none}.lr-doc .md-option{height:0;opacity:0;position:absolute;width:0}.lr-doc .md-option:checked+label:not([hidden]){display:block}.lr-doc .md-option.focus-visible+label{outline-color:var(--md-accent-fg-color);outline-style:auto}.lr-doc .md-skip{background-color:var(--md-default-fg-color);border-radius:.1rem;color:var(--md-default-bg-color);font-size:.64rem;margin:.5rem;opacity:0;outline-color:var(--md-accent-fg-color);padding:.3rem .5rem;position:fixed;transform:translateY(.4rem);z-index:-1}.lr-doc .md-skip:focus{opacity:1;transform:translateY(0);transition:transform .25s cubic-bezier(.4,0,.2,1),opacity 175ms 75ms;z-index:10}@page{margin:25mm}.lr-doc{--md-clipboard-icon:url('data:image\/svg+xml;charset=utf-8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12z\"\/><\/svg>')}.lr-doc .md-clipboard{border-radius:.1rem;color:var(--md-default-fg-color--lightest);cursor:pointer;height:1.5em;outline-color:var(--md-accent-fg-color);outline-offset:.1rem;transition:color .25s;width:1.5em;z-index:1}@media print{.lr-doc .md-clipboard{display:none}}.lr-doc .md-clipboard:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}.lr-doc :hover>.md-clipboard{color:var(--md-default-fg-color--light)}.lr-doc .md-clipboard:focus, .lr-doc .md-clipboard:hover{color:var(--md-accent-fg-color)}.lr-doc .md-clipboard:after{background-color:currentcolor;content:\"\";display:block;height:1.125em;margin:0 auto;-webkit-mask-image:var(--md-clipboard-icon);mask-image:var(--md-clipboard-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:1.125em}.lr-doc .md-clipboard--inline{cursor:pointer}.lr-doc .md-clipboard--inline code{transition:color .25s,background-color .25s}.lr-doc .md-clipboard--inline:focus code, .lr-doc .md-clipboard--inline:hover code{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.lr-doc{--md-code-select-icon:url('data:image\/svg+xml;charset=utf-8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 19h-4v2h4c1.1 0 2-.9 2-2v-4h-2m0-12h-4v2h4v4h2V5c0-1.1-.9-2-2-2M5 5h4V3H5c-1.1 0-2 .9-2 2v4h2m0 6H3v4c0 1.1.9 2 2 2h4v-2H5zm2-4h2v2H7zm4 0h2v2h-2zm4 0h2v2h-2zM7 7h2v2H7zm4 0h2v2h-2zm4 0h2v2h-2zm-8 8h2v2H7zm4 0h2v2h-2zm4 0h2v2h-2z\"\/><\/svg>');--md-code-copy-icon:url('data:image\/svg+xml;charset=utf-8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12z\"\/><\/svg>')}.lr-doc .md-typeset .md-code__content{display:grid}.lr-doc .md-code__nav{background-color:var(--md-code-bg-color--lighter);border-radius:.1rem;display:flex;gap:.2rem;padding:.2rem;position:absolute;right:.25em;top:.25em;transition:background-color .25s;z-index:1}.lr-doc :hover>.md-code__nav{background-color:var(--md-code-bg-color--light)}.lr-doc .md-code__button{color:var(--md-default-fg-color--lightest);cursor:pointer;display:block;height:1.5em;outline-color:var(--md-accent-fg-color);outline-offset:.1rem;transition:color .25s;width:1.5em}.lr-doc :hover>*>.md-code__button{color:var(--md-default-fg-color--light)}.lr-doc .md-code__button.focus-visible, .lr-doc .md-code__button:hover{color:var(--md-accent-fg-color)}.lr-doc .md-code__button--active{color:var(--md-default-fg-color)!important}.lr-doc .md-code__button:after{background-color:currentcolor;content:\"\";display:block;height:1.125em;margin:0 auto;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:1.125em}.lr-doc .md-code__button[data-md-type=select]:after{-webkit-mask-image:var(--md-code-select-icon);mask-image:var(--md-code-select-icon)}.lr-doc .md-code__button[data-md-type=copy]:after{-webkit-mask-image:var(--md-code-copy-icon);mask-image:var(--md-code-copy-icon)}@keyframes consent{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes overlay{0%{opacity:0}to{opacity:1}}.lr-doc .md-consent__overlay{animation:overlay .25s both;-webkit-backdrop-filter:blur(.1rem);backdrop-filter:blur(.1rem);background-color:#0000008a;height:100%;opacity:1;position:fixed;top:0;width:100%;z-index:5}.lr-doc .md-consent__inner{animation:consent .5s cubic-bezier(.1,.7,.1,1) both;background-color:var(--md-default-bg-color);border:0;border-radius:.1rem;bottom:0;box-shadow:0 0 .2rem #0000001a,0 .2rem .4rem #0003;max-height:100%;overflow:auto;padding:0;position:fixed;width:100%;z-index:5}.lr-doc .md-consent__form{padding:.8rem}.lr-doc .md-consent__settings{display:none;margin:1em 0}.lr-doc input:checked+.md-consent__settings{display:block}.lr-doc .md-consent__controls{margin-bottom:.8rem}.lr-doc .md-typeset .md-consent__controls .md-button{display:inline}@media screen and (max-width:44.984375em){.lr-doc .md-typeset .md-consent__controls .md-button{display:block;margin-top:.4rem;text-align:center;width:100%}}.lr-doc .md-consent label{cursor:pointer}.lr-doc .md-content{flex-grow:1;min-width:0}.lr-doc .md-content__inner{margin:0 .8rem 1.2rem;padding-top:.6rem}@media screen and (min-width:76.25em){.lr-doc [dir=ltr] .md-sidebar--primary:not([hidden])~.md-content>.md-content__inner{margin-left:1.2rem}.lr-doc [dir=ltr] .md-sidebar--secondary:not([hidden])~.md-content>.md-content__inner, .lr-doc [dir=rtl] .md-sidebar--primary:not([hidden])~.md-content>.md-content__inner{margin-right:1.2rem}.lr-doc [dir=rtl] .md-sidebar--secondary:not([hidden])~.md-content>.md-content__inner{margin-left:1.2rem}}.lr-doc .md-content__inner:before{content:\"\";display:block;height:.4rem}.lr-doc .md-content__inner>:last-child{margin-bottom:0}.lr-doc [dir=ltr] .md-content__button{float:right}.lr-doc [dir=rtl] .md-content__button{float:left}.lr-doc [dir=ltr] .md-content__button{margin-left:.4rem}.lr-doc [dir=rtl] .md-content__button{margin-right:.4rem}.lr-doc .md-content__button{margin:.4rem 0;padding:0}@media print{.lr-doc .md-content__button{display:none}}.lr-doc .md-typeset .md-content__button{color:var(--md-default-fg-color--lighter)}.lr-doc .md-content__button svg{display:inline;vertical-align:top}.lr-doc [dir=rtl] .md-content__button svg{transform:scaleX(-1)}.lr-doc [dir=ltr] .md-dialog{right:.8rem}.lr-doc [dir=rtl] .md-dialog{left:.8rem}.lr-doc .md-dialog{background-color:var(--md-default-fg-color);border-radius:.1rem;bottom:.8rem;box-shadow:var(--md-shadow-z3);min-width:11.1rem;opacity:0;padding:.4rem .6rem;pointer-events:none;position:fixed;transform:translateY(100%);transition:transform 0ms .4s,opacity .4s;z-index:4}@media print{.lr-doc .md-dialog{display:none}}.lr-doc .md-dialog--active{opacity:1;pointer-events:auto;transform:translateY(0);transition:transform .4s cubic-bezier(.075,.85,.175,1),opacity .4s}.lr-doc .md-dialog__inner{color:var(--md-default-bg-color);font-size:.7rem}.lr-doc .md-feedback{margin:2em 0 1em;text-align:center}.lr-doc .md-feedback fieldset{border:none;margin:0;padding:0}.lr-doc .md-feedback__title{font-weight:700;margin:1em auto}.lr-doc .md-feedback__inner{position:relative}.lr-doc .md-feedback__list{display:flex;flex-wrap:wrap;place-content:baseline center;position:relative}.lr-doc .md-feedback__list:hover .md-icon:not(:disabled){color:var(--md-default-fg-color--lighter)}.lr-doc :disabled .md-feedback__list{min-height:1.8rem}.lr-doc .md-feedback__icon{color:var(--md-default-fg-color--light);cursor:pointer;flex-shrink:0;margin:0 .1rem;transition:color 125ms}.lr-doc .md-feedback__icon:not(:disabled).md-icon:hover{color:var(--md-accent-fg-color)}.lr-doc .md-feedback__icon:disabled{color:var(--md-default-fg-color--lightest);pointer-events:none}.lr-doc .md-feedback__note{opacity:0;position:relative;transform:translateY(.4rem);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s}.lr-doc .md-feedback__note>*{margin:0 auto;max-width:16rem}.lr-doc :disabled .md-feedback__note{opacity:1;transform:translateY(0)}@media print{.lr-doc .md-feedback{display:none}}.lr-doc .md-footer{background-color:var(--md-footer-bg-color);color:var(--md-footer-fg-color)}@media print{.lr-doc .md-footer{display:none}}.lr-doc .md-footer__inner{justify-content:space-between;overflow:auto;padding:.2rem}.lr-doc .md-footer__inner:not([hidden]){display:flex}.lr-doc .md-footer__link{align-items:end;display:flex;flex-grow:0.01;margin-bottom:.4rem;margin-top:1rem;max-width:100%;outline-color:var(--md-accent-fg-color);overflow:hidden;transition:opacity .25s}.lr-doc .md-footer__link:focus, .lr-doc .md-footer__link:hover{opacity:.7}.lr-doc [dir=rtl] .md-footer__link svg{transform:scaleX(-1)}@media screen and (max-width:44.984375em){.lr-doc .md-footer__link--prev{flex-shrink:0}.lr-doc .md-footer__link--prev .md-footer__title{display:none}}.lr-doc [dir=ltr] .md-footer__link--next{margin-left:auto}.lr-doc [dir=rtl] .md-footer__link--next{margin-right:auto}.lr-doc .md-footer__link--next{text-align:right}.lr-doc [dir=rtl] .md-footer__link--next{text-align:left}.lr-doc .md-footer__title{flex-grow:1;font-size:.9rem;margin-bottom:.7rem;max-width:calc(100% - 2.4rem);padding:0 1rem;white-space:nowrap}.lr-doc .md-footer__button{margin:.2rem;padding:.4rem}.lr-doc .md-footer__direction{font-size:.64rem;opacity:.7}.lr-doc .md-footer-meta{background-color:var(--md-footer-bg-color--dark)}.lr-doc .md-footer-meta__inner{display:flex;flex-wrap:wrap;justify-content:space-between;padding:.2rem}.lr-doc .md-footer-meta.md-typeset a{color:var(--md-footer-fg-color--light)}.lr-doc .md-footer-meta.md-typeset a:focus, .lr-doc .md-footer-meta.md-typeset a:hover{color:var(--md-footer-fg-color)}.lr-doc .md-copyright{color:var(--md-footer-fg-color--lighter);font-size:.64rem;margin:auto .6rem;padding:.4rem 0;width:100%}@media screen and (min-width:45em){.lr-doc .md-copyright{width:auto}}.lr-doc .md-copyright__highlight{color:var(--md-footer-fg-color--light)}.lr-doc .md-social{display:inline-flex;gap:.2rem;margin:0 .4rem;padding:.2rem 0 .6rem}@media screen and (min-width:45em){.lr-doc .md-social{padding:.6rem 0}}.lr-doc .md-social__link{display:inline-block;height:1.6rem;text-align:center;width:1.6rem}.lr-doc .md-social__link:before{line-height:1.9}.lr-doc .md-social__link svg{fill:currentcolor;max-height:.8rem;vertical-align:-25%}.lr-doc .md-typeset .md-button{border:.1rem solid;border-radius:.1rem;color:var(--md-primary-fg-color);cursor:pointer;display:inline-block;font-weight:700;padding:.625em 2em;transition:color 125ms,background-color 125ms,border-color 125ms}.lr-doc .md-typeset .md-button--primary{background-color:var(--md-primary-fg-color);border-color:var(--md-primary-fg-color);color:var(--md-primary-bg-color)}.lr-doc .md-typeset .md-button:focus, .lr-doc .md-typeset .md-button:hover{background-color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color);color:var(--md-accent-bg-color)}.lr-doc [dir=ltr] .md-typeset .md-input{border-top-left-radius:.1rem}.lr-doc [dir=ltr] .md-typeset .md-input, .lr-doc [dir=rtl] .md-typeset .md-input{border-top-right-radius:.1rem}.lr-doc [dir=rtl] .md-typeset .md-input{border-top-left-radius:.1rem}.lr-doc .md-typeset .md-input{border-bottom:.1rem solid var(--md-default-fg-color--lighter);box-shadow:var(--md-shadow-z1);font-size:.8rem;height:1.8rem;padding:0 .6rem;transition:border .25s,box-shadow .25s}.lr-doc .md-typeset .md-input:focus, .lr-doc .md-typeset .md-input:hover{border-bottom-color:var(--md-accent-fg-color);box-shadow:var(--md-shadow-z2)}.lr-doc .md-typeset .md-input--stretch{width:100%}.lr-doc .md-header{background-color:var(--md-primary-fg-color);box-shadow:0 0 .2rem #0000,0 .2rem .4rem #0000;color:var(--md-primary-bg-color);display:block;left:0;position:sticky;right:0;top:0;z-index:4}@media print{.lr-doc .md-header{display:none}}.lr-doc .md-header[hidden]{transform:translateY(-100%);transition:transform .25s cubic-bezier(.8,0,.6,1),box-shadow .25s}.lr-doc .md-header--shadow{box-shadow:0 0 .2rem #0000001a,0 .2rem .4rem #0003;transition:transform .25s cubic-bezier(.1,.7,.1,1),box-shadow .25s}.lr-doc .md-header__inner{align-items:center;display:flex;padding:0 .2rem}.lr-doc .md-header__button{color:currentcolor;cursor:pointer;margin:.2rem;outline-color:var(--md-accent-fg-color);padding:.4rem;position:relative;transition:opacity .25s;vertical-align:middle;z-index:1}.lr-doc .md-header__button:hover{opacity:.7}.lr-doc .md-header__button:not([hidden]){display:inline-block}.lr-doc .md-header__button:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}.lr-doc .md-header__button.md-logo{margin:.2rem;padding:.4rem}@media screen and (max-width:76.234375em){.lr-doc .md-header__button.md-logo{display:none}}.lr-doc .md-header__button.md-logo img, .lr-doc .md-header__button.md-logo svg{fill:currentcolor;display:block;height:1.2rem;width:auto}@media screen and (min-width:60em){.lr-doc .md-header__button[for=__search]{display:none}}.lr-doc .no-js .md-header__button[for=__search]{display:none}.lr-doc [dir=rtl] .md-header__button[for=__search] svg{transform:scaleX(-1)}@media screen and (min-width:76.25em){.lr-doc .md-header__button[for=__drawer]{display:none}}.lr-doc .md-header__topic{display:flex;max-width:100%;position:absolute;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s;white-space:nowrap}.lr-doc .md-header__topic+.md-header__topic{opacity:0;pointer-events:none;transform:translateX(1.25rem);transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s;z-index:-1}.lr-doc [dir=rtl] .md-header__topic+.md-header__topic{transform:translateX(-1.25rem)}.lr-doc .md-header__topic:first-child{font-weight:700}.lr-doc [dir=ltr] .md-header__title{margin-left:1rem;margin-right:.4rem}.lr-doc [dir=rtl] .md-header__title{margin-left:.4rem;margin-right:1rem}.lr-doc .md-header__title{flex-grow:1;font-size:.9rem;height:2.4rem;line-height:2.4rem}.lr-doc .md-header__title--active .md-header__topic{opacity:0;pointer-events:none;transform:translateX(-1.25rem);transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s;z-index:-1}.lr-doc [dir=rtl] .md-header__title--active .md-header__topic{transform:translateX(1.25rem)}.lr-doc .md-header__title--active .md-header__topic+.md-header__topic{opacity:1;pointer-events:auto;transform:translateX(0);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s;z-index:0}.lr-doc .md-header__title>.md-header__ellipsis{height:100%;position:relative;width:100%}.lr-doc .md-header__option{display:flex;flex-shrink:0;max-width:100%;transition:max-width 0ms .25s,opacity .25s .25s;white-space:nowrap}.lr-doc [data-md-toggle=search]:checked~.md-header .md-header__option{max-width:0;opacity:0;transition:max-width 0ms,opacity 0ms}.lr-doc .md-header__option>input{bottom:0}.lr-doc .md-header__source{display:none}@media screen and (min-width:60em){.lr-doc [dir=ltr] .md-header__source{margin-left:1rem}.lr-doc [dir=rtl] .md-header__source{margin-right:1rem}.lr-doc .md-header__source{display:block;max-width:11.7rem;width:11.7rem}}@media screen and (min-width:76.25em){.lr-doc [dir=ltr] .md-header__source{margin-left:1.4rem}.lr-doc [dir=rtl] .md-header__source{margin-right:1.4rem}}.lr-doc .md-meta{color:var(--md-default-fg-color--light);font-size:.7rem;line-height:1.3}.lr-doc .md-meta__list{display:inline-flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}.lr-doc .md-meta__item:not(:last-child):after{content:\"\u00b7\";margin-left:.2rem;margin-right:.2rem}.lr-doc .md-meta__link{color:var(--md-typeset-a-color)}.lr-doc .md-meta__link:focus, .lr-doc .md-meta__link:hover{color:var(--md-accent-fg-color)}.lr-doc .md-draft{background-color:#ff1744;border-radius:.125em;color:#fff;display:inline-block;font-weight:700;padding-left:.5714285714em;padding-right:.5714285714em}.lr-doc{--md-nav-icon--prev:url('data:image\/svg+xml;charset=utf-8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"\/><\/svg>');--md-nav-icon--next:url('data:image\/svg+xml;charset=utf-8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M8.59 16.58 13.17 12 8.59 7.41 10 6l6 6-6 6z\"\/><\/svg>');--md-toc-icon:url('data:image\/svg+xml;charset=utf-8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 9h14V7H3zm0 4h14v-2H3zm0 4h14v-2H3zm16 0h2v-2h-2zm0-10v2h2V7zm0 6h2v-2h-2z\"\/><\/svg>')}.lr-doc .md-nav{font-size:.7rem;line-height:1.3}.lr-doc .md-nav__title{color:var(--md-default-fg-color--light);display:block;font-weight:700;overflow:hidden;padding:0 .6rem;text-overflow:ellipsis}.lr-doc .md-nav__title .md-nav__button{display:none}.lr-doc .md-nav__title .md-nav__button img{height:100%;width:auto}.lr-doc .md-nav__title .md-nav__button.md-logo img, .lr-doc .md-nav__title .md-nav__button.md-logo svg{fill:currentcolor;display:block;height:2.4rem;max-width:100%;object-fit:contain;width:auto}.lr-doc .md-nav__list{list-style:none;margin:0;padding:0}.lr-doc .md-nav__link{align-items:flex-start;display:flex;gap:.4rem;margin-top:.625em;scroll-snap-align:start;transition:color 125ms}.lr-doc .md-nav__link--passed, .lr-doc .md-nav__link--passed code{color:var(--md-default-fg-color--light)}.lr-doc .md-nav__item .md-nav__link--active, .lr-doc .md-nav__item .md-nav__link--active code{color:var(--md-typeset-a-color)}.lr-doc .md-nav__link .md-ellipsis{position:relative}.lr-doc .md-nav__link .md-ellipsis code{word-break:normal}.lr-doc [dir=ltr] .md-nav__link .md-icon:last-child{margin-left:auto}.lr-doc [dir=rtl] .md-nav__link .md-icon:last-child{margin-right:auto}.lr-doc .md-nav__link .md-typeset{font-size:.7rem;line-height:1.3}.lr-doc .md-nav__link svg{fill:currentcolor;flex-shrink:0;height:1.3em;position:relative}.lr-doc .md-nav__link[for]:focus, .lr-doc .md-nav__link[for]:hover, .lr-doc .md-nav__link[href]:focus, .lr-doc .md-nav__link[href]:hover{color:var(--md-accent-fg-color);cursor:pointer}.lr-doc .md-nav__link[for]:focus code, .lr-doc .md-nav__link[for]:hover code, .lr-doc .md-nav__link[href]:focus code, .lr-doc .md-nav__link[href]:hover code{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.lr-doc .md-nav__link.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.lr-doc .md-nav--primary .md-nav__link[for=__toc]{display:none}.lr-doc .md-nav--primary .md-nav__link[for=__toc] .md-icon:after{background-color:currentcolor;display:block;height:100%;-webkit-mask-image:var(--md-toc-icon);mask-image:var(--md-toc-icon);width:100%}.lr-doc .md-nav--primary .md-nav__link[for=__toc]~.md-nav{display:none}.lr-doc .md-nav__container>.md-nav__link{margin-top:0}.lr-doc .md-nav__container>.md-nav__link:first-child{flex-grow:1;min-width:0}.lr-doc .md-nav__icon{flex-shrink:0}.lr-doc .md-nav__source{display:none}@media screen and (max-width:76.234375em){.lr-doc .md-nav--primary, .lr-doc .md-nav--primary .md-nav{background-color:var(--md-default-bg-color);display:flex;flex-direction:column;height:100%;left:0;position:absolute;right:0;top:0;z-index:1}.lr-doc .md-nav--primary .md-nav__item, .lr-doc .md-nav--primary .md-nav__title{font-size:.8rem;line-height:1.5}.lr-doc .md-nav--primary .md-nav__title{background-color:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--light);cursor:pointer;height:5.6rem;line-height:2.4rem;padding:3rem .8rem .2rem;position:relative;white-space:nowrap}.lr-doc [dir=ltr] .md-nav--primary .md-nav__title .md-nav__icon{left:.4rem}.lr-doc [dir=rtl] .md-nav--primary .md-nav__title .md-nav__icon{right:.4rem}.lr-doc .md-nav--primary .md-nav__title .md-nav__icon{display:block;height:1.2rem;margin:.2rem;position:absolute;top:.4rem;width:1.2rem}.lr-doc .md-nav--primary .md-nav__title .md-nav__icon:after{background-color:currentcolor;content:\"\";display:block;height:100%;-webkit-mask-image:var(--md-nav-icon--prev);mask-image:var(--md-nav-icon--prev);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}.lr-doc .md-nav--primary .md-nav__title~.md-nav__list{background-color:var(--md-default-bg-color);box-shadow:0 .05rem 0 var(--md-default-fg-color--lightest) inset;overflow-y:auto;scroll-snap-type:y mandatory;touch-action:pan-y}.lr-doc .md-nav--primary .md-nav__title~.md-nav__list>:first-child{border-top:0}.lr-doc .md-nav--primary .md-nav__title[for=__drawer]{background-color:var(--md-primary-fg-color);color:var(--md-primary-bg-color);font-weight:700}.lr-doc .md-nav--primary .md-nav__title .md-logo{display:block;left:.2rem;margin:.2rem;padding:.4rem;position:absolute;right:.2rem;top:.2rem}.lr-doc .md-nav--primary .md-nav__list{flex:1}.lr-doc .md-nav--primary .md-nav__item{border-top:.05rem solid var(--md-default-fg-color--lightest)}.lr-doc .md-nav--primary .md-nav__item--active>.md-nav__link{color:var(--md-typeset-a-color)}.lr-doc .md-nav--primary .md-nav__item--active>.md-nav__link:focus, .lr-doc .md-nav--primary .md-nav__item--active>.md-nav__link:hover{color:var(--md-accent-fg-color)}.lr-doc .md-nav--primary .md-nav__link{margin-top:0;padding:.6rem .8rem}.lr-doc .md-nav--primary .md-nav__link svg{margin-top:.1em}.lr-doc .md-nav--primary .md-nav__link>.md-nav__link{padding:0}.lr-doc [dir=ltr] .md-nav--primary .md-nav__link .md-nav__icon{margin-right:-.2rem}.lr-doc [dir=rtl] .md-nav--primary .md-nav__link .md-nav__icon{margin-left:-.2rem}.lr-doc .md-nav--primary .md-nav__link .md-nav__icon{font-size:1.2rem;height:1.2rem;width:1.2rem}.lr-doc .md-nav--primary .md-nav__link .md-nav__icon:after{background-color:currentcolor;content:\"\";display:block;height:100%;-webkit-mask-image:var(--md-nav-icon--next);mask-image:var(--md-nav-icon--next);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}.lr-doc [dir=rtl] .md-nav--primary .md-nav__icon:after{transform:scale(-1)}.lr-doc .md-nav--primary .md-nav--secondary .md-nav{background-color:initial;position:static}.lr-doc [dir=ltr] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-left:1.4rem}.lr-doc [dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-right:1.4rem}.lr-doc [dir=ltr] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-left:2rem}.lr-doc [dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-right:2rem}.lr-doc [dir=ltr] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-left:2.6rem}.lr-doc [dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-right:2.6rem}.lr-doc [dir=ltr] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-left:3.2rem}.lr-doc [dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-right:3.2rem}.lr-doc .md-nav--secondary{background-color:initial}.lr-doc .md-nav__toggle~.md-nav{display:flex;opacity:0;transform:translateX(100%);transition:transform .25s cubic-bezier(.8,0,.6,1),opacity 125ms 50ms}.lr-doc [dir=rtl] .md-nav__toggle~.md-nav{transform:translateX(-100%)}.lr-doc .md-nav__toggle:checked~.md-nav{opacity:1;transform:translateX(0);transition:transform .25s cubic-bezier(.4,0,.2,1),opacity 125ms 125ms}.lr-doc .md-nav__toggle:checked~.md-nav>.md-nav__list{backface-visibility:hidden}}@media screen and (max-width:59.984375em){.lr-doc .md-nav--primary .md-nav__link[for=__toc]{display:flex}.lr-doc .md-nav--primary .md-nav__link[for=__toc] .md-icon:after{content:\"\"}.lr-doc .md-nav--primary .md-nav__link[for=__toc]+.md-nav__link{display:none}.lr-doc .md-nav--primary .md-nav__link[for=__toc]~.md-nav{display:flex}.lr-doc .md-nav__source{background-color:var(--md-primary-fg-color--dark);color:var(--md-primary-bg-color);display:block;padding:0 .2rem}}@media screen and (min-width:60em) and (max-width:76.234375em){.lr-doc .md-nav--integrated .md-nav__link[for=__toc]{display:flex}.lr-doc .md-nav--integrated .md-nav__link[for=__toc] .md-icon:after{content:\"\"}.lr-doc .md-nav--integrated .md-nav__link[for=__toc]+.md-nav__link{display:none}.lr-doc .md-nav--integrated .md-nav__link[for=__toc]~.md-nav{display:flex}}@media screen and (min-width:60em){.lr-doc .md-nav{margin-bottom:-.4rem}.lr-doc .md-nav--secondary .md-nav__title{background:var(--md-default-bg-color);box-shadow:0 0 .4rem .4rem var(--md-default-bg-color);position:sticky;top:0;z-index:1}.lr-doc .md-nav--secondary .md-nav__title[for=__toc]{scroll-snap-align:start}.lr-doc .md-nav--secondary .md-nav__title .md-nav__icon{display:none}.lr-doc [dir=ltr] .md-nav--secondary .md-nav__list{padding-left:.6rem}.lr-doc [dir=rtl] .md-nav--secondary .md-nav__list{padding-right:.6rem}.lr-doc .md-nav--secondary .md-nav__list{padding-bottom:.4rem}.lr-doc [dir=ltr] .md-nav--secondary .md-nav__item>.md-nav__link{margin-right:.4rem}.lr-doc [dir=rtl] .md-nav--secondary .md-nav__item>.md-nav__link{margin-left:.4rem}}@media screen and (min-width:76.25em){.lr-doc .md-nav{margin-bottom:-.4rem;transition:max-height .25s cubic-bezier(.86,0,.07,1)}.lr-doc .md-nav--primary .md-nav__title{background:var(--md-default-bg-color);box-shadow:0 0 .4rem .4rem var(--md-default-bg-color);position:sticky;top:0;z-index:1}.lr-doc .md-nav--primary .md-nav__title[for=__drawer]{scroll-snap-align:start}.lr-doc .md-nav--primary .md-nav__title .md-nav__icon{display:none}.lr-doc [dir=ltr] .md-nav--primary .md-nav__list{padding-left:.6rem}.lr-doc [dir=rtl] .md-nav--primary .md-nav__list{padding-right:.6rem}.lr-doc .md-nav--primary .md-nav__list{padding-bottom:.4rem}.lr-doc [dir=ltr] .md-nav--primary .md-nav__item>.md-nav__link{margin-right:.4rem}.lr-doc [dir=rtl] .md-nav--primary .md-nav__item>.md-nav__link{margin-left:.4rem}.lr-doc .md-nav__toggle~.md-nav{display:grid;grid-template-rows:minmax(.4rem,0fr);opacity:0;transition:grid-template-rows .25s cubic-bezier(.86,0,.07,1),opacity .25s,visibility 0ms .25s;visibility:collapse}.lr-doc .md-nav__toggle~.md-nav>.md-nav__list{overflow:hidden}.lr-doc .md-nav__toggle.md-toggle--indeterminate~.md-nav, .lr-doc .md-nav__toggle:checked~.md-nav{grid-template-rows:minmax(.4rem,1fr);opacity:1;transition:grid-template-rows .25s cubic-bezier(.86,0,.07,1),opacity .15s .1s,visibility 0ms;visibility:visible}.lr-doc .md-nav__toggle.md-toggle--indeterminate~.md-nav{transition:none}.lr-doc .md-nav__item--nested>.md-nav>.md-nav__title{display:none}.lr-doc .md-nav__item--section{display:block;margin:1.25em 0}.lr-doc .md-nav__item--section:last-child{margin-bottom:0}.lr-doc .md-nav__item--section>.md-nav__link{font-weight:700}.lr-doc .md-nav__item--section>.md-nav__link[for]{color:var(--md-default-fg-color--light)}.lr-doc .md-nav__item--section>.md-nav__link:not(.md-nav__container){pointer-events:none}.lr-doc .md-nav__item--section>.md-nav__link .md-icon, .lr-doc .md-nav__item--section>.md-nav__link>[for]{display:none}.lr-doc [dir=ltr] .md-nav__item--section>.md-nav{margin-left:-.6rem}.lr-doc [dir=rtl] .md-nav__item--section>.md-nav{margin-right:-.6rem}.lr-doc .md-nav__item--section>.md-nav{display:block;opacity:1;visibility:visible}.lr-doc .md-nav__item--section>.md-nav>.md-nav__list>.md-nav__item{padding:0}.lr-doc .md-nav__icon{border-radius:100%;height:.9rem;transition:background-color .25s;width:.9rem}.lr-doc .md-nav__icon:hover{background-color:var(--md-accent-fg-color--transparent)}.lr-doc .md-nav__icon:after{background-color:currentcolor;border-radius:100%;content:\"\";display:inline-block;height:100%;-webkit-mask-image:var(--md-nav-icon--next);mask-image:var(--md-nav-icon--next);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:transform .25s;vertical-align:-.1rem;width:100%}.lr-doc [dir=rtl] .md-nav__icon:after{transform:rotate(180deg)}.lr-doc .md-nav__item--nested .md-nav__toggle:checked~.md-nav__link .md-nav__icon:after, .lr-doc .md-nav__item--nested .md-toggle--indeterminate~.md-nav__link .md-nav__icon:after{transform:rotate(90deg)}.lr-doc .md-nav--lifted>.md-nav__list>.md-nav__item, .lr-doc .md-nav--lifted>.md-nav__title{display:none}.lr-doc .md-nav--lifted>.md-nav__list>.md-nav__item--active{display:block}.lr-doc .md-nav--lifted>.md-nav__list>.md-nav__item--active>.md-nav__link{background:var(--md-default-bg-color);box-shadow:0 0 .4rem .4rem var(--md-default-bg-color);margin-top:0;position:sticky;top:0;z-index:1}.lr-doc .md-nav--lifted>.md-nav__list>.md-nav__item--active>.md-nav__link:not(.md-nav__container){pointer-events:none}.lr-doc .md-nav--lifted>.md-nav__list>.md-nav__item--active.md-nav__item--section{margin:0}.lr-doc [dir=ltr] .md-nav--lifted>.md-nav__list>.md-nav__item>.md-nav:not(.md-nav--secondary){margin-left:-.6rem}.lr-doc [dir=rtl] .md-nav--lifted>.md-nav__list>.md-nav__item>.md-nav:not(.md-nav--secondary){margin-right:-.6rem}.lr-doc .md-nav--lifted>.md-nav__list>.md-nav__item>[for]{color:var(--md-default-fg-color--light)}.lr-doc .md-nav--lifted .md-nav[data-md-level=\"1\"]{grid-template-rows:minmax(.4rem,1fr);opacity:1;visibility:visible}.lr-doc [dir=ltr] .md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary{border-left:.05rem solid var(--md-primary-fg-color)}.lr-doc [dir=rtl] .md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary{border-right:.05rem solid var(--md-primary-fg-color)}.lr-doc .md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary{display:block;margin-bottom:1.25em;opacity:1;visibility:visible}.lr-doc .md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary>.md-nav__list{overflow:visible;padding-bottom:0}.lr-doc .md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary>.md-nav__title{display:none}}.lr-doc .md-pagination{font-size:.8rem;font-weight:700;gap:.4rem}.lr-doc .md-pagination, .lr-doc .md-pagination>*{align-items:center;display:flex;justify-content:center}.lr-doc .md-pagination>*{border-radius:.2rem;height:1.8rem;min-width:1.8rem;text-align:center}.lr-doc .md-pagination__current{background-color:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--light)}.lr-doc .md-pagination__link{transition:color 125ms,background-color 125ms}.lr-doc .md-pagination__link:focus, .lr-doc .md-pagination__link:hover{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.lr-doc .md-pagination__link:focus svg, .lr-doc .md-pagination__link:hover svg{color:var(--md-accent-fg-color)}.lr-doc .md-pagination__link.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.lr-doc .md-pagination__link svg{fill:currentcolor;color:var(--md-default-fg-color--lighter);display:block;max-height:100%;width:1.2rem}.lr-doc{--md-path-icon:url('data:image\/svg+xml;charset=utf-8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M8.59 16.58 13.17 12 8.59 7.41 10 6l6 6-6 6z\"\/><\/svg>')}.lr-doc .md-path{font-size:.7rem;margin:0 .8rem;overflow:auto;padding-top:1.2rem}.lr-doc .md-path:not([hidden]){display:block}@media screen and (min-width:76.25em){.lr-doc .md-path{margin:0 1.2rem}}.lr-doc .md-path__list{align-items:center;display:flex;gap:.2rem;list-style:none;margin:0;padding:0}.lr-doc .md-path__item:not(:first-child){display:inline-flex;gap:.2rem;white-space:nowrap}.lr-doc .md-path__item:not(:first-child):before{background-color:var(--md-default-fg-color--lighter);content:\"\";display:inline;height:.8rem;-webkit-mask-image:var(--md-path-icon);mask-image:var(--md-path-icon);width:.8rem}.lr-doc .md-path__link{align-items:center;color:var(--md-default-fg-color--light);display:flex}.lr-doc .md-path__link:focus, .lr-doc .md-path__link:hover{color:var(--md-accent-fg-color)}.lr-doc{--md-post-pin-icon:url('data:image\/svg+xml;charset=utf-8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M16 12V4h1V2H7v2h1v8l-2 2v2h5.2v6h1.6v-6H18v-2z\"\/><\/svg>')}.lr-doc .md-post__back{border-bottom:.05rem solid var(--md-default-fg-color--lightest);margin-bottom:1.2rem;padding-bottom:1.2rem}@media screen and (max-width:76.234375em){.lr-doc .md-post__back{display:none}}.lr-doc [dir=rtl] .md-post__back svg{transform:scaleX(-1)}.lr-doc .md-post__authors{display:flex;flex-direction:column;gap:.6rem;margin:0 .6rem 1.2rem}.lr-doc .md-post .md-post__meta a{transition:color 125ms}.lr-doc .md-post .md-post__meta a:focus, .lr-doc .md-post .md-post__meta a:hover{color:var(--md-accent-fg-color)}.lr-doc .md-post__title{color:var(--md-default-fg-color--light);font-weight:700}.lr-doc .md-post--excerpt{margin-bottom:3.2rem}.lr-doc .md-post--excerpt .md-post__header{align-items:center;display:flex;gap:.6rem;min-height:1.6rem}.lr-doc .md-post--excerpt .md-post__authors{align-items:center;display:inline-flex;flex-direction:row;gap:.2rem;margin:0;min-height:2.4rem}.lr-doc [dir=ltr] .md-post--excerpt .md-post__meta .md-meta__list{margin-right:.4rem}.lr-doc [dir=rtl] .md-post--excerpt .md-post__meta .md-meta__list{margin-left:.4rem}.lr-doc .md-post--excerpt .md-post__content>:first-child{--md-scroll-margin:6rem;margin-top:0}.lr-doc .md-post>.md-nav--secondary{margin:1em 0}.lr-doc .md-pin{background:var(--md-default-fg-color--lightest);border-radius:1rem;margin-top:-.05rem;padding:.2rem}.lr-doc .md-pin:after{background-color:currentcolor;content:\"\";display:block;height:.6rem;margin:0 auto;-webkit-mask-image:var(--md-post-pin-icon);mask-image:var(--md-post-pin-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:.6rem}.lr-doc .md-profile{align-items:center;display:flex;font-size:.7rem;gap:.6rem;line-height:1.4;width:100%}.lr-doc .md-profile__description{flex-grow:1}.lr-doc .md-content--post{display:flex}@media screen and (max-width:76.234375em){.lr-doc .md-content--post{flex-flow:column-reverse}}.lr-doc .md-content--post>.md-content__inner{flex-grow:1;min-width:0}@media screen and (min-width:76.25em){.lr-doc [dir=ltr] .md-content--post>.md-content__inner{margin-left:1.2rem}.lr-doc [dir=rtl] .md-content--post>.md-content__inner{margin-right:1.2rem}}@media screen and (max-width:76.234375em){.lr-doc .md-sidebar.md-sidebar--post{padding:0;position:static;width:100%}.lr-doc .md-sidebar.md-sidebar--post .md-sidebar__scrollwrap{overflow:visible}.lr-doc .md-sidebar.md-sidebar--post .md-sidebar__inner{padding:0}.lr-doc .md-sidebar.md-sidebar--post .md-post__meta{margin-left:.6rem;margin-right:.6rem}.lr-doc .md-sidebar.md-sidebar--post .md-nav__item{border:none;display:inline}.lr-doc .md-sidebar.md-sidebar--post .md-nav__list{display:inline-flex;flex-wrap:wrap;gap:.6rem;padding-bottom:.6rem;padding-top:.6rem}.lr-doc .md-sidebar.md-sidebar--post .md-nav__link{padding:0}.lr-doc .md-sidebar.md-sidebar--post .md-nav{height:auto;margin-bottom:0;position:static}}.lr-doc{--md-progress-value:0;--md-progress-delay:400ms}.lr-doc .md-progress{background:var(--md-primary-bg-color);height:.075rem;opacity:min(clamp(0,var(--md-progress-value),1),clamp(0,100 - var(--md-progress-value),1));position:fixed;top:0;transform:scaleX(calc(var(--md-progress-value)*1%));transform-origin:left;transition:transform .5s cubic-bezier(.19,1,.22,1),opacity .25s var(--md-progress-delay);width:100%;z-index:4}.lr-doc{--md-search-result-icon:url('data:image\/svg+xml;charset=utf-8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h7c-.41-.25-.8-.56-1.14-.9-.33-.33-.61-.7-.86-1.1H6V4h7v5h5v1.18c.71.16 1.39.43 2 .82V8zm6.31 16.9c1.33-2.11.69-4.9-1.4-6.22-2.11-1.33-4.91-.68-6.22 1.4-1.34 2.11-.69 4.89 1.4 6.22 1.46.93 3.32.93 4.79.02L22 23.39 23.39 22zm-3.81.1a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5\"\/><\/svg>')}.lr-doc .md-search{position:relative}@media screen and (min-width:60em){.lr-doc .md-search{padding:.2rem 0}}.lr-doc .no-js .md-search{display:none}.lr-doc .md-search__overlay{opacity:0;z-index:1}@media screen and (max-width:59.984375em){.lr-doc [dir=ltr] .md-search__overlay{left:-2.2rem}.lr-doc [dir=rtl] .md-search__overlay{right:-2.2rem}.lr-doc .md-search__overlay{background-color:var(--md-default-bg-color);border-radius:1rem;height:2rem;overflow:hidden;pointer-events:none;position:absolute;top:-1rem;transform-origin:center;transition:transform .3s .1s,opacity .2s .2s;width:2rem}.lr-doc [data-md-toggle=search]:checked~.md-header .md-search__overlay{opacity:1;transition:transform .4s,opacity .1s}}@media screen and (min-width:60em){.lr-doc [dir=ltr] .md-search__overlay{left:0}.lr-doc [dir=rtl] .md-search__overlay{right:0}.lr-doc .md-search__overlay{background-color:#0000008a;cursor:pointer;height:0;position:fixed;top:0;transition:width 0ms .25s,height 0ms .25s,opacity .25s;width:0}.lr-doc [data-md-toggle=search]:checked~.md-header .md-search__overlay{height:200vh;opacity:1;transition:width 0ms,height 0ms,opacity .25s;width:100%}}@media screen and (max-width:29.984375em){.lr-doc [data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(45)}}@media screen and (min-width:30em) and (max-width:44.984375em){.lr-doc [data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(60)}}@media screen and (min-width:45em) and (max-width:59.984375em){.lr-doc [data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(75)}}.lr-doc .md-search__inner{backface-visibility:hidden}@media screen and (max-width:59.984375em){.lr-doc [dir=ltr] .md-search__inner{left:0}.lr-doc [dir=rtl] .md-search__inner{right:0}.lr-doc .md-search__inner{height:0;opacity:0;overflow:hidden;position:fixed;top:0;transform:translateX(5%);transition:width 0ms .3s,height 0ms .3s,transform .15s cubic-bezier(.4,0,.2,1) .15s,opacity .15s .15s;width:0;z-index:2}.lr-doc [dir=rtl] .md-search__inner{transform:translateX(-5%)}.lr-doc [data-md-toggle=search]:checked~.md-header .md-search__inner{height:100%;opacity:1;transform:translateX(0);transition:width 0ms 0ms,height 0ms 0ms,transform .15s cubic-bezier(.1,.7,.1,1) .15s,opacity .15s .15s;width:100%}}@media screen and (min-width:60em){.lr-doc [dir=ltr] .md-search__inner{float:right}.lr-doc [dir=rtl] .md-search__inner{float:left}.lr-doc .md-search__inner{padding:.1rem 0;position:relative;transition:width .25s cubic-bezier(.1,.7,.1,1);width:11.7rem}}@media screen and (min-width:60em) and (max-width:76.234375em){.lr-doc [data-md-toggle=search]:checked~.md-header .md-search__inner{width:23.4rem}}@media screen and (min-width:76.25em){.lr-doc [data-md-toggle=search]:checked~.md-header .md-search__inner{width:34.4rem}}.lr-doc .md-search__form{background-color:var(--md-default-bg-color);box-shadow:0 0 .6rem #0000;height:2.4rem;position:relative;transition:color .25s,background-color .25s;z-index:2}@media screen and (min-width:60em){.lr-doc .md-search__form{background-color:#00000042;border-radius:.1rem;height:1.8rem}.lr-doc .md-search__form:hover{background-color:#ffffff1f}}.lr-doc [data-md-toggle=search]:checked~.md-header .md-search__form{background-color:var(--md-default-bg-color);border-radius:.1rem .1rem 0 0;box-shadow:0 0 .6rem #00000012;color:var(--md-default-fg-color)}.lr-doc [dir=ltr] .md-search__input{padding-left:3.6rem;padding-right:2.2rem}.lr-doc [dir=rtl] .md-search__input{padding-left:2.2rem;padding-right:3.6rem}.lr-doc .md-search__input{background:#0000;font-size:.9rem;height:100%;position:relative;text-overflow:ellipsis;width:100%;z-index:2}.lr-doc .md-search__input::placeholder{transition:color .25s}.lr-doc .md-search__input::placeholder, .lr-doc .md-search__input~.md-search__icon{color:var(--md-default-fg-color--light)}.lr-doc .md-search__input::-ms-clear{display:none}@media screen and (max-width:59.984375em){.lr-doc .md-search__input{font-size:.9rem;height:2.4rem;width:100%}}@media screen and (min-width:60em){.lr-doc [dir=ltr] .md-search__input{padding-left:2.2rem}.lr-doc [dir=rtl] .md-search__input{padding-right:2.2rem}.lr-doc .md-search__input{color:inherit;font-size:.8rem}.lr-doc .md-search__input::placeholder{color:var(--md-primary-bg-color--light)}.lr-doc .md-search__input+.md-search__icon{color:var(--md-primary-bg-color)}.lr-doc [data-md-toggle=search]:checked~.md-header .md-search__input{text-overflow:clip}.lr-doc [data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon{color:var(--md-default-fg-color--light)}.lr-doc [data-md-toggle=search]:checked~.md-header .md-search__input::placeholder{color:#0000}}.lr-doc .md-search__icon{cursor:pointer;display:inline-block;height:1.2rem;transition:color .25s,opacity .25s;width:1.2rem}.lr-doc .md-search__icon:hover{opacity:.7}.lr-doc [dir=ltr] .md-search__icon[for=__search]{left:.5rem}.lr-doc [dir=rtl] .md-search__icon[for=__search]{right:.5rem}.lr-doc .md-search__icon[for=__search]{position:absolute;top:.3rem;z-index:2}.lr-doc [dir=rtl] .md-search__icon[for=__search] svg{transform:scaleX(-1)}@media screen and (max-width:59.984375em){.lr-doc [dir=ltr] .md-search__icon[for=__search]{left:.8rem}.lr-doc [dir=rtl] .md-search__icon[for=__search]{right:.8rem}.lr-doc .md-search__icon[for=__search]{top:.6rem}.lr-doc .md-search__icon[for=__search] svg:first-child{display:none}}@media screen and (min-width:60em){.lr-doc .md-search__icon[for=__search]{pointer-events:none}.lr-doc .md-search__icon[for=__search] svg:last-child{display:none}}.lr-doc [dir=ltr] .md-search__options{right:.5rem}.lr-doc [dir=rtl] .md-search__options{left:.5rem}.lr-doc .md-search__options{pointer-events:none;position:absolute;top:.3rem;z-index:2}@media screen and (max-width:59.984375em){.lr-doc [dir=ltr] .md-search__options{right:.8rem}.lr-doc [dir=rtl] .md-search__options{left:.8rem}.lr-doc .md-search__options{top:.6rem}}.lr-doc [dir=ltr] .md-search__options>.md-icon{margin-left:.2rem}.lr-doc [dir=rtl] .md-search__options>.md-icon{margin-right:.2rem}.lr-doc .md-search__options>.md-icon{color:var(--md-default-fg-color--light);opacity:0;transform:scale(.75);transition:transform .15s cubic-bezier(.1,.7,.1,1),opacity .15s}.lr-doc .md-search__options>.md-icon:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}.lr-doc [data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__options>.md-icon{opacity:1;pointer-events:auto;transform:scale(1)}.lr-doc [data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__options>.md-icon:hover{opacity:.7}.lr-doc [dir=ltr] .md-search__suggest{padding-left:3.6rem;padding-right:2.2rem}.lr-doc [dir=rtl] .md-search__suggest{padding-left:2.2rem;padding-right:3.6rem}.lr-doc .md-search__suggest{align-items:center;color:var(--md-default-fg-color--lighter);display:flex;font-size:.9rem;height:100%;opacity:0;position:absolute;top:0;transition:opacity 50ms;white-space:nowrap;width:100%}@media screen and (min-width:60em){.lr-doc [dir=ltr] .md-search__suggest{padding-left:2.2rem}.lr-doc [dir=rtl] .md-search__suggest{padding-right:2.2rem}.lr-doc .md-search__suggest{font-size:.8rem}}.lr-doc [data-md-toggle=search]:checked~.md-header .md-search__suggest{opacity:1;transition:opacity .3s .1s}.lr-doc [dir=ltr] .md-search__output{border-bottom-left-radius:.1rem}.lr-doc [dir=ltr] .md-search__output, .lr-doc [dir=rtl] .md-search__output{border-bottom-right-radius:.1rem}.lr-doc [dir=rtl] .md-search__output{border-bottom-left-radius:.1rem}.lr-doc .md-search__output{overflow:hidden;position:absolute;width:100%;z-index:1}@media screen and (max-width:59.984375em){.lr-doc .md-search__output{bottom:0;top:2.4rem}}@media screen and (min-width:60em){.lr-doc .md-search__output{opacity:0;top:1.9rem;transition:opacity .4s}.lr-doc [data-md-toggle=search]:checked~.md-header .md-search__output{box-shadow:var(--md-shadow-z3);opacity:1}}.lr-doc .md-search__scrollwrap{backface-visibility:hidden;background-color:var(--md-default-bg-color);height:100%;overflow-y:auto;touch-action:pan-y}@media (-webkit-max-device-pixel-ratio:1),(max-resolution:1dppx){.lr-doc .md-search__scrollwrap{transform:translateZ(0)}}@media screen and (min-width:60em) and (max-width:76.234375em){.lr-doc .md-search__scrollwrap{width:23.4rem}}@media screen and (min-width:76.25em){.lr-doc .md-search__scrollwrap{width:34.4rem}}@media screen and (min-width:60em){.lr-doc .md-search__scrollwrap{max-height:0;scrollbar-color:var(--md-default-fg-color--lighter) #0000;scrollbar-width:thin}.lr-doc [data-md-toggle=search]:checked~.md-header .md-search__scrollwrap{max-height:75vh}.lr-doc .md-search__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) #0000}.lr-doc .md-search__scrollwrap::-webkit-scrollbar{height:.2rem;width:.2rem}.lr-doc .md-search__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.lr-doc .md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}}.lr-doc .md-search-result{color:var(--md-default-fg-color);word-break:break-word}.lr-doc .md-search-result__meta{background-color:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.8rem;padding:0 .8rem;scroll-snap-align:start}@media screen and (min-width:60em){.lr-doc [dir=ltr] .md-search-result__meta{padding-left:2.2rem}.lr-doc [dir=rtl] .md-search-result__meta{padding-right:2.2rem}}.lr-doc .md-search-result__list{list-style:none;margin:0;padding:0;-webkit-user-select:none;user-select:none}.lr-doc .md-search-result__item{box-shadow:0 -.05rem var(--md-default-fg-color--lightest)}.lr-doc .md-search-result__item:first-child{box-shadow:none}.lr-doc .md-search-result__link{display:block;outline:none;scroll-snap-align:start;transition:background-color .25s}.lr-doc .md-search-result__link:focus, .lr-doc .md-search-result__link:hover{background-color:var(--md-accent-fg-color--transparent)}.lr-doc .md-search-result__link:last-child p:last-child{margin-bottom:.6rem}.lr-doc .md-search-result__more>summary{cursor:pointer;display:block;outline:none;position:sticky;scroll-snap-align:start;top:0;z-index:1}.lr-doc .md-search-result__more>summary::marker{display:none}.lr-doc .md-search-result__more>summary::-webkit-details-marker{display:none}.lr-doc .md-search-result__more>summary>div{color:var(--md-typeset-a-color);font-size:.64rem;padding:.75em .8rem;transition:color .25s,background-color .25s}@media screen and (min-width:60em){.lr-doc [dir=ltr] .md-search-result__more>summary>div{padding-left:2.2rem}.lr-doc [dir=rtl] .md-search-result__more>summary>div{padding-right:2.2rem}}.lr-doc .md-search-result__more>summary:focus>div, .lr-doc .md-search-result__more>summary:hover>div{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.lr-doc .md-search-result__more[open]>summary{background-color:var(--md-default-bg-color)}.lr-doc .md-search-result__article{overflow:hidden;padding:0 .8rem;position:relative}@media screen and (min-width:60em){.lr-doc [dir=ltr] .md-search-result__article{padding-left:2.2rem}.lr-doc [dir=rtl] .md-search-result__article{padding-right:2.2rem}}.lr-doc [dir=ltr] .md-search-result__icon{left:0}.lr-doc [dir=rtl] .md-search-result__icon{right:0}.lr-doc .md-search-result__icon{color:var(--md-default-fg-color--light);height:1.2rem;margin:.5rem;position:absolute;width:1.2rem}@media screen and (max-width:59.984375em){.lr-doc .md-search-result__icon{display:none}}.lr-doc .md-search-result__icon:after{background-color:currentcolor;content:\"\";display:inline-block;height:100%;-webkit-mask-image:var(--md-search-result-icon);mask-image:var(--md-search-result-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}.lr-doc [dir=rtl] .md-search-result__icon:after{transform:scaleX(-1)}.lr-doc .md-search-result .md-typeset{color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.6}.lr-doc .md-search-result .md-typeset h1{color:var(--md-default-fg-color);font-size:.8rem;font-weight:400;line-height:1.4;margin:.55rem 0}.lr-doc .md-search-result .md-typeset h1 mark{text-decoration:none}.lr-doc .md-search-result .md-typeset h2{color:var(--md-default-fg-color);font-size:.64rem;font-weight:700;line-height:1.6;margin:.5em 0}.lr-doc .md-search-result .md-typeset h2 mark{text-decoration:none}.lr-doc .md-search-result__terms{color:var(--md-default-fg-color);display:block;font-size:.64rem;font-style:italic;margin:.5em 0}.lr-doc .md-search-result mark{background-color:initial;color:var(--md-accent-fg-color);text-decoration:underline}.lr-doc .md-select{position:relative;z-index:1}.lr-doc .md-select__inner{background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color);left:50%;margin-top:.2rem;max-height:0;opacity:0;position:absolute;top:calc(100% - .2rem);transform:translate3d(-50%,.3rem,0);transition:transform .25s 375ms,opacity .25s .25s,max-height 0ms .5s}.lr-doc .md-select:focus-within .md-select__inner, .lr-doc .md-select:hover .md-select__inner{max-height:10rem;opacity:1;transform:translate3d(-50%,0,0);transition:transform .25s cubic-bezier(.1,.7,.1,1),opacity .25s,max-height 0ms}.lr-doc .md-select__inner:after{border-bottom:.2rem solid #0000;border-bottom-color:var(--md-default-bg-color);border-left:.2rem solid #0000;border-right:.2rem solid #0000;border-top:0;content:\"\";height:0;left:50%;margin-left:-.2rem;margin-top:-.2rem;position:absolute;top:0;width:0}.lr-doc .md-select__list{border-radius:.1rem;font-size:.8rem;list-style-type:none;margin:0;max-height:inherit;overflow:auto;padding:0}.lr-doc .md-select__item{line-height:1.8rem}.lr-doc [dir=ltr] .md-select__link{padding-left:.6rem;padding-right:1.2rem}.lr-doc [dir=rtl] .md-select__link{padding-left:1.2rem;padding-right:.6rem}.lr-doc .md-select__link{cursor:pointer;display:block;outline:none;scroll-snap-align:start;transition:background-color .25s,color .25s;width:100%}.lr-doc .md-select__link:focus, .lr-doc .md-select__link:hover{color:var(--md-accent-fg-color)}.lr-doc .md-select__link:focus{background-color:var(--md-default-fg-color--lightest)}.lr-doc .md-sidebar{align-self:flex-start;flex-shrink:0;padding:1.2rem 0;position:sticky;top:2.4rem;width:12.1rem}@media print{.lr-doc .md-sidebar{display:none}}@media screen and (max-width:76.234375em){.lr-doc [dir=ltr] .md-sidebar--primary{left:-12.1rem}.lr-doc [dir=rtl] .md-sidebar--primary{right:-12.1rem}.lr-doc .md-sidebar--primary{background-color:var(--md-default-bg-color);display:block;height:100%;position:fixed;top:0;transform:translateX(0);transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s;width:12.1rem;z-index:5}.lr-doc [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{box-shadow:var(--md-shadow-z3);transform:translateX(12.1rem)}.lr-doc [dir=rtl] [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{transform:translateX(-12.1rem)}.lr-doc .md-sidebar--primary .md-sidebar__scrollwrap{bottom:0;left:0;margin:0;overflow:hidden;position:absolute;right:0;scroll-snap-type:none;top:0}}@media screen and (min-width:76.25em){.lr-doc .md-sidebar{height:0}.lr-doc .no-js .md-sidebar{height:auto}.lr-doc .md-header--lifted~.md-container .md-sidebar{top:4.8rem}}.lr-doc .md-sidebar--secondary{display:none;order:2}@media screen and (min-width:60em){.lr-doc .md-sidebar--secondary{height:0}.lr-doc .no-js .md-sidebar--secondary{height:auto}.lr-doc .md-sidebar--secondary:not([hidden]){display:block}.lr-doc .md-sidebar--secondary .md-sidebar__scrollwrap{touch-action:pan-y}}.lr-doc .md-sidebar__scrollwrap{backface-visibility:hidden;margin:0 .2rem;overflow-y:auto;scrollbar-color:var(--md-default-fg-color--lighter) #0000}@media screen and (min-width:60em){.lr-doc .md-sidebar__scrollwrap{scrollbar-gutter:stable;scrollbar-width:thin}}.lr-doc .md-sidebar__scrollwrap::-webkit-scrollbar{height:.2rem;width:.2rem}.lr-doc .md-sidebar__scrollwrap:focus-within, .lr-doc .md-sidebar__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) #0000}.lr-doc .md-sidebar__scrollwrap:focus-within::-webkit-scrollbar-thumb, .lr-doc .md-sidebar__scrollwrap:hover::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.lr-doc .md-sidebar__scrollwrap:focus-within::-webkit-scrollbar-thumb:hover, .lr-doc .md-sidebar__scrollwrap:hover::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@supports selector(::-webkit-scrollbar){.lr-doc .md-sidebar__scrollwrap{scrollbar-gutter:auto}.lr-doc [dir=ltr] .md-sidebar__inner{padding-right:calc(100% - 11.5rem)}.lr-doc [dir=rtl] .md-sidebar__inner{padding-left:calc(100% - 11.5rem)}}@media screen and (max-width:76.234375em){.lr-doc .md-overlay{background-color:#0000008a;height:0;opacity:0;position:fixed;top:0;transition:width 0ms .25s,height 0ms .25s,opacity .25s;width:0;z-index:5}.lr-doc [data-md-toggle=drawer]:checked~.md-overlay{height:100%;opacity:1;transition:width 0ms,height 0ms,opacity .25s;width:100%}}@keyframes facts{0%{height:0}to{height:.65rem}}@keyframes fact{0%{opacity:0;transform:translateY(100%)}50%{opacity:0}to{opacity:1;transform:translateY(0)}}.lr-doc{--md-source-forks-icon:url('data:image\/svg+xml;charset=utf-8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 16 16\"><path d=\"M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0M5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0m6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5m-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0\"\/><\/svg>');--md-source-repositories-icon:url('data:image\/svg+xml;charset=utf-8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 16 16\"><path d=\"M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.5 2.5 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.5 2.5 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.25.25 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z\"\/><\/svg>');--md-source-stars-icon:url('data:image\/svg+xml;charset=utf-8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 16 16\"><path d=\"M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25m0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41z\"\/><\/svg>');--md-source-version-icon:url('data:image\/svg+xml;charset=utf-8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 16 16\"><path d=\"M1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.75 1.75 0 0 1 1 7.775m1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2\"\/><\/svg>')}.lr-doc .md-source{backface-visibility:hidden;display:block;font-size:.65rem;line-height:1.2;outline-color:var(--md-accent-fg-color);transition:opacity .25s;white-space:nowrap}.lr-doc .md-source:hover{opacity:.7}.lr-doc .md-source__icon{display:inline-block;height:2.4rem;vertical-align:middle;width:2rem}.lr-doc [dir=ltr] .md-source__icon svg{margin-left:.6rem}.lr-doc [dir=rtl] .md-source__icon svg{margin-right:.6rem}.lr-doc .md-source__icon svg{margin-top:.6rem}.lr-doc [dir=ltr] .md-source__icon+.md-source__repository{padding-left:2rem}.lr-doc [dir=rtl] .md-source__icon+.md-source__repository{padding-right:2rem}.lr-doc [dir=ltr] .md-source__icon+.md-source__repository{margin-left:-2rem}.lr-doc [dir=rtl] .md-source__icon+.md-source__repository{margin-right:-2rem}.lr-doc [dir=ltr] .md-source__repository{margin-left:.6rem}.lr-doc [dir=rtl] .md-source__repository{margin-right:.6rem}.lr-doc .md-source__repository{display:inline-block;max-width:calc(100% - 1.2rem);overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.lr-doc .md-source__facts{display:flex;font-size:.55rem;gap:.4rem;list-style-type:none;margin:.1rem 0 0;opacity:.75;overflow:hidden;padding:0;width:100%}.lr-doc .md-source__repository--active .md-source__facts{animation:facts .25s ease-in}.lr-doc .md-source__fact{overflow:hidden;text-overflow:ellipsis}.lr-doc .md-source__repository--active .md-source__fact{animation:fact .4s ease-out}.lr-doc [dir=ltr] .md-source__fact:before{margin-right:.1rem}.lr-doc [dir=rtl] .md-source__fact:before{margin-left:.1rem}.lr-doc .md-source__fact:before{background-color:currentcolor;content:\"\";display:inline-block;height:.6rem;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;vertical-align:text-top;width:.6rem}.lr-doc .md-source__fact:nth-child(1n+2){flex-shrink:0}.lr-doc .md-source__fact--version:before{-webkit-mask-image:var(--md-source-version-icon);mask-image:var(--md-source-version-icon)}.lr-doc .md-source__fact--stars:before{-webkit-mask-image:var(--md-source-stars-icon);mask-image:var(--md-source-stars-icon)}.lr-doc .md-source__fact--forks:before{-webkit-mask-image:var(--md-source-forks-icon);mask-image:var(--md-source-forks-icon)}.lr-doc .md-source__fact--repositories:before{-webkit-mask-image:var(--md-source-repositories-icon);mask-image:var(--md-source-repositories-icon)}.lr-doc .md-source-file{margin:1em 0}.lr-doc [dir=ltr] .md-source-file__fact{margin-right:.6rem}.lr-doc [dir=rtl] .md-source-file__fact{margin-left:.6rem}.lr-doc .md-source-file__fact{align-items:center;color:var(--md-default-fg-color--light);display:inline-flex;font-size:.68rem;gap:.3rem}.lr-doc .md-source-file__fact .md-icon{flex-shrink:0;margin-bottom:.05rem}.lr-doc [dir=ltr] .md-source-file__fact .md-author{float:left}.lr-doc [dir=rtl] .md-source-file__fact .md-author{float:right}.lr-doc .md-source-file__fact .md-author{margin-right:.2rem}.lr-doc .md-source-file__fact svg{width:.9rem}.lr-doc{--md-status:url('data:image\/svg+xml;charset=utf-8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M11 9h2V7h-2m1 13c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-18A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m-1 15h2v-6h-2z\"\/><\/svg>');--md-status--new:url('data:image\/svg+xml;charset=utf-8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"m23 12-2.44-2.78.34-3.68-3.61-.82-1.89-3.18L12 3 8.6 1.54 6.71 4.72l-3.61.81.34 3.68L1 12l2.44 2.78-.34 3.69 3.61.82 1.89 3.18L12 21l3.4 1.46 1.89-3.18 3.61-.82-.34-3.68zm-10 5h-2v-2h2zm0-4h-2V7h2z\"\/><\/svg>');--md-status--deprecated:url('data:image\/svg+xml;charset=utf-8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M9 3v1H4v2h1v13a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V6h1V4h-5V3zm0 5h2v9H9zm4 0h2v9h-2z\"\/><\/svg>');--md-status--encrypted:url('data:image\/svg+xml;charset=utf-8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 1 3 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5zm0 6c1.4 0 2.8 1.1 2.8 2.5V11c.6 0 1.2.6 1.2 1.3v3.5c0 .6-.6 1.2-1.3 1.2H9.2c-.6 0-1.2-.6-1.2-1.3v-3.5c0-.6.6-1.2 1.2-1.2V9.5C9.2 8.1 10.6 7 12 7m0 1.2c-.8 0-1.5.5-1.5 1.3V11h3V9.5c0-.8-.7-1.3-1.5-1.3\"\/><\/svg>')}.lr-doc .md-status:after{background-color:var(--md-default-fg-color--light);content:\"\";display:inline-block;height:1.125em;-webkit-mask-image:var(--md-status);mask-image:var(--md-status);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;vertical-align:text-bottom;width:1.125em}.lr-doc .md-status:hover:after{background-color:currentcolor}.lr-doc .md-status--new:after{-webkit-mask-image:var(--md-status--new);mask-image:var(--md-status--new)}.lr-doc .md-status--deprecated:after{-webkit-mask-image:var(--md-status--deprecated);mask-image:var(--md-status--deprecated)}.lr-doc .md-status--encrypted:after{-webkit-mask-image:var(--md-status--encrypted);mask-image:var(--md-status--encrypted)}.lr-doc .md-tabs{background-color:var(--md-primary-fg-color);color:var(--md-primary-bg-color);display:block;line-height:1.3;overflow:auto;width:100%;z-index:3}@media print{.lr-doc .md-tabs{display:none}}@media screen and (max-width:76.234375em){.lr-doc .md-tabs{display:none}}.lr-doc .md-tabs[hidden]{pointer-events:none}.lr-doc [dir=ltr] .md-tabs__list{margin-left:.2rem}.lr-doc [dir=rtl] .md-tabs__list{margin-right:.2rem}.lr-doc .md-tabs__list{contain:content;display:flex;list-style:none;margin:0;overflow:auto;padding:0;scrollbar-width:none;white-space:nowrap}.lr-doc .md-tabs__list::-webkit-scrollbar{display:none}.lr-doc .md-tabs__item{height:2.4rem;padding-left:.6rem;padding-right:.6rem}.lr-doc .md-tabs__item--active .md-tabs__link{color:inherit;opacity:1}.lr-doc .md-tabs__link{backface-visibility:hidden;display:flex;font-size:.7rem;margin-top:.8rem;opacity:.7;outline-color:var(--md-accent-fg-color);outline-offset:.2rem;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .25s}.lr-doc .md-tabs__link:focus, .lr-doc .md-tabs__link:hover{color:inherit;opacity:1}.lr-doc [dir=ltr] .md-tabs__link svg{margin-right:.4rem}.lr-doc [dir=rtl] .md-tabs__link svg{margin-left:.4rem}.lr-doc .md-tabs__link svg{fill:currentcolor;height:1.3em}.lr-doc .md-tabs__item:nth-child(2) .md-tabs__link{transition-delay:20ms}.lr-doc .md-tabs__item:nth-child(3) .md-tabs__link{transition-delay:40ms}.lr-doc .md-tabs__item:nth-child(4) .md-tabs__link{transition-delay:60ms}.lr-doc .md-tabs__item:nth-child(5) .md-tabs__link{transition-delay:80ms}.lr-doc .md-tabs__item:nth-child(6) .md-tabs__link{transition-delay:.1s}.lr-doc .md-tabs__item:nth-child(7) .md-tabs__link{transition-delay:.12s}.lr-doc .md-tabs__item:nth-child(8) .md-tabs__link{transition-delay:.14s}.lr-doc .md-tabs__item:nth-child(9) .md-tabs__link{transition-delay:.16s}.lr-doc .md-tabs__item:nth-child(10) .md-tabs__link{transition-delay:.18s}.lr-doc .md-tabs__item:nth-child(11) .md-tabs__link{transition-delay:.2s}.lr-doc .md-tabs__item:nth-child(12) .md-tabs__link{transition-delay:.22s}.lr-doc .md-tabs__item:nth-child(13) .md-tabs__link{transition-delay:.24s}.lr-doc .md-tabs__item:nth-child(14) .md-tabs__link{transition-delay:.26s}.lr-doc .md-tabs__item:nth-child(15) .md-tabs__link{transition-delay:.28s}.lr-doc .md-tabs__item:nth-child(16) .md-tabs__link{transition-delay:.3s}.lr-doc .md-tabs[hidden] .md-tabs__link{opacity:0;transform:translateY(50%);transition:transform 0ms .1s,opacity .1s}.lr-doc{--md-tag-icon:url('data:image\/svg+xml;charset=utf-8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"m5.41 21 .71-4h-4l.35-2h4l1.06-6h-4l.35-2h4l.71-4h2l-.71 4h6l.71-4h2l-.71 4h4l-.35 2h-4l-1.06 6h4l-.35 2h-4l-.71 4h-2l.71-4h-6l-.71 4zM9.53 9l-1.06 6h6l1.06-6z\"\/><\/svg>')}.lr-doc .md-typeset .md-tags:not([hidden]){display:inline-flex;flex-wrap:wrap;gap:.5em;margin-bottom:.75em;margin-top:-.125em}.lr-doc .md-typeset .md-tag{align-items:center;background:var(--md-default-fg-color--lightest);border-radius:2.4rem;display:inline-flex;font-size:.64rem;font-size:min(.8em,.64rem);font-weight:700;gap:.5em;letter-spacing:normal;line-height:1.6;padding:.3125em .78125em}.lr-doc .md-typeset .md-tag[href]{-webkit-tap-highlight-color:transparent;color:inherit;outline:none;transition:color 125ms,background-color 125ms}.lr-doc .md-typeset .md-tag[href]:focus, .lr-doc .md-typeset .md-tag[href]:hover{background-color:var(--md-accent-fg-color);color:var(--md-accent-bg-color)}.lr-doc [id]>.md-typeset .md-tag{vertical-align:text-top}.lr-doc .md-typeset .md-tag-shadow{opacity:.5}.lr-doc .md-typeset .md-tag-icon:before{background-color:var(--md-default-fg-color--lighter);content:\"\";display:inline-block;height:1.2em;-webkit-mask-image:var(--md-tag-icon);mask-image:var(--md-tag-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:background-color 125ms;vertical-align:text-bottom;width:1.2em}.lr-doc .md-typeset .md-tag-icon[href]:focus:before, .lr-doc .md-typeset .md-tag-icon[href]:hover:before{background-color:var(--md-accent-bg-color)}@keyframes pulse{0%{transform:scale(.95)}75%{transform:scale(1)}to{transform:scale(.95)}}.lr-doc{--md-annotation-bg-icon:url('data:image\/svg+xml;charset=utf-8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 2A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2\"\/><\/svg>');--md-annotation-icon:url('data:image\/svg+xml;charset=utf-8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M17 13h-4v4h-2v-4H7v-2h4V7h2v4h4m-5-9A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2\"\/><\/svg>')}.lr-doc .md-tooltip{backface-visibility:hidden;background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color);font-family:var(--md-text-font-family);left:clamp(var(--md-tooltip-0,0rem) + .8rem,var(--md-tooltip-x),100vw + var(--md-tooltip-0,0rem) + .8rem - var(--md-tooltip-width) - 2 * .8rem);max-width:calc(100vw - 1.6rem);opacity:0;position:absolute;top:var(--md-tooltip-y);transform:translateY(-.4rem);transition:transform 0ms .25s,opacity .25s,z-index .25s;width:var(--md-tooltip-width);z-index:0}.lr-doc .md-tooltip--active{opacity:1;transform:translateY(0);transition:transform .25s cubic-bezier(.1,.7,.1,1),opacity .25s,z-index 0ms;z-index:2}.lr-doc .md-tooltip--inline{font-weight:700;-webkit-user-select:none;user-select:none;width:auto}.lr-doc .md-tooltip--inline:not(.md-tooltip--active){transform:translateY(.2rem) scale(.9)}.lr-doc .md-tooltip--inline .md-tooltip__inner{font-size:.5rem;padding:.2rem .4rem}.lr-doc [hidden]+.md-tooltip--inline{display:none}.lr-doc .focus-visible>.md-tooltip, .lr-doc .md-tooltip:target{outline:var(--md-accent-fg-color) auto}.lr-doc .md-tooltip__inner{font-size:.64rem;padding:.8rem}.lr-doc .md-tooltip__inner.md-typeset>:first-child{margin-top:0}.lr-doc .md-tooltip__inner.md-typeset>:last-child{margin-bottom:0}.lr-doc .md-annotation{font-style:normal;font-weight:400;outline:none;text-align:initial;vertical-align:text-bottom;white-space:normal}.lr-doc [dir=rtl] .md-annotation{direction:rtl}.lr-doc code .md-annotation{font-family:var(--md-code-font-family);font-size:inherit}.lr-doc .md-annotation:not([hidden]){display:inline-block;line-height:1.25}.lr-doc .md-annotation__index{border-radius:.01px;cursor:pointer;display:inline-block;margin-left:.4ch;margin-right:.4ch;outline:none;overflow:hidden;position:relative;-webkit-user-select:none;user-select:none;vertical-align:text-top;z-index:0}.lr-doc .md-annotation .md-annotation__index{transition:z-index .25s}@media screen{.lr-doc .md-annotation__index{width:2.2ch}.lr-doc [data-md-visible]>.md-annotation__index{animation:pulse 2s infinite}.lr-doc .md-annotation__index:before{background:var(--md-default-bg-color);-webkit-mask-image:var(--md-annotation-bg-icon);mask-image:var(--md-annotation-bg-icon)}.lr-doc .md-annotation__index:after, .lr-doc .md-annotation__index:before{content:\"\";height:2.2ch;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:-.1ch;width:2.2ch;z-index:-1}.lr-doc .md-annotation__index:after{background-color:var(--md-default-fg-color--lighter);-webkit-mask-image:var(--md-annotation-icon);mask-image:var(--md-annotation-icon);transform:scale(1.0001);transition:background-color .25s,transform .25s}.lr-doc .md-tooltip--active+.md-annotation__index:after{transform:rotate(45deg)}.lr-doc .md-tooltip--active+.md-annotation__index:after, .lr-doc :hover>.md-annotation__index:after{background-color:var(--md-accent-fg-color)}}.lr-doc .md-tooltip--active+.md-annotation__index{animation-play-state:paused;transition-duration:0ms;z-index:2}.lr-doc .md-annotation__index [data-md-annotation-id]{display:inline-block}@media print{.lr-doc .md-annotation__index [data-md-annotation-id]{background:var(--md-default-fg-color--lighter);border-radius:2ch;color:var(--md-default-bg-color);font-weight:700;padding:0 .6ch;white-space:nowrap}.lr-doc .md-annotation__index [data-md-annotation-id]:after{content:attr(data-md-annotation-id)}}.lr-doc .md-typeset .md-annotation-list{counter-reset:annotation;list-style:none!important}.lr-doc .md-typeset .md-annotation-list li{position:relative}.lr-doc [dir=ltr] .md-typeset .md-annotation-list li:before{left:-2.125em}.lr-doc [dir=rtl] .md-typeset .md-annotation-list li:before{right:-2.125em}.lr-doc .md-typeset .md-annotation-list li:before{background:var(--md-default-fg-color--lighter);border-radius:2ch;color:var(--md-default-bg-color);content:counter(annotation);counter-increment:annotation;font-size:.8875em;font-weight:700;height:2ch;line-height:1.25;min-width:2ch;padding:0 .6ch;position:absolute;text-align:center;top:.25em}.lr-doc{--md-tooltip-width:20rem;--md-tooltip-tail:0.3rem}.lr-doc .md-tooltip2{backface-visibility:hidden;color:var(--md-default-fg-color);font-family:var(--md-text-font-family);opacity:0;pointer-events:none;position:absolute;top:calc(var(--md-tooltip-host-y) + var(--md-tooltip-y));transform:translateY(-.4rem);transform-origin:calc(var(--md-tooltip-host-x) + var(--md-tooltip-x)) 0;transition:transform 0ms .25s,opacity .25s,z-index .25s;width:100%;z-index:0}.lr-doc .md-tooltip2:before{border-left:var(--md-tooltip-tail) solid #0000;border-right:var(--md-tooltip-tail) solid #0000;content:\"\";display:block;left:clamp(1.5 * .8rem,var(--md-tooltip-host-x) + var(--md-tooltip-x) - var(--md-tooltip-tail),100vw - 2 * var(--md-tooltip-tail) - 1.5 * .8rem);position:absolute;z-index:1}.lr-doc .md-tooltip2--top:before{border-top:var(--md-tooltip-tail) solid var(--md-default-bg-color);bottom:calc(var(--md-tooltip-tail)*-1 + .025rem);filter:drop-shadow(0 1px 0 hsla(0,0%,0%,.05))}.lr-doc .md-tooltip2--bottom:before{border-bottom:var(--md-tooltip-tail) solid var(--md-default-bg-color);filter:drop-shadow(0 -1px 0 hsla(0,0%,0%,.05));top:calc(var(--md-tooltip-tail)*-1 + .025rem)}.lr-doc .md-tooltip2--active{opacity:1;transform:translateY(0);transition:transform .4s cubic-bezier(0,1,.5,1),opacity .25s,z-index 0ms;z-index:2}.lr-doc .md-tooltip2__inner{scrollbar-gutter:stable;background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z2);left:clamp(.8rem,var(--md-tooltip-host-x) - .8rem,100vw - var(--md-tooltip-width) - .8rem);max-height:40vh;max-width:calc(100vw - 1.6rem);position:relative;scrollbar-width:thin}.lr-doc .md-tooltip2__inner::-webkit-scrollbar{height:.2rem;width:.2rem}.lr-doc .md-tooltip2__inner::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.lr-doc .md-tooltip2__inner::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}.lr-doc [role=dialog]>.md-tooltip2__inner{font-size:.64rem;overflow:auto;padding:0 .8rem;pointer-events:auto;width:var(--md-tooltip-width)}.lr-doc [role=dialog]>.md-tooltip2__inner:after, .lr-doc [role=dialog]>.md-tooltip2__inner:before{content:\"\";display:block;height:.8rem;position:sticky;width:100%;z-index:10}.lr-doc [role=dialog]>.md-tooltip2__inner:before{background:linear-gradient(var(--md-default-bg-color),#0000 75%);top:0}.lr-doc [role=dialog]>.md-tooltip2__inner:after{background:linear-gradient(#0000,var(--md-default-bg-color) 75%);bottom:0}.lr-doc [role=tooltip]>.md-tooltip2__inner{font-size:.5rem;font-weight:700;left:clamp(.8rem,var(--md-tooltip-host-x) + var(--md-tooltip-x) - var(--md-tooltip-width)\/2,100vw - var(--md-tooltip-width) - .8rem);max-width:min(100vw - 2 * .8rem,400px);padding:.2rem .4rem;-webkit-user-select:none;user-select:none;width:fit-content}.lr-doc .md-tooltip2__inner.md-typeset>:first-child{margin-top:0}.lr-doc .md-tooltip2__inner.md-typeset>:last-child{margin-bottom:0}.lr-doc [dir=ltr] .md-top{margin-left:50%}.lr-doc [dir=rtl] .md-top{margin-right:50%}.lr-doc .md-top{background-color:var(--md-default-bg-color);border-radius:1.6rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color--light);cursor:pointer;display:block;font-size:.7rem;outline:none;padding:.4rem .8rem;position:fixed;top:3.2rem;transform:translate(-50%);transition:color 125ms,background-color 125ms,transform 125ms cubic-bezier(.4,0,.2,1),opacity 125ms;z-index:2}@media print{.lr-doc .md-top{display:none}}.lr-doc [dir=rtl] .md-top{transform:translate(50%)}.lr-doc .md-top[hidden]{opacity:0;pointer-events:none;transform:translate(-50%,.2rem);transition-duration:0ms}.lr-doc [dir=rtl] .md-top[hidden]{transform:translate(50%,.2rem)}.lr-doc .md-top:focus, .lr-doc .md-top:hover{background-color:var(--md-accent-fg-color);color:var(--md-accent-bg-color)}.lr-doc .md-top svg{display:inline-block;vertical-align:-.5em}@keyframes hoverfix{0%{pointer-events:none}}.lr-doc{--md-version-icon:url('data:image\/svg+xml;charset=utf-8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 320 512\"><!--! Font Awesome Free 7.1.0 by @fontawesome - https:\/\/fontawesome.com License - https:\/\/fontawesome.com\/license\/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d=\"M140.3 376.8c12.6 10.2 31.1 9.5 42.8-2.2l128-128c9.2-9.2 11.9-22.9 6.9-34.9S301.4 192 288.5 192h-256c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 7 34.8l128 128z\"\/><\/svg>')}.lr-doc .md-version{flex-shrink:0;font-size:.8rem;height:2.4rem}.lr-doc [dir=ltr] .md-version__current{margin-left:1.4rem;margin-right:.4rem}.lr-doc [dir=rtl] .md-version__current{margin-left:.4rem;margin-right:1.4rem}.lr-doc .md-version__current{color:inherit;cursor:pointer;outline:none;position:relative;top:.05rem}.lr-doc [dir=ltr] .md-version__current:after{margin-left:.4rem}.lr-doc [dir=rtl] .md-version__current:after{margin-right:.4rem}.lr-doc .md-version__current:after{background-color:currentcolor;content:\"\";display:inline-block;height:.6rem;-webkit-mask-image:var(--md-version-icon);mask-image:var(--md-version-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:.4rem}.lr-doc .md-version__alias{margin-left:.3rem;opacity:.7}.lr-doc .md-version__list{background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color);list-style-type:none;margin:.2rem .8rem;max-height:0;opacity:0;overflow:auto;padding:0;position:absolute;scroll-snap-type:y mandatory;top:.15rem;transition:max-height 0ms .5s,opacity .25s .25s;z-index:3}.lr-doc .md-version:focus-within .md-version__list, .lr-doc .md-version:hover .md-version__list{max-height:10rem;opacity:1;transition:max-height 0ms,opacity .25s}@media (hover:none),(pointer:coarse){.lr-doc .md-version:hover .md-version__list{animation:hoverfix .25s forwards}.lr-doc .md-version:focus-within .md-version__list{animation:none}}.lr-doc .md-version__item{line-height:1.8rem}.lr-doc [dir=ltr] .md-version__link{padding-left:.6rem;padding-right:1.2rem}.lr-doc [dir=rtl] .md-version__link{padding-left:1.2rem;padding-right:.6rem}.lr-doc .md-version__link{cursor:pointer;display:block;outline:none;scroll-snap-align:start;transition:color .25s,background-color .25s;white-space:nowrap;width:100%}.lr-doc .md-version__link:focus, .lr-doc .md-version__link:hover{color:var(--md-accent-fg-color)}.lr-doc .md-version__link:focus{background-color:var(--md-default-fg-color--lightest)}.lr-doc{--md-admonition-icon--note:url('data:image\/svg+xml;charset=utf-8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2m3.1 5.07c.14 0 .28.05.4.16l1.27 1.27c.23.22.23.57 0 .78l-1 1-2.05-2.05 1-1c.1-.11.24-.16.38-.16m-1.97 1.74 2.06 2.06-6.06 6.06H7.07v-2.06z\"\/><\/svg>');--md-admonition-icon--abstract:url('data:image\/svg+xml;charset=utf-8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M17 9H7V7h10m0 6H7v-2h10m-3 6H7v-2h7M12 3a1 1 0 0 1 1 1 1 1 0 0 1-1 1 1 1 0 0 1-1-1 1 1 0 0 1 1-1m7 0h-4.18C14.4 1.84 13.3 1 12 1s-2.4.84-2.82 2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2\"\/><\/svg>');--md-admonition-icon--info:url('data:image\/svg+xml;charset=utf-8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 9h-2V7h2m0 10h-2v-6h2m-1-9A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2\"\/><\/svg>');--md-admonition-icon--tip:url('data:image\/svg+xml;charset=utf-8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M17.66 11.2c-.23-.3-.51-.56-.77-.82-.67-.6-1.43-1.03-2.07-1.66C13.33 7.26 13 4.85 13.95 3c-.95.23-1.78.75-2.49 1.32-2.59 2.08-3.61 5.75-2.39 8.9.04.1.08.2.08.33 0 .22-.15.42-.35.5-.23.1-.47.04-.66-.12a.6.6 0 0 1-.14-.17c-1.13-1.43-1.31-3.48-.55-5.12C5.78 10 4.87 12.3 5 14.47c.06.5.12 1 .29 1.5.14.6.41 1.2.71 1.73 1.08 1.73 2.95 2.97 4.96 3.22 2.14.27 4.43-.12 6.07-1.6 1.83-1.66 2.47-4.32 1.53-6.6l-.13-.26c-.21-.46-.77-1.26-.77-1.26m-3.16 6.3c-.28.24-.74.5-1.1.6-1.12.4-2.24-.16-2.9-.82 1.19-.28 1.9-1.16 2.11-2.05.17-.8-.15-1.46-.28-2.23-.12-.74-.1-1.37.17-2.06.19.38.39.76.63 1.06.77 1 1.98 1.44 2.24 2.8.04.14.06.28.06.43.03.82-.33 1.72-.93 2.27\"\/><\/svg>');--md-admonition-icon--success:url('data:image\/svg+xml;charset=utf-8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M21 7 9 19l-5.5-5.5 1.41-1.41L9 16.17 19.59 5.59z\"\/><\/svg>');--md-admonition-icon--question:url('data:image\/svg+xml;charset=utf-8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"m15.07 11.25-.9.92C13.45 12.89 13 13.5 13 15h-2v-.5c0-1.11.45-2.11 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41a2 2 0 0 0-2-2 2 2 0 0 0-2 2H8a4 4 0 0 1 4-4 4 4 0 0 1 4 4 3.2 3.2 0 0 1-.93 2.25M13 19h-2v-2h2M12 2A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10c0-5.53-4.5-10-10-10\"\/><\/svg>');--md-admonition-icon--warning:url('data:image\/svg+xml;charset=utf-8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 14h-2V9h2m0 9h-2v-2h2M1 21h22L12 2z\"\/><\/svg>');--md-admonition-icon--failure:url('data:image\/svg+xml;charset=utf-8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\/><\/svg>');--md-admonition-icon--danger:url('data:image\/svg+xml;charset=utf-8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"m11.5 20 4.86-9.73H13V4l-5 9.73h3.5zM12 2c2.75 0 5.1 1 7.05 2.95S22 9.25 22 12s-1 5.1-2.95 7.05S14.75 22 12 22s-5.1-1-7.05-2.95S2 14.75 2 12s1-5.1 2.95-7.05S9.25 2 12 2\"\/><\/svg>');--md-admonition-icon--bug:url('data:image\/svg+xml;charset=utf-8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M11 13h2v1h-2zm10-8v6c0 5.5-3.8 10.7-9 12-5.2-1.3-9-6.5-9-12V5l9-4zm-4 5h-2.2c-.2-.6-.6-1.1-1.1-1.5l1.2-1.2-.7-.7L12.8 8H12c-.2 0-.5 0-.7.1L9.9 6.6l-.8.8 1.2 1.2c-.5.3-.9.8-1.1 1.4H7v1h2v1H7v1h2v1H7v1h2.2c.4 1.2 1.5 2 2.8 2s2.4-.8 2.8-2H17v-1h-2v-1h2v-1h-2v-1h2zm-6 2h2v-1h-2z\"\/><\/svg>');--md-admonition-icon--example:url('data:image\/svg+xml;charset=utf-8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M7 2v2h1v14a4 4 0 0 0 4 4 4 4 0 0 0 4-4V4h1V2zm4 14c-.6 0-1-.4-1-1s.4-1 1-1 1 .4 1 1-.4 1-1 1m2-4c-.6 0-1-.4-1-1s.4-1 1-1 1 .4 1 1-.4 1-1 1m1-5h-4V4h4z\"\/><\/svg>');--md-admonition-icon--quote:url('data:image\/svg+xml;charset=utf-8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M14 17h3l2-4V7h-6v6h3M6 17h3l2-4V7H5v6h3z\"\/><\/svg>')}.lr-doc .md-typeset .admonition, .lr-doc .md-typeset details{background-color:var(--md-admonition-bg-color);border:.075rem solid #448aff;border-radius:.2rem;box-shadow:var(--md-shadow-z1);color:var(--md-admonition-fg-color);display:flow-root;font-size:.64rem;margin:1.5625em 0;padding:0 .6rem;page-break-inside:avoid;transition:box-shadow 125ms}@media print{.lr-doc .md-typeset .admonition, .lr-doc .md-typeset details{box-shadow:none}}.lr-doc .md-typeset .admonition:focus-within, .lr-doc .md-typeset details:focus-within{box-shadow:0 0 0 .2rem #448aff1a}.lr-doc .md-typeset .admonition>*, .lr-doc .md-typeset details>*{box-sizing:border-box}.lr-doc .md-typeset .admonition .admonition, .lr-doc .md-typeset .admonition details, .lr-doc .md-typeset details .admonition, .lr-doc .md-typeset details details{margin-bottom:1em;margin-top:1em}.lr-doc .md-typeset .admonition .md-typeset__scrollwrap, .lr-doc .md-typeset details .md-typeset__scrollwrap{margin:1em -.6rem}.lr-doc .md-typeset .admonition .md-typeset__table, .lr-doc .md-typeset details .md-typeset__table{padding:0 .6rem}.lr-doc .md-typeset .admonition>.tabbed-set:only-child, .lr-doc .md-typeset details>.tabbed-set:only-child{margin-top:0}.lr-doc .md-typeset .admonition>:last-child, .lr-doc .md-typeset details>:last-child{margin-bottom:.6rem}.lr-doc [dir=ltr] .md-typeset .admonition-title, .lr-doc [dir=ltr] .md-typeset summary{padding-left:2rem;padding-right:.6rem}.lr-doc [dir=rtl] .md-typeset .admonition-title, .lr-doc [dir=rtl] .md-typeset summary{padding-left:.6rem;padding-right:2rem}.lr-doc [dir=ltr] .md-typeset .admonition-title, .lr-doc [dir=ltr] .md-typeset summary{border-left-width:.2rem}.lr-doc [dir=rtl] .md-typeset .admonition-title, .lr-doc [dir=rtl] .md-typeset summary{border-right-width:.2rem}.lr-doc [dir=ltr] .md-typeset .admonition-title, .lr-doc [dir=ltr] .md-typeset summary{border-top-left-radius:.1rem}.lr-doc [dir=ltr] .md-typeset .admonition-title, .lr-doc [dir=ltr] .md-typeset summary, .lr-doc [dir=rtl] .md-typeset .admonition-title, .lr-doc [dir=rtl] .md-typeset summary{border-top-right-radius:.1rem}.lr-doc [dir=rtl] .md-typeset .admonition-title, .lr-doc [dir=rtl] .md-typeset summary{border-top-left-radius:.1rem}.lr-doc .md-typeset .admonition-title, .lr-doc .md-typeset summary{background-color:#448aff1a;border:none;font-weight:700;margin:0 -.6rem;padding-bottom:.4rem;padding-top:.4rem;position:relative}.lr-doc .md-typeset .admonition-title:last-child, .lr-doc .md-typeset summary:last-child{margin-bottom:0}.lr-doc [dir=ltr] .md-typeset .admonition-title:before, .lr-doc [dir=ltr] .md-typeset summary:before{left:.6rem}.lr-doc [dir=rtl] .md-typeset .admonition-title:before, .lr-doc [dir=rtl] .md-typeset summary:before{right:.6rem}.lr-doc .md-typeset .admonition-title:before, .lr-doc .md-typeset summary:before{background-color:#448aff;content:\"\";height:1rem;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:.625em;width:1rem}.lr-doc .md-typeset .admonition-title code, .lr-doc .md-typeset summary code{box-shadow:0 0 0 .05rem var(--md-default-fg-color--lightest)}.lr-doc .md-typeset .admonition.note, .lr-doc .md-typeset details.note{border-color:#448aff}.lr-doc .md-typeset .admonition.note:focus-within, .lr-doc .md-typeset details.note:focus-within{box-shadow:0 0 0 .2rem #448aff1a}.lr-doc .md-typeset .note>.admonition-title, .lr-doc .md-typeset .note>summary{background-color:#448aff1a}.lr-doc .md-typeset .note>.admonition-title:before, .lr-doc .md-typeset .note>summary:before{background-color:#448aff;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note)}.lr-doc .md-typeset .note>.admonition-title:after, .lr-doc .md-typeset .note>summary:after{color:#448aff}.lr-doc .md-typeset .admonition.abstract, .lr-doc .md-typeset details.abstract{border-color:#00b0ff}.lr-doc .md-typeset .admonition.abstract:focus-within, .lr-doc .md-typeset details.abstract:focus-within{box-shadow:0 0 0 .2rem #00b0ff1a}.lr-doc .md-typeset .abstract>.admonition-title, .lr-doc .md-typeset .abstract>summary{background-color:#00b0ff1a}.lr-doc .md-typeset .abstract>.admonition-title:before, .lr-doc .md-typeset .abstract>summary:before{background-color:#00b0ff;-webkit-mask-image:var(--md-admonition-icon--abstract);mask-image:var(--md-admonition-icon--abstract)}.lr-doc .md-typeset .abstract>.admonition-title:after, .lr-doc .md-typeset .abstract>summary:after{color:#00b0ff}.lr-doc .md-typeset .admonition.info, .lr-doc .md-typeset details.info{border-color:#00b8d4}.lr-doc .md-typeset .admonition.info:focus-within, .lr-doc .md-typeset details.info:focus-within{box-shadow:0 0 0 .2rem #00b8d41a}.lr-doc .md-typeset .info>.admonition-title, .lr-doc .md-typeset .info>summary{background-color:#00b8d41a}.lr-doc .md-typeset .info>.admonition-title:before, .lr-doc .md-typeset .info>summary:before{background-color:#00b8d4;-webkit-mask-image:var(--md-admonition-icon--info);mask-image:var(--md-admonition-icon--info)}.lr-doc .md-typeset .info>.admonition-title:after, .lr-doc .md-typeset .info>summary:after{color:#00b8d4}.lr-doc .md-typeset .admonition.tip, .lr-doc .md-typeset details.tip{border-color:#00bfa5}.lr-doc .md-typeset .admonition.tip:focus-within, .lr-doc .md-typeset details.tip:focus-within{box-shadow:0 0 0 .2rem #00bfa51a}.lr-doc .md-typeset .tip>.admonition-title, .lr-doc .md-typeset .tip>summary{background-color:#00bfa51a}.lr-doc .md-typeset .tip>.admonition-title:before, .lr-doc .md-typeset .tip>summary:before{background-color:#00bfa5;-webkit-mask-image:var(--md-admonition-icon--tip);mask-image:var(--md-admonition-icon--tip)}.lr-doc .md-typeset .tip>.admonition-title:after, .lr-doc .md-typeset .tip>summary:after{color:#00bfa5}.lr-doc .md-typeset .admonition.success, .lr-doc .md-typeset details.success{border-color:#00c853}.lr-doc .md-typeset .admonition.success:focus-within, .lr-doc .md-typeset details.success:focus-within{box-shadow:0 0 0 .2rem #00c8531a}.lr-doc .md-typeset .success>.admonition-title, .lr-doc .md-typeset .success>summary{background-color:#00c8531a}.lr-doc .md-typeset .success>.admonition-title:before, .lr-doc .md-typeset .success>summary:before{background-color:#00c853;-webkit-mask-image:var(--md-admonition-icon--success);mask-image:var(--md-admonition-icon--success)}.lr-doc .md-typeset .success>.admonition-title:after, .lr-doc .md-typeset .success>summary:after{color:#00c853}.lr-doc .md-typeset .admonition.question, .lr-doc .md-typeset details.question{border-color:#64dd17}.lr-doc .md-typeset .admonition.question:focus-within, .lr-doc .md-typeset details.question:focus-within{box-shadow:0 0 0 .2rem #64dd171a}.lr-doc .md-typeset .question>.admonition-title, .lr-doc .md-typeset .question>summary{background-color:#64dd171a}.lr-doc .md-typeset .question>.admonition-title:before, .lr-doc .md-typeset .question>summary:before{background-color:#64dd17;-webkit-mask-image:var(--md-admonition-icon--question);mask-image:var(--md-admonition-icon--question)}.lr-doc .md-typeset .question>.admonition-title:after, .lr-doc .md-typeset .question>summary:after{color:#64dd17}.lr-doc .md-typeset .admonition.warning, .lr-doc .md-typeset details.warning{border-color:#ff9100}.lr-doc .md-typeset .admonition.warning:focus-within, .lr-doc .md-typeset details.warning:focus-within{box-shadow:0 0 0 .2rem #ff91001a}.lr-doc .md-typeset .warning>.admonition-title, .lr-doc .md-typeset .warning>summary{background-color:#ff91001a}.lr-doc .md-typeset .warning>.admonition-title:before, .lr-doc .md-typeset .warning>summary:before{background-color:#ff9100;-webkit-mask-image:var(--md-admonition-icon--warning);mask-image:var(--md-admonition-icon--warning)}.lr-doc .md-typeset .warning>.admonition-title:after, .lr-doc .md-typeset .warning>summary:after{color:#ff9100}.lr-doc .md-typeset .admonition.failure, .lr-doc .md-typeset details.failure{border-color:#ff5252}.lr-doc .md-typeset .admonition.failure:focus-within, .lr-doc .md-typeset details.failure:focus-within{box-shadow:0 0 0 .2rem #ff52521a}.lr-doc .md-typeset .failure>.admonition-title, .lr-doc .md-typeset .failure>summary{background-color:#ff52521a}.lr-doc .md-typeset .failure>.admonition-title:before, .lr-doc .md-typeset .failure>summary:before{background-color:#ff5252;-webkit-mask-image:var(--md-admonition-icon--failure);mask-image:var(--md-admonition-icon--failure)}.lr-doc .md-typeset .failure>.admonition-title:after, .lr-doc .md-typeset .failure>summary:after{color:#ff5252}.lr-doc .md-typeset .admonition.danger, .lr-doc .md-typeset details.danger{border-color:#ff1744}.lr-doc .md-typeset .admonition.danger:focus-within, .lr-doc .md-typeset details.danger:focus-within{box-shadow:0 0 0 .2rem #ff17441a}.lr-doc .md-typeset .danger>.admonition-title, .lr-doc .md-typeset .danger>summary{background-color:#ff17441a}.lr-doc .md-typeset .danger>.admonition-title:before, .lr-doc .md-typeset .danger>summary:before{background-color:#ff1744;-webkit-mask-image:var(--md-admonition-icon--danger);mask-image:var(--md-admonition-icon--danger)}.lr-doc .md-typeset .danger>.admonition-title:after, .lr-doc .md-typeset .danger>summary:after{color:#ff1744}.lr-doc .md-typeset .admonition.bug, .lr-doc .md-typeset details.bug{border-color:#f50057}.lr-doc .md-typeset .admonition.bug:focus-within, .lr-doc .md-typeset details.bug:focus-within{box-shadow:0 0 0 .2rem #f500571a}.lr-doc .md-typeset .bug>.admonition-title, .lr-doc .md-typeset .bug>summary{background-color:#f500571a}.lr-doc .md-typeset .bug>.admonition-title:before, .lr-doc .md-typeset .bug>summary:before{background-color:#f50057;-webkit-mask-image:var(--md-admonition-icon--bug);mask-image:var(--md-admonition-icon--bug)}.lr-doc .md-typeset .bug>.admonition-title:after, .lr-doc .md-typeset .bug>summary:after{color:#f50057}.lr-doc .md-typeset .admonition.example, .lr-doc .md-typeset details.example{border-color:#7c4dff}.lr-doc .md-typeset .admonition.example:focus-within, .lr-doc .md-typeset details.example:focus-within{box-shadow:0 0 0 .2rem #7c4dff1a}.lr-doc .md-typeset .example>.admonition-title, .lr-doc .md-typeset .example>summary{background-color:#7c4dff1a}.lr-doc .md-typeset .example>.admonition-title:before, .lr-doc .md-typeset .example>summary:before{background-color:#7c4dff;-webkit-mask-image:var(--md-admonition-icon--example);mask-image:var(--md-admonition-icon--example)}.lr-doc .md-typeset .example>.admonition-title:after, .lr-doc .md-typeset .example>summary:after{color:#7c4dff}.lr-doc .md-typeset .admonition.quote, .lr-doc .md-typeset details.quote{border-color:#9e9e9e}.lr-doc .md-typeset .admonition.quote:focus-within, .lr-doc .md-typeset details.quote:focus-within{box-shadow:0 0 0 .2rem #9e9e9e1a}.lr-doc .md-typeset .quote>.admonition-title, .lr-doc .md-typeset .quote>summary{background-color:#9e9e9e1a}.lr-doc .md-typeset .quote>.admonition-title:before, .lr-doc .md-typeset .quote>summary:before{background-color:#9e9e9e;-webkit-mask-image:var(--md-admonition-icon--quote);mask-image:var(--md-admonition-icon--quote)}.lr-doc .md-typeset .quote>.admonition-title:after, .lr-doc .md-typeset .quote>summary:after{color:#9e9e9e}.lr-doc{--md-footnotes-icon:url('data:image\/svg+xml;charset=utf-8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.42L5.83 13H21V7z\"\/><\/svg>')}.lr-doc .md-typeset .footnote{color:var(--md-default-fg-color--light);font-size:.64rem}.lr-doc [dir=ltr] .md-typeset .footnote>ol{margin-left:0}.lr-doc [dir=rtl] .md-typeset .footnote>ol{margin-right:0}.lr-doc .md-typeset .footnote>ol>li{transition:color 125ms}.lr-doc .md-typeset .footnote>ol>li:target{color:var(--md-default-fg-color)}.lr-doc .md-typeset .footnote>ol>li:focus-within .footnote-backref{opacity:1;transform:translateX(0);transition:none}.lr-doc .md-typeset .footnote>ol>li:hover .footnote-backref, .lr-doc .md-typeset .footnote>ol>li:target .footnote-backref{opacity:1;transform:translateX(0)}.lr-doc .md-typeset .footnote>ol>li>:first-child{margin-top:0}.lr-doc .md-typeset .footnote-ref{font-size:.75em;font-weight:700}.lr-doc .md-typeset .footnote-ref{outline-offset:.1rem}.lr-doc .md-typeset [id^=\"fnref:\"]:target>.footnote-ref{outline:auto}.lr-doc .md-typeset .footnote-backref{color:var(--md-typeset-a-color);display:inline-block;font-size:0;opacity:0;transform:translateX(.25rem);transition:color .25s,transform .25s .25s,opacity 125ms .25s;vertical-align:text-bottom}@media print{.lr-doc .md-typeset .footnote-backref{color:var(--md-typeset-a-color);opacity:1;transform:translateX(0)}}.lr-doc [dir=rtl] .md-typeset .footnote-backref{transform:translateX(-.25rem)}.lr-doc .md-typeset .footnote-backref:hover{color:var(--md-accent-fg-color)}.lr-doc .md-typeset .footnote-backref:before{background-color:currentcolor;content:\"\";display:inline-block;height:.8rem;-webkit-mask-image:var(--md-footnotes-icon);mask-image:var(--md-footnotes-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:.8rem}.lr-doc [dir=rtl] .md-typeset .footnote-backref:before{transform:scaleX(-1)}.lr-doc [dir=ltr] .md-typeset .headerlink{margin-left:.5rem}.lr-doc [dir=rtl] .md-typeset .headerlink{margin-right:.5rem}.lr-doc .md-typeset .headerlink{color:var(--md-default-fg-color--lighter);display:inline-block;opacity:0;transition:color .25s,opacity 125ms}@media print{.lr-doc .md-typeset .headerlink{display:none}}.lr-doc .md-typeset .headerlink:focus, .lr-doc .md-typeset :hover>.headerlink, .lr-doc .md-typeset :target>.headerlink{opacity:1;transition:color .25s,opacity 125ms}.lr-doc .md-typeset .headerlink:focus, .lr-doc .md-typeset .headerlink:hover, .lr-doc .md-typeset :target>.headerlink{color:var(--md-accent-fg-color)}.lr-doc .md-typeset :target{--md-scroll-margin:3.6rem;--md-scroll-offset:0rem;scroll-margin-top:calc(var(--md-scroll-margin) - var(--md-scroll-offset))}@media screen and (min-width:76.25em){.lr-doc .md-header--lifted~.md-container .md-typeset :target{--md-scroll-margin:6rem}}.lr-doc .md-typeset h1:target, .lr-doc .md-typeset h2:target, .lr-doc .md-typeset h3:target{--md-scroll-offset:0.2rem}.lr-doc .md-typeset h4:target{--md-scroll-offset:0.15rem}.lr-doc .md-typeset div.arithmatex{overflow:auto}@media screen and (max-width:44.984375em){.lr-doc .md-typeset div.arithmatex{margin:0 -.8rem}.lr-doc .md-typeset div.arithmatex>*{width:min-content}}.lr-doc .md-typeset div.arithmatex>*{margin-left:auto!important;margin-right:auto!important;padding:0 .8rem;touch-action:auto}.lr-doc .md-typeset div.arithmatex>* mjx-container{margin:0!important}.lr-doc .md-typeset div.arithmatex mjx-assistive-mml{height:0}.lr-doc .md-typeset .katex-html svg{max-width:revert}.lr-doc .md-typeset del.critic{background-color:var(--md-typeset-del-color)}.lr-doc .md-typeset del.critic, .lr-doc .md-typeset ins.critic{-webkit-box-decoration-break:clone;box-decoration-break:clone}.lr-doc .md-typeset ins.critic{background-color:var(--md-typeset-ins-color)}.lr-doc .md-typeset .critic.comment{-webkit-box-decoration-break:clone;box-decoration-break:clone;color:var(--md-code-hl-comment-color)}.lr-doc .md-typeset .critic.comment:before{content:\"\/* \"}.lr-doc .md-typeset .critic.comment:after{content:\" *\/\"}.lr-doc .md-typeset .critic.block{box-shadow:none;display:block;margin:1em 0;overflow:auto;padding-left:.8rem;padding-right:.8rem}.lr-doc .md-typeset .critic.block>:first-child{margin-top:.5em}.lr-doc .md-typeset .critic.block>:last-child{margin-bottom:.5em}.lr-doc{--md-details-icon:url('data:image\/svg+xml;charset=utf-8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M8.59 16.58 13.17 12 8.59 7.41 10 6l6 6-6 6z\"\/><\/svg>')}.lr-doc .md-typeset details{display:flow-root;overflow:visible;padding-top:0}.lr-doc .md-typeset details[open]>summary:after{transform:rotate(90deg)}.lr-doc .md-typeset details:not([open]){box-shadow:none;padding-bottom:0}.lr-doc .md-typeset details:not([open])>summary{border-radius:.1rem}.lr-doc [dir=ltr] .md-typeset summary{padding-right:1.8rem}.lr-doc [dir=rtl] .md-typeset summary{padding-left:1.8rem}.lr-doc [dir=ltr] .md-typeset summary{border-top-left-radius:.1rem}.lr-doc [dir=ltr] .md-typeset summary, .lr-doc [dir=rtl] .md-typeset summary{border-top-right-radius:.1rem}.lr-doc [dir=rtl] .md-typeset summary{border-top-left-radius:.1rem}.lr-doc .md-typeset summary{cursor:pointer;display:block;min-height:1rem;overflow:hidden}.lr-doc .md-typeset summary.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.lr-doc .md-typeset summary:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}.lr-doc [dir=ltr] .md-typeset summary:after{right:.4rem}.lr-doc [dir=rtl] .md-typeset summary:after{left:.4rem}.lr-doc .md-typeset summary:after{background-color:currentcolor;content:\"\";height:1rem;-webkit-mask-image:var(--md-details-icon);mask-image:var(--md-details-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:.625em;transform:rotate(0deg);transition:transform .25s;width:1rem}.lr-doc [dir=rtl] .md-typeset summary:after{transform:rotate(180deg)}.lr-doc .md-typeset summary::marker{display:none}.lr-doc .md-typeset summary::-webkit-details-marker{display:none}.lr-doc .md-typeset .emojione, .lr-doc .md-typeset .gemoji, .lr-doc .md-typeset .twemoji{--md-icon-size:1.125em;display:inline-flex;height:var(--md-icon-size);vertical-align:text-top}.lr-doc .md-typeset .emojione svg, .lr-doc .md-typeset .gemoji svg, .lr-doc .md-typeset .twemoji svg{fill:currentcolor;max-height:100%;width:var(--md-icon-size)}.lr-doc .md-typeset .lg, .lr-doc .md-typeset .xl, .lr-doc .md-typeset .xxl, .lr-doc .md-typeset .xxxl{vertical-align:text-bottom}.lr-doc .md-typeset .middle{vertical-align:middle}.lr-doc .md-typeset .lg{--md-icon-size:1.5em}.lr-doc .md-typeset .xl{--md-icon-size:2.25em}.lr-doc .md-typeset .xxl{--md-icon-size:3em}.lr-doc .md-typeset .xxxl{--md-icon-size:4em}.lr-doc .highlight .o, .lr-doc .highlight .ow{color:var(--md-code-hl-operator-color)}.lr-doc .highlight .p{color:var(--md-code-hl-punctuation-color)}.lr-doc .highlight .cpf, .lr-doc .highlight .l, .lr-doc .highlight .s, .lr-doc .highlight .s1, .lr-doc .highlight .s2, .lr-doc .highlight .sb, .lr-doc .highlight .sc, .lr-doc .highlight .si, .lr-doc .highlight .ss{color:var(--md-code-hl-string-color)}.lr-doc .highlight .cp, .lr-doc .highlight .se, .lr-doc .highlight .sh, .lr-doc .highlight .sr, .lr-doc .highlight .sx{color:var(--md-code-hl-special-color)}.lr-doc .highlight .il, .lr-doc .highlight .m, .lr-doc .highlight .mb, .lr-doc .highlight .mf, .lr-doc .highlight .mh, .lr-doc .highlight .mi, .lr-doc .highlight .mo{color:var(--md-code-hl-number-color)}.lr-doc .highlight .k, .lr-doc .highlight .kd, .lr-doc .highlight .kn, .lr-doc .highlight .kp, .lr-doc .highlight .kr, .lr-doc .highlight .kt{color:var(--md-code-hl-keyword-color)}.lr-doc .highlight .kc, .lr-doc .highlight .n{color:var(--md-code-hl-name-color)}.lr-doc .highlight .bp, .lr-doc .highlight .nb, .lr-doc .highlight .no{color:var(--md-code-hl-constant-color)}.lr-doc .highlight .nc, .lr-doc .highlight .ne, .lr-doc .highlight .nf, .lr-doc .highlight .nn{color:var(--md-code-hl-function-color)}.lr-doc .highlight .nd, .lr-doc .highlight .ni, .lr-doc .highlight .nl, .lr-doc .highlight .nt{color:var(--md-code-hl-keyword-color)}.lr-doc .highlight .c, .lr-doc .highlight .c1, .lr-doc .highlight .ch, .lr-doc .highlight .cm, .lr-doc .highlight .cs, .lr-doc .highlight .sd{color:var(--md-code-hl-comment-color)}.lr-doc .highlight .na, .lr-doc .highlight .nv, .lr-doc .highlight .vc, .lr-doc .highlight .vg, .lr-doc .highlight .vi{color:var(--md-code-hl-variable-color)}.lr-doc .highlight .ge, .lr-doc .highlight .gh, .lr-doc .highlight .go, .lr-doc .highlight .gp, .lr-doc .highlight .gr, .lr-doc .highlight .gs, .lr-doc .highlight .gt, .lr-doc .highlight .gu{color:var(--md-code-hl-generic-color)}.lr-doc .highlight .gd, .lr-doc .highlight .gi{border-radius:.1rem;margin:0 -.125em;padding:0 .125em}.lr-doc .highlight .gd{background-color:var(--md-typeset-del-color)}.lr-doc .highlight .gi{background-color:var(--md-typeset-ins-color)}.lr-doc .highlight .hll{background-color:var(--md-code-hl-color--light);box-shadow:2px 0 0 0 var(--md-code-hl-color) inset;display:block;margin:0 -1.1764705882em;padding:0 1.1764705882em}.lr-doc .highlight span.filename{background-color:var(--md-code-bg-color);border-bottom:.05rem solid var(--md-default-fg-color--lightest);border-top-left-radius:.1rem;border-top-right-radius:.1rem;display:flow-root;font-size:.85em;font-weight:700;margin-top:1em;padding:.6617647059em 1.1764705882em;position:relative}.lr-doc .highlight span.filename+pre{margin-top:0}.lr-doc .highlight span.filename+pre>code{border-top-left-radius:0;border-top-right-radius:0}.lr-doc .highlight [data-linenos]:before{background-color:var(--md-code-bg-color);box-shadow:-.05rem 0 var(--md-default-fg-color--lightest) inset;color:var(--md-default-fg-color--light);content:attr(data-linenos);float:left;left:-1.1764705882em;margin-left:-1.1764705882em;margin-right:1.1764705882em;padding-left:1.1764705882em;position:sticky;-webkit-user-select:none;user-select:none;z-index:3}.lr-doc .highlight code a[id]{position:absolute;visibility:hidden}.lr-doc .highlight code[data-md-copying]{display:initial}.lr-doc .highlight code[data-md-copying] .hll{display:contents}.lr-doc .highlight code[data-md-copying] .md-annotation{display:none}.lr-doc .highlighttable{display:flow-root}.lr-doc .highlighttable tbody, .lr-doc .highlighttable td{display:block;padding:0}.lr-doc .highlighttable tr{display:flex}.lr-doc .highlighttable pre{margin:0}.lr-doc .highlighttable th.filename{flex-grow:1;padding:0;text-align:left}.lr-doc .highlighttable th.filename span.filename{margin-top:0}.lr-doc .highlighttable .linenos{background-color:var(--md-code-bg-color);border-bottom-left-radius:.1rem;border-top-left-radius:.1rem;font-size:.85em;padding:.7720588235em 0 .7720588235em 1.1764705882em;-webkit-user-select:none;user-select:none}.lr-doc .highlighttable .linenodiv{box-shadow:-.05rem 0 var(--md-default-fg-color--lightest) inset}.lr-doc .highlighttable .linenodiv pre{color:var(--md-default-fg-color--light);text-align:right}.lr-doc .highlighttable .linenodiv span[class]{padding-right:.5882352941em}.lr-doc .highlighttable .code{flex:1;min-width:0}.lr-doc .linenodiv a{color:inherit}.lr-doc .md-typeset .highlighttable{direction:ltr;margin:1em 0}.lr-doc .md-typeset .highlighttable>tbody>tr>.code>div>pre>code{border-bottom-left-radius:0;border-top-left-radius:0}.lr-doc .md-typeset .highlight+.result{border:.05rem solid var(--md-code-bg-color);border-bottom-left-radius:.1rem;border-bottom-right-radius:.1rem;border-top-width:.1rem;margin-top:-1.125em;overflow:visible;padding:0 1em}.lr-doc .md-typeset .highlight+.result:after{clear:both;content:\"\";display:block}@media screen and (max-width:44.984375em){.lr-doc .md-content__inner>.highlight{margin:1em -.8rem}.lr-doc .md-content__inner>.highlight>.filename, .lr-doc .md-content__inner>.highlight>.highlighttable>tbody>tr>.code>div>pre>code, .lr-doc .md-content__inner>.highlight>.highlighttable>tbody>tr>.filename span.filename, .lr-doc .md-content__inner>.highlight>.highlighttable>tbody>tr>.linenos, .lr-doc .md-content__inner>.highlight>pre>code{border-radius:0}.lr-doc .md-content__inner>.highlight+.result{border-left-width:0;border-radius:0;border-right-width:0;margin-left:-.8rem;margin-right:-.8rem}}.lr-doc .md-typeset .keys kbd:after, .lr-doc .md-typeset .keys kbd:before{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;color:inherit;margin:0;position:relative}.lr-doc .md-typeset .keys span{color:var(--md-default-fg-color--light);padding:0 .2em}.lr-doc .md-typeset .keys .key-alt:before, .lr-doc .md-typeset .keys .key-left-alt:before, .lr-doc .md-typeset .keys .key-right-alt:before{content:\"\u2387\";padding-right:.4em}.lr-doc .md-typeset .keys .key-command:before, .lr-doc .md-typeset .keys .key-left-command:before, .lr-doc .md-typeset .keys .key-right-command:before{content:\"\u2318\";padding-right:.4em}.lr-doc .md-typeset .keys .key-control:before, .lr-doc .md-typeset .keys .key-left-control:before, .lr-doc .md-typeset .keys .key-right-control:before{content:\"\u2303\";padding-right:.4em}.lr-doc .md-typeset .keys .key-left-meta:before, .lr-doc .md-typeset .keys .key-meta:before, .lr-doc .md-typeset .keys .key-right-meta:before{content:\"\u25c6\";padding-right:.4em}.lr-doc .md-typeset .keys .key-left-option:before, .lr-doc .md-typeset .keys .key-option:before, .lr-doc .md-typeset .keys .key-right-option:before{content:\"\u2325\";padding-right:.4em}.lr-doc .md-typeset .keys .key-left-shift:before, .lr-doc .md-typeset .keys .key-right-shift:before, .lr-doc .md-typeset .keys .key-shift:before{content:\"\u21e7\";padding-right:.4em}.lr-doc .md-typeset .keys .key-left-super:before, .lr-doc .md-typeset .keys .key-right-super:before, .lr-doc .md-typeset .keys .key-super:before{content:\"\u2756\";padding-right:.4em}.lr-doc .md-typeset .keys .key-left-windows:before, .lr-doc .md-typeset .keys .key-right-windows:before, .lr-doc .md-typeset .keys .key-windows:before{content:\"\u229e\";padding-right:.4em}.lr-doc .md-typeset .keys .key-arrow-down:before{content:\"\u2193\";padding-right:.4em}.lr-doc .md-typeset .keys .key-arrow-left:before{content:\"\u2190\";padding-right:.4em}.lr-doc .md-typeset .keys .key-arrow-right:before{content:\"\u2192\";padding-right:.4em}.lr-doc .md-typeset .keys .key-arrow-up:before{content:\"\u2191\";padding-right:.4em}.lr-doc .md-typeset .keys .key-backspace:before{content:\"\u232b\";padding-right:.4em}.lr-doc .md-typeset .keys .key-backtab:before{content:\"\u21e4\";padding-right:.4em}.lr-doc .md-typeset .keys .key-caps-lock:before{content:\"\u21ea\";padding-right:.4em}.lr-doc .md-typeset .keys .key-clear:before{content:\"\u2327\";padding-right:.4em}.lr-doc .md-typeset .keys .key-context-menu:before{content:\"\u2630\";padding-right:.4em}.lr-doc .md-typeset .keys .key-delete:before{content:\"\u2326\";padding-right:.4em}.lr-doc .md-typeset .keys .key-eject:before{content:\"\u23cf\";padding-right:.4em}.lr-doc .md-typeset .keys .key-end:before{content:\"\u2913\";padding-right:.4em}.lr-doc .md-typeset .keys .key-escape:before{content:\"\u238b\";padding-right:.4em}.lr-doc .md-typeset .keys .key-home:before{content:\"\u2912\";padding-right:.4em}.lr-doc .md-typeset .keys .key-insert:before{content:\"\u2380\";padding-right:.4em}.lr-doc .md-typeset .keys .key-page-down:before{content:\"\u21df\";padding-right:.4em}.lr-doc .md-typeset .keys .key-page-up:before{content:\"\u21de\";padding-right:.4em}.lr-doc .md-typeset .keys .key-print-screen:before{content:\"\u2399\";padding-right:.4em}.lr-doc .md-typeset .keys .key-tab:after{content:\"\u21e5\";padding-left:.4em}.lr-doc .md-typeset .keys .key-num-enter:after{content:\"\u2324\";padding-left:.4em}.lr-doc .md-typeset .keys .key-enter:after{content:\"\u23ce\";padding-left:.4em}.lr-doc{--md-tabbed-icon--prev:url('data:image\/svg+xml;charset=utf-8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M15.41 16.58 10.83 12l4.58-4.59L14 6l-6 6 6 6z\"\/><\/svg>');--md-tabbed-icon--next:url('data:image\/svg+xml;charset=utf-8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M8.59 16.58 13.17 12 8.59 7.41 10 6l6 6-6 6z\"\/><\/svg>')}.lr-doc .md-typeset .tabbed-set{border-radius:.1rem;display:flex;flex-flow:column wrap;margin:1em 0;position:relative}.lr-doc .md-typeset .tabbed-set>input{height:0;opacity:0;position:absolute;width:0}.lr-doc .md-typeset .tabbed-set>input:target{--md-scroll-offset:0.625em}.lr-doc .md-typeset .tabbed-set>input.focus-visible~.tabbed-labels:before{background-color:var(--md-accent-fg-color)}.lr-doc .md-typeset .tabbed-labels{-ms-overflow-style:none;box-shadow:0 -.05rem var(--md-default-fg-color--lightest) inset;display:flex;max-width:100%;overflow:auto;scrollbar-width:none}@media print{.lr-doc .md-typeset .tabbed-labels{display:contents}}@media screen{.lr-doc .js .md-typeset .tabbed-labels{position:relative}.lr-doc .js .md-typeset .tabbed-labels:before{background:var(--md-default-fg-color);bottom:0;content:\"\";display:block;height:2px;left:0;position:absolute;transform:translateX(var(--md-indicator-x));transition:width 225ms,background-color .25s,transform .25s;transition-timing-function:cubic-bezier(.4,0,.2,1);width:var(--md-indicator-width)}}.lr-doc .md-typeset .tabbed-labels::-webkit-scrollbar{display:none}.lr-doc .md-typeset .tabbed-labels>label{border-bottom:.1rem solid #0000;border-radius:.1rem .1rem 0 0;color:var(--md-default-fg-color--light);cursor:pointer;flex-shrink:0;font-size:.64rem;font-weight:700;padding:.78125em 1.25em .625em;scroll-margin-inline-start:1rem;transition:background-color .25s,color .25s;white-space:nowrap;width:auto}@media print{.lr-doc .md-typeset .tabbed-labels>label:first-child{order:1}.lr-doc .md-typeset .tabbed-labels>label:nth-child(2){order:2}.lr-doc .md-typeset .tabbed-labels>label:nth-child(3){order:3}.lr-doc .md-typeset .tabbed-labels>label:nth-child(4){order:4}.lr-doc .md-typeset .tabbed-labels>label:nth-child(5){order:5}.lr-doc .md-typeset .tabbed-labels>label:nth-child(6){order:6}.lr-doc .md-typeset .tabbed-labels>label:nth-child(7){order:7}.lr-doc .md-typeset .tabbed-labels>label:nth-child(8){order:8}.lr-doc .md-typeset .tabbed-labels>label:nth-child(9){order:9}.lr-doc .md-typeset .tabbed-labels>label:nth-child(10){order:10}.lr-doc .md-typeset .tabbed-labels>label:nth-child(11){order:11}.lr-doc .md-typeset .tabbed-labels>label:nth-child(12){order:12}.lr-doc .md-typeset .tabbed-labels>label:nth-child(13){order:13}.lr-doc .md-typeset .tabbed-labels>label:nth-child(14){order:14}.lr-doc .md-typeset .tabbed-labels>label:nth-child(15){order:15}.lr-doc .md-typeset .tabbed-labels>label:nth-child(16){order:16}.lr-doc .md-typeset .tabbed-labels>label:nth-child(17){order:17}.lr-doc .md-typeset .tabbed-labels>label:nth-child(18){order:18}.lr-doc .md-typeset .tabbed-labels>label:nth-child(19){order:19}.lr-doc .md-typeset .tabbed-labels>label:nth-child(20){order:20}}.lr-doc .md-typeset .tabbed-labels>label:hover{color:var(--md-default-fg-color)}.lr-doc .md-typeset .tabbed-labels>label>[href]:first-child{color:inherit}.lr-doc .md-typeset .tabbed-labels--linked>label{padding:0}.lr-doc .md-typeset .tabbed-labels--linked>label>a{display:block;padding:.78125em 1.25em .625em}.lr-doc .md-typeset .tabbed-content{width:100%}@media print{.lr-doc .md-typeset .tabbed-content{display:contents}}.lr-doc .md-typeset .tabbed-block{display:none}@media print{.lr-doc .md-typeset .tabbed-block{display:block}.lr-doc .md-typeset .tabbed-block:first-child{order:1}.lr-doc .md-typeset .tabbed-block:nth-child(2){order:2}.lr-doc .md-typeset .tabbed-block:nth-child(3){order:3}.lr-doc .md-typeset .tabbed-block:nth-child(4){order:4}.lr-doc .md-typeset .tabbed-block:nth-child(5){order:5}.lr-doc .md-typeset .tabbed-block:nth-child(6){order:6}.lr-doc .md-typeset .tabbed-block:nth-child(7){order:7}.lr-doc .md-typeset .tabbed-block:nth-child(8){order:8}.lr-doc .md-typeset .tabbed-block:nth-child(9){order:9}.lr-doc .md-typeset .tabbed-block:nth-child(10){order:10}.lr-doc .md-typeset .tabbed-block:nth-child(11){order:11}.lr-doc .md-typeset .tabbed-block:nth-child(12){order:12}.lr-doc .md-typeset .tabbed-block:nth-child(13){order:13}.lr-doc .md-typeset .tabbed-block:nth-child(14){order:14}.lr-doc .md-typeset .tabbed-block:nth-child(15){order:15}.lr-doc .md-typeset .tabbed-block:nth-child(16){order:16}.lr-doc .md-typeset .tabbed-block:nth-child(17){order:17}.lr-doc .md-typeset .tabbed-block:nth-child(18){order:18}.lr-doc .md-typeset .tabbed-block:nth-child(19){order:19}.lr-doc .md-typeset .tabbed-block:nth-child(20){order:20}}.lr-doc .md-typeset .tabbed-block>.highlight:first-child>pre, .lr-doc .md-typeset .tabbed-block>pre:first-child{margin:0}.lr-doc .md-typeset .tabbed-block>.highlight:first-child>pre>code, .lr-doc .md-typeset .tabbed-block>pre:first-child>code{border-top-left-radius:0;border-top-right-radius:0}.lr-doc .md-typeset .tabbed-block>.highlight:first-child>.filename{border-top-left-radius:0;border-top-right-radius:0;margin:0}.lr-doc .md-typeset .tabbed-block>.highlight:first-child>.highlighttable{margin:0}.lr-doc .md-typeset .tabbed-block>.highlight:first-child>.highlighttable>tbody>tr>.filename span.filename, .lr-doc .md-typeset .tabbed-block>.highlight:first-child>.highlighttable>tbody>tr>.linenos{border-top-left-radius:0;border-top-right-radius:0;margin:0}.lr-doc .md-typeset .tabbed-block>.highlight:first-child>.highlighttable>tbody>tr>.code>div>pre>code{border-top-left-radius:0;border-top-right-radius:0}.lr-doc .md-typeset .tabbed-block>.highlight:first-child+.result{margin-top:-.125em}.lr-doc .md-typeset .tabbed-block>.tabbed-set{margin:0}.lr-doc .md-typeset .tabbed-button{align-self:center;border-radius:100%;color:var(--md-default-fg-color--light);cursor:pointer;display:block;height:.9rem;margin-top:.1rem;pointer-events:auto;transition:background-color .25s;width:.9rem}.lr-doc .md-typeset .tabbed-button:hover{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.lr-doc .md-typeset .tabbed-button:after{background-color:currentcolor;content:\"\";display:block;height:100%;-webkit-mask-image:var(--md-tabbed-icon--prev);mask-image:var(--md-tabbed-icon--prev);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:background-color .25s,transform .25s;width:100%}.lr-doc .md-typeset .tabbed-control{background:linear-gradient(to right,var(--md-default-bg-color) 60%,#0000);display:flex;height:1.9rem;justify-content:start;pointer-events:none;position:absolute;transition:opacity 125ms;width:1.2rem}.lr-doc [dir=rtl] .md-typeset .tabbed-control{transform:rotate(180deg)}.lr-doc .md-typeset .tabbed-control[hidden]{opacity:0}.lr-doc .md-typeset .tabbed-control--next{background:linear-gradient(to left,var(--md-default-bg-color) 60%,#0000);justify-content:end;right:0}.lr-doc .md-typeset .tabbed-control--next .tabbed-button:after{-webkit-mask-image:var(--md-tabbed-icon--next);mask-image:var(--md-tabbed-icon--next)}@media screen and (max-width:44.984375em){.lr-doc [dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels{padding-left:.8rem}.lr-doc [dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels{padding-right:.8rem}.lr-doc .md-content__inner>.tabbed-set .tabbed-labels{margin:0 -.8rem;max-width:100vw;scroll-padding-inline-start:.8rem}.lr-doc [dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels:after{padding-right:.8rem}.lr-doc [dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels:after{padding-left:.8rem}.lr-doc .md-content__inner>.tabbed-set .tabbed-labels:after{content:\"\"}.lr-doc [dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{padding-left:.8rem}.lr-doc [dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{padding-right:.8rem}.lr-doc [dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{margin-left:-.8rem}.lr-doc [dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{margin-right:-.8rem}.lr-doc .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{width:2rem}.lr-doc [dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{padding-right:.8rem}.lr-doc [dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{padding-left:.8rem}.lr-doc [dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{margin-right:-.8rem}.lr-doc [dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{margin-left:-.8rem}.lr-doc .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{width:2rem}}@media screen{.lr-doc .md-typeset .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child, .lr-doc .md-typeset .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10), .lr-doc .md-typeset .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11), .lr-doc .md-typeset .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12), .lr-doc .md-typeset .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13), .lr-doc .md-typeset .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14), .lr-doc .md-typeset .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15), .lr-doc .md-typeset .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16), .lr-doc .md-typeset .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17), .lr-doc .md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18), .lr-doc .md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19), .lr-doc .md-typeset .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2), .lr-doc .md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20), .lr-doc .md-typeset .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3), .lr-doc .md-typeset .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4), .lr-doc .md-typeset .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5), .lr-doc .md-typeset .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6), .lr-doc .md-typeset .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7), .lr-doc .md-typeset .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8), .lr-doc .md-typeset .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9){color:var(--md-default-fg-color)}.lr-doc .md-typeset .no-js .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child, .lr-doc .md-typeset .no-js .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10), .lr-doc .md-typeset .no-js .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11), .lr-doc .md-typeset .no-js .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12), .lr-doc .md-typeset .no-js .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13), .lr-doc .md-typeset .no-js .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14), .lr-doc .md-typeset .no-js .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15), .lr-doc .md-typeset .no-js .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16), .lr-doc .md-typeset .no-js .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17), .lr-doc .md-typeset .no-js .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18), .lr-doc .md-typeset .no-js .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19), .lr-doc .md-typeset .no-js .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2), .lr-doc .md-typeset .no-js .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20), .lr-doc .md-typeset .no-js .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3), .lr-doc .md-typeset .no-js .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4), .lr-doc .md-typeset .no-js .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5), .lr-doc .md-typeset .no-js .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6), .lr-doc .md-typeset .no-js .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7), .lr-doc .md-typeset .no-js .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8), .lr-doc .md-typeset .no-js .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9), .lr-doc .md-typeset [role=dialog] .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child, .lr-doc .md-typeset [role=dialog] .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10), .lr-doc .md-typeset [role=dialog] .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11), .lr-doc .md-typeset [role=dialog] .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12), .lr-doc .md-typeset [role=dialog] .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13), .lr-doc .md-typeset [role=dialog] .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14), .lr-doc .md-typeset [role=dialog] .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15), .lr-doc .md-typeset [role=dialog] .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16), .lr-doc .md-typeset [role=dialog] .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17), .lr-doc .md-typeset [role=dialog] .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18), .lr-doc .md-typeset [role=dialog] .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19), .lr-doc .md-typeset [role=dialog] .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2), .lr-doc .md-typeset [role=dialog] .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20), .lr-doc .md-typeset [role=dialog] .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3), .lr-doc .md-typeset [role=dialog] .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4), .lr-doc .md-typeset [role=dialog] .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5), .lr-doc .md-typeset [role=dialog] .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6), .lr-doc .md-typeset [role=dialog] .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7), .lr-doc .md-typeset [role=dialog] .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8), .lr-doc .md-typeset [role=dialog] .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9), .lr-doc .no-js .md-typeset .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child, .lr-doc .no-js .md-typeset .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10), .lr-doc .no-js .md-typeset .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11), .lr-doc .no-js .md-typeset .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12), .lr-doc .no-js .md-typeset .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13), .lr-doc .no-js .md-typeset .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14), .lr-doc .no-js .md-typeset .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15), .lr-doc .no-js .md-typeset .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16), .lr-doc .no-js .md-typeset .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17), .lr-doc .no-js .md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18), .lr-doc .no-js .md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19), .lr-doc .no-js .md-typeset .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2), .lr-doc .no-js .md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20), .lr-doc .no-js .md-typeset .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3), .lr-doc .no-js .md-typeset .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4), .lr-doc .no-js .md-typeset .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5), .lr-doc .no-js .md-typeset .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6), .lr-doc .no-js .md-typeset .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7), .lr-doc .no-js .md-typeset .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8), .lr-doc .no-js .md-typeset .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9), .lr-doc [role=dialog] .md-typeset .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child, .lr-doc [role=dialog] .md-typeset .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10), .lr-doc [role=dialog] .md-typeset .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11), .lr-doc [role=dialog] .md-typeset .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12), .lr-doc [role=dialog] .md-typeset .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13), .lr-doc [role=dialog] .md-typeset .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14), .lr-doc [role=dialog] .md-typeset .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15), .lr-doc [role=dialog] .md-typeset .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16), .lr-doc [role=dialog] .md-typeset .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17), .lr-doc [role=dialog] .md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18), .lr-doc [role=dialog] .md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19), .lr-doc [role=dialog] .md-typeset .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2), .lr-doc [role=dialog] .md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20), .lr-doc [role=dialog] .md-typeset .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3), .lr-doc [role=dialog] .md-typeset .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4), .lr-doc [role=dialog] .md-typeset .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5), .lr-doc [role=dialog] .md-typeset .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6), .lr-doc [role=dialog] .md-typeset .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7), .lr-doc [role=dialog] .md-typeset .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8), .lr-doc [role=dialog] .md-typeset .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9){border-color:var(--md-default-fg-color)}}.lr-doc .md-typeset .tabbed-set>input:first-child.focus-visible~.tabbed-labels>:first-child, .lr-doc .md-typeset .tabbed-set>input:nth-child(10).focus-visible~.tabbed-labels>:nth-child(10), .lr-doc .md-typeset .tabbed-set>input:nth-child(11).focus-visible~.tabbed-labels>:nth-child(11), .lr-doc .md-typeset .tabbed-set>input:nth-child(12).focus-visible~.tabbed-labels>:nth-child(12), .lr-doc .md-typeset .tabbed-set>input:nth-child(13).focus-visible~.tabbed-labels>:nth-child(13), .lr-doc .md-typeset .tabbed-set>input:nth-child(14).focus-visible~.tabbed-labels>:nth-child(14), .lr-doc .md-typeset .tabbed-set>input:nth-child(15).focus-visible~.tabbed-labels>:nth-child(15), .lr-doc .md-typeset .tabbed-set>input:nth-child(16).focus-visible~.tabbed-labels>:nth-child(16), .lr-doc .md-typeset .tabbed-set>input:nth-child(17).focus-visible~.tabbed-labels>:nth-child(17), .lr-doc .md-typeset .tabbed-set>input:nth-child(18).focus-visible~.tabbed-labels>:nth-child(18), .lr-doc .md-typeset .tabbed-set>input:nth-child(19).focus-visible~.tabbed-labels>:nth-child(19), .lr-doc .md-typeset .tabbed-set>input:nth-child(2).focus-visible~.tabbed-labels>:nth-child(2), .lr-doc .md-typeset .tabbed-set>input:nth-child(20).focus-visible~.tabbed-labels>:nth-child(20), .lr-doc .md-typeset .tabbed-set>input:nth-child(3).focus-visible~.tabbed-labels>:nth-child(3), .lr-doc .md-typeset .tabbed-set>input:nth-child(4).focus-visible~.tabbed-labels>:nth-child(4), .lr-doc .md-typeset .tabbed-set>input:nth-child(5).focus-visible~.tabbed-labels>:nth-child(5), .lr-doc .md-typeset .tabbed-set>input:nth-child(6).focus-visible~.tabbed-labels>:nth-child(6), .lr-doc .md-typeset .tabbed-set>input:nth-child(7).focus-visible~.tabbed-labels>:nth-child(7), .lr-doc .md-typeset .tabbed-set>input:nth-child(8).focus-visible~.tabbed-labels>:nth-child(8), .lr-doc .md-typeset .tabbed-set>input:nth-child(9).focus-visible~.tabbed-labels>:nth-child(9){color:var(--md-accent-fg-color)}.lr-doc .md-typeset .tabbed-set>input:first-child:checked~.tabbed-content>:first-child, .lr-doc .md-typeset .tabbed-set>input:nth-child(10):checked~.tabbed-content>:nth-child(10), .lr-doc .md-typeset .tabbed-set>input:nth-child(11):checked~.tabbed-content>:nth-child(11), .lr-doc .md-typeset .tabbed-set>input:nth-child(12):checked~.tabbed-content>:nth-child(12), .lr-doc .md-typeset .tabbed-set>input:nth-child(13):checked~.tabbed-content>:nth-child(13), .lr-doc .md-typeset .tabbed-set>input:nth-child(14):checked~.tabbed-content>:nth-child(14), .lr-doc .md-typeset .tabbed-set>input:nth-child(15):checked~.tabbed-content>:nth-child(15), .lr-doc .md-typeset .tabbed-set>input:nth-child(16):checked~.tabbed-content>:nth-child(16), .lr-doc .md-typeset .tabbed-set>input:nth-child(17):checked~.tabbed-content>:nth-child(17), .lr-doc .md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-content>:nth-child(18), .lr-doc .md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-content>:nth-child(19), .lr-doc .md-typeset .tabbed-set>input:nth-child(2):checked~.tabbed-content>:nth-child(2), .lr-doc .md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-content>:nth-child(20), .lr-doc .md-typeset .tabbed-set>input:nth-child(3):checked~.tabbed-content>:nth-child(3), .lr-doc .md-typeset .tabbed-set>input:nth-child(4):checked~.tabbed-content>:nth-child(4), .lr-doc .md-typeset .tabbed-set>input:nth-child(5):checked~.tabbed-content>:nth-child(5), .lr-doc .md-typeset .tabbed-set>input:nth-child(6):checked~.tabbed-content>:nth-child(6), .lr-doc .md-typeset .tabbed-set>input:nth-child(7):checked~.tabbed-content>:nth-child(7), .lr-doc .md-typeset .tabbed-set>input:nth-child(8):checked~.tabbed-content>:nth-child(8), .lr-doc .md-typeset .tabbed-set>input:nth-child(9):checked~.tabbed-content>:nth-child(9){display:block}.lr-doc{--md-tasklist-icon:url('data:image\/svg+xml;charset=utf-8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12m16.28-2.72a.75.75 0 0 0-.018-1.042.75.75 0 0 0-1.042-.018l-5.97 5.97-2.47-2.47a.75.75 0 0 0-1.042.018.75.75 0 0 0-.018 1.042l3 3a.75.75 0 0 0 1.06 0Z\"\/><\/svg>');--md-tasklist-icon--checked:url('data:image\/svg+xml;charset=utf-8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12m16.28-2.72a.75.75 0 0 0-.018-1.042.75.75 0 0 0-1.042-.018l-5.97 5.97-2.47-2.47a.75.75 0 0 0-1.042.018.75.75 0 0 0-.018 1.042l3 3a.75.75 0 0 0 1.06 0Z\"\/><\/svg>')}.lr-doc .md-typeset .task-list-item{list-style-type:none;position:relative}.lr-doc [dir=ltr] .md-typeset .task-list-item [type=checkbox]{left:-2em}.lr-doc [dir=rtl] .md-typeset .task-list-item [type=checkbox]{right:-2em}.lr-doc .md-typeset .task-list-item [type=checkbox]{position:absolute;top:.45em}.lr-doc .md-typeset .task-list-control [type=checkbox]{opacity:0;z-index:-1}.lr-doc [dir=ltr] .md-typeset .task-list-indicator:before{left:-1.5em}.lr-doc [dir=rtl] .md-typeset .task-list-indicator:before{right:-1.5em}.lr-doc .md-typeset .task-list-indicator:before{background-color:var(--md-default-fg-color--lightest);content:\"\";height:1.25em;-webkit-mask-image:var(--md-tasklist-icon);mask-image:var(--md-tasklist-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:.15em;width:1.25em}.lr-doc .md-typeset [type=checkbox]:checked+.task-list-indicator:before{background-color:#00e676;-webkit-mask-image:var(--md-tasklist-icon--checked);mask-image:var(--md-tasklist-icon--checked)}@media print{.lr-doc .giscus, .lr-doc [id=__comments]{display:none}}.lr-doc>*{--md-mermaid-font-family:var(--md-text-font-family),sans-serif;--md-mermaid-edge-color:var(--md-code-fg-color);--md-mermaid-node-bg-color:var(--md-accent-fg-color--transparent);--md-mermaid-node-fg-color:var(--md-accent-fg-color);--md-mermaid-label-bg-color:var(--md-default-bg-color);--md-mermaid-label-fg-color:var(--md-code-fg-color);--md-mermaid-sequence-actor-bg-color:var(--md-mermaid-label-bg-color);--md-mermaid-sequence-actor-fg-color:var(--md-mermaid-label-fg-color);--md-mermaid-sequence-actor-border-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-actor-line-color:var(--md-default-fg-color--lighter);--md-mermaid-sequence-actorman-bg-color:var(--md-mermaid-label-bg-color);--md-mermaid-sequence-actorman-line-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-box-bg-color:var(--md-mermaid-node-bg-color);--md-mermaid-sequence-box-fg-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-label-bg-color:var(--md-mermaid-node-bg-color);--md-mermaid-sequence-label-fg-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-loop-bg-color:var(--md-mermaid-node-bg-color);--md-mermaid-sequence-loop-fg-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-loop-border-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-message-fg-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-message-line-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-note-bg-color:var(--md-mermaid-label-bg-color);--md-mermaid-sequence-note-fg-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-note-border-color:var(--md-mermaid-label-fg-color);--md-mermaid-sequence-number-bg-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-number-fg-color:var(--md-accent-bg-color)}.lr-doc .mermaid{line-height:normal;margin:1em 0}.lr-doc .md-typeset .grid{grid-gap:.4rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));margin:1em 0}.lr-doc .md-typeset .grid.cards>ol, .lr-doc .md-typeset .grid.cards>ul{display:contents}.lr-doc .md-typeset .grid.cards>ol>li, .lr-doc .md-typeset .grid.cards>ul>li, .lr-doc .md-typeset .grid>.card{border:.05rem solid var(--md-default-fg-color--lightest);border-radius:.1rem;display:block;margin:0;padding:.8rem;transition:border .25s,box-shadow .25s}.lr-doc .md-typeset .grid.cards>ol>li:focus-within, .lr-doc .md-typeset .grid.cards>ol>li:hover, .lr-doc .md-typeset .grid.cards>ul>li:focus-within, .lr-doc .md-typeset .grid.cards>ul>li:hover, .lr-doc .md-typeset .grid>.card:focus-within, .lr-doc .md-typeset .grid>.card:hover{border-color:#0000;box-shadow:var(--md-shadow-z2)}.lr-doc .md-typeset .grid.cards>ol>li>hr, .lr-doc .md-typeset .grid.cards>ul>li>hr, .lr-doc .md-typeset .grid>.card>hr{margin-bottom:1em;margin-top:1em}.lr-doc .md-typeset .grid.cards>ol>li>:first-child, .lr-doc .md-typeset .grid.cards>ul>li>:first-child, .lr-doc .md-typeset .grid>.card>:first-child{margin-top:0}.lr-doc .md-typeset .grid.cards>ol>li>:last-child, .lr-doc .md-typeset .grid.cards>ul>li>:last-child, .lr-doc .md-typeset .grid>.card>:last-child{margin-bottom:0}.lr-doc .md-typeset .grid>*, .lr-doc .md-typeset .grid>.admonition, .lr-doc .md-typeset .grid>.highlight>*, .lr-doc .md-typeset .grid>.highlighttable, .lr-doc .md-typeset .grid>.md-typeset details, .lr-doc .md-typeset .grid>details, .lr-doc .md-typeset .grid>pre{margin-bottom:0;margin-top:0}.lr-doc .md-typeset .grid>.highlight>pre:only-child, .lr-doc .md-typeset .grid>.highlight>pre>code, .lr-doc .md-typeset .grid>.highlighttable, .lr-doc .md-typeset .grid>.highlighttable>tbody, .lr-doc .md-typeset .grid>.highlighttable>tbody>tr, .lr-doc .md-typeset .grid>.highlighttable>tbody>tr>.code, .lr-doc .md-typeset .grid>.highlighttable>tbody>tr>.code>.highlight, .lr-doc .md-typeset .grid>.highlighttable>tbody>tr>.code>.highlight>pre, .lr-doc .md-typeset .grid>.highlighttable>tbody>tr>.code>.highlight>pre>code{height:100%}.lr-doc .md-typeset .grid>.tabbed-set{margin-bottom:0;margin-top:0}@media screen and (min-width:45em){.lr-doc [dir=ltr] .md-typeset .inline{float:left}.lr-doc [dir=rtl] .md-typeset .inline{float:right}.lr-doc [dir=ltr] .md-typeset .inline{margin-right:.8rem}.lr-doc [dir=rtl] .md-typeset .inline{margin-left:.8rem}.lr-doc .md-typeset .inline{margin-bottom:.8rem;margin-top:0;width:11.7rem}.lr-doc [dir=ltr] .md-typeset .inline.end{float:right}.lr-doc [dir=rtl] .md-typeset .inline.end{float:left}.lr-doc [dir=ltr] .md-typeset .inline.end{margin-left:.8rem;margin-right:0}.lr-doc [dir=rtl] .md-typeset .inline.end{margin-left:0;margin-right:.8rem}}\n<\/style>\n\n<style>\n@font-face{\n  font-family: 'Roboto';\n  font-style: italic;\n  font-weight: 300;\n  font-stretch: normal;\n  font-display: fallback;\n  src: url(https:\/\/fonts.gstatic.com\/s\/roboto\/v51\/KFOKCnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmOClHrs6ljXfMMLt_QuAj-lg.ttf) format('truetype');\n}\n@font-face{\n  font-family: 'Roboto';\n  font-style: italic;\n  font-weight: 400;\n  font-stretch: normal;\n  font-display: fallback;\n  src: url(https:\/\/fonts.gstatic.com\/s\/roboto\/v51\/KFOKCnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmOClHrs6ljXfMMLoHQuAj-lg.ttf) format('truetype');\n}\n@font-face{\n  font-family: 'Roboto';\n  font-style: italic;\n  font-weight: 700;\n  font-stretch: normal;\n  font-display: fallback;\n  src: url(https:\/\/fonts.gstatic.com\/s\/roboto\/v51\/KFOKCnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmOClHrs6ljXfMMLmbXuAj-lg.ttf) format('truetype');\n}\n@font-face{\n  font-family: 'Roboto';\n  font-style: normal;\n  font-weight: 300;\n  font-stretch: normal;\n  font-display: fallback;\n  src: url(https:\/\/fonts.gstatic.com\/s\/roboto\/v51\/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuaabVmUiA8.ttf) format('truetype');\n}\n@font-face{\n  font-family: 'Roboto';\n  font-style: normal;\n  font-weight: 400;\n  font-stretch: normal;\n  font-display: fallback;\n  src: url(https:\/\/fonts.gstatic.com\/s\/roboto\/v51\/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVmUiA8.ttf) format('truetype');\n}\n@font-face{\n  font-family: 'Roboto';\n  font-style: normal;\n  font-weight: 700;\n  font-stretch: normal;\n  font-display: fallback;\n  src: url(https:\/\/fonts.gstatic.com\/s\/roboto\/v51\/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuYjalmUiA8.ttf) format('truetype');\n}\n@font-face{\n  font-family: 'Roboto Mono';\n  font-style: italic;\n  font-weight: 400;\n  font-display: fallback;\n  src: url(https:\/\/fonts.gstatic.com\/s\/robotomono\/v31\/L0xoDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnANW6Cpw.ttf) format('truetype');\n}\n@font-face{\n  font-family: 'Roboto Mono';\n  font-style: italic;\n  font-weight: 700;\n  font-display: fallback;\n  src: url(https:\/\/fonts.gstatic.com\/s\/robotomono\/v31\/L0xoDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrmAB9W6Cpw.ttf) format('truetype');\n}\n@font-face{\n  font-family: 'Roboto Mono';\n  font-style: normal;\n  font-weight: 400;\n  font-display: fallback;\n  src: url(https:\/\/fonts.gstatic.com\/s\/robotomono\/v31\/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vq_ROW9.ttf) format('truetype');\n}\n@font-face{\n  font-family: 'Roboto Mono';\n  font-style: normal;\n  font-weight: 700;\n  font-display: fallback;\n  src: url(https:\/\/fonts.gstatic.com\/s\/robotomono\/v31\/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_Of2_ROW9.ttf) format('truetype');\n}\n\n<\/style>\n\n<style>\n.lr-doc \/* =========================\n   LightREST - CSS (clean v3)\n   ========================= *\/\n\n\/* ===== Layout (largeur contenu) ===== *\/\n.md-grid{\n  max-width: min(90vw, 110rem);\n}.lr-doc \/* ===== Sidebar (lisibilit\u00e9 + indentation) ===== *\/\n.md-sidebar .md-nav__title{\n  font-weight: 700;\n  letter-spacing: .02em;\n  padding-left: 0 !important;\n}.lr-doc .md-sidebar .md-nav__item--section > .md-nav__link{\n  font-weight: 700;\n  text-transform: uppercase;\n  font-size: .78rem;\n  opacity: .85;\n  padding-left: 0 !important;\n}.lr-doc .md-sidebar .md-nav__link{\n  padding: .25rem 0 .25rem 1.25rem !important;\n  text-decoration: none;\n}.lr-doc .md-sidebar .md-nav__link--active{\n  font-weight: 700;\n  border-left: 3px solid #004080;\n}.lr-doc .md-sidebar .md-nav__link--active .md-ellipsis{\n  color: #004080;\n}.lr-doc \/* ===== Liens du contenu : noirs + soulignement pointill\u00e9 (hors menus) ===== *\/\n.md-content .md-typeset a, .lr-doc .md-content .md-typeset a:visited{\n  color: #111827 !important;\n  text-decoration-line: underline !important;\n  text-decoration-style: dotted !important;\n  text-decoration-thickness: 1px !important;\n  text-underline-offset: .18em !important;\n}.lr-doc .md-content .md-typeset a:hover{\n  color: #000000 !important;\n  background: rgba(0,0,0,.04);\n  border-radius: 3px;\n}.lr-doc .md-content .md-typeset a:focus-visible{\n  outline: 2px dotted #111827;\n  outline-offset: 2px;\n}.lr-doc \/* Exclusions menus *\/\n.md-nav a, .lr-doc .md-header a, .lr-doc .md-tabs a, .lr-doc .md-footer a{\n  color: inherit !important;\n  text-decoration: none !important;\n  background: transparent !important;\n  border-radius: 0 !important;\n}.lr-doc \/* ===== Polices code ===== *\/\n.md-typeset code, .lr-doc .md-typeset pre{\n  font-family: \"Lucida Console\", \"Consolas\", \"Courier New\", monospace;\n}.lr-doc \/* Code standard (gris clair) *\/\n.md-typeset pre{\n  background-color: #f3f4f6;\n  color: #1f2937;\n  border-radius: 2px;\n}.lr-doc \/* ===== Highlight dans les blocs code (exemples) ===== *\/\n.md-typeset pre > code .lr-hl{\n  color: #ffd54a;\n  font-weight: 700;\n  background: rgba(255, 213, 74, 0.12);\n  border-radius: 3px;\n  padding: 0 .15em;\n}.lr-doc \/* ===== Prototypage (HTML <pre>) ===== *\/\n.md-typeset pre.lr-proto{\n  background-color: #f3f4f6;\n  color: #1f2937;\n  border-radius: 8px;\n  padding: .6rem .8rem;\n  overflow-x: auto;\n  overflow-y: hidden;\n  white-space: pre;\n  max-width: 100%;\n  display: block;\n}.lr-doc \/* ===== Tables globales ===== *\/\n.md-typeset table{\n  border: 1px solid rgba(0,0,0,.12);\n  border-collapse: collapse;\n  width: 100%;\n  table-layout: fixed;\n  background: transparent !important; \/* pas de gris *\/\n}.lr-doc .md-typeset table th, .lr-doc .md-typeset table td{\n  border-bottom: 1px solid rgba(0,0,0,.12);\n  padding: .6rem .8rem;\n  vertical-align: top;\n}.lr-doc .md-typeset table thead th{\n  font-weight: 700;\n  background: transparent !important; \/* pas de gris *\/\n  border-bottom: 2px solid rgba(0,0,0,.12) !important;\n}.lr-doc \/* Wrappers Material autour des tables *\/\n.md-typeset .md-typeset__scrollwrap, .lr-doc .md-typeset .md-typeset__table{\n  width: 100% !important;\n  max-width: 100% !important;\n}.lr-doc \/* Tables membres\/constantes : NOM plus gros + code sans fond *\/\n.md-typeset table td:first-child code{\n  font-size: 0.70rem !important;\n  font-weight: 500 !important;\n  background: transparent !important;\n  padding: 0 !important;\n  border-radius: 0 !important;\n}.lr-doc \/* ===== Cartes de sections (lr-secwrap) ===== *\/\n.md-typeset .lr-secwrap{\n  margin: 1.1rem 0 !important;\n  border: 1px solid rgba(0,0,0,.12) !important;\n  border-radius: 12px !important;\n  overflow: hidden !important;\n  background: #fff !important;\n}.lr-doc .md-typeset .lr-secwrap .lr-sec{\n  margin: 0 !important;\n  padding: .60rem 1rem !important;\n  font-weight: 900 !important;\n  border-bottom: 1px solid rgba(0,0,0,.10) !important;\n  background: #f3f4f6 !important;\n}.lr-doc .md-typeset .lr-secwrap .lr-secbody{\n  padding: .65rem .9rem !important;\n}.lr-doc \/* \u00c9vite le double cadre : la carte porte la bordure, .lr-doc pas la table *\/\n.md-typeset .lr-secwrap .lr-secbody table{\n  margin: 0 !important;\n  border: 0 !important;\n  width: 100% !important;\n  background: transparent !important;\n}.lr-doc .md-typeset .lr-secwrap .lr-secbody .md-typeset__scrollwrap, .lr-doc .md-typeset .lr-secwrap .lr-secbody .md-typeset__table{\n  margin: 0 !important;\n}.lr-doc .md-typeset .lr-secwrap .lr-secbody .md-typeset__scrollwrap table, .lr-doc .md-typeset .lr-secwrap .lr-secbody .md-typeset__table table{\n  border: 0 !important;\n  margin: 0 !important;\n}.lr-doc \/* Couleurs par section *\/\n.md-typeset .lr-secwrap-proto{ border-left: 7px solid rgba(107,114,128,.85) !important; }.lr-doc .md-typeset .lr-secwrap-proto .lr-sec{ background: rgba(107,114,128,.10) !important; }.lr-doc .md-typeset .lr-secwrap-params{ border-left: 7px solid rgba(0,64,128,.90) !important; }.lr-doc .md-typeset .lr-secwrap-params .lr-sec{ background: rgba(0,64,128,.08) !important; }.lr-doc .md-typeset .lr-secwrap-returns{ border-left: 7px solid rgba(16,185,129,.90) !important; }.lr-doc .md-typeset .lr-secwrap-returns .lr-sec{ background: rgba(16,185,129,.10) !important; }.lr-doc .md-typeset .lr-empty{\n  color: rgba(0,0,0,.6);\n  font-style: italic;\n}.lr-doc \/* =========================================================\n   Blocs repliables (details.note) : header bleu + chevron \u00e0 gauche\n   ========================================================= *\/\n\n\/* Cache le marker natif *\/\n.md-content .md-typeset details.note > summary::-webkit-details-marker{ display:none !important; }.lr-doc .md-content .md-typeset details.note > summary::marker{ content:\"\" !important; }.lr-doc .md-typeset details.note > summary{\n  background-color: #004080;\n  color: #ffffff;\n  font-weight: 600;\n  border-radius: 0;\n\n  position: relative !important;\n  padding-left: 2.2rem !important; \/* place chevron *\/\n  display: flex !important;\n  align-items: center !important;\n}.lr-doc \/* Supprime l\u2019ic\u00f4ne \"note\" par d\u00e9faut *\/\n.md-typeset details.note > summary::before{\n  display: none !important;\n}.lr-doc \/* Chevron *\/\n.md-content .md-typeset details.note > summary::after{\n  content: \"\u25b8\" !important;\n  position: absolute !important;\n  left: .9rem !important;\n  top: 50% !important;\n\n  color: #4f8cff !important;\n  font-size: 1.2rem !important;\n  font-weight: 900 !important;\n  line-height: 1 !important;\n  opacity: 0.95 !important;\n\n  transform: translateY(-50%) rotate(0deg) !important;\n  transition: transform .15s ease !important;\n}.lr-doc .md-content .md-typeset details.note[open] > summary::after{\n  transform: translateY(-50%) rotate(90deg) !important;\n}.lr-doc \/* Ic\u00f4ne Material (si pr\u00e9sente) \u00e0 droite *\/\n.md-typeset details.note > summary .md-details__icon{\n  margin-left: auto;\n  display: inline-flex !important;\n  opacity: 1 !important;\n  color: #ffffff !important;\n  transition: transform .15s ease;\n}.lr-doc .md-typeset details.note > summary .md-details__icon svg{\n  fill: #ffffff !important;\n}.lr-doc .md-typeset details.note[open] > summary .md-details__icon{\n  transform: rotate(180deg);\n}.lr-doc \/* Ic\u00f4nes dans le titre (summary) : twemoji plus grand *\/\n.md-typeset details > summary .twemoji{ display:inline-flex !important; width:2.15em !important; height:2.15em !important; }.lr-doc .md-typeset details > summary .twemoji svg, .lr-doc .md-typeset details > summary .twemoji img{ width:100% !important; height:100% !important; }.lr-doc \/* =========================================================\n   Admonitions : harmonisation titres (toutes sections)\n   ========================================================= *\/\n\n\/* Gabarit unique pour TOUS les titres *\/\n.md-typeset .admonition > .admonition-title{\n  display: block !important;\n  position: relative !important;\n  margin: 0 !important;\n\n  min-height: 2.35rem !important;\n  padding: .60rem 1rem .60rem 2.8rem !important;\n\n  line-height: 1.25 !important;\n  font-weight: 900 !important;\n}.lr-doc \/* Ic\u00f4ne : position fixe *\/\n.md-typeset .admonition > .admonition-title::before{\n  position: absolute !important;\n  left: 1rem !important;\n  top: 50% !important;\n  transform: translateY(-50%) !important;\n\n  width: 1.20em !important;\n  height: 1.20em !important;\n  margin: 0 !important;\n  opacity: 1 !important;\n}.lr-doc \/* Contenu : padding homog\u00e8ne (\u00e9vite diff\u00e9rences \u201cPr\u00e9sentation\u201d) *\/\n.md-typeset .admonition > :not(.admonition-title){\n  padding: .65rem .9rem !important;\n}.lr-doc \/* ===== Pr\u00e9sentation (abstract) : style carte + accent orange (sans casser le gabarit) ===== *\/\n.md-typeset .admonition.abstract{\n  margin: 1.1rem 0 !important;\n  border: 1px solid rgba(0,0,0,.12) !important;\n  border-left: 7px solid #f59e0b !important;\n  border-radius: 12px !important;\n  overflow: hidden !important;\n  background: #fff !important;\n  padding: 0 !important;\n  box-shadow: none !important;\n}.lr-doc .md-typeset .admonition.abstract > .admonition-title{\n  background: rgba(245,158,11,.10) !important;\n  border-bottom: 1px solid rgba(0,0,0,.10) !important;\n}.lr-doc .md-typeset .admonition.abstract > .admonition-title::before{\n  color: #f59e0b !important;\n}.lr-doc \/* \u00c9vite les \u201cdouble paddings\u201d entre paragraphes *\/\n.md-typeset .admonition.abstract > :not(.admonition-title){\n  margin: 0 !important;\n}.lr-doc .md-typeset .admonition.abstract > :not(.admonition-title) + :not(.admonition-title){\n  padding-top: 0 !important;\n}.lr-doc \/* ===== Exemple (example) ===== *\/\n.md-typeset .admonition.example > .admonition-title{\n  background-color: #e5e7eb !important;\n  color: #111827 !important;\n  font-weight: 900 !important;\n}.lr-doc .md-typeset .admonition.example pre{\n  background-color: #1e1e1e;\n  color: #e8e8e8;\n}.lr-doc .md-typeset .admonition.example code{\n  background-color: transparent;\n  color: #e8e8e8;\n}.lr-doc .md-typeset .admonition.example > .admonition-content > p:first-child{\n  margin-top: 0;\n  margin-bottom: .6rem;\n  color: #111827;\n}.lr-doc \/* =========================================================\n   Mode inject\u00e9 \/ int\u00e9gration WordPress\n   ========================================================= *\/\n\n\/* Masque la TOC \u00e0 droite si besoin *\/\n.md-sidebar--secondary{ display:none !important; }.lr-doc \/* MkDocs inject\u00e9 : ne doit pas passer au-dessus du header WP *\/\n.md-header, .lr-doc .md-tabs{ z-index: 0 !important; }.lr-doc \/* Ajuste la taille globale en mode inject\u00e9 (si utilis\u00e9) *\/\n.lr-doc{ zoom: 1.25; }.lr-doc \/* ajuste 1.10 \u2192 1.30 *\/\n\n\n\/* =========================================================\n   EMBED (WordPress) : zoom (stable)\n   ========================================================= *\/\n.lr-doc{\n  zoom: 1.25;               \/* ajuste 1.10 \u2192 1.30 *\/\n}.lr-doc \/* =========================================================\n   Harmonisation des TITRES (S\u00dbR)\n   - Admonitions Material : title + ic\u00f4ne\n   - lr-secwrap : uniquement twemoji (pas de svg global)\n   ========================================================= *\/\n\n\/* 1) Admonitions : gabarit unique *\/\n.lr-doc .md-typeset .admonition > .admonition-title{\n  position: relative !important;\n  display: block !important;\n  margin: 0 !important;\n  min-height: 2.35rem !important;\n  padding: .60rem 1rem .60rem 2.8rem !important;\n  line-height: 1.25 !important;\n  font-weight: 900 !important;\n}.lr-doc \/* 2) Ic\u00f4ne des admonitions : placement fixe *\/\n.lr-doc .md-typeset .admonition > .admonition-title::before{\n  position: absolute !important;\n  left: 1rem !important;\n  top: 50% !important;\n  transform: translateY(-50%) !important;\n  width: 1.20em !important;\n  height: 1.20em !important;\n  margin: 0 !important;\n  opacity: 1 !important;\n}.lr-doc \/* 3) Pr\u00e9sentation (abstract) : conserve le style orange mais m\u00eame padding *\/\n.lr-doc .md-typeset .admonition.abstract > .admonition-title{\n  padding: .60rem 1rem .60rem 2.8rem !important;\n}.lr-doc \/* 4) Cartes lr-secwrap : m\u00eame padding titre *\/\n.lr-doc .md-typeset .lr-secwrap .lr-sec{\n  position: relative !important;\n  padding: .60rem 1rem .60rem 2.8rem !important;\n}.lr-doc \/* 5) Ic\u00f4ne des lr-secwrap : uniquement twemoji (s\u00e9curis\u00e9) *\/\n.lr-doc .md-typeset .lr-secwrap .lr-sec .twemoji{\n  position: absolute !important;\n  left: 1rem !important;\n  top: 50% !important;\n  transform: translateY(-50%) !important;\n  width: 1.20em !important;\n  height: 1.20em !important;\n  margin: 0 !important;\n}.lr-doc \/* Assure que le svg dans twemoji reste petit *\/\n.lr-doc .md-typeset .lr-secwrap .lr-sec .twemoji svg, .lr-doc .md-typeset .lr-secwrap .lr-sec .twemoji img{\n  width: 100% !important;\n  height: 100% !important;\n}.lr-doc .md-typeset .lr-secwrap-present{ border-left: 7px solid rgba(245,158,11,.90) !important; }.lr-doc .md-typeset .lr-secwrap-present .lr-sec{ background: rgba(245,158,11,.10) !important; }.lr-doc .md-typeset .lr-secwrap-example{ border-left: 7px solid rgba(124,58,237,.90) !important; }.lr-doc .md-typeset .lr-secwrap-example .lr-sec{ background: rgba(124,58,237,.10) !important; }.lr-doc \/* =========================================================\n   EXEMPLES : bloc code dark + marges compactes\n   ========================================================= *\/\n\n.md-typeset .lr-secwrap-example pre, .lr-doc .md-typeset .lr-secwrap-example .highlight pre{\n  background: #1e1e1e !important;\n  color: #e8e8e8 !important;\n  border-radius: 8px !important;\n  margin: .4rem 0 !important;      \/* r\u00e9duit la marge *\/\n  padding: .8rem 1rem !important;  \/* r\u00e9duit l\u2019espace *\/\n}.lr-doc \/* Le code ne doit pas remettre de fond clair *\/\n.md-typeset .lr-secwrap-example code{\n  background: transparent !important;\n  color: inherit !important;\n}.lr-doc \/* Certains th\u00e8mes entourent avec .highlight : on neutralise le fond du wrapper *\/\n.md-typeset .lr-secwrap-example .highlight{\n  background: transparent !important;\n  margin: 0 !important;\n  padding: 0 !important;\n  border: 0 !important;\n}.lr-doc \/* Prototypage : compacter l'espace autour *\/\n.md-typeset .lr-secwrap-proto .lr-secbody{\n  padding: .45rem .65rem !important;   \/* au lieu de .65rem .9rem *\/\n}.lr-doc .md-typeset .lr-secwrap-proto pre.lr-proto{\n  margin: .35rem 0 !important;\n  padding: .6rem .8rem !important;\n  border-radius: 10px !important;\n}.lr-doc \/* === Code dark en lignes : base === *\/\n.md-typeset pre.lr-code-dark{\n  background: #1e1e1e !important;\n  color: #e8e8e8 !important;\n  border-radius: 10px !important;\n  padding: .8rem 1rem !important;\n  overflow-x: auto !important;\n}.lr-doc \/* Le code devient un conteneur de lignes *\/\n.md-typeset pre.lr-code-dark code.lr-code-lines{\n  display: block !important;\n  white-space: pre !important;\n}.lr-doc \/* Lignes normales *\/\n.md-typeset pre.lr-code-dark code.lr-code-lines .lr-line{\n  display: block !important;\n  line-height: 1.20 !important;\n}.lr-doc \/* \u2705 LIGNE VIDE : c\u2019est ici qu\u2019on r\u00e9duit le \u201cnoir\u201d *\/\n.md-typeset pre.lr-code-dark code.lr-code-lines .lr-emptyline{\n  height: .35em !important;     \/* <- ajuste (0.25 \u00e0 0.60) *\/\n  line-height: 0 !important;\n}.lr-doc \/* Ligne vide \u201cfine\u201d dans les blocs de code dark *\/\n.md-typeset pre.lr-code-dark .lr-blank{\n  display: block;\n  height: .35em;     \/* ajuste 0.25 \u00e0 0.60 *\/\n}.lr-doc \/* Prototypage : enlever le cadre bleu (focus\/outline) *\/\n.md-typeset .lr-secwrap-proto pre.lr-proto{\n  outline: none !important;\n  box-shadow: none !important;\n}.lr-doc \/* Pas de bouton Copier dans Prototypage *\/\n.md-typeset .lr-secwrap-proto .btn-clipboard{\n  display: none !important;\n}.lr-doc \/* Par d\u00e9faut : cache les boutons Copier dans la doc *\/\n.md-typeset .btn-clipboard{\n  display: none !important;\n}.lr-doc \/* \u2026mais on l\u2019autorise dans les EXEMPLES *\/\n.md-typeset .lr-secwrap-example .btn-clipboard{\n  display: block !important;\n}.lr-doc \/* Bo\u00eete code + bouton copier (exemples) *\/\n.md-typeset .lr-codebox{\n  position: relative;\n}.lr-doc .md-typeset .lr-codebox .lr-copy{\n  position: absolute;\n  top: .6rem;\n  right: .6rem;\n  z-index: 2;\n\n  font-size: .75rem;\n  padding: .25rem .5rem;\n  border-radius: 6px;\n  border: 0;\n  cursor: pointer;\n\n  color: #ffffff;\n  background: #004080;\n  opacity: .9;\n}.lr-doc .md-typeset .lr-codebox .lr-copy:hover{\n  opacity: 1;\n}.lr-doc .md-typeset .lr-secwrap-proto .btn-clipboard{ display:none !important; }.lr-doc \/* EXEMPLE : liste \u00e0 puces plus \u00e0 droite *\/\n.md-typeset .lr-secwrap-example .lr-secbody ul{\n  padding-left: 1.4rem !important;   \/* d\u00e9cale le contenu *\/\n  margin-left: 0 !important;\n}.lr-doc \/* Optionnel : d\u00e9cale aussi la puce elle-m\u00eame (selon rendu) *\/\n.md-typeset .lr-secwrap-example .lr-secbody ul{\n  list-style-position: outside;\n}.lr-doc \/* Supprimer le pied de page Material *\/\n.md-footer{\n  display: none !important;\n}.lr-doc .md-main__inner{\n  padding-bottom: 0 !important;\n}.lr-doc \/* =========================================\n   Cacher la barre de titre (haut de page)\n   + les onglets (si activ\u00e9s)\n   ========================================= *\/\n.md-header, .lr-doc .md-tabs{\n  display: none !important;\n}.lr-doc \/* Enl\u00e8ve l\u2019espace r\u00e9serv\u00e9 au header sticky (Material) *\/\n.lr-doc{\n  --md-header-height: 0px;\n}.lr-doc .md-main{\n  margin-top: 0 !important;\n}.lr-doc \/* =========================================\n   Cacher le menu MkDocs (sidebar gauche)\n   ========================================= *\/\n.md-sidebar--primary{\n  display: none !important;\n}.lr-doc \/* (Optionnel) Cacher la table des mati\u00e8res \u00e0 droite *\/\n.md-sidebar--secondary{\n  display: none !important;\n}.lr-doc \/* =========================================\n   \u00c9tendre le contenu\n   ========================================= *\/\n.md-main__inner{\n  margin: 0 !important;\n}.lr-doc .md-content{\n  max-width: min(95vw, 110rem);\n}.lr-doc \/* Supprime le symbole \u00b6 (permalink) \u00e0 c\u00f4t\u00e9 des titres *\/\n.md-typeset .headerlink{\n  display: none !important;\n}.lr-doc \/* Liens uniquement dans les blocs de code (fond noir) *\/\n.md-typeset pre code a, .lr-doc .md-typeset .highlight pre a, .lr-doc .md-typeset .highlight code a{\n  color: #fff !important;\n  text-decoration: underline;\n}.lr-doc \/* Optionnel : hover *\/\n.md-typeset pre code a:hover, .lr-doc .md-typeset .highlight pre a:hover, .lr-doc .md-typeset .highlight code a:hover{\n  opacity: 0.85;\n}.lr-doc \/* Liens dans les blocs custom LightREST *\/\npre.lr-code-dark a, .lr-doc .lr-code-dark a{\n  color: #fff !important;\n  text-decoration: underline;\n}.lr-doc \/* \u2705 Liens visibles UNIQUEMENT dans tes exemples \"code dark\" *\/\n.md-content .md-typeset pre.lr-code-dark a, .lr-doc .md-content .md-typeset pre.lr-code-dark a:visited{\n  color: #ffffff !important;\n  text-decoration: underline !important;\n  text-decoration-style: solid !important;\n}.lr-doc \/* Optionnel : hover\/focus dans code dark *\/\n.md-content .md-typeset pre.lr-code-dark a:hover{\n  color: #ffffff !important;\n  opacity: .85;\n  background: transparent !important;\n}.lr-doc .md-content .md-typeset pre.lr-code-dark a:focus-visible{\n  outline: 2px solid rgba(255,255,255,.65) !important;\n  outline-offset: 2px;\n}.lr-doc \/* \u2705 Liens visibles UNIQUEMENT dans tes exemples \"code dark\" *\/\n.md-content .md-typeset pre.lr-code-dark a, .lr-doc .md-content .md-typeset pre.lr-code-dark a:visited{\n  color: #ffffff !important;\n  text-decoration: underline !important;\n  text-decoration-style: solid !important;\n}.lr-doc \/* Optionnel : hover\/focus dans code dark *\/\n.md-content .md-typeset pre.lr-code-dark a:hover{\n  color: #ffffff !important;\n  opacity: .85;\n  background: transparent !important;\n}.lr-doc .md-content .md-typeset pre.lr-code-dark a:focus-visible{\n  outline: 2px solid rgba(255,255,255,.65) !important;\n  outline-offset: 2px;\n}.lr-doc \/* \u2705 Liens dans lr-code-dark : police monospace + underline pointill\u00e9 *\/\n.md-content .md-typeset pre.lr-code-dark code a, .lr-doc .md-content .md-typeset pre.lr-code-dark code a:visited{\n  font-family: var(--md-code-font-family, \"Lucida Console\",\"Consolas\",\"Courier New\",monospace) !important;\n  font-size: inherit !important;\n  color: inherit !important;\n\n  \/* underline pointill\u00e9 (on override le \"text-decoration: underline\" pr\u00e9c\u00e9dent) *\/\n  text-decoration-line: underline !important;\n  text-decoration-style: dotted !important;\n  text-decoration-thickness: 1px !important;\n  text-underline-offset: .18em !important;\n\n  background: transparent !important;\n}.lr-doc \/* Hover optionnel *\/\n.md-content .md-typeset pre.lr-code-dark code a:hover{\n  opacity: .85;\n  background: transparent !important;\n}.lr-doc \/* =========================================================\n   FAQ : cartes Question\/R\u00e9ponse sans sous-tiroirs\n   ========================================================= *\/\n.lr-doc .lr-faqitem{\n  margin: 1rem 0;\n  border: 1px solid rgba(0,0,0,.10);\n  border-radius: 14px;\n  background: #fff;\n  overflow: hidden;\n}.lr-doc \/* \u00c9vite un double espace entre les deux cartes *\/\n.lr-doc .lr-faqitem .lr-secwrap{\n  margin: 0 !important;\n  border: 0 !important;\n  border-radius: 0 !important;\n}.lr-doc \/* Un petit s\u00e9parateur entre Question et R\u00e9ponse *\/\n.lr-doc .lr-faqitem .lr-secwrap + .lr-secwrap{\n  border-top: 1px solid rgba(0,0,0,.08) !important;\n}.lr-doc \/* Option : resserrer un peu le padding pour lecture rapide *\/\n.lr-doc .lr-faqitem .lr-secbody{\n  padding: .55rem .85rem !important;\n}.lr-doc \/* =========================================================\n   FAQ : 1 carte = Question + R\u00e9ponse\n   ========================================================= *\/\n.lr-doc .lr-faqitem{\n  margin: 1rem 0;\n  border: 1px solid rgba(0,0,0,.12);\n  border-radius: 14px;\n  background: #fff;\n  overflow: hidden;\n}.lr-doc \/* Bandeau question *\/\n.lr-doc .lr-faqhead{\n  background: #004080;\n  color: #fff;\n  font-weight: 700;\n  padding: .65rem 1rem;\n  display: flex;\n  align-items: center;\n  gap: .6rem;\n}.lr-doc \/* R\u00e9ponse *\/\n.lr-doc .lr-faqbody{\n  padding: .75rem 1rem;\n}.lr-doc \/* Resserre les paragraphes (optionnel) *\/\n.lr-doc .lr-faqbody p{\n  margin: .5em 0;\n}.lr-doc .lr-faqbody p:first-child{ margin-top: 0; }.lr-doc .lr-faqbody p:last-child{ margin-bottom: 0; }.lr-doc \/* =========================================================\n   FAQ \u2013 rendu lisible m\u00eame si la r\u00e9ponse contient du texte \"brut\"\n   ========================================================= *\/\n\n\/* Cartes *\/\n.lr-doc .lr-faqitem{\n  margin: 1rem 0 !important;\n  border: 1px solid rgba(0,0,0,.12) !important;\n  border-radius: 14px !important;\n  background: #fff !important;\n  overflow: hidden !important;\n}.lr-doc \/* Bandeau question compact (ic\u00f4ne + texte sur la m\u00eame ligne) *\/\n.lr-doc .lr-faqhead{\n  background: #004080 !important;\n  color: #fff !important;\n  font-weight: 800 !important;\n  padding: .70rem 1rem !important;\n  display: flex !important;\n  align-items: center !important;\n  gap: .55rem !important;\n  line-height: 1.25 !important;\n}.lr-doc \/* Corps r\u00e9ponse : s\u00e9paration nette + lisibilit\u00e9 *\/\n.lr-doc .lr-faqbody{\n  border-top: 1px solid rgba(0,0,0,.08) !important;\n  padding: .80rem 1rem !important;\n  line-height: 1.55 !important;\n}.lr-doc \/* Si ta r\u00e9ponse contient des <p>, .lr-doc on \u00e9vite l'effet \"pav\u00e9\" *\/\n.lr-doc .lr-faqbody p{\n  margin: .55em 0 !important;\n}.lr-doc .lr-faqbody p:first-child{ margin-top: 0 !important; }.lr-doc .lr-faqbody p:last-child{ margin-bottom: 0 !important; }.lr-doc \/* Si ta r\u00e9ponse contient des listes (HTML) *\/\n.lr-doc .lr-faqbody ul, .lr-doc .lr-faqbody ol{\n  margin: .5em 0 .5em 1.25em !important;\n  padding-left: 1.1em !important;\n}.lr-doc .lr-faqbody li{\n  margin: .25em 0 !important;\n}.lr-doc \/* Fallback : si la r\u00e9ponse contient des lignes commen\u00e7ant par \"-\" rendues en texte, .lr-doc on met une petite indentation g\u00e9n\u00e9rale pour a\u00e9rer *\/\n.lr-doc .lr-faqbody{\n  white-space: normal !important;\n}.lr-doc .lr-faqitem{\n  box-shadow: 0 1px 0 rgba(0,0,0,.04) !important;\n}.lr-doc \/* =========================================================\n   FAQ : 1 carte Question + R\u00e9ponse (admonition custom \"faq\")\n   ========================================================= *\/\n\n\/* carte globale *\/\n.md-typeset .admonition.faq{\n  margin: 0.85rem 0 !important;\n  border: 1px solid rgba(0,0,0,.12) !important;\n  border-left: 7px solid #004080 !important;\n  border-radius: 14px !important;\n  overflow: hidden !important;\n  background: #fff !important;\n  box-shadow: 0 1px 0 rgba(0,0,0,.04) !important;\n  padding: 0 !important;\n}.lr-doc \/* bandeau question *\/\n.md-typeset .admonition.faq > .admonition-title{\n  background: rgba(0,64,128,.10) !important;\n  border-bottom: 1px solid rgba(0,0,0,.08) !important;\n  color: #0f172a !important;\n}.lr-doc \/* ic\u00f4ne \u00e0 gauche (question mark Material) *\/\n.md-typeset .admonition.faq > .admonition-title::before{\n  background-color: #004080 !important;\n  -webkit-mask-image: var(--md-admonition-icon--question) !important;\n  mask-image: var(--md-admonition-icon--question) !important;\n}.lr-doc \/* corps r\u00e9ponse *\/\n.md-typeset .admonition.faq > :not(.admonition-title){\n  padding: .75rem 1rem !important;\n}\n\n<\/style>\n\n\n  \n    \n    <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n    <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n    <label class=\"md-overlay\" for=\"__drawer\"><\/label>\n    <div data-md-component=\"skip\">\n      \n        \n        <a href=\"https:\/\/lightrest.codeline.fr\/docs\/classes\/lrroute#classe-lrroute\" class=\"md-skip\">\n          Aller au contenu\n        <\/a>\n      \n    <\/div>\n    <div data-md-component=\"announce\">\n      \n    <\/div>\n    \n    \n      \n\n  \n\n<header class=\"md-header md-header--shadow\" data-md-component=\"header\">\n  <nav class=\"md-header__inner md-grid\" aria-label=\"En-t\u00eate\">\n    <a href=\"https:\/\/lightrest.codeline.fr\/docs\" title=\"LightREST V3 documentation\" class=\"md-header__button md-logo\" aria-label=\"LightREST V3 documentation\" data-md-component=\"logo\">\n      \n  \n  <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54\"\/><\/svg>\n\n    <\/a>\n    <label class=\"md-header__button md-icon\" for=\"__drawer\">\n      \n      <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"\/><\/svg>\n    <\/label>\n    <div class=\"md-header__title\" data-md-component=\"header-title\">\n      <div class=\"md-header__ellipsis\">\n        <div class=\"md-header__topic\">\n          <span class=\"md-ellipsis\">\n            LightREST V3 documentation\n          <\/span>\n        <\/div>\n        <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n          <span class=\"md-ellipsis\">\n            \n              lrRoute\n            \n          <\/span>\n        <\/div>\n      <\/div>\n    <\/div>\n    \n    \n      \n    \n    \n    \n      \n      \n        <label class=\"md-header__button md-icon\" for=\"__search\">\n          \n          <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"\/><\/svg>\n        <\/label>\n        <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n  <label class=\"md-search__overlay\" for=\"__search\"><\/label>\n  <div class=\"md-search__inner\" role=\"search\">\n    <form class=\"md-search__form\" name=\"search\">\n      <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Rechercher\" placeholder=\"Rechercher\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" required>\n      <label class=\"md-search__icon md-icon\" for=\"__search\">\n        \n        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5\"\/><\/svg>\n        \n        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z\"\/><\/svg>\n      <\/label>\n      <nav class=\"md-search__options\" aria-label=\"Recherche\">\n        \n        <button type=\"reset\" class=\"md-search__icon md-icon\" title=\"Effacer\" aria-label=\"Effacer\" tabindex=\"-1\">\n          \n          <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\/><\/svg>\n        <\/button>\n      <\/nav>\n      \n    <\/form>\n    <div class=\"md-search__output\">\n      <div class=\"md-search__scrollwrap\" tabindex=\"0\" data-md-scrollfix>\n        <div class=\"md-search-result\" data-md-component=\"search-result\">\n          <div class=\"md-search-result__meta\">\n            Initialisation de la recherche\n          <\/div>\n          <ol class=\"md-search-result__list\" role=\"presentation\"><\/ol>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n      \n    \n    \n  <\/nav>\n  \n<\/header>\n    \n    <div class=\"md-container\" data-md-component=\"container\">\n      \n      \n        \n          \n        \n      \n      <main class=\"md-main\" data-md-component=\"main\">\n        <div class=\"md-main__inner md-grid\">\n          \n            \n              \n              <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n\n\n<nav class=\"md-nav md-nav--primary\" aria-label=\"Navigation\" data-md-level=\"0\">\n  <label class=\"md-nav__title\" for=\"__drawer\">\n    <a href=\"https:\/\/lightrest.codeline.fr\/docs\" title=\"LightREST V3 documentation\" class=\"md-nav__button md-logo\" aria-label=\"LightREST V3 documentation\" data-md-component=\"logo\">\n      \n  \n  <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54\"\/><\/svg>\n\n    <\/a>\n    LightREST V3 documentation\n  <\/label>\n  \n  <ul class=\"md-nav__list\" data-md-scrollfix>\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https:\/\/lightrest.codeline.fr\/docs\/classes\/lrserver\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    lrServer\n  \n\n    \n  <\/span>\n  \n  \n\n      <\/a>\n    <\/li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https:\/\/lightrest.codeline.fr\/docs\/classes\/lrrequest\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    lrRequest\n  \n\n    \n  <\/span>\n  \n  \n\n      <\/a>\n    <\/li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https:\/\/lightrest.codeline.fr\/docs\/classes\/lrresponse\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    lrResponse\n  \n\n    \n  <\/span>\n  \n  \n\n      <\/a>\n    <\/li>\n  \n\n    \n      \n      \n  \n  \n    \n  \n  \n  \n    <li class=\"md-nav__item md-nav__item--active\">\n      \n      <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n      \n      \n        \n      \n      \n        <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n          \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    lrRoute\n  \n\n    \n  <\/span>\n  \n  \n\n          <span class=\"md-nav__icon md-icon\"><\/span>\n        <\/label>\n      \n      <a href=\"https:\/\/lightrest.codeline.fr\/docs\/classes\/lrroute\" class=\"md-nav__link md-nav__link--active\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    lrRoute\n  \n\n    \n  <\/span>\n  \n  \n\n      <\/a>\n      \n        \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"Table des mati\u00e8res\">\n  \n  \n  \n    \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"><\/span>\n      Table des mati\u00e8res\n    <\/label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"https:\/\/lightrest.codeline.fr\/docs\/classes\/lrroute#controle-du-serveur\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Contr\u00f4le du serveur\n      \n    <\/span>\n  <\/a>\n  \n<\/li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"https:\/\/lightrest.codeline.fr\/docs\/classes\/lrroute#methodes-http\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        M\u00e9thodes HTTP\n      \n    <\/span>\n  <\/a>\n  \n<\/li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"https:\/\/lightrest.codeline.fr\/docs\/classes\/lrroute#methodes\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        M\u00e9thodes\n      \n    <\/span>\n  <\/a>\n  \n<\/li>\n      \n    <\/ul>\n  \n<\/nav>\n      \n    <\/li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https:\/\/lightrest.codeline.fr\/docs\/classes\/lrhook\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    lrHook\n  \n\n    \n  <\/span>\n  \n  \n\n      <\/a>\n    <\/li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https:\/\/lightrest.codeline.fr\/docs\/classes\/lrsession\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    lrSession\n  \n\n    \n  <\/span>\n  \n  \n\n      <\/a>\n    <\/li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https:\/\/lightrest.codeline.fr\/docs\/faq\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    FAQ\n  \n\n    \n  <\/span>\n  \n  \n\n      <\/a>\n    <\/li>\n  \n\n    \n      \n      \n  \n  \n  \n  \n    <li class=\"md-nav__item\">\n      <a href=\"https:\/\/lightrest.codeline.fr\/docs\/bp\/index.md\" class=\"md-nav__link\">\n        \n  \n  \n  <span class=\"md-ellipsis\">\n    \n  \n    BP\n  \n\n    \n  <\/span>\n  \n  \n\n      <\/a>\n    <\/li>\n  \n\n    \n  <\/ul>\n<\/nav>\n                  <\/div>\n                <\/div>\n              <\/div>\n            \n            \n              \n              <div class=\"md-sidebar md-sidebar--secondary\" data-md-component=\"sidebar\" data-md-type=\"toc\" >\n                <div class=\"md-sidebar__scrollwrap\">\n                  <div class=\"md-sidebar__inner\">\n                    \n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"Table des mati\u00e8res\">\n  \n  \n  \n    \n  \n  \n    <label class=\"md-nav__title\" for=\"__toc\">\n      <span class=\"md-nav__icon md-icon\"><\/span>\n      Table des mati\u00e8res\n    <\/label>\n    <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"https:\/\/lightrest.codeline.fr\/docs\/classes\/lrroute#controle-du-serveur\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        Contr\u00f4le du serveur\n      \n    <\/span>\n  <\/a>\n  \n<\/li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"https:\/\/lightrest.codeline.fr\/docs\/classes\/lrroute#methodes-http\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        M\u00e9thodes HTTP\n      \n    <\/span>\n  <\/a>\n  \n<\/li>\n      \n        <li class=\"md-nav__item\">\n  <a href=\"https:\/\/lightrest.codeline.fr\/docs\/classes\/lrroute#methodes\" class=\"md-nav__link\">\n    <span class=\"md-ellipsis\">\n      \n        M\u00e9thodes\n      \n    <\/span>\n  <\/a>\n  \n<\/li>\n      \n    <\/ul>\n  \n<\/nav>\n                  <\/div>\n                <\/div>\n              <\/div>\n            \n          \n          \n            <div class=\"md-content\" data-md-component=\"content\">\n              \n              <article class=\"md-content__inner md-typeset\">\n                \n                  \n\n\n\n<h1 id=\"classe-lrroute\">Classe lrRoute<a class=\"headerlink\" href=\"https:\/\/lightrest.codeline.fr\/docs\/classes\/lrroute#classe-lrroute\" title=\"Permanent link\">&para;<\/a><\/h1>\n<!-- GENERATED_BY_CODE_LINE_RENDER_API_V3_2026-01-27 -->\n\n<div class=\"admonition abstract\">\n<p class=\"admonition-title\">Role<\/p>\n<p>D\u00e9crit une route REST : chemin, m\u00e9thode REST, callback, timeout, options (OPTIONS\/CORS), custom data et hooks (niveau route).<\/p>\n<p>Objet pass\u00e9 en param\u00e8tre \u00e0 la m\u00e9thode <a href=\"https:\/\/lightrest.codeline.fr\/index.php\/la-classe-lrserver?h=addroute\"><em>lrServer:AddRoute()<\/em><\/a><\/p>\n<\/div>\n<details class=\"note\">\n<summary><span class=\"twemoji\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M10.25 2c.19 0 .36.11.44.26l2.22 3.96.09.28-.09.28-2.22 3.96c-.08.15-.25.26-.44.26h-4.5c-.19 0-.36-.11-.44-.26L3.09 6.78 3 6.5l.09-.28 2.22-3.96c.08-.15.25-.26.44-.26zm0 11c.19 0 .36.11.44.26l2.22 3.96.09.28-.09.28-2.22 3.96c-.08.15-.25.26-.44.26h-4.5c-.19 0-.36-.11-.44-.26l-2.22-3.96L3 17.5l.09-.28 2.22-3.96c.08-.15.25-.26.44-.26zm9.25-5.5c.19 0 .36.11.44.26l2.22 3.96.09.28-.09.28-2.22 3.96c-.08.15-.25.26-.44.26H15c-.19 0-.36-.11-.44-.26l-2.22-3.96-.09-.28.09-.28 2.22-3.96c.08-.15.25-.26.44-.26z\"\/><\/svg><\/span> Membres et propri\u00e9t\u00e9s<\/summary>\n<p><table>\n  <colgroup>\n    <col style=\"width:22%;\">\n    <col style=\"width:18%;\">\n    <col style=\"width:60%;\">\n  <\/colgroup>\n  <thead>\n    <tr><th>Nom<\/th><th>Type<\/th><th>Usage<\/th><\/tr>\n  <\/thead>\n  <tbody>\n    <tr id=\"member-route\"><td><code>Route<\/code><\/td><td>cha\u00eene<\/td><td>Chemin REST (ex: \/customers\/{id}).<\/td><\/tr>\n    <tr id=\"member-method\"><td><code>Method<\/code><\/td><td>cha\u00eene<\/td><td>M\u00e9thode HTTP (GET\/POST\/PUT\/DELETE\/\u2026).<\/td><\/tr>\n    <tr id=\"member-handler\"><td><code>Handler<\/code><\/td><td>proc\u00e9dure<\/td><td>Handler REST appel\u00e9e par le moteur LightREST lorsque la route est appel\u00e9e.<br>\n<br>\nLa proc\u00e9dure doit \u00eatre prototyp\u00e9e ainsi :<br>\n\u00a0\u00a0\u00a0\u00a0<em>procedure procRoute(poRequest objet lrRequest, poResponse objet lrResponse)<\/em><br>\n<br>\nPrototype ant\u00e9rieur \u00e0 la V3 :<br>\n\u00a0\u00a0\u00a0\u00a0procedure procRoute(poRequest objet lrRequest) : objet lrResponse<br>\n<br>\nL'objet lrResponse (ou l'objet poResponse selon le cas ci-dessus) retourn\u00e9 doit affecter :<br>\n\u00a0\u00a0- <em>\u00e0 minima<\/em> le membre :Status en cas d'erreur (\u00e9ventuellement compl\u00e9t\u00e9 par des d\u00e9tails dans :Body)<br>\n\u00a0\u00a0- :Body, :ContentType et :Status en cas d'envoi d'une r\u00e9ponse valide<br>\n<\/td><\/tr>\n    <tr id=\"member-tag\"><td><code>Tag<\/code><\/td><td>cha\u00eene<\/td><td>Etiquette pour identifier facilement la route dans le code (dans un HOOK par exemple).<br>\n<br>\n<img decoding=\"async\" alt=\"\u2139\" class=\"twemoji\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/jdecked\/twemoji@16.0.1\/assets\/svg\/2139.svg\" title=\":information:\" \/> Par d\u00e9faut, le Tag est initialis\u00e9 \u00e0 la valeur Route@M\u00e9thode (exemple : \"\/ping@GET\"), mais le d\u00e9vleoppeur LightREST peut affecter toute valeur qui lui sera utile.<br>\n<\/td><\/tr>\n    <tr id=\"member-timeout\"><td><code>Timeout<\/code><\/td><td>Dur\u00e9e<\/td><td>Timeout sp\u00e9cifique \u00e0 la route.<br>\n<br>\nCe membre est prioritaire sur le timeout d\u00e9fini au niveau du serveur LightREST (lrServer:RequestTimeout).<br>\nEn cas de d\u00e9passement, l'ex\u00e9cution du Handler REST WinDev en cours est annul\u00e9e et une erreur HTTP 408 (StatusRequestTimeout) est envoy\u00e9e au client.<br>\n<\/td><\/tr>\n    <tr id=\"member-useglobaloptionheaders\"><td><code>UseGlobalOptionHeaders<\/code><\/td><td>bool\u00e9en<\/td><td>Si vrai, ajoute automatiquement une route OPTIONS associ\u00e9e.<br>\nLes headers OPTIONS globaux du serveur sont alors utilis\u00e9s.<br>\n<\/td><\/tr>\n    <tr id=\"member-customdata\"><td><code>CustomData<\/code><\/td><td>Variant<\/td><td>Donn\u00e9es m\u00e9tier ou techniques persistantes attach\u00e9es \u00e0 la route.<br>\nSeront int\u00e9gr\u00e9es dans le membre <a href=\"https:\/\/lightrest.codeline.fr\/index.php\/la-classe-lrrequest\/?h=routecustomdata\">lrRequest:RouteCustomData<\/a> re\u00e7u en param\u00e8tre de la proc\u00e9dure REST.<br>\n<\/td><\/tr>\n    <tr id=\"member-noregex\"><td><code>NoRegex<\/code><\/td><td>bool\u00e9en<\/td><td>D\u00e9sactive la validation par expression r\u00e9guli\u00e8re de la route.<br>\n<br>\nA la cr\u00e9ation de la route, la validit\u00e9 de sa syntaxe est v\u00e9rifi\u00e9e avec l'expression RegEx d\u00e9finie dans la constante <em>lrServer::ROUTE_REGEX<\/em>.<br>\nSi :NoRegex=vrai, aucune v\u00e9rification ne sera effectu\u00e9e (dans l'\u00e9ventualit\u00e9 o\u00f9 l'expression RegEx propos\u00e9e par LightREST ne correpondrait pas au besoin).<br>\n<\/td><\/tr>\n    <tr id=\"member-optionsheaders\"><td><code>OptionsHeaders<\/code><\/td><td>tableau associatif (ccSansCasse+AvecDoublon) de cha\u00eenes<\/td><td>Headers OPTIONS sp\u00e9cifiques \u00e0 cette route.<br>\n<br>\nIls seront ajout\u00e9s syst\u00e9matiquement aux r\u00e9ponses de cette route avec la m\u00e9thode OPTIONS.<br>\nUtilis\u00e9 habituellement pour g\u00e9rer le cross domain avec les clients de type navigateur.<br>\n<\/td><\/tr>\n  <\/tbody>\n<\/table><\/p>\n<\/details>\n<details class=\"note\">\n<summary><span class=\"twemoji\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 2a10 10 0 0 1 10 10 10 10 0 0 1-10 10A10 10 0 0 1 2 12 10 10 0 0 1 12 2m-1 5a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-1h-2v1h-2V9h2v1h2V9a2 2 0 0 0-2-2z\"\/><\/svg><\/span> Constantes<\/summary>\n<h3 id=\"controle-du-serveur\">Contr\u00f4le du serveur<a class=\"headerlink\" href=\"https:\/\/lightrest.codeline.fr\/docs\/classes\/lrroute#controle-du-serveur\" title=\"Permanent link\">&para;<\/a><\/h3>\n<p><table>\n  <colgroup>\n    <col style=\"width:22%;\">\n    <col style=\"width:18%;\">\n    <col style=\"width:60%;\">\n  <\/colgroup>\n  <thead>\n    <tr><th>Nom<\/th><th>Type<\/th><th>Usage<\/th><\/tr>\n  <\/thead>\n  <tbody>\n    <tr id=\"const-start\"><td><code>Start<\/code><\/td><td><\/td><td><\/td><\/tr>\n  <\/tbody>\n<\/table><\/p>\n<h3 id=\"methodes-http\">M\u00e9thodes HTTP<a class=\"headerlink\" href=\"https:\/\/lightrest.codeline.fr\/docs\/classes\/lrroute#methodes-http\" title=\"Permanent link\">&para;<\/a><\/h3>\n<p><table>\n  <colgroup>\n    <col style=\"width:22%;\">\n    <col style=\"width:18%;\">\n    <col style=\"width:60%;\">\n  <\/colgroup>\n  <thead>\n    <tr><th>Nom<\/th><th>Type<\/th><th>Usage<\/th><\/tr>\n  <\/thead>\n  <tbody>\n    <tr id=\"const-methodget\"><td><code>MethodGET<\/code><\/td><td>cha\u00eene<\/td><td>M\u00e9thode REST <a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc9110.html#GET\">GET<\/a><\/td><\/tr>\n    <tr id=\"const-methodpost\"><td><code>MethodPOST<\/code><\/td><td>cha\u00eene<\/td><td>M\u00e9thode REST <a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc9110.html#POST\">POST<\/a><\/td><\/tr>\n    <tr id=\"const-methodput\"><td><code>MethodPUT<\/code><\/td><td>cha\u00eene<\/td><td>M\u00e9thode REST <a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc9110.html#PUT\">PUT<\/a><\/td><\/tr>\n    <tr id=\"const-methoddelete\"><td><code>MethodDELETE<\/code><\/td><td>cha\u00eene<\/td><td>M\u00e9thode REST <a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc9110.html#DELETE\">DELETE<\/a><\/td><\/tr>\n    <tr id=\"const-methodhead\"><td><code>MethodHEAD<\/code><\/td><td>cha\u00eene<\/td><td>M\u00e9thode REST <a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc9110.html#HEAD\">HEAD<\/a><\/td><\/tr>\n    <tr id=\"const-methodpatch\"><td><code>MethodPATCH<\/code><\/td><td>cha\u00eene<\/td><td>M\u00e9thode REST <a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc9110.html#PATCH\">PATCH<\/a><\/td><\/tr>\n    <tr id=\"const-methodoptions\"><td><code>MethodOPTIONS<\/code><\/td><td>cha\u00eene<\/td><td>M\u00e9thode REST  <a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc9110.html#OPTIONS\">OPTIONS<\/a><\/td><\/tr>\n    <tr id=\"const-methodtrace\"><td><code>MethodTRACE<\/code><\/td><td>cha\u00eene<\/td><td>M\u00e9thode REST  <a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc9110.html#TRACE\">TRACE<\/a><\/td><\/tr>\n  <\/tbody>\n<\/table><\/p>\n<\/details>\n<h2 id=\"methodes\">M\u00e9thodes<a class=\"headerlink\" href=\"https:\/\/lightrest.codeline.fr\/docs\/classes\/lrroute#methodes\" title=\"Permanent link\">&para;<\/a><\/h2>\n<details class=\"note\">\n<summary><span class=\"twemoji\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M18 6a3.99 3.99 0 0 1-3 3.86V17a5 5 0 0 1-5 5 5 5 0 0 1-5-5v-5l5 5H7a3 3 0 0 0 3 3 3 3 0 0 0 3-3V9.86c-1.77-.46-3-2.06-3-3.89C10 3.76 11.8 2 14 2c2.22 0 4 1.79 4 4m-4 2a2 2 0 0 0 2-2 2 2 0 0 0-2-2 2 2 0 0 0-2 2 2 2 0 0 0 2 2\"\/><\/svg><\/span> AddHook<\/summary>\n<p><div id=\"method-addhook\" class=\"lr-anchor\"><\/div><\/p>\n<p><div id=\"method-addhook-intro\" class=\"lr-secwrap lr-secwrap-present\">\n  <div class=\"lr-sec lr-sec-present\">\ud83d\udcd8 Pr\u00e9sentation<\/div>\n  <div class=\"lr-secbody\">\nAjoute un <a href=\"https:\/\/lightrest.codeline.fr\/index.php\/lightrest-composant-rest-windev\/lightrest-documentation\/les-hooks\/\"><em>Hook<\/em><\/a> au niveau de la route.<\/p>\n<p>Le(s) hook(s) ajout\u00e9(s) ici ne s'applique(nt) qu'\u00e0 cette route et permet(tent) :<br>\n      - d'ex\u00e9cuter un traitement avant le Handler REST (auth, validation, rate-limit, etc.)<br>\n      - d'ex\u00e9cuter un traitement apr\u00e8s le Handler REST (audit, m\u00e9triques, etc.)<br>\n      - de modifier ou remplacer la r\u00e9ponse juste avant l'envoi au client (selon les \u00e9v\u00e8nements d\u00e9finis dans lrHook)<br><\/p>\n<p>Si plusieurs hooks sont pass\u00e9s en param\u00e8tre, ils sont ex\u00e9cut\u00e9s dans cet ordre (jusqu'\u00e0 \u00e9ventuelle annulation par EVE_ABORT).<\/p>\n<p><img decoding=\"async\" alt=\"\u2139\" class=\"twemoji\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/jdecked\/twemoji@16.0.1\/assets\/svg\/2139.svg\" title=\":information_source:\" \/> Pour installer un hook global pour toutes les routes, utiliser lrServer:AddHook().\n  <\/div>\n<\/div><\/p>\n<p><div id=\"method-addhook-proto\" class=\"lr-secwrap lr-secwrap-proto\">\n  <div class=\"lr-sec lr-sec-proto\">\ud83e\udde9 Prototypage<\/div>\n  <div class=\"lr-secbody\">\n<pre class=\"lr-proto\">AddHook(poHook objet <a href=\"https:\/\/lightrest.codeline.fr\/index.php\/la-classe-lrhook\"><em>lrHook<\/em><\/a>[,poHook2 objet lrHook, poHook3, ....])*<\/pre>\n  <\/div>\n<\/div><\/p>\n<p><div id=\"method-addhook-params\" class=\"lr-secwrap lr-secwrap-params\">\n  <div class=\"lr-sec lr-sec-params\">\ud83d\udd27 Param\u00e8tres<\/div>\n  <div class=\"lr-secbody\">\n<table>\n  <colgroup>\n    <col style=\"width:22%;\">\n    <col style=\"width:18%;\">\n    <col style=\"width:60%;\">\n  <\/colgroup>\n  <thead>\n    <tr><th>Nom<\/th><th>Type<\/th><th>Usage<\/th><\/tr>\n  <\/thead>\n  <tbody>\n    <tr id=\"param-pohook1-pohook2-pohook3-nbsp-nbsp-nbsp-nbsp\"><td><code>poHook1 <em>[,poHook2, poHook3, ...]<\/em>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;<\/code><\/td><td>Objet(s) <a href=\"https:\/\/lightrest.codeline.fr\/index.php\/la-classe-lrhook\"><em>lrHook<\/em><\/a><\/td><td>Hook(s) \u00e0 ajouter au niveau de la route.<\/td><\/tr>\n  <\/tbody>\n<\/table>\n  <\/div>\n<\/div><\/p>\n<p><div id=\"method-addhook-returns\" class=\"lr-secwrap lr-secwrap-returns\">\n  <div class=\"lr-sec lr-sec-returns\">\u21a9\ufe0f Valeurs retourn\u00e9es<\/div>\n  <div class=\"lr-secbody\">\n<div class=\"lr-empty\">(aucune)<\/div>\n  <\/div>\n<\/div><\/p>\n<p><div id=\"method-addhook-example\" class=\"lr-secwrap lr-secwrap-example\">\n  <div class=\"lr-sec lr-sec-example\">\ud83e\uddea Exemple<\/div>\n  <div class=\"lr-secbody\">\n<ul>\n<li>Route publique <em>\/ping<\/em> sans authentification<\/li>\n<li>Route <em>\/private<\/em> avec hook d'authentification au niveau route<\/li>\n<\/ul>\n<div class=\"lr-codebox\"><button class=\"lr-copy\" type=\"button\" data-lr-copy=\"1\">Copier<\/button><pre class=\"lr-code-dark\"><code>oServer     est objet lrServer\noRoutePing  est objet lrRoute\noRoutePriv  est objet lrRoute\noAuthHook   est objet lrHook\nbOK         est bool\u00e9en\nsErr        est cha\u00eene\n<span class=\"lr-blank\"><\/span>\n\/\/ ---- Hook d'auth ----\noAuthHook.Evants   = lrHook::EVE_BEFORE_METHOD\noAuthHook.Handler = fnAuthHook\n<span class=\"lr-blank\"><\/span>\n\/\/ ---- Route publique ----\noRoutePing.Method      = lrRoute::MethodGET\noRoutePing.Route       = \"\/ping\"\noRoutePing.RESTFunction = procPing\n<span class=\"lr-blank\"><\/span>\n\/\/ ---- Route priv\u00e9e ----\noRoutePriv.Method       = lrRoute::MethodGET\noRoutePriv.Route        = \"\/private\"\noRoutePriv.RESTFunction = procPrivate\n<span class=\"lr-hl\">oRoutePriv:AddHook(oAuthHook)<\/span>\n<span class=\"lr-blank\"><\/span>\n<span class=\"lr-blank\"><\/span>\n(bOK, sErr) = oServer:AddRoute(oRoutePing)\nSI PAS bOK ALORS Erreur(sErr) ; RETOUR ; FIN\n<span class=\"lr-blank\"><\/span>\n(bOK, sErr) = oServer:AddRoute(oRoutePriv)\nSI PAS bOK ALORS Erreur(sErr) ; RETOUR ; FIN\n<span class=\"lr-blank\"><\/span>\n\/\/ ---- Handlers ----\nPROCEDURE INTERNE fnAuthHook(pInfo lrHook:lrEventInfo) : lrHook:lrEventReturn\n  \/\/ pInfo d\u00e9pend de lrHook (request\/response\/message...)\n  \/\/ V\u00e9rifie un header, sinon pr\u00e9pare une r\u00e9ponse 401 selon l'impl\u00e9mentation lrHook\n<span class=\"lr-blank\"><\/span>\n  SI pInfo.Request.GetHeaderValue(\"token\")=\"xxxxxxxxxxx\" ALORS\n    RENVOYER lrHook::EVE_OK\n  SINON\n    \/\/Auth KO, on annule l'ex\u00e9cution de la route avec une erreur 401\n    pInfo.Response.Status = lrResponse::StatusForbidden\n    RENOVYER lrHook::EVE_ABORT\n  FIN\nFIN\n<span class=\"lr-blank\"><\/span>\nPROCEDURE INTERNE procPing(poRequest objet lrRequest) : objet lrResponse\n  oResp est objet lrResponse\n<span class=\"lr-blank\"><\/span>\n  oResp.Status      = lrResponse::StatusOK\n  oResp.ContentType = lrResponse::ContentTXT\n  oResp.Body        = \"pong\"\n  RENVOYER oResp\nFIN\n<span class=\"lr-blank\"><\/span>\nPROCEDURE INTERNE procPrivate(poRequest objet lrRequest) : objet lrResponse\n  oResp est objet lrResponse\n<span class=\"lr-blank\"><\/span>\n  oResp.Status      = lrResponse::StatusOK\n  oResp.ContentType = lrResponse::ContentTXT\n  oResp.Body        = \"private data\"\n  RENVOYER oResp\nFIN<\/code><\/pre><\/div>\n  <\/div>\n<\/div><\/p>\n<\/details>\n\n\n\n\n\n\n\n\n\n\n\n\n                \n              <\/article>\n            <\/div>\n          \n          \n\n        <\/div>\n        \n      <\/main>\n      \n        <footer class=\"md-footer\">\n  \n  <div class=\"md-footer-meta md-typeset\">\n    <div class=\"md-footer-meta__inner md-grid\">\n       \n      \n    <\/div>\n  <\/div>\n<\/footer>\n      \n    <\/div>\n    <div class=\"md-dialog\" data-md-component=\"dialog\">\n      <div class=\"md-dialog__inner md-typeset\"><\/div>\n    <\/div>\n    \n    \n    \n      \n      \n      \n    \n    \n      \n      \n        \n      \n        \n      \n        \n      \n    \n  \n<\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-2284","page","type-page","status-publish","hentry"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/lightrest.codeline.fr\/index.php\/wp-json\/wp\/v2\/pages\/2284","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lightrest.codeline.fr\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/lightrest.codeline.fr\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/lightrest.codeline.fr\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/lightrest.codeline.fr\/index.php\/wp-json\/wp\/v2\/comments?post=2284"}],"version-history":[{"count":3,"href":"https:\/\/lightrest.codeline.fr\/index.php\/wp-json\/wp\/v2\/pages\/2284\/revisions"}],"predecessor-version":[{"id":2489,"href":"https:\/\/lightrest.codeline.fr\/index.php\/wp-json\/wp\/v2\/pages\/2284\/revisions\/2489"}],"wp:attachment":[{"href":"https:\/\/lightrest.codeline.fr\/index.php\/wp-json\/wp\/v2\/media?parent=2284"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}