From ba479d325a8d199adfffc3d7e9ab36fd6b24a901 Mon Sep 17 00:00:00 2001 From: Markus Heiser Date: Sat, 15 Mar 2025 12:04:22 +0100 Subject: [PATCH] [build] /static --- searx/static/themes/simple/css/searxng-rtl.min.css | 2 +- searx/static/themes/simple/css/searxng.min.css | 2 +- searx/static/themes/simple/js/searxng.min.js | 2 +- searx/static/themes/simple/js/searxng.min.js.map | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/searx/static/themes/simple/css/searxng-rtl.min.css b/searx/static/themes/simple/css/searxng-rtl.min.css index 8462207fe..c7a00dd62 100644 --- a/searx/static/themes/simple/css/searxng-rtl.min.css +++ b/searx/static/themes/simple/css/searxng-rtl.min.css @@ -1 +1 @@ -/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}:root{--color-base-font: #444;--color-base-font-rgb: 68, 68, 68;--color-base-background: #fff;--color-base-background-mobile: #f2f5f8;--color-url-font: #334999;--color-url-visited-font: #9822c3;--color-header-background: #fdfbff;--color-header-border: #ddd;--color-footer-background: #fdfbff;--color-footer-border: #ddd;--color-sidebar-border: #ddd;--color-sidebar-font: #000;--color-sidebar-background: #fff;--color-backtotop-font: #444;--color-backtotop-border: #ddd;--color-backtotop-background: #fff;--color-btn-background: #3050ff;--color-btn-font: #fff;--color-show-btn-background: #bbb;--color-show-btn-font: #000;--color-search-border: #bbb;--color-search-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-search-background: #fff;--color-search-font: #222;--color-search-background-hover: #3050ff;--color-error: #db3434;--color-error-background: #fae1e1;--color-warning: #dbba34;--color-warning-background: #faf5e1;--color-success: #42db34;--color-success-background: #e3fae1;--color-categories-item-selected-font: #3050ff;--color-categories-item-border-selected: #3050ff;--color-autocomplete-font: #000;--color-autocomplete-border: #bbb;--color-autocomplete-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-autocomplete-background: #fff;--color-autocomplete-background-hover: #e3e3e3;--color-answer-font: #444;--color-answer-background: #fff;--color-result-keyvalue-col-table: #fdfbff;--color-result-keyvalue-odd: #fdfbff;--color-result-keyvalue-even: #fff;--color-result-background: #fff;--color-result-border: #ddd;--color-result-url-font: #000;--color-result-vim-selected: #f7f7f7;--color-result-vim-arrow: #000bbb;--color-result-description-highlight-font: #000;--color-result-link-font: #000bbb;--color-result-link-font-highlight: #000bbb;--color-result-link-visited-font: #9822c3;--color-result-publishdate-font: #777;--color-result-engines-font: #545454;--color-result-search-url-border: #ddd;--color-result-search-url-font: #000;--color-result-image-span-font: #444;--color-result-image-span-font-selected: #fff;--color-result-image-background: #fff;--color-settings-tr-hover: #ebebeb;--color-settings-engine-description-font: #545454;--color-settings-table-group-background: #0001;--color-result-detail-font: #fff;--color-result-detail-label-font: lightgray;--color-result-detail-background: #242424;--color-result-detail-hr: #555;--color-result-detail-link: #8af;--color-result-detail-loader-border: rgba(255, 255, 255, .2);--color-result-detail-loader-borderleft: rgba(0, 0, 0, 0);--color-toolkit-badge-font: #fff;--color-toolkit-badge-background: #545454;--color-toolkit-kbd-font: #fff;--color-toolkit-kbd-background: #000;--color-toolkit-dialog-border: #ddd;--color-toolkit-dialog-background: #fff;--color-toolkit-tabs-label-border: #fff;--color-toolkit-tabs-section-border: #ddd;--color-toolkit-select-background: #e1e1e1;--color-toolkit-select-border: #ddd;--color-toolkit-select-background-hover: #bbb;--color-toolkit-input-text-font: #222;--color-toolkit-checkbox-onoff-off-background: #ddd;--color-toolkit-checkbox-onoff-on-background: #ddd;--color-toolkit-checkbox-onoff-on-mark-background: #3050ff;--color-toolkit-checkbox-onoff-on-mark-color: #fff;--color-toolkit-checkbox-onoff-off-mark-background: #aaa;--color-toolkit-checkbox-onoff-off-mark-color: #fff;--color-toolkit-checkbox-label-background: #ddd;--color-toolkit-checkbox-label-border: #ddd;--color-toolkit-checkbox-input-border: #3050ff;--color-toolkit-engine-tooltip-border: #ddd;--color-toolkit-engine-tooltip-background: #fff;--color-toolkit-loader-border: rgba(0, 0, 0, .2);--color-toolkit-loader-borderleft: rgba(255, 255, 255, 0);--color-doc-code: #003;--color-doc-code-background: #ddeaff;--color-bar-chart-primary: #5bc0de;--color-bar-chart-secondary: #deb15b;--color-image-resolution-background: rgba(0, 0, 0, .5);--color-image-resolution-font: #fff;--color-loading-indicator: rgba(255, 255, 255, .2);--color-loading-indicator-gap: #fff;--color-line-number: #64708d;--color-favicon-background-color: #ddd;--color-favicon-border-color: #ccc}@media (prefers-color-scheme: dark){:root.theme-auto{--color-base-font: #bbb;--color-base-font-rgb: 187, 187, 187;--color-base-background: #222428;--color-base-background-mobile: #222428;--color-url-font: #8af;--color-url-visited-font: #c09cd9;--color-header-background: #1e1e22;--color-header-border: #333;--color-footer-background: #1e1e22;--color-footer-border: #333;--color-sidebar-border: #555;--color-sidebar-font: #fff;--color-sidebar-background: #292c34;--color-backtotop-font: #bbb;--color-backtotop-border: #333;--color-backtotop-background: #2b2e36;--color-btn-background: #58f;--color-btn-font: #222;--color-show-btn-background: #555;--color-show-btn-font: #fff;--color-search-border: #555;--color-search-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-search-background: #2b2e36;--color-search-font: #fff;--color-search-background-hover: #58f;--color-error: #f55b5b;--color-error-background: #390a0a;--color-warning: #f1d561;--color-warning-background: #39300a;--color-success: #79f56e;--color-success-background: #0e390a;--color-categories-item-selected-font: #58f;--color-categories-item-border-selected: #58f;--color-autocomplete-font: #fff;--color-autocomplete-border: #555;--color-autocomplete-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-autocomplete-background: #2b2e36;--color-autocomplete-background-hover: #1e1e22;--color-answer-font: #bbb;--color-answer-background: #26292f;--color-result-keyvalue-col-table: #1e1e22;--color-result-keyvalue-odd: #1e1e22;--color-result-keyvalue-even: #26292f;--color-result-background: #26292f;--color-result-border: #333;--color-result-url-font: #fff;--color-result-vim-selected: #1f1f23cc;--color-result-vim-arrow: #8af;--color-result-description-highlight-font: #fff;--color-result-link-font: #8af;--color-result-link-font-highlight: #8af;--color-result-link-visited-font: #c09cd9;--color-result-publishdate-font: #888;--color-result-engines-font: #a4a4a4;--color-result-search-url-border: #555;--color-result-search-url-font: #fff;--color-result-detail-font: #fff;--color-result-detail-label-font: lightgray;--color-result-detail-background: #1a1a1c;--color-result-detail-hr: #555;--color-result-detail-link: #8af;--color-result-detail-loader-border: rgba(255, 255, 255, .2);--color-result-detail-loader-borderleft: rgba(0, 0, 0, 0);--color-result-image-span-font: #bbb;--color-result-image-span-font-selected: #222;--color-result-image-background: #222;--color-settings-tr-hover: #2c2c32;--color-settings-engine-description-font: #909090;--color-settings-table-group-background: #1b1b21;--color-toolkit-badge-font: #fff;--color-toolkit-badge-background: #555;--color-toolkit-kbd-font: #000;--color-toolkit-kbd-background: #fff;--color-toolkit-dialog-border: #555;--color-toolkit-dialog-background: #1e1e22;--color-toolkit-tabs-label-border: #222;--color-toolkit-tabs-section-border: #555;--color-toolkit-select-background: #313338;--color-toolkit-select-border: #555;--color-toolkit-select-background-hover: #373b49;--color-toolkit-input-text-font: #fff;--color-toolkit-checkbox-onoff-off-background: #313338;--color-toolkit-checkbox-onoff-on-background: #313338;--color-toolkit-checkbox-onoff-on-mark-background: #58f;--color-toolkit-checkbox-onoff-on-mark-color: #222;--color-toolkit-checkbox-onoff-off-mark-background: #ddd;--color-toolkit-checkbox-onoff-off-mark-color: #222;--color-toolkit-checkbox-label-background: #222;--color-toolkit-checkbox-label-border: #333;--color-toolkit-checkbox-input-border: #58f;--color-toolkit-engine-tooltip-border: #333;--color-toolkit-engine-tooltip-background: #222;--color-toolkit-loader-border: rgba(255, 255, 255, .2);--color-toolkit-loader-borderleft: rgba(0, 0, 0, 0);--color-doc-code: #ddd;--color-doc-code-background: #4d5a6f;--color-favicon-background-color: #ddd;--color-favicon-border-color: #ccc}}:root.theme-dark{--color-base-font: #bbb;--color-base-font-rgb: 187, 187, 187;--color-base-background: #222428;--color-base-background-mobile: #222428;--color-url-font: #8af;--color-url-visited-font: #c09cd9;--color-header-background: #1e1e22;--color-header-border: #333;--color-footer-background: #1e1e22;--color-footer-border: #333;--color-sidebar-border: #555;--color-sidebar-font: #fff;--color-sidebar-background: #292c34;--color-backtotop-font: #bbb;--color-backtotop-border: #333;--color-backtotop-background: #2b2e36;--color-btn-background: #58f;--color-btn-font: #222;--color-show-btn-background: #555;--color-show-btn-font: #fff;--color-search-border: #555;--color-search-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-search-background: #2b2e36;--color-search-font: #fff;--color-search-background-hover: #58f;--color-error: #f55b5b;--color-error-background: #390a0a;--color-warning: #f1d561;--color-warning-background: #39300a;--color-success: #79f56e;--color-success-background: #0e390a;--color-categories-item-selected-font: #58f;--color-categories-item-border-selected: #58f;--color-autocomplete-font: #fff;--color-autocomplete-border: #555;--color-autocomplete-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-autocomplete-background: #2b2e36;--color-autocomplete-background-hover: #1e1e22;--color-answer-font: #bbb;--color-answer-background: #26292f;--color-result-keyvalue-col-table: #1e1e22;--color-result-keyvalue-odd: #1e1e22;--color-result-keyvalue-even: #26292f;--color-result-background: #26292f;--color-result-border: #333;--color-result-url-font: #fff;--color-result-vim-selected: #1f1f23cc;--color-result-vim-arrow: #8af;--color-result-description-highlight-font: #fff;--color-result-link-font: #8af;--color-result-link-font-highlight: #8af;--color-result-link-visited-font: #c09cd9;--color-result-publishdate-font: #888;--color-result-engines-font: #a4a4a4;--color-result-search-url-border: #555;--color-result-search-url-font: #fff;--color-result-detail-font: #fff;--color-result-detail-label-font: lightgray;--color-result-detail-background: #1a1a1c;--color-result-detail-hr: #555;--color-result-detail-link: #8af;--color-result-detail-loader-border: rgba(255, 255, 255, .2);--color-result-detail-loader-borderleft: rgba(0, 0, 0, 0);--color-result-image-span-font: #bbb;--color-result-image-span-font-selected: #222;--color-result-image-background: #222;--color-settings-tr-hover: #2c2c32;--color-settings-engine-description-font: #909090;--color-settings-table-group-background: #1b1b21;--color-toolkit-badge-font: #fff;--color-toolkit-badge-background: #555;--color-toolkit-kbd-font: #000;--color-toolkit-kbd-background: #fff;--color-toolkit-dialog-border: #555;--color-toolkit-dialog-background: #1e1e22;--color-toolkit-tabs-label-border: #222;--color-toolkit-tabs-section-border: #555;--color-toolkit-select-background: #313338;--color-toolkit-select-border: #555;--color-toolkit-select-background-hover: #373b49;--color-toolkit-input-text-font: #fff;--color-toolkit-checkbox-onoff-off-background: #313338;--color-toolkit-checkbox-onoff-on-background: #313338;--color-toolkit-checkbox-onoff-on-mark-background: #58f;--color-toolkit-checkbox-onoff-on-mark-color: #222;--color-toolkit-checkbox-onoff-off-mark-background: #ddd;--color-toolkit-checkbox-onoff-off-mark-color: #222;--color-toolkit-checkbox-label-background: #222;--color-toolkit-checkbox-label-border: #333;--color-toolkit-checkbox-input-border: #58f;--color-toolkit-engine-tooltip-border: #333;--color-toolkit-engine-tooltip-background: #222;--color-toolkit-loader-border: rgba(255, 255, 255, .2);--color-toolkit-loader-borderleft: rgba(0, 0, 0, 0);--color-doc-code: #ddd;--color-doc-code-background: #4d5a6f;--color-favicon-background-color: #ddd;--color-favicon-border-color: #ccc}:root.theme-black{--color-base-font: #bbb;--color-base-font-rgb: 187, 187, 187;--color-base-background: #222428;--color-base-background-mobile: #222428;--color-url-font: #8af;--color-url-visited-font: #c09cd9;--color-header-background: #1e1e22;--color-header-border: #333;--color-footer-background: #1e1e22;--color-footer-border: #333;--color-sidebar-border: #555;--color-sidebar-font: #fff;--color-sidebar-background: #292c34;--color-backtotop-font: #bbb;--color-backtotop-border: #333;--color-backtotop-background: #2b2e36;--color-btn-background: #58f;--color-btn-font: #222;--color-show-btn-background: #555;--color-show-btn-font: #fff;--color-search-border: #555;--color-search-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-search-background: #2b2e36;--color-search-font: #fff;--color-search-background-hover: #58f;--color-error: #f55b5b;--color-error-background: #390a0a;--color-warning: #f1d561;--color-warning-background: #39300a;--color-success: #79f56e;--color-success-background: #0e390a;--color-categories-item-selected-font: #58f;--color-categories-item-border-selected: #58f;--color-autocomplete-font: #fff;--color-autocomplete-border: #555;--color-autocomplete-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-autocomplete-background: #2b2e36;--color-autocomplete-background-hover: #1e1e22;--color-answer-font: #bbb;--color-answer-background: #26292f;--color-result-keyvalue-col-table: #1e1e22;--color-result-keyvalue-odd: #1e1e22;--color-result-keyvalue-even: #26292f;--color-result-background: #26292f;--color-result-border: #333;--color-result-url-font: #fff;--color-result-vim-selected: #1f1f23cc;--color-result-vim-arrow: #8af;--color-result-description-highlight-font: #fff;--color-result-link-font: #8af;--color-result-link-font-highlight: #8af;--color-result-link-visited-font: #c09cd9;--color-result-publishdate-font: #888;--color-result-engines-font: #a4a4a4;--color-result-search-url-border: #555;--color-result-search-url-font: #fff;--color-result-detail-font: #fff;--color-result-detail-label-font: lightgray;--color-result-detail-background: #1a1a1c;--color-result-detail-hr: #555;--color-result-detail-link: #8af;--color-result-detail-loader-border: rgba(255, 255, 255, .2);--color-result-detail-loader-borderleft: rgba(0, 0, 0, 0);--color-result-image-span-font: #bbb;--color-result-image-span-font-selected: #222;--color-result-image-background: #222;--color-settings-tr-hover: #2c2c32;--color-settings-engine-description-font: #909090;--color-settings-table-group-background: #1b1b21;--color-toolkit-badge-font: #fff;--color-toolkit-badge-background: #555;--color-toolkit-kbd-font: #000;--color-toolkit-kbd-background: #fff;--color-toolkit-dialog-border: #555;--color-toolkit-dialog-background: #1e1e22;--color-toolkit-tabs-label-border: #222;--color-toolkit-tabs-section-border: #555;--color-toolkit-select-background: #313338;--color-toolkit-select-border: #555;--color-toolkit-select-background-hover: #373b49;--color-toolkit-input-text-font: #fff;--color-toolkit-checkbox-onoff-off-background: #313338;--color-toolkit-checkbox-onoff-on-background: #313338;--color-toolkit-checkbox-onoff-on-mark-background: #58f;--color-toolkit-checkbox-onoff-on-mark-color: #222;--color-toolkit-checkbox-onoff-off-mark-background: #ddd;--color-toolkit-checkbox-onoff-off-mark-color: #222;--color-toolkit-checkbox-label-background: #222;--color-toolkit-checkbox-label-border: #333;--color-toolkit-checkbox-input-border: #58f;--color-toolkit-engine-tooltip-border: #333;--color-toolkit-engine-tooltip-background: #222;--color-toolkit-loader-border: rgba(255, 255, 255, .2);--color-toolkit-loader-borderleft: rgba(0, 0, 0, 0);--color-doc-code: #ddd;--color-doc-code-background: #4d5a6f;--color-favicon-background-color: #ddd;--color-favicon-border-color: #ccc;--color-base-background: #000;--color-base-background-mobile: #000;--color-header-background: #000;--color-footer-background: #000;--color-sidebar-background: #000}.code-highlight pre{line-height:100%}.code-highlight td.linenos .normal,.code-highlight span.linenos{color:inherit;background-color:transparent;padding-left:5px;padding-right:5px}.code-highlight td.linenos .special,.code-highlight span.linenos.special{color:#000;background-color:#ffffc0;padding-left:5px;padding-right:5px}.code-highlight .hll{background-color:#ffc}.code-highlight .c{color:#3d7b7b;font-style:italic}.code-highlight .err{border:1px solid #F00}.code-highlight .k{color:green;font-weight:700}.code-highlight .o{color:#666}.code-highlight .ch,.code-highlight .cm{color:#3d7b7b;font-style:italic}.code-highlight .cp{color:#9c6500}.code-highlight .cpf,.code-highlight .c1,.code-highlight .cs{color:#3d7b7b;font-style:italic}.code-highlight .gd{color:#a00000}.code-highlight .ge{font-style:italic}.code-highlight .ges{font-weight:700;font-style:italic}.code-highlight .gr{color:#e40000}.code-highlight .gh{color:navy;font-weight:700}.code-highlight .gi{color:#008400}.code-highlight .go{color:#717171}.code-highlight .gp{color:navy;font-weight:700}.code-highlight .gs{font-weight:700}.code-highlight .gu{color:purple;font-weight:700}.code-highlight .gt{color:#04d}.code-highlight .kc,.code-highlight .kd,.code-highlight .kn{color:green;font-weight:700}.code-highlight .kp{color:green}.code-highlight .kr{color:green;font-weight:700}.code-highlight .kt{color:#b00040}.code-highlight .m{color:#666}.code-highlight .s{color:#ba2121}.code-highlight .na{color:#687822}.code-highlight .nb{color:green}.code-highlight .nc{color:#00f;font-weight:700}.code-highlight .no{color:#800}.code-highlight .nd{color:#a2f}.code-highlight .ni{color:#717171;font-weight:700}.code-highlight .ne{color:#cb3f38;font-weight:700}.code-highlight .nf{color:#00f}.code-highlight .nl{color:#767600}.code-highlight .nn{color:#00f;font-weight:700}.code-highlight .nt{color:green;font-weight:700}.code-highlight .nv{color:#19177c}.code-highlight .ow{color:#a2f;font-weight:700}.code-highlight .w{color:#bbb}.code-highlight .mb,.code-highlight .mf,.code-highlight .mh,.code-highlight .mi,.code-highlight .mo{color:#666}.code-highlight .sa,.code-highlight .sb,.code-highlight .sc,.code-highlight .dl{color:#ba2121}.code-highlight .sd{color:#ba2121;font-style:italic}.code-highlight .s2{color:#ba2121}.code-highlight .se{color:#aa5d1f;font-weight:700}.code-highlight .sh{color:#ba2121}.code-highlight .si{color:#a45a77;font-weight:700}.code-highlight .sx{color:green}.code-highlight .sr{color:#a45a77}.code-highlight .s1{color:#ba2121}.code-highlight .ss{color:#19177c}.code-highlight .bp{color:green}.code-highlight .fm{color:#00f}.code-highlight .vc,.code-highlight .vg,.code-highlight .vi,.code-highlight .vm{color:#19177c}.code-highlight .il{color:#666}.codelines{margin:.125rem 0 0;padding:1rem 0 0}.code-highlight pre{overflow:auto;margin:0;padding:0 0 .75rem}.code-highlight .linenos{-webkit-user-select:none;user-select:none;cursor:default;margin-right:8px;text-align:right}.code-highlight .linenos::selection{background:transparent}.code-highlight .linenos::-moz-selection{background:transparent}.code-highlight span.linenos{color:var(--color-line-number)}@media (prefers-color-scheme: dark){:root.theme-auto .code-highlight pre{line-height:100%}:root.theme-auto .code-highlight td.linenos .normal{color:#3c4354;background-color:transparent;padding-left:5px;padding-right:5px}:root.theme-auto .code-highlight span.linenos{color:#3c4354;background-color:transparent;padding-left:5px;padding-right:5px}:root.theme-auto .code-highlight td.linenos .special{color:#3c4354;background-color:#ffffc0;padding-left:5px;padding-right:5px}:root.theme-auto .code-highlight span.linenos.special{color:#3c4354;background-color:#ffffc0;padding-left:5px;padding-right:5px}:root.theme-auto .code-highlight .hll{background-color:#6e7681}:root.theme-auto .code-highlight .c{color:#7e8aa1}:root.theme-auto .code-highlight .err{color:#f88f7f}:root.theme-auto .code-highlight .esc{color:#d4d2c8}:root.theme-auto .code-highlight .g{color:#d4d2c8}:root.theme-auto .code-highlight .k{color:#ffad66}:root.theme-auto .code-highlight .l{color:#d5ff80}:root.theme-auto .code-highlight .n{color:#d4d2c8}:root.theme-auto .code-highlight .o{color:#ffad66}:root.theme-auto .code-highlight .x{color:#d4d2c8}:root.theme-auto .code-highlight .p{color:#d4d2c8}:root.theme-auto .code-highlight .ch{color:#f88f7f;font-style:italic}:root.theme-auto .code-highlight .cm{color:#7e8aa1}:root.theme-auto .code-highlight .cp{color:#ffad66;font-weight:700}:root.theme-auto .code-highlight .cpf{color:#7e8aa1}:root.theme-auto .code-highlight .c1{color:#7e8aa1}:root.theme-auto .code-highlight .cs{color:#7e8aa1;font-style:italic}:root.theme-auto .code-highlight .gd{color:#f88f7f;background-color:#3d1e20}:root.theme-auto .code-highlight .ge{color:#d4d2c8;font-style:italic}:root.theme-auto .code-highlight .ges{color:#d4d2c8}:root.theme-auto .code-highlight .gr{color:#f88f7f}:root.theme-auto .code-highlight .gh{color:#d4d2c8}:root.theme-auto .code-highlight .gi{color:#6ad4af;background-color:#19362c}:root.theme-auto .code-highlight .go{color:#7e8aa1}:root.theme-auto .code-highlight .gp{color:#d4d2c8}:root.theme-auto .code-highlight .gs{color:#d4d2c8;font-weight:700}:root.theme-auto .code-highlight .gu{color:#d4d2c8}:root.theme-auto .code-highlight .gt{color:#f88f7f}:root.theme-auto .code-highlight .kc{color:#ffad66}:root.theme-auto .code-highlight .kd{color:#ffad66}:root.theme-auto .code-highlight .kn{color:#ffad66}:root.theme-auto .code-highlight .kp{color:#ffad66}:root.theme-auto .code-highlight .kr{color:#ffad66}:root.theme-auto .code-highlight .kt{color:#73d0ff}:root.theme-auto .code-highlight .ld{color:#d5ff80}:root.theme-auto .code-highlight .m{color:#dfbfff}:root.theme-auto .code-highlight .s{color:#d5ff80}:root.theme-auto .code-highlight .na{color:#ffd173}:root.theme-auto .code-highlight .nb{color:#ffd173}:root.theme-auto .code-highlight .nc{color:#73d0ff}:root.theme-auto .code-highlight .no{color:#ffd173}:root.theme-auto .code-highlight .nd{color:#7e8aa1;font-weight:700;font-style:italic}:root.theme-auto .code-highlight .ni{color:#95e6cb}:root.theme-auto .code-highlight .ne{color:#73d0ff}:root.theme-auto .code-highlight .nf{color:#ffd173}:root.theme-auto .code-highlight .nl{color:#d4d2c8}:root.theme-auto .code-highlight .nn{color:#d4d2c8}:root.theme-auto .code-highlight .nx{color:#d4d2c8}:root.theme-auto .code-highlight .py{color:#ffd173}:root.theme-auto .code-highlight .nt{color:#5ccfe6}:root.theme-auto .code-highlight .nv{color:#d4d2c8}:root.theme-auto .code-highlight .ow{color:#ffad66}:root.theme-auto .code-highlight .pm{color:#d4d2c8}:root.theme-auto .code-highlight .w{color:#d4d2c8}:root.theme-auto .code-highlight .mb{color:#dfbfff}:root.theme-auto .code-highlight .mf{color:#dfbfff}:root.theme-auto .code-highlight .mh{color:#dfbfff}:root.theme-auto .code-highlight .mi{color:#dfbfff}:root.theme-auto .code-highlight .mo{color:#dfbfff}:root.theme-auto .code-highlight .sa{color:#f29e74}:root.theme-auto .code-highlight .sb{color:#d5ff80}:root.theme-auto .code-highlight .sc{color:#d5ff80}:root.theme-auto .code-highlight .dl{color:#d5ff80}:root.theme-auto .code-highlight .sd{color:#7e8aa1}:root.theme-auto .code-highlight .s2{color:#d5ff80}:root.theme-auto .code-highlight .se{color:#95e6cb}:root.theme-auto .code-highlight .sh{color:#d5ff80}:root.theme-auto .code-highlight .si{color:#95e6cb}:root.theme-auto .code-highlight .sx{color:#95e6cb}:root.theme-auto .code-highlight .sr{color:#95e6cb}:root.theme-auto .code-highlight .s1{color:#d5ff80}:root.theme-auto .code-highlight .ss{color:#dfbfff}:root.theme-auto .code-highlight .bp{color:#5ccfe6}:root.theme-auto .code-highlight .fm{color:#ffd173}:root.theme-auto .code-highlight .vc{color:#d4d2c8}:root.theme-auto .code-highlight .vg{color:#d4d2c8}:root.theme-auto .code-highlight .vi{color:#d4d2c8}:root.theme-auto .code-highlight .vm{color:#d4d2c8}:root.theme-auto .code-highlight .il{color:#dfbfff}:root.theme-auto .code-highlight pre{overflow:auto;margin:0;padding:0 0 .75rem}:root.theme-auto .code-highlight .linenos{-webkit-user-select:none;user-select:none;cursor:default;margin-right:8px;text-align:right}:root.theme-auto .code-highlight .linenos::selection{background:transparent}:root.theme-auto .code-highlight .linenos::-moz-selection{background:transparent}:root.theme-auto .code-highlight span.linenos{color:var(--color-line-number)}}:root.theme-dark .code-highlight pre{line-height:100%}:root.theme-dark .code-highlight td.linenos .normal{color:#3c4354;background-color:transparent;padding-left:5px;padding-right:5px}:root.theme-dark .code-highlight span.linenos{color:#3c4354;background-color:transparent;padding-left:5px;padding-right:5px}:root.theme-dark .code-highlight td.linenos .special{color:#3c4354;background-color:#ffffc0;padding-left:5px;padding-right:5px}:root.theme-dark .code-highlight span.linenos.special{color:#3c4354;background-color:#ffffc0;padding-left:5px;padding-right:5px}:root.theme-dark .code-highlight .hll{background-color:#6e7681}:root.theme-dark .code-highlight .c{color:#7e8aa1}:root.theme-dark .code-highlight .err{color:#f88f7f}:root.theme-dark .code-highlight .esc{color:#d4d2c8}:root.theme-dark .code-highlight .g{color:#d4d2c8}:root.theme-dark .code-highlight .k{color:#ffad66}:root.theme-dark .code-highlight .l{color:#d5ff80}:root.theme-dark .code-highlight .n{color:#d4d2c8}:root.theme-dark .code-highlight .o{color:#ffad66}:root.theme-dark .code-highlight .x{color:#d4d2c8}:root.theme-dark .code-highlight .p{color:#d4d2c8}:root.theme-dark .code-highlight .ch{color:#f88f7f;font-style:italic}:root.theme-dark .code-highlight .cm{color:#7e8aa1}:root.theme-dark .code-highlight .cp{color:#ffad66;font-weight:700}:root.theme-dark .code-highlight .cpf{color:#7e8aa1}:root.theme-dark .code-highlight .c1{color:#7e8aa1}:root.theme-dark .code-highlight .cs{color:#7e8aa1;font-style:italic}:root.theme-dark .code-highlight .gd{color:#f88f7f;background-color:#3d1e20}:root.theme-dark .code-highlight .ge{color:#d4d2c8;font-style:italic}:root.theme-dark .code-highlight .ges{color:#d4d2c8}:root.theme-dark .code-highlight .gr{color:#f88f7f}:root.theme-dark .code-highlight .gh{color:#d4d2c8}:root.theme-dark .code-highlight .gi{color:#6ad4af;background-color:#19362c}:root.theme-dark .code-highlight .go{color:#7e8aa1}:root.theme-dark .code-highlight .gp{color:#d4d2c8}:root.theme-dark .code-highlight .gs{color:#d4d2c8;font-weight:700}:root.theme-dark .code-highlight .gu{color:#d4d2c8}:root.theme-dark .code-highlight .gt{color:#f88f7f}:root.theme-dark .code-highlight .kc{color:#ffad66}:root.theme-dark .code-highlight .kd{color:#ffad66}:root.theme-dark .code-highlight .kn{color:#ffad66}:root.theme-dark .code-highlight .kp{color:#ffad66}:root.theme-dark .code-highlight .kr{color:#ffad66}:root.theme-dark .code-highlight .kt{color:#73d0ff}:root.theme-dark .code-highlight .ld{color:#d5ff80}:root.theme-dark .code-highlight .m{color:#dfbfff}:root.theme-dark .code-highlight .s{color:#d5ff80}:root.theme-dark .code-highlight .na{color:#ffd173}:root.theme-dark .code-highlight .nb{color:#ffd173}:root.theme-dark .code-highlight .nc{color:#73d0ff}:root.theme-dark .code-highlight .no{color:#ffd173}:root.theme-dark .code-highlight .nd{color:#7e8aa1;font-weight:700;font-style:italic}:root.theme-dark .code-highlight .ni{color:#95e6cb}:root.theme-dark .code-highlight .ne{color:#73d0ff}:root.theme-dark .code-highlight .nf{color:#ffd173}:root.theme-dark .code-highlight .nl{color:#d4d2c8}:root.theme-dark .code-highlight .nn{color:#d4d2c8}:root.theme-dark .code-highlight .nx{color:#d4d2c8}:root.theme-dark .code-highlight .py{color:#ffd173}:root.theme-dark .code-highlight .nt{color:#5ccfe6}:root.theme-dark .code-highlight .nv{color:#d4d2c8}:root.theme-dark .code-highlight .ow{color:#ffad66}:root.theme-dark .code-highlight .pm{color:#d4d2c8}:root.theme-dark .code-highlight .w{color:#d4d2c8}:root.theme-dark .code-highlight .mb{color:#dfbfff}:root.theme-dark .code-highlight .mf{color:#dfbfff}:root.theme-dark .code-highlight .mh{color:#dfbfff}:root.theme-dark .code-highlight .mi{color:#dfbfff}:root.theme-dark .code-highlight .mo{color:#dfbfff}:root.theme-dark .code-highlight .sa{color:#f29e74}:root.theme-dark .code-highlight .sb{color:#d5ff80}:root.theme-dark .code-highlight .sc{color:#d5ff80}:root.theme-dark .code-highlight .dl{color:#d5ff80}:root.theme-dark .code-highlight .sd{color:#7e8aa1}:root.theme-dark .code-highlight .s2{color:#d5ff80}:root.theme-dark .code-highlight .se{color:#95e6cb}:root.theme-dark .code-highlight .sh{color:#d5ff80}:root.theme-dark .code-highlight .si{color:#95e6cb}:root.theme-dark .code-highlight .sx{color:#95e6cb}:root.theme-dark .code-highlight .sr{color:#95e6cb}:root.theme-dark .code-highlight .s1{color:#d5ff80}:root.theme-dark .code-highlight .ss{color:#dfbfff}:root.theme-dark .code-highlight .bp{color:#5ccfe6}:root.theme-dark .code-highlight .fm{color:#ffd173}:root.theme-dark .code-highlight .vc{color:#d4d2c8}:root.theme-dark .code-highlight .vg{color:#d4d2c8}:root.theme-dark .code-highlight .vi{color:#d4d2c8}:root.theme-dark .code-highlight .vm{color:#d4d2c8}:root.theme-dark .code-highlight .il{color:#dfbfff}:root.theme-dark .code-highlight pre{overflow:auto;margin:0;padding:0 0 .75rem}:root.theme-dark .code-highlight .linenos{-webkit-user-select:none;user-select:none;cursor:default;margin-right:8px;text-align:right}:root.theme-dark .code-highlight .linenos::selection{background:transparent}:root.theme-dark .code-highlight .linenos::-moz-selection{background:transparent}:root.theme-dark .code-highlight span.linenos{color:var(--color-line-number)}html.no-js .hide_if_nojs,html.js .show_if_nojs{display:none}.center{text-align:center}.right{float:right}.left{float:left}.invisible{display:none!important}.list-unstyled{list-style-type:none}.list-unstyled li{margin-top:4px;margin-bottom:4px}.danger{background-color:var(--color-error-background)}.warning{background:var(--color-warning-background)}.success{background:var(--color-success-background)}.badge{display:inline-block;color:var(--color-toolkit-badge-font);background-color:var(--color-toolkit-badge-background);text-align:center;white-space:nowrap;vertical-align:baseline;min-width:10px;padding:1px 5px;border-radius:5px}kbd{padding:2px 4px;margin:1px;font-size:90%;color:var(--color-toolkit-kbd-font);background:var(--color-toolkit-kbd-background)}table{width:100%}table.striped tr{border-bottom:1px solid var(--color-settings-tr-hover)}th{padding:.4em}td{padding:0 4px}tr:hover{background:var(--color-settings-tr-hover)!important}div.selectable_url{display:block;border:1px solid var(--color-result-search-url-border);padding:4px;color:var(--color-result-search-url-font);margin:.1em;overflow:hidden;height:1.2em;line-height:1.2em;border-radius:5px}div.selectable_url pre{display:block;font-size:.8em;word-break:break-all;margin:.1em;-webkit-user-select:all;user-select:all}.dialog-error{position:relative;display:flex;padding:1rem;margin:0 0 1em;border:1px solid var(--color-toolkit-dialog-border);text-align:right;border-radius:10px;color:var(--color-error);background:var(--color-error-background);border-color:var(--color-error)}.dialog-error .close{float:left;position:relative;top:-3px;color:inherit;font-size:1.5em}.dialog-error ul,.dialog-error ol,.dialog-error p{margin:1px 0 0}.dialog-error table{width:auto}.dialog-error tr{vertical-align:text-top}.dialog-error tr:hover{background:transparent!important}.dialog-error td{padding:0 1em 0 0;padding-left:1rem;padding-bottom:0;padding-right:0}.dialog-error h4{margin-top:.3em;margin-bottom:.3em}.dialog-error-block{position:relative;display:flex;padding:1rem;margin:0 0 1em;border:1px solid var(--color-toolkit-dialog-border);text-align:right;border-radius:10px;display:block;color:var(--color-error);background:var(--color-error-background);border-color:var(--color-error)}.dialog-error-block .close{float:left;position:relative;top:-3px;color:inherit;font-size:1.5em}.dialog-error-block ul,.dialog-error-block ol,.dialog-error-block p{margin:1px 0 0}.dialog-error-block table{width:auto}.dialog-error-block tr{vertical-align:text-top}.dialog-error-block tr:hover{background:transparent!important}.dialog-error-block td{padding:0 1em 0 0;padding-left:1rem;padding-bottom:0;padding-right:0}.dialog-error-block h4{margin-top:.3em;margin-bottom:.3em}.dialog-warning{position:relative;display:flex;padding:1rem;margin:0 0 1em;border:1px solid var(--color-toolkit-dialog-border);text-align:right;border-radius:10px;color:var(--color-warning);background:var(--color-warning-background);border-color:var(--color-warning)}.dialog-warning .close{float:left;position:relative;top:-3px;color:inherit;font-size:1.5em}.dialog-warning ul,.dialog-warning ol,.dialog-warning p{margin:1px 0 0}.dialog-warning table{width:auto}.dialog-warning tr{vertical-align:text-top}.dialog-warning tr:hover{background:transparent!important}.dialog-warning td{padding:0 1em 0 0;padding-left:1rem;padding-bottom:0;padding-right:0}.dialog-warning h4{margin-top:.3em;margin-bottom:.3em}.dialog-modal{position:relative;display:flex;padding:1rem;border:1px solid var(--color-toolkit-dialog-border);text-align:right;border-radius:10px;display:block;background:var(--color-toolkit-dialog-background);position:fixed;top:50%;left:50%;margin:0 auto;transform:translate(-50%,-50%);z-index:5000}.dialog-modal .close{float:left;position:relative;top:-3px;color:inherit;font-size:1.5em}.dialog-modal ul,.dialog-modal ol,.dialog-modal p{margin:1px 0 0}.dialog-modal table{width:auto}.dialog-modal tr{vertical-align:text-top}.dialog-modal tr:hover{background:transparent!important}.dialog-modal td{padding:0 1em 0 0;padding-left:1rem;padding-bottom:0;padding-right:0}.dialog-modal h4{margin-top:.3em;margin-bottom:.3em}.dialog-modal h3{margin-top:0}.btn-collapse{cursor:pointer}.scrollx{overflow:auto hidden;display:block;padding:0;margin:0;border:none}.tabs .tabs>label{font-size:90%}ul.tabs{border-bottom:1px solid var(--color-toolkit-tabs-section-border);list-style:none;padding-left:0}ul.tabs li{display:flex}.tabs{display:flex;flex-wrap:wrap;width:100%;min-width:100%}.tabs>*{order:2}.tabs>input[type=radio]{display:none}.tabs>label,.tabs>li>a{order:1;padding:.7em;margin:0 .7em;letter-spacing:.5px;text-transform:uppercase;border:solid var(--color-toolkit-tabs-label-border);border-width:0 0 2px 0;color:unset;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;cursor:pointer}.tabs>label.active,.tabs>li>a.active{border-bottom:2px solid var(--color-categories-item-border-selected);background:var(--color-categories-item-selected);color:var(--color-categories-item-selected-font)}.tabs>label:hover,.tabs>li>a:hover{border-bottom:2px solid var(--color-categories-item-border-selected)}.tabs>section{min-width:100%;padding:.7rem 0;box-sizing:border-box;border-top:1px solid var(--color-toolkit-tabs-section-border);display:none}.tabs>label:last-of-type{border-bottom:2px solid var(--color-categories-item-border-selected);background:var(--color-categories-item-selected);color:var(--color-categories-item-selected-font);letter-spacing:-.1px}.tabs>section:last-of-type{display:block}html body .tabs>input:checked~section{display:none}html body .tabs>input:checked~label{position:inherited;background:inherit;border-bottom:2px solid transparent;font-weight:400;color:inherit}html body .tabs>input:checked~label:hover{border-bottom:2px solid var(--color-categories-item-border-selected)}html body .tabs>input:checked+label{border-bottom:2px solid var(--color-categories-item-border-selected);background:var(--color-categories-item-selected);color:var(--color-categories-item-selected-font)}html body .tabs>input:checked+label+section{display:block}select{height:2.4rem;margin-top:0;margin-left:1rem;margin-bottom:0;margin-right:0;padding:.2rem!important;color:var(--color-search-font);font-size:.9rem;z-index:100}select:hover,select:focus{cursor:pointer}@supports ((background-position-x: 100%) and ((appearance: none) or (-webkit-appearance: none) or (-moz-appearance: none))){select{appearance:none;-webkit-appearance:none;-moz-appearance:none;border-width:0 2rem 0 0;border-color:transparent;background:url(data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22512%22%20height%3D%22512%22%20viewBox%3D%220%200%20512%20512%22%3E%0A%3Cg%3E%3Cpolygon%20points%3D%22128%2C192%20256%2C320%20384%2C192%22%2F%3E%3C%2Fg%3E%0A%3C%2Fsvg%3E) no-repeat;background-position-x:calc(100% + 2rem);background-size:2rem;background-origin:content-box;background-color:var(--color-toolkit-select-background);outline:medium none;text-overflow:ellipsis;border-radius:5px}select:hover,select:focus{background-color:var(--color-toolkit-select-background-hover)}select option{background-color:var(--color-base-background)}@media (prefers-color-scheme: dark){html.theme-auto select,html.theme-dark select{background-image:url(data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22512%22%20height%3D%22512%22%20viewBox%3D%220%200%20512%20512%22%3E%0A%3Cg%3E%3Cpolygon%20fill%3D%22%23ddd%22%20points%3D%22128%2C192%20256%2C320%20384%2C192%22%2F%3E%3C%2Fg%3E%0A%3C%2Fsvg%3E)}}html.theme-dark select{background-image:url(data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22512%22%20height%3D%22512%22%20viewBox%3D%220%200%20512%20512%22%3E%0A%3Cg%3E%3Cpolygon%20fill%3D%22%23ddd%22%20points%3D%22128%2C192%20256%2C320%20384%2C192%22%2F%3E%3C%2Fg%3E%0A%3C%2Fsvg%3E)}}input.checkbox-onoff[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;display:inline-block;width:2.5em;height:.7em;box-shadow:none!important;margin:0 16px;border-radius:10px;position:relative}input.checkbox-onoff[type=checkbox]:focus,input.checkbox-onoff[type=checkbox]:hover{outline:none}input.checkbox-onoff[type=checkbox]:focus:after{content:"";position:absolute;width:3.5em;height:1.65em;border:1px solid var(--color-btn-background);border-radius:12px;box-shadow:var(--color-btn-background) 0 0 3px;z-index:1200;top:-.55em;left:-.6em}input.checkbox-onoff[type=checkbox]:before{position:absolute;top:-.5em;display:flex;justify-content:center;align-items:center;font-size:.75em;width:1.875em;height:1.875em;border-radius:50%}input.checkbox-onoff[type=checkbox],input.checkbox-onoff.reversed-checkbox[type=checkbox]:checked{background:var(--color-toolkit-checkbox-onoff-off-background)}input.checkbox-onoff[type=checkbox]:before,input.checkbox-onoff.reversed-checkbox[type=checkbox]:checked:before{left:-.5em;content:"✕";color:var(--color-toolkit-checkbox-onoff-off-mark-color);background:var(--color-toolkit-checkbox-onoff-off-mark-background)}input.checkbox-onoff[type=checkbox]:checked,input.checkbox-onoff.reversed-checkbox[type=checkbox]{background:var(--color-toolkit-checkbox-onoff-on-background)}input.checkbox-onoff[type=checkbox]:checked:before,input.checkbox-onoff.reversed-checkbox[type=checkbox]:before{left:calc(100% - 1.5em);content:"✓";color:var(--color-toolkit-checkbox-onoff-on-mark-color);background:var(--color-toolkit-checkbox-onoff-on-mark-background)}@supports (transform: rotate(-45deg)){input[type=checkbox]:not(.checkbox-onoff){-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;cursor:pointer;position:relative;top:0;left:0;border:2px solid var(--color-toolkit-checkbox-input-border);border-radius:.3em}input[type=checkbox]:not(.checkbox-onoff):after{content:"";width:9px;height:5px;position:absolute;top:3px;left:2px;border:3px solid var(--color-toolkit-checkbox-label-border);border-top:none;border-right:none;background:transparent;opacity:0;transform:rotate(-45deg)}input[type=checkbox]:not(.checkbox-onoff):checked:after{border-color:var(--color-toolkit-checkbox-input-border);opacity:1}input[type=checkbox][disabled]:not(.checkbox-onoff){border:inherit;background-color:transparent!important;cursor:inherit}input.checkbox[type=checkbox]:not(:checked,[disabled],.checkbox-onoff):hover:after{opacity:.5}}@media screen and (max-width: 50em){.tabs>label{width:100%}}.loader,.loader:after{border-radius:50%;width:2em;height:2em}.loader{margin:1em auto;font-size:10px;position:relative;text-indent:-9999em;border-top:.5em solid var(--color-toolkit-loader-border);border-right:.5em solid var(--color-toolkit-loader-border);border-bottom:.5em solid var(--color-toolkit-loader-border);border-left:.5em solid var(--color-toolkit-loader-borderleft);-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0);-webkit-animation:load8 1.2s infinite linear;animation:load8 1.2s infinite linear}@-webkit-keyframes load8{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes load8{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.engine-tooltip{display:none;position:absolute;padding:.5rem 1rem;margin:0 0 0 2rem;border:1px solid var(--color-toolkit-engine-tooltip-border);background:var(--color-toolkit-engine-tooltip-background);font-size:14px;font-weight:400;z-index:5000;text-align:left;border-radius:10px}th:hover .engine-tooltip,td:hover .engine-tooltip,.engine-tooltip:hover{display:inline-block}.stacked-bar-chart{margin:0;padding:0 .125rem 0 4rem;width:100%;width:-moz-available;width:-webkit-fill-available;width:fill;flex-flow:row nowrap;align-items:center;display:inline-flex}.stacked-bar-chart-value{width:3rem;display:inline-block;position:absolute;padding:0 .5rem;text-align:right}.stacked-bar-chart-base{display:flex;flex-shrink:0;flex-grow:0;flex-basis:unset}.stacked-bar-chart-median{display:flex;flex-shrink:0;flex-grow:0;flex-basis:unset;background:var(--color-base-font);border:1px solid rgba(var(--color-base-font-rgb),.9);padding:.3rem 0}.stacked-bar-chart-rate80{display:flex;flex-shrink:0;flex-grow:0;flex-basis:unset;background:transparent;border:1px solid rgba(var(--color-base-font-rgb),.3);padding:.3rem 0}.stacked-bar-chart-rate95{display:flex;flex-shrink:0;flex-grow:0;flex-basis:unset;background:transparent;border-bottom:1px dotted rgba(var(--color-base-font-rgb),.5);padding:0}.stacked-bar-chart-rate100{display:flex;flex-shrink:0;flex-grow:0;flex-basis:unset;background:transparent;border-left:1px solid rgba(var(--color-base-font-rgb),.9);padding:.4rem 0;width:1px}/*! Autocomplete.js v2.6.3 | license MIT | (c) 2017, Baptiste Donaux | http://autocomplete-js.com */.autocomplete{position:absolute;width:44rem;max-height:0;overflow-y:hidden;text-align:right;border-radius:10px}.autocomplete:active,.autocomplete:focus,.autocomplete:hover{background-color:var(--color-autocomplete-background)}.autocomplete:empty{display:none}.autocomplete>ul{list-style-type:none;margin:0;padding:0}.autocomplete>ul>li{cursor:pointer;padding:.5rem 1rem}.autocomplete>ul>li.active,.autocomplete>ul>li:active,.autocomplete>ul>li:focus,.autocomplete>ul>li:hover{background-color:var(--color-autocomplete-background-hover)}.autocomplete>ul>li.active a:active,.autocomplete>ul>li:active a:active,.autocomplete>ul>li:focus a:active,.autocomplete>ul>li:hover a:active,.autocomplete>ul>li.active a:focus,.autocomplete>ul>li:active a:focus,.autocomplete>ul>li:focus a:focus,.autocomplete>ul>li:hover a:focus,.autocomplete>ul>li.active a:hover,.autocomplete>ul>li:active a:hover,.autocomplete>ul>li:focus a:hover,.autocomplete>ul>li:hover a:hover{text-decoration:none}.autocomplete>ul>li.locked{cursor:inherit}.autocomplete.open{display:block;background-color:var(--color-autocomplete-background);color:var(--color-autocomplete-font);max-height:32rem;overflow-y:auto;z-index:5000;margin-top:3.5rem;border-radius:.8rem}.autocomplete.open:empty{display:none}@media screen and (max-width: 50em){.autocomplete{width:100%}.autocomplete>ul>li{padding:1rem}}#main_results #results.image-detail-open.only_template_images{width:min(98%,59.25rem)!important}#main_results #results.only_template_images.image-detail-open #backToTop{right:56.75rem!important;left:inherit}article.result-images .detail{display:none}#results.image-detail-open article.result-images[data-vim-selected] .detail{display:flex;flex-direction:column;position:fixed;right:60rem;left:0;top:13rem;transition:top 64ms ease-in 0s;bottom:0;background:var(--color-result-detail-background);border:1px solid var(--color-result-detail-background);z-index:1000;padding:4rem 3rem 3rem}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-images-source{display:block;flex:1;text-align:left;width:100%;border:none;text-decoration:none}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-images-source img{padding:0;margin:0;border:none;object-fit:contain;width:inherit;height:inherit;max-width:100%;min-height:inherit;max-height:calc(100vh - 32rem);background:inherit}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels{color:var(--color-result-detail-font);height:19rem}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels hr{border-top:1px solid var(--color-result-detail-hr);border-bottom:none}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels h4{height:2rem;overflow:hidden;text-overflow:ellipsis;font-size:.9rem;margin-bottom:0}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p{color:var(--color-result-detail-label-font);font-size:.9rem;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin:.8rem 0}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p span{display:inline-block;width:12rem}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels h4,#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p,#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels a{text-align:right}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p.result-content{height:2rem;line-height:unset;overflow:hidden;text-overflow:ellipsis}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p.result-url{white-space:nowrap;overflow:hidden hidden;text-overflow:ellipsis}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p.result-content:hover,#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p.result-url:hover{position:relative;overflow:inherit!important;background:var(--color-result-detail-background);text-overflow:inherit!important}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels a,#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels a:visited,#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels a:hover,#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels a:active{color:var(--color-result-detail-link)}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels a:hover{text-decoration:underline}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close{top:1rem;right:1rem;padding:.4rem}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous{top:1rem;left:6rem;padding:.4rem .3rem .4rem .5rem}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next{top:1rem;left:2rem;padding:.4rem}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous{border-radius:50%;display:block;width:1.5rem;height:1.5rem;position:absolute;filter:opacity(40%);z-index:1200}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close span,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next span,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous span{display:block;width:1.5rem;height:1.5rem;text-align:center}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next span:before,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous span:before{vertical-align:sub}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close:visited,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close:hover,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close:active,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous:visited,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous:hover,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous:active,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next:visited,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next:hover,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next:active{color:var(--color-result-detail-font);background:var(--color-result-detail-background);border:1px solid var(--color-result-detail-font)}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close:focus,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close:hover,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous:focus,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous:hover,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next:focus,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next:hover{filter:opacity(80%)}#results.image-detail-open article.result-images[data-vim-selected] .detail .loader{position:absolute;top:1rem;left:50%;border-top:.5em solid var(--color-result-detail-loader-border);border-right:.5em solid var(--color-result-detail-loader-border);border-bottom:.5em solid var(--color-result-detail-loader-border);border-left:.5em solid var(--color-result-detail-loader-borderleft)}#results.image-detail-open.scrolling article.result-images[data-vim-selected] .detail{top:0}#results.image-detail-open.scrolling article.result-images[data-vim-selected] .detail a.result-images-source img{max-height:calc(100vh - 25rem)}@media screen and (max-width: 79.75em){#results.image-detail-open article.result-images[data-vim-selected] .detail{top:0;right:0}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-images-source{display:flex;flex-direction:column;justify-content:center}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-images-source img{width:100%;max-height:calc(100vh - 24rem)}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next{left:1rem}}@media screen and (max-width: 50em){#results.image-detail-open article.result-images[data-vim-selected] .detail{top:0;right:0;padding:1rem}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-images-source img{width:100%;max-height:calc(100vh - 20rem);margin:0}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p span{width:inherit;margin-left:1rem}}.dialog-modal{animation-name:dialogmodal;animation-duration:.13s}@keyframes dialogmodal{0%{opacity:0}50%{opacity:.5;transform:translate(-50%,-50%) scale(1.05)}}input.checkbox-onoff[type=checkbox]:before{transition:left .25s}iframe[src^="https://w.soundcloud.com"]{height:120px}iframe[src^="https://www.deezer.com"]{height:94px}iframe[src^="https://www.mixcloud.com"]{height:250px}iframe[src^="https://bandcamp.com/EmbeddedPlayer"]{height:350px}iframe[src^="https://bandcamp.com/EmbeddedPlayer/track"]{height:120px}iframe[src^="https://genius.com/songs"]{height:65px}.info-page code{font-family:monospace;border-radius:5px;background-color:var(--color-doc-code-background);color:var(--color-doc-code);padding:.2rem;border:0 none}.stats_endpoint .github-issue-button{display:block;font-size:16px}.stats_endpoint .issue-hide{display:none}.stats_endpoint input[type=checked]{position:absolute}.stats_endpoint label{margin:1rem 1rem 1rem 0}.stats_endpoint .step_content{margin:1rem 1rem 1rem 2rem}.stats_endpoint .step1,.stats_endpoint .step2{visibility:hidden}.stats_endpoint .step1_delay{transition:visibility 0s linear 4s}.stats_endpoint #step1:checked~.step1,.stats_endpoint #step2:checked~.step2{visibility:visible}.engine-stats{border-spacing:0;border-collapse:collapse}.engine-stats tr td,.engine-stats tr th{border-bottom:1px solid var(--color-result-border);padding:.25rem}.engine-stats table.engine-tooltip{border-spacing:0;border-collapse:collapse}.engine-stats table.engine-tooltip td,.engine-stats table.engine-tooltip th{border:none}.engine-stats .engine-name{width:20rem}.engine-stats .engine-score{width:7rem;text-align:right}.engine-stats .engine-reliability{text-align:right}table.engine-error th.engine-error-type,table.engine-error td.engine-error-type,failed-test{width:10rem}.engine-errors{margin-top:3rem}.engine-errors table.engine-error{max-width:1280px;margin:1rem 0 3rem;border:1px solid var(--color-result-border);text-align:right}.engine-errors table.engine-error tr th,.engine-errors table.engine-error tr td{padding:.5rem}.engine-errors table.engine-error span.log_parameters{border-right:1px solid solid var(--color-result-border);padding:0 1rem 0 0;margin:0 0 0 .5rem}.bar-chart-value{width:3em;display:inline-block;text-align:right;padding-right:.5rem}.bar-chart-graph{width:calc(100% - 5rem);display:inline-block}.bar-chart-bar{border:3px solid var(--color-bar-chart-primary);margin:1px 0}.bar-chart-serie1{border:3px solid var(--color-bar-chart-primary);margin:1px 0;float:left}.bar-chart-serie2{border:3px solid var(--color-bar-chart-secondary);margin:1px 0;float:left}.bar0{width:0;border:0}.bar1{width:1%}.bar2{width:2%}.bar3{width:3%}.bar4{width:4%}.bar5{width:5%}.bar6{width:6%}.bar7{width:7%}.bar8{width:8%}.bar9{width:9%}.bar10{width:10%}.bar11{width:11%}.bar12{width:12%}.bar13{width:13%}.bar14{width:14%}.bar15{width:15%}.bar16{width:16%}.bar17{width:17%}.bar18{width:18%}.bar19{width:19%}.bar20{width:20%}.bar21{width:21%}.bar22{width:22%}.bar23{width:23%}.bar24{width:24%}.bar25{width:25%}.bar26{width:26%}.bar27{width:27%}.bar28{width:28%}.bar29{width:29%}.bar30{width:30%}.bar31{width:31%}.bar32{width:32%}.bar33{width:33%}.bar34{width:34%}.bar35{width:35%}.bar36{width:36%}.bar37{width:37%}.bar38{width:38%}.bar39{width:39%}.bar40{width:40%}.bar41{width:41%}.bar42{width:42%}.bar43{width:43%}.bar44{width:44%}.bar45{width:45%}.bar46{width:46%}.bar47{width:47%}.bar48{width:48%}.bar49{width:49%}.bar50{width:50%}.bar51{width:51%}.bar52{width:52%}.bar53{width:53%}.bar54{width:54%}.bar55{width:55%}.bar56{width:56%}.bar57{width:57%}.bar58{width:58%}.bar59{width:59%}.bar60{width:60%}.bar61{width:61%}.bar62{width:62%}.bar63{width:63%}.bar64{width:64%}.bar65{width:65%}.bar66{width:66%}.bar67{width:67%}.bar68{width:68%}.bar69{width:69%}.bar70{width:70%}.bar71{width:71%}.bar72{width:72%}.bar73{width:73%}.bar74{width:74%}.bar75{width:75%}.bar76{width:76%}.bar77{width:77%}.bar78{width:78%}.bar79{width:79%}.bar80{width:80%}.bar81{width:81%}.bar82{width:82%}.bar83{width:83%}.bar84{width:84%}.bar85{width:85%}.bar86{width:86%}.bar87{width:87%}.bar88{width:88%}.bar89{width:89%}.bar90{width:90%}.bar91{width:91%}.bar92{width:92%}.bar93{width:93%}.bar94{width:94%}.bar95{width:95%}.bar96{width:96%}.bar97{width:97%}.bar98{width:98%}.bar99{width:99%}.bar100{width:100%}.osm-map-box{height:300px;width:100%;margin:10px 0}#main_index{margin-top:26vh}.index{text-align:center}.index .title{background:url(../img/searxng.png) no-repeat;min-height:4rem;margin:4rem auto;background-position:center;background-size:contain}.index h1{font-size:4em;visibility:hidden}.index #search,.index #search_header{margin:0 auto;background:inherit;border:inherit;padding:0;display:block}.index .search_filters{display:block;margin:1em 0}.index .category label{padding:6px 10px;border-bottom:initial!important}@media screen and (max-width: 79.75em){div.title h1{font-size:1em}#main_index{margin-top:6em}}table{border-collapse:collapse}table th,table td{text-align:center;padding:1rem .5rem;text-align:right}table tr.pref-group th{font-weight:400;text-align:right;background:var(--color-settings-table-group-background)}#main_preferences form{width:100%}#main_preferences fieldset{margin:8px;border:none}#main_preferences legend{margin:0;padding:5px 0 0;display:block;float:right;width:300px}#main_preferences input[type=text]{width:13.25rem;color:var(--color-toolkit-input-text-font);border:none;background:none repeat scroll 0 0 var(--color-toolkit-select-background);padding:.2rem .4rem;height:2rem;border-radius:5px}#main_preferences input[type=text]:hover,#main_preferences input[type=text]:focus{background-color:var(--color-toolkit-select-background-hover)}#main_preferences div.pref-group{width:100%;font-weight:400;padding:1rem .5rem;text-align:right;background:var(--color-settings-table-group-background)}#main_preferences .value{margin:0;padding:0;float:right;width:15em}#main_preferences .value select,#main_preferences .value input[type=text]{font-size:inherit!important;margin-top:0;margin-left:1rem;margin-bottom:0;margin-right:0}#main_preferences .value select{width:14rem}#main_preferences .value select:focus,#main_preferences .value input:focus{outline:none;box-shadow:0 0 1px 1px var(--color-btn-background)}#main_preferences .description{margin:0;padding:5px 0 0;float:left;width:50%;color:var(--color-settings-engine-description-font);font-size:90%}#main_preferences .bang{text-align:right;border-radius:5px;background-color:var(--color-doc-code-background);color:var(--color-doc-code);padding:.2rem;border:0 none}#main_preferences .category{margin-left:.5rem}#main_preferences .category label{border:2px solid transparent;padding:.2rem .4rem;border-radius:5px}#main_preferences .category input[type=checkbox]:checked+label{border:2px solid var(--color-categories-item-border-selected)}#main_preferences table.table_engines th.name label{cursor:pointer}#main_preferences table.table_engines th.name .engine-tooltip{margin-top:1.8rem;right:calc((100% - 85em)/2 + 10em);max-width:40rem}#main_preferences table.table_engines th.name .engine-tooltip .engine-description{margin-top:.5rem}#main_preferences table.table_engines th.name .engine-tooltip .bang{margin:.3rem}#main_preferences table.table_engines .checkbox-col,#main_preferences table.table_engines .name,#main_preferences table.table_engines .shortcut{text-align:right}#main_preferences table.cookies{width:100%;direction:ltr}#main_preferences table.cookies th,#main_preferences table.cookies td{text-align:left;font-family:monospace;font-size:1rem;padding:.5em;vertical-align:top}#main_preferences table.cookies td:first-child{word-break:keep-all;width:14rem;padding-right:1rem}#main_preferences table.cookies td:last-child{word-break:break-all}#main_preferences table.cookies>tbody>tr:nth-child(2n)>th,#main_preferences table.cookies>tbody>tr:nth-child(2n)>td{background-color:var(--color-settings-tr-hover)}#main_preferences .preferences_back{background:none repeat scroll 0 0 var(--color-btn-background);color:var(--color-btn-font);border:0 none;border-radius:10px;cursor:pointer;display:inline-block;margin:2px 4px;padding:.7em}#main_preferences .preferences_back a{color:var(--color-settings-return-font)}#main_preferences .preferences_back a:first-letter{text-transform:uppercase}#main_preferences #toggle-all-engines-container{width:max-content;margin-left:auto}#main_preferences div.selectable_url pre{width:100%}#main_preferences #copy-hash-container{display:flex;align-items:center;gap:.5rem}#main_preferences #copy-hash-container div.selectable_url pre{width:auto;flex-grow:1}#main_preferences #pref-hash-input{width:100%}@media screen and (max-width: 79.75em){.preferences_back{clear:both}.engine-tooltip{right:10em!important}}#search{padding:0;margin:0}#search_header{padding-top:1.5em;padding-left:2em;padding-right:7rem;margin:0;background:var(--color-header-background);border-bottom:1px solid var(--color-header-border);display:grid;gap:1rem 1.2rem;grid-template-columns:3rem 1fr;grid-template-areas:"logo search" "spacer categories"}.category_checkbox,.category_button{display:inline-block;position:relative;margin-left:1rem;padding:0}.category_checkbox input{display:none}.category_checkbox label{cursor:pointer;padding:.2rem 0;display:inline-flex;text-transform:capitalize;font-size:.9em;border-bottom:2px solid transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.category_checkbox label svg{padding-right:.2rem}.category_checkbox label div.category_name{margin:auto 0}.category_checkbox input[type=checkbox]:checked+label{color:var(--color-categories-item-selected-font);border-bottom:2px solid var(--color-categories-item-border-selected)}button.category_button{background-color:inherit;color:var(--color-base-font);cursor:pointer;padding:.2rem 0;display:inline-flex;align-items:center;text-transform:capitalize;font-size:.9em;border:none;border-bottom:2px solid transparent}button.category_button svg{padding-right:.2rem}button.category_button.selected,button.category_button:active{color:var(--color-categories-item-selected-font);border-bottom:2px solid var(--color-categories-item-border-selected)}.no-js #categories_container:has(button.category_button:focus-within) button.category_button.selected{color:var(--color-base-font);border-bottom:none}.no-js #categories_container:has(button.category_button:focus-within) button.category_button:focus-within{color:var(--color-categories-item-selected-font);border-bottom:2px solid var(--color-categories-item-border-selected)}#search_logo{padding:.5rem 10px 0;grid-area:logo;display:flex;align-items:center;justify-content:center}#search_logo svg{flex:1;width:30px;height:30px;margin:.5rem 0 auto}.search_categories{grid-area:categories}.search_categories .help{display:none}.search_categories:hover .help{display:block;position:absolute;background:var(--color-base-background);padding:1rem .6rem .6rem 0;z-index:1000;width:100%;left:-.1rem}#search_view{padding:.5rem .3rem 0 .5rem;grid-area:search}body.results_endpoint #search_view{padding:.5rem 2.8rem 0 0}.search_box{border-radius:.8rem;width:44rem;display:inline-flex;flex-direction:row;white-space:nowrap;box-shadow:var(--color-search-shadow)}#clear_search{display:block;border-collapse:separate;box-sizing:border-box;width:1.8rem;margin:0;padding:.8rem .2rem;background:none repeat scroll 0 0 var(--color-search-background);border:none;outline:none;color:var(--color-search-font);font-size:1.1rem;z-index:1000}#clear_search:hover{color:var(--color-search-background-hover)}#clear_search.empty *,html.no-js #clear_search.hide_if_nojs{display:none}#q,#send_search{display:block;margin:0;padding:.8rem;background:none repeat scroll 0 0 var(--color-search-background);border:none;outline:none;color:var(--color-search-font);font-size:1.1rem;z-index:100}#q{width:100%;padding-right:1rem;padding-left:0!important;border-radius:0 .8rem .8rem 0}#q::-ms-clear,#q::-webkit-search-cancel-button{display:none}#send_search{border-radius:.8rem 0 0 .8rem}#send_search:hover{cursor:pointer;background-color:var(--color-search-background-hover);color:var(--color-search-background)}.no-js #clear_search,.no-js #send_search{width:auto!important;border-right:1px solid var(--color-search-border)}.search_filters{margin-top:.6rem;margin-left:0;margin-bottom:0;margin-right:10.6rem;display:flex;overflow-x:auto;overscroll-behavior-inline:contain}.search_filters select{background-color:inherit}.search_filters select:hover,.search_filters select:focus{color:var(--color-base-font)}@media screen and (max-width: 79.75em){#search_header{padding:1.5em .5rem 0;column-gap:.5rem}.search_filters{margin-top:.6rem;margin-left:0;margin-bottom:0;margin-right:3.5rem}#categories{font-size:90%;clear:both}}@media screen and (max-width: 79.75em) and (hover: none){#main_index #categories_container,#main_results #categories_container{width:max-content}#main_index #categories_container .category_checkbox,#main_results #categories_container .category_checkbox{display:inline-block;width:auto}#main_index #categories,#main_results #categories{width:100%;text-align:right;overflow:scroll hidden;-webkit-overflow-scrolling:touch}}@media screen and (max-width: 50em){#search_header{width:100%;margin:0;padding:.1rem 0 0;gap:0 0;grid-template-areas:"logo search" "categories categories"}.search_logo{padding:0}.search_box{width:98%;display:flex}#q{width:100%;flex:1}.search_filters{margin:0 10px;padding:.5rem 0}.category{display:inline-block;width:auto;margin:0}.category svg{display:none}.category_checkbox label,.category_button{padding:1rem!important;margin:0!important}#search_view:focus-within{display:block;background-color:var(--color-search-background);position:absolute;top:0;height:100%;width:100%;z-index:2000}#search_view:focus-within .search_box{border-bottom:1px solid var(--color-search-border);width:100%;border-radius:0;box-shadow:none}#search_view:focus-within .search_box #send_search{margin-left:0!important}#search_view:focus-within .search_box *{border:none;border-radius:0;box-shadow:none}#main_results #q:placeholder-shown~#send_search{margin-left:2.6rem;transition:margin .1s}}@media screen and (max-width: 20rem){#search_header{grid-template-areas:"search search" "categories categories"}#search_logo{display:none}}#categories{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}#categories::-webkit-scrollbar{width:0;height:0}#categories_container{position:relative}.favicon img{height:1.5rem;width:1.5rem;border-radius:10%;background-color:var(--color-favicon-background-color);border:1px solid var(--color-favicon-border-color);display:flex}@media screen and (min-width: 50em){.center-alignment-yes #main_results{--center-page-width: 48rem}}@media screen and (width >= 62rem){.center-alignment-yes #main_results{--center-page-width: 60rem}}@media screen and (min-width: 79.75em){.center-alignment-yes #main_results{--center-page-width: 73rem}}@media screen and (min-width: 50em) and (max-width: 79.75em){.center-alignment-yes #main_results #results{grid-template-columns:60% calc(40% - 5rem);margin-left:0;margin-right:0}.center-alignment-yes #main_results #urls{margin-right:3rem}.center-alignment-yes #main_results #sidebar{margin-left:1rem}.center-alignment-yes #main_results #backToTop{right:calc(60% + 1rem)}}@media screen and (min-width: 79.75em){.center-alignment-yes #main_results{display:flex;flex-direction:column;align-items:center}.center-alignment-yes #main_results #search{width:100%;display:flex;flex-direction:column;align-items:center}.center-alignment-yes #main_results #search_header{grid-template-columns:calc(50% - 4.5rem - var(--center-page-width) / 2) 3rem var(--center-page-width);grid-template-areas:"na logo search" "na spacer categories";column-gap:1.2rem;width:100%;padding-left:0;padding-right:0}.center-alignment-yes #main_results .search_filters{margin-right:.5rem;width:var(--center-page-width)}.center-alignment-yes #main_results #results{margin-left:2rem;margin-right:10rem}.center-alignment-yes #main_results #results.only_template_images,.center-alignment-yes #main_results #results.image-detail-open{align-self:flex-start}.center-alignment-yes #main_results #results:not(.only_template_images,.image-detail-open){margin-right:1.5rem;grid-template-columns:calc(var(--center-page-width) - 5rem - 25rem) 25rem}.center-alignment-yes #main_results #results:not(.only_template_images,.image-detail-open) #backToTop{right:calc(50% - 25rem - 5rem + 1rem + var(--center-page-width) / 2)}.center-alignment-yes #main_results #results .result .content{max-width:inherit}.center-alignment-yes #main_results #urls{margin-right:0}.center-alignment-yes #main_results #sidebar{margin-left:0}}.sxng-icon-set{display:inline-block;vertical-align:bottom;line-height:1;text-decoration:inherit;transform:scaleX(-1)}.sxng-icon-set-small{width:1rem;height:1rem;display:inline-block;vertical-align:bottom;line-height:1;text-decoration:inherit;transform:scaleX(-1)}.sxng-icon-set-big{width:1.5rem;height:1.5rem;display:inline-block;vertical-align:bottom;line-height:1;text-decoration:inherit;transform:scaleX(-1)}html{font-family:sans-serif;font-size:.9em;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;color:var(--color-base-font);background-color:var(--color-base-background);padding:0;margin:0;scroll-behavior:smooth}body,main{padding:0;margin:0}body{display:flex;flex-direction:column;height:100vh;margin:0}@supports (height: 100dvh){body{height:100dvh}}main{width:100%;margin-bottom:2rem;flex:1}.page_with_header{margin:2em auto;width:85em}footer{clear:both;min-height:4rem;padding:1rem 0;width:100%;text-align:center;background-color:var(--color-footer-background);border-top:1px solid var(--color-footer-border);overflow:hidden}footer p{font-size:.9em}.page_with_header .logo{height:40px}input[type=submit],#results button[type=submit],.button{padding:.7rem;display:inline-block;background:var(--color-btn-background);color:var(--color-btn-font);border-radius:10px;border:0;cursor:pointer}a{text-decoration:none;color:var(--color-url-font)}a:visited,a:visited .highlight{color:var(--color-url-visited-font)}article[data-vim-selected]{background:var(--color-result-vim-selected);border-right:.2rem solid var(--color-result-vim-arrow);border-radius:10px 0 0 10px}article.result-images[data-vim-selected]{background:var(--color-result-vim-arrow);border:none;border-radius:10px}article.result-images[data-vim-selected] .image_thumbnail{filter:opacity(60%)}article.result-images[data-vim-selected] span.title,article.result-images[data-vim-selected] span.source{color:var(--color-result-image-span-font-selected)}article[data-vim-selected].category-videos,article[data-vim-selected].category-news,article[data-vim-selected].category-map,article[data-vim-selected].category-music,article[data-vim-selected].category-files,article[data-vim-selected].category-social{border:1px solid var(--color-result-vim-arrow);border-radius:10px}.result{margin:.125rem 0;padding:1rem;box-sizing:border-box;width:100%;border-right:.2rem solid transparent}.result h3{font-size:1.2rem;word-wrap:break-word;margin:.4rem 0;padding:0}.result h3 a{color:var(--color-result-link-font);font-weight:400;font-size:1.1em}.result h3 a:visited{color:var(--color-result-link-visited-font)}.result h3 a:focus,.result h3 a:hover{text-decoration:underline;border:none;outline:none}.result .cache_link,.result .proxyfied_link{font-size:smaller!important;margin-left:.5rem}.result .content,.result .stat{font-size:.9em;margin:0;padding:0;max-width:54em;word-wrap:break-word;line-height:1.24}.result .content .highlight,.result .stat .highlight{color:var(--color-result-description-highlight-font);background:inherit;font-weight:700}.result .altlink a{font-size:.9em;margin:0 10px 0 0;padding:5px 10px;border-radius:5px;background:var(--color-show-btn-background);color:var(--color-show-btn-font);cursor:pointer}.result .altlink a:hover{background:var(--color-btn-background);color:var(--color-btn-font)}.result .codelines .highlight{color:inherit;background:inherit;font-weight:400}.result .url_header{display:flex;gap:.5rem}.result .url_wrapper{display:flex;align-items:center;font-size:1rem;color:var(--color-result-url-font);flex-flow:row nowrap;overflow:hidden;margin:0;padding:0}.result .url_wrapper .url_o1{white-space:nowrap;flex-shrink:1;padding-bottom:1px}.result .url_wrapper .url_o1 .url_i1{unicode-bidi:plaintext}.result .url_wrapper .url_o1:after{content:" ";width:1ch;display:inline-block}.result .url_wrapper .url_o2{overflow:hidden;white-space:nowrap;flex:0 1 content;text-align:right;padding-bottom:1px}.result .url_wrapper .url_o2 .url_i2{float:right}.result .published_date,.result .result_length,.result .result_views,.result .result_author,.result .result_shipping,.result .result_source_country{font-size:.8em;color:var(--color-result-publishdate-font)}.result .result_price{font-size:1.2em;color:var(--color-result-description-highlight-font)}.result img.thumbnail{float:right;padding-top:.6rem;padding-left:1rem;width:7rem;height:unset}.result .break{clear:both}.result-paper .attributes,.result-packages .attributes{display:table;border-spacing:.125rem}.result-paper .attributes div,.result-packages .attributes div{display:table-row}.result-paper .attributes div span,.result-packages .attributes div span{font-size:.9rem;margin-top:.25rem;display:table-cell}.result-paper .attributes div span time,.result-packages .attributes div span time{font-size:.9rem}.result-paper .attributes div span:first-child,.result-packages .attributes div span:first-child{color:var(--color-base-font);min-width:10rem}.result-paper .attributes div span:nth-child(2),.result-packages .attributes div span:nth-child(2){color:var(--color-result-publishdate-font)}.result-paper .content,.result-packages .content{margin-top:.25rem}.result-paper .comments,.result-packages .comments{font-size:.9rem;margin:.25rem 0 0;padding:0;word-wrap:break-word;line-height:1.24;font-style:italic}.result-packages .attributes{margin-top:.3rem}.template_group_images{display:flex;flex-wrap:wrap}.template_group_images:after{flex-grow:10;content:""}.category-videos,.category-news,.category-map,.category-music,.category-files,.category-social{border:1px solid var(--color-result-border);margin:0 .5rem 1rem!important;border-radius:10px}.category-social .image{width:auto!important;min-width:48px;min-height:48px;padding:0 5px 25px 0!important}.audio-control audio{width:100%;padding:10px 0 0}.embedded-content iframe{width:100%;padding:10px 0 0}.result-videos img.thumbnail{float:right;padding-top:.6rem;padding-left:1rem;width:20rem;height:unset}.result-videos .content{overflow:hidden}.result-videos .embedded-video iframe{width:100%;aspect-ratio:16 / 9;padding:10px 0 0}@supports not (aspect-ratio: 1 / 1){.result-videos .embedded-video iframe{height:25.3125rem}}.engines{float:left;display:flex;flex-wrap:wrap;justify-content:flex-end;color:var(--color-result-engines-font)}.engines span{font-size:smaller;margin-top:0;margin-bottom:0;margin-left:.5rem;margin-right:0}.small_font{font-size:.8em}.highlight{color:var(--color-result-link-font-highlight);background:inherit}.empty_element{font-style:italic}.result-images{flex-grow:1;padding:.5rem .5rem 3rem;margin:.25rem;border:none!important;height:12rem;width:unset}.result-images>a{position:relative;outline:none}.result-images img{margin:0;padding:0;border:none;height:100%;width:100%;object-fit:cover;vertical-align:bottom;background:var(--color-result-image-background)}.result-images .image_resolution{position:absolute;right:0;bottom:0;background:var(--color-image-resolution-background);padding:.3rem .5rem;font-size:.9rem;color:var(--color-image-resolution-font);border-top-left-radius:.3rem}.result-images span.title,.result-images span.source{display:block;position:absolute;width:100%;font-size:.9rem;color:var(--color-result-image-span-font);padding:.5rem 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-images span.source{padding:1.8rem 0 0;font-size:.7rem}.result-map img.image{float:left!important;height:100px!important;width:auto!important}.result-map table{font-size:.9em;width:auto;border-collapse:separate;border-spacing:0 .35rem}.result-map table th{font-weight:inherit;width:17rem;vertical-align:top;text-align:right}.result-map table td{vertical-align:top;text-align:right}.hidden{display:none!important}#results{margin-top:1rem;margin-left:2rem;margin-bottom:0;margin-right:10rem;display:grid;grid-template:"corrections sidebar" min-content "answers sidebar" min-content "urls sidebar" 1fr "pagination sidebar" min-content / 45rem 25rem;gap:0 5rem}#results #sidebar *:first-child{margin-top:0}#urls{padding:0;grid-area:urls}#apis .wrapper{display:flex}#suggestions .wrapper{display:flex;flex-flow:column;justify-content:flex-end}#suggestions .wrapper form{display:inline-block;flex:1 1 50%}#suggestions input,#infoboxes input{padding:0;margin:3px;font-size:.9em;display:inline-block;background:transparent;color:var(--color-result-search-url-font);cursor:pointer;width:100%;text-overflow:ellipsis;overflow:hidden;text-align:left}#suggestions input[type=submit],#infoboxes input[type=submit],#suggestions .infobox .url a,#infoboxes .infobox .url a{color:var(--color-result-link-font);text-decoration:none;font-size:.9rem}#suggestions input[type=submit]:hover,#infoboxes input[type=submit]:hover,#suggestions .infobox .url a:hover,#infoboxes .infobox .url a:hover{text-decoration:underline}#corrections{grid-area:corrections;display:flex;flex-flow:row wrap;margin:0 0 1em}#corrections h4,#corrections input[type=submit]{display:inline-block;padding:.5rem;margin:.5rem}#corrections input[type=submit]{font-size:.8rem;border-radius:5px}#infoboxes .title,#suggestions .title,#search_url .title,#engines_msg .title,#apis .title{margin:2em 0 .5em;color:var(--color-base-font)}summary.title{cursor:pointer;padding-top:1em}.sidebar-collapsible{border-top:1px solid var(--color-sidebar-border);padding-bottom:.5em}#sidebar-end-collapsible{border-bottom:1px solid var(--color-sidebar-border);width:100%}#answers{grid-area:answers;background:var(--color-answer-background);padding:1rem;margin:1rem 0;margin-top:0;color:var(--color-answer-font);border-radius:10px}#answers h4{display:none}#answers span{overflow-wrap:anywhere}#answers .answer{display:flex;flex-direction:column}#answers .answer-url{margin:5px 10px 10px auto}#infoboxes form{min-width:210px}#sidebar{grid-area:sidebar;word-wrap:break-word;color:var(--color-sidebar-font)}#sidebar .infobox{margin:10px 0;border:1px solid var(--color-sidebar-border);padding:1rem;font-size:.9em;border-radius:10px}#sidebar .infobox h2{margin:0 0 .5em}#sidebar .infobox img{max-width:100%;max-height:12em;display:block;margin:0 auto;padding:0}#sidebar .infobox dt{font-weight:700}#sidebar .infobox .attributes dl{margin:.5em 0}#sidebar .infobox .attributes dt{display:inline;margin:.5em 0 .5em .25em;padding:0}#sidebar .infobox .attributes dd{display:inline;margin:.5em 0;padding:0}#sidebar .infobox input{font-size:1em}#sidebar .infobox br,#sidebar .infobox .attributes,#sidebar .infobox .urls{clear:both}#apis input{font-size:.9em;margin:0 10px 0 0;padding:5px 10px;border-radius:5px;background:var(--color-show-btn-background);color:var(--color-show-btn-font);cursor:pointer}#apis input:hover{background:var(--color-btn-background);color:var(--color-btn-font)}#engines_msg .engine-name{width:10rem}#engines_msg .response-error{color:var(--color-error)}#engines_msg .bar-chart-value{width:auto}#search_url div.selectable_url pre{float:left;width:200em}#search_url button#copy_url{float:right;padding:.4rem;margin-left:.5rem;border-radius:.3rem;display:none}#links_on_top{position:absolute;left:1rem;text-align:left;top:2.7rem;padding:0;border:0;display:flex;align-items:center;font-size:1em;color:var(--color-search-font)}#links_on_top a{display:flex;align-items:center;margin-left:1em}#links_on_top a svg{font-size:1.2em;margin-left:.125em}#links_on_top a,#links_on_top a:link *,#links_on_top a:hover *,#links_on_top a:visited *,#links_on_top a:active *{color:var(--color-search-font)}#pagination{grid-area:pagination}#pagination br{clear:both}.numbered_pagination{display:flex;flex-direction:row;justify-content:center;align-items:center;overflow:hidden}.page_number{background:transparent!important;color:var(--color-result-link-font)!important;text-decoration:underline}.page_number_current{background:transparent;color:var(--color-result-link-visited-font);border:none}#backToTop{border:1px solid var(--color-backtotop-border);margin:0;padding:0;font-size:1em;background:var(--color-backtotop-background);position:fixed;bottom:8rem;right:56.3rem;transition:opacity .5s;opacity:0;pointer-events:none;border-radius:10px}#backToTop a{display:block;margin:0;padding:.7em}#backToTop a,#backToTop a:visited,#backToTop a:hover,#backToTop a:active{color:var(--color-backtotop-font)}#results.scrolling #backToTop{opacity:1;pointer-events:all}@media screen and (width <= calc(79.75em - .5px)){#links_on_top span{display:none}}@media screen and (width <= 52rem){body.results_endpoint #links_on_top .link_on_top_about,body.results_endpoint #links_on_top .link_on_top_donate{display:none}}@media screen and (min-width: 50em) and (max-width: 79.75em){.center-alignment-no #links_on_top span{display:none}.center-alignment-no .page_with_header{margin:2rem .5rem;width:auto}.center-alignment-no #infoboxes{position:inherit;max-width:inherit}.center-alignment-no #infoboxes .infobox{clear:both}.center-alignment-no #infoboxes .infobox img{float:right;max-width:10em;margin:.5em 0 .5em .5em}.center-alignment-no #sidebar{margin:0 .5rem .125rem;padding:0;float:none;border:none;width:auto}.center-alignment-no #sidebar input{border:0}.center-alignment-no .result .thumbnail{max-width:98%}.center-alignment-no .result .url span.url{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;width:100%}.center-alignment-no .result .engines{float:left;display:flex;flex-wrap:wrap;justify-content:flex-end;padding:3px 0 0}.center-alignment-no .result-images{border-bottom:none!important}.center-alignment-no .image_result,.center-alignment-no .image_result img{max-width:98%}.center-alignment-no #backToTop{display:none}.center-alignment-no #pagination{margin:2rem 0 0!important}.center-alignment-no #main_results div#results{margin:0 auto;justify-content:center;display:grid;grid-template:"corrections" min-content "answers" min-content "sidebar" min-content "urls" 1fr "pagination" min-content / 45rem;gap:0}}#main_results div#results.only_template_images{margin:1rem .5rem 0;display:grid;grid-template:"corrections" min-content "answers" min-content "sidebar" min-content "urls" 1fr "pagination" min-content / 100%;gap:0}#main_results div#results.only_template_images #sidebar{display:none}#main_results div#results.only_template_images #urls{margin:0;display:flex;flex-wrap:wrap}#main_results div#results.only_template_images #urls:after{flex-grow:10;content:""}#main_results div#results.only_template_images #backToTop{right:auto;left:1rem}#main_results div#results.only_template_images #pagination{margin-left:4rem}@media screen and (max-width: 50em){#links_on_top span{display:none}.page_with_header{margin:2rem .5rem;width:auto}#infoboxes{position:inherit;max-width:inherit}#infoboxes .infobox{clear:both}#infoboxes .infobox img{float:right;max-width:10em;margin:.5em 0 .5em .5em}#sidebar{margin:0 .5rem .125rem;padding:0;float:none;border:none;width:auto}#sidebar input{border:0}.result .thumbnail{max-width:98%}.result .url span.url{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;width:100%}.result .engines{float:left;display:flex;flex-wrap:wrap;justify-content:flex-end;padding:3px 0 0}.result-images{border-bottom:none!important}.image_result,.image_result img{max-width:98%}#backToTop{display:none}#pagination{margin:2rem 0 0!important}#main_results div#results{margin:0 auto;justify-content:center;display:grid;grid-template:"corrections" min-content "answers" min-content "sidebar" min-content "urls" 1fr "pagination" min-content / 45rem;gap:0}html{background-color:var(--color-base-background-mobile)}#main_results div#results{grid-template-columns:100%;margin:0 auto}#links_on_top{top:1.4rem;left:10px}#main_index #links_on_top{top:.5rem;left:.5rem}#results{margin:0;padding:0}#pagination{margin:2rem 1rem 0!important}article[data-vim-selected]{border:1px solid var(--color-result-vim-arrow);border-radius:10px}.result{background:var(--color-result-background);border:1px solid var(--color-result-background);margin:1rem 2%;width:96%;border-radius:10px}.result-images{margin:0;height:10rem;background:var(--color-base-background-mobile);width:unset}.infobox{border:none!important;background-color:var(--color-sidebar-background)}.numbered_pagination{display:none}.result-paper .attributes,.result-packages .attributes,.result-paper .attributes div,.result-packages .attributes div{display:block}.result-paper .attributes div span,.result-packages .attributes div span{display:inline}.result-paper .attributes div span:first-child,.result-packages .attributes div span:first-child{font-weight:700}.result-paper .attributes div span:nth-child(2),.result-packages .attributes div span:nth-child(2){margin-right:.5rem}}@media screen and (max-width: 35em){.result-videos img.thumbnail{float:none!important}.result-videos .content{overflow:inherit}}pre code{white-space:pre-wrap}#main_results .result-keyvalue caption{padding:.8rem .5rem;font-style:italic;caption-side:bottom;background-color:var(--color-result-keyvalue-table)}#main_results .result-keyvalue .col-key{width:25%}#main_results .result-keyvalue table{word-break:break-word;table-layout:fixed;width:100%;background-color:var(--color-result-keyvalue-table)}#main_results .result-keyvalue tr.odd{background-color:var(--color-result-keyvalue-odd)}#main_results .result-keyvalue tr.even{background-color:var(--color-result-keyvalue-even)}#main_results .result-keyvalue th,#main_results .result-keyvalue td{padding:.3rem .5rem}#q,#sidebar .infobox dt bdi{direction:rtl}#urls{direction:initial;text-align:right}#urls .result .url_header{direction:rtl}#urls .result .url_wrapper{justify-content:end}#main_results div#results.only_template_images #urls{direction:rtl}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p{direction:rtl}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p.result-url{direction:ltr}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p.result-url span{direction:rtl;float:right}@supports ((background-position-x: 100%) and ((appearance: none) or (-webkit-appearance: none) or (-moz-appearance: none))){select{border-width:0 0 0 2rem;background-position-x:-2rem}}#vim-hotkeys-help table{direction:ltr;text-align:left}#main_preferences h1,#main_stats h1{background-position-x:100%}.bar-chart-serie1,.bar-chart-serie2{float:right}.engine-stats .engine-name,.engine-stats .engine-score,.engine-stats .result-count,.engine-stats .response-time,.engine-stats .engine-reliability{text-align:right} +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}:root{--color-base-font: #444;--color-base-font-rgb: 68, 68, 68;--color-base-background: #fff;--color-base-background-mobile: #f2f5f8;--color-url-font: #334999;--color-url-visited-font: #9822c3;--color-header-background: #fdfbff;--color-header-border: #ddd;--color-footer-background: #fdfbff;--color-footer-border: #ddd;--color-sidebar-border: #ddd;--color-sidebar-font: #000;--color-sidebar-background: #fff;--color-backtotop-font: #444;--color-backtotop-border: #ddd;--color-backtotop-background: #fff;--color-btn-background: #3050ff;--color-btn-font: #fff;--color-show-btn-background: #bbb;--color-show-btn-font: #000;--color-search-border: #bbb;--color-search-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-search-background: #fff;--color-search-font: #222;--color-search-background-hover: #3050ff;--color-error: #db3434;--color-error-background: #fae1e1;--color-warning: #dbba34;--color-warning-background: #faf5e1;--color-success: #42db34;--color-success-background: #e3fae1;--color-categories-item-selected-font: #3050ff;--color-categories-item-border-selected: #3050ff;--color-autocomplete-font: #000;--color-autocomplete-border: #bbb;--color-autocomplete-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-autocomplete-background: #fff;--color-autocomplete-background-hover: #e3e3e3;--color-answer-font: #444;--color-answer-background: #fff;--color-result-keyvalue-col-table: #fdfbff;--color-result-keyvalue-odd: #fdfbff;--color-result-keyvalue-even: #fff;--color-result-background: #fff;--color-result-border: #ddd;--color-result-url-font: #000;--color-result-vim-selected: #f7f7f7;--color-result-vim-arrow: #000bbb;--color-result-description-highlight-font: #000;--color-result-link-font: #000bbb;--color-result-link-font-highlight: #000bbb;--color-result-link-visited-font: #9822c3;--color-result-publishdate-font: #777;--color-result-engines-font: #545454;--color-result-search-url-border: #ddd;--color-result-search-url-font: #000;--color-result-image-span-font: #444;--color-result-image-span-font-selected: #fff;--color-result-image-background: #fff;--color-settings-tr-hover: #ebebeb;--color-settings-engine-description-font: #545454;--color-settings-table-group-background: #0001;--color-result-detail-font: #fff;--color-result-detail-label-font: lightgray;--color-result-detail-background: #242424;--color-result-detail-hr: #555;--color-result-detail-link: #8af;--color-result-detail-loader-border: rgba(255, 255, 255, .2);--color-result-detail-loader-borderleft: rgba(0, 0, 0, 0);--color-toolkit-badge-font: #fff;--color-toolkit-badge-background: #545454;--color-toolkit-kbd-font: #fff;--color-toolkit-kbd-background: #000;--color-toolkit-dialog-border: #ddd;--color-toolkit-dialog-background: #fff;--color-toolkit-tabs-label-border: #fff;--color-toolkit-tabs-section-border: #ddd;--color-toolkit-select-background: #e1e1e1;--color-toolkit-select-border: #ddd;--color-toolkit-select-background-hover: #bbb;--color-toolkit-input-text-font: #222;--color-toolkit-checkbox-onoff-off-background: #ddd;--color-toolkit-checkbox-onoff-on-background: #ddd;--color-toolkit-checkbox-onoff-on-mark-background: #3050ff;--color-toolkit-checkbox-onoff-on-mark-color: #fff;--color-toolkit-checkbox-onoff-off-mark-background: #aaa;--color-toolkit-checkbox-onoff-off-mark-color: #fff;--color-toolkit-checkbox-label-background: #ddd;--color-toolkit-checkbox-label-border: #ddd;--color-toolkit-checkbox-input-border: #3050ff;--color-toolkit-engine-tooltip-border: #ddd;--color-toolkit-engine-tooltip-background: #fff;--color-toolkit-loader-border: rgba(0, 0, 0, .2);--color-toolkit-loader-borderleft: rgba(255, 255, 255, 0);--color-doc-code: #003;--color-doc-code-background: #ddeaff;--color-bar-chart-primary: #5bc0de;--color-bar-chart-secondary: #deb15b;--color-image-resolution-background: rgba(0, 0, 0, .5);--color-image-resolution-font: #fff;--color-loading-indicator: rgba(255, 255, 255, .2);--color-loading-indicator-gap: #fff;--color-line-number: #64708d;--color-favicon-background-color: #ddd;--color-favicon-border-color: #ccc}@media (prefers-color-scheme: dark){:root.theme-auto{--color-base-font: #bbb;--color-base-font-rgb: 187, 187, 187;--color-base-background: #222428;--color-base-background-mobile: #222428;--color-url-font: #8af;--color-url-visited-font: #c09cd9;--color-header-background: #1e1e22;--color-header-border: #333;--color-footer-background: #1e1e22;--color-footer-border: #333;--color-sidebar-border: #555;--color-sidebar-font: #fff;--color-sidebar-background: #292c34;--color-backtotop-font: #bbb;--color-backtotop-border: #333;--color-backtotop-background: #2b2e36;--color-btn-background: #58f;--color-btn-font: #222;--color-show-btn-background: #555;--color-show-btn-font: #fff;--color-search-border: #555;--color-search-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-search-background: #2b2e36;--color-search-font: #fff;--color-search-background-hover: #58f;--color-error: #f55b5b;--color-error-background: #390a0a;--color-warning: #f1d561;--color-warning-background: #39300a;--color-success: #79f56e;--color-success-background: #0e390a;--color-categories-item-selected-font: #58f;--color-categories-item-border-selected: #58f;--color-autocomplete-font: #fff;--color-autocomplete-border: #555;--color-autocomplete-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-autocomplete-background: #2b2e36;--color-autocomplete-background-hover: #1e1e22;--color-answer-font: #bbb;--color-answer-background: #26292f;--color-result-keyvalue-col-table: #1e1e22;--color-result-keyvalue-odd: #1e1e22;--color-result-keyvalue-even: #26292f;--color-result-background: #26292f;--color-result-border: #333;--color-result-url-font: #fff;--color-result-vim-selected: #1f1f23cc;--color-result-vim-arrow: #8af;--color-result-description-highlight-font: #fff;--color-result-link-font: #8af;--color-result-link-font-highlight: #8af;--color-result-link-visited-font: #c09cd9;--color-result-publishdate-font: #888;--color-result-engines-font: #a4a4a4;--color-result-search-url-border: #555;--color-result-search-url-font: #fff;--color-result-detail-font: #fff;--color-result-detail-label-font: lightgray;--color-result-detail-background: #1a1a1c;--color-result-detail-hr: #555;--color-result-detail-link: #8af;--color-result-detail-loader-border: rgba(255, 255, 255, .2);--color-result-detail-loader-borderleft: rgba(0, 0, 0, 0);--color-result-image-span-font: #bbb;--color-result-image-span-font-selected: #222;--color-result-image-background: #222;--color-settings-tr-hover: #2c2c32;--color-settings-engine-description-font: #909090;--color-settings-table-group-background: #1b1b21;--color-toolkit-badge-font: #fff;--color-toolkit-badge-background: #555;--color-toolkit-kbd-font: #000;--color-toolkit-kbd-background: #fff;--color-toolkit-dialog-border: #555;--color-toolkit-dialog-background: #1e1e22;--color-toolkit-tabs-label-border: #222;--color-toolkit-tabs-section-border: #555;--color-toolkit-select-background: #313338;--color-toolkit-select-border: #555;--color-toolkit-select-background-hover: #373b49;--color-toolkit-input-text-font: #fff;--color-toolkit-checkbox-onoff-off-background: #313338;--color-toolkit-checkbox-onoff-on-background: #313338;--color-toolkit-checkbox-onoff-on-mark-background: #58f;--color-toolkit-checkbox-onoff-on-mark-color: #222;--color-toolkit-checkbox-onoff-off-mark-background: #ddd;--color-toolkit-checkbox-onoff-off-mark-color: #222;--color-toolkit-checkbox-label-background: #222;--color-toolkit-checkbox-label-border: #333;--color-toolkit-checkbox-input-border: #58f;--color-toolkit-engine-tooltip-border: #333;--color-toolkit-engine-tooltip-background: #222;--color-toolkit-loader-border: rgba(255, 255, 255, .2);--color-toolkit-loader-borderleft: rgba(0, 0, 0, 0);--color-doc-code: #ddd;--color-doc-code-background: #4d5a6f;--color-favicon-background-color: #ddd;--color-favicon-border-color: #ccc}}:root.theme-dark{--color-base-font: #bbb;--color-base-font-rgb: 187, 187, 187;--color-base-background: #222428;--color-base-background-mobile: #222428;--color-url-font: #8af;--color-url-visited-font: #c09cd9;--color-header-background: #1e1e22;--color-header-border: #333;--color-footer-background: #1e1e22;--color-footer-border: #333;--color-sidebar-border: #555;--color-sidebar-font: #fff;--color-sidebar-background: #292c34;--color-backtotop-font: #bbb;--color-backtotop-border: #333;--color-backtotop-background: #2b2e36;--color-btn-background: #58f;--color-btn-font: #222;--color-show-btn-background: #555;--color-show-btn-font: #fff;--color-search-border: #555;--color-search-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-search-background: #2b2e36;--color-search-font: #fff;--color-search-background-hover: #58f;--color-error: #f55b5b;--color-error-background: #390a0a;--color-warning: #f1d561;--color-warning-background: #39300a;--color-success: #79f56e;--color-success-background: #0e390a;--color-categories-item-selected-font: #58f;--color-categories-item-border-selected: #58f;--color-autocomplete-font: #fff;--color-autocomplete-border: #555;--color-autocomplete-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-autocomplete-background: #2b2e36;--color-autocomplete-background-hover: #1e1e22;--color-answer-font: #bbb;--color-answer-background: #26292f;--color-result-keyvalue-col-table: #1e1e22;--color-result-keyvalue-odd: #1e1e22;--color-result-keyvalue-even: #26292f;--color-result-background: #26292f;--color-result-border: #333;--color-result-url-font: #fff;--color-result-vim-selected: #1f1f23cc;--color-result-vim-arrow: #8af;--color-result-description-highlight-font: #fff;--color-result-link-font: #8af;--color-result-link-font-highlight: #8af;--color-result-link-visited-font: #c09cd9;--color-result-publishdate-font: #888;--color-result-engines-font: #a4a4a4;--color-result-search-url-border: #555;--color-result-search-url-font: #fff;--color-result-detail-font: #fff;--color-result-detail-label-font: lightgray;--color-result-detail-background: #1a1a1c;--color-result-detail-hr: #555;--color-result-detail-link: #8af;--color-result-detail-loader-border: rgba(255, 255, 255, .2);--color-result-detail-loader-borderleft: rgba(0, 0, 0, 0);--color-result-image-span-font: #bbb;--color-result-image-span-font-selected: #222;--color-result-image-background: #222;--color-settings-tr-hover: #2c2c32;--color-settings-engine-description-font: #909090;--color-settings-table-group-background: #1b1b21;--color-toolkit-badge-font: #fff;--color-toolkit-badge-background: #555;--color-toolkit-kbd-font: #000;--color-toolkit-kbd-background: #fff;--color-toolkit-dialog-border: #555;--color-toolkit-dialog-background: #1e1e22;--color-toolkit-tabs-label-border: #222;--color-toolkit-tabs-section-border: #555;--color-toolkit-select-background: #313338;--color-toolkit-select-border: #555;--color-toolkit-select-background-hover: #373b49;--color-toolkit-input-text-font: #fff;--color-toolkit-checkbox-onoff-off-background: #313338;--color-toolkit-checkbox-onoff-on-background: #313338;--color-toolkit-checkbox-onoff-on-mark-background: #58f;--color-toolkit-checkbox-onoff-on-mark-color: #222;--color-toolkit-checkbox-onoff-off-mark-background: #ddd;--color-toolkit-checkbox-onoff-off-mark-color: #222;--color-toolkit-checkbox-label-background: #222;--color-toolkit-checkbox-label-border: #333;--color-toolkit-checkbox-input-border: #58f;--color-toolkit-engine-tooltip-border: #333;--color-toolkit-engine-tooltip-background: #222;--color-toolkit-loader-border: rgba(255, 255, 255, .2);--color-toolkit-loader-borderleft: rgba(0, 0, 0, 0);--color-doc-code: #ddd;--color-doc-code-background: #4d5a6f;--color-favicon-background-color: #ddd;--color-favicon-border-color: #ccc}:root.theme-black{--color-base-font: #bbb;--color-base-font-rgb: 187, 187, 187;--color-base-background: #222428;--color-base-background-mobile: #222428;--color-url-font: #8af;--color-url-visited-font: #c09cd9;--color-header-background: #1e1e22;--color-header-border: #333;--color-footer-background: #1e1e22;--color-footer-border: #333;--color-sidebar-border: #555;--color-sidebar-font: #fff;--color-sidebar-background: #292c34;--color-backtotop-font: #bbb;--color-backtotop-border: #333;--color-backtotop-background: #2b2e36;--color-btn-background: #58f;--color-btn-font: #222;--color-show-btn-background: #555;--color-show-btn-font: #fff;--color-search-border: #555;--color-search-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-search-background: #2b2e36;--color-search-font: #fff;--color-search-background-hover: #58f;--color-error: #f55b5b;--color-error-background: #390a0a;--color-warning: #f1d561;--color-warning-background: #39300a;--color-success: #79f56e;--color-success-background: #0e390a;--color-categories-item-selected-font: #58f;--color-categories-item-border-selected: #58f;--color-autocomplete-font: #fff;--color-autocomplete-border: #555;--color-autocomplete-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-autocomplete-background: #2b2e36;--color-autocomplete-background-hover: #1e1e22;--color-answer-font: #bbb;--color-answer-background: #26292f;--color-result-keyvalue-col-table: #1e1e22;--color-result-keyvalue-odd: #1e1e22;--color-result-keyvalue-even: #26292f;--color-result-background: #26292f;--color-result-border: #333;--color-result-url-font: #fff;--color-result-vim-selected: #1f1f23cc;--color-result-vim-arrow: #8af;--color-result-description-highlight-font: #fff;--color-result-link-font: #8af;--color-result-link-font-highlight: #8af;--color-result-link-visited-font: #c09cd9;--color-result-publishdate-font: #888;--color-result-engines-font: #a4a4a4;--color-result-search-url-border: #555;--color-result-search-url-font: #fff;--color-result-detail-font: #fff;--color-result-detail-label-font: lightgray;--color-result-detail-background: #1a1a1c;--color-result-detail-hr: #555;--color-result-detail-link: #8af;--color-result-detail-loader-border: rgba(255, 255, 255, .2);--color-result-detail-loader-borderleft: rgba(0, 0, 0, 0);--color-result-image-span-font: #bbb;--color-result-image-span-font-selected: #222;--color-result-image-background: #222;--color-settings-tr-hover: #2c2c32;--color-settings-engine-description-font: #909090;--color-settings-table-group-background: #1b1b21;--color-toolkit-badge-font: #fff;--color-toolkit-badge-background: #555;--color-toolkit-kbd-font: #000;--color-toolkit-kbd-background: #fff;--color-toolkit-dialog-border: #555;--color-toolkit-dialog-background: #1e1e22;--color-toolkit-tabs-label-border: #222;--color-toolkit-tabs-section-border: #555;--color-toolkit-select-background: #313338;--color-toolkit-select-border: #555;--color-toolkit-select-background-hover: #373b49;--color-toolkit-input-text-font: #fff;--color-toolkit-checkbox-onoff-off-background: #313338;--color-toolkit-checkbox-onoff-on-background: #313338;--color-toolkit-checkbox-onoff-on-mark-background: #58f;--color-toolkit-checkbox-onoff-on-mark-color: #222;--color-toolkit-checkbox-onoff-off-mark-background: #ddd;--color-toolkit-checkbox-onoff-off-mark-color: #222;--color-toolkit-checkbox-label-background: #222;--color-toolkit-checkbox-label-border: #333;--color-toolkit-checkbox-input-border: #58f;--color-toolkit-engine-tooltip-border: #333;--color-toolkit-engine-tooltip-background: #222;--color-toolkit-loader-border: rgba(255, 255, 255, .2);--color-toolkit-loader-borderleft: rgba(0, 0, 0, 0);--color-doc-code: #ddd;--color-doc-code-background: #4d5a6f;--color-favicon-background-color: #ddd;--color-favicon-border-color: #ccc;--color-base-background: #000;--color-base-background-mobile: #000;--color-header-background: #000;--color-footer-background: #000;--color-sidebar-background: #000}.code-highlight pre{line-height:100%}.code-highlight td.linenos .normal,.code-highlight span.linenos{color:inherit;background-color:transparent;padding-left:5px;padding-right:5px}.code-highlight td.linenos .special,.code-highlight span.linenos.special{color:#000;background-color:#ffffc0;padding-left:5px;padding-right:5px}.code-highlight .hll{background-color:#ffc}.code-highlight .c{color:#3d7b7b;font-style:italic}.code-highlight .err{border:1px solid #F00}.code-highlight .k{color:green;font-weight:700}.code-highlight .o{color:#666}.code-highlight .ch,.code-highlight .cm{color:#3d7b7b;font-style:italic}.code-highlight .cp{color:#9c6500}.code-highlight .cpf,.code-highlight .c1,.code-highlight .cs{color:#3d7b7b;font-style:italic}.code-highlight .gd{color:#a00000}.code-highlight .ge{font-style:italic}.code-highlight .ges{font-weight:700;font-style:italic}.code-highlight .gr{color:#e40000}.code-highlight .gh{color:navy;font-weight:700}.code-highlight .gi{color:#008400}.code-highlight .go{color:#717171}.code-highlight .gp{color:navy;font-weight:700}.code-highlight .gs{font-weight:700}.code-highlight .gu{color:purple;font-weight:700}.code-highlight .gt{color:#04d}.code-highlight .kc,.code-highlight .kd,.code-highlight .kn{color:green;font-weight:700}.code-highlight .kp{color:green}.code-highlight .kr{color:green;font-weight:700}.code-highlight .kt{color:#b00040}.code-highlight .m{color:#666}.code-highlight .s{color:#ba2121}.code-highlight .na{color:#687822}.code-highlight .nb{color:green}.code-highlight .nc{color:#00f;font-weight:700}.code-highlight .no{color:#800}.code-highlight .nd{color:#a2f}.code-highlight .ni{color:#717171;font-weight:700}.code-highlight .ne{color:#cb3f38;font-weight:700}.code-highlight .nf{color:#00f}.code-highlight .nl{color:#767600}.code-highlight .nn{color:#00f;font-weight:700}.code-highlight .nt{color:green;font-weight:700}.code-highlight .nv{color:#19177c}.code-highlight .ow{color:#a2f;font-weight:700}.code-highlight .w{color:#bbb}.code-highlight .mb,.code-highlight .mf,.code-highlight .mh,.code-highlight .mi,.code-highlight .mo{color:#666}.code-highlight .sa,.code-highlight .sb,.code-highlight .sc,.code-highlight .dl{color:#ba2121}.code-highlight .sd{color:#ba2121;font-style:italic}.code-highlight .s2{color:#ba2121}.code-highlight .se{color:#aa5d1f;font-weight:700}.code-highlight .sh{color:#ba2121}.code-highlight .si{color:#a45a77;font-weight:700}.code-highlight .sx{color:green}.code-highlight .sr{color:#a45a77}.code-highlight .s1{color:#ba2121}.code-highlight .ss{color:#19177c}.code-highlight .bp{color:green}.code-highlight .fm{color:#00f}.code-highlight .vc,.code-highlight .vg,.code-highlight .vi,.code-highlight .vm{color:#19177c}.code-highlight .il{color:#666}.codelines{margin:.125rem 0 0;padding:1rem 0 0}.code-highlight pre{overflow:auto;margin:0;padding:0 0 .75rem}.code-highlight .linenos{-webkit-user-select:none;user-select:none;cursor:default;margin-right:8px;text-align:right}.code-highlight .linenos::selection{background:transparent}.code-highlight .linenos::-moz-selection{background:transparent}.code-highlight span.linenos{color:var(--color-line-number)}@media (prefers-color-scheme: dark){:root.theme-auto .code-highlight pre{line-height:100%}:root.theme-auto .code-highlight td.linenos .normal{color:#3c4354;background-color:transparent;padding-left:5px;padding-right:5px}:root.theme-auto .code-highlight span.linenos{color:#3c4354;background-color:transparent;padding-left:5px;padding-right:5px}:root.theme-auto .code-highlight td.linenos .special{color:#3c4354;background-color:#ffffc0;padding-left:5px;padding-right:5px}:root.theme-auto .code-highlight span.linenos.special{color:#3c4354;background-color:#ffffc0;padding-left:5px;padding-right:5px}:root.theme-auto .code-highlight .hll{background-color:#6e7681}:root.theme-auto .code-highlight .c{color:#7e8aa1}:root.theme-auto .code-highlight .err{color:#f88f7f}:root.theme-auto .code-highlight .esc{color:#d4d2c8}:root.theme-auto .code-highlight .g{color:#d4d2c8}:root.theme-auto .code-highlight .k{color:#ffad66}:root.theme-auto .code-highlight .l{color:#d5ff80}:root.theme-auto .code-highlight .n{color:#d4d2c8}:root.theme-auto .code-highlight .o{color:#ffad66}:root.theme-auto .code-highlight .x{color:#d4d2c8}:root.theme-auto .code-highlight .p{color:#d4d2c8}:root.theme-auto .code-highlight .ch{color:#f88f7f;font-style:italic}:root.theme-auto .code-highlight .cm{color:#7e8aa1}:root.theme-auto .code-highlight .cp{color:#ffad66;font-weight:700}:root.theme-auto .code-highlight .cpf{color:#7e8aa1}:root.theme-auto .code-highlight .c1{color:#7e8aa1}:root.theme-auto .code-highlight .cs{color:#7e8aa1;font-style:italic}:root.theme-auto .code-highlight .gd{color:#f88f7f;background-color:#3d1e20}:root.theme-auto .code-highlight .ge{color:#d4d2c8;font-style:italic}:root.theme-auto .code-highlight .ges{color:#d4d2c8}:root.theme-auto .code-highlight .gr{color:#f88f7f}:root.theme-auto .code-highlight .gh{color:#d4d2c8}:root.theme-auto .code-highlight .gi{color:#6ad4af;background-color:#19362c}:root.theme-auto .code-highlight .go{color:#7e8aa1}:root.theme-auto .code-highlight .gp{color:#d4d2c8}:root.theme-auto .code-highlight .gs{color:#d4d2c8;font-weight:700}:root.theme-auto .code-highlight .gu{color:#d4d2c8}:root.theme-auto .code-highlight .gt{color:#f88f7f}:root.theme-auto .code-highlight .kc{color:#ffad66}:root.theme-auto .code-highlight .kd{color:#ffad66}:root.theme-auto .code-highlight .kn{color:#ffad66}:root.theme-auto .code-highlight .kp{color:#ffad66}:root.theme-auto .code-highlight .kr{color:#ffad66}:root.theme-auto .code-highlight .kt{color:#73d0ff}:root.theme-auto .code-highlight .ld{color:#d5ff80}:root.theme-auto .code-highlight .m{color:#dfbfff}:root.theme-auto .code-highlight .s{color:#d5ff80}:root.theme-auto .code-highlight .na{color:#ffd173}:root.theme-auto .code-highlight .nb{color:#ffd173}:root.theme-auto .code-highlight .nc{color:#73d0ff}:root.theme-auto .code-highlight .no{color:#ffd173}:root.theme-auto .code-highlight .nd{color:#7e8aa1;font-weight:700;font-style:italic}:root.theme-auto .code-highlight .ni{color:#95e6cb}:root.theme-auto .code-highlight .ne{color:#73d0ff}:root.theme-auto .code-highlight .nf{color:#ffd173}:root.theme-auto .code-highlight .nl{color:#d4d2c8}:root.theme-auto .code-highlight .nn{color:#d4d2c8}:root.theme-auto .code-highlight .nx{color:#d4d2c8}:root.theme-auto .code-highlight .py{color:#ffd173}:root.theme-auto .code-highlight .nt{color:#5ccfe6}:root.theme-auto .code-highlight .nv{color:#d4d2c8}:root.theme-auto .code-highlight .ow{color:#ffad66}:root.theme-auto .code-highlight .pm{color:#d4d2c8}:root.theme-auto .code-highlight .w{color:#d4d2c8}:root.theme-auto .code-highlight .mb{color:#dfbfff}:root.theme-auto .code-highlight .mf{color:#dfbfff}:root.theme-auto .code-highlight .mh{color:#dfbfff}:root.theme-auto .code-highlight .mi{color:#dfbfff}:root.theme-auto .code-highlight .mo{color:#dfbfff}:root.theme-auto .code-highlight .sa{color:#f29e74}:root.theme-auto .code-highlight .sb{color:#d5ff80}:root.theme-auto .code-highlight .sc{color:#d5ff80}:root.theme-auto .code-highlight .dl{color:#d5ff80}:root.theme-auto .code-highlight .sd{color:#7e8aa1}:root.theme-auto .code-highlight .s2{color:#d5ff80}:root.theme-auto .code-highlight .se{color:#95e6cb}:root.theme-auto .code-highlight .sh{color:#d5ff80}:root.theme-auto .code-highlight .si{color:#95e6cb}:root.theme-auto .code-highlight .sx{color:#95e6cb}:root.theme-auto .code-highlight .sr{color:#95e6cb}:root.theme-auto .code-highlight .s1{color:#d5ff80}:root.theme-auto .code-highlight .ss{color:#dfbfff}:root.theme-auto .code-highlight .bp{color:#5ccfe6}:root.theme-auto .code-highlight .fm{color:#ffd173}:root.theme-auto .code-highlight .vc{color:#d4d2c8}:root.theme-auto .code-highlight .vg{color:#d4d2c8}:root.theme-auto .code-highlight .vi{color:#d4d2c8}:root.theme-auto .code-highlight .vm{color:#d4d2c8}:root.theme-auto .code-highlight .il{color:#dfbfff}:root.theme-auto .code-highlight pre{overflow:auto;margin:0;padding:0 0 .75rem}:root.theme-auto .code-highlight .linenos{-webkit-user-select:none;user-select:none;cursor:default;margin-right:8px;text-align:right}:root.theme-auto .code-highlight .linenos::selection{background:transparent}:root.theme-auto .code-highlight .linenos::-moz-selection{background:transparent}:root.theme-auto .code-highlight span.linenos{color:var(--color-line-number)}}:root.theme-dark .code-highlight pre{line-height:100%}:root.theme-dark .code-highlight td.linenos .normal{color:#3c4354;background-color:transparent;padding-left:5px;padding-right:5px}:root.theme-dark .code-highlight span.linenos{color:#3c4354;background-color:transparent;padding-left:5px;padding-right:5px}:root.theme-dark .code-highlight td.linenos .special{color:#3c4354;background-color:#ffffc0;padding-left:5px;padding-right:5px}:root.theme-dark .code-highlight span.linenos.special{color:#3c4354;background-color:#ffffc0;padding-left:5px;padding-right:5px}:root.theme-dark .code-highlight .hll{background-color:#6e7681}:root.theme-dark .code-highlight .c{color:#7e8aa1}:root.theme-dark .code-highlight .err{color:#f88f7f}:root.theme-dark .code-highlight .esc{color:#d4d2c8}:root.theme-dark .code-highlight .g{color:#d4d2c8}:root.theme-dark .code-highlight .k{color:#ffad66}:root.theme-dark .code-highlight .l{color:#d5ff80}:root.theme-dark .code-highlight .n{color:#d4d2c8}:root.theme-dark .code-highlight .o{color:#ffad66}:root.theme-dark .code-highlight .x{color:#d4d2c8}:root.theme-dark .code-highlight .p{color:#d4d2c8}:root.theme-dark .code-highlight .ch{color:#f88f7f;font-style:italic}:root.theme-dark .code-highlight .cm{color:#7e8aa1}:root.theme-dark .code-highlight .cp{color:#ffad66;font-weight:700}:root.theme-dark .code-highlight .cpf{color:#7e8aa1}:root.theme-dark .code-highlight .c1{color:#7e8aa1}:root.theme-dark .code-highlight .cs{color:#7e8aa1;font-style:italic}:root.theme-dark .code-highlight .gd{color:#f88f7f;background-color:#3d1e20}:root.theme-dark .code-highlight .ge{color:#d4d2c8;font-style:italic}:root.theme-dark .code-highlight .ges{color:#d4d2c8}:root.theme-dark .code-highlight .gr{color:#f88f7f}:root.theme-dark .code-highlight .gh{color:#d4d2c8}:root.theme-dark .code-highlight .gi{color:#6ad4af;background-color:#19362c}:root.theme-dark .code-highlight .go{color:#7e8aa1}:root.theme-dark .code-highlight .gp{color:#d4d2c8}:root.theme-dark .code-highlight .gs{color:#d4d2c8;font-weight:700}:root.theme-dark .code-highlight .gu{color:#d4d2c8}:root.theme-dark .code-highlight .gt{color:#f88f7f}:root.theme-dark .code-highlight .kc{color:#ffad66}:root.theme-dark .code-highlight .kd{color:#ffad66}:root.theme-dark .code-highlight .kn{color:#ffad66}:root.theme-dark .code-highlight .kp{color:#ffad66}:root.theme-dark .code-highlight .kr{color:#ffad66}:root.theme-dark .code-highlight .kt{color:#73d0ff}:root.theme-dark .code-highlight .ld{color:#d5ff80}:root.theme-dark .code-highlight .m{color:#dfbfff}:root.theme-dark .code-highlight .s{color:#d5ff80}:root.theme-dark .code-highlight .na{color:#ffd173}:root.theme-dark .code-highlight .nb{color:#ffd173}:root.theme-dark .code-highlight .nc{color:#73d0ff}:root.theme-dark .code-highlight .no{color:#ffd173}:root.theme-dark .code-highlight .nd{color:#7e8aa1;font-weight:700;font-style:italic}:root.theme-dark .code-highlight .ni{color:#95e6cb}:root.theme-dark .code-highlight .ne{color:#73d0ff}:root.theme-dark .code-highlight .nf{color:#ffd173}:root.theme-dark .code-highlight .nl{color:#d4d2c8}:root.theme-dark .code-highlight .nn{color:#d4d2c8}:root.theme-dark .code-highlight .nx{color:#d4d2c8}:root.theme-dark .code-highlight .py{color:#ffd173}:root.theme-dark .code-highlight .nt{color:#5ccfe6}:root.theme-dark .code-highlight .nv{color:#d4d2c8}:root.theme-dark .code-highlight .ow{color:#ffad66}:root.theme-dark .code-highlight .pm{color:#d4d2c8}:root.theme-dark .code-highlight .w{color:#d4d2c8}:root.theme-dark .code-highlight .mb{color:#dfbfff}:root.theme-dark .code-highlight .mf{color:#dfbfff}:root.theme-dark .code-highlight .mh{color:#dfbfff}:root.theme-dark .code-highlight .mi{color:#dfbfff}:root.theme-dark .code-highlight .mo{color:#dfbfff}:root.theme-dark .code-highlight .sa{color:#f29e74}:root.theme-dark .code-highlight .sb{color:#d5ff80}:root.theme-dark .code-highlight .sc{color:#d5ff80}:root.theme-dark .code-highlight .dl{color:#d5ff80}:root.theme-dark .code-highlight .sd{color:#7e8aa1}:root.theme-dark .code-highlight .s2{color:#d5ff80}:root.theme-dark .code-highlight .se{color:#95e6cb}:root.theme-dark .code-highlight .sh{color:#d5ff80}:root.theme-dark .code-highlight .si{color:#95e6cb}:root.theme-dark .code-highlight .sx{color:#95e6cb}:root.theme-dark .code-highlight .sr{color:#95e6cb}:root.theme-dark .code-highlight .s1{color:#d5ff80}:root.theme-dark .code-highlight .ss{color:#dfbfff}:root.theme-dark .code-highlight .bp{color:#5ccfe6}:root.theme-dark .code-highlight .fm{color:#ffd173}:root.theme-dark .code-highlight .vc{color:#d4d2c8}:root.theme-dark .code-highlight .vg{color:#d4d2c8}:root.theme-dark .code-highlight .vi{color:#d4d2c8}:root.theme-dark .code-highlight .vm{color:#d4d2c8}:root.theme-dark .code-highlight .il{color:#dfbfff}:root.theme-dark .code-highlight pre{overflow:auto;margin:0;padding:0 0 .75rem}:root.theme-dark .code-highlight .linenos{-webkit-user-select:none;user-select:none;cursor:default;margin-right:8px;text-align:right}:root.theme-dark .code-highlight .linenos::selection{background:transparent}:root.theme-dark .code-highlight .linenos::-moz-selection{background:transparent}:root.theme-dark .code-highlight span.linenos{color:var(--color-line-number)}html.no-js .hide_if_nojs,html.js .show_if_nojs{display:none}.center{text-align:center}.right{float:right}.left{float:left}.invisible{display:none!important}.list-unstyled{list-style-type:none}.list-unstyled li{margin-top:4px;margin-bottom:4px}.danger{background-color:var(--color-error-background)}.warning{background:var(--color-warning-background)}.success{background:var(--color-success-background)}.badge{display:inline-block;color:var(--color-toolkit-badge-font);background-color:var(--color-toolkit-badge-background);text-align:center;white-space:nowrap;vertical-align:baseline;min-width:10px;padding:1px 5px;border-radius:5px}kbd{padding:2px 4px;margin:1px;font-size:90%;color:var(--color-toolkit-kbd-font);background:var(--color-toolkit-kbd-background)}table{width:100%}table.striped tr{border-bottom:1px solid var(--color-settings-tr-hover)}th{padding:.4em}td{padding:0 4px}tr:hover{background:var(--color-settings-tr-hover)!important}div.selectable_url{display:block;border:1px solid var(--color-result-search-url-border);padding:4px;color:var(--color-result-search-url-font);margin:.1em;overflow:hidden;height:1.2em;line-height:1.2em;border-radius:5px}div.selectable_url pre{display:block;font-size:.8em;word-break:break-all;margin:.1em;-webkit-user-select:all;user-select:all}.dialog-error{position:relative;display:flex;padding:1rem;margin:0 0 1em;border:1px solid var(--color-toolkit-dialog-border);text-align:right;border-radius:10px;color:var(--color-error);background:var(--color-error-background);border-color:var(--color-error)}.dialog-error .close{float:left;position:relative;top:-3px;color:inherit;font-size:1.5em}.dialog-error ul,.dialog-error ol,.dialog-error p{margin:1px 0 0}.dialog-error table{width:auto}.dialog-error tr{vertical-align:text-top}.dialog-error tr:hover{background:transparent!important}.dialog-error td{padding:0 1em 0 0;padding-left:1rem;padding-bottom:0;padding-right:0}.dialog-error h4{margin-top:.3em;margin-bottom:.3em}.dialog-error-block{position:relative;display:flex;padding:1rem;margin:0 0 1em;border:1px solid var(--color-toolkit-dialog-border);text-align:right;border-radius:10px;display:block;color:var(--color-error);background:var(--color-error-background);border-color:var(--color-error)}.dialog-error-block .close{float:left;position:relative;top:-3px;color:inherit;font-size:1.5em}.dialog-error-block ul,.dialog-error-block ol,.dialog-error-block p{margin:1px 0 0}.dialog-error-block table{width:auto}.dialog-error-block tr{vertical-align:text-top}.dialog-error-block tr:hover{background:transparent!important}.dialog-error-block td{padding:0 1em 0 0;padding-left:1rem;padding-bottom:0;padding-right:0}.dialog-error-block h4{margin-top:.3em;margin-bottom:.3em}.dialog-warning{position:relative;display:flex;padding:1rem;margin:0 0 1em;border:1px solid var(--color-toolkit-dialog-border);text-align:right;border-radius:10px;color:var(--color-warning);background:var(--color-warning-background);border-color:var(--color-warning)}.dialog-warning .close{float:left;position:relative;top:-3px;color:inherit;font-size:1.5em}.dialog-warning ul,.dialog-warning ol,.dialog-warning p{margin:1px 0 0}.dialog-warning table{width:auto}.dialog-warning tr{vertical-align:text-top}.dialog-warning tr:hover{background:transparent!important}.dialog-warning td{padding:0 1em 0 0;padding-left:1rem;padding-bottom:0;padding-right:0}.dialog-warning h4{margin-top:.3em;margin-bottom:.3em}.dialog-modal{position:relative;display:flex;padding:1rem;border:1px solid var(--color-toolkit-dialog-border);text-align:right;border-radius:10px;display:block;background:var(--color-toolkit-dialog-background);position:fixed;top:50%;left:50%;margin:0 auto;transform:translate(-50%,-50%);z-index:5000}.dialog-modal .close{float:left;position:relative;top:-3px;color:inherit;font-size:1.5em}.dialog-modal ul,.dialog-modal ol,.dialog-modal p{margin:1px 0 0}.dialog-modal table{width:auto}.dialog-modal tr{vertical-align:text-top}.dialog-modal tr:hover{background:transparent!important}.dialog-modal td{padding:0 1em 0 0;padding-left:1rem;padding-bottom:0;padding-right:0}.dialog-modal h4{margin-top:.3em;margin-bottom:.3em}.dialog-modal h3{margin-top:0}.btn-collapse{cursor:pointer}.scrollx{overflow:auto hidden;display:block;padding:0;margin:0;border:none}.tabs .tabs>label{font-size:90%}ul.tabs{border-bottom:1px solid var(--color-toolkit-tabs-section-border);list-style:none;padding-left:0}ul.tabs li{display:flex}.tabs{display:flex;flex-wrap:wrap;width:100%;min-width:100%}.tabs>*{order:2}.tabs>input[type=radio]{display:none}.tabs>label,.tabs>li>a{order:1;padding:.7em;margin:0 .7em;letter-spacing:.5px;text-transform:uppercase;border:solid var(--color-toolkit-tabs-label-border);border-width:0 0 2px 0;color:unset;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;cursor:pointer}.tabs>label.active,.tabs>li>a.active{border-bottom:2px solid var(--color-categories-item-border-selected);background:var(--color-categories-item-selected);color:var(--color-categories-item-selected-font)}.tabs>label:hover,.tabs>li>a:hover{border-bottom:2px solid var(--color-categories-item-border-selected)}.tabs>section{min-width:100%;padding:.7rem 0;box-sizing:border-box;border-top:1px solid var(--color-toolkit-tabs-section-border);display:none}.tabs>label:last-of-type{border-bottom:2px solid var(--color-categories-item-border-selected);background:var(--color-categories-item-selected);color:var(--color-categories-item-selected-font);letter-spacing:-.1px}.tabs>section:last-of-type{display:block}html body .tabs>input:checked~section{display:none}html body .tabs>input:checked~label{position:inherited;background:inherit;border-bottom:2px solid transparent;font-weight:400;color:inherit}html body .tabs>input:checked~label:hover{border-bottom:2px solid var(--color-categories-item-border-selected)}html body .tabs>input:checked+label{border-bottom:2px solid var(--color-categories-item-border-selected);background:var(--color-categories-item-selected);color:var(--color-categories-item-selected-font)}html body .tabs>input:checked+label+section{display:block}select{height:2.4rem;margin-top:0;margin-left:1rem;margin-bottom:0;margin-right:0;padding:.2rem!important;color:var(--color-search-font);font-size:.9rem;z-index:100}select:hover,select:focus{cursor:pointer}@supports ((background-position-x: 100%) and ((appearance: none) or (-webkit-appearance: none) or (-moz-appearance: none))){select{appearance:none;-webkit-appearance:none;-moz-appearance:none;border-width:0 2rem 0 0;border-color:transparent;background:url(data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22512%22%20height%3D%22512%22%20viewBox%3D%220%200%20512%20512%22%3E%0A%3Cg%3E%3Cpolygon%20points%3D%22128%2C192%20256%2C320%20384%2C192%22%2F%3E%3C%2Fg%3E%0A%3C%2Fsvg%3E) no-repeat;background-position-x:calc(100% + 2rem);background-size:2rem;background-origin:content-box;background-color:var(--color-toolkit-select-background);text-overflow:ellipsis;border-radius:5px}select:hover,select:focus{background-color:var(--color-toolkit-select-background-hover)}select option{background-color:var(--color-base-background)}@media (prefers-color-scheme: dark){html.theme-auto select,html.theme-dark select{background-image:url(data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22512%22%20height%3D%22512%22%20viewBox%3D%220%200%20512%20512%22%3E%0A%3Cg%3E%3Cpolygon%20fill%3D%22%23ddd%22%20points%3D%22128%2C192%20256%2C320%20384%2C192%22%2F%3E%3C%2Fg%3E%0A%3C%2Fsvg%3E)}}html.theme-dark select{background-image:url(data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22512%22%20height%3D%22512%22%20viewBox%3D%220%200%20512%20512%22%3E%0A%3Cg%3E%3Cpolygon%20fill%3D%22%23ddd%22%20points%3D%22128%2C192%20256%2C320%20384%2C192%22%2F%3E%3C%2Fg%3E%0A%3C%2Fsvg%3E)}}input.checkbox-onoff[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;display:inline-block;width:2.5em;height:.7em;box-shadow:none!important;margin:0 16px;border-radius:10px;position:relative}input.checkbox-onoff[type=checkbox]:focus:after{content:"";position:absolute;width:3.5em;height:1.65em;border:1px solid var(--color-btn-background);border-radius:12px;box-shadow:var(--color-btn-background) 0 0 3px;z-index:1200;top:-.55em;left:-.6em}input.checkbox-onoff[type=checkbox]:before{position:absolute;top:-.5em;display:flex;justify-content:center;align-items:center;font-size:.75em;width:1.875em;height:1.875em;border-radius:50%}input.checkbox-onoff[type=checkbox],input.checkbox-onoff.reversed-checkbox[type=checkbox]:checked{background:var(--color-toolkit-checkbox-onoff-off-background)}input.checkbox-onoff[type=checkbox]:before,input.checkbox-onoff.reversed-checkbox[type=checkbox]:checked:before{left:-.5em;content:"✕";color:var(--color-toolkit-checkbox-onoff-off-mark-color);background:var(--color-toolkit-checkbox-onoff-off-mark-background)}input.checkbox-onoff[type=checkbox]:checked,input.checkbox-onoff.reversed-checkbox[type=checkbox]{background:var(--color-toolkit-checkbox-onoff-on-background)}input.checkbox-onoff[type=checkbox]:checked:before,input.checkbox-onoff.reversed-checkbox[type=checkbox]:before{left:calc(100% - 1.5em);content:"✓";color:var(--color-toolkit-checkbox-onoff-on-mark-color);background:var(--color-toolkit-checkbox-onoff-on-mark-background)}@supports (transform: rotate(-45deg)){input[type=checkbox]:not(.checkbox-onoff){-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;cursor:pointer;position:relative;top:0;left:0;border:2px solid var(--color-toolkit-checkbox-input-border);border-radius:.3em}input[type=checkbox]:not(.checkbox-onoff):after{content:"";width:9px;height:5px;position:absolute;top:3px;left:2px;border:3px solid var(--color-toolkit-checkbox-label-border);border-top:none;border-right:none;background:transparent;opacity:0;transform:rotate(-45deg)}input[type=checkbox]:not(.checkbox-onoff):checked:after{border-color:var(--color-toolkit-checkbox-input-border);opacity:1}input[type=checkbox][disabled]:not(.checkbox-onoff){border:inherit;background-color:transparent!important;cursor:inherit}input.checkbox[type=checkbox]:not(:checked,[disabled],.checkbox-onoff):hover:after{opacity:.5}}@media screen and (max-width: 50em){.tabs>label{width:100%}}.loader,.loader:after{border-radius:50%;width:2em;height:2em}.loader{margin:1em auto;font-size:10px;position:relative;text-indent:-9999em;border-top:.5em solid var(--color-toolkit-loader-border);border-right:.5em solid var(--color-toolkit-loader-border);border-bottom:.5em solid var(--color-toolkit-loader-border);border-left:.5em solid var(--color-toolkit-loader-borderleft);-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0);-webkit-animation:load8 1.2s infinite linear;animation:load8 1.2s infinite linear}@-webkit-keyframes load8{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes load8{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.engine-tooltip{display:none;position:absolute;padding:.5rem 1rem;margin:0 0 0 2rem;border:1px solid var(--color-toolkit-engine-tooltip-border);background:var(--color-toolkit-engine-tooltip-background);font-size:14px;font-weight:400;z-index:5000;text-align:left;border-radius:10px}th:hover .engine-tooltip,td:hover .engine-tooltip,.engine-tooltip:hover{display:inline-block}.stacked-bar-chart{margin:0;padding:0 .125rem 0 4rem;width:100%;width:-moz-available;width:-webkit-fill-available;width:fill;flex-flow:row nowrap;align-items:center;display:inline-flex}.stacked-bar-chart-value{width:3rem;display:inline-block;position:absolute;padding:0 .5rem;text-align:right}.stacked-bar-chart-base{display:flex;flex-shrink:0;flex-grow:0;flex-basis:unset}.stacked-bar-chart-median{display:flex;flex-shrink:0;flex-grow:0;flex-basis:unset;background:var(--color-base-font);border:1px solid rgba(var(--color-base-font-rgb),.9);padding:.3rem 0}.stacked-bar-chart-rate80{display:flex;flex-shrink:0;flex-grow:0;flex-basis:unset;background:transparent;border:1px solid rgba(var(--color-base-font-rgb),.3);padding:.3rem 0}.stacked-bar-chart-rate95{display:flex;flex-shrink:0;flex-grow:0;flex-basis:unset;background:transparent;border-bottom:1px dotted rgba(var(--color-base-font-rgb),.5);padding:0}.stacked-bar-chart-rate100{display:flex;flex-shrink:0;flex-grow:0;flex-basis:unset;background:transparent;border-left:1px solid rgba(var(--color-base-font-rgb),.9);padding:.4rem 0;width:1px}/*! Autocomplete.js v2.6.3 | license MIT | (c) 2017, Baptiste Donaux | http://autocomplete-js.com */.autocomplete{position:absolute;width:44rem;max-height:0;overflow-y:hidden;text-align:right;border-radius:10px}.autocomplete:active,.autocomplete:focus,.autocomplete:hover{background-color:var(--color-autocomplete-background)}.autocomplete:empty{display:none}.autocomplete>ul{list-style-type:none;margin:0;padding:0}.autocomplete>ul>li{cursor:pointer;padding:.5rem 1rem}.autocomplete>ul>li.active,.autocomplete>ul>li:active,.autocomplete>ul>li:focus,.autocomplete>ul>li:hover{background-color:var(--color-autocomplete-background-hover)}.autocomplete>ul>li.active a:active,.autocomplete>ul>li:active a:active,.autocomplete>ul>li:focus a:active,.autocomplete>ul>li:hover a:active,.autocomplete>ul>li.active a:focus,.autocomplete>ul>li:active a:focus,.autocomplete>ul>li:focus a:focus,.autocomplete>ul>li:hover a:focus,.autocomplete>ul>li.active a:hover,.autocomplete>ul>li:active a:hover,.autocomplete>ul>li:focus a:hover,.autocomplete>ul>li:hover a:hover{text-decoration:none}.autocomplete>ul>li.locked{cursor:inherit}.autocomplete.open{display:block;background-color:var(--color-autocomplete-background);color:var(--color-autocomplete-font);max-height:32rem;overflow-y:auto;z-index:5000;margin-top:3.5rem;border-radius:.8rem}.autocomplete.open:empty{display:none}@media screen and (max-width: 50em){.autocomplete{width:100%}.autocomplete>ul>li{padding:1rem}}#main_results #results.image-detail-open.only_template_images{width:min(98%,59.25rem)!important}#main_results #results.only_template_images.image-detail-open #backToTop{right:56.75rem!important;left:inherit}article.result-images .detail{display:none}#results.image-detail-open article.result-images[data-vim-selected] .detail{display:flex;flex-direction:column;position:fixed;right:60rem;left:0;top:13rem;transition:top 64ms ease-in 0s;bottom:0;background:var(--color-result-detail-background);border:1px solid var(--color-result-detail-background);z-index:1000;padding:4rem 3rem 3rem}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-images-source{display:block;flex:1;text-align:left;width:100%;border:none;text-decoration:none}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-images-source img{padding:0;margin:0;border:none;object-fit:contain;width:inherit;height:inherit;max-width:100%;min-height:inherit;max-height:calc(100vh - 32rem);background:inherit}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels{color:var(--color-result-detail-font);height:19rem}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels hr{border-top:1px solid var(--color-result-detail-hr);border-bottom:none}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels h4{height:2rem;overflow:hidden;text-overflow:ellipsis;font-size:.9rem;margin-bottom:0}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p{color:var(--color-result-detail-label-font);font-size:.9rem;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin:.8rem 0}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p span{display:inline-block;width:12rem}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels h4,#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p,#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels a{text-align:right}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p.result-content{height:2rem;line-height:unset;overflow:hidden;text-overflow:ellipsis}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p.result-url{white-space:nowrap;overflow:hidden hidden;text-overflow:ellipsis}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p.result-content:hover,#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p.result-url:hover{position:relative;overflow:inherit!important;background:var(--color-result-detail-background);text-overflow:inherit!important}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels a,#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels a:visited,#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels a:hover,#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels a:active{color:var(--color-result-detail-link)}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels a:hover{text-decoration:underline}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close{top:1rem;right:1rem;padding:.4rem}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous{top:1rem;left:6rem;padding:.4rem .3rem .4rem .5rem}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next{top:1rem;left:2rem;padding:.4rem}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous{border-radius:50%;display:block;width:1.5rem;height:1.5rem;position:absolute;filter:opacity(40%);z-index:1200}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close span,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next span,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous span{display:block;width:1.5rem;height:1.5rem;text-align:center}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next span:before,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous span:before{vertical-align:sub}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close:visited,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close:hover,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close:active,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous:visited,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous:hover,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous:active,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next:visited,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next:hover,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next:active{color:var(--color-result-detail-font);background:var(--color-result-detail-background);border:1px solid var(--color-result-detail-font)}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close:focus,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close:hover,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous:focus,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous:hover,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next:focus,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next:hover{filter:opacity(80%)}#results.image-detail-open article.result-images[data-vim-selected] .detail .loader{position:absolute;top:1rem;left:50%;border-top:.5em solid var(--color-result-detail-loader-border);border-right:.5em solid var(--color-result-detail-loader-border);border-bottom:.5em solid var(--color-result-detail-loader-border);border-left:.5em solid var(--color-result-detail-loader-borderleft)}#results.image-detail-open.scrolling article.result-images[data-vim-selected] .detail{top:0}#results.image-detail-open.scrolling article.result-images[data-vim-selected] .detail a.result-images-source img{max-height:calc(100vh - 25rem)}@media screen and (max-width: 79.75em){#results.image-detail-open article.result-images[data-vim-selected] .detail{top:0;right:0}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-images-source{display:flex;flex-direction:column;justify-content:center}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-images-source img{width:100%;max-height:calc(100vh - 24rem)}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next{left:1rem}}@media screen and (max-width: 50em){#results.image-detail-open article.result-images[data-vim-selected] .detail{top:0;right:0;padding:1rem}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-images-source img{width:100%;max-height:calc(100vh - 20rem);margin:0}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p span{width:inherit;margin-left:1rem}}.dialog-modal{animation-name:dialogmodal;animation-duration:.13s}@keyframes dialogmodal{0%{opacity:0}50%{opacity:.5;transform:translate(-50%,-50%) scale(1.05)}}input.checkbox-onoff[type=checkbox]:before{transition:left .25s}iframe[src^="https://w.soundcloud.com"]{height:120px}iframe[src^="https://www.deezer.com"]{height:94px}iframe[src^="https://www.mixcloud.com"]{height:250px}iframe[src^="https://bandcamp.com/EmbeddedPlayer"]{height:350px}iframe[src^="https://bandcamp.com/EmbeddedPlayer/track"]{height:120px}iframe[src^="https://genius.com/songs"]{height:65px}.info-page code{font-family:monospace;border-radius:5px;background-color:var(--color-doc-code-background);color:var(--color-doc-code);padding:.2rem;border:0 none}.stats_endpoint .github-issue-button{display:block;font-size:16px}.stats_endpoint .issue-hide{display:none}.stats_endpoint input[type=checked]{position:absolute}.stats_endpoint label{margin:1rem 1rem 1rem 0}.stats_endpoint .step_content{margin:1rem 1rem 1rem 2rem}.stats_endpoint .step1,.stats_endpoint .step2{visibility:hidden}.stats_endpoint .step1_delay{transition:visibility 0s linear 4s}.stats_endpoint #step1:checked~.step1,.stats_endpoint #step2:checked~.step2{visibility:visible}.engine-stats{border-spacing:0;border-collapse:collapse}.engine-stats tr td,.engine-stats tr th{border-bottom:1px solid var(--color-result-border);padding:.25rem}.engine-stats table.engine-tooltip{border-spacing:0;border-collapse:collapse}.engine-stats table.engine-tooltip td,.engine-stats table.engine-tooltip th{border:none}.engine-stats .engine-name{width:20rem}.engine-stats .engine-score{width:7rem;text-align:right}.engine-stats .engine-reliability{text-align:right}table.engine-error th.engine-error-type,table.engine-error td.engine-error-type,failed-test{width:10rem}.engine-errors{margin-top:3rem}.engine-errors table.engine-error{max-width:1280px;margin:1rem 0 3rem;border:1px solid var(--color-result-border);text-align:right}.engine-errors table.engine-error tr th,.engine-errors table.engine-error tr td{padding:.5rem}.engine-errors table.engine-error span.log_parameters{border-right:1px solid solid var(--color-result-border);padding:0 1rem 0 0;margin:0 0 0 .5rem}.bar-chart-value{width:3em;display:inline-block;text-align:right;padding-right:.5rem}.bar-chart-graph{width:calc(100% - 5rem);display:inline-block}.bar-chart-bar{border:3px solid var(--color-bar-chart-primary);margin:1px 0}.bar-chart-serie1{border:3px solid var(--color-bar-chart-primary);margin:1px 0;float:left}.bar-chart-serie2{border:3px solid var(--color-bar-chart-secondary);margin:1px 0;float:left}.bar0{width:0;border:0}.bar1{width:1%}.bar2{width:2%}.bar3{width:3%}.bar4{width:4%}.bar5{width:5%}.bar6{width:6%}.bar7{width:7%}.bar8{width:8%}.bar9{width:9%}.bar10{width:10%}.bar11{width:11%}.bar12{width:12%}.bar13{width:13%}.bar14{width:14%}.bar15{width:15%}.bar16{width:16%}.bar17{width:17%}.bar18{width:18%}.bar19{width:19%}.bar20{width:20%}.bar21{width:21%}.bar22{width:22%}.bar23{width:23%}.bar24{width:24%}.bar25{width:25%}.bar26{width:26%}.bar27{width:27%}.bar28{width:28%}.bar29{width:29%}.bar30{width:30%}.bar31{width:31%}.bar32{width:32%}.bar33{width:33%}.bar34{width:34%}.bar35{width:35%}.bar36{width:36%}.bar37{width:37%}.bar38{width:38%}.bar39{width:39%}.bar40{width:40%}.bar41{width:41%}.bar42{width:42%}.bar43{width:43%}.bar44{width:44%}.bar45{width:45%}.bar46{width:46%}.bar47{width:47%}.bar48{width:48%}.bar49{width:49%}.bar50{width:50%}.bar51{width:51%}.bar52{width:52%}.bar53{width:53%}.bar54{width:54%}.bar55{width:55%}.bar56{width:56%}.bar57{width:57%}.bar58{width:58%}.bar59{width:59%}.bar60{width:60%}.bar61{width:61%}.bar62{width:62%}.bar63{width:63%}.bar64{width:64%}.bar65{width:65%}.bar66{width:66%}.bar67{width:67%}.bar68{width:68%}.bar69{width:69%}.bar70{width:70%}.bar71{width:71%}.bar72{width:72%}.bar73{width:73%}.bar74{width:74%}.bar75{width:75%}.bar76{width:76%}.bar77{width:77%}.bar78{width:78%}.bar79{width:79%}.bar80{width:80%}.bar81{width:81%}.bar82{width:82%}.bar83{width:83%}.bar84{width:84%}.bar85{width:85%}.bar86{width:86%}.bar87{width:87%}.bar88{width:88%}.bar89{width:89%}.bar90{width:90%}.bar91{width:91%}.bar92{width:92%}.bar93{width:93%}.bar94{width:94%}.bar95{width:95%}.bar96{width:96%}.bar97{width:97%}.bar98{width:98%}.bar99{width:99%}.bar100{width:100%}.osm-map-box{height:300px;width:100%;margin:10px 0}#main_index{margin-top:26vh}.index{text-align:center}.index .title{background:url(../img/searxng.png) no-repeat;min-height:4rem;margin:4rem auto;background-position:center;background-size:contain}.index h1{font-size:4em;visibility:hidden}.index #search,.index #search_header{margin:0 auto;background:inherit;border:inherit;padding:0;display:block}.index .search_filters{display:block;margin:1em 0}.index .category label{padding:6px 10px;border-bottom:initial!important}@media screen and (max-width: 79.75em){div.title h1{font-size:1em}#main_index{margin-top:6em}}table{border-collapse:collapse}table th,table td{text-align:center;padding:1rem .5rem;text-align:right}table tr.pref-group th{font-weight:400;text-align:right;background:var(--color-settings-table-group-background)}#main_preferences form{width:100%}#main_preferences fieldset{margin:8px;border:none}#main_preferences legend{margin:0;padding:5px 0 0;display:block;float:right;width:300px}#main_preferences input[type=text]{width:13.25rem;color:var(--color-toolkit-input-text-font);border:none;background:none repeat scroll 0 0 var(--color-toolkit-select-background);padding:.2rem .4rem;height:2rem;border-radius:5px}#main_preferences input[type=text]:hover,#main_preferences input[type=text]:focus{background-color:var(--color-toolkit-select-background-hover)}#main_preferences div.pref-group{width:100%;font-weight:400;padding:1rem .5rem;text-align:right;background:var(--color-settings-table-group-background)}#main_preferences .value{margin:0;padding:0;float:right;width:15em}#main_preferences .value select,#main_preferences .value input[type=text]{font-size:inherit!important;margin-top:0;margin-left:1rem;margin-bottom:0;margin-right:0}#main_preferences .value select{width:14rem}#main_preferences .value select:focus,#main_preferences .value input:focus{box-shadow:0 0 1px 1px var(--color-btn-background)}#main_preferences .description{margin:0;padding:5px 0 0;float:left;width:50%;color:var(--color-settings-engine-description-font);font-size:90%}#main_preferences .bang{text-align:right;border-radius:5px;background-color:var(--color-doc-code-background);color:var(--color-doc-code);padding:.2rem;border:0 none}#main_preferences .category{margin-left:.5rem}#main_preferences .category label{border:2px solid transparent;padding:.2rem .4rem;border-radius:5px}#main_preferences .category input[type=checkbox]:checked+label{border:2px solid var(--color-categories-item-border-selected)}#main_preferences table.table_engines th.name label{cursor:pointer}#main_preferences table.table_engines th.name .engine-tooltip{margin-top:1.8rem;right:calc((100% - 85em)/2 + 10em);max-width:40rem}#main_preferences table.table_engines th.name .engine-tooltip .engine-description{margin-top:.5rem}#main_preferences table.table_engines th.name .engine-tooltip .bang{margin:.3rem}#main_preferences table.table_engines .checkbox-col,#main_preferences table.table_engines .name,#main_preferences table.table_engines .shortcut{text-align:right}#main_preferences table.cookies{width:100%;direction:ltr}#main_preferences table.cookies th,#main_preferences table.cookies td{text-align:left;font-family:monospace;font-size:1rem;padding:.5em;vertical-align:top}#main_preferences table.cookies td:first-child{word-break:keep-all;width:14rem;padding-right:1rem}#main_preferences table.cookies td:last-child{word-break:break-all}#main_preferences table.cookies>tbody>tr:nth-child(2n)>th,#main_preferences table.cookies>tbody>tr:nth-child(2n)>td{background-color:var(--color-settings-tr-hover)}#main_preferences .preferences_back{background:none repeat scroll 0 0 var(--color-btn-background);color:var(--color-btn-font);border:0 none;border-radius:10px;cursor:pointer;display:inline-block;margin:2px 4px;padding:.7em}#main_preferences .preferences_back a{display:inline-block;color:var(--color-settings-return-font)}#main_preferences .preferences_back a:first-letter{text-transform:uppercase}#main_preferences #toggle-all-engines-container{width:max-content;margin-left:auto}#main_preferences div.selectable_url pre{width:100%}#main_preferences #copy-hash-container{display:flex;align-items:center;gap:.5rem}#main_preferences #copy-hash-container div.selectable_url pre{width:auto;flex-grow:1}#main_preferences #pref-hash-input{width:100%}@media screen and (max-width: 79.75em){.preferences_back{clear:both}.engine-tooltip{right:10em!important}}#search{padding:0;margin:0}#search_header{padding-top:1.5em;padding-left:2em;padding-right:7rem;margin:0;background:var(--color-header-background);border-bottom:1px solid var(--color-header-border);display:grid;gap:1rem 1.2rem;grid-template-columns:3rem 1fr;grid-template-areas:"logo search" "spacer categories"}.category_checkbox,.category_button{display:inline-block;position:relative;margin-left:1rem;padding:0}.category_checkbox input{display:none}.category_checkbox label{cursor:pointer;padding:.2rem 0;display:inline-flex;text-transform:capitalize;font-size:.9em;border-bottom:2px solid transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.category_checkbox label svg{padding-right:.2rem}.category_checkbox label div.category_name{margin:auto 0}.category_checkbox input[type=checkbox]:checked+label{color:var(--color-categories-item-selected-font);border-bottom:2px solid var(--color-categories-item-border-selected)}button.category_button{background-color:inherit;color:var(--color-base-font);cursor:pointer;padding:.2rem 0;display:inline-flex;align-items:center;text-transform:capitalize;font-size:.9em;border:none;border-bottom:2px solid transparent}button.category_button svg{padding-right:.2rem}button.category_button.selected,button.category_button:active{color:var(--color-categories-item-selected-font);border-bottom:2px solid var(--color-categories-item-border-selected)}.no-js #categories_container:has(button.category_button:focus-within) button.category_button.selected{color:var(--color-base-font);border-bottom:none}.no-js #categories_container:has(button.category_button:focus-within) button.category_button:focus-within{color:var(--color-categories-item-selected-font);border-bottom:2px solid var(--color-categories-item-border-selected)}#search_logo{padding:.5rem 10px 0;grid-area:logo;display:flex;align-items:center;justify-content:center}#search_logo svg{flex:1;width:30px;height:30px;margin:.5rem 0 auto}.search_categories{grid-area:categories}.search_categories .help{display:none}.search_categories:hover .help{display:block;position:absolute;background:var(--color-base-background);padding:1rem .6rem .6rem 0;z-index:1000;width:100%;left:-.1rem}#search_view{padding:.5rem .3rem 0 .5rem;grid-area:search}body.results_endpoint #search_view{padding:.5rem 2.8rem 0 0}.search_box{border-radius:.8rem;width:44rem;display:inline-flex;flex-direction:row;white-space:nowrap;box-shadow:var(--color-search-shadow)}#clear_search{display:block;border-collapse:separate;box-sizing:border-box;width:1.8rem;margin:0;padding:.8rem .2rem;background:none repeat scroll 0 0 var(--color-search-background);border:none;color:var(--color-search-font);font-size:1.1rem;z-index:1000}#clear_search:focus{outline:1.5px solid var(--color-base-font);outline-offset:3px;z-index:5000}#clear_search:hover{color:var(--color-search-background-hover)}#clear_search.empty,html.no-js #clear_search.hide_if_nojs{display:none}#q,#send_search{display:block;margin:0;padding:.8rem;background:none repeat scroll 0 0 var(--color-search-background);border:none;color:var(--color-search-font);font-size:1.1rem;z-index:100}#q:focus,#send_search:focus{outline:1.5px solid var(--color-base-font);outline-offset:3px;z-index:5000}#q{width:100%;padding-right:1rem;padding-left:0!important;border-radius:0 .8rem .8rem 0}#q::-ms-clear,#q::-webkit-search-cancel-button{display:none}#send_search{border-radius:.8rem 0 0 .8rem}#send_search:hover{cursor:pointer;background-color:var(--color-search-background-hover);color:var(--color-search-background)}.no-js #clear_search,.no-js #send_search{width:auto!important;border-right:1px solid var(--color-search-border)}.search_filters{margin-top:.6rem;margin-left:0;margin-bottom:0;margin-right:10.6rem;display:flex;overflow-x:auto;overscroll-behavior-inline:contain}.search_filters select{background-color:inherit}.search_filters select:hover,.search_filters select:focus{color:var(--color-base-font)}@media screen and (max-width: 79.75em){#search_header{padding:1.5em .5rem 0;column-gap:.5rem}.search_filters{margin-top:.6rem;margin-left:0;margin-bottom:0;margin-right:3.5rem}#categories{font-size:90%;clear:both}}@media screen and (max-width: 79.75em) and (hover: none){#main_index #categories_container,#main_results #categories_container{width:max-content}#main_index #categories_container .category_checkbox,#main_results #categories_container .category_checkbox{display:inline-block;width:auto}#main_index #categories,#main_results #categories{width:100%;text-align:right;overflow:scroll hidden;-webkit-overflow-scrolling:touch}}@media screen and (max-width: 50em){#search_header{width:100%;margin:0;padding:.1rem 0 0;gap:0 0;grid-template-areas:"logo search" "categories categories"}.search_logo{padding:0}.search_box{width:98%;display:flex}#q{width:100%;flex:1}.search_filters{margin:0 10px;padding:.5rem 0}.category{display:inline-block;width:auto;margin:0}.category svg{display:none}.category_checkbox label,.category_button{padding:1rem!important;margin:0!important}#search_view:focus-within{display:block;background-color:var(--color-search-background);position:absolute;top:0;height:100%;width:100%;z-index:2000}#search_view:focus-within .search_box{border-bottom:1px solid var(--color-search-border);width:100%;border-radius:0;box-shadow:none}#search_view:focus-within .search_box #send_search{margin-left:0!important}#search_view:focus-within .search_box *{border:none;border-radius:0;box-shadow:none}#main_results #q:placeholder-shown~#send_search{margin-left:2.6rem;transition:margin .1s}}@media screen and (max-width: 20rem){#search_header{grid-template-areas:"search search" "categories categories"}#search_logo{display:none}}#categories{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}#categories::-webkit-scrollbar{width:0;height:0}#categories_container{position:relative}.favicon img{height:1.5rem;width:1.5rem;border-radius:10%;background-color:var(--color-favicon-background-color);border:1px solid var(--color-favicon-border-color);display:flex}@media screen and (min-width: 50em){.center-alignment-yes #main_results{--center-page-width: 48rem}}@media screen and (width >= 62rem){.center-alignment-yes #main_results{--center-page-width: 60rem}}@media screen and (min-width: 79.75em){.center-alignment-yes #main_results{--center-page-width: 73rem}}@media screen and (min-width: 50em) and (max-width: 79.75em){.center-alignment-yes #main_results #results{grid-template-columns:60% calc(40% - 5rem);margin-left:0;margin-right:0}.center-alignment-yes #main_results #urls{margin-right:3rem}.center-alignment-yes #main_results #sidebar{margin-left:1rem}.center-alignment-yes #main_results #backToTop{right:calc(60% + 1rem)}}@media screen and (min-width: 79.75em){.center-alignment-yes #main_results{display:flex;flex-direction:column;align-items:center}.center-alignment-yes #main_results #search{width:100%;display:flex;flex-direction:column;align-items:center}.center-alignment-yes #main_results #search_header{grid-template-columns:calc(50% - 4.5rem - var(--center-page-width) / 2) 3rem var(--center-page-width);grid-template-areas:"na logo search" "na spacer categories";column-gap:1.2rem;width:100%;padding-left:0;padding-right:0}.center-alignment-yes #main_results .search_filters{margin-right:.5rem;width:var(--center-page-width)}.center-alignment-yes #main_results #results{margin-left:2rem;margin-right:10rem}.center-alignment-yes #main_results #results.only_template_images,.center-alignment-yes #main_results #results.image-detail-open{align-self:flex-start}.center-alignment-yes #main_results #results:not(.only_template_images,.image-detail-open){margin-right:1.5rem;grid-template-columns:calc(var(--center-page-width) - 5rem - 25rem) 25rem}.center-alignment-yes #main_results #results:not(.only_template_images,.image-detail-open) #backToTop{right:calc(50% - 25rem - 5rem + 1rem + var(--center-page-width) / 2)}.center-alignment-yes #main_results #results .result .content{max-width:inherit}.center-alignment-yes #main_results #urls{margin-right:0}.center-alignment-yes #main_results #sidebar{margin-left:0}}.sxng-icon-set{display:inline-block;vertical-align:bottom;line-height:1;text-decoration:inherit;transform:scaleX(-1)}.sxng-icon-set-small{width:1rem;height:1rem;display:inline-block;vertical-align:bottom;line-height:1;text-decoration:inherit;transform:scaleX(-1)}.sxng-icon-set-big{width:1.5rem;height:1.5rem;display:inline-block;vertical-align:bottom;line-height:1;text-decoration:inherit;transform:scaleX(-1)}html{font-family:sans-serif;font-size:.9em;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;color:var(--color-base-font);background-color:var(--color-base-background);padding:0;margin:0;scroll-behavior:smooth}body,main{padding:0;margin:0}body{display:flex;flex-direction:column;height:100vh;margin:0}@supports (height: 100dvh){body{height:100dvh}}main{width:100%;margin-bottom:2rem;flex:1}.page_with_header{margin:2em auto;width:85em}footer{clear:both;min-height:4rem;padding:1rem 0;width:100%;text-align:center;background-color:var(--color-footer-background);border-top:1px solid var(--color-footer-border);overflow:hidden}footer p{font-size:.9em}.page_with_header .logo{height:40px}input[type=submit],#results button[type=submit],.button{padding:.7rem;display:inline-block;background:var(--color-btn-background);color:var(--color-btn-font);border-radius:10px;border:0;cursor:pointer}input[type=submit]:focus,#results button[type=submit]:focus,.button:focus{outline:1.5px solid var(--color-base-font);outline-offset:3px;z-index:5000}a{text-decoration:none;color:var(--color-url-font)}a:visited,a:visited .highlight{color:var(--color-url-visited-font)}article[data-vim-selected]{background:var(--color-result-vim-selected);border-right:.2rem solid var(--color-result-vim-arrow);border-radius:10px 0 0 10px}article.result-images[data-vim-selected]{background:var(--color-result-vim-arrow);border:none;border-radius:10px}article.result-images[data-vim-selected] .image_thumbnail{filter:opacity(60%)}article.result-images[data-vim-selected] span.title,article.result-images[data-vim-selected] span.source{color:var(--color-result-image-span-font-selected)}article[data-vim-selected].category-videos,article[data-vim-selected].category-news,article[data-vim-selected].category-map,article[data-vim-selected].category-music,article[data-vim-selected].category-files,article[data-vim-selected].category-social{border:1px solid var(--color-result-vim-arrow);border-radius:10px}a:focus,button:focus,input:focus,select:focus{outline:1.5px solid var(--color-base-font);outline-offset:3px;z-index:5000}.result{margin:.125rem 0;padding:1rem;box-sizing:border-box;width:100%;border-right:.2rem solid transparent}.result h3{font-size:1.2rem;word-wrap:break-word;margin:.4rem 0;padding:0}.result h3 a{color:var(--color-result-link-font);font-weight:400;font-size:1.1em}.result h3 a:visited{color:var(--color-result-link-visited-font)}.result h3 a:focus,.result h3 a:hover{text-decoration:underline;border:none}.result .cache_link,.result .proxyfied_link{font-size:smaller!important;margin-left:.5rem}.result .content,.result .stat{font-size:.9em;margin:0;padding:0;max-width:54em;word-wrap:break-word;line-height:1.24}.result .content .highlight,.result .stat .highlight{color:var(--color-result-description-highlight-font);background:inherit;font-weight:700}.result .altlink a{font-size:.9em;margin:0 10px 0 0;padding:5px 10px;border-radius:5px;background:var(--color-show-btn-background);color:var(--color-show-btn-font);cursor:pointer}.result .altlink a:hover{background:var(--color-btn-background);color:var(--color-btn-font)}.result .codelines .highlight{color:inherit;background:inherit;font-weight:400}.result .url_header{display:flex;gap:.5rem}.result .url_wrapper{display:flex;align-items:center;font-size:1rem;color:var(--color-result-url-font);flex-flow:row nowrap;overflow:hidden;margin:0;padding:0}.result .url_wrapper .url_o1{white-space:nowrap;flex-shrink:1;padding-bottom:1px}.result .url_wrapper .url_o1 .url_i1{unicode-bidi:plaintext}.result .url_wrapper .url_o1:after{content:" ";width:1ch;display:inline-block}.result .url_wrapper .url_o2{overflow:hidden;white-space:nowrap;flex:0 1 content;text-align:right;padding-bottom:1px}.result .url_wrapper .url_o2 .url_i2{float:right}.result .published_date,.result .result_length,.result .result_views,.result .result_author,.result .result_shipping,.result .result_source_country{font-size:.8em;color:var(--color-result-publishdate-font)}.result .result_price{font-size:1.2em;color:var(--color-result-description-highlight-font)}.result img.thumbnail{float:right;padding-top:.6rem;padding-left:1rem;width:7rem;height:unset}.result .break{clear:both}.result-paper .attributes,.result-packages .attributes{display:table;border-spacing:.125rem}.result-paper .attributes div,.result-packages .attributes div{display:table-row}.result-paper .attributes div span,.result-packages .attributes div span{font-size:.9rem;margin-top:.25rem;display:table-cell}.result-paper .attributes div span time,.result-packages .attributes div span time{font-size:.9rem}.result-paper .attributes div span:first-child,.result-packages .attributes div span:first-child{color:var(--color-base-font);min-width:10rem}.result-paper .attributes div span:nth-child(2),.result-packages .attributes div span:nth-child(2){color:var(--color-result-publishdate-font)}.result-paper .content,.result-packages .content{margin-top:.25rem}.result-paper .comments,.result-packages .comments{font-size:.9rem;margin:.25rem 0 0;padding:0;word-wrap:break-word;line-height:1.24;font-style:italic}.result-packages .attributes{margin-top:.3rem}.template_group_images{display:flex;flex-wrap:wrap}.template_group_images:after{flex-grow:10;content:""}.category-videos,.category-news,.category-map,.category-music,.category-files,.category-social{border:1px solid var(--color-result-border);margin:0 .5rem 1rem!important;border-radius:10px}.category-social .image{width:auto!important;min-width:48px;min-height:48px;padding:0 5px 25px 0!important}.audio-control audio{width:100%;padding:10px 0 0}.embedded-content iframe{width:100%;padding:10px 0 0}.result-videos img.thumbnail{float:right;padding-top:.6rem;padding-left:1rem;width:20rem;height:unset}.result-videos .content{overflow:hidden}.result-videos .embedded-video iframe{width:100%;aspect-ratio:16 / 9;padding:10px 0 0}@supports not (aspect-ratio: 1 / 1){.result-videos .embedded-video iframe{height:25.3125rem}}.engines{float:left;display:flex;flex-wrap:wrap;justify-content:flex-end;color:var(--color-result-engines-font)}.engines span{font-size:smaller;margin-top:0;margin-bottom:0;margin-left:.5rem;margin-right:0}.small_font{font-size:.8em}.highlight{color:var(--color-result-link-font-highlight);background:inherit}.empty_element{font-style:italic}.result-images{flex-grow:1;padding:.5rem .5rem 3rem;margin:.25rem;border:none!important;height:12rem;width:unset}.result-images>a{position:relative}.result-images img{margin:0;padding:0;border:none;height:100%;width:100%;object-fit:cover;vertical-align:bottom;background:var(--color-result-image-background)}.result-images .image_resolution{position:absolute;right:0;bottom:0;background:var(--color-image-resolution-background);padding:.3rem .5rem;font-size:.9rem;color:var(--color-image-resolution-font);border-top-left-radius:.3rem}.result-images span.title,.result-images span.source{display:block;position:absolute;width:100%;font-size:.9rem;color:var(--color-result-image-span-font);padding:.5rem 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-images span.source{padding:1.8rem 0 0;font-size:.7rem}.result-map img.image{float:left!important;height:100px!important;width:auto!important}.result-map table{font-size:.9em;width:auto;border-collapse:separate;border-spacing:0 .35rem}.result-map table th{font-weight:inherit;width:17rem;vertical-align:top;text-align:right}.result-map table td{vertical-align:top;text-align:right}.hidden{display:none!important}#results{margin-top:1rem;margin-left:2rem;margin-bottom:0;margin-right:10rem;display:grid;grid-template:"corrections sidebar" min-content "answers sidebar" min-content "urls sidebar" 1fr "pagination sidebar" min-content / 45rem 25rem;gap:0 5rem}#results #sidebar *:first-child{margin-top:0}#urls{padding:0;grid-area:urls}#apis .wrapper{display:flex}#suggestions .wrapper{display:flex;flex-flow:column;justify-content:flex-end}#suggestions .wrapper form{display:inline-block;flex:1 1 50%}#suggestions input,#infoboxes input{padding:0;margin:3px;font-size:.9em;display:inline-block;background:transparent;color:var(--color-result-search-url-font);cursor:pointer;width:100%;text-overflow:ellipsis;overflow:hidden;text-align:left}#suggestions input[type=submit],#infoboxes input[type=submit],#suggestions .infobox .url a,#infoboxes .infobox .url a{color:var(--color-result-link-font);text-decoration:none;font-size:.9rem}#suggestions input[type=submit]:hover,#infoboxes input[type=submit]:hover,#suggestions .infobox .url a:hover,#infoboxes .infobox .url a:hover{text-decoration:underline}#corrections{grid-area:corrections;display:flex;flex-flow:row wrap;margin:0 0 1em}#corrections h4,#corrections input[type=submit]{display:inline-block;padding:.5rem;margin:.5rem}#corrections input[type=submit]{font-size:.8rem;border-radius:5px}#infoboxes .title,#suggestions .title,#search_url .title,#engines_msg .title,#apis .title{margin:2em 0 .5em;color:var(--color-base-font)}summary.title{cursor:pointer;padding-top:1em}.sidebar-collapsible{border-top:1px solid var(--color-sidebar-border);padding-bottom:.5em}#sidebar-end-collapsible{border-bottom:1px solid var(--color-sidebar-border);width:100%}#answers{grid-area:answers;background:var(--color-answer-background);padding:1rem;margin:1rem 0;margin-top:0;color:var(--color-answer-font);border-radius:10px}#answers h4{display:none}#answers span{overflow-wrap:anywhere}#answers .answer{display:flex;flex-direction:column}#answers .answer-url{margin:5px 10px 10px auto}#infoboxes form{min-width:210px}#sidebar{grid-area:sidebar;word-wrap:break-word;color:var(--color-sidebar-font)}#sidebar .infobox{margin:10px 0;border:1px solid var(--color-sidebar-border);padding:1rem;font-size:.9em;border-radius:10px}#sidebar .infobox h2{margin:0 0 .5em}#sidebar .infobox img{max-width:100%;max-height:12em;display:block;margin:0 auto;padding:0}#sidebar .infobox dt{font-weight:700}#sidebar .infobox .attributes dl{margin:.5em 0}#sidebar .infobox .attributes dt{display:inline;margin:.5em 0 .5em .25em;padding:0}#sidebar .infobox .attributes dd{display:inline;margin:.5em 0;padding:0}#sidebar .infobox input{font-size:1em}#sidebar .infobox br,#sidebar .infobox .attributes,#sidebar .infobox .urls{clear:both}#apis input{font-size:.9em;margin:0 10px 0 0;padding:5px 10px;border-radius:5px;background:var(--color-show-btn-background);color:var(--color-show-btn-font);cursor:pointer}#apis input:hover{background:var(--color-btn-background);color:var(--color-btn-font)}#engines_msg .engine-name{width:10rem}#engines_msg .response-error{color:var(--color-error)}#engines_msg .bar-chart-value{width:auto}#search_url div.selectable_url pre{float:left;width:200em}#search_url button#copy_url{float:right;padding:.4rem;margin-left:.5rem;border-radius:.3rem;display:none}#links_on_top{position:absolute;left:1rem;text-align:left;top:2.7rem;padding:0;border:0;display:flex;align-items:center;font-size:1em;color:var(--color-search-font)}#links_on_top a{display:flex;align-items:center;margin-left:1em}#links_on_top a svg{font-size:1.2em;margin-left:.125em}#links_on_top a,#links_on_top a:link *,#links_on_top a:hover *,#links_on_top a:visited *,#links_on_top a:active *{color:var(--color-search-font)}#pagination{grid-area:pagination}#pagination br{clear:both}.numbered_pagination{display:flex;flex-direction:row;justify-content:center;align-items:center;overflow:hidden}.page_number{background:transparent!important;color:var(--color-result-link-font)!important;text-decoration:underline}.page_number_current{background:transparent;color:var(--color-result-link-visited-font);border:none}#backToTop{border:1px solid var(--color-backtotop-border);margin:0;padding:0;font-size:1em;background:var(--color-backtotop-background);position:fixed;bottom:8rem;right:56.3rem;transition:opacity .5s;opacity:0;pointer-events:none;border-radius:10px}#backToTop a{display:block;margin:0;padding:.7em}#backToTop a,#backToTop a:visited,#backToTop a:hover,#backToTop a:active{color:var(--color-backtotop-font)}#results.scrolling #backToTop{opacity:1;pointer-events:all}@media screen and (width <= calc(79.75em - .5px)){#links_on_top span{display:none}}@media screen and (width <= 52rem){body.results_endpoint #links_on_top .link_on_top_about,body.results_endpoint #links_on_top .link_on_top_donate{display:none}}@media screen and (min-width: 50em) and (max-width: 79.75em){.center-alignment-no #links_on_top span{display:none}.center-alignment-no .page_with_header{margin:2rem .5rem;width:auto}.center-alignment-no #infoboxes{position:inherit;max-width:inherit}.center-alignment-no #infoboxes .infobox{clear:both}.center-alignment-no #infoboxes .infobox img{float:right;max-width:10em;margin:.5em 0 .5em .5em}.center-alignment-no #sidebar{margin:0 .5rem .125rem;padding:0;float:none;border:none;width:auto}.center-alignment-no #sidebar input{border:0}.center-alignment-no .result .thumbnail{max-width:98%}.center-alignment-no .result .url span.url{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;width:100%}.center-alignment-no .result .engines{float:left;display:flex;flex-wrap:wrap;justify-content:flex-end;padding:3px 0 0}.center-alignment-no .result-images{border-bottom:none!important}.center-alignment-no .image_result,.center-alignment-no .image_result img{max-width:98%}.center-alignment-no #backToTop{display:none}.center-alignment-no #pagination{margin:2rem 0 0!important}.center-alignment-no #main_results div#results{margin:0 auto;justify-content:center;display:grid;grid-template:"corrections" min-content "answers" min-content "sidebar" min-content "urls" 1fr "pagination" min-content / 45rem;gap:0}}#main_results div#results.only_template_images{margin:1rem .5rem 0;display:grid;grid-template:"corrections" min-content "answers" min-content "sidebar" min-content "urls" 1fr "pagination" min-content / 100%;gap:0}#main_results div#results.only_template_images #sidebar{display:none}#main_results div#results.only_template_images #urls{margin:0;display:flex;flex-wrap:wrap}#main_results div#results.only_template_images #urls:after{flex-grow:10;content:""}#main_results div#results.only_template_images #backToTop{right:auto;left:1rem}#main_results div#results.only_template_images #pagination{margin-left:4rem}@media screen and (max-width: 50em){#links_on_top span{display:none}.page_with_header{margin:2rem .5rem;width:auto}#infoboxes{position:inherit;max-width:inherit}#infoboxes .infobox{clear:both}#infoboxes .infobox img{float:right;max-width:10em;margin:.5em 0 .5em .5em}#sidebar{margin:0 .5rem .125rem;padding:0;float:none;border:none;width:auto}#sidebar input{border:0}.result .thumbnail{max-width:98%}.result .url span.url{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;width:100%}.result .engines{float:left;display:flex;flex-wrap:wrap;justify-content:flex-end;padding:3px 0 0}.result-images{border-bottom:none!important}.image_result,.image_result img{max-width:98%}#backToTop{display:none}#pagination{margin:2rem 0 0!important}#main_results div#results{margin:0 auto;justify-content:center;display:grid;grid-template:"corrections" min-content "answers" min-content "sidebar" min-content "urls" 1fr "pagination" min-content / 45rem;gap:0}html{background-color:var(--color-base-background-mobile)}#main_results div#results{grid-template-columns:100%;margin:0 auto}#links_on_top{top:1.4rem;left:10px}#main_index #links_on_top{top:.5rem;left:.5rem}#results{margin:0;padding:0}#pagination{margin:2rem 1rem 0!important}article[data-vim-selected]{border:1px solid var(--color-result-vim-arrow);border-radius:10px}.result{background:var(--color-result-background);border:1px solid var(--color-result-background);margin:1rem 2%;width:96%;border-radius:10px}.result-images{margin:0;height:10rem;background:var(--color-base-background-mobile);width:unset}.infobox{border:none!important;background-color:var(--color-sidebar-background)}.numbered_pagination{display:none}.result-paper .attributes,.result-packages .attributes,.result-paper .attributes div,.result-packages .attributes div{display:block}.result-paper .attributes div span,.result-packages .attributes div span{display:inline}.result-paper .attributes div span:first-child,.result-packages .attributes div span:first-child{font-weight:700}.result-paper .attributes div span:nth-child(2),.result-packages .attributes div span:nth-child(2){margin-right:.5rem}}@media screen and (max-width: 35em){.result-videos img.thumbnail{float:none!important}.result-videos .content{overflow:inherit}}pre code{white-space:pre-wrap}#main_results .result-keyvalue caption{padding:.8rem .5rem;font-style:italic;caption-side:bottom;background-color:var(--color-result-keyvalue-table)}#main_results .result-keyvalue .col-key{width:25%}#main_results .result-keyvalue table{word-break:break-word;table-layout:fixed;width:100%;background-color:var(--color-result-keyvalue-table)}#main_results .result-keyvalue tr.odd{background-color:var(--color-result-keyvalue-odd)}#main_results .result-keyvalue tr.even{background-color:var(--color-result-keyvalue-even)}#main_results .result-keyvalue th,#main_results .result-keyvalue td{padding:.3rem .5rem}#q,#sidebar .infobox dt bdi{direction:rtl}#urls{direction:initial;text-align:right}#urls .result .url_header{direction:rtl}#urls .result .url_wrapper{justify-content:end}#main_results div#results.only_template_images #urls{direction:rtl}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p{direction:rtl}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p.result-url{direction:ltr}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p.result-url span{direction:rtl;float:right}@supports ((background-position-x: 100%) and ((appearance: none) or (-webkit-appearance: none) or (-moz-appearance: none))){select{border-width:0 0 0 2rem;background-position-x:-2rem}}#vim-hotkeys-help table{direction:ltr;text-align:left}#main_preferences h1,#main_stats h1{background-position-x:100%}.bar-chart-serie1,.bar-chart-serie2{float:right}.engine-stats .engine-name,.engine-stats .engine-score,.engine-stats .result-count,.engine-stats .response-time,.engine-stats .engine-reliability{text-align:right} diff --git a/searx/static/themes/simple/css/searxng.min.css b/searx/static/themes/simple/css/searxng.min.css index 5e93dd0d6..7c4967077 100644 --- a/searx/static/themes/simple/css/searxng.min.css +++ b/searx/static/themes/simple/css/searxng.min.css @@ -1 +1 @@ -/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}:root{--color-base-font: #444;--color-base-font-rgb: 68, 68, 68;--color-base-background: #fff;--color-base-background-mobile: #f2f5f8;--color-url-font: #334999;--color-url-visited-font: #9822c3;--color-header-background: #fdfbff;--color-header-border: #ddd;--color-footer-background: #fdfbff;--color-footer-border: #ddd;--color-sidebar-border: #ddd;--color-sidebar-font: #000;--color-sidebar-background: #fff;--color-backtotop-font: #444;--color-backtotop-border: #ddd;--color-backtotop-background: #fff;--color-btn-background: #3050ff;--color-btn-font: #fff;--color-show-btn-background: #bbb;--color-show-btn-font: #000;--color-search-border: #bbb;--color-search-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-search-background: #fff;--color-search-font: #222;--color-search-background-hover: #3050ff;--color-error: #db3434;--color-error-background: #fae1e1;--color-warning: #dbba34;--color-warning-background: #faf5e1;--color-success: #42db34;--color-success-background: #e3fae1;--color-categories-item-selected-font: #3050ff;--color-categories-item-border-selected: #3050ff;--color-autocomplete-font: #000;--color-autocomplete-border: #bbb;--color-autocomplete-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-autocomplete-background: #fff;--color-autocomplete-background-hover: #e3e3e3;--color-answer-font: #444;--color-answer-background: #fff;--color-result-keyvalue-col-table: #fdfbff;--color-result-keyvalue-odd: #fdfbff;--color-result-keyvalue-even: #fff;--color-result-background: #fff;--color-result-border: #ddd;--color-result-url-font: #000;--color-result-vim-selected: #f7f7f7;--color-result-vim-arrow: #000bbb;--color-result-description-highlight-font: #000;--color-result-link-font: #000bbb;--color-result-link-font-highlight: #000bbb;--color-result-link-visited-font: #9822c3;--color-result-publishdate-font: #777;--color-result-engines-font: #545454;--color-result-search-url-border: #ddd;--color-result-search-url-font: #000;--color-result-image-span-font: #444;--color-result-image-span-font-selected: #fff;--color-result-image-background: #fff;--color-settings-tr-hover: #ebebeb;--color-settings-engine-description-font: #545454;--color-settings-table-group-background: #0001;--color-result-detail-font: #fff;--color-result-detail-label-font: lightgray;--color-result-detail-background: #242424;--color-result-detail-hr: #555;--color-result-detail-link: #8af;--color-result-detail-loader-border: rgba(255, 255, 255, .2);--color-result-detail-loader-borderleft: rgba(0, 0, 0, 0);--color-toolkit-badge-font: #fff;--color-toolkit-badge-background: #545454;--color-toolkit-kbd-font: #fff;--color-toolkit-kbd-background: #000;--color-toolkit-dialog-border: #ddd;--color-toolkit-dialog-background: #fff;--color-toolkit-tabs-label-border: #fff;--color-toolkit-tabs-section-border: #ddd;--color-toolkit-select-background: #e1e1e1;--color-toolkit-select-border: #ddd;--color-toolkit-select-background-hover: #bbb;--color-toolkit-input-text-font: #222;--color-toolkit-checkbox-onoff-off-background: #ddd;--color-toolkit-checkbox-onoff-on-background: #ddd;--color-toolkit-checkbox-onoff-on-mark-background: #3050ff;--color-toolkit-checkbox-onoff-on-mark-color: #fff;--color-toolkit-checkbox-onoff-off-mark-background: #aaa;--color-toolkit-checkbox-onoff-off-mark-color: #fff;--color-toolkit-checkbox-label-background: #ddd;--color-toolkit-checkbox-label-border: #ddd;--color-toolkit-checkbox-input-border: #3050ff;--color-toolkit-engine-tooltip-border: #ddd;--color-toolkit-engine-tooltip-background: #fff;--color-toolkit-loader-border: rgba(0, 0, 0, .2);--color-toolkit-loader-borderleft: rgba(255, 255, 255, 0);--color-doc-code: #003;--color-doc-code-background: #ddeaff;--color-bar-chart-primary: #5bc0de;--color-bar-chart-secondary: #deb15b;--color-image-resolution-background: rgba(0, 0, 0, .5);--color-image-resolution-font: #fff;--color-loading-indicator: rgba(255, 255, 255, .2);--color-loading-indicator-gap: #fff;--color-line-number: #64708d;--color-favicon-background-color: #ddd;--color-favicon-border-color: #ccc}@media (prefers-color-scheme: dark){:root.theme-auto{--color-base-font: #bbb;--color-base-font-rgb: 187, 187, 187;--color-base-background: #222428;--color-base-background-mobile: #222428;--color-url-font: #8af;--color-url-visited-font: #c09cd9;--color-header-background: #1e1e22;--color-header-border: #333;--color-footer-background: #1e1e22;--color-footer-border: #333;--color-sidebar-border: #555;--color-sidebar-font: #fff;--color-sidebar-background: #292c34;--color-backtotop-font: #bbb;--color-backtotop-border: #333;--color-backtotop-background: #2b2e36;--color-btn-background: #58f;--color-btn-font: #222;--color-show-btn-background: #555;--color-show-btn-font: #fff;--color-search-border: #555;--color-search-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-search-background: #2b2e36;--color-search-font: #fff;--color-search-background-hover: #58f;--color-error: #f55b5b;--color-error-background: #390a0a;--color-warning: #f1d561;--color-warning-background: #39300a;--color-success: #79f56e;--color-success-background: #0e390a;--color-categories-item-selected-font: #58f;--color-categories-item-border-selected: #58f;--color-autocomplete-font: #fff;--color-autocomplete-border: #555;--color-autocomplete-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-autocomplete-background: #2b2e36;--color-autocomplete-background-hover: #1e1e22;--color-answer-font: #bbb;--color-answer-background: #26292f;--color-result-keyvalue-col-table: #1e1e22;--color-result-keyvalue-odd: #1e1e22;--color-result-keyvalue-even: #26292f;--color-result-background: #26292f;--color-result-border: #333;--color-result-url-font: #fff;--color-result-vim-selected: #1f1f23cc;--color-result-vim-arrow: #8af;--color-result-description-highlight-font: #fff;--color-result-link-font: #8af;--color-result-link-font-highlight: #8af;--color-result-link-visited-font: #c09cd9;--color-result-publishdate-font: #888;--color-result-engines-font: #a4a4a4;--color-result-search-url-border: #555;--color-result-search-url-font: #fff;--color-result-detail-font: #fff;--color-result-detail-label-font: lightgray;--color-result-detail-background: #1a1a1c;--color-result-detail-hr: #555;--color-result-detail-link: #8af;--color-result-detail-loader-border: rgba(255, 255, 255, .2);--color-result-detail-loader-borderleft: rgba(0, 0, 0, 0);--color-result-image-span-font: #bbb;--color-result-image-span-font-selected: #222;--color-result-image-background: #222;--color-settings-tr-hover: #2c2c32;--color-settings-engine-description-font: #909090;--color-settings-table-group-background: #1b1b21;--color-toolkit-badge-font: #fff;--color-toolkit-badge-background: #555;--color-toolkit-kbd-font: #000;--color-toolkit-kbd-background: #fff;--color-toolkit-dialog-border: #555;--color-toolkit-dialog-background: #1e1e22;--color-toolkit-tabs-label-border: #222;--color-toolkit-tabs-section-border: #555;--color-toolkit-select-background: #313338;--color-toolkit-select-border: #555;--color-toolkit-select-background-hover: #373b49;--color-toolkit-input-text-font: #fff;--color-toolkit-checkbox-onoff-off-background: #313338;--color-toolkit-checkbox-onoff-on-background: #313338;--color-toolkit-checkbox-onoff-on-mark-background: #58f;--color-toolkit-checkbox-onoff-on-mark-color: #222;--color-toolkit-checkbox-onoff-off-mark-background: #ddd;--color-toolkit-checkbox-onoff-off-mark-color: #222;--color-toolkit-checkbox-label-background: #222;--color-toolkit-checkbox-label-border: #333;--color-toolkit-checkbox-input-border: #58f;--color-toolkit-engine-tooltip-border: #333;--color-toolkit-engine-tooltip-background: #222;--color-toolkit-loader-border: rgba(255, 255, 255, .2);--color-toolkit-loader-borderleft: rgba(0, 0, 0, 0);--color-doc-code: #ddd;--color-doc-code-background: #4d5a6f;--color-favicon-background-color: #ddd;--color-favicon-border-color: #ccc}}:root.theme-dark{--color-base-font: #bbb;--color-base-font-rgb: 187, 187, 187;--color-base-background: #222428;--color-base-background-mobile: #222428;--color-url-font: #8af;--color-url-visited-font: #c09cd9;--color-header-background: #1e1e22;--color-header-border: #333;--color-footer-background: #1e1e22;--color-footer-border: #333;--color-sidebar-border: #555;--color-sidebar-font: #fff;--color-sidebar-background: #292c34;--color-backtotop-font: #bbb;--color-backtotop-border: #333;--color-backtotop-background: #2b2e36;--color-btn-background: #58f;--color-btn-font: #222;--color-show-btn-background: #555;--color-show-btn-font: #fff;--color-search-border: #555;--color-search-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-search-background: #2b2e36;--color-search-font: #fff;--color-search-background-hover: #58f;--color-error: #f55b5b;--color-error-background: #390a0a;--color-warning: #f1d561;--color-warning-background: #39300a;--color-success: #79f56e;--color-success-background: #0e390a;--color-categories-item-selected-font: #58f;--color-categories-item-border-selected: #58f;--color-autocomplete-font: #fff;--color-autocomplete-border: #555;--color-autocomplete-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-autocomplete-background: #2b2e36;--color-autocomplete-background-hover: #1e1e22;--color-answer-font: #bbb;--color-answer-background: #26292f;--color-result-keyvalue-col-table: #1e1e22;--color-result-keyvalue-odd: #1e1e22;--color-result-keyvalue-even: #26292f;--color-result-background: #26292f;--color-result-border: #333;--color-result-url-font: #fff;--color-result-vim-selected: #1f1f23cc;--color-result-vim-arrow: #8af;--color-result-description-highlight-font: #fff;--color-result-link-font: #8af;--color-result-link-font-highlight: #8af;--color-result-link-visited-font: #c09cd9;--color-result-publishdate-font: #888;--color-result-engines-font: #a4a4a4;--color-result-search-url-border: #555;--color-result-search-url-font: #fff;--color-result-detail-font: #fff;--color-result-detail-label-font: lightgray;--color-result-detail-background: #1a1a1c;--color-result-detail-hr: #555;--color-result-detail-link: #8af;--color-result-detail-loader-border: rgba(255, 255, 255, .2);--color-result-detail-loader-borderleft: rgba(0, 0, 0, 0);--color-result-image-span-font: #bbb;--color-result-image-span-font-selected: #222;--color-result-image-background: #222;--color-settings-tr-hover: #2c2c32;--color-settings-engine-description-font: #909090;--color-settings-table-group-background: #1b1b21;--color-toolkit-badge-font: #fff;--color-toolkit-badge-background: #555;--color-toolkit-kbd-font: #000;--color-toolkit-kbd-background: #fff;--color-toolkit-dialog-border: #555;--color-toolkit-dialog-background: #1e1e22;--color-toolkit-tabs-label-border: #222;--color-toolkit-tabs-section-border: #555;--color-toolkit-select-background: #313338;--color-toolkit-select-border: #555;--color-toolkit-select-background-hover: #373b49;--color-toolkit-input-text-font: #fff;--color-toolkit-checkbox-onoff-off-background: #313338;--color-toolkit-checkbox-onoff-on-background: #313338;--color-toolkit-checkbox-onoff-on-mark-background: #58f;--color-toolkit-checkbox-onoff-on-mark-color: #222;--color-toolkit-checkbox-onoff-off-mark-background: #ddd;--color-toolkit-checkbox-onoff-off-mark-color: #222;--color-toolkit-checkbox-label-background: #222;--color-toolkit-checkbox-label-border: #333;--color-toolkit-checkbox-input-border: #58f;--color-toolkit-engine-tooltip-border: #333;--color-toolkit-engine-tooltip-background: #222;--color-toolkit-loader-border: rgba(255, 255, 255, .2);--color-toolkit-loader-borderleft: rgba(0, 0, 0, 0);--color-doc-code: #ddd;--color-doc-code-background: #4d5a6f;--color-favicon-background-color: #ddd;--color-favicon-border-color: #ccc}:root.theme-black{--color-base-font: #bbb;--color-base-font-rgb: 187, 187, 187;--color-base-background: #222428;--color-base-background-mobile: #222428;--color-url-font: #8af;--color-url-visited-font: #c09cd9;--color-header-background: #1e1e22;--color-header-border: #333;--color-footer-background: #1e1e22;--color-footer-border: #333;--color-sidebar-border: #555;--color-sidebar-font: #fff;--color-sidebar-background: #292c34;--color-backtotop-font: #bbb;--color-backtotop-border: #333;--color-backtotop-background: #2b2e36;--color-btn-background: #58f;--color-btn-font: #222;--color-show-btn-background: #555;--color-show-btn-font: #fff;--color-search-border: #555;--color-search-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-search-background: #2b2e36;--color-search-font: #fff;--color-search-background-hover: #58f;--color-error: #f55b5b;--color-error-background: #390a0a;--color-warning: #f1d561;--color-warning-background: #39300a;--color-success: #79f56e;--color-success-background: #0e390a;--color-categories-item-selected-font: #58f;--color-categories-item-border-selected: #58f;--color-autocomplete-font: #fff;--color-autocomplete-border: #555;--color-autocomplete-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-autocomplete-background: #2b2e36;--color-autocomplete-background-hover: #1e1e22;--color-answer-font: #bbb;--color-answer-background: #26292f;--color-result-keyvalue-col-table: #1e1e22;--color-result-keyvalue-odd: #1e1e22;--color-result-keyvalue-even: #26292f;--color-result-background: #26292f;--color-result-border: #333;--color-result-url-font: #fff;--color-result-vim-selected: #1f1f23cc;--color-result-vim-arrow: #8af;--color-result-description-highlight-font: #fff;--color-result-link-font: #8af;--color-result-link-font-highlight: #8af;--color-result-link-visited-font: #c09cd9;--color-result-publishdate-font: #888;--color-result-engines-font: #a4a4a4;--color-result-search-url-border: #555;--color-result-search-url-font: #fff;--color-result-detail-font: #fff;--color-result-detail-label-font: lightgray;--color-result-detail-background: #1a1a1c;--color-result-detail-hr: #555;--color-result-detail-link: #8af;--color-result-detail-loader-border: rgba(255, 255, 255, .2);--color-result-detail-loader-borderleft: rgba(0, 0, 0, 0);--color-result-image-span-font: #bbb;--color-result-image-span-font-selected: #222;--color-result-image-background: #222;--color-settings-tr-hover: #2c2c32;--color-settings-engine-description-font: #909090;--color-settings-table-group-background: #1b1b21;--color-toolkit-badge-font: #fff;--color-toolkit-badge-background: #555;--color-toolkit-kbd-font: #000;--color-toolkit-kbd-background: #fff;--color-toolkit-dialog-border: #555;--color-toolkit-dialog-background: #1e1e22;--color-toolkit-tabs-label-border: #222;--color-toolkit-tabs-section-border: #555;--color-toolkit-select-background: #313338;--color-toolkit-select-border: #555;--color-toolkit-select-background-hover: #373b49;--color-toolkit-input-text-font: #fff;--color-toolkit-checkbox-onoff-off-background: #313338;--color-toolkit-checkbox-onoff-on-background: #313338;--color-toolkit-checkbox-onoff-on-mark-background: #58f;--color-toolkit-checkbox-onoff-on-mark-color: #222;--color-toolkit-checkbox-onoff-off-mark-background: #ddd;--color-toolkit-checkbox-onoff-off-mark-color: #222;--color-toolkit-checkbox-label-background: #222;--color-toolkit-checkbox-label-border: #333;--color-toolkit-checkbox-input-border: #58f;--color-toolkit-engine-tooltip-border: #333;--color-toolkit-engine-tooltip-background: #222;--color-toolkit-loader-border: rgba(255, 255, 255, .2);--color-toolkit-loader-borderleft: rgba(0, 0, 0, 0);--color-doc-code: #ddd;--color-doc-code-background: #4d5a6f;--color-favicon-background-color: #ddd;--color-favicon-border-color: #ccc;--color-base-background: #000;--color-base-background-mobile: #000;--color-header-background: #000;--color-footer-background: #000;--color-sidebar-background: #000}.code-highlight pre{line-height:100%}.code-highlight td.linenos .normal,.code-highlight span.linenos{color:inherit;background-color:transparent;padding-left:5px;padding-right:5px}.code-highlight td.linenos .special,.code-highlight span.linenos.special{color:#000;background-color:#ffffc0;padding-left:5px;padding-right:5px}.code-highlight .hll{background-color:#ffc}.code-highlight .c{color:#3d7b7b;font-style:italic}.code-highlight .err{border:1px solid #F00}.code-highlight .k{color:green;font-weight:700}.code-highlight .o{color:#666}.code-highlight .ch,.code-highlight .cm{color:#3d7b7b;font-style:italic}.code-highlight .cp{color:#9c6500}.code-highlight .cpf,.code-highlight .c1,.code-highlight .cs{color:#3d7b7b;font-style:italic}.code-highlight .gd{color:#a00000}.code-highlight .ge{font-style:italic}.code-highlight .ges{font-weight:700;font-style:italic}.code-highlight .gr{color:#e40000}.code-highlight .gh{color:navy;font-weight:700}.code-highlight .gi{color:#008400}.code-highlight .go{color:#717171}.code-highlight .gp{color:navy;font-weight:700}.code-highlight .gs{font-weight:700}.code-highlight .gu{color:purple;font-weight:700}.code-highlight .gt{color:#04d}.code-highlight .kc,.code-highlight .kd,.code-highlight .kn{color:green;font-weight:700}.code-highlight .kp{color:green}.code-highlight .kr{color:green;font-weight:700}.code-highlight .kt{color:#b00040}.code-highlight .m{color:#666}.code-highlight .s{color:#ba2121}.code-highlight .na{color:#687822}.code-highlight .nb{color:green}.code-highlight .nc{color:#00f;font-weight:700}.code-highlight .no{color:#800}.code-highlight .nd{color:#a2f}.code-highlight .ni{color:#717171;font-weight:700}.code-highlight .ne{color:#cb3f38;font-weight:700}.code-highlight .nf{color:#00f}.code-highlight .nl{color:#767600}.code-highlight .nn{color:#00f;font-weight:700}.code-highlight .nt{color:green;font-weight:700}.code-highlight .nv{color:#19177c}.code-highlight .ow{color:#a2f;font-weight:700}.code-highlight .w{color:#bbb}.code-highlight .mb,.code-highlight .mf,.code-highlight .mh,.code-highlight .mi,.code-highlight .mo{color:#666}.code-highlight .sa,.code-highlight .sb,.code-highlight .sc,.code-highlight .dl{color:#ba2121}.code-highlight .sd{color:#ba2121;font-style:italic}.code-highlight .s2{color:#ba2121}.code-highlight .se{color:#aa5d1f;font-weight:700}.code-highlight .sh{color:#ba2121}.code-highlight .si{color:#a45a77;font-weight:700}.code-highlight .sx{color:green}.code-highlight .sr{color:#a45a77}.code-highlight .s1{color:#ba2121}.code-highlight .ss{color:#19177c}.code-highlight .bp{color:green}.code-highlight .fm{color:#00f}.code-highlight .vc,.code-highlight .vg,.code-highlight .vi,.code-highlight .vm{color:#19177c}.code-highlight .il{color:#666}.codelines{margin:.125rem 0 0;padding:1rem 0 0}.code-highlight pre{overflow:auto;margin:0;padding:0 0 .75rem}.code-highlight .linenos{-webkit-user-select:none;user-select:none;cursor:default;margin-right:8px;text-align:right}.code-highlight .linenos::selection{background:transparent}.code-highlight .linenos::-moz-selection{background:transparent}.code-highlight span.linenos{color:var(--color-line-number)}@media (prefers-color-scheme: dark){:root.theme-auto .code-highlight pre{line-height:100%}:root.theme-auto .code-highlight td.linenos .normal{color:#3c4354;background-color:transparent;padding-left:5px;padding-right:5px}:root.theme-auto .code-highlight span.linenos{color:#3c4354;background-color:transparent;padding-left:5px;padding-right:5px}:root.theme-auto .code-highlight td.linenos .special{color:#3c4354;background-color:#ffffc0;padding-left:5px;padding-right:5px}:root.theme-auto .code-highlight span.linenos.special{color:#3c4354;background-color:#ffffc0;padding-left:5px;padding-right:5px}:root.theme-auto .code-highlight .hll{background-color:#6e7681}:root.theme-auto .code-highlight .c{color:#7e8aa1}:root.theme-auto .code-highlight .err{color:#f88f7f}:root.theme-auto .code-highlight .esc{color:#d4d2c8}:root.theme-auto .code-highlight .g{color:#d4d2c8}:root.theme-auto .code-highlight .k{color:#ffad66}:root.theme-auto .code-highlight .l{color:#d5ff80}:root.theme-auto .code-highlight .n{color:#d4d2c8}:root.theme-auto .code-highlight .o{color:#ffad66}:root.theme-auto .code-highlight .x{color:#d4d2c8}:root.theme-auto .code-highlight .p{color:#d4d2c8}:root.theme-auto .code-highlight .ch{color:#f88f7f;font-style:italic}:root.theme-auto .code-highlight .cm{color:#7e8aa1}:root.theme-auto .code-highlight .cp{color:#ffad66;font-weight:700}:root.theme-auto .code-highlight .cpf{color:#7e8aa1}:root.theme-auto .code-highlight .c1{color:#7e8aa1}:root.theme-auto .code-highlight .cs{color:#7e8aa1;font-style:italic}:root.theme-auto .code-highlight .gd{color:#f88f7f;background-color:#3d1e20}:root.theme-auto .code-highlight .ge{color:#d4d2c8;font-style:italic}:root.theme-auto .code-highlight .ges{color:#d4d2c8}:root.theme-auto .code-highlight .gr{color:#f88f7f}:root.theme-auto .code-highlight .gh{color:#d4d2c8}:root.theme-auto .code-highlight .gi{color:#6ad4af;background-color:#19362c}:root.theme-auto .code-highlight .go{color:#7e8aa1}:root.theme-auto .code-highlight .gp{color:#d4d2c8}:root.theme-auto .code-highlight .gs{color:#d4d2c8;font-weight:700}:root.theme-auto .code-highlight .gu{color:#d4d2c8}:root.theme-auto .code-highlight .gt{color:#f88f7f}:root.theme-auto .code-highlight .kc{color:#ffad66}:root.theme-auto .code-highlight .kd{color:#ffad66}:root.theme-auto .code-highlight .kn{color:#ffad66}:root.theme-auto .code-highlight .kp{color:#ffad66}:root.theme-auto .code-highlight .kr{color:#ffad66}:root.theme-auto .code-highlight .kt{color:#73d0ff}:root.theme-auto .code-highlight .ld{color:#d5ff80}:root.theme-auto .code-highlight .m{color:#dfbfff}:root.theme-auto .code-highlight .s{color:#d5ff80}:root.theme-auto .code-highlight .na{color:#ffd173}:root.theme-auto .code-highlight .nb{color:#ffd173}:root.theme-auto .code-highlight .nc{color:#73d0ff}:root.theme-auto .code-highlight .no{color:#ffd173}:root.theme-auto .code-highlight .nd{color:#7e8aa1;font-weight:700;font-style:italic}:root.theme-auto .code-highlight .ni{color:#95e6cb}:root.theme-auto .code-highlight .ne{color:#73d0ff}:root.theme-auto .code-highlight .nf{color:#ffd173}:root.theme-auto .code-highlight .nl{color:#d4d2c8}:root.theme-auto .code-highlight .nn{color:#d4d2c8}:root.theme-auto .code-highlight .nx{color:#d4d2c8}:root.theme-auto .code-highlight .py{color:#ffd173}:root.theme-auto .code-highlight .nt{color:#5ccfe6}:root.theme-auto .code-highlight .nv{color:#d4d2c8}:root.theme-auto .code-highlight .ow{color:#ffad66}:root.theme-auto .code-highlight .pm{color:#d4d2c8}:root.theme-auto .code-highlight .w{color:#d4d2c8}:root.theme-auto .code-highlight .mb{color:#dfbfff}:root.theme-auto .code-highlight .mf{color:#dfbfff}:root.theme-auto .code-highlight .mh{color:#dfbfff}:root.theme-auto .code-highlight .mi{color:#dfbfff}:root.theme-auto .code-highlight .mo{color:#dfbfff}:root.theme-auto .code-highlight .sa{color:#f29e74}:root.theme-auto .code-highlight .sb{color:#d5ff80}:root.theme-auto .code-highlight .sc{color:#d5ff80}:root.theme-auto .code-highlight .dl{color:#d5ff80}:root.theme-auto .code-highlight .sd{color:#7e8aa1}:root.theme-auto .code-highlight .s2{color:#d5ff80}:root.theme-auto .code-highlight .se{color:#95e6cb}:root.theme-auto .code-highlight .sh{color:#d5ff80}:root.theme-auto .code-highlight .si{color:#95e6cb}:root.theme-auto .code-highlight .sx{color:#95e6cb}:root.theme-auto .code-highlight .sr{color:#95e6cb}:root.theme-auto .code-highlight .s1{color:#d5ff80}:root.theme-auto .code-highlight .ss{color:#dfbfff}:root.theme-auto .code-highlight .bp{color:#5ccfe6}:root.theme-auto .code-highlight .fm{color:#ffd173}:root.theme-auto .code-highlight .vc{color:#d4d2c8}:root.theme-auto .code-highlight .vg{color:#d4d2c8}:root.theme-auto .code-highlight .vi{color:#d4d2c8}:root.theme-auto .code-highlight .vm{color:#d4d2c8}:root.theme-auto .code-highlight .il{color:#dfbfff}:root.theme-auto .code-highlight pre{overflow:auto;margin:0;padding:0 0 .75rem}:root.theme-auto .code-highlight .linenos{-webkit-user-select:none;user-select:none;cursor:default;margin-right:8px;text-align:right}:root.theme-auto .code-highlight .linenos::selection{background:transparent}:root.theme-auto .code-highlight .linenos::-moz-selection{background:transparent}:root.theme-auto .code-highlight span.linenos{color:var(--color-line-number)}}:root.theme-dark .code-highlight pre{line-height:100%}:root.theme-dark .code-highlight td.linenos .normal{color:#3c4354;background-color:transparent;padding-left:5px;padding-right:5px}:root.theme-dark .code-highlight span.linenos{color:#3c4354;background-color:transparent;padding-left:5px;padding-right:5px}:root.theme-dark .code-highlight td.linenos .special{color:#3c4354;background-color:#ffffc0;padding-left:5px;padding-right:5px}:root.theme-dark .code-highlight span.linenos.special{color:#3c4354;background-color:#ffffc0;padding-left:5px;padding-right:5px}:root.theme-dark .code-highlight .hll{background-color:#6e7681}:root.theme-dark .code-highlight .c{color:#7e8aa1}:root.theme-dark .code-highlight .err{color:#f88f7f}:root.theme-dark .code-highlight .esc{color:#d4d2c8}:root.theme-dark .code-highlight .g{color:#d4d2c8}:root.theme-dark .code-highlight .k{color:#ffad66}:root.theme-dark .code-highlight .l{color:#d5ff80}:root.theme-dark .code-highlight .n{color:#d4d2c8}:root.theme-dark .code-highlight .o{color:#ffad66}:root.theme-dark .code-highlight .x{color:#d4d2c8}:root.theme-dark .code-highlight .p{color:#d4d2c8}:root.theme-dark .code-highlight .ch{color:#f88f7f;font-style:italic}:root.theme-dark .code-highlight .cm{color:#7e8aa1}:root.theme-dark .code-highlight .cp{color:#ffad66;font-weight:700}:root.theme-dark .code-highlight .cpf{color:#7e8aa1}:root.theme-dark .code-highlight .c1{color:#7e8aa1}:root.theme-dark .code-highlight .cs{color:#7e8aa1;font-style:italic}:root.theme-dark .code-highlight .gd{color:#f88f7f;background-color:#3d1e20}:root.theme-dark .code-highlight .ge{color:#d4d2c8;font-style:italic}:root.theme-dark .code-highlight .ges{color:#d4d2c8}:root.theme-dark .code-highlight .gr{color:#f88f7f}:root.theme-dark .code-highlight .gh{color:#d4d2c8}:root.theme-dark .code-highlight .gi{color:#6ad4af;background-color:#19362c}:root.theme-dark .code-highlight .go{color:#7e8aa1}:root.theme-dark .code-highlight .gp{color:#d4d2c8}:root.theme-dark .code-highlight .gs{color:#d4d2c8;font-weight:700}:root.theme-dark .code-highlight .gu{color:#d4d2c8}:root.theme-dark .code-highlight .gt{color:#f88f7f}:root.theme-dark .code-highlight .kc{color:#ffad66}:root.theme-dark .code-highlight .kd{color:#ffad66}:root.theme-dark .code-highlight .kn{color:#ffad66}:root.theme-dark .code-highlight .kp{color:#ffad66}:root.theme-dark .code-highlight .kr{color:#ffad66}:root.theme-dark .code-highlight .kt{color:#73d0ff}:root.theme-dark .code-highlight .ld{color:#d5ff80}:root.theme-dark .code-highlight .m{color:#dfbfff}:root.theme-dark .code-highlight .s{color:#d5ff80}:root.theme-dark .code-highlight .na{color:#ffd173}:root.theme-dark .code-highlight .nb{color:#ffd173}:root.theme-dark .code-highlight .nc{color:#73d0ff}:root.theme-dark .code-highlight .no{color:#ffd173}:root.theme-dark .code-highlight .nd{color:#7e8aa1;font-weight:700;font-style:italic}:root.theme-dark .code-highlight .ni{color:#95e6cb}:root.theme-dark .code-highlight .ne{color:#73d0ff}:root.theme-dark .code-highlight .nf{color:#ffd173}:root.theme-dark .code-highlight .nl{color:#d4d2c8}:root.theme-dark .code-highlight .nn{color:#d4d2c8}:root.theme-dark .code-highlight .nx{color:#d4d2c8}:root.theme-dark .code-highlight .py{color:#ffd173}:root.theme-dark .code-highlight .nt{color:#5ccfe6}:root.theme-dark .code-highlight .nv{color:#d4d2c8}:root.theme-dark .code-highlight .ow{color:#ffad66}:root.theme-dark .code-highlight .pm{color:#d4d2c8}:root.theme-dark .code-highlight .w{color:#d4d2c8}:root.theme-dark .code-highlight .mb{color:#dfbfff}:root.theme-dark .code-highlight .mf{color:#dfbfff}:root.theme-dark .code-highlight .mh{color:#dfbfff}:root.theme-dark .code-highlight .mi{color:#dfbfff}:root.theme-dark .code-highlight .mo{color:#dfbfff}:root.theme-dark .code-highlight .sa{color:#f29e74}:root.theme-dark .code-highlight .sb{color:#d5ff80}:root.theme-dark .code-highlight .sc{color:#d5ff80}:root.theme-dark .code-highlight .dl{color:#d5ff80}:root.theme-dark .code-highlight .sd{color:#7e8aa1}:root.theme-dark .code-highlight .s2{color:#d5ff80}:root.theme-dark .code-highlight .se{color:#95e6cb}:root.theme-dark .code-highlight .sh{color:#d5ff80}:root.theme-dark .code-highlight .si{color:#95e6cb}:root.theme-dark .code-highlight .sx{color:#95e6cb}:root.theme-dark .code-highlight .sr{color:#95e6cb}:root.theme-dark .code-highlight .s1{color:#d5ff80}:root.theme-dark .code-highlight .ss{color:#dfbfff}:root.theme-dark .code-highlight .bp{color:#5ccfe6}:root.theme-dark .code-highlight .fm{color:#ffd173}:root.theme-dark .code-highlight .vc{color:#d4d2c8}:root.theme-dark .code-highlight .vg{color:#d4d2c8}:root.theme-dark .code-highlight .vi{color:#d4d2c8}:root.theme-dark .code-highlight .vm{color:#d4d2c8}:root.theme-dark .code-highlight .il{color:#dfbfff}:root.theme-dark .code-highlight pre{overflow:auto;margin:0;padding:0 0 .75rem}:root.theme-dark .code-highlight .linenos{-webkit-user-select:none;user-select:none;cursor:default;margin-right:8px;text-align:right}:root.theme-dark .code-highlight .linenos::selection{background:transparent}:root.theme-dark .code-highlight .linenos::-moz-selection{background:transparent}:root.theme-dark .code-highlight span.linenos{color:var(--color-line-number)}html.no-js .hide_if_nojs,html.js .show_if_nojs{display:none}.center{text-align:center}.right{float:right}.left{float:left}.invisible{display:none!important}.list-unstyled{list-style-type:none}.list-unstyled li{margin-top:4px;margin-bottom:4px}.danger{background-color:var(--color-error-background)}.warning{background:var(--color-warning-background)}.success{background:var(--color-success-background)}.badge{display:inline-block;color:var(--color-toolkit-badge-font);background-color:var(--color-toolkit-badge-background);text-align:center;white-space:nowrap;vertical-align:baseline;min-width:10px;padding:1px 5px;border-radius:5px}kbd{padding:2px 4px;margin:1px;font-size:90%;color:var(--color-toolkit-kbd-font);background:var(--color-toolkit-kbd-background)}table{width:100%}table.striped tr{border-bottom:1px solid var(--color-settings-tr-hover)}th{padding:.4em}td{padding:0 4px}tr:hover{background:var(--color-settings-tr-hover)!important}div.selectable_url{display:block;border:1px solid var(--color-result-search-url-border);padding:4px;color:var(--color-result-search-url-font);margin:.1em;overflow:hidden;height:1.2em;line-height:1.2em;border-radius:5px}div.selectable_url pre{display:block;font-size:.8em;word-break:break-all;margin:.1em;-webkit-user-select:all;user-select:all}.dialog-error{position:relative;display:flex;padding:1rem;margin:0 0 1em;border:1px solid var(--color-toolkit-dialog-border);text-align:left;border-radius:10px;color:var(--color-error);background:var(--color-error-background);border-color:var(--color-error)}.dialog-error .close{float:right;position:relative;top:-3px;color:inherit;font-size:1.5em}.dialog-error ul,.dialog-error ol,.dialog-error p{margin:1px 0 0}.dialog-error table{width:auto}.dialog-error tr{vertical-align:text-top}.dialog-error tr:hover{background:transparent!important}.dialog-error td{padding:0 1em 0 0;padding-right:1rem;padding-bottom:0;padding-left:0}.dialog-error h4{margin-top:.3em;margin-bottom:.3em}.dialog-error-block{position:relative;display:flex;padding:1rem;margin:0 0 1em;border:1px solid var(--color-toolkit-dialog-border);text-align:left;border-radius:10px;display:block;color:var(--color-error);background:var(--color-error-background);border-color:var(--color-error)}.dialog-error-block .close{float:right;position:relative;top:-3px;color:inherit;font-size:1.5em}.dialog-error-block ul,.dialog-error-block ol,.dialog-error-block p{margin:1px 0 0}.dialog-error-block table{width:auto}.dialog-error-block tr{vertical-align:text-top}.dialog-error-block tr:hover{background:transparent!important}.dialog-error-block td{padding:0 1em 0 0;padding-right:1rem;padding-bottom:0;padding-left:0}.dialog-error-block h4{margin-top:.3em;margin-bottom:.3em}.dialog-warning{position:relative;display:flex;padding:1rem;margin:0 0 1em;border:1px solid var(--color-toolkit-dialog-border);text-align:left;border-radius:10px;color:var(--color-warning);background:var(--color-warning-background);border-color:var(--color-warning)}.dialog-warning .close{float:right;position:relative;top:-3px;color:inherit;font-size:1.5em}.dialog-warning ul,.dialog-warning ol,.dialog-warning p{margin:1px 0 0}.dialog-warning table{width:auto}.dialog-warning tr{vertical-align:text-top}.dialog-warning tr:hover{background:transparent!important}.dialog-warning td{padding:0 1em 0 0;padding-right:1rem;padding-bottom:0;padding-left:0}.dialog-warning h4{margin-top:.3em;margin-bottom:.3em}.dialog-modal{position:relative;display:flex;padding:1rem;border:1px solid var(--color-toolkit-dialog-border);text-align:left;border-radius:10px;display:block;background:var(--color-toolkit-dialog-background);position:fixed;top:50%;left:50%;margin:0 auto;transform:translate(-50%,-50%);z-index:5000}.dialog-modal .close{float:right;position:relative;top:-3px;color:inherit;font-size:1.5em}.dialog-modal ul,.dialog-modal ol,.dialog-modal p{margin:1px 0 0}.dialog-modal table{width:auto}.dialog-modal tr{vertical-align:text-top}.dialog-modal tr:hover{background:transparent!important}.dialog-modal td{padding:0 1em 0 0;padding-right:1rem;padding-bottom:0;padding-left:0}.dialog-modal h4{margin-top:.3em;margin-bottom:.3em}.dialog-modal h3{margin-top:0}.btn-collapse{cursor:pointer}.scrollx{overflow:auto hidden;display:block;padding:0;margin:0;border:none}.tabs .tabs>label{font-size:90%}ul.tabs{border-bottom:1px solid var(--color-toolkit-tabs-section-border);list-style:none;padding-left:0}ul.tabs li{display:flex}.tabs{display:flex;flex-wrap:wrap;width:100%;min-width:100%}.tabs>*{order:2}.tabs>input[type=radio]{display:none}.tabs>label,.tabs>li>a{order:1;padding:.7em;margin:0 .7em;letter-spacing:.5px;text-transform:uppercase;border:solid var(--color-toolkit-tabs-label-border);border-width:0 0 2px 0;color:unset;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;cursor:pointer}.tabs>label.active,.tabs>li>a.active{border-bottom:2px solid var(--color-categories-item-border-selected);background:var(--color-categories-item-selected);color:var(--color-categories-item-selected-font)}.tabs>label:hover,.tabs>li>a:hover{border-bottom:2px solid var(--color-categories-item-border-selected)}.tabs>section{min-width:100%;padding:.7rem 0;box-sizing:border-box;border-top:1px solid var(--color-toolkit-tabs-section-border);display:none}.tabs>label:last-of-type{border-bottom:2px solid var(--color-categories-item-border-selected);background:var(--color-categories-item-selected);color:var(--color-categories-item-selected-font);letter-spacing:-.1px}.tabs>section:last-of-type{display:block}html body .tabs>input:checked~section{display:none}html body .tabs>input:checked~label{position:inherited;background:inherit;border-bottom:2px solid transparent;font-weight:400;color:inherit}html body .tabs>input:checked~label:hover{border-bottom:2px solid var(--color-categories-item-border-selected)}html body .tabs>input:checked+label{border-bottom:2px solid var(--color-categories-item-border-selected);background:var(--color-categories-item-selected);color:var(--color-categories-item-selected-font)}html body .tabs>input:checked+label+section{display:block}select{height:2.4rem;margin-top:0;margin-right:1rem;margin-bottom:0;margin-left:0;padding:.2rem!important;color:var(--color-search-font);font-size:.9rem;z-index:100}select:hover,select:focus{cursor:pointer}@supports ((background-position-x: 100%) and ((appearance: none) or (-webkit-appearance: none) or (-moz-appearance: none))){select{appearance:none;-webkit-appearance:none;-moz-appearance:none;border-width:0 2rem 0 0;border-color:transparent;background:url(data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22512%22%20height%3D%22512%22%20viewBox%3D%220%200%20512%20512%22%3E%0A%3Cg%3E%3Cpolygon%20points%3D%22128%2C192%20256%2C320%20384%2C192%22%2F%3E%3C%2Fg%3E%0A%3C%2Fsvg%3E) no-repeat;background-position-x:calc(100% + 2rem);background-size:2rem;background-origin:content-box;background-color:var(--color-toolkit-select-background);outline:medium none;text-overflow:ellipsis;border-radius:5px}select:hover,select:focus{background-color:var(--color-toolkit-select-background-hover)}select option{background-color:var(--color-base-background)}@media (prefers-color-scheme: dark){html.theme-auto select,html.theme-dark select{background-image:url(data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22512%22%20height%3D%22512%22%20viewBox%3D%220%200%20512%20512%22%3E%0A%3Cg%3E%3Cpolygon%20fill%3D%22%23ddd%22%20points%3D%22128%2C192%20256%2C320%20384%2C192%22%2F%3E%3C%2Fg%3E%0A%3C%2Fsvg%3E)}}html.theme-dark select{background-image:url(data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22512%22%20height%3D%22512%22%20viewBox%3D%220%200%20512%20512%22%3E%0A%3Cg%3E%3Cpolygon%20fill%3D%22%23ddd%22%20points%3D%22128%2C192%20256%2C320%20384%2C192%22%2F%3E%3C%2Fg%3E%0A%3C%2Fsvg%3E)}}input.checkbox-onoff[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;display:inline-block;width:2.5em;height:.7em;box-shadow:none!important;margin:0 16px;border-radius:10px;position:relative}input.checkbox-onoff[type=checkbox]:focus,input.checkbox-onoff[type=checkbox]:hover{outline:none}input.checkbox-onoff[type=checkbox]:focus:after{content:"";position:absolute;width:3.5em;height:1.65em;border:1px solid var(--color-btn-background);border-radius:12px;box-shadow:var(--color-btn-background) 0 0 3px;z-index:1200;top:-.55em;left:-.6em}input.checkbox-onoff[type=checkbox]:before{position:absolute;top:-.5em;display:flex;justify-content:center;align-items:center;font-size:.75em;width:1.875em;height:1.875em;border-radius:50%}input.checkbox-onoff[type=checkbox],input.checkbox-onoff.reversed-checkbox[type=checkbox]:checked{background:var(--color-toolkit-checkbox-onoff-off-background)}input.checkbox-onoff[type=checkbox]:before,input.checkbox-onoff.reversed-checkbox[type=checkbox]:checked:before{left:-.5em;content:"✕";color:var(--color-toolkit-checkbox-onoff-off-mark-color);background:var(--color-toolkit-checkbox-onoff-off-mark-background)}input.checkbox-onoff[type=checkbox]:checked,input.checkbox-onoff.reversed-checkbox[type=checkbox]{background:var(--color-toolkit-checkbox-onoff-on-background)}input.checkbox-onoff[type=checkbox]:checked:before,input.checkbox-onoff.reversed-checkbox[type=checkbox]:before{left:calc(100% - 1.5em);content:"✓";color:var(--color-toolkit-checkbox-onoff-on-mark-color);background:var(--color-toolkit-checkbox-onoff-on-mark-background)}@supports (transform: rotate(-45deg)){input[type=checkbox]:not(.checkbox-onoff){-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;cursor:pointer;position:relative;top:0;left:0;border:2px solid var(--color-toolkit-checkbox-input-border);border-radius:.3em}input[type=checkbox]:not(.checkbox-onoff):after{content:"";width:9px;height:5px;position:absolute;top:3px;left:2px;border:3px solid var(--color-toolkit-checkbox-label-border);border-top:none;border-right:none;background:transparent;opacity:0;transform:rotate(-45deg)}input[type=checkbox]:not(.checkbox-onoff):checked:after{border-color:var(--color-toolkit-checkbox-input-border);opacity:1}input[type=checkbox][disabled]:not(.checkbox-onoff){border:inherit;background-color:transparent!important;cursor:inherit}input.checkbox[type=checkbox]:not(:checked,[disabled],.checkbox-onoff):hover:after{opacity:.5}}@media screen and (max-width: 50em){.tabs>label{width:100%}}.loader,.loader:after{border-radius:50%;width:2em;height:2em}.loader{margin:1em auto;font-size:10px;position:relative;text-indent:-9999em;border-top:.5em solid var(--color-toolkit-loader-border);border-right:.5em solid var(--color-toolkit-loader-border);border-bottom:.5em solid var(--color-toolkit-loader-border);border-left:.5em solid var(--color-toolkit-loader-borderleft);-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0);-webkit-animation:load8 1.2s infinite linear;animation:load8 1.2s infinite linear}@-webkit-keyframes load8{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes load8{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.engine-tooltip{display:none;position:absolute;padding:.5rem 1rem;margin:0 0 0 2rem;border:1px solid var(--color-toolkit-engine-tooltip-border);background:var(--color-toolkit-engine-tooltip-background);font-size:14px;font-weight:400;z-index:5000;text-align:left;border-radius:10px}th:hover .engine-tooltip,td:hover .engine-tooltip,.engine-tooltip:hover{display:inline-block}.stacked-bar-chart{margin:0;padding:0 .125rem 0 4rem;width:100%;width:-moz-available;width:-webkit-fill-available;width:fill;flex-flow:row nowrap;align-items:center;display:inline-flex}.stacked-bar-chart-value{width:3rem;display:inline-block;position:absolute;padding:0 .5rem;text-align:right}.stacked-bar-chart-base{display:flex;flex-shrink:0;flex-grow:0;flex-basis:unset}.stacked-bar-chart-median{display:flex;flex-shrink:0;flex-grow:0;flex-basis:unset;background:var(--color-base-font);border:1px solid rgba(var(--color-base-font-rgb),.9);padding:.3rem 0}.stacked-bar-chart-rate80{display:flex;flex-shrink:0;flex-grow:0;flex-basis:unset;background:transparent;border:1px solid rgba(var(--color-base-font-rgb),.3);padding:.3rem 0}.stacked-bar-chart-rate95{display:flex;flex-shrink:0;flex-grow:0;flex-basis:unset;background:transparent;border-bottom:1px dotted rgba(var(--color-base-font-rgb),.5);padding:0}.stacked-bar-chart-rate100{display:flex;flex-shrink:0;flex-grow:0;flex-basis:unset;background:transparent;border-left:1px solid rgba(var(--color-base-font-rgb),.9);padding:.4rem 0;width:1px}/*! Autocomplete.js v2.6.3 | license MIT | (c) 2017, Baptiste Donaux | http://autocomplete-js.com */.autocomplete{position:absolute;width:44rem;max-height:0;overflow-y:hidden;text-align:left;border-radius:10px}.autocomplete:active,.autocomplete:focus,.autocomplete:hover{background-color:var(--color-autocomplete-background)}.autocomplete:empty{display:none}.autocomplete>ul{list-style-type:none;margin:0;padding:0}.autocomplete>ul>li{cursor:pointer;padding:.5rem 1rem}.autocomplete>ul>li.active,.autocomplete>ul>li:active,.autocomplete>ul>li:focus,.autocomplete>ul>li:hover{background-color:var(--color-autocomplete-background-hover)}.autocomplete>ul>li.active a:active,.autocomplete>ul>li:active a:active,.autocomplete>ul>li:focus a:active,.autocomplete>ul>li:hover a:active,.autocomplete>ul>li.active a:focus,.autocomplete>ul>li:active a:focus,.autocomplete>ul>li:focus a:focus,.autocomplete>ul>li:hover a:focus,.autocomplete>ul>li.active a:hover,.autocomplete>ul>li:active a:hover,.autocomplete>ul>li:focus a:hover,.autocomplete>ul>li:hover a:hover{text-decoration:none}.autocomplete>ul>li.locked{cursor:inherit}.autocomplete.open{display:block;background-color:var(--color-autocomplete-background);color:var(--color-autocomplete-font);max-height:32rem;overflow-y:auto;z-index:5000;margin-top:3.5rem;border-radius:.8rem}.autocomplete.open:empty{display:none}@media screen and (max-width: 50em){.autocomplete{width:100%}.autocomplete>ul>li{padding:1rem}}#main_results #results.image-detail-open.only_template_images{width:min(98%,59.25rem)!important}#main_results #results.only_template_images.image-detail-open #backToTop{left:56.75rem!important;right:inherit}article.result-images .detail{display:none}#results.image-detail-open article.result-images[data-vim-selected] .detail{display:flex;flex-direction:column;position:fixed;left:60rem;right:0;top:13rem;transition:top 64ms ease-in 0s;bottom:0;background:var(--color-result-detail-background);border:1px solid var(--color-result-detail-background);z-index:1000;padding:4rem 3rem 3rem}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-images-source{display:block;flex:1;text-align:left;width:100%;border:none;text-decoration:none}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-images-source img{padding:0;margin:0;border:none;object-fit:contain;width:inherit;height:inherit;max-width:100%;min-height:inherit;max-height:calc(100vh - 32rem);background:inherit}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels{color:var(--color-result-detail-font);height:19rem}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels hr{border-top:1px solid var(--color-result-detail-hr);border-bottom:none}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels h4{height:2rem;overflow:hidden;text-overflow:ellipsis;font-size:.9rem;margin-bottom:0}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p{color:var(--color-result-detail-label-font);font-size:.9rem;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin:.8rem 0}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p span{display:inline-block;width:12rem}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels h4,#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p,#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels a{text-align:left}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p.result-content{height:2rem;line-height:unset;overflow:hidden;text-overflow:ellipsis}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p.result-url{white-space:nowrap;overflow:hidden hidden;text-overflow:ellipsis}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p.result-content:hover,#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p.result-url:hover{position:relative;overflow:inherit!important;background:var(--color-result-detail-background);text-overflow:inherit!important}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels a,#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels a:visited,#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels a:hover,#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels a:active{color:var(--color-result-detail-link)}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels a:hover{text-decoration:underline}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close{top:1rem;left:1rem;padding:.4rem}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous{top:1rem;right:6rem;padding:.4rem .5rem .4rem .3rem}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next{top:1rem;right:2rem;padding:.4rem}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous{border-radius:50%;display:block;width:1.5rem;height:1.5rem;position:absolute;filter:opacity(40%);z-index:1200}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close span,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next span,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous span{display:block;width:1.5rem;height:1.5rem;text-align:center}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next span:before,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous span:before{vertical-align:sub}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close:visited,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close:hover,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close:active,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous:visited,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous:hover,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous:active,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next:visited,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next:hover,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next:active{color:var(--color-result-detail-font);background:var(--color-result-detail-background);border:1px solid var(--color-result-detail-font)}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close:focus,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close:hover,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous:focus,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous:hover,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next:focus,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next:hover{filter:opacity(80%)}#results.image-detail-open article.result-images[data-vim-selected] .detail .loader{position:absolute;top:1rem;right:50%;border-top:.5em solid var(--color-result-detail-loader-border);border-right:.5em solid var(--color-result-detail-loader-border);border-bottom:.5em solid var(--color-result-detail-loader-border);border-left:.5em solid var(--color-result-detail-loader-borderleft)}#results.image-detail-open.scrolling article.result-images[data-vim-selected] .detail{top:0}#results.image-detail-open.scrolling article.result-images[data-vim-selected] .detail a.result-images-source img{max-height:calc(100vh - 25rem)}@media screen and (max-width: 79.75em){#results.image-detail-open article.result-images[data-vim-selected] .detail{top:0;left:0}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-images-source{display:flex;flex-direction:column;justify-content:center}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-images-source img{width:100%;max-height:calc(100vh - 24rem)}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next{right:1rem}}@media screen and (max-width: 50em){#results.image-detail-open article.result-images[data-vim-selected] .detail{top:0;left:0;padding:1rem}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-images-source img{width:100%;max-height:calc(100vh - 20rem);margin:0}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p span{width:inherit;margin-right:1rem}}.dialog-modal{animation-name:dialogmodal;animation-duration:.13s}@keyframes dialogmodal{0%{opacity:0}50%{opacity:.5;transform:translate(-50%,-50%) scale(1.05)}}input.checkbox-onoff[type=checkbox]:before{transition:left .25s}iframe[src^="https://w.soundcloud.com"]{height:120px}iframe[src^="https://www.deezer.com"]{height:94px}iframe[src^="https://www.mixcloud.com"]{height:250px}iframe[src^="https://bandcamp.com/EmbeddedPlayer"]{height:350px}iframe[src^="https://bandcamp.com/EmbeddedPlayer/track"]{height:120px}iframe[src^="https://genius.com/songs"]{height:65px}.info-page code{font-family:monospace;border-radius:5px;background-color:var(--color-doc-code-background);color:var(--color-doc-code);padding:.2rem;border:0 none}.stats_endpoint .github-issue-button{display:block;font-size:16px}.stats_endpoint .issue-hide{display:none}.stats_endpoint input[type=checked]{position:absolute}.stats_endpoint label{margin:1rem 1rem 1rem 0}.stats_endpoint .step_content{margin:1rem 1rem 1rem 2rem}.stats_endpoint .step1,.stats_endpoint .step2{visibility:hidden}.stats_endpoint .step1_delay{transition:visibility 0s linear 4s}.stats_endpoint #step1:checked~.step1,.stats_endpoint #step2:checked~.step2{visibility:visible}.engine-stats{border-spacing:0;border-collapse:collapse}.engine-stats tr td,.engine-stats tr th{border-bottom:1px solid var(--color-result-border);padding:.25rem}.engine-stats table.engine-tooltip{border-spacing:0;border-collapse:collapse}.engine-stats table.engine-tooltip td,.engine-stats table.engine-tooltip th{border:none}.engine-stats .engine-name{width:20rem}.engine-stats .engine-score{width:7rem;text-align:right}.engine-stats .engine-reliability{text-align:right}table.engine-error th.engine-error-type,table.engine-error td.engine-error-type,failed-test{width:10rem}.engine-errors{margin-top:3rem}.engine-errors table.engine-error{max-width:1280px;margin:1rem 0 3rem;border:1px solid var(--color-result-border);text-align:left}.engine-errors table.engine-error tr th,.engine-errors table.engine-error tr td{padding:.5rem}.engine-errors table.engine-error span.log_parameters{border-right:1px solid solid var(--color-result-border);padding:0 1rem 0 0;margin:0 0 0 .5rem}.bar-chart-value{width:3em;display:inline-block;text-align:right;padding-right:.5rem}.bar-chart-graph{width:calc(100% - 5rem);display:inline-block}.bar-chart-bar{border:3px solid var(--color-bar-chart-primary);margin:1px 0}.bar-chart-serie1{border:3px solid var(--color-bar-chart-primary);margin:1px 0;float:left}.bar-chart-serie2{border:3px solid var(--color-bar-chart-secondary);margin:1px 0;float:left}.bar0{width:0;border:0}.bar1{width:1%}.bar2{width:2%}.bar3{width:3%}.bar4{width:4%}.bar5{width:5%}.bar6{width:6%}.bar7{width:7%}.bar8{width:8%}.bar9{width:9%}.bar10{width:10%}.bar11{width:11%}.bar12{width:12%}.bar13{width:13%}.bar14{width:14%}.bar15{width:15%}.bar16{width:16%}.bar17{width:17%}.bar18{width:18%}.bar19{width:19%}.bar20{width:20%}.bar21{width:21%}.bar22{width:22%}.bar23{width:23%}.bar24{width:24%}.bar25{width:25%}.bar26{width:26%}.bar27{width:27%}.bar28{width:28%}.bar29{width:29%}.bar30{width:30%}.bar31{width:31%}.bar32{width:32%}.bar33{width:33%}.bar34{width:34%}.bar35{width:35%}.bar36{width:36%}.bar37{width:37%}.bar38{width:38%}.bar39{width:39%}.bar40{width:40%}.bar41{width:41%}.bar42{width:42%}.bar43{width:43%}.bar44{width:44%}.bar45{width:45%}.bar46{width:46%}.bar47{width:47%}.bar48{width:48%}.bar49{width:49%}.bar50{width:50%}.bar51{width:51%}.bar52{width:52%}.bar53{width:53%}.bar54{width:54%}.bar55{width:55%}.bar56{width:56%}.bar57{width:57%}.bar58{width:58%}.bar59{width:59%}.bar60{width:60%}.bar61{width:61%}.bar62{width:62%}.bar63{width:63%}.bar64{width:64%}.bar65{width:65%}.bar66{width:66%}.bar67{width:67%}.bar68{width:68%}.bar69{width:69%}.bar70{width:70%}.bar71{width:71%}.bar72{width:72%}.bar73{width:73%}.bar74{width:74%}.bar75{width:75%}.bar76{width:76%}.bar77{width:77%}.bar78{width:78%}.bar79{width:79%}.bar80{width:80%}.bar81{width:81%}.bar82{width:82%}.bar83{width:83%}.bar84{width:84%}.bar85{width:85%}.bar86{width:86%}.bar87{width:87%}.bar88{width:88%}.bar89{width:89%}.bar90{width:90%}.bar91{width:91%}.bar92{width:92%}.bar93{width:93%}.bar94{width:94%}.bar95{width:95%}.bar96{width:96%}.bar97{width:97%}.bar98{width:98%}.bar99{width:99%}.bar100{width:100%}.osm-map-box{height:300px;width:100%;margin:10px 0}#main_index{margin-top:26vh}.index{text-align:center}.index .title{background:url(../img/searxng.png) no-repeat;min-height:4rem;margin:4rem auto;background-position:center;background-size:contain}.index h1{font-size:4em;visibility:hidden}.index #search,.index #search_header{margin:0 auto;background:inherit;border:inherit;padding:0;display:block}.index .search_filters{display:block;margin:1em 0}.index .category label{padding:6px 10px;border-bottom:initial!important}@media screen and (max-width: 79.75em){div.title h1{font-size:1em}#main_index{margin-top:6em}}table{border-collapse:collapse}table th,table td{text-align:center;padding:1rem .5rem;text-align:left}table tr.pref-group th{font-weight:400;text-align:left;background:var(--color-settings-table-group-background)}#main_preferences form{width:100%}#main_preferences fieldset{margin:8px;border:none}#main_preferences legend{margin:0;padding:5px 0 0;display:block;float:left;width:300px}#main_preferences input[type=text]{width:13.25rem;color:var(--color-toolkit-input-text-font);border:none;background:none repeat scroll 0 0 var(--color-toolkit-select-background);padding:.2rem .4rem;height:2rem;border-radius:5px}#main_preferences input[type=text]:hover,#main_preferences input[type=text]:focus{background-color:var(--color-toolkit-select-background-hover)}#main_preferences div.pref-group{width:100%;font-weight:400;padding:1rem .5rem;text-align:left;background:var(--color-settings-table-group-background)}#main_preferences .value{margin:0;padding:0;float:left;width:15em}#main_preferences .value select,#main_preferences .value input[type=text]{font-size:inherit!important;margin-top:0;margin-right:1rem;margin-bottom:0;margin-left:0}#main_preferences .value select{width:14rem}#main_preferences .value select:focus,#main_preferences .value input:focus{outline:none;box-shadow:0 0 1px 1px var(--color-btn-background)}#main_preferences .description{margin:0;padding:5px 0 0;float:right;width:50%;color:var(--color-settings-engine-description-font);font-size:90%}#main_preferences .bang{text-align:left;border-radius:5px;background-color:var(--color-doc-code-background);color:var(--color-doc-code);padding:.2rem;border:0 none}#main_preferences .category{margin-right:.5rem}#main_preferences .category label{border:2px solid transparent;padding:.2rem .4rem;border-radius:5px}#main_preferences .category input[type=checkbox]:checked+label{border:2px solid var(--color-categories-item-border-selected)}#main_preferences table.table_engines th.name label{cursor:pointer}#main_preferences table.table_engines th.name .engine-tooltip{margin-top:1.8rem;left:calc((100% - 85em)/2 + 10em);max-width:40rem}#main_preferences table.table_engines th.name .engine-tooltip .engine-description{margin-top:.5rem}#main_preferences table.table_engines th.name .engine-tooltip .bang{margin:.3rem}#main_preferences table.table_engines .checkbox-col,#main_preferences table.table_engines .name,#main_preferences table.table_engines .shortcut{text-align:left}#main_preferences table.cookies{width:100%;direction:ltr}#main_preferences table.cookies th,#main_preferences table.cookies td{text-align:left;font-family:monospace;font-size:1rem;padding:.5em;vertical-align:top}#main_preferences table.cookies td:first-child{word-break:keep-all;width:14rem;padding-right:1rem}#main_preferences table.cookies td:last-child{word-break:break-all}#main_preferences table.cookies>tbody>tr:nth-child(2n)>th,#main_preferences table.cookies>tbody>tr:nth-child(2n)>td{background-color:var(--color-settings-tr-hover)}#main_preferences .preferences_back{background:none repeat scroll 0 0 var(--color-btn-background);color:var(--color-btn-font);border:0 none;border-radius:10px;cursor:pointer;display:inline-block;margin:2px 4px;padding:.7em}#main_preferences .preferences_back a{color:var(--color-settings-return-font)}#main_preferences .preferences_back a:first-letter{text-transform:uppercase}#main_preferences #toggle-all-engines-container{width:max-content;margin-left:auto}#main_preferences div.selectable_url pre{width:100%}#main_preferences #copy-hash-container{display:flex;align-items:center;gap:.5rem}#main_preferences #copy-hash-container div.selectable_url pre{width:auto;flex-grow:1}#main_preferences #pref-hash-input{width:100%}@media screen and (max-width: 79.75em){.preferences_back{clear:both}.engine-tooltip{left:10em!important}}#search{padding:0;margin:0}#search_header{padding-top:1.5em;padding-right:2em;padding-left:7rem;margin:0;background:var(--color-header-background);border-bottom:1px solid var(--color-header-border);display:grid;gap:1rem 1.2rem;grid-template-columns:3rem 1fr;grid-template-areas:"logo search" "spacer categories"}.category_checkbox,.category_button{display:inline-block;position:relative;margin-right:1rem;padding:0}.category_checkbox input{display:none}.category_checkbox label{cursor:pointer;padding:.2rem 0;display:inline-flex;text-transform:capitalize;font-size:.9em;border-bottom:2px solid transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.category_checkbox label svg{padding-right:.2rem}.category_checkbox label div.category_name{margin:auto 0}.category_checkbox input[type=checkbox]:checked+label{color:var(--color-categories-item-selected-font);border-bottom:2px solid var(--color-categories-item-border-selected)}button.category_button{background-color:inherit;color:var(--color-base-font);cursor:pointer;padding:.2rem 0;display:inline-flex;align-items:center;text-transform:capitalize;font-size:.9em;border:none;border-bottom:2px solid transparent}button.category_button svg{padding-right:.2rem}button.category_button.selected,button.category_button:active{color:var(--color-categories-item-selected-font);border-bottom:2px solid var(--color-categories-item-border-selected)}.no-js #categories_container:has(button.category_button:focus-within) button.category_button.selected{color:var(--color-base-font);border-bottom:none}.no-js #categories_container:has(button.category_button:focus-within) button.category_button:focus-within{color:var(--color-categories-item-selected-font);border-bottom:2px solid var(--color-categories-item-border-selected)}#search_logo{padding:.5rem 10px 0;grid-area:logo;display:flex;align-items:center;justify-content:center}#search_logo svg{flex:1;width:30px;height:30px;margin:.5rem 0 auto}.search_categories{grid-area:categories}.search_categories .help{display:none}.search_categories:hover .help{display:block;position:absolute;background:var(--color-base-background);padding:1rem .6rem .6rem 0;z-index:1000;width:100%;left:-.1rem}#search_view{padding:.5rem .3rem 0 .5rem;grid-area:search}body.results_endpoint #search_view{padding:.5rem 2.8rem 0 0}.search_box{border-radius:.8rem;width:44rem;display:inline-flex;flex-direction:row;white-space:nowrap;box-shadow:var(--color-search-shadow)}#clear_search{display:block;border-collapse:separate;box-sizing:border-box;width:1.8rem;margin:0;padding:.8rem .2rem;background:none repeat scroll 0 0 var(--color-search-background);border:none;outline:none;color:var(--color-search-font);font-size:1.1rem;z-index:1000}#clear_search:hover{color:var(--color-search-background-hover)}#clear_search.empty *,html.no-js #clear_search.hide_if_nojs{display:none}#q,#send_search{display:block;margin:0;padding:.8rem;background:none repeat scroll 0 0 var(--color-search-background);border:none;outline:none;color:var(--color-search-font);font-size:1.1rem;z-index:100}#q{width:100%;padding-left:1rem;padding-right:0!important;border-radius:.8rem 0 0 .8rem}#q::-ms-clear,#q::-webkit-search-cancel-button{display:none}#send_search{border-radius:0 .8rem .8rem 0}#send_search:hover{cursor:pointer;background-color:var(--color-search-background-hover);color:var(--color-search-background)}.no-js #clear_search,.no-js #send_search{width:auto!important;border-left:1px solid var(--color-search-border)}.search_filters{margin-top:.6rem;margin-right:0;margin-bottom:0;margin-left:10.6rem;display:flex;overflow-x:auto;overscroll-behavior-inline:contain}.search_filters select{background-color:inherit}.search_filters select:hover,.search_filters select:focus{color:var(--color-base-font)}@media screen and (max-width: 79.75em){#search_header{padding:1.5em .5rem 0;column-gap:.5rem}.search_filters{margin-top:.6rem;margin-right:0;margin-bottom:0;margin-left:3.5rem}#categories{font-size:90%;clear:both}}@media screen and (max-width: 79.75em) and (hover: none){#main_index #categories_container,#main_results #categories_container{width:max-content}#main_index #categories_container .category_checkbox,#main_results #categories_container .category_checkbox{display:inline-block;width:auto}#main_index #categories,#main_results #categories{width:100%;text-align:left;overflow:scroll hidden;-webkit-overflow-scrolling:touch}}@media screen and (max-width: 50em){#search_header{width:100%;margin:0;padding:.1rem 0 0;gap:0 0;grid-template-areas:"logo search" "categories categories"}.search_logo{padding:0}.search_box{width:98%;display:flex}#q{width:100%;flex:1}.search_filters{margin:0 10px;padding:.5rem 0}.category{display:inline-block;width:auto;margin:0}.category svg{display:none}.category_checkbox label,.category_button{padding:1rem!important;margin:0!important}#search_view:focus-within{display:block;background-color:var(--color-search-background);position:absolute;top:0;height:100%;width:100%;z-index:2000}#search_view:focus-within .search_box{border-bottom:1px solid var(--color-search-border);width:100%;border-radius:0;box-shadow:none}#search_view:focus-within .search_box #send_search{margin-right:0!important}#search_view:focus-within .search_box *{border:none;border-radius:0;box-shadow:none}#main_results #q:placeholder-shown~#send_search{margin-right:2.6rem;transition:margin .1s}}@media screen and (max-width: 20rem){#search_header{grid-template-areas:"search search" "categories categories"}#search_logo{display:none}}#categories{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}#categories::-webkit-scrollbar{width:0;height:0}#categories_container{position:relative}.favicon img{height:1.5rem;width:1.5rem;border-radius:10%;background-color:var(--color-favicon-background-color);border:1px solid var(--color-favicon-border-color);display:flex}@media screen and (min-width: 50em){.center-alignment-yes #main_results{--center-page-width: 48rem}}@media screen and (width >= 62rem){.center-alignment-yes #main_results{--center-page-width: 60rem}}@media screen and (min-width: 79.75em){.center-alignment-yes #main_results{--center-page-width: 73rem}}@media screen and (min-width: 50em) and (max-width: 79.75em){.center-alignment-yes #main_results #results{grid-template-columns:60% calc(40% - 5rem);margin-left:0;margin-right:0}.center-alignment-yes #main_results #urls{margin-left:3rem}.center-alignment-yes #main_results #sidebar{margin-right:1rem}.center-alignment-yes #main_results #backToTop{left:calc(60% + 1rem)}}@media screen and (min-width: 79.75em){.center-alignment-yes #main_results{display:flex;flex-direction:column;align-items:center}.center-alignment-yes #main_results #search{width:100%;display:flex;flex-direction:column;align-items:center}.center-alignment-yes #main_results #search_header{grid-template-columns:calc(50% - 4.5rem - var(--center-page-width) / 2) 3rem var(--center-page-width);grid-template-areas:"na logo search" "na spacer categories";column-gap:1.2rem;width:100%;padding-left:0;padding-right:0}.center-alignment-yes #main_results .search_filters{margin-left:.5rem;width:var(--center-page-width)}.center-alignment-yes #main_results #results{margin-right:2rem;margin-left:10rem}.center-alignment-yes #main_results #results.only_template_images,.center-alignment-yes #main_results #results.image-detail-open{align-self:flex-start}.center-alignment-yes #main_results #results:not(.only_template_images,.image-detail-open){margin-left:1.5rem;grid-template-columns:calc(var(--center-page-width) - 5rem - 25rem) 25rem}.center-alignment-yes #main_results #results:not(.only_template_images,.image-detail-open) #backToTop{left:calc(50% - 25rem - 5rem + 1rem + var(--center-page-width) / 2)}.center-alignment-yes #main_results #results .result .content{max-width:inherit}.center-alignment-yes #main_results #urls{margin-left:0}.center-alignment-yes #main_results #sidebar{margin-right:0}}.sxng-icon-set{display:inline-block;vertical-align:bottom;line-height:1;text-decoration:inherit;transform:scale(1)}.sxng-icon-set-small{width:1rem;height:1rem;display:inline-block;vertical-align:bottom;line-height:1;text-decoration:inherit;transform:scale(1)}.sxng-icon-set-big{width:1.5rem;height:1.5rem;display:inline-block;vertical-align:bottom;line-height:1;text-decoration:inherit;transform:scale(1)}html{font-family:sans-serif;font-size:.9em;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;color:var(--color-base-font);background-color:var(--color-base-background);padding:0;margin:0;scroll-behavior:smooth}body,main{padding:0;margin:0}body{display:flex;flex-direction:column;height:100vh;margin:0}@supports (height: 100dvh){body{height:100dvh}}main{width:100%;margin-bottom:2rem;flex:1}.page_with_header{margin:2em auto;width:85em}footer{clear:both;min-height:4rem;padding:1rem 0;width:100%;text-align:center;background-color:var(--color-footer-background);border-top:1px solid var(--color-footer-border);overflow:hidden}footer p{font-size:.9em}.page_with_header .logo{height:40px}input[type=submit],#results button[type=submit],.button{padding:.7rem;display:inline-block;background:var(--color-btn-background);color:var(--color-btn-font);border-radius:10px;border:0;cursor:pointer}a{text-decoration:none;color:var(--color-url-font)}a:visited,a:visited .highlight{color:var(--color-url-visited-font)}article[data-vim-selected]{background:var(--color-result-vim-selected);border-left:.2rem solid var(--color-result-vim-arrow);border-radius:0 10px 10px 0}article.result-images[data-vim-selected]{background:var(--color-result-vim-arrow);border:none;border-radius:10px}article.result-images[data-vim-selected] .image_thumbnail{filter:opacity(60%)}article.result-images[data-vim-selected] span.title,article.result-images[data-vim-selected] span.source{color:var(--color-result-image-span-font-selected)}article[data-vim-selected].category-videos,article[data-vim-selected].category-news,article[data-vim-selected].category-map,article[data-vim-selected].category-music,article[data-vim-selected].category-files,article[data-vim-selected].category-social{border:1px solid var(--color-result-vim-arrow);border-radius:10px}.result{margin:.125rem 0;padding:1rem;box-sizing:border-box;width:100%;border-left:.2rem solid transparent}.result h3{font-size:1.2rem;word-wrap:break-word;margin:.4rem 0;padding:0}.result h3 a{color:var(--color-result-link-font);font-weight:400;font-size:1.1em}.result h3 a:visited{color:var(--color-result-link-visited-font)}.result h3 a:focus,.result h3 a:hover{text-decoration:underline;border:none;outline:none}.result .cache_link,.result .proxyfied_link{font-size:smaller!important;margin-left:.5rem}.result .content,.result .stat{font-size:.9em;margin:0;padding:0;max-width:54em;word-wrap:break-word;line-height:1.24}.result .content .highlight,.result .stat .highlight{color:var(--color-result-description-highlight-font);background:inherit;font-weight:700}.result .altlink a{font-size:.9em;margin:0 10px 0 0;padding:5px 10px;border-radius:5px;background:var(--color-show-btn-background);color:var(--color-show-btn-font);cursor:pointer}.result .altlink a:hover{background:var(--color-btn-background);color:var(--color-btn-font)}.result .codelines .highlight{color:inherit;background:inherit;font-weight:400}.result .url_header{display:flex;gap:.5rem}.result .url_wrapper{display:flex;align-items:center;font-size:1rem;color:var(--color-result-url-font);flex-flow:row nowrap;overflow:hidden;margin:0;padding:0}.result .url_wrapper .url_o1{white-space:nowrap;flex-shrink:1;padding-bottom:1px}.result .url_wrapper .url_o1 .url_i1{unicode-bidi:plaintext}.result .url_wrapper .url_o1:after{content:" ";width:1ch;display:inline-block}.result .url_wrapper .url_o2{overflow:hidden;white-space:nowrap;flex:0 1 content;text-align:right;padding-bottom:1px}.result .url_wrapper .url_o2 .url_i2{float:right}.result .published_date,.result .result_length,.result .result_views,.result .result_author,.result .result_shipping,.result .result_source_country{font-size:.8em;color:var(--color-result-publishdate-font)}.result .result_price{font-size:1.2em;color:var(--color-result-description-highlight-font)}.result img.thumbnail{float:left;padding-top:.6rem;padding-right:1rem;width:7rem;height:unset}.result .break{clear:both}.result-paper .attributes,.result-packages .attributes{display:table;border-spacing:.125rem}.result-paper .attributes div,.result-packages .attributes div{display:table-row}.result-paper .attributes div span,.result-packages .attributes div span{font-size:.9rem;margin-top:.25rem;display:table-cell}.result-paper .attributes div span time,.result-packages .attributes div span time{font-size:.9rem}.result-paper .attributes div span:first-child,.result-packages .attributes div span:first-child{color:var(--color-base-font);min-width:10rem}.result-paper .attributes div span:nth-child(2),.result-packages .attributes div span:nth-child(2){color:var(--color-result-publishdate-font)}.result-paper .content,.result-packages .content{margin-top:.25rem}.result-paper .comments,.result-packages .comments{font-size:.9rem;margin:.25rem 0 0;padding:0;word-wrap:break-word;line-height:1.24;font-style:italic}.result-packages .attributes{margin-top:.3rem}.template_group_images{display:flex;flex-wrap:wrap}.template_group_images:after{flex-grow:10;content:""}.category-videos,.category-news,.category-map,.category-music,.category-files,.category-social{border:1px solid var(--color-result-border);margin:0 .5rem 1rem!important;border-radius:10px}.category-social .image{width:auto!important;min-width:48px;min-height:48px;padding:0 5px 25px 0!important}.audio-control audio{width:100%;padding:10px 0 0}.embedded-content iframe{width:100%;padding:10px 0 0}.result-videos img.thumbnail{float:left;padding-top:.6rem;padding-right:1rem;width:20rem;height:unset}.result-videos .content{overflow:hidden}.result-videos .embedded-video iframe{width:100%;aspect-ratio:16 / 9;padding:10px 0 0}@supports not (aspect-ratio: 1 / 1){.result-videos .embedded-video iframe{height:25.3125rem}}.engines{float:right;display:flex;flex-wrap:wrap;justify-content:flex-end;color:var(--color-result-engines-font)}.engines span{font-size:smaller;margin-top:0;margin-bottom:0;margin-right:.5rem;margin-left:0}.small_font{font-size:.8em}.highlight{color:var(--color-result-link-font-highlight);background:inherit}.empty_element{font-style:italic}.result-images{flex-grow:1;padding:.5rem .5rem 3rem;margin:.25rem;border:none!important;height:12rem;width:unset}.result-images>a{position:relative;outline:none}.result-images img{margin:0;padding:0;border:none;height:100%;width:100%;object-fit:cover;vertical-align:bottom;background:var(--color-result-image-background)}.result-images .image_resolution{position:absolute;right:0;bottom:0;background:var(--color-image-resolution-background);padding:.3rem .5rem;font-size:.9rem;color:var(--color-image-resolution-font);border-top-left-radius:.3rem}.result-images span.title,.result-images span.source{display:block;position:absolute;width:100%;font-size:.9rem;color:var(--color-result-image-span-font);padding:.5rem 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-images span.source{padding:1.8rem 0 0;font-size:.7rem}.result-map img.image{float:right!important;height:100px!important;width:auto!important}.result-map table{font-size:.9em;width:auto;border-collapse:separate;border-spacing:0 .35rem}.result-map table th{font-weight:inherit;width:17rem;vertical-align:top;text-align:left}.result-map table td{vertical-align:top;text-align:left}.hidden{display:none!important}#results{margin-top:1rem;margin-right:2rem;margin-bottom:0;margin-left:10rem;display:grid;grid-template:"corrections sidebar" min-content "answers sidebar" min-content "urls sidebar" 1fr "pagination sidebar" min-content / 45rem 25rem;gap:0 5rem}#results #sidebar *:first-child{margin-top:0}#urls{padding:0;grid-area:urls}#apis .wrapper{display:flex}#suggestions .wrapper{display:flex;flex-flow:column;justify-content:flex-end}#suggestions .wrapper form{display:inline-block;flex:1 1 50%}#suggestions input,#infoboxes input{padding:0;margin:3px;font-size:.9em;display:inline-block;background:transparent;color:var(--color-result-search-url-font);cursor:pointer;width:100%;text-overflow:ellipsis;overflow:hidden;text-align:left}#suggestions input[type=submit],#infoboxes input[type=submit],#suggestions .infobox .url a,#infoboxes .infobox .url a{color:var(--color-result-link-font);text-decoration:none;font-size:.9rem}#suggestions input[type=submit]:hover,#infoboxes input[type=submit]:hover,#suggestions .infobox .url a:hover,#infoboxes .infobox .url a:hover{text-decoration:underline}#corrections{grid-area:corrections;display:flex;flex-flow:row wrap;margin:0 0 1em}#corrections h4,#corrections input[type=submit]{display:inline-block;padding:.5rem;margin:.5rem}#corrections input[type=submit]{font-size:.8rem;border-radius:5px}#infoboxes .title,#suggestions .title,#search_url .title,#engines_msg .title,#apis .title{margin:2em 0 .5em;color:var(--color-base-font)}summary.title{cursor:pointer;padding-top:1em}.sidebar-collapsible{border-top:1px solid var(--color-sidebar-border);padding-bottom:.5em}#sidebar-end-collapsible{border-bottom:1px solid var(--color-sidebar-border);width:100%}#answers{grid-area:answers;background:var(--color-answer-background);padding:1rem;margin:1rem 0;margin-top:0;color:var(--color-answer-font);border-radius:10px}#answers h4{display:none}#answers span{overflow-wrap:anywhere}#answers .answer{display:flex;flex-direction:column}#answers .answer-url{margin:5px 10px 10px auto}#infoboxes form{min-width:210px}#sidebar{grid-area:sidebar;word-wrap:break-word;color:var(--color-sidebar-font)}#sidebar .infobox{margin:10px 0;border:1px solid var(--color-sidebar-border);padding:1rem;font-size:.9em;border-radius:10px}#sidebar .infobox h2{margin:0 0 .5em}#sidebar .infobox img{max-width:100%;max-height:12em;display:block;margin:0 auto;padding:0}#sidebar .infobox dt{font-weight:700}#sidebar .infobox .attributes dl{margin:.5em 0}#sidebar .infobox .attributes dt{display:inline;margin:.5em .25em .5em 0;padding:0}#sidebar .infobox .attributes dd{display:inline;margin:.5em 0;padding:0}#sidebar .infobox input{font-size:1em}#sidebar .infobox br,#sidebar .infobox .attributes,#sidebar .infobox .urls{clear:both}#apis input{font-size:.9em;margin:0 10px 0 0;padding:5px 10px;border-radius:5px;background:var(--color-show-btn-background);color:var(--color-show-btn-font);cursor:pointer}#apis input:hover{background:var(--color-btn-background);color:var(--color-btn-font)}#engines_msg .engine-name{width:10rem}#engines_msg .response-error{color:var(--color-error)}#engines_msg .bar-chart-value{width:auto}#search_url div.selectable_url pre{float:left;width:200em}#search_url button#copy_url{float:right;padding:.4rem;margin-left:.5rem;border-radius:.3rem;display:none}#links_on_top{position:absolute;right:1rem;text-align:right;top:2.7rem;padding:0;border:0;display:flex;align-items:center;font-size:1em;color:var(--color-search-font)}#links_on_top a{display:flex;align-items:center;margin-left:1em}#links_on_top a svg{font-size:1.2em;margin-right:.125em}#links_on_top a,#links_on_top a:link *,#links_on_top a:hover *,#links_on_top a:visited *,#links_on_top a:active *{color:var(--color-search-font)}#pagination{grid-area:pagination}#pagination br{clear:both}.numbered_pagination{display:flex;flex-direction:row;justify-content:center;align-items:center;overflow:hidden}.page_number{background:transparent!important;color:var(--color-result-link-font)!important;text-decoration:underline}.page_number_current{background:transparent;color:var(--color-result-link-visited-font);border:none}#backToTop{border:1px solid var(--color-backtotop-border);margin:0;padding:0;font-size:1em;background:var(--color-backtotop-background);position:fixed;bottom:8rem;left:56.3rem;transition:opacity .5s;opacity:0;pointer-events:none;border-radius:10px}#backToTop a{display:block;margin:0;padding:.7em}#backToTop a,#backToTop a:visited,#backToTop a:hover,#backToTop a:active{color:var(--color-backtotop-font)}#results.scrolling #backToTop{opacity:1;pointer-events:all}@media screen and (width <= calc(79.75em - .5px)){#links_on_top span{display:none}}@media screen and (width <= 52rem){body.results_endpoint #links_on_top .link_on_top_about,body.results_endpoint #links_on_top .link_on_top_donate{display:none}}@media screen and (min-width: 50em) and (max-width: 79.75em){.center-alignment-no #links_on_top span{display:none}.center-alignment-no .page_with_header{margin:2rem .5rem;width:auto}.center-alignment-no #infoboxes{position:inherit;max-width:inherit}.center-alignment-no #infoboxes .infobox{clear:both}.center-alignment-no #infoboxes .infobox img{float:left;max-width:10em;margin:.5em .5em .5em 0}.center-alignment-no #sidebar{margin:0 .5rem .125rem;padding:0;float:none;border:none;width:auto}.center-alignment-no #sidebar input{border:0}.center-alignment-no .result .thumbnail{max-width:98%}.center-alignment-no .result .url span.url{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;width:100%}.center-alignment-no .result .engines{float:right;display:flex;flex-wrap:wrap;justify-content:flex-end;padding:3px 0 0}.center-alignment-no .result-images{border-bottom:none!important}.center-alignment-no .image_result,.center-alignment-no .image_result img{max-width:98%}.center-alignment-no #backToTop{display:none}.center-alignment-no #pagination{margin:2rem 0 0!important}.center-alignment-no #main_results div#results{margin:0 auto;justify-content:center;display:grid;grid-template:"corrections" min-content "answers" min-content "sidebar" min-content "urls" 1fr "pagination" min-content / 45rem;gap:0}}#main_results div#results.only_template_images{margin:1rem .5rem 0;display:grid;grid-template:"corrections" min-content "answers" min-content "sidebar" min-content "urls" 1fr "pagination" min-content / 100%;gap:0}#main_results div#results.only_template_images #sidebar{display:none}#main_results div#results.only_template_images #urls{margin:0;display:flex;flex-wrap:wrap}#main_results div#results.only_template_images #urls:after{flex-grow:10;content:""}#main_results div#results.only_template_images #backToTop{left:auto;right:1rem}#main_results div#results.only_template_images #pagination{margin-right:4rem}@media screen and (max-width: 50em){#links_on_top span{display:none}.page_with_header{margin:2rem .5rem;width:auto}#infoboxes{position:inherit;max-width:inherit}#infoboxes .infobox{clear:both}#infoboxes .infobox img{float:left;max-width:10em;margin:.5em .5em .5em 0}#sidebar{margin:0 .5rem .125rem;padding:0;float:none;border:none;width:auto}#sidebar input{border:0}.result .thumbnail{max-width:98%}.result .url span.url{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;width:100%}.result .engines{float:right;display:flex;flex-wrap:wrap;justify-content:flex-end;padding:3px 0 0}.result-images{border-bottom:none!important}.image_result,.image_result img{max-width:98%}#backToTop{display:none}#pagination{margin:2rem 0 0!important}#main_results div#results{margin:0 auto;justify-content:center;display:grid;grid-template:"corrections" min-content "answers" min-content "sidebar" min-content "urls" 1fr "pagination" min-content / 45rem;gap:0}html{background-color:var(--color-base-background-mobile)}#main_results div#results{grid-template-columns:100%;margin:0 auto}#links_on_top{top:1.4rem;right:10px}#main_index #links_on_top{top:.5rem;right:.5rem}#results{margin:0;padding:0}#pagination{margin:2rem 1rem 0!important}article[data-vim-selected]{border:1px solid var(--color-result-vim-arrow);border-radius:10px}.result{background:var(--color-result-background);border:1px solid var(--color-result-background);margin:1rem 2%;width:96%;border-radius:10px}.result-images{margin:0;height:10rem;background:var(--color-base-background-mobile);width:unset}.infobox{border:none!important;background-color:var(--color-sidebar-background)}.numbered_pagination{display:none}.result-paper .attributes,.result-packages .attributes,.result-paper .attributes div,.result-packages .attributes div{display:block}.result-paper .attributes div span,.result-packages .attributes div span{display:inline}.result-paper .attributes div span:first-child,.result-packages .attributes div span:first-child{font-weight:700}.result-paper .attributes div span:nth-child(2),.result-packages .attributes div span:nth-child(2){margin-left:.5rem}}@media screen and (max-width: 35em){.result-videos img.thumbnail{float:none!important}.result-videos .content{overflow:inherit}}pre code{white-space:pre-wrap}#main_results .result-keyvalue caption{padding:.8rem .5rem;font-style:italic;caption-side:bottom;background-color:var(--color-result-keyvalue-table)}#main_results .result-keyvalue .col-key{width:25%}#main_results .result-keyvalue table{word-break:break-word;table-layout:fixed;width:100%;background-color:var(--color-result-keyvalue-table)}#main_results .result-keyvalue tr.odd{background-color:var(--color-result-keyvalue-odd)}#main_results .result-keyvalue tr.even{background-color:var(--color-result-keyvalue-even)}#main_results .result-keyvalue th,#main_results .result-keyvalue td{padding:.3rem .5rem} +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}:root{--color-base-font: #444;--color-base-font-rgb: 68, 68, 68;--color-base-background: #fff;--color-base-background-mobile: #f2f5f8;--color-url-font: #334999;--color-url-visited-font: #9822c3;--color-header-background: #fdfbff;--color-header-border: #ddd;--color-footer-background: #fdfbff;--color-footer-border: #ddd;--color-sidebar-border: #ddd;--color-sidebar-font: #000;--color-sidebar-background: #fff;--color-backtotop-font: #444;--color-backtotop-border: #ddd;--color-backtotop-background: #fff;--color-btn-background: #3050ff;--color-btn-font: #fff;--color-show-btn-background: #bbb;--color-show-btn-font: #000;--color-search-border: #bbb;--color-search-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-search-background: #fff;--color-search-font: #222;--color-search-background-hover: #3050ff;--color-error: #db3434;--color-error-background: #fae1e1;--color-warning: #dbba34;--color-warning-background: #faf5e1;--color-success: #42db34;--color-success-background: #e3fae1;--color-categories-item-selected-font: #3050ff;--color-categories-item-border-selected: #3050ff;--color-autocomplete-font: #000;--color-autocomplete-border: #bbb;--color-autocomplete-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-autocomplete-background: #fff;--color-autocomplete-background-hover: #e3e3e3;--color-answer-font: #444;--color-answer-background: #fff;--color-result-keyvalue-col-table: #fdfbff;--color-result-keyvalue-odd: #fdfbff;--color-result-keyvalue-even: #fff;--color-result-background: #fff;--color-result-border: #ddd;--color-result-url-font: #000;--color-result-vim-selected: #f7f7f7;--color-result-vim-arrow: #000bbb;--color-result-description-highlight-font: #000;--color-result-link-font: #000bbb;--color-result-link-font-highlight: #000bbb;--color-result-link-visited-font: #9822c3;--color-result-publishdate-font: #777;--color-result-engines-font: #545454;--color-result-search-url-border: #ddd;--color-result-search-url-font: #000;--color-result-image-span-font: #444;--color-result-image-span-font-selected: #fff;--color-result-image-background: #fff;--color-settings-tr-hover: #ebebeb;--color-settings-engine-description-font: #545454;--color-settings-table-group-background: #0001;--color-result-detail-font: #fff;--color-result-detail-label-font: lightgray;--color-result-detail-background: #242424;--color-result-detail-hr: #555;--color-result-detail-link: #8af;--color-result-detail-loader-border: rgba(255, 255, 255, .2);--color-result-detail-loader-borderleft: rgba(0, 0, 0, 0);--color-toolkit-badge-font: #fff;--color-toolkit-badge-background: #545454;--color-toolkit-kbd-font: #fff;--color-toolkit-kbd-background: #000;--color-toolkit-dialog-border: #ddd;--color-toolkit-dialog-background: #fff;--color-toolkit-tabs-label-border: #fff;--color-toolkit-tabs-section-border: #ddd;--color-toolkit-select-background: #e1e1e1;--color-toolkit-select-border: #ddd;--color-toolkit-select-background-hover: #bbb;--color-toolkit-input-text-font: #222;--color-toolkit-checkbox-onoff-off-background: #ddd;--color-toolkit-checkbox-onoff-on-background: #ddd;--color-toolkit-checkbox-onoff-on-mark-background: #3050ff;--color-toolkit-checkbox-onoff-on-mark-color: #fff;--color-toolkit-checkbox-onoff-off-mark-background: #aaa;--color-toolkit-checkbox-onoff-off-mark-color: #fff;--color-toolkit-checkbox-label-background: #ddd;--color-toolkit-checkbox-label-border: #ddd;--color-toolkit-checkbox-input-border: #3050ff;--color-toolkit-engine-tooltip-border: #ddd;--color-toolkit-engine-tooltip-background: #fff;--color-toolkit-loader-border: rgba(0, 0, 0, .2);--color-toolkit-loader-borderleft: rgba(255, 255, 255, 0);--color-doc-code: #003;--color-doc-code-background: #ddeaff;--color-bar-chart-primary: #5bc0de;--color-bar-chart-secondary: #deb15b;--color-image-resolution-background: rgba(0, 0, 0, .5);--color-image-resolution-font: #fff;--color-loading-indicator: rgba(255, 255, 255, .2);--color-loading-indicator-gap: #fff;--color-line-number: #64708d;--color-favicon-background-color: #ddd;--color-favicon-border-color: #ccc}@media (prefers-color-scheme: dark){:root.theme-auto{--color-base-font: #bbb;--color-base-font-rgb: 187, 187, 187;--color-base-background: #222428;--color-base-background-mobile: #222428;--color-url-font: #8af;--color-url-visited-font: #c09cd9;--color-header-background: #1e1e22;--color-header-border: #333;--color-footer-background: #1e1e22;--color-footer-border: #333;--color-sidebar-border: #555;--color-sidebar-font: #fff;--color-sidebar-background: #292c34;--color-backtotop-font: #bbb;--color-backtotop-border: #333;--color-backtotop-background: #2b2e36;--color-btn-background: #58f;--color-btn-font: #222;--color-show-btn-background: #555;--color-show-btn-font: #fff;--color-search-border: #555;--color-search-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-search-background: #2b2e36;--color-search-font: #fff;--color-search-background-hover: #58f;--color-error: #f55b5b;--color-error-background: #390a0a;--color-warning: #f1d561;--color-warning-background: #39300a;--color-success: #79f56e;--color-success-background: #0e390a;--color-categories-item-selected-font: #58f;--color-categories-item-border-selected: #58f;--color-autocomplete-font: #fff;--color-autocomplete-border: #555;--color-autocomplete-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-autocomplete-background: #2b2e36;--color-autocomplete-background-hover: #1e1e22;--color-answer-font: #bbb;--color-answer-background: #26292f;--color-result-keyvalue-col-table: #1e1e22;--color-result-keyvalue-odd: #1e1e22;--color-result-keyvalue-even: #26292f;--color-result-background: #26292f;--color-result-border: #333;--color-result-url-font: #fff;--color-result-vim-selected: #1f1f23cc;--color-result-vim-arrow: #8af;--color-result-description-highlight-font: #fff;--color-result-link-font: #8af;--color-result-link-font-highlight: #8af;--color-result-link-visited-font: #c09cd9;--color-result-publishdate-font: #888;--color-result-engines-font: #a4a4a4;--color-result-search-url-border: #555;--color-result-search-url-font: #fff;--color-result-detail-font: #fff;--color-result-detail-label-font: lightgray;--color-result-detail-background: #1a1a1c;--color-result-detail-hr: #555;--color-result-detail-link: #8af;--color-result-detail-loader-border: rgba(255, 255, 255, .2);--color-result-detail-loader-borderleft: rgba(0, 0, 0, 0);--color-result-image-span-font: #bbb;--color-result-image-span-font-selected: #222;--color-result-image-background: #222;--color-settings-tr-hover: #2c2c32;--color-settings-engine-description-font: #909090;--color-settings-table-group-background: #1b1b21;--color-toolkit-badge-font: #fff;--color-toolkit-badge-background: #555;--color-toolkit-kbd-font: #000;--color-toolkit-kbd-background: #fff;--color-toolkit-dialog-border: #555;--color-toolkit-dialog-background: #1e1e22;--color-toolkit-tabs-label-border: #222;--color-toolkit-tabs-section-border: #555;--color-toolkit-select-background: #313338;--color-toolkit-select-border: #555;--color-toolkit-select-background-hover: #373b49;--color-toolkit-input-text-font: #fff;--color-toolkit-checkbox-onoff-off-background: #313338;--color-toolkit-checkbox-onoff-on-background: #313338;--color-toolkit-checkbox-onoff-on-mark-background: #58f;--color-toolkit-checkbox-onoff-on-mark-color: #222;--color-toolkit-checkbox-onoff-off-mark-background: #ddd;--color-toolkit-checkbox-onoff-off-mark-color: #222;--color-toolkit-checkbox-label-background: #222;--color-toolkit-checkbox-label-border: #333;--color-toolkit-checkbox-input-border: #58f;--color-toolkit-engine-tooltip-border: #333;--color-toolkit-engine-tooltip-background: #222;--color-toolkit-loader-border: rgba(255, 255, 255, .2);--color-toolkit-loader-borderleft: rgba(0, 0, 0, 0);--color-doc-code: #ddd;--color-doc-code-background: #4d5a6f;--color-favicon-background-color: #ddd;--color-favicon-border-color: #ccc}}:root.theme-dark{--color-base-font: #bbb;--color-base-font-rgb: 187, 187, 187;--color-base-background: #222428;--color-base-background-mobile: #222428;--color-url-font: #8af;--color-url-visited-font: #c09cd9;--color-header-background: #1e1e22;--color-header-border: #333;--color-footer-background: #1e1e22;--color-footer-border: #333;--color-sidebar-border: #555;--color-sidebar-font: #fff;--color-sidebar-background: #292c34;--color-backtotop-font: #bbb;--color-backtotop-border: #333;--color-backtotop-background: #2b2e36;--color-btn-background: #58f;--color-btn-font: #222;--color-show-btn-background: #555;--color-show-btn-font: #fff;--color-search-border: #555;--color-search-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-search-background: #2b2e36;--color-search-font: #fff;--color-search-background-hover: #58f;--color-error: #f55b5b;--color-error-background: #390a0a;--color-warning: #f1d561;--color-warning-background: #39300a;--color-success: #79f56e;--color-success-background: #0e390a;--color-categories-item-selected-font: #58f;--color-categories-item-border-selected: #58f;--color-autocomplete-font: #fff;--color-autocomplete-border: #555;--color-autocomplete-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-autocomplete-background: #2b2e36;--color-autocomplete-background-hover: #1e1e22;--color-answer-font: #bbb;--color-answer-background: #26292f;--color-result-keyvalue-col-table: #1e1e22;--color-result-keyvalue-odd: #1e1e22;--color-result-keyvalue-even: #26292f;--color-result-background: #26292f;--color-result-border: #333;--color-result-url-font: #fff;--color-result-vim-selected: #1f1f23cc;--color-result-vim-arrow: #8af;--color-result-description-highlight-font: #fff;--color-result-link-font: #8af;--color-result-link-font-highlight: #8af;--color-result-link-visited-font: #c09cd9;--color-result-publishdate-font: #888;--color-result-engines-font: #a4a4a4;--color-result-search-url-border: #555;--color-result-search-url-font: #fff;--color-result-detail-font: #fff;--color-result-detail-label-font: lightgray;--color-result-detail-background: #1a1a1c;--color-result-detail-hr: #555;--color-result-detail-link: #8af;--color-result-detail-loader-border: rgba(255, 255, 255, .2);--color-result-detail-loader-borderleft: rgba(0, 0, 0, 0);--color-result-image-span-font: #bbb;--color-result-image-span-font-selected: #222;--color-result-image-background: #222;--color-settings-tr-hover: #2c2c32;--color-settings-engine-description-font: #909090;--color-settings-table-group-background: #1b1b21;--color-toolkit-badge-font: #fff;--color-toolkit-badge-background: #555;--color-toolkit-kbd-font: #000;--color-toolkit-kbd-background: #fff;--color-toolkit-dialog-border: #555;--color-toolkit-dialog-background: #1e1e22;--color-toolkit-tabs-label-border: #222;--color-toolkit-tabs-section-border: #555;--color-toolkit-select-background: #313338;--color-toolkit-select-border: #555;--color-toolkit-select-background-hover: #373b49;--color-toolkit-input-text-font: #fff;--color-toolkit-checkbox-onoff-off-background: #313338;--color-toolkit-checkbox-onoff-on-background: #313338;--color-toolkit-checkbox-onoff-on-mark-background: #58f;--color-toolkit-checkbox-onoff-on-mark-color: #222;--color-toolkit-checkbox-onoff-off-mark-background: #ddd;--color-toolkit-checkbox-onoff-off-mark-color: #222;--color-toolkit-checkbox-label-background: #222;--color-toolkit-checkbox-label-border: #333;--color-toolkit-checkbox-input-border: #58f;--color-toolkit-engine-tooltip-border: #333;--color-toolkit-engine-tooltip-background: #222;--color-toolkit-loader-border: rgba(255, 255, 255, .2);--color-toolkit-loader-borderleft: rgba(0, 0, 0, 0);--color-doc-code: #ddd;--color-doc-code-background: #4d5a6f;--color-favicon-background-color: #ddd;--color-favicon-border-color: #ccc}:root.theme-black{--color-base-font: #bbb;--color-base-font-rgb: 187, 187, 187;--color-base-background: #222428;--color-base-background-mobile: #222428;--color-url-font: #8af;--color-url-visited-font: #c09cd9;--color-header-background: #1e1e22;--color-header-border: #333;--color-footer-background: #1e1e22;--color-footer-border: #333;--color-sidebar-border: #555;--color-sidebar-font: #fff;--color-sidebar-background: #292c34;--color-backtotop-font: #bbb;--color-backtotop-border: #333;--color-backtotop-background: #2b2e36;--color-btn-background: #58f;--color-btn-font: #222;--color-show-btn-background: #555;--color-show-btn-font: #fff;--color-search-border: #555;--color-search-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-search-background: #2b2e36;--color-search-font: #fff;--color-search-background-hover: #58f;--color-error: #f55b5b;--color-error-background: #390a0a;--color-warning: #f1d561;--color-warning-background: #39300a;--color-success: #79f56e;--color-success-background: #0e390a;--color-categories-item-selected-font: #58f;--color-categories-item-border-selected: #58f;--color-autocomplete-font: #fff;--color-autocomplete-border: #555;--color-autocomplete-shadow: 0 2px 8px rgba(34, 38, 46, .25);--color-autocomplete-background: #2b2e36;--color-autocomplete-background-hover: #1e1e22;--color-answer-font: #bbb;--color-answer-background: #26292f;--color-result-keyvalue-col-table: #1e1e22;--color-result-keyvalue-odd: #1e1e22;--color-result-keyvalue-even: #26292f;--color-result-background: #26292f;--color-result-border: #333;--color-result-url-font: #fff;--color-result-vim-selected: #1f1f23cc;--color-result-vim-arrow: #8af;--color-result-description-highlight-font: #fff;--color-result-link-font: #8af;--color-result-link-font-highlight: #8af;--color-result-link-visited-font: #c09cd9;--color-result-publishdate-font: #888;--color-result-engines-font: #a4a4a4;--color-result-search-url-border: #555;--color-result-search-url-font: #fff;--color-result-detail-font: #fff;--color-result-detail-label-font: lightgray;--color-result-detail-background: #1a1a1c;--color-result-detail-hr: #555;--color-result-detail-link: #8af;--color-result-detail-loader-border: rgba(255, 255, 255, .2);--color-result-detail-loader-borderleft: rgba(0, 0, 0, 0);--color-result-image-span-font: #bbb;--color-result-image-span-font-selected: #222;--color-result-image-background: #222;--color-settings-tr-hover: #2c2c32;--color-settings-engine-description-font: #909090;--color-settings-table-group-background: #1b1b21;--color-toolkit-badge-font: #fff;--color-toolkit-badge-background: #555;--color-toolkit-kbd-font: #000;--color-toolkit-kbd-background: #fff;--color-toolkit-dialog-border: #555;--color-toolkit-dialog-background: #1e1e22;--color-toolkit-tabs-label-border: #222;--color-toolkit-tabs-section-border: #555;--color-toolkit-select-background: #313338;--color-toolkit-select-border: #555;--color-toolkit-select-background-hover: #373b49;--color-toolkit-input-text-font: #fff;--color-toolkit-checkbox-onoff-off-background: #313338;--color-toolkit-checkbox-onoff-on-background: #313338;--color-toolkit-checkbox-onoff-on-mark-background: #58f;--color-toolkit-checkbox-onoff-on-mark-color: #222;--color-toolkit-checkbox-onoff-off-mark-background: #ddd;--color-toolkit-checkbox-onoff-off-mark-color: #222;--color-toolkit-checkbox-label-background: #222;--color-toolkit-checkbox-label-border: #333;--color-toolkit-checkbox-input-border: #58f;--color-toolkit-engine-tooltip-border: #333;--color-toolkit-engine-tooltip-background: #222;--color-toolkit-loader-border: rgba(255, 255, 255, .2);--color-toolkit-loader-borderleft: rgba(0, 0, 0, 0);--color-doc-code: #ddd;--color-doc-code-background: #4d5a6f;--color-favicon-background-color: #ddd;--color-favicon-border-color: #ccc;--color-base-background: #000;--color-base-background-mobile: #000;--color-header-background: #000;--color-footer-background: #000;--color-sidebar-background: #000}.code-highlight pre{line-height:100%}.code-highlight td.linenos .normal,.code-highlight span.linenos{color:inherit;background-color:transparent;padding-left:5px;padding-right:5px}.code-highlight td.linenos .special,.code-highlight span.linenos.special{color:#000;background-color:#ffffc0;padding-left:5px;padding-right:5px}.code-highlight .hll{background-color:#ffc}.code-highlight .c{color:#3d7b7b;font-style:italic}.code-highlight .err{border:1px solid #F00}.code-highlight .k{color:green;font-weight:700}.code-highlight .o{color:#666}.code-highlight .ch,.code-highlight .cm{color:#3d7b7b;font-style:italic}.code-highlight .cp{color:#9c6500}.code-highlight .cpf,.code-highlight .c1,.code-highlight .cs{color:#3d7b7b;font-style:italic}.code-highlight .gd{color:#a00000}.code-highlight .ge{font-style:italic}.code-highlight .ges{font-weight:700;font-style:italic}.code-highlight .gr{color:#e40000}.code-highlight .gh{color:navy;font-weight:700}.code-highlight .gi{color:#008400}.code-highlight .go{color:#717171}.code-highlight .gp{color:navy;font-weight:700}.code-highlight .gs{font-weight:700}.code-highlight .gu{color:purple;font-weight:700}.code-highlight .gt{color:#04d}.code-highlight .kc,.code-highlight .kd,.code-highlight .kn{color:green;font-weight:700}.code-highlight .kp{color:green}.code-highlight .kr{color:green;font-weight:700}.code-highlight .kt{color:#b00040}.code-highlight .m{color:#666}.code-highlight .s{color:#ba2121}.code-highlight .na{color:#687822}.code-highlight .nb{color:green}.code-highlight .nc{color:#00f;font-weight:700}.code-highlight .no{color:#800}.code-highlight .nd{color:#a2f}.code-highlight .ni{color:#717171;font-weight:700}.code-highlight .ne{color:#cb3f38;font-weight:700}.code-highlight .nf{color:#00f}.code-highlight .nl{color:#767600}.code-highlight .nn{color:#00f;font-weight:700}.code-highlight .nt{color:green;font-weight:700}.code-highlight .nv{color:#19177c}.code-highlight .ow{color:#a2f;font-weight:700}.code-highlight .w{color:#bbb}.code-highlight .mb,.code-highlight .mf,.code-highlight .mh,.code-highlight .mi,.code-highlight .mo{color:#666}.code-highlight .sa,.code-highlight .sb,.code-highlight .sc,.code-highlight .dl{color:#ba2121}.code-highlight .sd{color:#ba2121;font-style:italic}.code-highlight .s2{color:#ba2121}.code-highlight .se{color:#aa5d1f;font-weight:700}.code-highlight .sh{color:#ba2121}.code-highlight .si{color:#a45a77;font-weight:700}.code-highlight .sx{color:green}.code-highlight .sr{color:#a45a77}.code-highlight .s1{color:#ba2121}.code-highlight .ss{color:#19177c}.code-highlight .bp{color:green}.code-highlight .fm{color:#00f}.code-highlight .vc,.code-highlight .vg,.code-highlight .vi,.code-highlight .vm{color:#19177c}.code-highlight .il{color:#666}.codelines{margin:.125rem 0 0;padding:1rem 0 0}.code-highlight pre{overflow:auto;margin:0;padding:0 0 .75rem}.code-highlight .linenos{-webkit-user-select:none;user-select:none;cursor:default;margin-right:8px;text-align:right}.code-highlight .linenos::selection{background:transparent}.code-highlight .linenos::-moz-selection{background:transparent}.code-highlight span.linenos{color:var(--color-line-number)}@media (prefers-color-scheme: dark){:root.theme-auto .code-highlight pre{line-height:100%}:root.theme-auto .code-highlight td.linenos .normal{color:#3c4354;background-color:transparent;padding-left:5px;padding-right:5px}:root.theme-auto .code-highlight span.linenos{color:#3c4354;background-color:transparent;padding-left:5px;padding-right:5px}:root.theme-auto .code-highlight td.linenos .special{color:#3c4354;background-color:#ffffc0;padding-left:5px;padding-right:5px}:root.theme-auto .code-highlight span.linenos.special{color:#3c4354;background-color:#ffffc0;padding-left:5px;padding-right:5px}:root.theme-auto .code-highlight .hll{background-color:#6e7681}:root.theme-auto .code-highlight .c{color:#7e8aa1}:root.theme-auto .code-highlight .err{color:#f88f7f}:root.theme-auto .code-highlight .esc{color:#d4d2c8}:root.theme-auto .code-highlight .g{color:#d4d2c8}:root.theme-auto .code-highlight .k{color:#ffad66}:root.theme-auto .code-highlight .l{color:#d5ff80}:root.theme-auto .code-highlight .n{color:#d4d2c8}:root.theme-auto .code-highlight .o{color:#ffad66}:root.theme-auto .code-highlight .x{color:#d4d2c8}:root.theme-auto .code-highlight .p{color:#d4d2c8}:root.theme-auto .code-highlight .ch{color:#f88f7f;font-style:italic}:root.theme-auto .code-highlight .cm{color:#7e8aa1}:root.theme-auto .code-highlight .cp{color:#ffad66;font-weight:700}:root.theme-auto .code-highlight .cpf{color:#7e8aa1}:root.theme-auto .code-highlight .c1{color:#7e8aa1}:root.theme-auto .code-highlight .cs{color:#7e8aa1;font-style:italic}:root.theme-auto .code-highlight .gd{color:#f88f7f;background-color:#3d1e20}:root.theme-auto .code-highlight .ge{color:#d4d2c8;font-style:italic}:root.theme-auto .code-highlight .ges{color:#d4d2c8}:root.theme-auto .code-highlight .gr{color:#f88f7f}:root.theme-auto .code-highlight .gh{color:#d4d2c8}:root.theme-auto .code-highlight .gi{color:#6ad4af;background-color:#19362c}:root.theme-auto .code-highlight .go{color:#7e8aa1}:root.theme-auto .code-highlight .gp{color:#d4d2c8}:root.theme-auto .code-highlight .gs{color:#d4d2c8;font-weight:700}:root.theme-auto .code-highlight .gu{color:#d4d2c8}:root.theme-auto .code-highlight .gt{color:#f88f7f}:root.theme-auto .code-highlight .kc{color:#ffad66}:root.theme-auto .code-highlight .kd{color:#ffad66}:root.theme-auto .code-highlight .kn{color:#ffad66}:root.theme-auto .code-highlight .kp{color:#ffad66}:root.theme-auto .code-highlight .kr{color:#ffad66}:root.theme-auto .code-highlight .kt{color:#73d0ff}:root.theme-auto .code-highlight .ld{color:#d5ff80}:root.theme-auto .code-highlight .m{color:#dfbfff}:root.theme-auto .code-highlight .s{color:#d5ff80}:root.theme-auto .code-highlight .na{color:#ffd173}:root.theme-auto .code-highlight .nb{color:#ffd173}:root.theme-auto .code-highlight .nc{color:#73d0ff}:root.theme-auto .code-highlight .no{color:#ffd173}:root.theme-auto .code-highlight .nd{color:#7e8aa1;font-weight:700;font-style:italic}:root.theme-auto .code-highlight .ni{color:#95e6cb}:root.theme-auto .code-highlight .ne{color:#73d0ff}:root.theme-auto .code-highlight .nf{color:#ffd173}:root.theme-auto .code-highlight .nl{color:#d4d2c8}:root.theme-auto .code-highlight .nn{color:#d4d2c8}:root.theme-auto .code-highlight .nx{color:#d4d2c8}:root.theme-auto .code-highlight .py{color:#ffd173}:root.theme-auto .code-highlight .nt{color:#5ccfe6}:root.theme-auto .code-highlight .nv{color:#d4d2c8}:root.theme-auto .code-highlight .ow{color:#ffad66}:root.theme-auto .code-highlight .pm{color:#d4d2c8}:root.theme-auto .code-highlight .w{color:#d4d2c8}:root.theme-auto .code-highlight .mb{color:#dfbfff}:root.theme-auto .code-highlight .mf{color:#dfbfff}:root.theme-auto .code-highlight .mh{color:#dfbfff}:root.theme-auto .code-highlight .mi{color:#dfbfff}:root.theme-auto .code-highlight .mo{color:#dfbfff}:root.theme-auto .code-highlight .sa{color:#f29e74}:root.theme-auto .code-highlight .sb{color:#d5ff80}:root.theme-auto .code-highlight .sc{color:#d5ff80}:root.theme-auto .code-highlight .dl{color:#d5ff80}:root.theme-auto .code-highlight .sd{color:#7e8aa1}:root.theme-auto .code-highlight .s2{color:#d5ff80}:root.theme-auto .code-highlight .se{color:#95e6cb}:root.theme-auto .code-highlight .sh{color:#d5ff80}:root.theme-auto .code-highlight .si{color:#95e6cb}:root.theme-auto .code-highlight .sx{color:#95e6cb}:root.theme-auto .code-highlight .sr{color:#95e6cb}:root.theme-auto .code-highlight .s1{color:#d5ff80}:root.theme-auto .code-highlight .ss{color:#dfbfff}:root.theme-auto .code-highlight .bp{color:#5ccfe6}:root.theme-auto .code-highlight .fm{color:#ffd173}:root.theme-auto .code-highlight .vc{color:#d4d2c8}:root.theme-auto .code-highlight .vg{color:#d4d2c8}:root.theme-auto .code-highlight .vi{color:#d4d2c8}:root.theme-auto .code-highlight .vm{color:#d4d2c8}:root.theme-auto .code-highlight .il{color:#dfbfff}:root.theme-auto .code-highlight pre{overflow:auto;margin:0;padding:0 0 .75rem}:root.theme-auto .code-highlight .linenos{-webkit-user-select:none;user-select:none;cursor:default;margin-right:8px;text-align:right}:root.theme-auto .code-highlight .linenos::selection{background:transparent}:root.theme-auto .code-highlight .linenos::-moz-selection{background:transparent}:root.theme-auto .code-highlight span.linenos{color:var(--color-line-number)}}:root.theme-dark .code-highlight pre{line-height:100%}:root.theme-dark .code-highlight td.linenos .normal{color:#3c4354;background-color:transparent;padding-left:5px;padding-right:5px}:root.theme-dark .code-highlight span.linenos{color:#3c4354;background-color:transparent;padding-left:5px;padding-right:5px}:root.theme-dark .code-highlight td.linenos .special{color:#3c4354;background-color:#ffffc0;padding-left:5px;padding-right:5px}:root.theme-dark .code-highlight span.linenos.special{color:#3c4354;background-color:#ffffc0;padding-left:5px;padding-right:5px}:root.theme-dark .code-highlight .hll{background-color:#6e7681}:root.theme-dark .code-highlight .c{color:#7e8aa1}:root.theme-dark .code-highlight .err{color:#f88f7f}:root.theme-dark .code-highlight .esc{color:#d4d2c8}:root.theme-dark .code-highlight .g{color:#d4d2c8}:root.theme-dark .code-highlight .k{color:#ffad66}:root.theme-dark .code-highlight .l{color:#d5ff80}:root.theme-dark .code-highlight .n{color:#d4d2c8}:root.theme-dark .code-highlight .o{color:#ffad66}:root.theme-dark .code-highlight .x{color:#d4d2c8}:root.theme-dark .code-highlight .p{color:#d4d2c8}:root.theme-dark .code-highlight .ch{color:#f88f7f;font-style:italic}:root.theme-dark .code-highlight .cm{color:#7e8aa1}:root.theme-dark .code-highlight .cp{color:#ffad66;font-weight:700}:root.theme-dark .code-highlight .cpf{color:#7e8aa1}:root.theme-dark .code-highlight .c1{color:#7e8aa1}:root.theme-dark .code-highlight .cs{color:#7e8aa1;font-style:italic}:root.theme-dark .code-highlight .gd{color:#f88f7f;background-color:#3d1e20}:root.theme-dark .code-highlight .ge{color:#d4d2c8;font-style:italic}:root.theme-dark .code-highlight .ges{color:#d4d2c8}:root.theme-dark .code-highlight .gr{color:#f88f7f}:root.theme-dark .code-highlight .gh{color:#d4d2c8}:root.theme-dark .code-highlight .gi{color:#6ad4af;background-color:#19362c}:root.theme-dark .code-highlight .go{color:#7e8aa1}:root.theme-dark .code-highlight .gp{color:#d4d2c8}:root.theme-dark .code-highlight .gs{color:#d4d2c8;font-weight:700}:root.theme-dark .code-highlight .gu{color:#d4d2c8}:root.theme-dark .code-highlight .gt{color:#f88f7f}:root.theme-dark .code-highlight .kc{color:#ffad66}:root.theme-dark .code-highlight .kd{color:#ffad66}:root.theme-dark .code-highlight .kn{color:#ffad66}:root.theme-dark .code-highlight .kp{color:#ffad66}:root.theme-dark .code-highlight .kr{color:#ffad66}:root.theme-dark .code-highlight .kt{color:#73d0ff}:root.theme-dark .code-highlight .ld{color:#d5ff80}:root.theme-dark .code-highlight .m{color:#dfbfff}:root.theme-dark .code-highlight .s{color:#d5ff80}:root.theme-dark .code-highlight .na{color:#ffd173}:root.theme-dark .code-highlight .nb{color:#ffd173}:root.theme-dark .code-highlight .nc{color:#73d0ff}:root.theme-dark .code-highlight .no{color:#ffd173}:root.theme-dark .code-highlight .nd{color:#7e8aa1;font-weight:700;font-style:italic}:root.theme-dark .code-highlight .ni{color:#95e6cb}:root.theme-dark .code-highlight .ne{color:#73d0ff}:root.theme-dark .code-highlight .nf{color:#ffd173}:root.theme-dark .code-highlight .nl{color:#d4d2c8}:root.theme-dark .code-highlight .nn{color:#d4d2c8}:root.theme-dark .code-highlight .nx{color:#d4d2c8}:root.theme-dark .code-highlight .py{color:#ffd173}:root.theme-dark .code-highlight .nt{color:#5ccfe6}:root.theme-dark .code-highlight .nv{color:#d4d2c8}:root.theme-dark .code-highlight .ow{color:#ffad66}:root.theme-dark .code-highlight .pm{color:#d4d2c8}:root.theme-dark .code-highlight .w{color:#d4d2c8}:root.theme-dark .code-highlight .mb{color:#dfbfff}:root.theme-dark .code-highlight .mf{color:#dfbfff}:root.theme-dark .code-highlight .mh{color:#dfbfff}:root.theme-dark .code-highlight .mi{color:#dfbfff}:root.theme-dark .code-highlight .mo{color:#dfbfff}:root.theme-dark .code-highlight .sa{color:#f29e74}:root.theme-dark .code-highlight .sb{color:#d5ff80}:root.theme-dark .code-highlight .sc{color:#d5ff80}:root.theme-dark .code-highlight .dl{color:#d5ff80}:root.theme-dark .code-highlight .sd{color:#7e8aa1}:root.theme-dark .code-highlight .s2{color:#d5ff80}:root.theme-dark .code-highlight .se{color:#95e6cb}:root.theme-dark .code-highlight .sh{color:#d5ff80}:root.theme-dark .code-highlight .si{color:#95e6cb}:root.theme-dark .code-highlight .sx{color:#95e6cb}:root.theme-dark .code-highlight .sr{color:#95e6cb}:root.theme-dark .code-highlight .s1{color:#d5ff80}:root.theme-dark .code-highlight .ss{color:#dfbfff}:root.theme-dark .code-highlight .bp{color:#5ccfe6}:root.theme-dark .code-highlight .fm{color:#ffd173}:root.theme-dark .code-highlight .vc{color:#d4d2c8}:root.theme-dark .code-highlight .vg{color:#d4d2c8}:root.theme-dark .code-highlight .vi{color:#d4d2c8}:root.theme-dark .code-highlight .vm{color:#d4d2c8}:root.theme-dark .code-highlight .il{color:#dfbfff}:root.theme-dark .code-highlight pre{overflow:auto;margin:0;padding:0 0 .75rem}:root.theme-dark .code-highlight .linenos{-webkit-user-select:none;user-select:none;cursor:default;margin-right:8px;text-align:right}:root.theme-dark .code-highlight .linenos::selection{background:transparent}:root.theme-dark .code-highlight .linenos::-moz-selection{background:transparent}:root.theme-dark .code-highlight span.linenos{color:var(--color-line-number)}html.no-js .hide_if_nojs,html.js .show_if_nojs{display:none}.center{text-align:center}.right{float:right}.left{float:left}.invisible{display:none!important}.list-unstyled{list-style-type:none}.list-unstyled li{margin-top:4px;margin-bottom:4px}.danger{background-color:var(--color-error-background)}.warning{background:var(--color-warning-background)}.success{background:var(--color-success-background)}.badge{display:inline-block;color:var(--color-toolkit-badge-font);background-color:var(--color-toolkit-badge-background);text-align:center;white-space:nowrap;vertical-align:baseline;min-width:10px;padding:1px 5px;border-radius:5px}kbd{padding:2px 4px;margin:1px;font-size:90%;color:var(--color-toolkit-kbd-font);background:var(--color-toolkit-kbd-background)}table{width:100%}table.striped tr{border-bottom:1px solid var(--color-settings-tr-hover)}th{padding:.4em}td{padding:0 4px}tr:hover{background:var(--color-settings-tr-hover)!important}div.selectable_url{display:block;border:1px solid var(--color-result-search-url-border);padding:4px;color:var(--color-result-search-url-font);margin:.1em;overflow:hidden;height:1.2em;line-height:1.2em;border-radius:5px}div.selectable_url pre{display:block;font-size:.8em;word-break:break-all;margin:.1em;-webkit-user-select:all;user-select:all}.dialog-error{position:relative;display:flex;padding:1rem;margin:0 0 1em;border:1px solid var(--color-toolkit-dialog-border);text-align:left;border-radius:10px;color:var(--color-error);background:var(--color-error-background);border-color:var(--color-error)}.dialog-error .close{float:right;position:relative;top:-3px;color:inherit;font-size:1.5em}.dialog-error ul,.dialog-error ol,.dialog-error p{margin:1px 0 0}.dialog-error table{width:auto}.dialog-error tr{vertical-align:text-top}.dialog-error tr:hover{background:transparent!important}.dialog-error td{padding:0 1em 0 0;padding-right:1rem;padding-bottom:0;padding-left:0}.dialog-error h4{margin-top:.3em;margin-bottom:.3em}.dialog-error-block{position:relative;display:flex;padding:1rem;margin:0 0 1em;border:1px solid var(--color-toolkit-dialog-border);text-align:left;border-radius:10px;display:block;color:var(--color-error);background:var(--color-error-background);border-color:var(--color-error)}.dialog-error-block .close{float:right;position:relative;top:-3px;color:inherit;font-size:1.5em}.dialog-error-block ul,.dialog-error-block ol,.dialog-error-block p{margin:1px 0 0}.dialog-error-block table{width:auto}.dialog-error-block tr{vertical-align:text-top}.dialog-error-block tr:hover{background:transparent!important}.dialog-error-block td{padding:0 1em 0 0;padding-right:1rem;padding-bottom:0;padding-left:0}.dialog-error-block h4{margin-top:.3em;margin-bottom:.3em}.dialog-warning{position:relative;display:flex;padding:1rem;margin:0 0 1em;border:1px solid var(--color-toolkit-dialog-border);text-align:left;border-radius:10px;color:var(--color-warning);background:var(--color-warning-background);border-color:var(--color-warning)}.dialog-warning .close{float:right;position:relative;top:-3px;color:inherit;font-size:1.5em}.dialog-warning ul,.dialog-warning ol,.dialog-warning p{margin:1px 0 0}.dialog-warning table{width:auto}.dialog-warning tr{vertical-align:text-top}.dialog-warning tr:hover{background:transparent!important}.dialog-warning td{padding:0 1em 0 0;padding-right:1rem;padding-bottom:0;padding-left:0}.dialog-warning h4{margin-top:.3em;margin-bottom:.3em}.dialog-modal{position:relative;display:flex;padding:1rem;border:1px solid var(--color-toolkit-dialog-border);text-align:left;border-radius:10px;display:block;background:var(--color-toolkit-dialog-background);position:fixed;top:50%;left:50%;margin:0 auto;transform:translate(-50%,-50%);z-index:5000}.dialog-modal .close{float:right;position:relative;top:-3px;color:inherit;font-size:1.5em}.dialog-modal ul,.dialog-modal ol,.dialog-modal p{margin:1px 0 0}.dialog-modal table{width:auto}.dialog-modal tr{vertical-align:text-top}.dialog-modal tr:hover{background:transparent!important}.dialog-modal td{padding:0 1em 0 0;padding-right:1rem;padding-bottom:0;padding-left:0}.dialog-modal h4{margin-top:.3em;margin-bottom:.3em}.dialog-modal h3{margin-top:0}.btn-collapse{cursor:pointer}.scrollx{overflow:auto hidden;display:block;padding:0;margin:0;border:none}.tabs .tabs>label{font-size:90%}ul.tabs{border-bottom:1px solid var(--color-toolkit-tabs-section-border);list-style:none;padding-left:0}ul.tabs li{display:flex}.tabs{display:flex;flex-wrap:wrap;width:100%;min-width:100%}.tabs>*{order:2}.tabs>input[type=radio]{display:none}.tabs>label,.tabs>li>a{order:1;padding:.7em;margin:0 .7em;letter-spacing:.5px;text-transform:uppercase;border:solid var(--color-toolkit-tabs-label-border);border-width:0 0 2px 0;color:unset;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;cursor:pointer}.tabs>label.active,.tabs>li>a.active{border-bottom:2px solid var(--color-categories-item-border-selected);background:var(--color-categories-item-selected);color:var(--color-categories-item-selected-font)}.tabs>label:hover,.tabs>li>a:hover{border-bottom:2px solid var(--color-categories-item-border-selected)}.tabs>section{min-width:100%;padding:.7rem 0;box-sizing:border-box;border-top:1px solid var(--color-toolkit-tabs-section-border);display:none}.tabs>label:last-of-type{border-bottom:2px solid var(--color-categories-item-border-selected);background:var(--color-categories-item-selected);color:var(--color-categories-item-selected-font);letter-spacing:-.1px}.tabs>section:last-of-type{display:block}html body .tabs>input:checked~section{display:none}html body .tabs>input:checked~label{position:inherited;background:inherit;border-bottom:2px solid transparent;font-weight:400;color:inherit}html body .tabs>input:checked~label:hover{border-bottom:2px solid var(--color-categories-item-border-selected)}html body .tabs>input:checked+label{border-bottom:2px solid var(--color-categories-item-border-selected);background:var(--color-categories-item-selected);color:var(--color-categories-item-selected-font)}html body .tabs>input:checked+label+section{display:block}select{height:2.4rem;margin-top:0;margin-right:1rem;margin-bottom:0;margin-left:0;padding:.2rem!important;color:var(--color-search-font);font-size:.9rem;z-index:100}select:hover,select:focus{cursor:pointer}@supports ((background-position-x: 100%) and ((appearance: none) or (-webkit-appearance: none) or (-moz-appearance: none))){select{appearance:none;-webkit-appearance:none;-moz-appearance:none;border-width:0 2rem 0 0;border-color:transparent;background:url(data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22512%22%20height%3D%22512%22%20viewBox%3D%220%200%20512%20512%22%3E%0A%3Cg%3E%3Cpolygon%20points%3D%22128%2C192%20256%2C320%20384%2C192%22%2F%3E%3C%2Fg%3E%0A%3C%2Fsvg%3E) no-repeat;background-position-x:calc(100% + 2rem);background-size:2rem;background-origin:content-box;background-color:var(--color-toolkit-select-background);text-overflow:ellipsis;border-radius:5px}select:hover,select:focus{background-color:var(--color-toolkit-select-background-hover)}select option{background-color:var(--color-base-background)}@media (prefers-color-scheme: dark){html.theme-auto select,html.theme-dark select{background-image:url(data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22512%22%20height%3D%22512%22%20viewBox%3D%220%200%20512%20512%22%3E%0A%3Cg%3E%3Cpolygon%20fill%3D%22%23ddd%22%20points%3D%22128%2C192%20256%2C320%20384%2C192%22%2F%3E%3C%2Fg%3E%0A%3C%2Fsvg%3E)}}html.theme-dark select{background-image:url(data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22512%22%20height%3D%22512%22%20viewBox%3D%220%200%20512%20512%22%3E%0A%3Cg%3E%3Cpolygon%20fill%3D%22%23ddd%22%20points%3D%22128%2C192%20256%2C320%20384%2C192%22%2F%3E%3C%2Fg%3E%0A%3C%2Fsvg%3E)}}input.checkbox-onoff[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;display:inline-block;width:2.5em;height:.7em;box-shadow:none!important;margin:0 16px;border-radius:10px;position:relative}input.checkbox-onoff[type=checkbox]:focus:after{content:"";position:absolute;width:3.5em;height:1.65em;border:1px solid var(--color-btn-background);border-radius:12px;box-shadow:var(--color-btn-background) 0 0 3px;z-index:1200;top:-.55em;left:-.6em}input.checkbox-onoff[type=checkbox]:before{position:absolute;top:-.5em;display:flex;justify-content:center;align-items:center;font-size:.75em;width:1.875em;height:1.875em;border-radius:50%}input.checkbox-onoff[type=checkbox],input.checkbox-onoff.reversed-checkbox[type=checkbox]:checked{background:var(--color-toolkit-checkbox-onoff-off-background)}input.checkbox-onoff[type=checkbox]:before,input.checkbox-onoff.reversed-checkbox[type=checkbox]:checked:before{left:-.5em;content:"✕";color:var(--color-toolkit-checkbox-onoff-off-mark-color);background:var(--color-toolkit-checkbox-onoff-off-mark-background)}input.checkbox-onoff[type=checkbox]:checked,input.checkbox-onoff.reversed-checkbox[type=checkbox]{background:var(--color-toolkit-checkbox-onoff-on-background)}input.checkbox-onoff[type=checkbox]:checked:before,input.checkbox-onoff.reversed-checkbox[type=checkbox]:before{left:calc(100% - 1.5em);content:"✓";color:var(--color-toolkit-checkbox-onoff-on-mark-color);background:var(--color-toolkit-checkbox-onoff-on-mark-background)}@supports (transform: rotate(-45deg)){input[type=checkbox]:not(.checkbox-onoff){-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;cursor:pointer;position:relative;top:0;left:0;border:2px solid var(--color-toolkit-checkbox-input-border);border-radius:.3em}input[type=checkbox]:not(.checkbox-onoff):after{content:"";width:9px;height:5px;position:absolute;top:3px;left:2px;border:3px solid var(--color-toolkit-checkbox-label-border);border-top:none;border-right:none;background:transparent;opacity:0;transform:rotate(-45deg)}input[type=checkbox]:not(.checkbox-onoff):checked:after{border-color:var(--color-toolkit-checkbox-input-border);opacity:1}input[type=checkbox][disabled]:not(.checkbox-onoff){border:inherit;background-color:transparent!important;cursor:inherit}input.checkbox[type=checkbox]:not(:checked,[disabled],.checkbox-onoff):hover:after{opacity:.5}}@media screen and (max-width: 50em){.tabs>label{width:100%}}.loader,.loader:after{border-radius:50%;width:2em;height:2em}.loader{margin:1em auto;font-size:10px;position:relative;text-indent:-9999em;border-top:.5em solid var(--color-toolkit-loader-border);border-right:.5em solid var(--color-toolkit-loader-border);border-bottom:.5em solid var(--color-toolkit-loader-border);border-left:.5em solid var(--color-toolkit-loader-borderleft);-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0);-webkit-animation:load8 1.2s infinite linear;animation:load8 1.2s infinite linear}@-webkit-keyframes load8{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes load8{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.engine-tooltip{display:none;position:absolute;padding:.5rem 1rem;margin:0 0 0 2rem;border:1px solid var(--color-toolkit-engine-tooltip-border);background:var(--color-toolkit-engine-tooltip-background);font-size:14px;font-weight:400;z-index:5000;text-align:left;border-radius:10px}th:hover .engine-tooltip,td:hover .engine-tooltip,.engine-tooltip:hover{display:inline-block}.stacked-bar-chart{margin:0;padding:0 .125rem 0 4rem;width:100%;width:-moz-available;width:-webkit-fill-available;width:fill;flex-flow:row nowrap;align-items:center;display:inline-flex}.stacked-bar-chart-value{width:3rem;display:inline-block;position:absolute;padding:0 .5rem;text-align:right}.stacked-bar-chart-base{display:flex;flex-shrink:0;flex-grow:0;flex-basis:unset}.stacked-bar-chart-median{display:flex;flex-shrink:0;flex-grow:0;flex-basis:unset;background:var(--color-base-font);border:1px solid rgba(var(--color-base-font-rgb),.9);padding:.3rem 0}.stacked-bar-chart-rate80{display:flex;flex-shrink:0;flex-grow:0;flex-basis:unset;background:transparent;border:1px solid rgba(var(--color-base-font-rgb),.3);padding:.3rem 0}.stacked-bar-chart-rate95{display:flex;flex-shrink:0;flex-grow:0;flex-basis:unset;background:transparent;border-bottom:1px dotted rgba(var(--color-base-font-rgb),.5);padding:0}.stacked-bar-chart-rate100{display:flex;flex-shrink:0;flex-grow:0;flex-basis:unset;background:transparent;border-left:1px solid rgba(var(--color-base-font-rgb),.9);padding:.4rem 0;width:1px}/*! Autocomplete.js v2.6.3 | license MIT | (c) 2017, Baptiste Donaux | http://autocomplete-js.com */.autocomplete{position:absolute;width:44rem;max-height:0;overflow-y:hidden;text-align:left;border-radius:10px}.autocomplete:active,.autocomplete:focus,.autocomplete:hover{background-color:var(--color-autocomplete-background)}.autocomplete:empty{display:none}.autocomplete>ul{list-style-type:none;margin:0;padding:0}.autocomplete>ul>li{cursor:pointer;padding:.5rem 1rem}.autocomplete>ul>li.active,.autocomplete>ul>li:active,.autocomplete>ul>li:focus,.autocomplete>ul>li:hover{background-color:var(--color-autocomplete-background-hover)}.autocomplete>ul>li.active a:active,.autocomplete>ul>li:active a:active,.autocomplete>ul>li:focus a:active,.autocomplete>ul>li:hover a:active,.autocomplete>ul>li.active a:focus,.autocomplete>ul>li:active a:focus,.autocomplete>ul>li:focus a:focus,.autocomplete>ul>li:hover a:focus,.autocomplete>ul>li.active a:hover,.autocomplete>ul>li:active a:hover,.autocomplete>ul>li:focus a:hover,.autocomplete>ul>li:hover a:hover{text-decoration:none}.autocomplete>ul>li.locked{cursor:inherit}.autocomplete.open{display:block;background-color:var(--color-autocomplete-background);color:var(--color-autocomplete-font);max-height:32rem;overflow-y:auto;z-index:5000;margin-top:3.5rem;border-radius:.8rem}.autocomplete.open:empty{display:none}@media screen and (max-width: 50em){.autocomplete{width:100%}.autocomplete>ul>li{padding:1rem}}#main_results #results.image-detail-open.only_template_images{width:min(98%,59.25rem)!important}#main_results #results.only_template_images.image-detail-open #backToTop{left:56.75rem!important;right:inherit}article.result-images .detail{display:none}#results.image-detail-open article.result-images[data-vim-selected] .detail{display:flex;flex-direction:column;position:fixed;left:60rem;right:0;top:13rem;transition:top 64ms ease-in 0s;bottom:0;background:var(--color-result-detail-background);border:1px solid var(--color-result-detail-background);z-index:1000;padding:4rem 3rem 3rem}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-images-source{display:block;flex:1;text-align:left;width:100%;border:none;text-decoration:none}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-images-source img{padding:0;margin:0;border:none;object-fit:contain;width:inherit;height:inherit;max-width:100%;min-height:inherit;max-height:calc(100vh - 32rem);background:inherit}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels{color:var(--color-result-detail-font);height:19rem}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels hr{border-top:1px solid var(--color-result-detail-hr);border-bottom:none}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels h4{height:2rem;overflow:hidden;text-overflow:ellipsis;font-size:.9rem;margin-bottom:0}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p{color:var(--color-result-detail-label-font);font-size:.9rem;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin:.8rem 0}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p span{display:inline-block;width:12rem}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels h4,#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p,#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels a{text-align:left}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p.result-content{height:2rem;line-height:unset;overflow:hidden;text-overflow:ellipsis}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p.result-url{white-space:nowrap;overflow:hidden hidden;text-overflow:ellipsis}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p.result-content:hover,#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p.result-url:hover{position:relative;overflow:inherit!important;background:var(--color-result-detail-background);text-overflow:inherit!important}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels a,#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels a:visited,#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels a:hover,#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels a:active{color:var(--color-result-detail-link)}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels a:hover{text-decoration:underline}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close{top:1rem;left:1rem;padding:.4rem}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous{top:1rem;right:6rem;padding:.4rem .5rem .4rem .3rem}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next{top:1rem;right:2rem;padding:.4rem}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous{border-radius:50%;display:block;width:1.5rem;height:1.5rem;position:absolute;filter:opacity(40%);z-index:1200}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close span,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next span,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous span{display:block;width:1.5rem;height:1.5rem;text-align:center}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next span:before,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous span:before{vertical-align:sub}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close:visited,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close:hover,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close:active,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous:visited,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous:hover,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous:active,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next:visited,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next:hover,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next:active{color:var(--color-result-detail-font);background:var(--color-result-detail-background);border:1px solid var(--color-result-detail-font)}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close:focus,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close:hover,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous:focus,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous:hover,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next:focus,#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next:hover{filter:opacity(80%)}#results.image-detail-open article.result-images[data-vim-selected] .detail .loader{position:absolute;top:1rem;right:50%;border-top:.5em solid var(--color-result-detail-loader-border);border-right:.5em solid var(--color-result-detail-loader-border);border-bottom:.5em solid var(--color-result-detail-loader-border);border-left:.5em solid var(--color-result-detail-loader-borderleft)}#results.image-detail-open.scrolling article.result-images[data-vim-selected] .detail{top:0}#results.image-detail-open.scrolling article.result-images[data-vim-selected] .detail a.result-images-source img{max-height:calc(100vh - 25rem)}@media screen and (max-width: 79.75em){#results.image-detail-open article.result-images[data-vim-selected] .detail{top:0;left:0}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-images-source{display:flex;flex-direction:column;justify-content:center}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-images-source img{width:100%;max-height:calc(100vh - 24rem)}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next{right:1rem}}@media screen and (max-width: 50em){#results.image-detail-open article.result-images[data-vim-selected] .detail{top:0;left:0;padding:1rem}#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-images-source img{width:100%;max-height:calc(100vh - 20rem);margin:0}#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p span{width:inherit;margin-right:1rem}}.dialog-modal{animation-name:dialogmodal;animation-duration:.13s}@keyframes dialogmodal{0%{opacity:0}50%{opacity:.5;transform:translate(-50%,-50%) scale(1.05)}}input.checkbox-onoff[type=checkbox]:before{transition:left .25s}iframe[src^="https://w.soundcloud.com"]{height:120px}iframe[src^="https://www.deezer.com"]{height:94px}iframe[src^="https://www.mixcloud.com"]{height:250px}iframe[src^="https://bandcamp.com/EmbeddedPlayer"]{height:350px}iframe[src^="https://bandcamp.com/EmbeddedPlayer/track"]{height:120px}iframe[src^="https://genius.com/songs"]{height:65px}.info-page code{font-family:monospace;border-radius:5px;background-color:var(--color-doc-code-background);color:var(--color-doc-code);padding:.2rem;border:0 none}.stats_endpoint .github-issue-button{display:block;font-size:16px}.stats_endpoint .issue-hide{display:none}.stats_endpoint input[type=checked]{position:absolute}.stats_endpoint label{margin:1rem 1rem 1rem 0}.stats_endpoint .step_content{margin:1rem 1rem 1rem 2rem}.stats_endpoint .step1,.stats_endpoint .step2{visibility:hidden}.stats_endpoint .step1_delay{transition:visibility 0s linear 4s}.stats_endpoint #step1:checked~.step1,.stats_endpoint #step2:checked~.step2{visibility:visible}.engine-stats{border-spacing:0;border-collapse:collapse}.engine-stats tr td,.engine-stats tr th{border-bottom:1px solid var(--color-result-border);padding:.25rem}.engine-stats table.engine-tooltip{border-spacing:0;border-collapse:collapse}.engine-stats table.engine-tooltip td,.engine-stats table.engine-tooltip th{border:none}.engine-stats .engine-name{width:20rem}.engine-stats .engine-score{width:7rem;text-align:right}.engine-stats .engine-reliability{text-align:right}table.engine-error th.engine-error-type,table.engine-error td.engine-error-type,failed-test{width:10rem}.engine-errors{margin-top:3rem}.engine-errors table.engine-error{max-width:1280px;margin:1rem 0 3rem;border:1px solid var(--color-result-border);text-align:left}.engine-errors table.engine-error tr th,.engine-errors table.engine-error tr td{padding:.5rem}.engine-errors table.engine-error span.log_parameters{border-right:1px solid solid var(--color-result-border);padding:0 1rem 0 0;margin:0 0 0 .5rem}.bar-chart-value{width:3em;display:inline-block;text-align:right;padding-right:.5rem}.bar-chart-graph{width:calc(100% - 5rem);display:inline-block}.bar-chart-bar{border:3px solid var(--color-bar-chart-primary);margin:1px 0}.bar-chart-serie1{border:3px solid var(--color-bar-chart-primary);margin:1px 0;float:left}.bar-chart-serie2{border:3px solid var(--color-bar-chart-secondary);margin:1px 0;float:left}.bar0{width:0;border:0}.bar1{width:1%}.bar2{width:2%}.bar3{width:3%}.bar4{width:4%}.bar5{width:5%}.bar6{width:6%}.bar7{width:7%}.bar8{width:8%}.bar9{width:9%}.bar10{width:10%}.bar11{width:11%}.bar12{width:12%}.bar13{width:13%}.bar14{width:14%}.bar15{width:15%}.bar16{width:16%}.bar17{width:17%}.bar18{width:18%}.bar19{width:19%}.bar20{width:20%}.bar21{width:21%}.bar22{width:22%}.bar23{width:23%}.bar24{width:24%}.bar25{width:25%}.bar26{width:26%}.bar27{width:27%}.bar28{width:28%}.bar29{width:29%}.bar30{width:30%}.bar31{width:31%}.bar32{width:32%}.bar33{width:33%}.bar34{width:34%}.bar35{width:35%}.bar36{width:36%}.bar37{width:37%}.bar38{width:38%}.bar39{width:39%}.bar40{width:40%}.bar41{width:41%}.bar42{width:42%}.bar43{width:43%}.bar44{width:44%}.bar45{width:45%}.bar46{width:46%}.bar47{width:47%}.bar48{width:48%}.bar49{width:49%}.bar50{width:50%}.bar51{width:51%}.bar52{width:52%}.bar53{width:53%}.bar54{width:54%}.bar55{width:55%}.bar56{width:56%}.bar57{width:57%}.bar58{width:58%}.bar59{width:59%}.bar60{width:60%}.bar61{width:61%}.bar62{width:62%}.bar63{width:63%}.bar64{width:64%}.bar65{width:65%}.bar66{width:66%}.bar67{width:67%}.bar68{width:68%}.bar69{width:69%}.bar70{width:70%}.bar71{width:71%}.bar72{width:72%}.bar73{width:73%}.bar74{width:74%}.bar75{width:75%}.bar76{width:76%}.bar77{width:77%}.bar78{width:78%}.bar79{width:79%}.bar80{width:80%}.bar81{width:81%}.bar82{width:82%}.bar83{width:83%}.bar84{width:84%}.bar85{width:85%}.bar86{width:86%}.bar87{width:87%}.bar88{width:88%}.bar89{width:89%}.bar90{width:90%}.bar91{width:91%}.bar92{width:92%}.bar93{width:93%}.bar94{width:94%}.bar95{width:95%}.bar96{width:96%}.bar97{width:97%}.bar98{width:98%}.bar99{width:99%}.bar100{width:100%}.osm-map-box{height:300px;width:100%;margin:10px 0}#main_index{margin-top:26vh}.index{text-align:center}.index .title{background:url(../img/searxng.png) no-repeat;min-height:4rem;margin:4rem auto;background-position:center;background-size:contain}.index h1{font-size:4em;visibility:hidden}.index #search,.index #search_header{margin:0 auto;background:inherit;border:inherit;padding:0;display:block}.index .search_filters{display:block;margin:1em 0}.index .category label{padding:6px 10px;border-bottom:initial!important}@media screen and (max-width: 79.75em){div.title h1{font-size:1em}#main_index{margin-top:6em}}table{border-collapse:collapse}table th,table td{text-align:center;padding:1rem .5rem;text-align:left}table tr.pref-group th{font-weight:400;text-align:left;background:var(--color-settings-table-group-background)}#main_preferences form{width:100%}#main_preferences fieldset{margin:8px;border:none}#main_preferences legend{margin:0;padding:5px 0 0;display:block;float:left;width:300px}#main_preferences input[type=text]{width:13.25rem;color:var(--color-toolkit-input-text-font);border:none;background:none repeat scroll 0 0 var(--color-toolkit-select-background);padding:.2rem .4rem;height:2rem;border-radius:5px}#main_preferences input[type=text]:hover,#main_preferences input[type=text]:focus{background-color:var(--color-toolkit-select-background-hover)}#main_preferences div.pref-group{width:100%;font-weight:400;padding:1rem .5rem;text-align:left;background:var(--color-settings-table-group-background)}#main_preferences .value{margin:0;padding:0;float:left;width:15em}#main_preferences .value select,#main_preferences .value input[type=text]{font-size:inherit!important;margin-top:0;margin-right:1rem;margin-bottom:0;margin-left:0}#main_preferences .value select{width:14rem}#main_preferences .value select:focus,#main_preferences .value input:focus{box-shadow:0 0 1px 1px var(--color-btn-background)}#main_preferences .description{margin:0;padding:5px 0 0;float:right;width:50%;color:var(--color-settings-engine-description-font);font-size:90%}#main_preferences .bang{text-align:left;border-radius:5px;background-color:var(--color-doc-code-background);color:var(--color-doc-code);padding:.2rem;border:0 none}#main_preferences .category{margin-right:.5rem}#main_preferences .category label{border:2px solid transparent;padding:.2rem .4rem;border-radius:5px}#main_preferences .category input[type=checkbox]:checked+label{border:2px solid var(--color-categories-item-border-selected)}#main_preferences table.table_engines th.name label{cursor:pointer}#main_preferences table.table_engines th.name .engine-tooltip{margin-top:1.8rem;left:calc((100% - 85em)/2 + 10em);max-width:40rem}#main_preferences table.table_engines th.name .engine-tooltip .engine-description{margin-top:.5rem}#main_preferences table.table_engines th.name .engine-tooltip .bang{margin:.3rem}#main_preferences table.table_engines .checkbox-col,#main_preferences table.table_engines .name,#main_preferences table.table_engines .shortcut{text-align:left}#main_preferences table.cookies{width:100%;direction:ltr}#main_preferences table.cookies th,#main_preferences table.cookies td{text-align:left;font-family:monospace;font-size:1rem;padding:.5em;vertical-align:top}#main_preferences table.cookies td:first-child{word-break:keep-all;width:14rem;padding-right:1rem}#main_preferences table.cookies td:last-child{word-break:break-all}#main_preferences table.cookies>tbody>tr:nth-child(2n)>th,#main_preferences table.cookies>tbody>tr:nth-child(2n)>td{background-color:var(--color-settings-tr-hover)}#main_preferences .preferences_back{background:none repeat scroll 0 0 var(--color-btn-background);color:var(--color-btn-font);border:0 none;border-radius:10px;cursor:pointer;display:inline-block;margin:2px 4px;padding:.7em}#main_preferences .preferences_back a{display:inline-block;color:var(--color-settings-return-font)}#main_preferences .preferences_back a:first-letter{text-transform:uppercase}#main_preferences #toggle-all-engines-container{width:max-content;margin-left:auto}#main_preferences div.selectable_url pre{width:100%}#main_preferences #copy-hash-container{display:flex;align-items:center;gap:.5rem}#main_preferences #copy-hash-container div.selectable_url pre{width:auto;flex-grow:1}#main_preferences #pref-hash-input{width:100%}@media screen and (max-width: 79.75em){.preferences_back{clear:both}.engine-tooltip{left:10em!important}}#search{padding:0;margin:0}#search_header{padding-top:1.5em;padding-right:2em;padding-left:7rem;margin:0;background:var(--color-header-background);border-bottom:1px solid var(--color-header-border);display:grid;gap:1rem 1.2rem;grid-template-columns:3rem 1fr;grid-template-areas:"logo search" "spacer categories"}.category_checkbox,.category_button{display:inline-block;position:relative;margin-right:1rem;padding:0}.category_checkbox input{display:none}.category_checkbox label{cursor:pointer;padding:.2rem 0;display:inline-flex;text-transform:capitalize;font-size:.9em;border-bottom:2px solid transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.category_checkbox label svg{padding-right:.2rem}.category_checkbox label div.category_name{margin:auto 0}.category_checkbox input[type=checkbox]:checked+label{color:var(--color-categories-item-selected-font);border-bottom:2px solid var(--color-categories-item-border-selected)}button.category_button{background-color:inherit;color:var(--color-base-font);cursor:pointer;padding:.2rem 0;display:inline-flex;align-items:center;text-transform:capitalize;font-size:.9em;border:none;border-bottom:2px solid transparent}button.category_button svg{padding-right:.2rem}button.category_button.selected,button.category_button:active{color:var(--color-categories-item-selected-font);border-bottom:2px solid var(--color-categories-item-border-selected)}.no-js #categories_container:has(button.category_button:focus-within) button.category_button.selected{color:var(--color-base-font);border-bottom:none}.no-js #categories_container:has(button.category_button:focus-within) button.category_button:focus-within{color:var(--color-categories-item-selected-font);border-bottom:2px solid var(--color-categories-item-border-selected)}#search_logo{padding:.5rem 10px 0;grid-area:logo;display:flex;align-items:center;justify-content:center}#search_logo svg{flex:1;width:30px;height:30px;margin:.5rem 0 auto}.search_categories{grid-area:categories}.search_categories .help{display:none}.search_categories:hover .help{display:block;position:absolute;background:var(--color-base-background);padding:1rem .6rem .6rem 0;z-index:1000;width:100%;left:-.1rem}#search_view{padding:.5rem .3rem 0 .5rem;grid-area:search}body.results_endpoint #search_view{padding:.5rem 2.8rem 0 0}.search_box{border-radius:.8rem;width:44rem;display:inline-flex;flex-direction:row;white-space:nowrap;box-shadow:var(--color-search-shadow)}#clear_search{display:block;border-collapse:separate;box-sizing:border-box;width:1.8rem;margin:0;padding:.8rem .2rem;background:none repeat scroll 0 0 var(--color-search-background);border:none;color:var(--color-search-font);font-size:1.1rem;z-index:1000}#clear_search:focus{outline:1.5px solid var(--color-base-font);outline-offset:3px;z-index:5000}#clear_search:hover{color:var(--color-search-background-hover)}#clear_search.empty,html.no-js #clear_search.hide_if_nojs{display:none}#q,#send_search{display:block;margin:0;padding:.8rem;background:none repeat scroll 0 0 var(--color-search-background);border:none;color:var(--color-search-font);font-size:1.1rem;z-index:100}#q:focus,#send_search:focus{outline:1.5px solid var(--color-base-font);outline-offset:3px;z-index:5000}#q{width:100%;padding-left:1rem;padding-right:0!important;border-radius:.8rem 0 0 .8rem}#q::-ms-clear,#q::-webkit-search-cancel-button{display:none}#send_search{border-radius:0 .8rem .8rem 0}#send_search:hover{cursor:pointer;background-color:var(--color-search-background-hover);color:var(--color-search-background)}.no-js #clear_search,.no-js #send_search{width:auto!important;border-left:1px solid var(--color-search-border)}.search_filters{margin-top:.6rem;margin-right:0;margin-bottom:0;margin-left:10.6rem;display:flex;overflow-x:auto;overscroll-behavior-inline:contain}.search_filters select{background-color:inherit}.search_filters select:hover,.search_filters select:focus{color:var(--color-base-font)}@media screen and (max-width: 79.75em){#search_header{padding:1.5em .5rem 0;column-gap:.5rem}.search_filters{margin-top:.6rem;margin-right:0;margin-bottom:0;margin-left:3.5rem}#categories{font-size:90%;clear:both}}@media screen and (max-width: 79.75em) and (hover: none){#main_index #categories_container,#main_results #categories_container{width:max-content}#main_index #categories_container .category_checkbox,#main_results #categories_container .category_checkbox{display:inline-block;width:auto}#main_index #categories,#main_results #categories{width:100%;text-align:left;overflow:scroll hidden;-webkit-overflow-scrolling:touch}}@media screen and (max-width: 50em){#search_header{width:100%;margin:0;padding:.1rem 0 0;gap:0 0;grid-template-areas:"logo search" "categories categories"}.search_logo{padding:0}.search_box{width:98%;display:flex}#q{width:100%;flex:1}.search_filters{margin:0 10px;padding:.5rem 0}.category{display:inline-block;width:auto;margin:0}.category svg{display:none}.category_checkbox label,.category_button{padding:1rem!important;margin:0!important}#search_view:focus-within{display:block;background-color:var(--color-search-background);position:absolute;top:0;height:100%;width:100%;z-index:2000}#search_view:focus-within .search_box{border-bottom:1px solid var(--color-search-border);width:100%;border-radius:0;box-shadow:none}#search_view:focus-within .search_box #send_search{margin-right:0!important}#search_view:focus-within .search_box *{border:none;border-radius:0;box-shadow:none}#main_results #q:placeholder-shown~#send_search{margin-right:2.6rem;transition:margin .1s}}@media screen and (max-width: 20rem){#search_header{grid-template-areas:"search search" "categories categories"}#search_logo{display:none}}#categories{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}#categories::-webkit-scrollbar{width:0;height:0}#categories_container{position:relative}.favicon img{height:1.5rem;width:1.5rem;border-radius:10%;background-color:var(--color-favicon-background-color);border:1px solid var(--color-favicon-border-color);display:flex}@media screen and (min-width: 50em){.center-alignment-yes #main_results{--center-page-width: 48rem}}@media screen and (width >= 62rem){.center-alignment-yes #main_results{--center-page-width: 60rem}}@media screen and (min-width: 79.75em){.center-alignment-yes #main_results{--center-page-width: 73rem}}@media screen and (min-width: 50em) and (max-width: 79.75em){.center-alignment-yes #main_results #results{grid-template-columns:60% calc(40% - 5rem);margin-left:0;margin-right:0}.center-alignment-yes #main_results #urls{margin-left:3rem}.center-alignment-yes #main_results #sidebar{margin-right:1rem}.center-alignment-yes #main_results #backToTop{left:calc(60% + 1rem)}}@media screen and (min-width: 79.75em){.center-alignment-yes #main_results{display:flex;flex-direction:column;align-items:center}.center-alignment-yes #main_results #search{width:100%;display:flex;flex-direction:column;align-items:center}.center-alignment-yes #main_results #search_header{grid-template-columns:calc(50% - 4.5rem - var(--center-page-width) / 2) 3rem var(--center-page-width);grid-template-areas:"na logo search" "na spacer categories";column-gap:1.2rem;width:100%;padding-left:0;padding-right:0}.center-alignment-yes #main_results .search_filters{margin-left:.5rem;width:var(--center-page-width)}.center-alignment-yes #main_results #results{margin-right:2rem;margin-left:10rem}.center-alignment-yes #main_results #results.only_template_images,.center-alignment-yes #main_results #results.image-detail-open{align-self:flex-start}.center-alignment-yes #main_results #results:not(.only_template_images,.image-detail-open){margin-left:1.5rem;grid-template-columns:calc(var(--center-page-width) - 5rem - 25rem) 25rem}.center-alignment-yes #main_results #results:not(.only_template_images,.image-detail-open) #backToTop{left:calc(50% - 25rem - 5rem + 1rem + var(--center-page-width) / 2)}.center-alignment-yes #main_results #results .result .content{max-width:inherit}.center-alignment-yes #main_results #urls{margin-left:0}.center-alignment-yes #main_results #sidebar{margin-right:0}}.sxng-icon-set{display:inline-block;vertical-align:bottom;line-height:1;text-decoration:inherit;transform:scale(1)}.sxng-icon-set-small{width:1rem;height:1rem;display:inline-block;vertical-align:bottom;line-height:1;text-decoration:inherit;transform:scale(1)}.sxng-icon-set-big{width:1.5rem;height:1.5rem;display:inline-block;vertical-align:bottom;line-height:1;text-decoration:inherit;transform:scale(1)}html{font-family:sans-serif;font-size:.9em;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;color:var(--color-base-font);background-color:var(--color-base-background);padding:0;margin:0;scroll-behavior:smooth}body,main{padding:0;margin:0}body{display:flex;flex-direction:column;height:100vh;margin:0}@supports (height: 100dvh){body{height:100dvh}}main{width:100%;margin-bottom:2rem;flex:1}.page_with_header{margin:2em auto;width:85em}footer{clear:both;min-height:4rem;padding:1rem 0;width:100%;text-align:center;background-color:var(--color-footer-background);border-top:1px solid var(--color-footer-border);overflow:hidden}footer p{font-size:.9em}.page_with_header .logo{height:40px}input[type=submit],#results button[type=submit],.button{padding:.7rem;display:inline-block;background:var(--color-btn-background);color:var(--color-btn-font);border-radius:10px;border:0;cursor:pointer}input[type=submit]:focus,#results button[type=submit]:focus,.button:focus{outline:1.5px solid var(--color-base-font);outline-offset:3px;z-index:5000}a{text-decoration:none;color:var(--color-url-font)}a:visited,a:visited .highlight{color:var(--color-url-visited-font)}article[data-vim-selected]{background:var(--color-result-vim-selected);border-left:.2rem solid var(--color-result-vim-arrow);border-radius:0 10px 10px 0}article.result-images[data-vim-selected]{background:var(--color-result-vim-arrow);border:none;border-radius:10px}article.result-images[data-vim-selected] .image_thumbnail{filter:opacity(60%)}article.result-images[data-vim-selected] span.title,article.result-images[data-vim-selected] span.source{color:var(--color-result-image-span-font-selected)}article[data-vim-selected].category-videos,article[data-vim-selected].category-news,article[data-vim-selected].category-map,article[data-vim-selected].category-music,article[data-vim-selected].category-files,article[data-vim-selected].category-social{border:1px solid var(--color-result-vim-arrow);border-radius:10px}a:focus,button:focus,input:focus,select:focus{outline:1.5px solid var(--color-base-font);outline-offset:3px;z-index:5000}.result{margin:.125rem 0;padding:1rem;box-sizing:border-box;width:100%;border-left:.2rem solid transparent}.result h3{font-size:1.2rem;word-wrap:break-word;margin:.4rem 0;padding:0}.result h3 a{color:var(--color-result-link-font);font-weight:400;font-size:1.1em}.result h3 a:visited{color:var(--color-result-link-visited-font)}.result h3 a:focus,.result h3 a:hover{text-decoration:underline;border:none}.result .cache_link,.result .proxyfied_link{font-size:smaller!important;margin-left:.5rem}.result .content,.result .stat{font-size:.9em;margin:0;padding:0;max-width:54em;word-wrap:break-word;line-height:1.24}.result .content .highlight,.result .stat .highlight{color:var(--color-result-description-highlight-font);background:inherit;font-weight:700}.result .altlink a{font-size:.9em;margin:0 10px 0 0;padding:5px 10px;border-radius:5px;background:var(--color-show-btn-background);color:var(--color-show-btn-font);cursor:pointer}.result .altlink a:hover{background:var(--color-btn-background);color:var(--color-btn-font)}.result .codelines .highlight{color:inherit;background:inherit;font-weight:400}.result .url_header{display:flex;gap:.5rem}.result .url_wrapper{display:flex;align-items:center;font-size:1rem;color:var(--color-result-url-font);flex-flow:row nowrap;overflow:hidden;margin:0;padding:0}.result .url_wrapper .url_o1{white-space:nowrap;flex-shrink:1;padding-bottom:1px}.result .url_wrapper .url_o1 .url_i1{unicode-bidi:plaintext}.result .url_wrapper .url_o1:after{content:" ";width:1ch;display:inline-block}.result .url_wrapper .url_o2{overflow:hidden;white-space:nowrap;flex:0 1 content;text-align:right;padding-bottom:1px}.result .url_wrapper .url_o2 .url_i2{float:right}.result .published_date,.result .result_length,.result .result_views,.result .result_author,.result .result_shipping,.result .result_source_country{font-size:.8em;color:var(--color-result-publishdate-font)}.result .result_price{font-size:1.2em;color:var(--color-result-description-highlight-font)}.result img.thumbnail{float:left;padding-top:.6rem;padding-right:1rem;width:7rem;height:unset}.result .break{clear:both}.result-paper .attributes,.result-packages .attributes{display:table;border-spacing:.125rem}.result-paper .attributes div,.result-packages .attributes div{display:table-row}.result-paper .attributes div span,.result-packages .attributes div span{font-size:.9rem;margin-top:.25rem;display:table-cell}.result-paper .attributes div span time,.result-packages .attributes div span time{font-size:.9rem}.result-paper .attributes div span:first-child,.result-packages .attributes div span:first-child{color:var(--color-base-font);min-width:10rem}.result-paper .attributes div span:nth-child(2),.result-packages .attributes div span:nth-child(2){color:var(--color-result-publishdate-font)}.result-paper .content,.result-packages .content{margin-top:.25rem}.result-paper .comments,.result-packages .comments{font-size:.9rem;margin:.25rem 0 0;padding:0;word-wrap:break-word;line-height:1.24;font-style:italic}.result-packages .attributes{margin-top:.3rem}.template_group_images{display:flex;flex-wrap:wrap}.template_group_images:after{flex-grow:10;content:""}.category-videos,.category-news,.category-map,.category-music,.category-files,.category-social{border:1px solid var(--color-result-border);margin:0 .5rem 1rem!important;border-radius:10px}.category-social .image{width:auto!important;min-width:48px;min-height:48px;padding:0 5px 25px 0!important}.audio-control audio{width:100%;padding:10px 0 0}.embedded-content iframe{width:100%;padding:10px 0 0}.result-videos img.thumbnail{float:left;padding-top:.6rem;padding-right:1rem;width:20rem;height:unset}.result-videos .content{overflow:hidden}.result-videos .embedded-video iframe{width:100%;aspect-ratio:16 / 9;padding:10px 0 0}@supports not (aspect-ratio: 1 / 1){.result-videos .embedded-video iframe{height:25.3125rem}}.engines{float:right;display:flex;flex-wrap:wrap;justify-content:flex-end;color:var(--color-result-engines-font)}.engines span{font-size:smaller;margin-top:0;margin-bottom:0;margin-right:.5rem;margin-left:0}.small_font{font-size:.8em}.highlight{color:var(--color-result-link-font-highlight);background:inherit}.empty_element{font-style:italic}.result-images{flex-grow:1;padding:.5rem .5rem 3rem;margin:.25rem;border:none!important;height:12rem;width:unset}.result-images>a{position:relative}.result-images img{margin:0;padding:0;border:none;height:100%;width:100%;object-fit:cover;vertical-align:bottom;background:var(--color-result-image-background)}.result-images .image_resolution{position:absolute;right:0;bottom:0;background:var(--color-image-resolution-background);padding:.3rem .5rem;font-size:.9rem;color:var(--color-image-resolution-font);border-top-left-radius:.3rem}.result-images span.title,.result-images span.source{display:block;position:absolute;width:100%;font-size:.9rem;color:var(--color-result-image-span-font);padding:.5rem 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-images span.source{padding:1.8rem 0 0;font-size:.7rem}.result-map img.image{float:right!important;height:100px!important;width:auto!important}.result-map table{font-size:.9em;width:auto;border-collapse:separate;border-spacing:0 .35rem}.result-map table th{font-weight:inherit;width:17rem;vertical-align:top;text-align:left}.result-map table td{vertical-align:top;text-align:left}.hidden{display:none!important}#results{margin-top:1rem;margin-right:2rem;margin-bottom:0;margin-left:10rem;display:grid;grid-template:"corrections sidebar" min-content "answers sidebar" min-content "urls sidebar" 1fr "pagination sidebar" min-content / 45rem 25rem;gap:0 5rem}#results #sidebar *:first-child{margin-top:0}#urls{padding:0;grid-area:urls}#apis .wrapper{display:flex}#suggestions .wrapper{display:flex;flex-flow:column;justify-content:flex-end}#suggestions .wrapper form{display:inline-block;flex:1 1 50%}#suggestions input,#infoboxes input{padding:0;margin:3px;font-size:.9em;display:inline-block;background:transparent;color:var(--color-result-search-url-font);cursor:pointer;width:100%;text-overflow:ellipsis;overflow:hidden;text-align:left}#suggestions input[type=submit],#infoboxes input[type=submit],#suggestions .infobox .url a,#infoboxes .infobox .url a{color:var(--color-result-link-font);text-decoration:none;font-size:.9rem}#suggestions input[type=submit]:hover,#infoboxes input[type=submit]:hover,#suggestions .infobox .url a:hover,#infoboxes .infobox .url a:hover{text-decoration:underline}#corrections{grid-area:corrections;display:flex;flex-flow:row wrap;margin:0 0 1em}#corrections h4,#corrections input[type=submit]{display:inline-block;padding:.5rem;margin:.5rem}#corrections input[type=submit]{font-size:.8rem;border-radius:5px}#infoboxes .title,#suggestions .title,#search_url .title,#engines_msg .title,#apis .title{margin:2em 0 .5em;color:var(--color-base-font)}summary.title{cursor:pointer;padding-top:1em}.sidebar-collapsible{border-top:1px solid var(--color-sidebar-border);padding-bottom:.5em}#sidebar-end-collapsible{border-bottom:1px solid var(--color-sidebar-border);width:100%}#answers{grid-area:answers;background:var(--color-answer-background);padding:1rem;margin:1rem 0;margin-top:0;color:var(--color-answer-font);border-radius:10px}#answers h4{display:none}#answers span{overflow-wrap:anywhere}#answers .answer{display:flex;flex-direction:column}#answers .answer-url{margin:5px 10px 10px auto}#infoboxes form{min-width:210px}#sidebar{grid-area:sidebar;word-wrap:break-word;color:var(--color-sidebar-font)}#sidebar .infobox{margin:10px 0;border:1px solid var(--color-sidebar-border);padding:1rem;font-size:.9em;border-radius:10px}#sidebar .infobox h2{margin:0 0 .5em}#sidebar .infobox img{max-width:100%;max-height:12em;display:block;margin:0 auto;padding:0}#sidebar .infobox dt{font-weight:700}#sidebar .infobox .attributes dl{margin:.5em 0}#sidebar .infobox .attributes dt{display:inline;margin:.5em .25em .5em 0;padding:0}#sidebar .infobox .attributes dd{display:inline;margin:.5em 0;padding:0}#sidebar .infobox input{font-size:1em}#sidebar .infobox br,#sidebar .infobox .attributes,#sidebar .infobox .urls{clear:both}#apis input{font-size:.9em;margin:0 10px 0 0;padding:5px 10px;border-radius:5px;background:var(--color-show-btn-background);color:var(--color-show-btn-font);cursor:pointer}#apis input:hover{background:var(--color-btn-background);color:var(--color-btn-font)}#engines_msg .engine-name{width:10rem}#engines_msg .response-error{color:var(--color-error)}#engines_msg .bar-chart-value{width:auto}#search_url div.selectable_url pre{float:left;width:200em}#search_url button#copy_url{float:right;padding:.4rem;margin-left:.5rem;border-radius:.3rem;display:none}#links_on_top{position:absolute;right:1rem;text-align:right;top:2.7rem;padding:0;border:0;display:flex;align-items:center;font-size:1em;color:var(--color-search-font)}#links_on_top a{display:flex;align-items:center;margin-left:1em}#links_on_top a svg{font-size:1.2em;margin-right:.125em}#links_on_top a,#links_on_top a:link *,#links_on_top a:hover *,#links_on_top a:visited *,#links_on_top a:active *{color:var(--color-search-font)}#pagination{grid-area:pagination}#pagination br{clear:both}.numbered_pagination{display:flex;flex-direction:row;justify-content:center;align-items:center;overflow:hidden}.page_number{background:transparent!important;color:var(--color-result-link-font)!important;text-decoration:underline}.page_number_current{background:transparent;color:var(--color-result-link-visited-font);border:none}#backToTop{border:1px solid var(--color-backtotop-border);margin:0;padding:0;font-size:1em;background:var(--color-backtotop-background);position:fixed;bottom:8rem;left:56.3rem;transition:opacity .5s;opacity:0;pointer-events:none;border-radius:10px}#backToTop a{display:block;margin:0;padding:.7em}#backToTop a,#backToTop a:visited,#backToTop a:hover,#backToTop a:active{color:var(--color-backtotop-font)}#results.scrolling #backToTop{opacity:1;pointer-events:all}@media screen and (width <= calc(79.75em - .5px)){#links_on_top span{display:none}}@media screen and (width <= 52rem){body.results_endpoint #links_on_top .link_on_top_about,body.results_endpoint #links_on_top .link_on_top_donate{display:none}}@media screen and (min-width: 50em) and (max-width: 79.75em){.center-alignment-no #links_on_top span{display:none}.center-alignment-no .page_with_header{margin:2rem .5rem;width:auto}.center-alignment-no #infoboxes{position:inherit;max-width:inherit}.center-alignment-no #infoboxes .infobox{clear:both}.center-alignment-no #infoboxes .infobox img{float:left;max-width:10em;margin:.5em .5em .5em 0}.center-alignment-no #sidebar{margin:0 .5rem .125rem;padding:0;float:none;border:none;width:auto}.center-alignment-no #sidebar input{border:0}.center-alignment-no .result .thumbnail{max-width:98%}.center-alignment-no .result .url span.url{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;width:100%}.center-alignment-no .result .engines{float:right;display:flex;flex-wrap:wrap;justify-content:flex-end;padding:3px 0 0}.center-alignment-no .result-images{border-bottom:none!important}.center-alignment-no .image_result,.center-alignment-no .image_result img{max-width:98%}.center-alignment-no #backToTop{display:none}.center-alignment-no #pagination{margin:2rem 0 0!important}.center-alignment-no #main_results div#results{margin:0 auto;justify-content:center;display:grid;grid-template:"corrections" min-content "answers" min-content "sidebar" min-content "urls" 1fr "pagination" min-content / 45rem;gap:0}}#main_results div#results.only_template_images{margin:1rem .5rem 0;display:grid;grid-template:"corrections" min-content "answers" min-content "sidebar" min-content "urls" 1fr "pagination" min-content / 100%;gap:0}#main_results div#results.only_template_images #sidebar{display:none}#main_results div#results.only_template_images #urls{margin:0;display:flex;flex-wrap:wrap}#main_results div#results.only_template_images #urls:after{flex-grow:10;content:""}#main_results div#results.only_template_images #backToTop{left:auto;right:1rem}#main_results div#results.only_template_images #pagination{margin-right:4rem}@media screen and (max-width: 50em){#links_on_top span{display:none}.page_with_header{margin:2rem .5rem;width:auto}#infoboxes{position:inherit;max-width:inherit}#infoboxes .infobox{clear:both}#infoboxes .infobox img{float:left;max-width:10em;margin:.5em .5em .5em 0}#sidebar{margin:0 .5rem .125rem;padding:0;float:none;border:none;width:auto}#sidebar input{border:0}.result .thumbnail{max-width:98%}.result .url span.url{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;width:100%}.result .engines{float:right;display:flex;flex-wrap:wrap;justify-content:flex-end;padding:3px 0 0}.result-images{border-bottom:none!important}.image_result,.image_result img{max-width:98%}#backToTop{display:none}#pagination{margin:2rem 0 0!important}#main_results div#results{margin:0 auto;justify-content:center;display:grid;grid-template:"corrections" min-content "answers" min-content "sidebar" min-content "urls" 1fr "pagination" min-content / 45rem;gap:0}html{background-color:var(--color-base-background-mobile)}#main_results div#results{grid-template-columns:100%;margin:0 auto}#links_on_top{top:1.4rem;right:10px}#main_index #links_on_top{top:.5rem;right:.5rem}#results{margin:0;padding:0}#pagination{margin:2rem 1rem 0!important}article[data-vim-selected]{border:1px solid var(--color-result-vim-arrow);border-radius:10px}.result{background:var(--color-result-background);border:1px solid var(--color-result-background);margin:1rem 2%;width:96%;border-radius:10px}.result-images{margin:0;height:10rem;background:var(--color-base-background-mobile);width:unset}.infobox{border:none!important;background-color:var(--color-sidebar-background)}.numbered_pagination{display:none}.result-paper .attributes,.result-packages .attributes,.result-paper .attributes div,.result-packages .attributes div{display:block}.result-paper .attributes div span,.result-packages .attributes div span{display:inline}.result-paper .attributes div span:first-child,.result-packages .attributes div span:first-child{font-weight:700}.result-paper .attributes div span:nth-child(2),.result-packages .attributes div span:nth-child(2){margin-left:.5rem}}@media screen and (max-width: 35em){.result-videos img.thumbnail{float:none!important}.result-videos .content{overflow:inherit}}pre code{white-space:pre-wrap}#main_results .result-keyvalue caption{padding:.8rem .5rem;font-style:italic;caption-side:bottom;background-color:var(--color-result-keyvalue-table)}#main_results .result-keyvalue .col-key{width:25%}#main_results .result-keyvalue table{word-break:break-word;table-layout:fixed;width:100%;background-color:var(--color-result-keyvalue-table)}#main_results .result-keyvalue tr.odd{background-color:var(--color-result-keyvalue-odd)}#main_results .result-keyvalue tr.even{background-color:var(--color-result-keyvalue-even)}#main_results .result-keyvalue th,#main_results .result-keyvalue td{padding:.3rem .5rem} diff --git a/searx/static/themes/simple/js/searxng.min.js b/searx/static/themes/simple/js/searxng.min.js index d76b50f21..bb1ea2079 100644 --- a/searx/static/themes/simple/js/searxng.min.js +++ b/searx/static/themes/simple/js/searxng.min.js @@ -3,5 +3,5 @@ * (C) Copyright Contributors to the SearXNG project. * (C) Copyright Contributors to the searx project (2014 - 2021). * SPDX-License-Identifier: AGPL-3.0-or-later - */window.searxng=function(p,d){p.Element&&function(i){i.matches=i.matches||i.matchesSelector||i.webkitMatchesSelector||i.msMatchesSelector||function(s){for(var l=this,n=(l.parentNode||l.document).querySelectorAll(s),e=-1;n[++e]&&n[e]!=l;);return!!n[e]}}(Element.prototype);function a(i,s,l){try{i.call(s,l)}catch(n){console.log(n)}}var h=window.searxng||{};h.on=function(i,s,l,n){n=n||!1,typeof i!="string"?i.addEventListener(s,l,n):d.addEventListener(s,function(e){for(var t=e.target||e.srcElement,o=!1;t&&t.matches&&t!==d&&!(o=t.matches(i));)t=t.parentElement;o&&a(l,t,e)},n)},h.ready=function(i){document.readyState!="loading"?i.call(p):p.addEventListener("DOMContentLoaded",i.bind(p))},h.http=function(i,s,l=null){return new Promise(function(n,e){try{var t=new XMLHttpRequest;t.open(i,s,!0),t.timeout=2e4,t.onload=function(){t.status==200?n(t.response,t.responseType):e(Error(t.statusText))},t.onerror=function(){e(Error("Network Error"))},t.onabort=function(){e(Error("Transaction is aborted"))},t.ontimeout=function(){e(Error("Timeout"))},l?t.send(l):t.send()}catch(o){e(o)}})},h.loadStyle=function(i){var s=h.settings.theme_static_path+"/"+i,l="style_"+i.replace(".","_"),n=d.getElementById(l);n===null&&(n=d.createElement("link"),n.setAttribute("id",l),n.setAttribute("rel","stylesheet"),n.setAttribute("type","text/css"),n.setAttribute("href",s),d.body.appendChild(n))},h.loadScript=function(i,s){var l=h.settings.theme_static_path+"/"+i,n="script_"+i.replace(".","_"),e=d.getElementById(n);if(e===null)e=d.createElement("script"),e.setAttribute("id",n),e.setAttribute("src",l),e.onload=s,e.onerror=function(){e.setAttribute("error","1")},d.body.appendChild(e);else if(e.hasAttribute("error"))console.log("callback not executed : script '"+l+"' not loaded.");else try{s.apply(e,[])}catch(t){console.log(t)}},h.insertBefore=function(i,s){s.parentNode.insertBefore(i,s)},h.insertAfter=function(i,s){s.parentNode.insertAfter(i,s.nextSibling)},h.on(".close","click",function(){this.parentNode.classList.add("invisible")});function m(){for(var i of d.getElementsByTagName("body")[0].classList.values())if(i.endsWith("_endpoint"))return i.split("_")[0];return""}return h.endpoint=m(),h}(window,document);searxng.ready(function(){if(searxng.infinite_scroll_supported="IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype,searxng.endpoint!=="results")return;if(!searxng.infinite_scroll_supported){console.log("IntersectionObserver not supported");return}let p=document;var d=p.getElementById("results").classList.contains("only_template_images");function a(){var i=p.createElement("div");return i.classList.add("loader"),i}function h(i,s){i.textContent="",s.forEach(l=>i.appendChild(l))}function m(i){var s=p.querySelector("#pagination form.next_page");if(s){h(p.querySelector("#pagination"),[a()]);var l=new FormData(s);searxng.http("POST",p.querySelector("#search").getAttribute("action"),l).then(function(n){var e=new DOMParser().parseFromString(n,"text/html"),t=e.querySelectorAll("#urls article"),o=e.querySelector("#pagination");p.querySelector("#pagination").remove(),t.length>0&&!d&&p.querySelector("#urls").appendChild(p.createElement("hr")),t.forEach(u=>{p.querySelector("#urls").appendChild(u)}),o&&(p.querySelector("#results").appendChild(o),i())}).catch(function(n){console.log(n);var e=p.createElement("div");e.textContent=searxng.settings.translations.error_loading_next_page,e.classList.add("dialog-error"),e.setAttribute("role","alert"),h(p.querySelector("#pagination"),[e])})}}if(searxng.settings.infinite_scroll&&searxng.infinite_scroll_supported){const i={rootMargin:"20rem"},s="article.result:last-child",l=new IntersectionObserver(n=>{const e=n[0];e.isIntersecting&&(l.unobserve(e.target),m(()=>l.observe(p.querySelector(s),i)))});l.observe(p.querySelector(s),i)}});searxng.ready(function(){function p(r){for(;r!==void 0;){if(r.classList.contains("detail"))return!0;if(r.classList.contains("result"))return!1;r=r.parentNode}return!1}function d(r){for(;r!==void 0;){if(r.classList.contains("result"))return r;r=r.parentNode}}function a(r){return r&&r.classList.contains("result-images")}searxng.on(".result","click",function(r){if(!p(r.target)){s(this)(!0,!0);let f=d(r.target);a(f)&&(r.preventDefault(),searxng.selectImage(f))}}),searxng.on(".result a","focus",function(r){if(!p(r.target)){let f=d(r.target);f&&f.getAttribute("data-vim-selected")===null&&s(f)(!0),a(f)&&searxng.selectImage(f)}},!0);var h={Escape:{key:"ESC",fun:n,des:"remove focus from the focused input",cat:"Control"},c:{key:"c",fun:T,des:"copy url of the selected result to the clipboard",cat:"Results"},h:{key:"h",fun:k,des:"toggle help window",cat:"Other"},i:{key:"i",fun:v,des:"focus on the search input",cat:"Control"},n:{key:"n",fun:t(),des:"go to next page",cat:"Results"},o:{key:"o",fun:b(!1),des:"open search result",cat:"Results"},p:{key:"p",fun:o(),des:"go to previous page",cat:"Results"},r:{key:"r",fun:l,des:"reload page from the server",cat:"Control"},t:{key:"t",fun:b(!0),des:"open the result in a new tab",cat:"Results"}},m={default:Object.assign({ArrowLeft:{key:"←",fun:s("up"),des:"select previous search result",cat:"Results"},ArrowRight:{key:"→",fun:s("down"),des:"select next search result",cat:"Results"}},h),vim:Object.assign({b:{key:"b",fun:c(-window.innerHeight),des:"scroll one page up",cat:"Navigation"},f:{key:"f",fun:c(window.innerHeight),des:"scroll one page down",cat:"Navigation"},u:{key:"u",fun:c(-window.innerHeight/2),des:"scroll half a page up",cat:"Navigation"},d:{key:"d",fun:c(window.innerHeight/2),des:"scroll half a page down",cat:"Navigation"},g:{key:"g",fun:y(-document.body.scrollHeight,"top"),des:"scroll to the top of the page",cat:"Navigation"},v:{key:"v",fun:y(document.body.scrollHeight,"bottom"),des:"scroll to the bottom of the page",cat:"Navigation"},k:{key:"k",fun:s("up"),des:"select previous search result",cat:"Results"},j:{key:"j",fun:s("down"),des:"select next search result",cat:"Results"},y:{key:"y",fun:T,des:"copy url of the selected result to the clipboard",cat:"Results"}},h)},i=m[searxng.settings.hotkeys]||m.default;searxng.on(document,"keydown",function(r){if(Object.prototype.hasOwnProperty.call(i,r.key)&&!r.ctrlKey&&!r.altKey&&!r.shiftKey&&!r.metaKey){var f=r.target.tagName.toLowerCase();r.key==="Escape"?i[r.key].fun(r):(r.target===document.body||f==="a"||f==="button")&&(r.preventDefault(),i[r.key].fun())}});function s(r){return function(f,S){var _=document.querySelector(".result[data-vim-selected]"),E=r;if(_===null){if(_=document.querySelector(".result"),_===null)return;(r==="down"||r==="up")&&(E=_)}var g,w=document.querySelectorAll(".result");if(w=Array.from(w),typeof E!="string")g=E;else switch(E){case"visible":for(var O=document.documentElement.scrollTop||document.body.scrollTop,x=O+document.documentElement.clientHeight,R=0;RO)break}break;case"down":g=w[w.indexOf(_)+1]||_;break;case"up":g=w[w.indexOf(_)-1]||_;break;case"bottom":g=w[w.length-1];break;case"top":default:g=w[0]}if(g){if(_.removeAttribute("data-vim-selected"),g.setAttribute("data-vim-selected","true"),!S){var D=g.querySelector("h3 a")||g.querySelector("a");D!==null&&D.focus()}f||u()}}}function l(){document.location.reload(!0)}function n(r){const f=r.target.tagName.toLowerCase();document.activeElement&&(f==="input"||f==="select"||f==="textarea")?document.activeElement.blur():searxng.closeDetail()}function e(r){return function(){var f=document.querySelector(r);f&&f.click()}}function t(){return e('nav#pagination .next_page button[type="submit"]')}function o(){return e('nav#pagination .previous_page button[type="submit"]')}function u(){var r=document.querySelector(".result[data-vim-selected]");if(r!==null){var f=document.documentElement.scrollTop||document.body.scrollTop,S=document.documentElement.clientHeight,_=r.offsetTop,E=_+r.clientHeight,g=120;if(r.previousElementSibling===null&&E_-g)window.scroll(window.scrollX,_-g);else{var w=f+S;w a")),f!==null){var S=f.getAttribute("href");r?window.open(S):window.location.href=S}}}function M(r){var f={};for(var S in i){var _=i[S];f[_.cat]=f[_.cat]||[],f[_.cat].push(_)}var E=Object.keys(f).sort(function(q,D){return f[D].length-f[q].length});if(E.length!==0){var g='×';g+="

How to navigate SearXNG with hotkeys

",g+="";for(var w=0;w"),g+="",(!R||x)&&(g+="")}g+="
",g+="

"+O[0].cat+"

",g+='
    ';for(var I in O)g+="
  • "+O[I].key+" "+O[I].des+"
  • ";g+="
",g+="
",r.innerHTML=g}}function k(){var r=document.querySelector("#vim-hotkeys-help");if(r==null){r=document.createElement("div"),r.id="vim-hotkeys-help",r.className="dialog-modal",M(r);var f=document.getElementsByTagName("body")[0];f.appendChild(r)}else{r.classList.toggle("invisible");return}}function T(){var r=document.querySelector(".result[data-vim-selected] h3 a");if(r===null)return;const f=r.getAttribute("href");navigator.clipboard.writeText(f)}searxng.scrollPageToSelected=u,searxng.selectNext=s("down"),searxng.selectPrevious=s("up")});(function(p,d,a){a.ready(function(){a.on(".searxng_init_map","click",function(h){this.classList.remove("searxng_init_map");var m=this.dataset.leafletTarget,i=parseFloat(this.dataset.mapLon),s=parseFloat(this.dataset.mapLat),l=parseFloat(this.dataset.mapZoom),n=JSON.parse(this.dataset.mapBoundingbox),e=JSON.parse(this.dataset.mapGeojson);a.loadStyle("css/leaflet.css"),a.loadScript("js/leaflet.js",function(){var t=null;if(n){var o=L.latLng(n[0],n[2]),u=L.latLng(n[1],n[3]);t=L.latLngBounds(o,u)}var c=L.map(m),y="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",v='Map data © OpenStreetMap contributors',b=new L.TileLayer(y,{minZoom:1,maxZoom:19,attribution:v}),M="https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png",k='Wikimedia maps | Maps data © OpenStreetMap contributors',T=new L.TileLayer(M,{minZoom:1,maxZoom:19,attribution:k});t?setTimeout(function(){c.fitBounds(t,{maxZoom:17})},0):i&&s&&(l?c.setView(new L.latLng(s,i),l):c.setView(new L.latLng(s,i),8)),c.addLayer(b);var r={"OSM Mapnik":b,"OSM Wikimedia":T};L.control.layers(r).addTo(c),e&&L.geoJson(e).addTo(c)}),h.preventDefault()})})})(window,document,window.searxng);(function(p,d,a){a.endpoint==="preferences"&&a.ready(function(){let h=null;function m(){h==null&&a.http("GET","engine_descriptions.json").then(function(t){h=JSON.parse(t);for(const[o,u]of Object.entries(h)){let c=d.querySelectorAll('[data-engine-name="'+o+'"] .engine-description');for(const y of c){let v=" ("+a.settings.translations.Source+": "+u[1]+")";y.innerHTML=u[0]+v}}})}for(const t of d.querySelectorAll("[data-engine-name]"))a.on(t,"mouseenter",m);const i=d.querySelectorAll(".enable-all-engines"),s=d.querySelectorAll(".disable-all-engines"),l=d.querySelectorAll("tbody input[type=checkbox][class~=checkbox-onoff]"),n=t=>{for(const o of l)o.offsetParent!==null&&(o.checked=!t)};for(const t of i)a.on(t,"click",()=>n(!0));for(const t of s)a.on(t,"click",()=>n(!1));const e=d.querySelector("#copy-hash");a.on(e,"click",t=>{t.preventDefault(),navigator.clipboard.writeText(e.dataset.hash),e.innerText=e.dataset.copiedText})})})(window,document,window.searxng);(function(p,d,a){a.endpoint==="results"&&a.ready(function(){d.querySelectorAll("#urls img").forEach(l=>l.addEventListener("error",()=>{l.src=window.searxng.settings.theme_static_path+"/img/img_load_error.svg"},{once:!0})),d.querySelector("#search_url button#copy_url")&&(d.querySelector("#search_url button#copy_url").style.display="block"),a.on(".btn-collapse","click",function(){var l=this.getAttribute("data-btn-text-collapsed"),n=this.getAttribute("data-btn-text-not-collapsed"),e=this.getAttribute("data-target"),t=d.querySelector(e),o=this.innerHTML;this.classList.contains("collapsed")?o=o.replace(l,n):o=o.replace(n,l),this.innerHTML=o,this.classList.toggle("collapsed"),t.classList.toggle("invisible")}),a.on(".media-loader","click",function(){var l=this.getAttribute("data-target"),n=d.querySelector(l+" > iframe"),e=n.getAttribute("src");(e==null||e===!1)&&n.setAttribute("src",n.getAttribute("data-src"))}),a.on("#copy_url","click",function(){var l=this.parentElement.querySelector("pre");navigator.clipboard.writeText(l.innerText),this.innerText=this.dataset.copiedText});let h;const m=d.createElement("div");m.classList.add("loader");const i=new Image,s=(l,n)=>{h&&clearTimeout(h),h=setTimeout(()=>{i.src=l},1e3),i.onload=()=>{n(),m.remove()},i.onerror=()=>{m.remove()}};a.selectImage=l=>{if(d.getElementById("results").classList.add("image-detail-open"),window.location.hash="#image-viewer",a.scrollPageToSelected(),!l)return;const n=l.querySelector(".result-images-source img");if(!n)return;const e=n.getAttribute("data-src");if(!e)return;const t=l.querySelector(".image_thumbnail");n.src=t.src,l.querySelector(".detail").appendChild(m),s(e,()=>{n.src=e,n.removeAttribute("data-src")})},a.closeDetail=function(){d.getElementById("results").classList.remove("image-detail-open"),window.location.hash=="#image-viewer"&&window.history.back(),a.scrollPageToSelected()},a.on(".result-detail-close","click",l=>{l.preventDefault(),a.closeDetail()}),a.on(".result-detail-previous","click",l=>{l.preventDefault(),a.selectPrevious(!1)}),a.on(".result-detail-next","click",l=>{l.preventDefault(),a.selectNext(!1)}),window.addEventListener("hashchange",()=>{window.location.hash!="#image-viewer"&&a.closeDetail()}),d.querySelectorAll(".swipe-horizontal").forEach(l=>{l.addEventListener("swiped-left",function(){a.selectNext(!1)}),l.addEventListener("swiped-right",function(){a.selectPrevious(!1)})}),p.addEventListener("scroll",function(){var l=d.getElementById("backToTop"),n=document.documentElement.scrollTop||document.body.scrollTop,e=d.getElementById("results");l!==null&&(n>=100?e.classList.add("scrolling"):e.classList.remove("scrolling"))},!0)})})(window,document,window.searxng);function P(p){return p&&p.__esModule&&Object.prototype.hasOwnProperty.call(p,"default")?p.default:p}function C(p){throw new Error('Could not dynamically require "'+p+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var N={exports:{}},H;function B(){return H||(H=1,function(p,d){(function(a){p.exports=a()})(function(){return function(){function a(h,m,i){function s(e,t){if(!m[e]){if(!h[e]){var o=typeof C=="function"&&C;if(!t&&o)return o(e,!0);if(l)return l(e,!0);var u=new Error("Cannot find module '"+e+"'");throw u.code="MODULE_NOT_FOUND",u}var c=m[e]={exports:{}};h[e][0].call(c.exports,function(y){var v=h[e][1][y];return s(v||y)},c,c.exports,a,h,m,i)}return m[e].exports}for(var l=typeof C=="function"&&C,n=0;n=b.From&&o.keyCode<=b.To?v=!b.Not:v=b.Not))};for(var c in n.prototype.getEventsByType(e,t)){var y=n.merge({Operator:i.AND},e.KeyboardMappings[c]),v=i.AND==y.Operator;y.Conditions.forEach(u),v===!0&&y.Callback.call(e,o)}},n.prototype.makeRequest=function(e,t,o){var u=Object.getOwnPropertyNames(e.HttpHeaders),c=new XMLHttpRequest,y=e._HttpMethod(),v=e._Url(),b=e._Pre(),M=encodeURIComponent(e._QueryArg())+"="+encodeURIComponent(b);y.match(/^GET$/i)&&(v.indexOf("?")!==-1?v+="&"+M:v+="?"+M),c.open(y,v,!0);for(var k=u.length-1;k>=0;k--)c.setRequestHeader(u[k],e.HttpHeaders[u[k]]);return c.onreadystatechange=function(){c.readyState==4&&c.status==200?(e.$Cache[b]=c.response,t(c.response)):c.status>=400&&o()},c},n.prototype.ajax=function(e,t,o){o===void 0&&(o=!0),e.$AjaxTimer&&window.clearTimeout(e.$AjaxTimer),o===!0?e.$AjaxTimer=window.setTimeout(n.prototype.ajax.bind(null,e,t,!1),e.Delay):(e.Request&&e.Request.abort(),e.Request=t,e.Request.send(e._QueryArg()+"="+e._Pre()))},n.prototype.cache=function(e,t,o){var u=e._Cache(e._Pre());if(u===void 0){var c=n.prototype.makeRequest(e,t,o);n.prototype.ajax(e,c)}else t(u)},n.prototype.destroy=function(e){for(var t in e.$Listeners)e.Input.removeEventListener(t,e.$Listeners[t]);e.DOMResults.parentNode.removeChild(e.DOMResults)},n.merge=function(){for(var e={},t,o=0;o"+e+""}},HttpHeaders:{"Content-type":"application/x-www-form-urlencoded"},Limit:0,MinChars:0,HttpMethod:"GET",QueryArg:"q",Url:null,KeyboardMappings:{Enter:{Conditions:[{Is:13,Not:!1}],Callback:function(e){if(this.DOMResults.getAttribute("class").indexOf("open")!=-1){var t=this.DOMResults.querySelector("li.active");t!==null&&(e.preventDefault(),this._Select(t),this.DOMResults.setAttribute("class","autocomplete"))}},Operator:i.AND,Event:s.KEYDOWN},KeyUpAndDown_down:{Conditions:[{Is:38,Not:!1},{Is:40,Not:!1}],Callback:function(e){e.preventDefault()},Operator:i.OR,Event:s.KEYDOWN},KeyUpAndDown_up:{Conditions:[{Is:38,Not:!1},{Is:40,Not:!1}],Callback:function(e){e.preventDefault();var t=this.DOMResults.querySelector("li:first-child:not(.locked)"),o=this.DOMResults.querySelector("li:last-child:not(.locked)"),u=this.DOMResults.querySelector("li.active");if(u){var c=Array.prototype.indexOf.call(u.parentNode.children,u),y=c+(e.keyCode-39),v=this.DOMResults.getElementsByTagName("li").length;y<0?y=v-1:y>=v&&(y=0),u.classList.remove("active"),u.parentElement.children.item(y).classList.add("active")}else o&&e.keyCode==38?o.classList.add("active"):t&&t.classList.add("active")},Operator:i.OR,Event:s.KEYUP},AlphaNum:{Conditions:[{Is:13,Not:!0},{From:35,To:40,Not:!0}],Callback:function(){var e=this.Input.getAttribute("data-autocomplete-old-value"),t=this._Pre();t!==""&&t.length>=this._MinChars()?((!e||t!=e)&&this.DOMResults.setAttribute("class","autocomplete open"),n.prototype.cache(this,(function(o){this._Render(this._Post(o)),this._Open()}).bind(this),this._Error)):this._Close()},Operator:i.AND,Event:s.KEYUP}},DOMResults:null,Request:null,Input:null,_EmptyMessage:function(){var e="";return this.Input.hasAttribute("data-autocomplete-empty-message")?e=this.Input.getAttribute("data-autocomplete-empty-message"):this.EmptyMessage!==!1?e=this.EmptyMessage:e="",e},_Limit:function(){var e=this.Input.getAttribute("data-autocomplete-limit");return isNaN(e)||e===null?this.Limit:parseInt(e,10)},_MinChars:function(){var e=this.Input.getAttribute("data-autocomplete-minchars");return isNaN(e)||e===null?this.MinChars:parseInt(e,10)},_Highlight:function(e){return e.replace(this.Highlight.getRegex(this._Pre()),this.Highlight.transform)},_HttpMethod:function(){return this.Input.hasAttribute("data-autocomplete-method")?this.Input.getAttribute("data-autocomplete-method"):this.HttpMethod},_QueryArg:function(){return this.Input.hasAttribute("data-autocomplete-param-name")?this.Input.getAttribute("data-autocomplete-param-name"):this.QueryArg},_Url:function(){return this.Input.hasAttribute("data-autocomplete")?this.Input.getAttribute("data-autocomplete"):this.Url},_Blur:function(e){if(e===void 0&&(e=!1),e)this._Close();else{var t=this;setTimeout(function(){t._Blur(!0)},150)}},_Cache:function(e){return this.$Cache[e]},_Focus:function(){var e=this.Input.getAttribute("data-autocomplete-old-value");(!e||this.Input.value!=e)&&this._MinChars()<=this.Input.value.length&&this.DOMResults.setAttribute("class","autocomplete open")},_Open:function(){var e=this;Array.prototype.forEach.call(this.DOMResults.getElementsByTagName("li"),function(t){t.getAttribute("class")!="locked"&&(t.onclick=function(){e._Select(t)})})},_Close:function(){this.DOMResults.setAttribute("class","autocomplete")},_Position:function(){this.DOMResults.setAttribute("class","autocomplete"),this.DOMResults.setAttribute("style","top:"+(this.Input.offsetTop+this.Input.offsetHeight)+"px;left:"+this.Input.offsetLeft+"px;width:"+this.Input.clientWidth+"px;")},_Render:function(e){var t;typeof e=="string"?t=this._RenderRaw(e):t=this._RenderResponseItems(e),this.DOMResults.hasChildNodes()&&this.DOMResults.removeChild(this.DOMResults.childNodes[0]),this.DOMResults.appendChild(t)},_RenderResponseItems:function(e){var t=document.createElement("ul"),o=document.createElement("li"),u=this._Limit();u<0?e=e.reverse():u===0&&(u=e.length);for(var c=0;c0)this.DOMResults.innerHTML=e;else{var u=this._EmptyMessage();u!==""&&(o.innerHTML=u,o.setAttribute("class","locked"),t.appendChild(o))}return t},_Post:function(e){try{var t=[],o=JSON.parse(e);if(Object.keys(o).length===0)return"";if(Array.isArray(o))for(var u=0;u0){var n=document.getElementById("search");setTimeout(n.submit.bind(n),0)}}function l(n){var e=document.getElementById("clear_search"),t=function(){n.value.length===0?e.classList.add("empty"):e.classList.remove("empty")};t(),e.addEventListener("click",function(o){n.value="",n.focus(),t(),o.preventDefault()}),n.addEventListener("input",t,!1)}a.ready(function(){m=d.getElementById(h),m!==null&&(l(m),a.settings.autocomplete&&(a.autocomplete=A.call(p,{Url:"./autocompleter",EmptyMessage:a.settings.translations.no_item_found,HttpMethod:a.settings.method,HttpHeaders:{"Content-type":"application/x-www-form-urlencoded","X-Requested-With":"XMLHttpRequest"},MinChars:a.settings.autocomplete_min,Delay:300,_Position:function(){},_Open:function(){var t=this;Array.prototype.forEach.call(this.DOMResults.getElementsByTagName("li"),function(o){o.getAttribute("class")!="locked"&&(o.onmousedown=function(){t._Select(o)})})},_Select:function(t){A.defaults._Select.call(this,t);var o=t.closest("form");o&&o.submit()},_MinChars:function(){return this.Input.value.indexOf("!")>-1?0:A.defaults._MinChars.call(this)},KeyboardMappings:Object.assign({},A.defaults.KeyboardMappings,{KeyUpAndDown_up:Object.assign({},A.defaults.KeyboardMappings.KeyUpAndDown_up,{Callback:function(t){A.defaults.KeyboardMappings.KeyUpAndDown_up.Callback.call(this,t);var o=this.DOMResults.querySelector("li.active");o&&A.defaults._Select.call(this,o)}}),Tab:Object.assign({},A.defaults.KeyboardMappings.Enter,{Conditions:[{Is:9,Not:!1}],Callback:function(t){if(this.DOMResults.getAttribute("class").indexOf("open")!=-1){var o=this.DOMResults.querySelector("li.active");o!==null&&(A.defaults._Select.call(this,o),t.preventDefault())}}})})},"#"+h)),A.prototype.ajax=function(t,o,u){u===void 0&&(u=!0),t.$AjaxTimer&&window.clearTimeout(t.$AjaxTimer),u===!0?t.$AjaxTimer=window.setTimeout(A.prototype.ajax.bind(null,t,o,!1),t.Delay):(t.Request&&t.Request.abort(),t.Request=o,t.Request.send(encodeURIComponent(t._QueryArg())+"="+encodeURIComponent(t._Pre())))},!i&&document.querySelector(".index_endpoint")&&m.focus()),m!==null&&a.settings.search_on_category_select&&d.querySelector(".search_filters")!=null&&(a.on(d.getElementById("safesearch"),"change",s),a.on(d.getElementById("time_range"),"change",s),a.on(d.getElementById("language"),"change",s));const n=d.querySelectorAll("button.category_button");for(let t of n)a.on(t,"click",o=>{if(o.shiftKey){o.preventDefault(),t.classList.toggle("selected");return}const u=d.querySelectorAll("button.category_button.selected");for(let c of u)c.classList.remove("selected");t.classList.add("selected")});const e=d.querySelector("#search");e!=null&&a.on(e,"submit",t=>{t.preventDefault();const o=d.querySelector("#selected-categories");if(o){let u=[];for(let c of n)c.classList.contains("selected")&&u.push(c.name.replace("category_",""));o.value=u.join(",")}e.submit()})})})(window,document,window.searxng); + */window.searxng=function(p,d){p.Element&&function(i){i.matches=i.matches||i.matchesSelector||i.webkitMatchesSelector||i.msMatchesSelector||function(s){for(var l=this,o=(l.parentNode||l.document).querySelectorAll(s),e=-1;o[++e]&&o[e]!=l;);return!!o[e]}}(Element.prototype);function u(i,s,l){try{i.call(s,l)}catch(o){console.log(o)}}var h=window.searxng||{};h.on=function(i,s,l,o){o=o||!1,typeof i!="string"?i.addEventListener(s,l,o):d.addEventListener(s,function(e){for(var t=e.target||e.srcElement,n=!1;t&&t.matches&&t!==d&&!(n=t.matches(i));)t=t.parentElement;n&&u(l,t,e)},o)},h.ready=function(i){document.readyState!="loading"?i.call(p):p.addEventListener("DOMContentLoaded",i.bind(p))},h.http=function(i,s,l=null){return new Promise(function(o,e){try{var t=new XMLHttpRequest;t.open(i,s,!0),t.timeout=2e4,t.onload=function(){t.status==200?o(t.response,t.responseType):e(Error(t.statusText))},t.onerror=function(){e(Error("Network Error"))},t.onabort=function(){e(Error("Transaction is aborted"))},t.ontimeout=function(){e(Error("Timeout"))},l?t.send(l):t.send()}catch(n){e(n)}})},h.loadStyle=function(i){var s=h.settings.theme_static_path+"/"+i,l="style_"+i.replace(".","_"),o=d.getElementById(l);o===null&&(o=d.createElement("link"),o.setAttribute("id",l),o.setAttribute("rel","stylesheet"),o.setAttribute("type","text/css"),o.setAttribute("href",s),d.body.appendChild(o))},h.loadScript=function(i,s){var l=h.settings.theme_static_path+"/"+i,o="script_"+i.replace(".","_"),e=d.getElementById(o);if(e===null)e=d.createElement("script"),e.setAttribute("id",o),e.setAttribute("src",l),e.onload=s,e.onerror=function(){e.setAttribute("error","1")},d.body.appendChild(e);else if(e.hasAttribute("error"))console.log("callback not executed : script '"+l+"' not loaded.");else try{s.apply(e,[])}catch(t){console.log(t)}},h.insertBefore=function(i,s){s.parentNode.insertBefore(i,s)},h.insertAfter=function(i,s){s.parentNode.insertAfter(i,s.nextSibling)},h.on(".close","click",function(){this.parentNode.classList.add("invisible")});function m(){for(var i of d.getElementsByTagName("body")[0].classList.values())if(i.endsWith("_endpoint"))return i.split("_")[0];return""}return h.endpoint=m(),h}(window,document);searxng.ready(function(){if(searxng.infinite_scroll_supported="IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype,searxng.endpoint!=="results")return;if(!searxng.infinite_scroll_supported){console.log("IntersectionObserver not supported");return}let p=document;var d=p.getElementById("results").classList.contains("only_template_images");function u(){var i=p.createElement("div");return i.classList.add("loader"),i}function h(i,s){i.textContent="",s.forEach(l=>i.appendChild(l))}function m(i){var s=p.querySelector("#pagination form.next_page");if(s){h(p.querySelector("#pagination"),[u()]);var l=new FormData(s);searxng.http("POST",p.querySelector("#search").getAttribute("action"),l).then(function(o){var e=new DOMParser().parseFromString(o,"text/html"),t=e.querySelectorAll("#urls article"),n=e.querySelector("#pagination");p.querySelector("#pagination").remove(),t.length>0&&!d&&p.querySelector("#urls").appendChild(p.createElement("hr")),t.forEach(a=>{p.querySelector("#urls").appendChild(a)}),n&&(p.querySelector("#results").appendChild(n),i())}).catch(function(o){console.log(o);var e=p.createElement("div");e.textContent=searxng.settings.translations.error_loading_next_page,e.classList.add("dialog-error"),e.setAttribute("role","alert"),h(p.querySelector("#pagination"),[e])})}}if(searxng.settings.infinite_scroll&&searxng.infinite_scroll_supported){const i={rootMargin:"20rem"},s="article.result:last-child",l=new IntersectionObserver(o=>{const e=o[0];e.isIntersecting&&(l.unobserve(e.target),m(()=>l.observe(p.querySelector(s),i)))});l.observe(p.querySelector(s),i)}});searxng.ready(function(){function p(r){for(;r!==void 0;){if(r.classList.contains("detail"))return!0;if(r.classList.contains("result"))return!1;r=r.parentNode}return!1}function d(r){for(;r!==void 0;){if(r.classList.contains("result"))return r;r=r.parentNode}}function u(r){return r&&r.classList.contains("result-images")}searxng.on(".result","click",function(r){if(!p(r.target)){s(this)(!0,!0);let f=d(r.target);u(f)&&(r.preventDefault(),searxng.selectImage(f))}}),searxng.on(".result a","focus",function(r){if(!p(r.target)){let f=d(r.target);f&&f.getAttribute("data-vim-selected")===null&&s(f)(!0),u(f)&&searxng.selectImage(f)}},!0);var h={Escape:{key:"ESC",fun:o,des:"remove focus from the focused input",cat:"Control"},c:{key:"c",fun:T,des:"copy url of the selected result to the clipboard",cat:"Results"},h:{key:"h",fun:S,des:"toggle help window",cat:"Other"},i:{key:"i",fun:v,des:"focus on the search input",cat:"Control"},n:{key:"n",fun:t(),des:"go to next page",cat:"Results"},o:{key:"o",fun:b(!1),des:"open search result",cat:"Results"},p:{key:"p",fun:n(),des:"go to previous page",cat:"Results"},r:{key:"r",fun:l,des:"reload page from the server",cat:"Control"},t:{key:"t",fun:b(!0),des:"open the result in a new tab",cat:"Results"}},m={default:Object.assign({ArrowLeft:{key:"←",fun:s("up"),des:"select previous search result",cat:"Results"},ArrowRight:{key:"→",fun:s("down"),des:"select next search result",cat:"Results"}},h),vim:Object.assign({b:{key:"b",fun:c(-window.innerHeight),des:"scroll one page up",cat:"Navigation"},f:{key:"f",fun:c(window.innerHeight),des:"scroll one page down",cat:"Navigation"},u:{key:"u",fun:c(-window.innerHeight/2),des:"scroll half a page up",cat:"Navigation"},d:{key:"d",fun:c(window.innerHeight/2),des:"scroll half a page down",cat:"Navigation"},g:{key:"g",fun:y(-document.body.scrollHeight,"top"),des:"scroll to the top of the page",cat:"Navigation"},v:{key:"v",fun:y(document.body.scrollHeight,"bottom"),des:"scroll to the bottom of the page",cat:"Navigation"},k:{key:"k",fun:s("up"),des:"select previous search result",cat:"Results"},j:{key:"j",fun:s("down"),des:"select next search result",cat:"Results"},y:{key:"y",fun:T,des:"copy url of the selected result to the clipboard",cat:"Results"}},h)},i=m[searxng.settings.hotkeys]||m.default;searxng.on(document,"keydown",function(r){if(Object.prototype.hasOwnProperty.call(i,r.key)&&!r.ctrlKey&&!r.altKey&&!r.shiftKey&&!r.metaKey){var f=r.target.tagName.toLowerCase();r.key==="Escape"?i[r.key].fun(r):(r.target===document.body||f==="a"||f==="button")&&(r.preventDefault(),i[r.key].fun())}});function s(r){return function(f,k){var _=document.querySelector(".result[data-vim-selected]"),E=r;if(_===null){if(_=document.querySelector(".result"),_===null)return;(r==="down"||r==="up")&&(E=_)}var g,w=document.querySelectorAll(".result");if(w=Array.from(w),typeof E!="string")g=E;else switch(E){case"visible":for(var O=document.documentElement.scrollTop||document.body.scrollTop,x=O+document.documentElement.clientHeight,R=0;RO)break}break;case"down":g=w[w.indexOf(_)+1]||_;break;case"up":g=w[w.indexOf(_)-1]||_;break;case"bottom":g=w[w.length-1];break;case"top":default:g=w[0]}if(g){if(_.removeAttribute("data-vim-selected"),g.setAttribute("data-vim-selected","true"),!k){var D=g.querySelector("h3 a")||g.querySelector("a");D!==null&&D.focus()}f||a()}}}function l(){document.location.reload(!0)}function o(r){const f=r.target.tagName.toLowerCase();document.activeElement&&(f==="input"||f==="select"||f==="textarea")?document.activeElement.blur():searxng.closeDetail()}function e(r){return function(){var f=document.querySelector(r);f&&f.click()}}function t(){return e('nav#pagination .next_page button[type="submit"]')}function n(){return e('nav#pagination .previous_page button[type="submit"]')}function a(){var r=document.querySelector(".result[data-vim-selected]");if(r!==null){var f=document.documentElement.scrollTop||document.body.scrollTop,k=document.documentElement.clientHeight,_=r.offsetTop,E=_+r.clientHeight,g=120;if(r.previousElementSibling===null&&E_-g)window.scroll(window.scrollX,_-g);else{var w=f+k;w a")),f!==null){var k=f.getAttribute("href");r?window.open(k):window.location.href=k}}}function M(r){var f={};for(var k in i){var _=i[k];f[_.cat]=f[_.cat]||[],f[_.cat].push(_)}var E=Object.keys(f).sort(function(q,D){return f[D].length-f[q].length});if(E.length!==0){var g='×';g+="

How to navigate SearXNG with hotkeys

",g+="";for(var w=0;w"),g+="",(!R||x)&&(g+="")}g+="
",g+="

"+O[0].cat+"

",g+='
    ';for(var I in O)g+="
  • "+O[I].key+" "+O[I].des+"
  • ";g+="
",g+="
",r.innerHTML=g}}function S(){var r=document.querySelector("#vim-hotkeys-help");if(r==null){r=document.createElement("div"),r.id="vim-hotkeys-help",r.className="dialog-modal",M(r);var f=document.getElementsByTagName("body")[0];f.appendChild(r)}else{r.classList.toggle("invisible");return}}function T(){var r=document.querySelector(".result[data-vim-selected] h3 a");if(r===null)return;const f=r.getAttribute("href");navigator.clipboard.writeText(f)}searxng.scrollPageToSelected=a,searxng.selectNext=s("down"),searxng.selectPrevious=s("up")});(function(p,d,u){u.ready(function(){u.on(".searxng_init_map","click",function(h){this.classList.remove("searxng_init_map");var m=this.dataset.leafletTarget,i=parseFloat(this.dataset.mapLon),s=parseFloat(this.dataset.mapLat),l=parseFloat(this.dataset.mapZoom),o=JSON.parse(this.dataset.mapBoundingbox),e=JSON.parse(this.dataset.mapGeojson);u.loadStyle("css/leaflet.css"),u.loadScript("js/leaflet.js",function(){var t=null;if(o){var n=L.latLng(o[0],o[2]),a=L.latLng(o[1],o[3]);t=L.latLngBounds(n,a)}var c=L.map(m),y="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",v='Map data © OpenStreetMap contributors',b=new L.TileLayer(y,{minZoom:1,maxZoom:19,attribution:v}),M="https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png",S='Wikimedia maps | Maps data © OpenStreetMap contributors',T=new L.TileLayer(M,{minZoom:1,maxZoom:19,attribution:S});t?setTimeout(function(){c.fitBounds(t,{maxZoom:17})},0):i&&s&&(l?c.setView(new L.latLng(s,i),l):c.setView(new L.latLng(s,i),8)),c.addLayer(b);var r={"OSM Mapnik":b,"OSM Wikimedia":T};L.control.layers(r).addTo(c),e&&L.geoJson(e).addTo(c)}),h.preventDefault()})})})(window,document,window.searxng);(function(p,d,u){u.endpoint==="preferences"&&u.ready(function(){let h=null;function m(){h==null&&u.http("GET","engine_descriptions.json").then(function(n){h=JSON.parse(n);for(const[a,c]of Object.entries(h)){let y=d.querySelectorAll('[data-engine-name="'+a+'"] .engine-description');for(const v of y){let b=" ("+u.settings.translations.Source+": "+c[1]+")";v.innerHTML=c[0]+b}}})}function i(n,a){u.on(n,"keyup",c=>{c.code=="Enter"&&a()})}for(const n of d.querySelectorAll('[role="tab"],input[type=checkbox][class~=checkbox-onoff],.category_label'))i(n,()=>{n.click()});for(const n of d.querySelectorAll("[data-engine-name]"))u.on(n,"mouseenter",m);const s=d.querySelectorAll(".enable-all-engines"),l=d.querySelectorAll(".disable-all-engines"),o=d.querySelectorAll("tbody input[type=checkbox][class~=checkbox-onoff]"),e=n=>{for(const a of o)a.offsetParent!==null&&(a.checked=!n)};for(const n of s)u.on(n,"click",()=>e(!0));for(const n of l)u.on(n,"click",()=>e(!1));const t=d.querySelector("#copy-hash");u.on(t,"click",n=>{n.preventDefault(),navigator.clipboard.writeText(t.dataset.hash),t.innerText=t.dataset.copiedText})})})(window,document,window.searxng);(function(p,d,u){u.endpoint==="results"&&u.ready(function(){d.querySelectorAll("#urls img").forEach(l=>l.addEventListener("error",()=>{l.src=window.searxng.settings.theme_static_path+"/img/img_load_error.svg"},{once:!0})),d.querySelector("#search_url button#copy_url")&&(d.querySelector("#search_url button#copy_url").style.display="block"),u.on(".btn-collapse","click",function(){var l=this.getAttribute("data-btn-text-collapsed"),o=this.getAttribute("data-btn-text-not-collapsed"),e=this.getAttribute("data-target"),t=d.querySelector(e),n=this.innerHTML;this.classList.contains("collapsed")?n=n.replace(l,o):n=n.replace(o,l),this.innerHTML=n,this.classList.toggle("collapsed"),t.classList.toggle("invisible")}),u.on(".media-loader","click",function(){var l=this.getAttribute("data-target"),o=d.querySelector(l+" > iframe"),e=o.getAttribute("src");(e==null||e===!1)&&o.setAttribute("src",o.getAttribute("data-src"))}),u.on("#copy_url","click",function(){var l=this.parentElement.querySelector("pre");navigator.clipboard.writeText(l.innerText),this.innerText=this.dataset.copiedText});let h;const m=d.createElement("div");m.classList.add("loader");const i=new Image,s=(l,o)=>{h&&clearTimeout(h),h=setTimeout(()=>{i.src=l},1e3),i.onload=()=>{o(),m.remove()},i.onerror=()=>{m.remove()}};u.selectImage=l=>{if(d.getElementById("results").classList.add("image-detail-open"),window.location.hash="#image-viewer",u.scrollPageToSelected(),!l)return;const o=l.querySelector(".result-images-source img");if(!o)return;const e=o.getAttribute("data-src");if(!e)return;const t=l.querySelector(".image_thumbnail");o.src=t.src,l.querySelector(".detail").appendChild(m),s(e,()=>{o.src=e,o.removeAttribute("data-src")})},u.closeDetail=function(){d.getElementById("results").classList.remove("image-detail-open"),window.location.hash=="#image-viewer"&&window.history.back(),u.scrollPageToSelected()},u.on(".result-detail-close","click",l=>{l.preventDefault(),u.closeDetail()}),u.on(".result-detail-previous","click",l=>{l.preventDefault(),u.selectPrevious(!1)}),u.on(".result-detail-next","click",l=>{l.preventDefault(),u.selectNext(!1)}),window.addEventListener("hashchange",()=>{window.location.hash!="#image-viewer"&&u.closeDetail()}),d.querySelectorAll(".swipe-horizontal").forEach(l=>{l.addEventListener("swiped-left",function(){u.selectNext(!1)}),l.addEventListener("swiped-right",function(){u.selectPrevious(!1)})}),p.addEventListener("scroll",function(){var l=d.getElementById("backToTop"),o=document.documentElement.scrollTop||document.body.scrollTop,e=d.getElementById("results");l!==null&&(o>=100?e.classList.add("scrolling"):e.classList.remove("scrolling"))},!0)})})(window,document,window.searxng);function P(p){return p&&p.__esModule&&Object.prototype.hasOwnProperty.call(p,"default")?p.default:p}function C(p){throw new Error('Could not dynamically require "'+p+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var N={exports:{}},H;function B(){return H||(H=1,function(p,d){(function(u){p.exports=u()})(function(){return function(){function u(h,m,i){function s(e,t){if(!m[e]){if(!h[e]){var n=typeof C=="function"&&C;if(!t&&n)return n(e,!0);if(l)return l(e,!0);var a=new Error("Cannot find module '"+e+"'");throw a.code="MODULE_NOT_FOUND",a}var c=m[e]={exports:{}};h[e][0].call(c.exports,function(y){var v=h[e][1][y];return s(v||y)},c,c.exports,u,h,m,i)}return m[e].exports}for(var l=typeof C=="function"&&C,o=0;o=b.From&&n.keyCode<=b.To?v=!b.Not:v=b.Not))};for(var c in o.prototype.getEventsByType(e,t)){var y=o.merge({Operator:i.AND},e.KeyboardMappings[c]),v=i.AND==y.Operator;y.Conditions.forEach(a),v===!0&&y.Callback.call(e,n)}},o.prototype.makeRequest=function(e,t,n){var a=Object.getOwnPropertyNames(e.HttpHeaders),c=new XMLHttpRequest,y=e._HttpMethod(),v=e._Url(),b=e._Pre(),M=encodeURIComponent(e._QueryArg())+"="+encodeURIComponent(b);y.match(/^GET$/i)&&(v.indexOf("?")!==-1?v+="&"+M:v+="?"+M),c.open(y,v,!0);for(var S=a.length-1;S>=0;S--)c.setRequestHeader(a[S],e.HttpHeaders[a[S]]);return c.onreadystatechange=function(){c.readyState==4&&c.status==200?(e.$Cache[b]=c.response,t(c.response)):c.status>=400&&n()},c},o.prototype.ajax=function(e,t,n){n===void 0&&(n=!0),e.$AjaxTimer&&window.clearTimeout(e.$AjaxTimer),n===!0?e.$AjaxTimer=window.setTimeout(o.prototype.ajax.bind(null,e,t,!1),e.Delay):(e.Request&&e.Request.abort(),e.Request=t,e.Request.send(e._QueryArg()+"="+e._Pre()))},o.prototype.cache=function(e,t,n){var a=e._Cache(e._Pre());if(a===void 0){var c=o.prototype.makeRequest(e,t,n);o.prototype.ajax(e,c)}else t(a)},o.prototype.destroy=function(e){for(var t in e.$Listeners)e.Input.removeEventListener(t,e.$Listeners[t]);e.DOMResults.parentNode.removeChild(e.DOMResults)},o.merge=function(){for(var e={},t,n=0;n"+e+""}},HttpHeaders:{"Content-type":"application/x-www-form-urlencoded"},Limit:0,MinChars:0,HttpMethod:"GET",QueryArg:"q",Url:null,KeyboardMappings:{Enter:{Conditions:[{Is:13,Not:!1}],Callback:function(e){if(this.DOMResults.getAttribute("class").indexOf("open")!=-1){var t=this.DOMResults.querySelector("li.active");t!==null&&(e.preventDefault(),this._Select(t),this.DOMResults.setAttribute("class","autocomplete"))}},Operator:i.AND,Event:s.KEYDOWN},KeyUpAndDown_down:{Conditions:[{Is:38,Not:!1},{Is:40,Not:!1}],Callback:function(e){e.preventDefault()},Operator:i.OR,Event:s.KEYDOWN},KeyUpAndDown_up:{Conditions:[{Is:38,Not:!1},{Is:40,Not:!1}],Callback:function(e){e.preventDefault();var t=this.DOMResults.querySelector("li:first-child:not(.locked)"),n=this.DOMResults.querySelector("li:last-child:not(.locked)"),a=this.DOMResults.querySelector("li.active");if(a){var c=Array.prototype.indexOf.call(a.parentNode.children,a),y=c+(e.keyCode-39),v=this.DOMResults.getElementsByTagName("li").length;y<0?y=v-1:y>=v&&(y=0),a.classList.remove("active"),a.parentElement.children.item(y).classList.add("active")}else n&&e.keyCode==38?n.classList.add("active"):t&&t.classList.add("active")},Operator:i.OR,Event:s.KEYUP},AlphaNum:{Conditions:[{Is:13,Not:!0},{From:35,To:40,Not:!0}],Callback:function(){var e=this.Input.getAttribute("data-autocomplete-old-value"),t=this._Pre();t!==""&&t.length>=this._MinChars()?((!e||t!=e)&&this.DOMResults.setAttribute("class","autocomplete open"),o.prototype.cache(this,(function(n){this._Render(this._Post(n)),this._Open()}).bind(this),this._Error)):this._Close()},Operator:i.AND,Event:s.KEYUP}},DOMResults:null,Request:null,Input:null,_EmptyMessage:function(){var e="";return this.Input.hasAttribute("data-autocomplete-empty-message")?e=this.Input.getAttribute("data-autocomplete-empty-message"):this.EmptyMessage!==!1?e=this.EmptyMessage:e="",e},_Limit:function(){var e=this.Input.getAttribute("data-autocomplete-limit");return isNaN(e)||e===null?this.Limit:parseInt(e,10)},_MinChars:function(){var e=this.Input.getAttribute("data-autocomplete-minchars");return isNaN(e)||e===null?this.MinChars:parseInt(e,10)},_Highlight:function(e){return e.replace(this.Highlight.getRegex(this._Pre()),this.Highlight.transform)},_HttpMethod:function(){return this.Input.hasAttribute("data-autocomplete-method")?this.Input.getAttribute("data-autocomplete-method"):this.HttpMethod},_QueryArg:function(){return this.Input.hasAttribute("data-autocomplete-param-name")?this.Input.getAttribute("data-autocomplete-param-name"):this.QueryArg},_Url:function(){return this.Input.hasAttribute("data-autocomplete")?this.Input.getAttribute("data-autocomplete"):this.Url},_Blur:function(e){if(e===void 0&&(e=!1),e)this._Close();else{var t=this;setTimeout(function(){t._Blur(!0)},150)}},_Cache:function(e){return this.$Cache[e]},_Focus:function(){var e=this.Input.getAttribute("data-autocomplete-old-value");(!e||this.Input.value!=e)&&this._MinChars()<=this.Input.value.length&&this.DOMResults.setAttribute("class","autocomplete open")},_Open:function(){var e=this;Array.prototype.forEach.call(this.DOMResults.getElementsByTagName("li"),function(t){t.getAttribute("class")!="locked"&&(t.onclick=function(){e._Select(t)})})},_Close:function(){this.DOMResults.setAttribute("class","autocomplete")},_Position:function(){this.DOMResults.setAttribute("class","autocomplete"),this.DOMResults.setAttribute("style","top:"+(this.Input.offsetTop+this.Input.offsetHeight)+"px;left:"+this.Input.offsetLeft+"px;width:"+this.Input.clientWidth+"px;")},_Render:function(e){var t;typeof e=="string"?t=this._RenderRaw(e):t=this._RenderResponseItems(e),this.DOMResults.hasChildNodes()&&this.DOMResults.removeChild(this.DOMResults.childNodes[0]),this.DOMResults.appendChild(t)},_RenderResponseItems:function(e){var t=document.createElement("ul"),n=document.createElement("li"),a=this._Limit();a<0?e=e.reverse():a===0&&(a=e.length);for(var c=0;c0)this.DOMResults.innerHTML=e;else{var a=this._EmptyMessage();a!==""&&(n.innerHTML=a,n.setAttribute("class","locked"),t.appendChild(n))}return t},_Post:function(e){try{var t=[],n=JSON.parse(e);if(Object.keys(n).length===0)return"";if(Array.isArray(n))for(var a=0;a0){var o=document.getElementById("search");setTimeout(o.submit.bind(o),0)}}function l(o){var e=document.getElementById("clear_search"),t=function(){o.value.length===0?e.classList.add("empty"):e.classList.remove("empty")};t(),e.addEventListener("click",function(n){o.value="",o.focus(),t(),n.preventDefault()}),o.addEventListener("input",t,!1)}u.ready(function(){m=d.getElementById(h),m!==null&&(l(m),u.settings.autocomplete&&(u.autocomplete=A.call(p,{Url:"./autocompleter",EmptyMessage:u.settings.translations.no_item_found,HttpMethod:u.settings.method,HttpHeaders:{"Content-type":"application/x-www-form-urlencoded","X-Requested-With":"XMLHttpRequest"},MinChars:u.settings.autocomplete_min,Delay:300,_Position:function(){},_Open:function(){var t=this;Array.prototype.forEach.call(this.DOMResults.getElementsByTagName("li"),function(n){n.getAttribute("class")!="locked"&&(n.onmousedown=function(){t._Select(n)})})},_Select:function(t){A.defaults._Select.call(this,t);var n=t.closest("form");n&&n.submit()},_MinChars:function(){return this.Input.value.indexOf("!")>-1?0:A.defaults._MinChars.call(this)},KeyboardMappings:Object.assign({},A.defaults.KeyboardMappings,{KeyUpAndDown_up:Object.assign({},A.defaults.KeyboardMappings.KeyUpAndDown_up,{Callback:function(t){A.defaults.KeyboardMappings.KeyUpAndDown_up.Callback.call(this,t);var n=this.DOMResults.querySelector("li.active");n&&A.defaults._Select.call(this,n)}}),Tab:Object.assign({},A.defaults.KeyboardMappings.Enter,{Conditions:[{Is:9,Not:!1}],Callback:function(t){if(this.DOMResults.getAttribute("class").indexOf("open")!=-1){var n=this.DOMResults.querySelector("li.active");n!==null&&(A.defaults._Select.call(this,n),t.preventDefault())}}})})},"#"+h)),A.prototype.ajax=function(t,n,a){a===void 0&&(a=!0),t.$AjaxTimer&&window.clearTimeout(t.$AjaxTimer),a===!0?t.$AjaxTimer=window.setTimeout(A.prototype.ajax.bind(null,t,n,!1),t.Delay):(t.Request&&t.Request.abort(),t.Request=n,t.Request.send(encodeURIComponent(t._QueryArg())+"="+encodeURIComponent(t._Pre())))},!i&&document.querySelector(".index_endpoint")&&m.focus()),m!==null&&u.settings.search_on_category_select&&d.querySelector(".search_filters")!=null&&(u.on(d.getElementById("safesearch"),"change",s),u.on(d.getElementById("time_range"),"change",s),u.on(d.getElementById("language"),"change",s));const o=d.querySelectorAll("button.category_button");for(let t of o)u.on(t,"click",n=>{if(n.shiftKey){n.preventDefault(),t.classList.toggle("selected");return}const a=d.querySelectorAll("button.category_button.selected");for(let c of a)c.classList.remove("selected");t.classList.add("selected")});const e=d.querySelector("#search");e!=null&&u.on(e,"submit",t=>{t.preventDefault();const n=d.querySelector("#selected-categories");if(n){let a=[];for(let c of o)c.classList.contains("selected")&&a.push(c.name.replace("category_",""));n.value=a.join(",")}e.submit()})})})(window,document,window.searxng); //# sourceMappingURL=searxng.min.js.map diff --git a/searx/static/themes/simple/js/searxng.min.js.map b/searx/static/themes/simple/js/searxng.min.js.map index 2d2334a4a..c6cb44624 100644 --- a/searx/static/themes/simple/js/searxng.min.js.map +++ b/searx/static/themes/simple/js/searxng.min.js.map @@ -1 +1 @@ -{"version":3,"file":"searxng.min.js","sources":["../../../../../client/simple/src/js/main/00_toolkit.js","../../../../../client/simple/src/js/main/infinite_scroll.js","../../../../../client/simple/src/js/main/keyboard.js","../../../../../client/simple/src/js/main/mapresult.js","../../../../../client/simple/src/js/main/preferences.js","../../../../../client/simple/src/js/main/results.js","../../../../../client/simple/node_modules/autocomplete-js/dist/autocomplete.js","../../../../../client/simple/src/js/main/search.js"],"sourcesContent":["/**\n * @license\n * (C) Copyright Contributors to the SearXNG project.\n * (C) Copyright Contributors to the searx project (2014 - 2021).\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nwindow.searxng = (function (w, d) {\n\n 'use strict';\n\n // not invented here toolkit with bugs fixed elsewhere\n // purposes : be just good enough and as small as possible\n\n // from https://plainjs.com/javascript/events/live-binding-event-handlers-14/\n if (w.Element) {\n (function (ElementPrototype) {\n ElementPrototype.matches = ElementPrototype.matches ||\n ElementPrototype.matchesSelector ||\n ElementPrototype.webkitMatchesSelector ||\n ElementPrototype.msMatchesSelector ||\n function (selector) {\n var node = this, nodes = (node.parentNode || node.document).querySelectorAll(selector), i = -1;\n while (nodes[++i] && nodes[i] != node);\n return !!nodes[i];\n };\n })(Element.prototype);\n }\n\n function callbackSafe (callback, el, e) {\n try {\n callback.call(el, e);\n } catch (exception) {\n console.log(exception);\n }\n }\n\n var searxng = window.searxng || {};\n\n searxng.on = function (obj, eventType, callback, useCapture) {\n useCapture = useCapture || false;\n if (typeof obj !== 'string') {\n // obj HTMLElement, HTMLDocument\n obj.addEventListener(eventType, callback, useCapture);\n } else {\n // obj is a selector\n d.addEventListener(eventType, function (e) {\n var el = e.target || e.srcElement, found = false;\n while (el && el.matches && el !== d && !(found = el.matches(obj))) el = el.parentElement;\n if (found) callbackSafe(callback, el, e);\n }, useCapture);\n }\n };\n\n searxng.ready = function (callback) {\n if (document.readyState != 'loading') {\n callback.call(w);\n } else {\n w.addEventListener('DOMContentLoaded', callback.bind(w));\n }\n };\n\n searxng.http = function (method, url, data = null) {\n return new Promise(function (resolve, reject) {\n try {\n var req = new XMLHttpRequest();\n req.open(method, url, true);\n req.timeout = 20000;\n\n // On load\n req.onload = function () {\n if (req.status == 200) {\n resolve(req.response, req.responseType);\n } else {\n reject(Error(req.statusText));\n }\n };\n\n // Handle network errors\n req.onerror = function () {\n reject(Error(\"Network Error\"));\n };\n\n req.onabort = function () {\n reject(Error(\"Transaction is aborted\"));\n };\n\n req.ontimeout = function () {\n reject(Error(\"Timeout\"));\n }\n\n // Make the request\n if (data) {\n req.send(data)\n } else {\n req.send();\n }\n } catch (ex) {\n reject(ex);\n }\n });\n };\n\n searxng.loadStyle = function (src) {\n var path = searxng.settings.theme_static_path + \"/\" + src,\n id = \"style_\" + src.replace('.', '_'),\n s = d.getElementById(id);\n if (s === null) {\n s = d.createElement('link');\n s.setAttribute('id', id);\n s.setAttribute('rel', 'stylesheet');\n s.setAttribute('type', 'text/css');\n s.setAttribute('href', path);\n d.body.appendChild(s);\n }\n };\n\n searxng.loadScript = function (src, callback) {\n var path = searxng.settings.theme_static_path + \"/\" + src,\n id = \"script_\" + src.replace('.', '_'),\n s = d.getElementById(id);\n if (s === null) {\n s = d.createElement('script');\n s.setAttribute('id', id);\n s.setAttribute('src', path);\n s.onload = callback;\n s.onerror = function () {\n s.setAttribute('error', '1');\n };\n d.body.appendChild(s);\n } else if (!s.hasAttribute('error')) {\n try {\n callback.apply(s, []);\n } catch (exception) {\n console.log(exception);\n }\n } else {\n console.log(\"callback not executed : script '\" + path + \"' not loaded.\");\n }\n };\n\n searxng.insertBefore = function (newNode, referenceNode) {\n referenceNode.parentNode.insertBefore(newNode, referenceNode);\n };\n\n searxng.insertAfter = function (newNode, referenceNode) {\n referenceNode.parentNode.insertAfter(newNode, referenceNode.nextSibling);\n };\n\n searxng.on('.close', 'click', function () {\n this.parentNode.classList.add('invisible');\n });\n\n function getEndpoint () {\n for (var className of d.getElementsByTagName('body')[0].classList.values()) {\n if (className.endsWith('_endpoint')) {\n return className.split('_')[0];\n }\n }\n return '';\n }\n\n searxng.endpoint = getEndpoint();\n\n return searxng;\n})(window, document);\n","// SPDX-License-Identifier: AGPL-3.0-or-later\n\n/* global searxng */\n\nsearxng.ready(function () {\n 'use strict';\n\n searxng.infinite_scroll_supported = (\n 'IntersectionObserver' in window &&\n 'IntersectionObserverEntry' in window &&\n 'intersectionRatio' in window.IntersectionObserverEntry.prototype);\n\n if (searxng.endpoint !== 'results') {\n return;\n }\n\n if (!searxng.infinite_scroll_supported) {\n console.log('IntersectionObserver not supported');\n return;\n }\n\n let d = document;\n var onlyImages = d.getElementById('results').classList.contains('only_template_images');\n\n function newLoadSpinner () {\n var loader = d.createElement('div');\n loader.classList.add('loader');\n return loader;\n }\n\n function replaceChildrenWith (element, children) {\n element.textContent = '';\n children.forEach(child => element.appendChild(child));\n }\n\n function loadNextPage (callback) {\n var form = d.querySelector('#pagination form.next_page');\n if (!form) {\n return\n }\n replaceChildrenWith(d.querySelector('#pagination'), [ newLoadSpinner() ]);\n var formData = new FormData(form);\n searxng.http('POST', d.querySelector('#search').getAttribute('action'), formData).then(\n function (response) {\n var nextPageDoc = new DOMParser().parseFromString(response, 'text/html');\n var articleList = nextPageDoc.querySelectorAll('#urls article');\n var paginationElement = nextPageDoc.querySelector('#pagination');\n d.querySelector('#pagination').remove();\n if (articleList.length > 0 && !onlyImages) {\n // do not add
element when there are only images\n d.querySelector('#urls').appendChild(d.createElement('hr'));\n }\n articleList.forEach(articleElement => {\n d.querySelector('#urls').appendChild(articleElement);\n });\n if (paginationElement) {\n d.querySelector('#results').appendChild(paginationElement);\n callback();\n }\n }\n ).catch(\n function (err) {\n console.log(err);\n var e = d.createElement('div');\n e.textContent = searxng.settings.translations.error_loading_next_page;\n e.classList.add('dialog-error');\n e.setAttribute('role', 'alert');\n replaceChildrenWith(d.querySelector('#pagination'), [ e ]);\n }\n )\n }\n\n if (searxng.settings.infinite_scroll && searxng.infinite_scroll_supported) {\n const intersectionObserveOptions = {\n rootMargin: \"20rem\",\n };\n const observedSelector = 'article.result:last-child';\n const observer = new IntersectionObserver(entries => {\n const paginationEntry = entries[0];\n if (paginationEntry.isIntersecting) {\n observer.unobserve(paginationEntry.target);\n loadNextPage(() => observer.observe(d.querySelector(observedSelector), intersectionObserveOptions));\n }\n });\n observer.observe(d.querySelector(observedSelector), intersectionObserveOptions);\n }\n\n});\n","/* SPDX-License-Identifier: AGPL-3.0-or-later */\n/* global searxng */\n\nsearxng.ready(function () {\n\n function isElementInDetail (el) {\n while (el !== undefined) {\n if (el.classList.contains('detail')) {\n return true;\n }\n if (el.classList.contains('result')) {\n // we found a result, no need to go to the root of the document:\n // el is not inside a
element\n return false;\n }\n el = el.parentNode;\n }\n return false;\n }\n\n function getResultElement (el) {\n while (el !== undefined) {\n if (el.classList.contains('result')) {\n return el;\n }\n el = el.parentNode;\n }\n return undefined;\n }\n\n function isImageResult (resultElement) {\n return resultElement && resultElement.classList.contains('result-images');\n }\n\n searxng.on('.result', 'click', function (e) {\n if (!isElementInDetail(e.target)) {\n highlightResult(this)(true, true);\n let resultElement = getResultElement(e.target);\n if (isImageResult(resultElement)) {\n e.preventDefault();\n searxng.selectImage(resultElement);\n }\n }\n });\n\n searxng.on('.result a', 'focus', function (e) {\n if (!isElementInDetail(e.target)) {\n let resultElement = getResultElement(e.target);\n if (resultElement && resultElement.getAttribute(\"data-vim-selected\") === null) {\n highlightResult(resultElement)(true);\n }\n if (isImageResult(resultElement)) {\n searxng.selectImage(resultElement);\n }\n }\n }, true);\n\n /* common base for layouts */\n var baseKeyBinding = {\n 'Escape': {\n key: 'ESC',\n fun: removeFocus,\n des: 'remove focus from the focused input',\n cat: 'Control'\n },\n 'c': {\n key: 'c',\n fun: copyURLToClipboard,\n des: 'copy url of the selected result to the clipboard',\n cat: 'Results'\n },\n 'h': {\n key: 'h',\n fun: toggleHelp,\n des: 'toggle help window',\n cat: 'Other'\n },\n 'i': {\n key: 'i',\n fun: searchInputFocus,\n des: 'focus on the search input',\n cat: 'Control'\n },\n 'n': {\n key: 'n',\n fun: GoToNextPage(),\n des: 'go to next page',\n cat: 'Results'\n },\n 'o': {\n key: 'o',\n fun: openResult(false),\n des: 'open search result',\n cat: 'Results'\n },\n 'p': {\n key: 'p',\n fun: GoToPreviousPage(),\n des: 'go to previous page',\n cat: 'Results'\n },\n 'r': {\n key: 'r',\n fun: reloadPage,\n des: 'reload page from the server',\n cat: 'Control'\n },\n 't': {\n key: 't',\n fun: openResult(true),\n des: 'open the result in a new tab',\n cat: 'Results'\n },\n };\n var keyBindingLayouts = {\n\n \"default\": Object.assign(\n { /* SearXNG layout */\n 'ArrowLeft': {\n key: '←',\n fun: highlightResult('up'),\n des: 'select previous search result',\n cat: 'Results'\n },\n 'ArrowRight': {\n key: '→',\n fun: highlightResult('down'),\n des: 'select next search result',\n cat: 'Results'\n },\n }, baseKeyBinding),\n\n 'vim': Object.assign(\n { /* Vim-like Key Layout. */\n 'b': {\n key: 'b',\n fun: scrollPage(-window.innerHeight),\n des: 'scroll one page up',\n cat: 'Navigation'\n },\n 'f': {\n key: 'f',\n fun: scrollPage(window.innerHeight),\n des: 'scroll one page down',\n cat: 'Navigation'\n },\n 'u': {\n key: 'u',\n fun: scrollPage(-window.innerHeight / 2),\n des: 'scroll half a page up',\n cat: 'Navigation'\n },\n 'd': {\n key: 'd',\n fun: scrollPage(window.innerHeight / 2),\n des: 'scroll half a page down',\n cat: 'Navigation'\n },\n 'g': {\n key: 'g',\n fun: scrollPageTo(-document.body.scrollHeight, 'top'),\n des: 'scroll to the top of the page',\n cat: 'Navigation'\n },\n 'v': {\n key: 'v',\n fun: scrollPageTo(document.body.scrollHeight, 'bottom'),\n des: 'scroll to the bottom of the page',\n cat: 'Navigation'\n },\n 'k': {\n key: 'k',\n fun: highlightResult('up'),\n des: 'select previous search result',\n cat: 'Results'\n },\n 'j': {\n key: 'j',\n fun: highlightResult('down'),\n des: 'select next search result',\n cat: 'Results'\n },\n 'y': {\n key: 'y',\n fun: copyURLToClipboard,\n des: 'copy url of the selected result to the clipboard',\n cat: 'Results'\n },\n }, baseKeyBinding)\n }\n\n var keyBindings = keyBindingLayouts[searxng.settings.hotkeys] || keyBindingLayouts.default;\n\n searxng.on(document, \"keydown\", function (e) {\n // check for modifiers so we don't break browser's hotkeys\n if (\n Object.prototype.hasOwnProperty.call(keyBindings, e.key)\n && !e.ctrlKey && !e.altKey\n && !e.shiftKey && !e.metaKey\n ) {\n var tagName = e.target.tagName.toLowerCase();\n if (e.key === 'Escape') {\n keyBindings[e.key].fun(e);\n } else {\n if (e.target === document.body || tagName === 'a' || tagName === 'button') {\n e.preventDefault();\n keyBindings[e.key].fun();\n }\n }\n }\n });\n\n function highlightResult (which) {\n return function (noScroll, keepFocus) {\n var current = document.querySelector('.result[data-vim-selected]'),\n effectiveWhich = which;\n if (current === null) {\n // no selection : choose the first one\n current = document.querySelector('.result');\n if (current === null) {\n // no first one : there are no results\n return;\n }\n // replace up/down actions by selecting first one\n if (which === \"down\" || which === \"up\") {\n effectiveWhich = current;\n }\n }\n\n var next, results = document.querySelectorAll('.result');\n results = Array.from(results); // convert NodeList to Array for further use\n\n if (typeof effectiveWhich !== 'string') {\n next = effectiveWhich;\n } else {\n switch (effectiveWhich) {\n case 'visible':\n var top = document.documentElement.scrollTop || document.body.scrollTop;\n var bot = top + document.documentElement.clientHeight;\n\n for (var i = 0; i < results.length; i++) {\n next = results[i];\n var etop = next.offsetTop;\n var ebot = etop + next.clientHeight;\n\n if ((ebot <= bot) && (etop > top)) {\n break;\n }\n }\n break;\n case 'down':\n next = results[results.indexOf(current) + 1] || current;\n break;\n case 'up':\n next = results[results.indexOf(current) - 1] || current;\n break;\n case 'bottom':\n next = results[results.length - 1];\n break;\n case 'top':\n /* falls through */\n default:\n next = results[0];\n }\n }\n\n if (next) {\n current.removeAttribute('data-vim-selected');\n next.setAttribute('data-vim-selected', 'true');\n if (!keepFocus) {\n var link = next.querySelector('h3 a') || next.querySelector('a');\n if (link !== null) {\n link.focus();\n }\n }\n if (!noScroll) {\n scrollPageToSelected();\n }\n }\n };\n }\n\n function reloadPage () {\n document.location.reload(true);\n }\n\n function removeFocus (e) {\n const tagName = e.target.tagName.toLowerCase();\n if (document.activeElement && (tagName === 'input' || tagName === 'select' || tagName === 'textarea')) {\n document.activeElement.blur();\n } else {\n searxng.closeDetail();\n }\n }\n\n function pageButtonClick (css_selector) {\n return function () {\n var button = document.querySelector(css_selector);\n if (button) {\n button.click();\n }\n };\n }\n\n function GoToNextPage () {\n return pageButtonClick('nav#pagination .next_page button[type=\"submit\"]');\n }\n\n function GoToPreviousPage () {\n return pageButtonClick('nav#pagination .previous_page button[type=\"submit\"]');\n }\n\n function scrollPageToSelected () {\n var sel = document.querySelector('.result[data-vim-selected]');\n if (sel === null) {\n return;\n }\n var wtop = document.documentElement.scrollTop || document.body.scrollTop,\n wheight = document.documentElement.clientHeight,\n etop = sel.offsetTop,\n ebot = etop + sel.clientHeight,\n offset = 120;\n // first element ?\n if ((sel.previousElementSibling === null) && (ebot < wheight)) {\n // set to the top of page if the first element\n // is fully included in the viewport\n window.scroll(window.scrollX, 0);\n return;\n }\n if (wtop > (etop - offset)) {\n window.scroll(window.scrollX, etop - offset);\n } else {\n var wbot = wtop + wheight;\n if (wbot < (ebot + offset)) {\n window.scroll(window.scrollX, ebot - wheight + offset);\n }\n }\n }\n\n function scrollPage (amount) {\n return function () {\n window.scrollBy(0, amount);\n highlightResult('visible')();\n };\n }\n\n function scrollPageTo (position, nav) {\n return function () {\n window.scrollTo(0, position);\n highlightResult(nav)();\n };\n }\n\n function searchInputFocus () {\n window.scrollTo(0, 0);\n var q = document.querySelector('#q');\n q.focus();\n if (q.setSelectionRange) {\n var len = q.value.length;\n q.setSelectionRange(len, len);\n }\n }\n\n function openResult (newTab) {\n return function () {\n var link = document.querySelector('.result[data-vim-selected] h3 a');\n if (link === null) {\n link = document.querySelector('.result[data-vim-selected] > a');\n }\n if (link !== null) {\n var url = link.getAttribute('href');\n if (newTab) {\n window.open(url);\n } else {\n window.location.href = url;\n }\n }\n };\n }\n\n function initHelpContent (divElement) {\n var categories = {};\n\n for (var k in keyBindings) {\n var key = keyBindings[k];\n categories[key.cat] = categories[key.cat] || [];\n categories[key.cat].push(key);\n }\n\n var sorted = Object.keys(categories).sort(function (a, b) {\n return categories[b].length - categories[a].length;\n });\n\n if (sorted.length === 0) {\n return;\n }\n\n var html = '×';\n html += '

How to navigate SearXNG with hotkeys

';\n html += '';\n\n for (var i = 0; i < sorted.length; i++) {\n var cat = categories[sorted[i]];\n\n var lastCategory = i === (sorted.length - 1);\n var first = i % 2 === 0;\n\n if (first) {\n html += '';\n }\n html += ''; // col-sm-*\n\n if (!first || lastCategory) {\n html += ''; // row\n }\n }\n\n html += '
';\n\n html += '

' + cat[0].cat + '

';\n html += '
    ';\n\n for (var cj in cat) {\n html += '
  • ' + cat[cj].key + ' ' + cat[cj].des + '
  • ';\n }\n\n html += '
';\n html += '
';\n\n divElement.innerHTML = html;\n }\n\n function toggleHelp () {\n var helpPanel = document.querySelector('#vim-hotkeys-help');\n if (helpPanel === undefined || helpPanel === null) {\n // first call\n helpPanel = document.createElement('div');\n helpPanel.id = 'vim-hotkeys-help';\n helpPanel.className = 'dialog-modal';\n initHelpContent(helpPanel);\n var body = document.getElementsByTagName('body')[0];\n body.appendChild(helpPanel);\n } else {\n // toggle hidden\n helpPanel.classList.toggle('invisible');\n return;\n }\n }\n\n function copyURLToClipboard () {\n var currentUrlElement = document.querySelector('.result[data-vim-selected] h3 a');\n if (currentUrlElement === null) return;\n\n const url = currentUrlElement.getAttribute('href');\n navigator.clipboard.writeText(url);\n }\n\n searxng.scrollPageToSelected = scrollPageToSelected;\n searxng.selectNext = highlightResult('down');\n searxng.selectPrevious = highlightResult('up');\n});\n","/* SPDX-License-Identifier: AGPL-3.0-or-later */\n/* global L */\n(function (w, d, searxng) {\n 'use strict';\n\n searxng.ready(function () {\n searxng.on('.searxng_init_map', 'click', function (event) {\n // no more request\n this.classList.remove(\"searxng_init_map\");\n\n //\n var leaflet_target = this.dataset.leafletTarget;\n var map_lon = parseFloat(this.dataset.mapLon);\n var map_lat = parseFloat(this.dataset.mapLat);\n var map_zoom = parseFloat(this.dataset.mapZoom);\n var map_boundingbox = JSON.parse(this.dataset.mapBoundingbox);\n var map_geojson = JSON.parse(this.dataset.mapGeojson);\n\n searxng.loadStyle('css/leaflet.css');\n searxng.loadScript('js/leaflet.js', function () {\n var map_bounds = null;\n if (map_boundingbox) {\n var southWest = L.latLng(map_boundingbox[0], map_boundingbox[2]);\n var northEast = L.latLng(map_boundingbox[1], map_boundingbox[3]);\n map_bounds = L.latLngBounds(southWest, northEast);\n }\n\n // init map\n var map = L.map(leaflet_target);\n // create the tile layer with correct attribution\n var osmMapnikUrl = 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png';\n var osmMapnikAttrib = 'Map data © OpenStreetMap contributors';\n var osmMapnik = new L.TileLayer(osmMapnikUrl, {minZoom: 1, maxZoom: 19, attribution: osmMapnikAttrib});\n var osmWikimediaUrl = 'https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png';\n var osmWikimediaAttrib = 'Wikimedia maps | Maps data © OpenStreetMap contributors';\n var osmWikimedia = new L.TileLayer(osmWikimediaUrl, {minZoom: 1, maxZoom: 19, attribution: osmWikimediaAttrib});\n // init map view\n if (map_bounds) {\n // TODO hack: https://github.com/Leaflet/Leaflet/issues/2021\n // Still useful ?\n setTimeout(function () {\n map.fitBounds(map_bounds, {\n maxZoom: 17\n });\n }, 0);\n } else if (map_lon && map_lat) {\n if (map_zoom) {\n map.setView(new L.latLng(map_lat, map_lon), map_zoom);\n } else {\n map.setView(new L.latLng(map_lat, map_lon), 8);\n }\n }\n\n map.addLayer(osmMapnik);\n\n var baseLayers = {\n \"OSM Mapnik\": osmMapnik,\n \"OSM Wikimedia\": osmWikimedia,\n };\n\n L.control.layers(baseLayers).addTo(map);\n\n if (map_geojson) {\n L.geoJson(map_geojson).addTo(map);\n } /* else if(map_bounds) {\n L.rectangle(map_bounds, {color: \"#ff7800\", weight: 3, fill:false}).addTo(map);\n } */\n });\n\n // this event occur only once per element\n event.preventDefault();\n });\n });\n})(window, document, window.searxng);\n","/* SPDX-License-Identifier: AGPL-3.0-or-later */\n(function (w, d, searxng) {\n 'use strict';\n\n if (searxng.endpoint !== 'preferences') {\n return;\n }\n\n searxng.ready(function () {\n let engine_descriptions = null;\n function load_engine_descriptions () {\n if (engine_descriptions == null) {\n searxng.http(\"GET\", \"engine_descriptions.json\").then(function (content) {\n engine_descriptions = JSON.parse(content);\n for (const [engine_name, description] of Object.entries(engine_descriptions)) {\n let elements = d.querySelectorAll('[data-engine-name=\"' + engine_name + '\"] .engine-description');\n for (const element of elements) {\n let source = ' (' + searxng.settings.translations.Source + ': ' + description[1] + ')';\n element.innerHTML = description[0] + source;\n }\n }\n });\n }\n }\n\n for (const el of d.querySelectorAll('[data-engine-name]')) {\n searxng.on(el, 'mouseenter', load_engine_descriptions);\n }\n\n const enableAllEngines = d.querySelectorAll(\".enable-all-engines\");\n const disableAllEngines = d.querySelectorAll(\".disable-all-engines\");\n const engineToggles = d.querySelectorAll('tbody input[type=checkbox][class~=checkbox-onoff]');\n const toggleEngines = (enable) => {\n for (const el of engineToggles) {\n // check if element visible, so that only engines of the current category are modified\n if (el.offsetParent !== null) el.checked = !enable;\n }\n };\n for (const el of enableAllEngines) {\n searxng.on(el, 'click', () => toggleEngines(true));\n }\n for (const el of disableAllEngines) {\n searxng.on(el, 'click', () => toggleEngines(false));\n }\n\n const copyHashButton = d.querySelector(\"#copy-hash\");\n searxng.on(copyHashButton, 'click', (e) => {\n e.preventDefault();\n navigator.clipboard.writeText(copyHashButton.dataset.hash);\n copyHashButton.innerText = copyHashButton.dataset.copiedText;\n });\n });\n})(window, document, window.searxng);\n","/* SPDX-License-Identifier: AGPL-3.0-or-later */\n(function (w, d, searxng) {\n 'use strict';\n\n if (searxng.endpoint !== 'results') {\n return;\n }\n\n searxng.ready(function () {\n d.querySelectorAll('#urls img').forEach(\n img =>\n img.addEventListener(\n 'error', () => {\n // console.log(\"ERROR can't load: \" + img.src);\n img.src = window.searxng.settings.theme_static_path + \"/img/img_load_error.svg\";\n },\n {once: true}\n ));\n\n if (d.querySelector('#search_url button#copy_url')) {\n d.querySelector('#search_url button#copy_url').style.display = \"block\";\n }\n\n searxng.on('.btn-collapse', 'click', function () {\n var btnLabelCollapsed = this.getAttribute('data-btn-text-collapsed');\n var btnLabelNotCollapsed = this.getAttribute('data-btn-text-not-collapsed');\n var target = this.getAttribute('data-target');\n var targetElement = d.querySelector(target);\n var html = this.innerHTML;\n if (this.classList.contains('collapsed')) {\n html = html.replace(btnLabelCollapsed, btnLabelNotCollapsed);\n } else {\n html = html.replace(btnLabelNotCollapsed, btnLabelCollapsed);\n }\n this.innerHTML = html;\n this.classList.toggle('collapsed');\n targetElement.classList.toggle('invisible');\n });\n\n searxng.on('.media-loader', 'click', function () {\n var target = this.getAttribute('data-target');\n var iframe_load = d.querySelector(target + ' > iframe');\n var srctest = iframe_load.getAttribute('src');\n if (srctest === null || srctest === undefined || srctest === false) {\n iframe_load.setAttribute('src', iframe_load.getAttribute('data-src'));\n }\n });\n\n searxng.on('#copy_url', 'click', function () {\n var target = this.parentElement.querySelector('pre');\n navigator.clipboard.writeText(target.innerText);\n this.innerText = this.dataset.copiedText;\n });\n\n // searxng.selectImage (gallery)\n // -----------------------------\n\n // setTimeout() ID, needed to cancel *last* loadImage\n let imgTimeoutID;\n\n // progress spinner, while an image is loading\n const imgLoaderSpinner = d.createElement('div');\n imgLoaderSpinner.classList.add('loader');\n\n // singleton image object, which is used for all loading processes of a\n // detailed image\n const imgLoader = new Image();\n\n const loadImage = (imgSrc, onSuccess) => {\n // if defered image load exists, stop defered task.\n if (imgTimeoutID) clearTimeout(imgTimeoutID);\n\n // defer load of the detail image for 1 sec\n imgTimeoutID = setTimeout(() => {\n imgLoader.src = imgSrc;\n }, 1000);\n\n // set handlers in the on-properties\n imgLoader.onload = () => {\n onSuccess();\n imgLoaderSpinner.remove();\n };\n imgLoader.onerror = () => {\n imgLoaderSpinner.remove();\n };\n };\n\n searxng.selectImage = (resultElement) => {\n\n // add a class that can be evaluated in the CSS and indicates that the\n // detail view is open\n d.getElementById('results').classList.add('image-detail-open');\n\n // add a hash to the browser history so that pressing back doesn't return\n // to the previous page this allows us to dismiss the image details on\n // pressing the back button on mobile devices\n window.location.hash = '#image-viewer';\n\n searxng.scrollPageToSelected();\n\n // if there is none element given by the caller, stop here\n if (!resultElement) return;\n\n // find object in the element, if there is none, stop here.\n const img = resultElement.querySelector('.result-images-source img');\n if (!img) return;\n\n // \n const src = img.getAttribute('data-src');\n\n // already loaded high-res image or no high-res image available\n if (!src) return;\n\n // use the image thumbnail until the image is fully loaded\n const thumbnail = resultElement.querySelector('.image_thumbnail');\n img.src = thumbnail.src;\n\n // show a progress spinner\n const detailElement = resultElement.querySelector('.detail');\n detailElement.appendChild(imgLoaderSpinner);\n\n // load full size image in background\n loadImage(src, () => {\n // after the singelton loadImage has loaded the detail image into the\n // cache, it can be used in the origin as src property.\n img.src = src;\n img.removeAttribute('data-src');\n });\n };\n\n searxng.closeDetail = function () {\n d.getElementById('results').classList.remove('image-detail-open');\n // remove #image-viewer hash from url by navigating back\n if (window.location.hash == '#image-viewer') window.history.back();\n searxng.scrollPageToSelected();\n };\n searxng.on('.result-detail-close', 'click', e => {\n e.preventDefault();\n searxng.closeDetail();\n });\n searxng.on('.result-detail-previous', 'click', e => {\n e.preventDefault();\n searxng.selectPrevious(false);\n });\n searxng.on('.result-detail-next', 'click', e => {\n e.preventDefault();\n searxng.selectNext(false);\n });\n\n // listen for the back button to be pressed and dismiss the image details when called\n window.addEventListener('hashchange', () => {\n if (window.location.hash != '#image-viewer') searxng.closeDetail();\n });\n\n d.querySelectorAll('.swipe-horizontal').forEach(\n obj => {\n obj.addEventListener('swiped-left', function () {\n searxng.selectNext(false);\n });\n obj.addEventListener('swiped-right', function () {\n searxng.selectPrevious(false);\n });\n }\n );\n\n w.addEventListener('scroll', function () {\n var e = d.getElementById('backToTop'),\n scrollTop = document.documentElement.scrollTop || document.body.scrollTop,\n results = d.getElementById('results');\n if (e !== null) {\n if (scrollTop >= 100) {\n results.classList.add('scrolling');\n } else {\n results.classList.remove('scrolling');\n }\n }\n }, true);\n\n });\n\n})(window, document, window.searxng);\n","(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.AutoComplete = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i @baptistedonaux\n */\nvar AutoComplete = /** @class */ (function () {\n // Constructor\n function AutoComplete(params, selector) {\n if (params === void 0) { params = {}; }\n if (selector === void 0) { selector = \"[data-autocomplete]\"; }\n if (Array.isArray(selector)) {\n selector.forEach(function (s) {\n new AutoComplete(params, s);\n });\n }\n else if (typeof selector == \"string\") {\n var elements = document.querySelectorAll(selector);\n Array.prototype.forEach.call(elements, function (input) {\n new AutoComplete(params, input);\n });\n }\n else {\n var specificParams = AutoComplete.merge(AutoComplete.defaults, params, {\n DOMResults: document.createElement(\"div\")\n });\n AutoComplete.prototype.create(specificParams, selector);\n return specificParams;\n }\n }\n AutoComplete.prototype.create = function (params, element) {\n params.Input = element;\n if (params.Input.nodeName.match(/^INPUT$/i) && (params.Input.hasAttribute(\"type\") === false || params.Input.getAttribute(\"type\").match(/^TEXT|SEARCH$/i))) {\n params.Input.setAttribute(\"autocomplete\", \"off\");\n params._Position(params);\n params.Input.parentNode.appendChild(params.DOMResults);\n params.$Listeners = {\n blur: params._Blur.bind(params),\n destroy: AutoComplete.prototype.destroy.bind(null, params),\n focus: params._Focus.bind(params),\n keyup: AutoComplete.prototype.event.bind(null, params, EventType.KEYUP),\n keydown: AutoComplete.prototype.event.bind(null, params, EventType.KEYDOWN),\n position: params._Position.bind(params)\n };\n for (var event in params.$Listeners) {\n params.Input.addEventListener(event, params.$Listeners[event]);\n }\n }\n };\n AutoComplete.prototype.getEventsByType = function (params, type) {\n var mappings = {};\n for (var key in params.KeyboardMappings) {\n var event = EventType.KEYUP;\n if (params.KeyboardMappings[key].Event !== undefined) {\n event = params.KeyboardMappings[key].Event;\n }\n if (event == type) {\n mappings[key] = params.KeyboardMappings[key];\n }\n }\n return mappings;\n };\n AutoComplete.prototype.event = function (params, type, event) {\n var eventIdentifier = function (condition) {\n if ((match === true && mapping.Operator == ConditionOperator.AND) || (match === false && mapping.Operator == ConditionOperator.OR)) {\n condition = AutoComplete.merge({\n Not: false\n }, condition);\n if (condition.hasOwnProperty(\"Is\")) {\n if (condition.Is == event.keyCode) {\n match = !condition.Not;\n }\n else {\n match = condition.Not;\n }\n }\n else if (condition.hasOwnProperty(\"From\") && condition.hasOwnProperty(\"To\")) {\n if (event.keyCode >= condition.From && event.keyCode <= condition.To) {\n match = !condition.Not;\n }\n else {\n match = condition.Not;\n }\n }\n }\n };\n for (var name in AutoComplete.prototype.getEventsByType(params, type)) {\n var mapping = AutoComplete.merge({\n Operator: ConditionOperator.AND\n }, params.KeyboardMappings[name]), match = ConditionOperator.AND == mapping.Operator;\n mapping.Conditions.forEach(eventIdentifier);\n if (match === true) {\n mapping.Callback.call(params, event);\n }\n }\n };\n AutoComplete.prototype.makeRequest = function (params, callback, callbackErr) {\n var propertyHttpHeaders = Object.getOwnPropertyNames(params.HttpHeaders), request = new XMLHttpRequest(), method = params._HttpMethod(), url = params._Url(), queryParams = params._Pre(), queryParamsStringify = encodeURIComponent(params._QueryArg()) + \"=\" + encodeURIComponent(queryParams);\n if (method.match(/^GET$/i)) {\n if (url.indexOf(\"?\") !== -1) {\n url += \"&\" + queryParamsStringify;\n }\n else {\n url += \"?\" + queryParamsStringify;\n }\n }\n request.open(method, url, true);\n for (var i = propertyHttpHeaders.length - 1; i >= 0; i--) {\n request.setRequestHeader(propertyHttpHeaders[i], params.HttpHeaders[propertyHttpHeaders[i]]);\n }\n request.onreadystatechange = function () {\n if (request.readyState == 4 && request.status == 200) {\n params.$Cache[queryParams] = request.response;\n callback(request.response);\n }\n else if (request.status >= 400) {\n callbackErr();\n }\n };\n return request;\n };\n AutoComplete.prototype.ajax = function (params, request, timeout) {\n if (timeout === void 0) { timeout = true; }\n if (params.$AjaxTimer) {\n window.clearTimeout(params.$AjaxTimer);\n }\n if (timeout === true) {\n params.$AjaxTimer = window.setTimeout(AutoComplete.prototype.ajax.bind(null, params, request, false), params.Delay);\n }\n else {\n if (params.Request) {\n params.Request.abort();\n }\n params.Request = request;\n params.Request.send(params._QueryArg() + \"=\" + params._Pre());\n }\n };\n AutoComplete.prototype.cache = function (params, callback, callbackErr) {\n var response = params._Cache(params._Pre());\n if (response === undefined) {\n var request = AutoComplete.prototype.makeRequest(params, callback, callbackErr);\n AutoComplete.prototype.ajax(params, request);\n }\n else {\n callback(response);\n }\n };\n AutoComplete.prototype.destroy = function (params) {\n for (var event in params.$Listeners) {\n params.Input.removeEventListener(event, params.$Listeners[event]);\n }\n params.DOMResults.parentNode.removeChild(params.DOMResults);\n };\n AutoComplete.merge = function () {\n var merge = {}, tmp;\n for (var i = 0; i < arguments.length; i++) {\n for (tmp in arguments[i]) {\n merge[tmp] = arguments[i][tmp];\n }\n }\n return merge;\n };\n AutoComplete.defaults = {\n Delay: 150,\n EmptyMessage: \"No result here\",\n Highlight: {\n getRegex: function (value) {\n return new RegExp(value, \"ig\");\n },\n transform: function (value) {\n return \"\" + value + \"\";\n }\n },\n HttpHeaders: {\n \"Content-type\": \"application/x-www-form-urlencoded\"\n },\n Limit: 0,\n MinChars: 0,\n HttpMethod: \"GET\",\n QueryArg: \"q\",\n Url: null,\n KeyboardMappings: {\n \"Enter\": {\n Conditions: [{\n Is: 13,\n Not: false\n }],\n Callback: function (event) {\n if (this.DOMResults.getAttribute(\"class\").indexOf(\"open\") != -1) {\n var liActive = this.DOMResults.querySelector(\"li.active\");\n if (liActive !== null) {\n event.preventDefault();\n this._Select(liActive);\n this.DOMResults.setAttribute(\"class\", \"autocomplete\");\n }\n }\n },\n Operator: ConditionOperator.AND,\n Event: EventType.KEYDOWN\n },\n \"KeyUpAndDown_down\": {\n Conditions: [{\n Is: 38,\n Not: false\n },\n {\n Is: 40,\n Not: false\n }],\n Callback: function (event) {\n event.preventDefault();\n },\n Operator: ConditionOperator.OR,\n Event: EventType.KEYDOWN\n },\n \"KeyUpAndDown_up\": {\n Conditions: [{\n Is: 38,\n Not: false\n },\n {\n Is: 40,\n Not: false\n }],\n Callback: function (event) {\n event.preventDefault();\n var first = this.DOMResults.querySelector(\"li:first-child:not(.locked)\"), last = this.DOMResults.querySelector(\"li:last-child:not(.locked)\"), active = this.DOMResults.querySelector(\"li.active\");\n if (active) {\n var currentIndex = Array.prototype.indexOf.call(active.parentNode.children, active), position = currentIndex + (event.keyCode - 39), lisCount = this.DOMResults.getElementsByTagName(\"li\").length;\n if (position < 0) {\n position = lisCount - 1;\n }\n else if (position >= lisCount) {\n position = 0;\n }\n active.classList.remove(\"active\");\n active.parentElement.children.item(position).classList.add(\"active\");\n }\n else if (last && event.keyCode == 38) {\n last.classList.add(\"active\");\n }\n else if (first) {\n first.classList.add(\"active\");\n }\n },\n Operator: ConditionOperator.OR,\n Event: EventType.KEYUP\n },\n \"AlphaNum\": {\n Conditions: [{\n Is: 13,\n Not: true\n }, {\n From: 35,\n To: 40,\n Not: true\n }],\n Callback: function () {\n var oldValue = this.Input.getAttribute(\"data-autocomplete-old-value\"), currentValue = this._Pre();\n if (currentValue !== \"\" && currentValue.length >= this._MinChars()) {\n if (!oldValue || currentValue != oldValue) {\n this.DOMResults.setAttribute(\"class\", \"autocomplete open\");\n }\n AutoComplete.prototype.cache(this, function (response) {\n this._Render(this._Post(response));\n this._Open();\n }.bind(this), this._Error);\n }\n else {\n this._Close();\n }\n },\n Operator: ConditionOperator.AND,\n Event: EventType.KEYUP\n }\n },\n DOMResults: null,\n Request: null,\n Input: null,\n /**\n * Return the message when no result returns\n */\n _EmptyMessage: function () {\n var emptyMessage = \"\";\n if (this.Input.hasAttribute(\"data-autocomplete-empty-message\")) {\n emptyMessage = this.Input.getAttribute(\"data-autocomplete-empty-message\");\n }\n else if (this.EmptyMessage !== false) {\n emptyMessage = this.EmptyMessage;\n }\n else {\n emptyMessage = \"\";\n }\n return emptyMessage;\n },\n /**\n * Returns the maximum number of results\n */\n _Limit: function () {\n var limit = this.Input.getAttribute(\"data-autocomplete-limit\");\n if (isNaN(limit) || limit === null) {\n return this.Limit;\n }\n return parseInt(limit, 10);\n },\n /**\n * Returns the minimum number of characters entered before firing ajax\n */\n _MinChars: function () {\n var minchars = this.Input.getAttribute(\"data-autocomplete-minchars\");\n if (isNaN(minchars) || minchars === null) {\n return this.MinChars;\n }\n return parseInt(minchars, 10);\n },\n /**\n * Apply transformation on labels response\n */\n _Highlight: function (label) {\n return label.replace(this.Highlight.getRegex(this._Pre()), this.Highlight.transform);\n },\n /**\n * Returns the HHTP method to use\n */\n _HttpMethod: function () {\n if (this.Input.hasAttribute(\"data-autocomplete-method\")) {\n return this.Input.getAttribute(\"data-autocomplete-method\");\n }\n return this.HttpMethod;\n },\n /**\n * Returns the query param to use\n */\n _QueryArg: function () {\n if (this.Input.hasAttribute(\"data-autocomplete-param-name\")) {\n return this.Input.getAttribute(\"data-autocomplete-param-name\");\n }\n return this.QueryArg;\n },\n /**\n * Returns the URL to use for AJAX request\n */\n _Url: function () {\n if (this.Input.hasAttribute(\"data-autocomplete\")) {\n return this.Input.getAttribute(\"data-autocomplete\");\n }\n return this.Url;\n },\n /**\n * Manage the close\n */\n _Blur: function (now) {\n if (now === void 0) { now = false; }\n if (now) {\n this._Close();\n }\n else {\n var params = this;\n setTimeout(function () {\n params._Blur(true);\n }, 150);\n }\n },\n /**\n * Manage the cache\n */\n _Cache: function (value) {\n return this.$Cache[value];\n },\n /**\n * Manage the open\n */\n _Focus: function () {\n var oldValue = this.Input.getAttribute(\"data-autocomplete-old-value\");\n if ((!oldValue || this.Input.value != oldValue) && this._MinChars() <= this.Input.value.length) {\n this.DOMResults.setAttribute(\"class\", \"autocomplete open\");\n }\n },\n /**\n * Bind all results item if one result is opened\n */\n _Open: function () {\n var params = this;\n Array.prototype.forEach.call(this.DOMResults.getElementsByTagName(\"li\"), function (li) {\n if (li.getAttribute(\"class\") != \"locked\") {\n li.onclick = function () {\n params._Select(li);\n };\n }\n });\n },\n _Close: function () {\n this.DOMResults.setAttribute(\"class\", \"autocomplete\");\n },\n /**\n * Position the results HTML element\n */\n _Position: function () {\n this.DOMResults.setAttribute(\"class\", \"autocomplete\");\n this.DOMResults.setAttribute(\"style\", \"top:\" + (this.Input.offsetTop + this.Input.offsetHeight) + \"px;left:\" + this.Input.offsetLeft + \"px;width:\" + this.Input.clientWidth + \"px;\");\n },\n /**\n * Execute the render of results DOM element\n */\n _Render: function (response) {\n var ul;\n if (typeof response == \"string\") {\n ul = this._RenderRaw(response);\n }\n else {\n ul = this._RenderResponseItems(response);\n }\n if (this.DOMResults.hasChildNodes()) {\n this.DOMResults.removeChild(this.DOMResults.childNodes[0]);\n }\n this.DOMResults.appendChild(ul);\n },\n /**\n * ResponseItems[] rendering\n */\n _RenderResponseItems: function (response) {\n var ul = document.createElement(\"ul\"), li = document.createElement(\"li\"), limit = this._Limit();\n // Order\n if (limit < 0) {\n response = response.reverse();\n }\n else if (limit === 0) {\n limit = response.length;\n }\n for (var item = 0; item < Math.min(Math.abs(limit), response.length); item++) {\n li.innerHTML = response[item].Label;\n li.setAttribute(\"data-autocomplete-value\", response[item].Value);\n ul.appendChild(li);\n li = document.createElement(\"li\");\n }\n return ul;\n },\n /**\n * string response rendering (RAW HTML)\n */\n _RenderRaw: function (response) {\n var ul = document.createElement(\"ul\"), li = document.createElement(\"li\");\n if (response.length > 0) {\n this.DOMResults.innerHTML = response;\n }\n else {\n var emptyMessage = this._EmptyMessage();\n if (emptyMessage !== \"\") {\n li.innerHTML = emptyMessage;\n li.setAttribute(\"class\", \"locked\");\n ul.appendChild(li);\n }\n }\n return ul;\n },\n /**\n * Deal with request response\n */\n _Post: function (response) {\n try {\n var returnResponse = [];\n //JSON return\n var json = JSON.parse(response);\n if (Object.keys(json).length === 0) {\n return \"\";\n }\n if (Array.isArray(json)) {\n for (var i = 0; i < Object.keys(json).length; i++) {\n returnResponse[returnResponse.length] = { \"Value\": json[i], \"Label\": this._Highlight(json[i]) };\n }\n }\n else {\n for (var value in json) {\n returnResponse.push({\n \"Value\": value,\n \"Label\": this._Highlight(json[value])\n });\n }\n }\n return returnResponse;\n }\n catch (event) {\n //HTML return\n return response;\n }\n },\n /**\n * Return the autocomplete value to send (before request)\n */\n _Pre: function () {\n return this.Input.value;\n },\n /**\n * Choice one result item\n */\n _Select: function (item) {\n if (item.hasAttribute(\"data-autocomplete-value\")) {\n this.Input.value = item.getAttribute(\"data-autocomplete-value\");\n }\n else {\n this.Input.value = item.innerHTML;\n }\n this.Input.setAttribute(\"data-autocomplete-old-value\", this.Input.value);\n },\n /**\n * Handle HTTP error on the request\n */\n _Error: function () {\n },\n $AjaxTimer: null,\n $Cache: {},\n $Listeners: {}\n };\n return AutoComplete;\n}());\nmodule.exports = AutoComplete;\n\n},{}]},{},[1])(1)\n});\n","/* SPDX-License-Identifier: AGPL-3.0-or-later */\n/* exported AutoComplete */\n\nimport AutoComplete from \"../../../node_modules/autocomplete-js/dist/autocomplete.js\";\n\n(function (w, d, searxng) {\n 'use strict';\n\n var qinput_id = \"q\", qinput;\n\n const isMobile = window.matchMedia(\"only screen and (max-width: 50em)\").matches;\n\n function submitIfQuery () {\n if (qinput.value.length > 0) {\n var search = document.getElementById('search');\n setTimeout(search.submit.bind(search), 0);\n }\n }\n\n function createClearButton (qinput) {\n var cs = document.getElementById('clear_search');\n var updateClearButton = function () {\n if (qinput.value.length === 0) {\n cs.classList.add(\"empty\");\n } else {\n cs.classList.remove(\"empty\");\n }\n };\n\n // update status, event listener\n updateClearButton();\n cs.addEventListener('click', function (ev) {\n qinput.value = '';\n qinput.focus();\n updateClearButton();\n ev.preventDefault();\n });\n qinput.addEventListener('input', updateClearButton, false);\n }\n\n searxng.ready(function () {\n qinput = d.getElementById(qinput_id);\n\n if (qinput !== null) {\n // clear button\n createClearButton(qinput);\n\n // autocompleter\n if (searxng.settings.autocomplete) {\n searxng.autocomplete = AutoComplete.call(w, {\n Url: \"./autocompleter\",\n EmptyMessage: searxng.settings.translations.no_item_found,\n HttpMethod: searxng.settings.method,\n HttpHeaders: {\n \"Content-type\": \"application/x-www-form-urlencoded\",\n \"X-Requested-With\": \"XMLHttpRequest\"\n },\n MinChars: searxng.settings.autocomplete_min,\n Delay: 300,\n _Position: function () {},\n _Open: function () {\n var params = this;\n Array.prototype.forEach.call(this.DOMResults.getElementsByTagName(\"li\"), function (li) {\n if (li.getAttribute(\"class\") != \"locked\") {\n li.onmousedown = function () {\n params._Select(li);\n };\n }\n });\n },\n _Select: function (item) {\n AutoComplete.defaults._Select.call(this, item);\n var form = item.closest('form');\n if (form) {\n form.submit();\n }\n },\n _MinChars: function () {\n if (this.Input.value.indexOf('!') > -1) {\n return 0;\n } else {\n return AutoComplete.defaults._MinChars.call(this);\n }\n },\n KeyboardMappings: Object.assign({}, AutoComplete.defaults.KeyboardMappings, {\n \"KeyUpAndDown_up\": Object.assign({}, AutoComplete.defaults.KeyboardMappings.KeyUpAndDown_up, {\n Callback: function (event) {\n AutoComplete.defaults.KeyboardMappings.KeyUpAndDown_up.Callback.call(this, event);\n var liActive = this.DOMResults.querySelector(\"li.active\");\n if (liActive) {\n AutoComplete.defaults._Select.call(this, liActive);\n }\n },\n }),\n \"Tab\": Object.assign({}, AutoComplete.defaults.KeyboardMappings.Enter, {\n Conditions: [{\n Is: 9,\n Not: false\n }],\n Callback: function (event) {\n if (this.DOMResults.getAttribute(\"class\").indexOf(\"open\") != -1) {\n var liActive = this.DOMResults.querySelector(\"li.active\");\n if (liActive !== null) {\n AutoComplete.defaults._Select.call(this, liActive);\n event.preventDefault();\n }\n }\n },\n })\n }),\n }, \"#\" + qinput_id);\n }\n\n /*\n Monkey patch autocomplete.js to fix a bug\n With the POST method, the values are not URL encoded: query like \"1 + 1\" are sent as \"1 1\" since space are URL encoded as plus.\n See HTML specifications:\n * HTML5: https://url.spec.whatwg.org/#concept-urlencoded-serializer\n * HTML4: https://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.1\n\n autocomplete.js does not URL encode the name and values:\n https://github.com/autocompletejs/autocomplete.js/blob/87069524f3b95e68f1b54d8976868e0eac1b2c83/src/autocomplete.ts#L665\n\n The monkey patch overrides the compiled version of the ajax function.\n See https://github.com/autocompletejs/autocomplete.js/blob/87069524f3b95e68f1b54d8976868e0eac1b2c83/dist/autocomplete.js#L143-L158\n The patch changes only the line 156 from\n params.Request.send(params._QueryArg() + \"=\" + params._Pre());\n to\n params.Request.send(encodeURIComponent(params._QueryArg()) + \"=\" + encodeURIComponent(params._Pre()));\n\n Related to:\n * https://github.com/autocompletejs/autocomplete.js/issues/78\n * https://github.com/searxng/searxng/issues/1695\n */\n AutoComplete.prototype.ajax = function (params, request, timeout) {\n if (timeout === void 0) { timeout = true; }\n if (params.$AjaxTimer) {\n window.clearTimeout(params.$AjaxTimer);\n }\n if (timeout === true) {\n params.$AjaxTimer = window.setTimeout(AutoComplete.prototype.ajax.bind(null, params, request, false), params.Delay);\n } else {\n if (params.Request) {\n params.Request.abort();\n }\n params.Request = request;\n params.Request.send(encodeURIComponent(params._QueryArg()) + \"=\" + encodeURIComponent(params._Pre()));\n }\n };\n\n if (!isMobile && document.querySelector('.index_endpoint')) {\n qinput.focus();\n }\n }\n\n // Additionally to searching when selecting a new category, we also\n // automatically start a new search request when the user changes a search\n // filter (safesearch, time range or language) (this requires JavaScript\n // though)\n if (\n qinput !== null\n && searxng.settings.search_on_category_select\n // If .search_filters is undefined (invisible) we are on the homepage and\n // hence don't have to set any listeners\n && d.querySelector(\".search_filters\") != null\n ) {\n searxng.on(d.getElementById('safesearch'), 'change', submitIfQuery);\n searxng.on(d.getElementById('time_range'), 'change', submitIfQuery);\n searxng.on(d.getElementById('language'), 'change', submitIfQuery);\n }\n\n const categoryButtons = d.querySelectorAll(\"button.category_button\");\n for (let button of categoryButtons) {\n searxng.on(button, 'click', (event) => {\n if (event.shiftKey) {\n event.preventDefault();\n button.classList.toggle(\"selected\");\n return;\n }\n\n // manually deselect the old selection when a new category is selected\n const selectedCategories = d.querySelectorAll(\"button.category_button.selected\");\n for (let categoryButton of selectedCategories) {\n categoryButton.classList.remove(\"selected\");\n }\n button.classList.add(\"selected\");\n })\n }\n\n // override form submit action to update the actually selected categories\n const form = d.querySelector(\"#search\");\n if (form != null) {\n searxng.on(form, 'submit', (event) => {\n event.preventDefault();\n const categoryValuesInput = d.querySelector(\"#selected-categories\");\n if (categoryValuesInput) {\n let categoryValues = [];\n for (let categoryButton of categoryButtons) {\n if (categoryButton.classList.contains(\"selected\")) {\n categoryValues.push(categoryButton.name.replace(\"category_\", \"\"));\n }\n }\n categoryValuesInput.value = categoryValues.join(\",\");\n }\n form.submit();\n });\n }\n });\n\n})(window, document, window.searxng);\n"],"names":["w","ElementPrototype","selector","node","nodes","i","callbackSafe","callback","el","e","exception","searxng","obj","eventType","useCapture","found","method","url","data","resolve","reject","req","ex","src","path","id","s","newNode","referenceNode","getEndpoint","className","d","onlyImages","newLoadSpinner","loader","replaceChildrenWith","element","children","child","loadNextPage","form","formData","response","nextPageDoc","articleList","paginationElement","articleElement","err","intersectionObserveOptions","observedSelector","observer","entries","paginationEntry","isElementInDetail","getResultElement","isImageResult","resultElement","highlightResult","baseKeyBinding","removeFocus","copyURLToClipboard","toggleHelp","searchInputFocus","GoToNextPage","openResult","GoToPreviousPage","reloadPage","keyBindingLayouts","scrollPage","scrollPageTo","keyBindings","tagName","which","noScroll","keepFocus","current","effectiveWhich","next","results","top","bot","etop","ebot","link","scrollPageToSelected","pageButtonClick","css_selector","button","sel","wtop","wheight","offset","wbot","amount","position","nav","q","len","newTab","initHelpContent","divElement","categories","k","key","sorted","a","b","html","cat","lastCategory","first","cj","helpPanel","body","currentUrlElement","event","leaflet_target","map_lon","map_lat","map_zoom","map_boundingbox","map_geojson","map_bounds","southWest","northEast","map","osmMapnikUrl","osmMapnikAttrib","osmMapnik","osmWikimediaUrl","osmWikimediaAttrib","osmWikimedia","baseLayers","engine_descriptions","load_engine_descriptions","content","engine_name","description","elements","source","enableAllEngines","disableAllEngines","engineToggles","toggleEngines","enable","copyHashButton","img","btnLabelCollapsed","btnLabelNotCollapsed","target","targetElement","iframe_load","srctest","imgTimeoutID","imgLoaderSpinner","imgLoader","loadImage","imgSrc","onSuccess","thumbnail","scrollTop","f","module","r","n","t","o","c","require","u","p","exports","ConditionOperator","EventType","AutoComplete","params","input","specificParams","type","mappings","eventIdentifier","condition","match","mapping","name","callbackErr","propertyHttpHeaders","request","queryParams","queryParamsStringify","timeout","merge","tmp","value","liActive","last","active","currentIndex","lisCount","oldValue","currentValue","emptyMessage","limit","minchars","label","now","li","ul","item","returnResponse","json","qinput_id","qinput","isMobile","submitIfQuery","search","createClearButton","cs","updateClearButton","ev","categoryButtons","selectedCategories","categoryButton","categoryValuesInput","categoryValues"],"mappings":"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","x_google_ignoreList":[6]} \ No newline at end of file +{"version":3,"file":"searxng.min.js","sources":["../../../../../client/simple/src/js/main/00_toolkit.js","../../../../../client/simple/src/js/main/infinite_scroll.js","../../../../../client/simple/src/js/main/keyboard.js","../../../../../client/simple/src/js/main/mapresult.js","../../../../../client/simple/src/js/main/preferences.js","../../../../../client/simple/src/js/main/results.js","../../../../../client/simple/node_modules/autocomplete-js/dist/autocomplete.js","../../../../../client/simple/src/js/main/search.js"],"sourcesContent":["/**\n * @license\n * (C) Copyright Contributors to the SearXNG project.\n * (C) Copyright Contributors to the searx project (2014 - 2021).\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nwindow.searxng = (function (w, d) {\n\n 'use strict';\n\n // not invented here toolkit with bugs fixed elsewhere\n // purposes : be just good enough and as small as possible\n\n // from https://plainjs.com/javascript/events/live-binding-event-handlers-14/\n if (w.Element) {\n (function (ElementPrototype) {\n ElementPrototype.matches = ElementPrototype.matches ||\n ElementPrototype.matchesSelector ||\n ElementPrototype.webkitMatchesSelector ||\n ElementPrototype.msMatchesSelector ||\n function (selector) {\n var node = this, nodes = (node.parentNode || node.document).querySelectorAll(selector), i = -1;\n while (nodes[++i] && nodes[i] != node);\n return !!nodes[i];\n };\n })(Element.prototype);\n }\n\n function callbackSafe (callback, el, e) {\n try {\n callback.call(el, e);\n } catch (exception) {\n console.log(exception);\n }\n }\n\n var searxng = window.searxng || {};\n\n searxng.on = function (obj, eventType, callback, useCapture) {\n useCapture = useCapture || false;\n if (typeof obj !== 'string') {\n // obj HTMLElement, HTMLDocument\n obj.addEventListener(eventType, callback, useCapture);\n } else {\n // obj is a selector\n d.addEventListener(eventType, function (e) {\n var el = e.target || e.srcElement, found = false;\n while (el && el.matches && el !== d && !(found = el.matches(obj))) el = el.parentElement;\n if (found) callbackSafe(callback, el, e);\n }, useCapture);\n }\n };\n\n searxng.ready = function (callback) {\n if (document.readyState != 'loading') {\n callback.call(w);\n } else {\n w.addEventListener('DOMContentLoaded', callback.bind(w));\n }\n };\n\n searxng.http = function (method, url, data = null) {\n return new Promise(function (resolve, reject) {\n try {\n var req = new XMLHttpRequest();\n req.open(method, url, true);\n req.timeout = 20000;\n\n // On load\n req.onload = function () {\n if (req.status == 200) {\n resolve(req.response, req.responseType);\n } else {\n reject(Error(req.statusText));\n }\n };\n\n // Handle network errors\n req.onerror = function () {\n reject(Error(\"Network Error\"));\n };\n\n req.onabort = function () {\n reject(Error(\"Transaction is aborted\"));\n };\n\n req.ontimeout = function () {\n reject(Error(\"Timeout\"));\n }\n\n // Make the request\n if (data) {\n req.send(data)\n } else {\n req.send();\n }\n } catch (ex) {\n reject(ex);\n }\n });\n };\n\n searxng.loadStyle = function (src) {\n var path = searxng.settings.theme_static_path + \"/\" + src,\n id = \"style_\" + src.replace('.', '_'),\n s = d.getElementById(id);\n if (s === null) {\n s = d.createElement('link');\n s.setAttribute('id', id);\n s.setAttribute('rel', 'stylesheet');\n s.setAttribute('type', 'text/css');\n s.setAttribute('href', path);\n d.body.appendChild(s);\n }\n };\n\n searxng.loadScript = function (src, callback) {\n var path = searxng.settings.theme_static_path + \"/\" + src,\n id = \"script_\" + src.replace('.', '_'),\n s = d.getElementById(id);\n if (s === null) {\n s = d.createElement('script');\n s.setAttribute('id', id);\n s.setAttribute('src', path);\n s.onload = callback;\n s.onerror = function () {\n s.setAttribute('error', '1');\n };\n d.body.appendChild(s);\n } else if (!s.hasAttribute('error')) {\n try {\n callback.apply(s, []);\n } catch (exception) {\n console.log(exception);\n }\n } else {\n console.log(\"callback not executed : script '\" + path + \"' not loaded.\");\n }\n };\n\n searxng.insertBefore = function (newNode, referenceNode) {\n referenceNode.parentNode.insertBefore(newNode, referenceNode);\n };\n\n searxng.insertAfter = function (newNode, referenceNode) {\n referenceNode.parentNode.insertAfter(newNode, referenceNode.nextSibling);\n };\n\n searxng.on('.close', 'click', function () {\n this.parentNode.classList.add('invisible');\n });\n\n function getEndpoint () {\n for (var className of d.getElementsByTagName('body')[0].classList.values()) {\n if (className.endsWith('_endpoint')) {\n return className.split('_')[0];\n }\n }\n return '';\n }\n\n searxng.endpoint = getEndpoint();\n\n return searxng;\n})(window, document);\n","// SPDX-License-Identifier: AGPL-3.0-or-later\n\n/* global searxng */\n\nsearxng.ready(function () {\n 'use strict';\n\n searxng.infinite_scroll_supported = (\n 'IntersectionObserver' in window &&\n 'IntersectionObserverEntry' in window &&\n 'intersectionRatio' in window.IntersectionObserverEntry.prototype);\n\n if (searxng.endpoint !== 'results') {\n return;\n }\n\n if (!searxng.infinite_scroll_supported) {\n console.log('IntersectionObserver not supported');\n return;\n }\n\n let d = document;\n var onlyImages = d.getElementById('results').classList.contains('only_template_images');\n\n function newLoadSpinner () {\n var loader = d.createElement('div');\n loader.classList.add('loader');\n return loader;\n }\n\n function replaceChildrenWith (element, children) {\n element.textContent = '';\n children.forEach(child => element.appendChild(child));\n }\n\n function loadNextPage (callback) {\n var form = d.querySelector('#pagination form.next_page');\n if (!form) {\n return\n }\n replaceChildrenWith(d.querySelector('#pagination'), [ newLoadSpinner() ]);\n var formData = new FormData(form);\n searxng.http('POST', d.querySelector('#search').getAttribute('action'), formData).then(\n function (response) {\n var nextPageDoc = new DOMParser().parseFromString(response, 'text/html');\n var articleList = nextPageDoc.querySelectorAll('#urls article');\n var paginationElement = nextPageDoc.querySelector('#pagination');\n d.querySelector('#pagination').remove();\n if (articleList.length > 0 && !onlyImages) {\n // do not add
element when there are only images\n d.querySelector('#urls').appendChild(d.createElement('hr'));\n }\n articleList.forEach(articleElement => {\n d.querySelector('#urls').appendChild(articleElement);\n });\n if (paginationElement) {\n d.querySelector('#results').appendChild(paginationElement);\n callback();\n }\n }\n ).catch(\n function (err) {\n console.log(err);\n var e = d.createElement('div');\n e.textContent = searxng.settings.translations.error_loading_next_page;\n e.classList.add('dialog-error');\n e.setAttribute('role', 'alert');\n replaceChildrenWith(d.querySelector('#pagination'), [ e ]);\n }\n )\n }\n\n if (searxng.settings.infinite_scroll && searxng.infinite_scroll_supported) {\n const intersectionObserveOptions = {\n rootMargin: \"20rem\",\n };\n const observedSelector = 'article.result:last-child';\n const observer = new IntersectionObserver(entries => {\n const paginationEntry = entries[0];\n if (paginationEntry.isIntersecting) {\n observer.unobserve(paginationEntry.target);\n loadNextPage(() => observer.observe(d.querySelector(observedSelector), intersectionObserveOptions));\n }\n });\n observer.observe(d.querySelector(observedSelector), intersectionObserveOptions);\n }\n\n});\n","/* SPDX-License-Identifier: AGPL-3.0-or-later */\n/* global searxng */\n\nsearxng.ready(function () {\n\n function isElementInDetail (el) {\n while (el !== undefined) {\n if (el.classList.contains('detail')) {\n return true;\n }\n if (el.classList.contains('result')) {\n // we found a result, no need to go to the root of the document:\n // el is not inside a
element\n return false;\n }\n el = el.parentNode;\n }\n return false;\n }\n\n function getResultElement (el) {\n while (el !== undefined) {\n if (el.classList.contains('result')) {\n return el;\n }\n el = el.parentNode;\n }\n return undefined;\n }\n\n function isImageResult (resultElement) {\n return resultElement && resultElement.classList.contains('result-images');\n }\n\n searxng.on('.result', 'click', function (e) {\n if (!isElementInDetail(e.target)) {\n highlightResult(this)(true, true);\n let resultElement = getResultElement(e.target);\n if (isImageResult(resultElement)) {\n e.preventDefault();\n searxng.selectImage(resultElement);\n }\n }\n });\n\n searxng.on('.result a', 'focus', function (e) {\n if (!isElementInDetail(e.target)) {\n let resultElement = getResultElement(e.target);\n if (resultElement && resultElement.getAttribute(\"data-vim-selected\") === null) {\n highlightResult(resultElement)(true);\n }\n if (isImageResult(resultElement)) {\n searxng.selectImage(resultElement);\n }\n }\n }, true);\n\n /* common base for layouts */\n var baseKeyBinding = {\n 'Escape': {\n key: 'ESC',\n fun: removeFocus,\n des: 'remove focus from the focused input',\n cat: 'Control'\n },\n 'c': {\n key: 'c',\n fun: copyURLToClipboard,\n des: 'copy url of the selected result to the clipboard',\n cat: 'Results'\n },\n 'h': {\n key: 'h',\n fun: toggleHelp,\n des: 'toggle help window',\n cat: 'Other'\n },\n 'i': {\n key: 'i',\n fun: searchInputFocus,\n des: 'focus on the search input',\n cat: 'Control'\n },\n 'n': {\n key: 'n',\n fun: GoToNextPage(),\n des: 'go to next page',\n cat: 'Results'\n },\n 'o': {\n key: 'o',\n fun: openResult(false),\n des: 'open search result',\n cat: 'Results'\n },\n 'p': {\n key: 'p',\n fun: GoToPreviousPage(),\n des: 'go to previous page',\n cat: 'Results'\n },\n 'r': {\n key: 'r',\n fun: reloadPage,\n des: 'reload page from the server',\n cat: 'Control'\n },\n 't': {\n key: 't',\n fun: openResult(true),\n des: 'open the result in a new tab',\n cat: 'Results'\n },\n };\n var keyBindingLayouts = {\n\n \"default\": Object.assign(\n { /* SearXNG layout */\n 'ArrowLeft': {\n key: '←',\n fun: highlightResult('up'),\n des: 'select previous search result',\n cat: 'Results'\n },\n 'ArrowRight': {\n key: '→',\n fun: highlightResult('down'),\n des: 'select next search result',\n cat: 'Results'\n },\n }, baseKeyBinding),\n\n 'vim': Object.assign(\n { /* Vim-like Key Layout. */\n 'b': {\n key: 'b',\n fun: scrollPage(-window.innerHeight),\n des: 'scroll one page up',\n cat: 'Navigation'\n },\n 'f': {\n key: 'f',\n fun: scrollPage(window.innerHeight),\n des: 'scroll one page down',\n cat: 'Navigation'\n },\n 'u': {\n key: 'u',\n fun: scrollPage(-window.innerHeight / 2),\n des: 'scroll half a page up',\n cat: 'Navigation'\n },\n 'd': {\n key: 'd',\n fun: scrollPage(window.innerHeight / 2),\n des: 'scroll half a page down',\n cat: 'Navigation'\n },\n 'g': {\n key: 'g',\n fun: scrollPageTo(-document.body.scrollHeight, 'top'),\n des: 'scroll to the top of the page',\n cat: 'Navigation'\n },\n 'v': {\n key: 'v',\n fun: scrollPageTo(document.body.scrollHeight, 'bottom'),\n des: 'scroll to the bottom of the page',\n cat: 'Navigation'\n },\n 'k': {\n key: 'k',\n fun: highlightResult('up'),\n des: 'select previous search result',\n cat: 'Results'\n },\n 'j': {\n key: 'j',\n fun: highlightResult('down'),\n des: 'select next search result',\n cat: 'Results'\n },\n 'y': {\n key: 'y',\n fun: copyURLToClipboard,\n des: 'copy url of the selected result to the clipboard',\n cat: 'Results'\n },\n }, baseKeyBinding)\n }\n\n var keyBindings = keyBindingLayouts[searxng.settings.hotkeys] || keyBindingLayouts.default;\n\n searxng.on(document, \"keydown\", function (e) {\n // check for modifiers so we don't break browser's hotkeys\n if (\n Object.prototype.hasOwnProperty.call(keyBindings, e.key)\n && !e.ctrlKey && !e.altKey\n && !e.shiftKey && !e.metaKey\n ) {\n var tagName = e.target.tagName.toLowerCase();\n if (e.key === 'Escape') {\n keyBindings[e.key].fun(e);\n } else {\n if (e.target === document.body || tagName === 'a' || tagName === 'button') {\n e.preventDefault();\n keyBindings[e.key].fun();\n }\n }\n }\n });\n\n function highlightResult (which) {\n return function (noScroll, keepFocus) {\n var current = document.querySelector('.result[data-vim-selected]'),\n effectiveWhich = which;\n if (current === null) {\n // no selection : choose the first one\n current = document.querySelector('.result');\n if (current === null) {\n // no first one : there are no results\n return;\n }\n // replace up/down actions by selecting first one\n if (which === \"down\" || which === \"up\") {\n effectiveWhich = current;\n }\n }\n\n var next, results = document.querySelectorAll('.result');\n results = Array.from(results); // convert NodeList to Array for further use\n\n if (typeof effectiveWhich !== 'string') {\n next = effectiveWhich;\n } else {\n switch (effectiveWhich) {\n case 'visible':\n var top = document.documentElement.scrollTop || document.body.scrollTop;\n var bot = top + document.documentElement.clientHeight;\n\n for (var i = 0; i < results.length; i++) {\n next = results[i];\n var etop = next.offsetTop;\n var ebot = etop + next.clientHeight;\n\n if ((ebot <= bot) && (etop > top)) {\n break;\n }\n }\n break;\n case 'down':\n next = results[results.indexOf(current) + 1] || current;\n break;\n case 'up':\n next = results[results.indexOf(current) - 1] || current;\n break;\n case 'bottom':\n next = results[results.length - 1];\n break;\n case 'top':\n /* falls through */\n default:\n next = results[0];\n }\n }\n\n if (next) {\n current.removeAttribute('data-vim-selected');\n next.setAttribute('data-vim-selected', 'true');\n if (!keepFocus) {\n var link = next.querySelector('h3 a') || next.querySelector('a');\n if (link !== null) {\n link.focus();\n }\n }\n if (!noScroll) {\n scrollPageToSelected();\n }\n }\n };\n }\n\n function reloadPage () {\n document.location.reload(true);\n }\n\n function removeFocus (e) {\n const tagName = e.target.tagName.toLowerCase();\n if (document.activeElement && (tagName === 'input' || tagName === 'select' || tagName === 'textarea')) {\n document.activeElement.blur();\n } else {\n searxng.closeDetail();\n }\n }\n\n function pageButtonClick (css_selector) {\n return function () {\n var button = document.querySelector(css_selector);\n if (button) {\n button.click();\n }\n };\n }\n\n function GoToNextPage () {\n return pageButtonClick('nav#pagination .next_page button[type=\"submit\"]');\n }\n\n function GoToPreviousPage () {\n return pageButtonClick('nav#pagination .previous_page button[type=\"submit\"]');\n }\n\n function scrollPageToSelected () {\n var sel = document.querySelector('.result[data-vim-selected]');\n if (sel === null) {\n return;\n }\n var wtop = document.documentElement.scrollTop || document.body.scrollTop,\n wheight = document.documentElement.clientHeight,\n etop = sel.offsetTop,\n ebot = etop + sel.clientHeight,\n offset = 120;\n // first element ?\n if ((sel.previousElementSibling === null) && (ebot < wheight)) {\n // set to the top of page if the first element\n // is fully included in the viewport\n window.scroll(window.scrollX, 0);\n return;\n }\n if (wtop > (etop - offset)) {\n window.scroll(window.scrollX, etop - offset);\n } else {\n var wbot = wtop + wheight;\n if (wbot < (ebot + offset)) {\n window.scroll(window.scrollX, ebot - wheight + offset);\n }\n }\n }\n\n function scrollPage (amount) {\n return function () {\n window.scrollBy(0, amount);\n highlightResult('visible')();\n };\n }\n\n function scrollPageTo (position, nav) {\n return function () {\n window.scrollTo(0, position);\n highlightResult(nav)();\n };\n }\n\n function searchInputFocus () {\n window.scrollTo(0, 0);\n var q = document.querySelector('#q');\n q.focus();\n if (q.setSelectionRange) {\n var len = q.value.length;\n q.setSelectionRange(len, len);\n }\n }\n\n function openResult (newTab) {\n return function () {\n var link = document.querySelector('.result[data-vim-selected] h3 a');\n if (link === null) {\n link = document.querySelector('.result[data-vim-selected] > a');\n }\n if (link !== null) {\n var url = link.getAttribute('href');\n if (newTab) {\n window.open(url);\n } else {\n window.location.href = url;\n }\n }\n };\n }\n\n function initHelpContent (divElement) {\n var categories = {};\n\n for (var k in keyBindings) {\n var key = keyBindings[k];\n categories[key.cat] = categories[key.cat] || [];\n categories[key.cat].push(key);\n }\n\n var sorted = Object.keys(categories).sort(function (a, b) {\n return categories[b].length - categories[a].length;\n });\n\n if (sorted.length === 0) {\n return;\n }\n\n var html = '×';\n html += '

How to navigate SearXNG with hotkeys

';\n html += '';\n\n for (var i = 0; i < sorted.length; i++) {\n var cat = categories[sorted[i]];\n\n var lastCategory = i === (sorted.length - 1);\n var first = i % 2 === 0;\n\n if (first) {\n html += '';\n }\n html += ''; // col-sm-*\n\n if (!first || lastCategory) {\n html += ''; // row\n }\n }\n\n html += '
';\n\n html += '

' + cat[0].cat + '

';\n html += '
    ';\n\n for (var cj in cat) {\n html += '
  • ' + cat[cj].key + ' ' + cat[cj].des + '
  • ';\n }\n\n html += '
';\n html += '
';\n\n divElement.innerHTML = html;\n }\n\n function toggleHelp () {\n var helpPanel = document.querySelector('#vim-hotkeys-help');\n if (helpPanel === undefined || helpPanel === null) {\n // first call\n helpPanel = document.createElement('div');\n helpPanel.id = 'vim-hotkeys-help';\n helpPanel.className = 'dialog-modal';\n initHelpContent(helpPanel);\n var body = document.getElementsByTagName('body')[0];\n body.appendChild(helpPanel);\n } else {\n // toggle hidden\n helpPanel.classList.toggle('invisible');\n return;\n }\n }\n\n function copyURLToClipboard () {\n var currentUrlElement = document.querySelector('.result[data-vim-selected] h3 a');\n if (currentUrlElement === null) return;\n\n const url = currentUrlElement.getAttribute('href');\n navigator.clipboard.writeText(url);\n }\n\n searxng.scrollPageToSelected = scrollPageToSelected;\n searxng.selectNext = highlightResult('down');\n searxng.selectPrevious = highlightResult('up');\n});\n","/* SPDX-License-Identifier: AGPL-3.0-or-later */\n/* global L */\n(function (w, d, searxng) {\n 'use strict';\n\n searxng.ready(function () {\n searxng.on('.searxng_init_map', 'click', function (event) {\n // no more request\n this.classList.remove(\"searxng_init_map\");\n\n //\n var leaflet_target = this.dataset.leafletTarget;\n var map_lon = parseFloat(this.dataset.mapLon);\n var map_lat = parseFloat(this.dataset.mapLat);\n var map_zoom = parseFloat(this.dataset.mapZoom);\n var map_boundingbox = JSON.parse(this.dataset.mapBoundingbox);\n var map_geojson = JSON.parse(this.dataset.mapGeojson);\n\n searxng.loadStyle('css/leaflet.css');\n searxng.loadScript('js/leaflet.js', function () {\n var map_bounds = null;\n if (map_boundingbox) {\n var southWest = L.latLng(map_boundingbox[0], map_boundingbox[2]);\n var northEast = L.latLng(map_boundingbox[1], map_boundingbox[3]);\n map_bounds = L.latLngBounds(southWest, northEast);\n }\n\n // init map\n var map = L.map(leaflet_target);\n // create the tile layer with correct attribution\n var osmMapnikUrl = 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png';\n var osmMapnikAttrib = 'Map data © OpenStreetMap contributors';\n var osmMapnik = new L.TileLayer(osmMapnikUrl, {minZoom: 1, maxZoom: 19, attribution: osmMapnikAttrib});\n var osmWikimediaUrl = 'https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png';\n var osmWikimediaAttrib = 'Wikimedia maps | Maps data © OpenStreetMap contributors';\n var osmWikimedia = new L.TileLayer(osmWikimediaUrl, {minZoom: 1, maxZoom: 19, attribution: osmWikimediaAttrib});\n // init map view\n if (map_bounds) {\n // TODO hack: https://github.com/Leaflet/Leaflet/issues/2021\n // Still useful ?\n setTimeout(function () {\n map.fitBounds(map_bounds, {\n maxZoom: 17\n });\n }, 0);\n } else if (map_lon && map_lat) {\n if (map_zoom) {\n map.setView(new L.latLng(map_lat, map_lon), map_zoom);\n } else {\n map.setView(new L.latLng(map_lat, map_lon), 8);\n }\n }\n\n map.addLayer(osmMapnik);\n\n var baseLayers = {\n \"OSM Mapnik\": osmMapnik,\n \"OSM Wikimedia\": osmWikimedia,\n };\n\n L.control.layers(baseLayers).addTo(map);\n\n if (map_geojson) {\n L.geoJson(map_geojson).addTo(map);\n } /* else if(map_bounds) {\n L.rectangle(map_bounds, {color: \"#ff7800\", weight: 3, fill:false}).addTo(map);\n } */\n });\n\n // this event occur only once per element\n event.preventDefault();\n });\n });\n})(window, document, window.searxng);\n","/* SPDX-License-Identifier: AGPL-3.0-or-later */\n(function (w, d, searxng) {\n 'use strict';\n\n if (searxng.endpoint !== 'preferences') {\n return;\n }\n\n searxng.ready(function () {\n let engine_descriptions = null;\n function load_engine_descriptions () {\n if (engine_descriptions == null) {\n searxng.http(\"GET\", \"engine_descriptions.json\").then(function (content) {\n engine_descriptions = JSON.parse(content);\n for (const [engine_name, description] of Object.entries(engine_descriptions)) {\n let elements = d.querySelectorAll('[data-engine-name=\"' + engine_name + '\"] .engine-description');\n for (const element of elements) {\n let source = ' (' + searxng.settings.translations.Source + ': ' + description[1] + ')';\n element.innerHTML = description[0] + source;\n }\n }\n });\n }\n }\n\n function handleEnter (el, callback) {\n searxng.on(el, 'keyup', (e) => {\n if (e.code == \"Enter\") {\n callback();\n }\n });\n }\n\n for (const el of d.querySelectorAll('[role=\"tab\"],input[type=checkbox][class~=checkbox-onoff],.category_label')) {\n handleEnter(el, () => {\n el.click();\n });\n }\n\n for (const el of d.querySelectorAll('[data-engine-name]')) {\n searxng.on(el, 'mouseenter', load_engine_descriptions);\n }\n\n const enableAllEngines = d.querySelectorAll(\".enable-all-engines\");\n const disableAllEngines = d.querySelectorAll(\".disable-all-engines\");\n const engineToggles = d.querySelectorAll('tbody input[type=checkbox][class~=checkbox-onoff]');\n const toggleEngines = (enable) => {\n for (const el of engineToggles) {\n // check if element visible, so that only engines of the current category are modified\n if (el.offsetParent !== null) el.checked = !enable;\n }\n };\n for (const el of enableAllEngines) {\n searxng.on(el, 'click', () => toggleEngines(true));\n }\n for (const el of disableAllEngines) {\n searxng.on(el, 'click', () => toggleEngines(false));\n }\n\n const copyHashButton = d.querySelector(\"#copy-hash\");\n searxng.on(copyHashButton, 'click', (e) => {\n e.preventDefault();\n navigator.clipboard.writeText(copyHashButton.dataset.hash);\n copyHashButton.innerText = copyHashButton.dataset.copiedText;\n });\n });\n})(window, document, window.searxng);\n","/* SPDX-License-Identifier: AGPL-3.0-or-later */\n(function (w, d, searxng) {\n 'use strict';\n\n if (searxng.endpoint !== 'results') {\n return;\n }\n\n searxng.ready(function () {\n d.querySelectorAll('#urls img').forEach(\n img =>\n img.addEventListener(\n 'error', () => {\n // console.log(\"ERROR can't load: \" + img.src);\n img.src = window.searxng.settings.theme_static_path + \"/img/img_load_error.svg\";\n },\n {once: true}\n ));\n\n if (d.querySelector('#search_url button#copy_url')) {\n d.querySelector('#search_url button#copy_url').style.display = \"block\";\n }\n\n searxng.on('.btn-collapse', 'click', function () {\n var btnLabelCollapsed = this.getAttribute('data-btn-text-collapsed');\n var btnLabelNotCollapsed = this.getAttribute('data-btn-text-not-collapsed');\n var target = this.getAttribute('data-target');\n var targetElement = d.querySelector(target);\n var html = this.innerHTML;\n if (this.classList.contains('collapsed')) {\n html = html.replace(btnLabelCollapsed, btnLabelNotCollapsed);\n } else {\n html = html.replace(btnLabelNotCollapsed, btnLabelCollapsed);\n }\n this.innerHTML = html;\n this.classList.toggle('collapsed');\n targetElement.classList.toggle('invisible');\n });\n\n searxng.on('.media-loader', 'click', function () {\n var target = this.getAttribute('data-target');\n var iframe_load = d.querySelector(target + ' > iframe');\n var srctest = iframe_load.getAttribute('src');\n if (srctest === null || srctest === undefined || srctest === false) {\n iframe_load.setAttribute('src', iframe_load.getAttribute('data-src'));\n }\n });\n\n searxng.on('#copy_url', 'click', function () {\n var target = this.parentElement.querySelector('pre');\n navigator.clipboard.writeText(target.innerText);\n this.innerText = this.dataset.copiedText;\n });\n\n // searxng.selectImage (gallery)\n // -----------------------------\n\n // setTimeout() ID, needed to cancel *last* loadImage\n let imgTimeoutID;\n\n // progress spinner, while an image is loading\n const imgLoaderSpinner = d.createElement('div');\n imgLoaderSpinner.classList.add('loader');\n\n // singleton image object, which is used for all loading processes of a\n // detailed image\n const imgLoader = new Image();\n\n const loadImage = (imgSrc, onSuccess) => {\n // if defered image load exists, stop defered task.\n if (imgTimeoutID) clearTimeout(imgTimeoutID);\n\n // defer load of the detail image for 1 sec\n imgTimeoutID = setTimeout(() => {\n imgLoader.src = imgSrc;\n }, 1000);\n\n // set handlers in the on-properties\n imgLoader.onload = () => {\n onSuccess();\n imgLoaderSpinner.remove();\n };\n imgLoader.onerror = () => {\n imgLoaderSpinner.remove();\n };\n };\n\n searxng.selectImage = (resultElement) => {\n\n // add a class that can be evaluated in the CSS and indicates that the\n // detail view is open\n d.getElementById('results').classList.add('image-detail-open');\n\n // add a hash to the browser history so that pressing back doesn't return\n // to the previous page this allows us to dismiss the image details on\n // pressing the back button on mobile devices\n window.location.hash = '#image-viewer';\n\n searxng.scrollPageToSelected();\n\n // if there is none element given by the caller, stop here\n if (!resultElement) return;\n\n // find object in the element, if there is none, stop here.\n const img = resultElement.querySelector('.result-images-source img');\n if (!img) return;\n\n // \n const src = img.getAttribute('data-src');\n\n // already loaded high-res image or no high-res image available\n if (!src) return;\n\n // use the image thumbnail until the image is fully loaded\n const thumbnail = resultElement.querySelector('.image_thumbnail');\n img.src = thumbnail.src;\n\n // show a progress spinner\n const detailElement = resultElement.querySelector('.detail');\n detailElement.appendChild(imgLoaderSpinner);\n\n // load full size image in background\n loadImage(src, () => {\n // after the singelton loadImage has loaded the detail image into the\n // cache, it can be used in the origin as src property.\n img.src = src;\n img.removeAttribute('data-src');\n });\n };\n\n searxng.closeDetail = function () {\n d.getElementById('results').classList.remove('image-detail-open');\n // remove #image-viewer hash from url by navigating back\n if (window.location.hash == '#image-viewer') window.history.back();\n searxng.scrollPageToSelected();\n };\n searxng.on('.result-detail-close', 'click', e => {\n e.preventDefault();\n searxng.closeDetail();\n });\n searxng.on('.result-detail-previous', 'click', e => {\n e.preventDefault();\n searxng.selectPrevious(false);\n });\n searxng.on('.result-detail-next', 'click', e => {\n e.preventDefault();\n searxng.selectNext(false);\n });\n\n // listen for the back button to be pressed and dismiss the image details when called\n window.addEventListener('hashchange', () => {\n if (window.location.hash != '#image-viewer') searxng.closeDetail();\n });\n\n d.querySelectorAll('.swipe-horizontal').forEach(\n obj => {\n obj.addEventListener('swiped-left', function () {\n searxng.selectNext(false);\n });\n obj.addEventListener('swiped-right', function () {\n searxng.selectPrevious(false);\n });\n }\n );\n\n w.addEventListener('scroll', function () {\n var e = d.getElementById('backToTop'),\n scrollTop = document.documentElement.scrollTop || document.body.scrollTop,\n results = d.getElementById('results');\n if (e !== null) {\n if (scrollTop >= 100) {\n results.classList.add('scrolling');\n } else {\n results.classList.remove('scrolling');\n }\n }\n }, true);\n\n });\n\n})(window, document, window.searxng);\n","(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.AutoComplete = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i @baptistedonaux\n */\nvar AutoComplete = /** @class */ (function () {\n // Constructor\n function AutoComplete(params, selector) {\n if (params === void 0) { params = {}; }\n if (selector === void 0) { selector = \"[data-autocomplete]\"; }\n if (Array.isArray(selector)) {\n selector.forEach(function (s) {\n new AutoComplete(params, s);\n });\n }\n else if (typeof selector == \"string\") {\n var elements = document.querySelectorAll(selector);\n Array.prototype.forEach.call(elements, function (input) {\n new AutoComplete(params, input);\n });\n }\n else {\n var specificParams = AutoComplete.merge(AutoComplete.defaults, params, {\n DOMResults: document.createElement(\"div\")\n });\n AutoComplete.prototype.create(specificParams, selector);\n return specificParams;\n }\n }\n AutoComplete.prototype.create = function (params, element) {\n params.Input = element;\n if (params.Input.nodeName.match(/^INPUT$/i) && (params.Input.hasAttribute(\"type\") === false || params.Input.getAttribute(\"type\").match(/^TEXT|SEARCH$/i))) {\n params.Input.setAttribute(\"autocomplete\", \"off\");\n params._Position(params);\n params.Input.parentNode.appendChild(params.DOMResults);\n params.$Listeners = {\n blur: params._Blur.bind(params),\n destroy: AutoComplete.prototype.destroy.bind(null, params),\n focus: params._Focus.bind(params),\n keyup: AutoComplete.prototype.event.bind(null, params, EventType.KEYUP),\n keydown: AutoComplete.prototype.event.bind(null, params, EventType.KEYDOWN),\n position: params._Position.bind(params)\n };\n for (var event in params.$Listeners) {\n params.Input.addEventListener(event, params.$Listeners[event]);\n }\n }\n };\n AutoComplete.prototype.getEventsByType = function (params, type) {\n var mappings = {};\n for (var key in params.KeyboardMappings) {\n var event = EventType.KEYUP;\n if (params.KeyboardMappings[key].Event !== undefined) {\n event = params.KeyboardMappings[key].Event;\n }\n if (event == type) {\n mappings[key] = params.KeyboardMappings[key];\n }\n }\n return mappings;\n };\n AutoComplete.prototype.event = function (params, type, event) {\n var eventIdentifier = function (condition) {\n if ((match === true && mapping.Operator == ConditionOperator.AND) || (match === false && mapping.Operator == ConditionOperator.OR)) {\n condition = AutoComplete.merge({\n Not: false\n }, condition);\n if (condition.hasOwnProperty(\"Is\")) {\n if (condition.Is == event.keyCode) {\n match = !condition.Not;\n }\n else {\n match = condition.Not;\n }\n }\n else if (condition.hasOwnProperty(\"From\") && condition.hasOwnProperty(\"To\")) {\n if (event.keyCode >= condition.From && event.keyCode <= condition.To) {\n match = !condition.Not;\n }\n else {\n match = condition.Not;\n }\n }\n }\n };\n for (var name in AutoComplete.prototype.getEventsByType(params, type)) {\n var mapping = AutoComplete.merge({\n Operator: ConditionOperator.AND\n }, params.KeyboardMappings[name]), match = ConditionOperator.AND == mapping.Operator;\n mapping.Conditions.forEach(eventIdentifier);\n if (match === true) {\n mapping.Callback.call(params, event);\n }\n }\n };\n AutoComplete.prototype.makeRequest = function (params, callback, callbackErr) {\n var propertyHttpHeaders = Object.getOwnPropertyNames(params.HttpHeaders), request = new XMLHttpRequest(), method = params._HttpMethod(), url = params._Url(), queryParams = params._Pre(), queryParamsStringify = encodeURIComponent(params._QueryArg()) + \"=\" + encodeURIComponent(queryParams);\n if (method.match(/^GET$/i)) {\n if (url.indexOf(\"?\") !== -1) {\n url += \"&\" + queryParamsStringify;\n }\n else {\n url += \"?\" + queryParamsStringify;\n }\n }\n request.open(method, url, true);\n for (var i = propertyHttpHeaders.length - 1; i >= 0; i--) {\n request.setRequestHeader(propertyHttpHeaders[i], params.HttpHeaders[propertyHttpHeaders[i]]);\n }\n request.onreadystatechange = function () {\n if (request.readyState == 4 && request.status == 200) {\n params.$Cache[queryParams] = request.response;\n callback(request.response);\n }\n else if (request.status >= 400) {\n callbackErr();\n }\n };\n return request;\n };\n AutoComplete.prototype.ajax = function (params, request, timeout) {\n if (timeout === void 0) { timeout = true; }\n if (params.$AjaxTimer) {\n window.clearTimeout(params.$AjaxTimer);\n }\n if (timeout === true) {\n params.$AjaxTimer = window.setTimeout(AutoComplete.prototype.ajax.bind(null, params, request, false), params.Delay);\n }\n else {\n if (params.Request) {\n params.Request.abort();\n }\n params.Request = request;\n params.Request.send(params._QueryArg() + \"=\" + params._Pre());\n }\n };\n AutoComplete.prototype.cache = function (params, callback, callbackErr) {\n var response = params._Cache(params._Pre());\n if (response === undefined) {\n var request = AutoComplete.prototype.makeRequest(params, callback, callbackErr);\n AutoComplete.prototype.ajax(params, request);\n }\n else {\n callback(response);\n }\n };\n AutoComplete.prototype.destroy = function (params) {\n for (var event in params.$Listeners) {\n params.Input.removeEventListener(event, params.$Listeners[event]);\n }\n params.DOMResults.parentNode.removeChild(params.DOMResults);\n };\n AutoComplete.merge = function () {\n var merge = {}, tmp;\n for (var i = 0; i < arguments.length; i++) {\n for (tmp in arguments[i]) {\n merge[tmp] = arguments[i][tmp];\n }\n }\n return merge;\n };\n AutoComplete.defaults = {\n Delay: 150,\n EmptyMessage: \"No result here\",\n Highlight: {\n getRegex: function (value) {\n return new RegExp(value, \"ig\");\n },\n transform: function (value) {\n return \"\" + value + \"\";\n }\n },\n HttpHeaders: {\n \"Content-type\": \"application/x-www-form-urlencoded\"\n },\n Limit: 0,\n MinChars: 0,\n HttpMethod: \"GET\",\n QueryArg: \"q\",\n Url: null,\n KeyboardMappings: {\n \"Enter\": {\n Conditions: [{\n Is: 13,\n Not: false\n }],\n Callback: function (event) {\n if (this.DOMResults.getAttribute(\"class\").indexOf(\"open\") != -1) {\n var liActive = this.DOMResults.querySelector(\"li.active\");\n if (liActive !== null) {\n event.preventDefault();\n this._Select(liActive);\n this.DOMResults.setAttribute(\"class\", \"autocomplete\");\n }\n }\n },\n Operator: ConditionOperator.AND,\n Event: EventType.KEYDOWN\n },\n \"KeyUpAndDown_down\": {\n Conditions: [{\n Is: 38,\n Not: false\n },\n {\n Is: 40,\n Not: false\n }],\n Callback: function (event) {\n event.preventDefault();\n },\n Operator: ConditionOperator.OR,\n Event: EventType.KEYDOWN\n },\n \"KeyUpAndDown_up\": {\n Conditions: [{\n Is: 38,\n Not: false\n },\n {\n Is: 40,\n Not: false\n }],\n Callback: function (event) {\n event.preventDefault();\n var first = this.DOMResults.querySelector(\"li:first-child:not(.locked)\"), last = this.DOMResults.querySelector(\"li:last-child:not(.locked)\"), active = this.DOMResults.querySelector(\"li.active\");\n if (active) {\n var currentIndex = Array.prototype.indexOf.call(active.parentNode.children, active), position = currentIndex + (event.keyCode - 39), lisCount = this.DOMResults.getElementsByTagName(\"li\").length;\n if (position < 0) {\n position = lisCount - 1;\n }\n else if (position >= lisCount) {\n position = 0;\n }\n active.classList.remove(\"active\");\n active.parentElement.children.item(position).classList.add(\"active\");\n }\n else if (last && event.keyCode == 38) {\n last.classList.add(\"active\");\n }\n else if (first) {\n first.classList.add(\"active\");\n }\n },\n Operator: ConditionOperator.OR,\n Event: EventType.KEYUP\n },\n \"AlphaNum\": {\n Conditions: [{\n Is: 13,\n Not: true\n }, {\n From: 35,\n To: 40,\n Not: true\n }],\n Callback: function () {\n var oldValue = this.Input.getAttribute(\"data-autocomplete-old-value\"), currentValue = this._Pre();\n if (currentValue !== \"\" && currentValue.length >= this._MinChars()) {\n if (!oldValue || currentValue != oldValue) {\n this.DOMResults.setAttribute(\"class\", \"autocomplete open\");\n }\n AutoComplete.prototype.cache(this, function (response) {\n this._Render(this._Post(response));\n this._Open();\n }.bind(this), this._Error);\n }\n else {\n this._Close();\n }\n },\n Operator: ConditionOperator.AND,\n Event: EventType.KEYUP\n }\n },\n DOMResults: null,\n Request: null,\n Input: null,\n /**\n * Return the message when no result returns\n */\n _EmptyMessage: function () {\n var emptyMessage = \"\";\n if (this.Input.hasAttribute(\"data-autocomplete-empty-message\")) {\n emptyMessage = this.Input.getAttribute(\"data-autocomplete-empty-message\");\n }\n else if (this.EmptyMessage !== false) {\n emptyMessage = this.EmptyMessage;\n }\n else {\n emptyMessage = \"\";\n }\n return emptyMessage;\n },\n /**\n * Returns the maximum number of results\n */\n _Limit: function () {\n var limit = this.Input.getAttribute(\"data-autocomplete-limit\");\n if (isNaN(limit) || limit === null) {\n return this.Limit;\n }\n return parseInt(limit, 10);\n },\n /**\n * Returns the minimum number of characters entered before firing ajax\n */\n _MinChars: function () {\n var minchars = this.Input.getAttribute(\"data-autocomplete-minchars\");\n if (isNaN(minchars) || minchars === null) {\n return this.MinChars;\n }\n return parseInt(minchars, 10);\n },\n /**\n * Apply transformation on labels response\n */\n _Highlight: function (label) {\n return label.replace(this.Highlight.getRegex(this._Pre()), this.Highlight.transform);\n },\n /**\n * Returns the HHTP method to use\n */\n _HttpMethod: function () {\n if (this.Input.hasAttribute(\"data-autocomplete-method\")) {\n return this.Input.getAttribute(\"data-autocomplete-method\");\n }\n return this.HttpMethod;\n },\n /**\n * Returns the query param to use\n */\n _QueryArg: function () {\n if (this.Input.hasAttribute(\"data-autocomplete-param-name\")) {\n return this.Input.getAttribute(\"data-autocomplete-param-name\");\n }\n return this.QueryArg;\n },\n /**\n * Returns the URL to use for AJAX request\n */\n _Url: function () {\n if (this.Input.hasAttribute(\"data-autocomplete\")) {\n return this.Input.getAttribute(\"data-autocomplete\");\n }\n return this.Url;\n },\n /**\n * Manage the close\n */\n _Blur: function (now) {\n if (now === void 0) { now = false; }\n if (now) {\n this._Close();\n }\n else {\n var params = this;\n setTimeout(function () {\n params._Blur(true);\n }, 150);\n }\n },\n /**\n * Manage the cache\n */\n _Cache: function (value) {\n return this.$Cache[value];\n },\n /**\n * Manage the open\n */\n _Focus: function () {\n var oldValue = this.Input.getAttribute(\"data-autocomplete-old-value\");\n if ((!oldValue || this.Input.value != oldValue) && this._MinChars() <= this.Input.value.length) {\n this.DOMResults.setAttribute(\"class\", \"autocomplete open\");\n }\n },\n /**\n * Bind all results item if one result is opened\n */\n _Open: function () {\n var params = this;\n Array.prototype.forEach.call(this.DOMResults.getElementsByTagName(\"li\"), function (li) {\n if (li.getAttribute(\"class\") != \"locked\") {\n li.onclick = function () {\n params._Select(li);\n };\n }\n });\n },\n _Close: function () {\n this.DOMResults.setAttribute(\"class\", \"autocomplete\");\n },\n /**\n * Position the results HTML element\n */\n _Position: function () {\n this.DOMResults.setAttribute(\"class\", \"autocomplete\");\n this.DOMResults.setAttribute(\"style\", \"top:\" + (this.Input.offsetTop + this.Input.offsetHeight) + \"px;left:\" + this.Input.offsetLeft + \"px;width:\" + this.Input.clientWidth + \"px;\");\n },\n /**\n * Execute the render of results DOM element\n */\n _Render: function (response) {\n var ul;\n if (typeof response == \"string\") {\n ul = this._RenderRaw(response);\n }\n else {\n ul = this._RenderResponseItems(response);\n }\n if (this.DOMResults.hasChildNodes()) {\n this.DOMResults.removeChild(this.DOMResults.childNodes[0]);\n }\n this.DOMResults.appendChild(ul);\n },\n /**\n * ResponseItems[] rendering\n */\n _RenderResponseItems: function (response) {\n var ul = document.createElement(\"ul\"), li = document.createElement(\"li\"), limit = this._Limit();\n // Order\n if (limit < 0) {\n response = response.reverse();\n }\n else if (limit === 0) {\n limit = response.length;\n }\n for (var item = 0; item < Math.min(Math.abs(limit), response.length); item++) {\n li.innerHTML = response[item].Label;\n li.setAttribute(\"data-autocomplete-value\", response[item].Value);\n ul.appendChild(li);\n li = document.createElement(\"li\");\n }\n return ul;\n },\n /**\n * string response rendering (RAW HTML)\n */\n _RenderRaw: function (response) {\n var ul = document.createElement(\"ul\"), li = document.createElement(\"li\");\n if (response.length > 0) {\n this.DOMResults.innerHTML = response;\n }\n else {\n var emptyMessage = this._EmptyMessage();\n if (emptyMessage !== \"\") {\n li.innerHTML = emptyMessage;\n li.setAttribute(\"class\", \"locked\");\n ul.appendChild(li);\n }\n }\n return ul;\n },\n /**\n * Deal with request response\n */\n _Post: function (response) {\n try {\n var returnResponse = [];\n //JSON return\n var json = JSON.parse(response);\n if (Object.keys(json).length === 0) {\n return \"\";\n }\n if (Array.isArray(json)) {\n for (var i = 0; i < Object.keys(json).length; i++) {\n returnResponse[returnResponse.length] = { \"Value\": json[i], \"Label\": this._Highlight(json[i]) };\n }\n }\n else {\n for (var value in json) {\n returnResponse.push({\n \"Value\": value,\n \"Label\": this._Highlight(json[value])\n });\n }\n }\n return returnResponse;\n }\n catch (event) {\n //HTML return\n return response;\n }\n },\n /**\n * Return the autocomplete value to send (before request)\n */\n _Pre: function () {\n return this.Input.value;\n },\n /**\n * Choice one result item\n */\n _Select: function (item) {\n if (item.hasAttribute(\"data-autocomplete-value\")) {\n this.Input.value = item.getAttribute(\"data-autocomplete-value\");\n }\n else {\n this.Input.value = item.innerHTML;\n }\n this.Input.setAttribute(\"data-autocomplete-old-value\", this.Input.value);\n },\n /**\n * Handle HTTP error on the request\n */\n _Error: function () {\n },\n $AjaxTimer: null,\n $Cache: {},\n $Listeners: {}\n };\n return AutoComplete;\n}());\nmodule.exports = AutoComplete;\n\n},{}]},{},[1])(1)\n});\n","/* SPDX-License-Identifier: AGPL-3.0-or-later */\n/* exported AutoComplete */\n\nimport AutoComplete from \"../../../node_modules/autocomplete-js/dist/autocomplete.js\";\n\n(function (w, d, searxng) {\n 'use strict';\n\n var qinput_id = \"q\", qinput;\n\n const isMobile = window.matchMedia(\"only screen and (max-width: 50em)\").matches;\n\n function submitIfQuery () {\n if (qinput.value.length > 0) {\n var search = document.getElementById('search');\n setTimeout(search.submit.bind(search), 0);\n }\n }\n\n function createClearButton (qinput) {\n var cs = document.getElementById('clear_search');\n var updateClearButton = function () {\n if (qinput.value.length === 0) {\n cs.classList.add(\"empty\");\n } else {\n cs.classList.remove(\"empty\");\n }\n };\n\n // update status, event listener\n updateClearButton();\n cs.addEventListener('click', function (ev) {\n qinput.value = '';\n qinput.focus();\n updateClearButton();\n ev.preventDefault();\n });\n qinput.addEventListener('input', updateClearButton, false);\n }\n\n searxng.ready(function () {\n qinput = d.getElementById(qinput_id);\n\n if (qinput !== null) {\n // clear button\n createClearButton(qinput);\n\n // autocompleter\n if (searxng.settings.autocomplete) {\n searxng.autocomplete = AutoComplete.call(w, {\n Url: \"./autocompleter\",\n EmptyMessage: searxng.settings.translations.no_item_found,\n HttpMethod: searxng.settings.method,\n HttpHeaders: {\n \"Content-type\": \"application/x-www-form-urlencoded\",\n \"X-Requested-With\": \"XMLHttpRequest\"\n },\n MinChars: searxng.settings.autocomplete_min,\n Delay: 300,\n _Position: function () {},\n _Open: function () {\n var params = this;\n Array.prototype.forEach.call(this.DOMResults.getElementsByTagName(\"li\"), function (li) {\n if (li.getAttribute(\"class\") != \"locked\") {\n li.onmousedown = function () {\n params._Select(li);\n };\n }\n });\n },\n _Select: function (item) {\n AutoComplete.defaults._Select.call(this, item);\n var form = item.closest('form');\n if (form) {\n form.submit();\n }\n },\n _MinChars: function () {\n if (this.Input.value.indexOf('!') > -1) {\n return 0;\n } else {\n return AutoComplete.defaults._MinChars.call(this);\n }\n },\n KeyboardMappings: Object.assign({}, AutoComplete.defaults.KeyboardMappings, {\n \"KeyUpAndDown_up\": Object.assign({}, AutoComplete.defaults.KeyboardMappings.KeyUpAndDown_up, {\n Callback: function (event) {\n AutoComplete.defaults.KeyboardMappings.KeyUpAndDown_up.Callback.call(this, event);\n var liActive = this.DOMResults.querySelector(\"li.active\");\n if (liActive) {\n AutoComplete.defaults._Select.call(this, liActive);\n }\n },\n }),\n \"Tab\": Object.assign({}, AutoComplete.defaults.KeyboardMappings.Enter, {\n Conditions: [{\n Is: 9,\n Not: false\n }],\n Callback: function (event) {\n if (this.DOMResults.getAttribute(\"class\").indexOf(\"open\") != -1) {\n var liActive = this.DOMResults.querySelector(\"li.active\");\n if (liActive !== null) {\n AutoComplete.defaults._Select.call(this, liActive);\n event.preventDefault();\n }\n }\n },\n })\n }),\n }, \"#\" + qinput_id);\n }\n\n /*\n Monkey patch autocomplete.js to fix a bug\n With the POST method, the values are not URL encoded: query like \"1 + 1\" are sent as \"1 1\" since space are URL encoded as plus.\n See HTML specifications:\n * HTML5: https://url.spec.whatwg.org/#concept-urlencoded-serializer\n * HTML4: https://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.1\n\n autocomplete.js does not URL encode the name and values:\n https://github.com/autocompletejs/autocomplete.js/blob/87069524f3b95e68f1b54d8976868e0eac1b2c83/src/autocomplete.ts#L665\n\n The monkey patch overrides the compiled version of the ajax function.\n See https://github.com/autocompletejs/autocomplete.js/blob/87069524f3b95e68f1b54d8976868e0eac1b2c83/dist/autocomplete.js#L143-L158\n The patch changes only the line 156 from\n params.Request.send(params._QueryArg() + \"=\" + params._Pre());\n to\n params.Request.send(encodeURIComponent(params._QueryArg()) + \"=\" + encodeURIComponent(params._Pre()));\n\n Related to:\n * https://github.com/autocompletejs/autocomplete.js/issues/78\n * https://github.com/searxng/searxng/issues/1695\n */\n AutoComplete.prototype.ajax = function (params, request, timeout) {\n if (timeout === void 0) { timeout = true; }\n if (params.$AjaxTimer) {\n window.clearTimeout(params.$AjaxTimer);\n }\n if (timeout === true) {\n params.$AjaxTimer = window.setTimeout(AutoComplete.prototype.ajax.bind(null, params, request, false), params.Delay);\n } else {\n if (params.Request) {\n params.Request.abort();\n }\n params.Request = request;\n params.Request.send(encodeURIComponent(params._QueryArg()) + \"=\" + encodeURIComponent(params._Pre()));\n }\n };\n\n if (!isMobile && document.querySelector('.index_endpoint')) {\n qinput.focus();\n }\n }\n\n // Additionally to searching when selecting a new category, we also\n // automatically start a new search request when the user changes a search\n // filter (safesearch, time range or language) (this requires JavaScript\n // though)\n if (\n qinput !== null\n && searxng.settings.search_on_category_select\n // If .search_filters is undefined (invisible) we are on the homepage and\n // hence don't have to set any listeners\n && d.querySelector(\".search_filters\") != null\n ) {\n searxng.on(d.getElementById('safesearch'), 'change', submitIfQuery);\n searxng.on(d.getElementById('time_range'), 'change', submitIfQuery);\n searxng.on(d.getElementById('language'), 'change', submitIfQuery);\n }\n\n const categoryButtons = d.querySelectorAll(\"button.category_button\");\n for (let button of categoryButtons) {\n searxng.on(button, 'click', (event) => {\n if (event.shiftKey) {\n event.preventDefault();\n button.classList.toggle(\"selected\");\n return;\n }\n\n // manually deselect the old selection when a new category is selected\n const selectedCategories = d.querySelectorAll(\"button.category_button.selected\");\n for (let categoryButton of selectedCategories) {\n categoryButton.classList.remove(\"selected\");\n }\n button.classList.add(\"selected\");\n })\n }\n\n // override form submit action to update the actually selected categories\n const form = d.querySelector(\"#search\");\n if (form != null) {\n searxng.on(form, 'submit', (event) => {\n event.preventDefault();\n const categoryValuesInput = d.querySelector(\"#selected-categories\");\n if (categoryValuesInput) {\n let categoryValues = [];\n for (let categoryButton of categoryButtons) {\n if (categoryButton.classList.contains(\"selected\")) {\n categoryValues.push(categoryButton.name.replace(\"category_\", \"\"));\n }\n }\n categoryValuesInput.value = categoryValues.join(\",\");\n }\n form.submit();\n });\n }\n });\n\n})(window, document, window.searxng);\n"],"names":["w","ElementPrototype","selector","node","nodes","i","callbackSafe","callback","el","e","exception","searxng","obj","eventType","useCapture","found","method","url","data","resolve","reject","req","ex","src","path","id","s","newNode","referenceNode","getEndpoint","className","d","onlyImages","newLoadSpinner","loader","replaceChildrenWith","element","children","child","loadNextPage","form","formData","response","nextPageDoc","articleList","paginationElement","articleElement","err","intersectionObserveOptions","observedSelector","observer","entries","paginationEntry","isElementInDetail","getResultElement","isImageResult","resultElement","highlightResult","baseKeyBinding","removeFocus","copyURLToClipboard","toggleHelp","searchInputFocus","GoToNextPage","openResult","GoToPreviousPage","reloadPage","keyBindingLayouts","scrollPage","scrollPageTo","keyBindings","tagName","which","noScroll","keepFocus","current","effectiveWhich","next","results","top","bot","etop","ebot","link","scrollPageToSelected","pageButtonClick","css_selector","button","sel","wtop","wheight","offset","wbot","amount","position","nav","q","len","newTab","initHelpContent","divElement","categories","key","sorted","a","b","html","cat","lastCategory","first","cj","helpPanel","body","currentUrlElement","event","leaflet_target","map_lon","map_lat","map_zoom","map_boundingbox","map_geojson","map_bounds","southWest","northEast","map","osmMapnikUrl","osmMapnikAttrib","osmMapnik","osmWikimediaUrl","osmWikimediaAttrib","osmWikimedia","baseLayers","engine_descriptions","load_engine_descriptions","content","engine_name","description","elements","source","handleEnter","enableAllEngines","disableAllEngines","engineToggles","toggleEngines","enable","copyHashButton","img","btnLabelCollapsed","btnLabelNotCollapsed","target","targetElement","iframe_load","srctest","imgTimeoutID","imgLoaderSpinner","imgLoader","loadImage","imgSrc","onSuccess","thumbnail","scrollTop","f","module","r","n","t","o","c","require","u","p","exports","ConditionOperator","EventType","AutoComplete","params","input","specificParams","type","mappings","eventIdentifier","condition","match","mapping","name","callbackErr","propertyHttpHeaders","request","queryParams","queryParamsStringify","timeout","merge","tmp","value","liActive","last","active","currentIndex","lisCount","oldValue","currentValue","emptyMessage","limit","minchars","label","now","li","ul","item","returnResponse","json","qinput_id","qinput","isMobile","submitIfQuery","search","createClearButton","cs","updateClearButton","ev","categoryButtons","selectedCategories","categoryButton","categoryValuesInput","categoryValues"],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAMA,OAAO,QAAW,SAAUA,EAAG,EAAG,CAQ5BA,EAAE,SACH,SAAUC,EAAkB,CAC3BA,EAAiB,QAAUA,EAAiB,SAC5CA,EAAiB,iBACjBA,EAAiB,uBACjBA,EAAiB,mBACjB,SAAUC,EAAU,CAElB,QADIC,EAAO,KAAMC,GAASD,EAAK,YAAcA,EAAK,UAAU,iBAAiBD,CAAQ,EAAGG,EAAI,GACrFD,EAAM,EAAEC,CAAC,GAAKD,EAAMC,CAAC,GAAKF,GAAK,CACtC,MAAO,CAAC,CAACC,EAAMC,CAAC,CACjB,CACP,EAAO,QAAQ,SAAS,EAGtB,SAASC,EAAcC,EAAUC,EAAIC,EAAG,CACtC,GAAI,CACFF,EAAS,KAAKC,EAAIC,CAAC,CACpB,OAAQC,EAAW,CAClB,QAAQ,IAAIA,CAAS,CAC3B,CACA,CAEE,IAAIC,EAAU,OAAO,SAAW,CAAE,EAElCA,EAAQ,GAAK,SAAUC,EAAKC,EAAWN,EAAUO,EAAY,CAC3DA,EAAaA,GAAc,GACvB,OAAOF,GAAQ,SAEjBA,EAAI,iBAAiBC,EAAWN,EAAUO,CAAU,EAGpD,EAAE,iBAAiBD,EAAW,SAAU,EAAG,CAEzC,QADIL,EAAK,EAAE,QAAU,EAAE,WAAYO,EAAQ,GACpCP,GAAMA,EAAG,SAAWA,IAAO,GAAK,EAAEO,EAAQP,EAAG,QAAQI,CAAG,IAAIJ,EAAKA,EAAG,cACvEO,GAAOT,EAAaC,EAAUC,EAAI,CAAC,CACxC,EAAEM,CAAU,CAEhB,EAEDH,EAAQ,MAAQ,SAAUJ,EAAU,CAC9B,SAAS,YAAc,UACzBA,EAAS,KAAKP,CAAC,EAEfA,EAAE,iBAAiB,mBAAoBO,EAAS,KAAKP,CAAC,CAAC,CAE1D,EAEDW,EAAQ,KAAO,SAAUK,EAAQC,EAAKC,EAAO,KAAM,CACjD,OAAO,IAAI,QAAQ,SAAUC,EAASC,EAAQ,CAC5C,GAAI,CACF,IAAIC,EAAM,IAAI,eACdA,EAAI,KAAKL,EAAQC,EAAK,EAAI,EAC1BI,EAAI,QAAU,IAGdA,EAAI,OAAS,UAAY,CACnBA,EAAI,QAAU,IAChBF,EAAQE,EAAI,SAAUA,EAAI,YAAY,EAEtCD,EAAO,MAAMC,EAAI,UAAU,CAAC,CAE/B,EAGDA,EAAI,QAAU,UAAY,CACxBD,EAAO,MAAM,eAAe,CAAC,CAC9B,EAEDC,EAAI,QAAU,UAAY,CACxBD,EAAO,MAAM,wBAAwB,CAAC,CACvC,EAEDC,EAAI,UAAY,UAAY,CAC1BD,EAAO,MAAM,SAAS,CAAC,CACjC,EAGYF,EACFG,EAAI,KAAKH,CAAI,EAEbG,EAAI,KAAM,CAEb,OAAQC,EAAI,CACXF,EAAOE,CAAE,CACjB,CACA,CAAK,CACF,EAEDX,EAAQ,UAAY,SAAUY,EAAK,CACjC,IAAIC,EAAOb,EAAQ,SAAS,kBAAoB,IAAMY,EACpDE,EAAK,SAAWF,EAAI,QAAQ,IAAK,GAAG,EACpCG,EAAI,EAAE,eAAeD,CAAE,EACrBC,IAAM,OACRA,EAAI,EAAE,cAAc,MAAM,EAC1BA,EAAE,aAAa,KAAMD,CAAE,EACvBC,EAAE,aAAa,MAAO,YAAY,EAClCA,EAAE,aAAa,OAAQ,UAAU,EACjCA,EAAE,aAAa,OAAQF,CAAI,EAC3B,EAAE,KAAK,YAAYE,CAAC,EAEvB,EAEDf,EAAQ,WAAa,SAAUY,EAAKhB,EAAU,CAC5C,IAAIiB,EAAOb,EAAQ,SAAS,kBAAoB,IAAMY,EACpDE,EAAK,UAAYF,EAAI,QAAQ,IAAK,GAAG,EACrCG,EAAI,EAAE,eAAeD,CAAE,EACzB,GAAIC,IAAM,KACRA,EAAI,EAAE,cAAc,QAAQ,EAC5BA,EAAE,aAAa,KAAMD,CAAE,EACvBC,EAAE,aAAa,MAAOF,CAAI,EAC1BE,EAAE,OAASnB,EACXmB,EAAE,QAAU,UAAY,CACtBA,EAAE,aAAa,QAAS,GAAG,CAC5B,EACD,EAAE,KAAK,YAAYA,CAAC,UACVA,EAAE,aAAa,OAAO,EAOhC,QAAQ,IAAI,mCAAqCF,EAAO,eAAe,MANvE,IAAI,CACFjB,EAAS,MAAMmB,EAAG,EAAE,CACrB,OAAQhB,EAAW,CAClB,QAAQ,IAAIA,CAAS,CAC7B,CAIG,EAEDC,EAAQ,aAAe,SAAUgB,EAASC,EAAe,CACvDA,EAAc,WAAW,aAAaD,EAASC,CAAa,CAC7D,EAEDjB,EAAQ,YAAc,SAAUgB,EAASC,EAAe,CACtDA,EAAc,WAAW,YAAYD,EAASC,EAAc,WAAW,CACxE,EAEDjB,EAAQ,GAAG,SAAU,QAAS,UAAY,CACxC,KAAK,WAAW,UAAU,IAAI,WAAW,CAC7C,CAAG,EAED,SAASkB,GAAe,CACtB,QAASC,KAAa,EAAE,qBAAqB,MAAM,EAAE,CAAC,EAAE,UAAU,SAChE,GAAIA,EAAU,SAAS,WAAW,EAChC,OAAOA,EAAU,MAAM,GAAG,EAAE,CAAC,EAGjC,MAAO,EACX,CAEE,OAAAnB,EAAQ,SAAWkB,EAAa,EAEzBlB,CACT,EAAG,OAAQ,QAAQ,EChKnB,QAAQ,MAAM,UAAY,CAQxB,GALA,QAAQ,0BACN,yBAA0B,QAC1B,8BAA+B,QAC/B,sBAAuB,OAAO,0BAA0B,UAEtD,QAAQ,WAAa,UACvB,OAGF,GAAI,CAAC,QAAQ,0BAA2B,CACtC,QAAQ,IAAI,oCAAoC,EAChD,MACJ,CAEE,IAAIoB,EAAI,SACR,IAAIC,EAAaD,EAAE,eAAe,SAAS,EAAE,UAAU,SAAS,sBAAsB,EAEtF,SAASE,GAAkB,CACzB,IAAIC,EAASH,EAAE,cAAc,KAAK,EAClC,OAAAG,EAAO,UAAU,IAAI,QAAQ,EACtBA,CACX,CAEE,SAASC,EAAqBC,EAASC,EAAU,CAC/CD,EAAQ,YAAc,GACtBC,EAAS,QAAQC,GAASF,EAAQ,YAAYE,CAAK,CAAC,CACxD,CAEE,SAASC,EAAchC,EAAU,CAC/B,IAAIiC,EAAOT,EAAE,cAAc,4BAA4B,EACvD,GAAKS,EAGL,CAAAL,EAAoBJ,EAAE,cAAc,aAAa,EAAG,CAAEE,EAAc,EAAI,EACxE,IAAIQ,EAAW,IAAI,SAASD,CAAI,EAChC,QAAQ,KAAK,OAAQT,EAAE,cAAc,SAAS,EAAE,aAAa,QAAQ,EAAGU,CAAQ,EAAE,KAChF,SAAUC,EAAU,CAClB,IAAIC,EAAc,IAAI,UAAS,EAAG,gBAAgBD,EAAU,WAAW,EACnEE,EAAcD,EAAY,iBAAiB,eAAe,EAC1DE,EAAoBF,EAAY,cAAc,aAAa,EAC/DZ,EAAE,cAAc,aAAa,EAAE,OAAQ,EACnCa,EAAY,OAAS,GAAK,CAACZ,GAE7BD,EAAE,cAAc,OAAO,EAAE,YAAYA,EAAE,cAAc,IAAI,CAAC,EAE5Da,EAAY,QAAQE,GAAkB,CACpCf,EAAE,cAAc,OAAO,EAAE,YAAYe,CAAc,CAC7D,CAAS,EACGD,IACFd,EAAE,cAAc,UAAU,EAAE,YAAYc,CAAiB,EACzDtC,EAAU,EAEpB,CACA,EAAM,MACA,SAAUwC,EAAK,CACb,QAAQ,IAAIA,CAAG,EACf,IAAI,EAAIhB,EAAE,cAAc,KAAK,EAC7B,EAAE,YAAc,QAAQ,SAAS,aAAa,wBAC9C,EAAE,UAAU,IAAI,cAAc,EAC9B,EAAE,aAAa,OAAQ,OAAO,EAC9BI,EAAoBJ,EAAE,cAAc,aAAa,EAAG,CAAE,CAAC,CAAE,CACjE,CACA,EACA,CAEE,GAAI,QAAQ,SAAS,iBAAmB,QAAQ,0BAA2B,CACzE,MAAMiB,EAA6B,CACjC,WAAY,OACb,EACKC,EAAmB,4BACnBC,EAAW,IAAI,qBAAqBC,GAAW,CACnD,MAAMC,EAAkBD,EAAQ,CAAC,EAC7BC,EAAgB,iBAClBF,EAAS,UAAUE,EAAgB,MAAM,EACzCb,EAAa,IAAMW,EAAS,QAAQnB,EAAE,cAAckB,CAAgB,EAAGD,CAA0B,CAAC,EAE1G,CAAK,EACDE,EAAS,QAAQnB,EAAE,cAAckB,CAAgB,EAAGD,CAA0B,CAClF,CAEA,CAAC,ECpFD,QAAQ,MAAM,UAAY,CAExB,SAASK,EAAmB7C,EAAI,CAC9B,KAAOA,IAAO,QAAW,CACvB,GAAIA,EAAG,UAAU,SAAS,QAAQ,EAChC,MAAO,GAET,GAAIA,EAAG,UAAU,SAAS,QAAQ,EAGhC,MAAO,GAETA,EAAKA,EAAG,UACd,CACI,MAAO,EACX,CAEE,SAAS8C,EAAkB9C,EAAI,CAC7B,KAAOA,IAAO,QAAW,CACvB,GAAIA,EAAG,UAAU,SAAS,QAAQ,EAChC,OAAOA,EAETA,EAAKA,EAAG,UACd,CAEA,CAEE,SAAS+C,EAAeC,EAAe,CACrC,OAAOA,GAAiBA,EAAc,UAAU,SAAS,eAAe,CAC5E,CAEE,QAAQ,GAAG,UAAW,QAAS,SAAU/C,EAAG,CAC1C,GAAI,CAAC4C,EAAkB5C,EAAE,MAAM,EAAG,CAChCgD,EAAgB,IAAI,EAAE,GAAM,EAAI,EAChC,IAAID,EAAgBF,EAAiB7C,EAAE,MAAM,EACzC8C,EAAcC,CAAa,IAC7B/C,EAAE,eAAgB,EAClB,QAAQ,YAAY+C,CAAa,EAEzC,CACA,CAAG,EAED,QAAQ,GAAG,YAAa,QAAS,SAAU/C,EAAG,CAC5C,GAAI,CAAC4C,EAAkB5C,EAAE,MAAM,EAAG,CAChC,IAAI+C,EAAgBF,EAAiB7C,EAAE,MAAM,EACzC+C,GAAiBA,EAAc,aAAa,mBAAmB,IAAM,MACvEC,EAAgBD,CAAa,EAAE,EAAI,EAEjCD,EAAcC,CAAa,GAC7B,QAAQ,YAAYA,CAAa,CAEzC,CACG,EAAE,EAAI,EAGP,IAAIE,EAAiB,CACnB,OAAU,CACR,IAAK,MACL,IAAKC,EACL,IAAK,sCACL,IAAK,SACN,EACD,EAAK,CACH,IAAK,IACL,IAAKC,EACL,IAAK,mDACL,IAAK,SACN,EACD,EAAK,CACH,IAAK,IACL,IAAKC,EACL,IAAK,qBACL,IAAK,OACN,EACD,EAAK,CACH,IAAK,IACL,IAAKC,EACL,IAAK,4BACL,IAAK,SACN,EACD,EAAK,CACH,IAAK,IACL,IAAKC,EAAc,EACnB,IAAK,kBACL,IAAK,SACN,EACD,EAAK,CACH,IAAK,IACL,IAAKC,EAAW,EAAK,EACrB,IAAK,qBACL,IAAK,SACN,EACD,EAAK,CACH,IAAK,IACL,IAAKC,EAAkB,EACvB,IAAK,sBACL,IAAK,SACN,EACD,EAAK,CACH,IAAK,IACL,IAAKC,EACL,IAAK,8BACL,IAAK,SACN,EACD,EAAK,CACH,IAAK,IACL,IAAKF,EAAW,EAAI,EACpB,IAAK,+BACL,IAAK,SACN,CACF,EACGG,EAAoB,CAEtB,QAAW,OAAO,OAChB,CACE,UAAa,CACX,IAAK,IACL,IAAKV,EAAgB,IAAI,EACzB,IAAK,gCACL,IAAK,SACN,EACD,WAAc,CACZ,IAAK,IACL,IAAKA,EAAgB,MAAM,EAC3B,IAAK,4BACL,IAAK,SACN,CACF,EAAEC,CAAc,EAEnB,IAAO,OAAO,OACZ,CACE,EAAK,CACH,IAAK,IACL,IAAKU,EAAW,CAAC,OAAO,WAAW,EACnC,IAAK,qBACL,IAAK,YACN,EACD,EAAK,CACH,IAAK,IACL,IAAKA,EAAW,OAAO,WAAW,EAClC,IAAK,uBACL,IAAK,YACN,EACD,EAAK,CACH,IAAK,IACL,IAAKA,EAAW,CAAC,OAAO,YAAc,CAAC,EACvC,IAAK,wBACL,IAAK,YACN,EACD,EAAK,CACH,IAAK,IACL,IAAKA,EAAW,OAAO,YAAc,CAAC,EACtC,IAAK,0BACL,IAAK,YACN,EACD,EAAK,CACH,IAAK,IACL,IAAKC,EAAa,CAAC,SAAS,KAAK,aAAc,KAAK,EACpD,IAAK,gCACL,IAAK,YACN,EACD,EAAK,CACH,IAAK,IACL,IAAKA,EAAa,SAAS,KAAK,aAAc,QAAQ,EACtD,IAAK,mCACL,IAAK,YACN,EACD,EAAK,CACH,IAAK,IACL,IAAKZ,EAAgB,IAAI,EACzB,IAAK,gCACL,IAAK,SACN,EACD,EAAK,CACH,IAAK,IACL,IAAKA,EAAgB,MAAM,EAC3B,IAAK,4BACL,IAAK,SACN,EACD,EAAK,CACH,IAAK,IACL,IAAKG,EACL,IAAK,mDACL,IAAK,SACN,CACT,EAASF,CAAc,CACvB,EAEMY,EAAcH,EAAkB,QAAQ,SAAS,OAAO,GAAKA,EAAkB,QAEnF,QAAQ,GAAG,SAAU,UAAW,SAAU1D,EAAG,CAE3C,GACE,OAAO,UAAU,eAAe,KAAK6D,EAAa7D,EAAE,GAAG,GAClD,CAACA,EAAE,SAAW,CAACA,EAAE,QACjB,CAACA,EAAE,UAAY,CAACA,EAAE,QACvB,CACA,IAAI8D,EAAU9D,EAAE,OAAO,QAAQ,YAAa,EACxCA,EAAE,MAAQ,SACZ6D,EAAY7D,EAAE,GAAG,EAAE,IAAIA,CAAC,GAEpBA,EAAE,SAAW,SAAS,MAAQ8D,IAAY,KAAOA,IAAY,YAC/D9D,EAAE,eAAgB,EAClB6D,EAAY7D,EAAE,GAAG,EAAE,IAAK,EAGlC,CACA,CAAG,EAED,SAASgD,EAAiBe,EAAO,CAC/B,OAAO,SAAUC,EAAUC,EAAW,CACpC,IAAIC,EAAU,SAAS,cAAc,4BAA4B,EAC/DC,EAAiBJ,EACnB,GAAIG,IAAY,KAAM,CAGpB,GADAA,EAAU,SAAS,cAAc,SAAS,EACtCA,IAAY,KAEd,QAGEH,IAAU,QAAUA,IAAU,QAChCI,EAAiBD,EAE3B,CAEM,IAAIE,EAAMC,EAAU,SAAS,iBAAiB,SAAS,EAGvD,GAFAA,EAAU,MAAM,KAAKA,CAAO,EAExB,OAAOF,GAAmB,SAC5BC,EAAOD,MAEP,QAAQA,EAAc,CACtB,IAAK,UAIH,QAHIG,EAAM,SAAS,gBAAgB,WAAa,SAAS,KAAK,UAC1DC,EAAMD,EAAM,SAAS,gBAAgB,aAEhC1E,EAAI,EAAGA,EAAIyE,EAAQ,OAAQzE,IAAK,CACvCwE,EAAOC,EAAQzE,CAAC,EAChB,IAAI4E,EAAOJ,EAAK,UACZK,EAAOD,EAAOJ,EAAK,aAEvB,GAAKK,GAAQF,GAASC,EAAOF,EAC3B,KAEd,CACU,MACF,IAAK,OACHF,EAAOC,EAAQA,EAAQ,QAAQH,CAAO,EAAI,CAAC,GAAKA,EAChD,MACF,IAAK,KACHE,EAAOC,EAAQA,EAAQ,QAAQH,CAAO,EAAI,CAAC,GAAKA,EAChD,MACF,IAAK,SACHE,EAAOC,EAAQA,EAAQ,OAAS,CAAC,EACjC,MACF,IAAK,MAEL,QACED,EAAOC,EAAQ,CAAC,CAC1B,CAGM,GAAID,EAAM,CAGR,GAFAF,EAAQ,gBAAgB,mBAAmB,EAC3CE,EAAK,aAAa,oBAAqB,MAAM,EACzC,CAACH,EAAW,CACd,IAAIS,EAAON,EAAK,cAAc,MAAM,GAAKA,EAAK,cAAc,GAAG,EAC3DM,IAAS,MACXA,EAAK,MAAO,CAExB,CACaV,GACHW,EAAsB,CAEhC,CACK,CACL,CAEE,SAASlB,GAAc,CACrB,SAAS,SAAS,OAAO,EAAI,CACjC,CAEE,SAASP,EAAalD,EAAG,CACvB,MAAM8D,EAAU9D,EAAE,OAAO,QAAQ,YAAa,EAC1C,SAAS,gBAAkB8D,IAAY,SAAWA,IAAY,UAAYA,IAAY,YACxF,SAAS,cAAc,KAAM,EAE7B,QAAQ,YAAa,CAE3B,CAEE,SAASc,EAAiBC,EAAc,CACtC,OAAO,UAAY,CACjB,IAAIC,EAAS,SAAS,cAAcD,CAAY,EAC5CC,GACFA,EAAO,MAAO,CAEjB,CACL,CAEE,SAASxB,GAAgB,CACvB,OAAOsB,EAAgB,iDAAiD,CAC5E,CAEE,SAASpB,GAAoB,CAC3B,OAAOoB,EAAgB,qDAAqD,CAChF,CAEE,SAASD,GAAwB,CAC/B,IAAII,EAAM,SAAS,cAAc,4BAA4B,EAC7D,GAAIA,IAAQ,KAGZ,KAAIC,EAAO,SAAS,gBAAgB,WAAa,SAAS,KAAK,UAC7DC,EAAU,SAAS,gBAAgB,aACnCT,EAAOO,EAAI,UACXN,EAAOD,EAAOO,EAAI,aAClBG,EAAS,IAEX,GAAKH,EAAI,yBAA2B,MAAUN,EAAOQ,EAAU,CAG7D,OAAO,OAAO,OAAO,QAAS,CAAC,EAC/B,MACN,CACI,GAAID,EAAQR,EAAOU,EACjB,OAAO,OAAO,OAAO,QAASV,EAAOU,CAAM,MACtC,CACL,IAAIC,EAAOH,EAAOC,EACdE,EAAQV,EAAOS,GACjB,OAAO,OAAO,OAAO,QAAST,EAAOQ,EAAUC,CAAM,CAE7D,EACA,CAEE,SAASvB,EAAYyB,EAAQ,CAC3B,OAAO,UAAY,CACjB,OAAO,SAAS,EAAGA,CAAM,EACzBpC,EAAgB,SAAS,EAAG,CAC7B,CACL,CAEE,SAASY,EAAcyB,EAAUC,EAAK,CACpC,OAAO,UAAY,CACjB,OAAO,SAAS,EAAGD,CAAQ,EAC3BrC,EAAgBsC,CAAG,EAAG,CACvB,CACL,CAEE,SAASjC,GAAoB,CAC3B,OAAO,SAAS,EAAG,CAAC,EACpB,IAAIkC,EAAI,SAAS,cAAc,IAAI,EAEnC,GADAA,EAAE,MAAO,EACLA,EAAE,kBAAmB,CACvB,IAAIC,EAAMD,EAAE,MAAM,OAClBA,EAAE,kBAAkBC,EAAKA,CAAG,CAClC,CACA,CAEE,SAASjC,EAAYkC,EAAQ,CAC3B,OAAO,UAAY,CACjB,IAAIf,EAAO,SAAS,cAAc,iCAAiC,EAInE,GAHIA,IAAS,OACXA,EAAO,SAAS,cAAc,gCAAgC,GAE5DA,IAAS,KAAM,CACjB,IAAIlE,EAAMkE,EAAK,aAAa,MAAM,EAC9Be,EACF,OAAO,KAAKjF,CAAG,EAEf,OAAO,SAAS,KAAOA,CAEjC,CACK,CACL,CAEE,SAASkF,EAAiBC,EAAY,CACpC,IAAIC,EAAa,CAAE,EAEnB,QAAS,KAAK/B,EAAa,CACzB,IAAIgC,EAAMhC,EAAY,CAAC,EACvB+B,EAAWC,EAAI,GAAG,EAAID,EAAWC,EAAI,GAAG,GAAK,CAAE,EAC/CD,EAAWC,EAAI,GAAG,EAAE,KAAKA,CAAG,CAClC,CAEI,IAAIC,EAAS,OAAO,KAAKF,CAAU,EAAE,KAAK,SAAUG,EAAGC,EAAG,CACxD,OAAOJ,EAAWI,CAAC,EAAE,OAASJ,EAAWG,CAAC,EAAE,MAClD,CAAK,EAED,GAAID,EAAO,SAAW,EAItB,KAAIG,EAAO,mEACXA,GAAQ,gDACRA,GAAQ,UAER,QAASrG,EAAI,EAAGA,EAAIkG,EAAO,OAAQlG,IAAK,CACtC,IAAIsG,EAAMN,EAAWE,EAAOlG,CAAC,CAAC,EAE1BuG,EAAevG,IAAOkG,EAAO,OAAS,EACtCM,EAAQxG,EAAI,IAAM,EAElBwG,IACFH,GAAQ,QAEVA,GAAQ,OAERA,GAAQ,OAASC,EAAI,CAAC,EAAE,IAAM,QAC9BD,GAAQ,6BAER,QAASI,KAAMH,EACbD,GAAQ,YAAcC,EAAIG,CAAE,EAAE,IAAM,UAAYH,EAAIG,CAAE,EAAE,IAAM,QAGhEJ,GAAQ,QACRA,GAAQ,SAEJ,CAACG,GAASD,KACZF,GAAQ,QAEhB,CAEIA,GAAQ,WAERN,EAAW,UAAYM,EAC3B,CAEE,SAAS7C,GAAc,CACrB,IAAIkD,EAAY,SAAS,cAAc,mBAAmB,EAC1D,GAA+BA,GAAc,KAAM,CAEjDA,EAAY,SAAS,cAAc,KAAK,EACxCA,EAAU,GAAK,mBACfA,EAAU,UAAY,eACtBZ,EAAgBY,CAAS,EACzB,IAAIC,EAAO,SAAS,qBAAqB,MAAM,EAAE,CAAC,EAClDA,EAAK,YAAYD,CAAS,CAChC,KAAW,CAELA,EAAU,UAAU,OAAO,WAAW,EACtC,MACN,CACA,CAEE,SAASnD,GAAsB,CAC7B,IAAIqD,EAAoB,SAAS,cAAc,iCAAiC,EAChF,GAAIA,IAAsB,KAAM,OAEhC,MAAMhG,EAAMgG,EAAkB,aAAa,MAAM,EACjD,UAAU,UAAU,UAAUhG,CAAG,CACrC,CAEE,QAAQ,qBAAuBmE,EAC/B,QAAQ,WAAa3B,EAAgB,MAAM,EAC3C,QAAQ,eAAiBA,EAAgB,IAAI,CAC/C,CAAC,GC1cA,SAAUzD,EAAG,EAAGW,EAAS,CAGxBA,EAAQ,MAAM,UAAY,CACxBA,EAAQ,GAAG,oBAAqB,QAAS,SAAUuG,EAAO,CAExD,KAAK,UAAU,OAAO,kBAAkB,EAGxC,IAAIC,EAAiB,KAAK,QAAQ,cAC9BC,EAAU,WAAW,KAAK,QAAQ,MAAM,EACxCC,EAAU,WAAW,KAAK,QAAQ,MAAM,EACxCC,EAAW,WAAW,KAAK,QAAQ,OAAO,EAC1CC,EAAkB,KAAK,MAAM,KAAK,QAAQ,cAAc,EACxDC,EAAc,KAAK,MAAM,KAAK,QAAQ,UAAU,EAEpD7G,EAAQ,UAAU,iBAAiB,EACnCA,EAAQ,WAAW,gBAAiB,UAAY,CAC9C,IAAI8G,EAAa,KACjB,GAAIF,EAAiB,CACnB,IAAIG,EAAY,EAAE,OAAOH,EAAgB,CAAC,EAAGA,EAAgB,CAAC,CAAC,EAC3DI,EAAY,EAAE,OAAOJ,EAAgB,CAAC,EAAGA,EAAgB,CAAC,CAAC,EAC/DE,EAAa,EAAE,aAAaC,EAAWC,CAAS,CAC1D,CAGQ,IAAIC,EAAM,EAAE,IAAIT,CAAc,EAE1BU,EAAe,qDACfC,EAAkB,gFAClBC,EAAY,IAAI,EAAE,UAAUF,EAAc,CAAC,QAAS,EAAG,QAAS,GAAI,YAAaC,CAAe,CAAC,EACjGE,EAAkB,sDAClBC,EAAqB,kGACrBC,EAAe,IAAI,EAAE,UAAUF,EAAiB,CAAC,QAAS,EAAG,QAAS,GAAI,YAAaC,CAAkB,CAAC,EAE1GR,EAGF,WAAW,UAAY,CACrBG,EAAI,UAAUH,EAAY,CACxB,QAAS,EACvB,CAAa,CACF,EAAE,CAAC,EACKL,GAAWC,IAChBC,EACFM,EAAI,QAAQ,IAAI,EAAE,OAAOP,EAASD,CAAO,EAAGE,CAAQ,EAEpDM,EAAI,QAAQ,IAAI,EAAE,OAAOP,EAASD,CAAO,EAAG,CAAC,GAIjDQ,EAAI,SAASG,CAAS,EAEtB,IAAII,EAAa,CACf,aAAcJ,EACd,gBAAiBG,CAClB,EAED,EAAE,QAAQ,OAAOC,CAAU,EAAE,MAAMP,CAAG,EAElCJ,GACF,EAAE,QAAQA,CAAW,EAAE,MAAMI,CAAG,CAI1C,CAAO,EAGDV,EAAM,eAAgB,CAC5B,CAAK,CACL,CAAG,CACH,GAAG,OAAQ,SAAU,OAAO,OAAO,GCxElC,SAAUlH,EAAG,EAAGW,EAAS,CAGpBA,EAAQ,WAAa,eAIzBA,EAAQ,MAAM,UAAY,CACxB,IAAIyH,EAAsB,KAC1B,SAASC,GAA4B,CAC/BD,GAAuB,MACzBzH,EAAQ,KAAK,MAAO,0BAA0B,EAAE,KAAK,SAAU2H,EAAS,CACtEF,EAAsB,KAAK,MAAME,CAAO,EACxC,SAAW,CAACC,EAAaC,CAAW,IAAK,OAAO,QAAQJ,CAAmB,EAAG,CAC5E,IAAIK,EAAW,EAAE,iBAAiB,sBAAwBF,EAAc,wBAAwB,EAChG,UAAWnG,KAAWqG,EAAU,CAC9B,IAAIC,EAAS,QAAU/H,EAAQ,SAAS,aAAa,OAAS,UAAY6H,EAAY,CAAC,EAAI,QAC3FpG,EAAQ,UAAYoG,EAAY,CAAC,EAAIE,CACnD,CACA,CACA,CAAS,CAET,CAEI,SAASC,EAAanI,EAAID,EAAU,CAClCI,EAAQ,GAAGH,EAAI,QAAUC,GAAM,CACzBA,EAAE,MAAQ,SACZF,EAAU,CAEpB,CAAO,CACP,CAEI,UAAWC,KAAM,EAAE,iBAAiB,0EAA0E,EAC5GmI,EAAYnI,EAAI,IAAM,CACpBA,EAAG,MAAO,CAClB,CAAO,EAGH,UAAWA,KAAM,EAAE,iBAAiB,oBAAoB,EACtDG,EAAQ,GAAGH,EAAI,aAAc6H,CAAwB,EAGvD,MAAMO,EAAmB,EAAE,iBAAiB,qBAAqB,EAC3DC,EAAoB,EAAE,iBAAiB,sBAAsB,EAC7DC,EAAgB,EAAE,iBAAiB,mDAAmD,EACtFC,EAAiBC,GAAW,CAChC,UAAWxI,KAAMsI,EAEXtI,EAAG,eAAiB,OAAMA,EAAG,QAAU,CAACwI,EAE/C,EACD,UAAWxI,KAAMoI,EACfjI,EAAQ,GAAGH,EAAI,QAAS,IAAMuI,EAAc,EAAI,CAAC,EAEnD,UAAWvI,KAAMqI,EACflI,EAAQ,GAAGH,EAAI,QAAS,IAAMuI,EAAc,EAAK,CAAC,EAGpD,MAAME,EAAiB,EAAE,cAAc,YAAY,EACnDtI,EAAQ,GAAGsI,EAAgB,QAAUxI,GAAM,CACzCA,EAAE,eAAgB,EAClB,UAAU,UAAU,UAAUwI,EAAe,QAAQ,IAAI,EACzDA,EAAe,UAAYA,EAAe,QAAQ,UACxD,CAAK,CACL,CAAG,CACH,GAAG,OAAQ,SAAU,OAAO,OAAO,GCjElC,SAAUjJ,EAAG,EAAGW,EAAS,CAGpBA,EAAQ,WAAa,WAIzBA,EAAQ,MAAM,UAAY,CACxB,EAAE,iBAAiB,WAAW,EAAE,QAC9BuI,GACEA,EAAI,iBACF,QAAS,IAAM,CAEbA,EAAI,IAAM,OAAO,QAAQ,SAAS,kBAAoB,yBACvD,EACD,CAAC,KAAM,EAAI,CACrB,CAAS,EAED,EAAE,cAAc,6BAA6B,IAC/C,EAAE,cAAc,6BAA6B,EAAE,MAAM,QAAU,SAGjEvI,EAAQ,GAAG,gBAAiB,QAAS,UAAY,CAC/C,IAAIwI,EAAoB,KAAK,aAAa,yBAAyB,EAC/DC,EAAuB,KAAK,aAAa,6BAA6B,EACtEC,EAAS,KAAK,aAAa,aAAa,EACxCC,EAAgB,EAAE,cAAcD,CAAM,EACtC3C,EAAO,KAAK,UACZ,KAAK,UAAU,SAAS,WAAW,EACrCA,EAAOA,EAAK,QAAQyC,EAAmBC,CAAoB,EAE3D1C,EAAOA,EAAK,QAAQ0C,EAAsBD,CAAiB,EAE7D,KAAK,UAAYzC,EACjB,KAAK,UAAU,OAAO,WAAW,EACjC4C,EAAc,UAAU,OAAO,WAAW,CAChD,CAAK,EAED3I,EAAQ,GAAG,gBAAiB,QAAS,UAAY,CAC/C,IAAI0I,EAAS,KAAK,aAAa,aAAa,EACxCE,EAAc,EAAE,cAAcF,EAAS,WAAW,EAClDG,EAAUD,EAAY,aAAa,KAAK,GACxCC,GAAY,MAAiCA,IAAY,KAC3DD,EAAY,aAAa,MAAOA,EAAY,aAAa,UAAU,CAAC,CAE5E,CAAK,EAED5I,EAAQ,GAAG,YAAa,QAAS,UAAY,CAC3C,IAAI0I,EAAS,KAAK,cAAc,cAAc,KAAK,EACnD,UAAU,UAAU,UAAUA,EAAO,SAAS,EAC9C,KAAK,UAAY,KAAK,QAAQ,UACpC,CAAK,EAMD,IAAII,EAGJ,MAAMC,EAAmB,EAAE,cAAc,KAAK,EAC9CA,EAAiB,UAAU,IAAI,QAAQ,EAIvC,MAAMC,EAAY,IAAI,MAEhBC,EAAY,CAACC,EAAQC,IAAc,CAEnCL,GAAc,aAAaA,CAAY,EAG3CA,EAAe,WAAW,IAAM,CAC9BE,EAAU,IAAME,CACjB,EAAE,GAAI,EAGPF,EAAU,OAAS,IAAM,CACvBG,EAAW,EACXJ,EAAiB,OAAQ,CAC1B,EACDC,EAAU,QAAU,IAAM,CACxBD,EAAiB,OAAQ,CAC1B,CACF,EAED/I,EAAQ,YAAe6C,GAAkB,CAcvC,GAVA,EAAE,eAAe,SAAS,EAAE,UAAU,IAAI,mBAAmB,EAK7D,OAAO,SAAS,KAAO,gBAEvB7C,EAAQ,qBAAsB,EAG1B,CAAC6C,EAAe,OAGpB,MAAM0F,EAAM1F,EAAc,cAAc,2BAA2B,EACnE,GAAI,CAAC0F,EAAK,OAGV,MAAM3H,EAAM2H,EAAI,aAAa,UAAU,EAGvC,GAAI,CAAC3H,EAAK,OAGV,MAAMwI,EAAYvG,EAAc,cAAc,kBAAkB,EAChE0F,EAAI,IAAMa,EAAU,IAGEvG,EAAc,cAAc,SAAS,EAC7C,YAAYkG,CAAgB,EAG1CE,EAAUrI,EAAK,IAAM,CAGnB2H,EAAI,IAAM3H,EACV2H,EAAI,gBAAgB,UAAU,CACtC,CAAO,CACF,EAEDvI,EAAQ,YAAc,UAAY,CAChC,EAAE,eAAe,SAAS,EAAE,UAAU,OAAO,mBAAmB,EAE5D,OAAO,SAAS,MAAQ,iBAAiB,OAAO,QAAQ,KAAM,EAClEA,EAAQ,qBAAsB,CAC/B,EACDA,EAAQ,GAAG,uBAAwB,QAASF,GAAK,CAC/CA,EAAE,eAAgB,EAClBE,EAAQ,YAAa,CAC3B,CAAK,EACDA,EAAQ,GAAG,0BAA2B,QAASF,GAAK,CAClDA,EAAE,eAAgB,EAClBE,EAAQ,eAAe,EAAK,CAClC,CAAK,EACDA,EAAQ,GAAG,sBAAuB,QAASF,GAAK,CAC9CA,EAAE,eAAgB,EAClBE,EAAQ,WAAW,EAAK,CAC9B,CAAK,EAGD,OAAO,iBAAiB,aAAc,IAAM,CACtC,OAAO,SAAS,MAAQ,iBAAiBA,EAAQ,YAAa,CACxE,CAAK,EAED,EAAE,iBAAiB,mBAAmB,EAAE,QACtCC,GAAO,CACLA,EAAI,iBAAiB,cAAe,UAAY,CAC9CD,EAAQ,WAAW,EAAK,CAClC,CAAS,EACDC,EAAI,iBAAiB,eAAgB,UAAY,CAC/CD,EAAQ,eAAe,EAAK,CACtC,CAAS,CACT,CACK,EAEDX,EAAE,iBAAiB,SAAU,UAAY,CACvC,IAAIS,EAAI,EAAE,eAAe,WAAW,EAClCuJ,EAAY,SAAS,gBAAgB,WAAa,SAAS,KAAK,UAChElF,EAAU,EAAE,eAAe,SAAS,EAClCrE,IAAM,OACJuJ,GAAa,IACflF,EAAQ,UAAU,IAAI,WAAW,EAEjCA,EAAQ,UAAU,OAAO,WAAW,EAGzC,EAAE,EAAI,CAEX,CAAG,CAEH,GAAG,OAAQ,SAAU,OAAO,OAAO,qYCpLlC,SAASmF,EAAE,CAA4DC,EAAA,QAAeD,EAAG,CAA2O,GAAG,UAAU,CAA2B,OAAQ,UAAU,CAAC,SAASE,EAAE1J,EAAE2J,EAAEC,EAAE,CAAC,SAASC,EAAEjK,EAAE4J,EAAE,CAAC,GAAG,CAACG,EAAE/J,CAAC,EAAE,CAAC,GAAG,CAACI,EAAEJ,CAAC,EAAE,CAAC,IAAIkK,EAAc,OAAOC,GAAnB,YAA4BA,EAAQ,GAAG,CAACP,GAAGM,EAAE,OAAOA,EAAElK,EAAE,EAAE,EAAE,GAAGoK,EAAE,OAAOA,EAAEpK,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,MAAM,uBAAuBA,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,mBAAmB,CAAC,CAAC,IAAIqK,EAAEN,EAAE/J,CAAC,EAAE,CAAC,QAAQ,CAAE,CAAA,EAAEI,EAAEJ,CAAC,EAAE,CAAC,EAAE,KAAKqK,EAAE,QAAQ,SAASP,EAAE,CAAC,IAAIC,EAAE3J,EAAEJ,CAAC,EAAE,CAAC,EAAE8J,CAAC,EAAE,OAAOG,EAAEF,GAAGD,CAAC,CAAC,EAAEO,EAAEA,EAAE,QAAQP,EAAE1J,EAAE2J,EAAEC,CAAC,CAAC,CAAC,OAAOD,EAAE/J,CAAC,EAAE,OAAO,CAAC,QAAQoK,EAAc,OAAOD,GAAnB,YAA4BA,EAAQnK,EAAE,EAAEA,EAAEgK,EAAE,OAAOhK,IAAIiK,EAAED,EAAEhK,CAAC,CAAC,EAAE,OAAOiK,CAAC,CAAC,OAAOH,CAAC,EAAI,EAAC,CAAC,EAAE,CAAC,SAASK,EAAQN,EAAOS,EAAQ,CAWp2B,IAAIC,GACH,SAAUA,EAAmB,CAC1BA,EAAkBA,EAAkB,IAAS,CAAC,EAAI,MAClDA,EAAkBA,EAAkB,GAAQ,CAAC,EAAI,IACrD,GAAGA,IAAsBA,EAAoB,CAAA,EAAG,EAChD,IAAIC,GACH,SAAUA,EAAW,CAClBA,EAAUA,EAAU,QAAa,CAAC,EAAI,UACtCA,EAAUA,EAAU,MAAW,CAAC,EAAI,OACxC,GAAGA,IAAcA,EAAY,CAAA,EAAG,EAOhC,IAAIC,EAA8B,UAAY,CAE1C,SAASA,EAAaC,EAAQ7K,EAAU,CAGpC,GAFI6K,IAAW,SAAUA,EAAS,CAAA,GAC9B7K,IAAa,SAAUA,EAAW,uBAClC,MAAM,QAAQA,CAAQ,EACtBA,EAAS,QAAQ,SAAUwB,EAAG,CAC1B,IAAIoJ,EAAaC,EAAQrJ,CAAC,CAC1C,CAAa,UAEI,OAAOxB,GAAY,SAAU,CAClC,IAAIuI,EAAW,SAAS,iBAAiBvI,CAAQ,EACjD,MAAM,UAAU,QAAQ,KAAKuI,EAAU,SAAUuC,EAAO,CACpD,IAAIF,EAAaC,EAAQC,CAAK,CAC9C,CAAa,CACb,KACa,CACD,IAAIC,EAAiBH,EAAa,MAAMA,EAAa,SAAUC,EAAQ,CACnE,WAAY,SAAS,cAAc,KAAK,CACxD,CAAa,EACD,OAAAD,EAAa,UAAU,OAAOG,EAAgB/K,CAAQ,EAC/C+K,CACnB,CACA,CACI,OAAAH,EAAa,UAAU,OAAS,SAAUC,EAAQ3I,EAAS,CAEvD,GADA2I,EAAO,MAAQ3I,EACX2I,EAAO,MAAM,SAAS,MAAM,UAAU,IAAMA,EAAO,MAAM,aAAa,MAAM,IAAM,IAASA,EAAO,MAAM,aAAa,MAAM,EAAE,MAAM,gBAAgB,GAAI,CACvJA,EAAO,MAAM,aAAa,eAAgB,KAAK,EAC/CA,EAAO,UAAUA,CAAM,EACvBA,EAAO,MAAM,WAAW,YAAYA,EAAO,UAAU,EACrDA,EAAO,WAAa,CAChB,KAAMA,EAAO,MAAM,KAAKA,CAAM,EAC9B,QAASD,EAAa,UAAU,QAAQ,KAAK,KAAMC,CAAM,EACzD,MAAOA,EAAO,OAAO,KAAKA,CAAM,EAChC,MAAOD,EAAa,UAAU,MAAM,KAAK,KAAMC,EAAQF,EAAU,KAAK,EACtE,QAASC,EAAa,UAAU,MAAM,KAAK,KAAMC,EAAQF,EAAU,OAAO,EAC1E,SAAUE,EAAO,UAAU,KAAKA,CAAM,CACzC,EACD,QAAS7D,KAAS6D,EAAO,WACrBA,EAAO,MAAM,iBAAiB7D,EAAO6D,EAAO,WAAW7D,CAAK,CAAC,CAE7E,CACK,EACD4D,EAAa,UAAU,gBAAkB,SAAUC,EAAQG,EAAM,CAC7D,IAAIC,EAAW,CAAE,EACjB,QAAS7E,KAAOyE,EAAO,iBAAkB,CACrC,IAAI7D,EAAQ2D,EAAU,MAClBE,EAAO,iBAAiBzE,CAAG,EAAE,QAAU,SACvCY,EAAQ6D,EAAO,iBAAiBzE,CAAG,EAAE,OAErCY,GAASgE,IACTC,EAAS7E,CAAG,EAAIyE,EAAO,iBAAiBzE,CAAG,EAE3D,CACQ,OAAO6E,CACV,EACDL,EAAa,UAAU,MAAQ,SAAUC,EAAQG,EAAMhE,EAAO,CAC1D,IAAIkE,EAAkB,SAAUC,EAAW,EAClCC,IAAU,IAAQC,EAAQ,UAAYX,EAAkB,KAASU,IAAU,IAASC,EAAQ,UAAYX,EAAkB,MAC3HS,EAAYP,EAAa,MAAM,CAC3B,IAAK,EACR,EAAEO,CAAS,EACRA,EAAU,eAAe,IAAI,EACzBA,EAAU,IAAMnE,EAAM,QACtBoE,EAAQ,CAACD,EAAU,IAGnBC,EAAQD,EAAU,IAGjBA,EAAU,eAAe,MAAM,GAAKA,EAAU,eAAe,IAAI,IAClEnE,EAAM,SAAWmE,EAAU,MAAQnE,EAAM,SAAWmE,EAAU,GAC9DC,EAAQ,CAACD,EAAU,IAGnBC,EAAQD,EAAU,KAIjC,EACD,QAASG,KAAQV,EAAa,UAAU,gBAAgBC,EAAQG,CAAI,EAAG,CACnE,IAAIK,EAAUT,EAAa,MAAM,CAC7B,SAAUF,EAAkB,GAC5C,EAAeG,EAAO,iBAAiBS,CAAI,CAAC,EAAGF,EAAQV,EAAkB,KAAOW,EAAQ,SAC5EA,EAAQ,WAAW,QAAQH,CAAe,EACtCE,IAAU,IACVC,EAAQ,SAAS,KAAKR,EAAQ7D,CAAK,CAEnD,CACK,EACD4D,EAAa,UAAU,YAAc,SAAUC,EAAQxK,EAAUkL,EAAa,CAC1E,IAAIC,EAAsB,OAAO,oBAAoBX,EAAO,WAAW,EAAGY,EAAU,IAAI,eAAkB3K,EAAS+J,EAAO,YAAa,EAAE9J,EAAM8J,EAAO,KAAM,EAAEa,EAAcb,EAAO,KAAM,EAAEc,EAAuB,mBAAmBd,EAAO,UAAW,CAAA,EAAI,IAAM,mBAAmBa,CAAW,EAC3R5K,EAAO,MAAM,QAAQ,IACjBC,EAAI,QAAQ,GAAG,IAAM,GACrBA,GAAO,IAAM4K,EAGb5K,GAAO,IAAM4K,GAGrBF,EAAQ,KAAK3K,EAAQC,EAAK,EAAI,EAC9B,QAASZ,EAAIqL,EAAoB,OAAS,EAAGrL,GAAK,EAAGA,IACjDsL,EAAQ,iBAAiBD,EAAoBrL,CAAC,EAAG0K,EAAO,YAAYW,EAAoBrL,CAAC,CAAC,CAAC,EAE/F,OAAAsL,EAAQ,mBAAqB,UAAY,CACjCA,EAAQ,YAAc,GAAKA,EAAQ,QAAU,KAC7CZ,EAAO,OAAOa,CAAW,EAAID,EAAQ,SACrCpL,EAASoL,EAAQ,QAAQ,GAEpBA,EAAQ,QAAU,KACvBF,EAAa,CAEpB,EACME,CACV,EACDb,EAAa,UAAU,KAAO,SAAUC,EAAQY,EAASG,EAAS,CAC1DA,IAAY,SAAUA,EAAU,IAChCf,EAAO,YACP,OAAO,aAAaA,EAAO,UAAU,EAErCe,IAAY,GACZf,EAAO,WAAa,OAAO,WAAWD,EAAa,UAAU,KAAK,KAAK,KAAMC,EAAQY,EAAS,EAAK,EAAGZ,EAAO,KAAK,GAG9GA,EAAO,SACPA,EAAO,QAAQ,MAAO,EAE1BA,EAAO,QAAUY,EACjBZ,EAAO,QAAQ,KAAKA,EAAO,UAAS,EAAK,IAAMA,EAAO,MAAM,EAEnE,EACDD,EAAa,UAAU,MAAQ,SAAUC,EAAQxK,EAAUkL,EAAa,CACpE,IAAI/I,EAAWqI,EAAO,OAAOA,EAAO,KAAI,CAAE,EAC1C,GAAIrI,IAAa,OAAW,CACxB,IAAIiJ,EAAUb,EAAa,UAAU,YAAYC,EAAQxK,EAAUkL,CAAW,EAC9EX,EAAa,UAAU,KAAKC,EAAQY,CAAO,CACvD,MAEYpL,EAASmC,CAAQ,CAExB,EACDoI,EAAa,UAAU,QAAU,SAAUC,EAAQ,CAC/C,QAAS7D,KAAS6D,EAAO,WACrBA,EAAO,MAAM,oBAAoB7D,EAAO6D,EAAO,WAAW7D,CAAK,CAAC,EAEpE6D,EAAO,WAAW,WAAW,YAAYA,EAAO,UAAU,CAC7D,EACDD,EAAa,MAAQ,UAAY,CAE7B,QADIiB,EAAQ,CAAA,EAAIC,EACP3L,EAAI,EAAGA,EAAI,UAAU,OAAQA,IAClC,IAAK2L,KAAO,UAAU3L,CAAC,EACnB0L,EAAMC,CAAG,EAAI,UAAU3L,CAAC,EAAE2L,CAAG,EAGrC,OAAOD,CACV,EACDjB,EAAa,SAAW,CACpB,MAAO,IACP,aAAc,iBACd,UAAW,CACP,SAAU,SAAUmB,EAAO,CACvB,OAAO,IAAI,OAAOA,EAAO,IAAI,CAChC,EACD,UAAW,SAAUA,EAAO,CACxB,MAAO,WAAaA,EAAQ,WAC5C,CACS,EACD,YAAa,CACT,eAAgB,mCACnB,EACD,MAAO,EACP,SAAU,EACV,WAAY,MACZ,SAAU,IACV,IAAK,KACL,iBAAkB,CACd,MAAS,CACL,WAAY,CAAC,CACL,GAAI,GACJ,IAAK,EAC7B,CAAqB,EACL,SAAU,SAAU/E,EAAO,CACvB,GAAI,KAAK,WAAW,aAAa,OAAO,EAAE,QAAQ,MAAM,GAAK,GAAI,CAC7D,IAAIgF,EAAW,KAAK,WAAW,cAAc,WAAW,EACpDA,IAAa,OACbhF,EAAM,eAAgB,EACtB,KAAK,QAAQgF,CAAQ,EACrB,KAAK,WAAW,aAAa,QAAS,cAAc,EAEhF,CACiB,EACD,SAAUtB,EAAkB,IAC5B,MAAOC,EAAU,OACpB,EACD,kBAAqB,CACjB,WAAY,CAAC,CACL,GAAI,GACJ,IAAK,EACR,EACD,CACI,GAAI,GACJ,IAAK,EAC7B,CAAqB,EACL,SAAU,SAAU3D,EAAO,CACvBA,EAAM,eAAgB,CACzB,EACD,SAAU0D,EAAkB,GAC5B,MAAOC,EAAU,OACpB,EACD,gBAAmB,CACf,WAAY,CAAC,CACL,GAAI,GACJ,IAAK,EACR,EACD,CACI,GAAI,GACJ,IAAK,EAC7B,CAAqB,EACL,SAAU,SAAU3D,EAAO,CACvBA,EAAM,eAAgB,EACtB,IAAIL,EAAQ,KAAK,WAAW,cAAc,6BAA6B,EAAGsF,EAAO,KAAK,WAAW,cAAc,4BAA4B,EAAGC,EAAS,KAAK,WAAW,cAAc,WAAW,EAChM,GAAIA,EAAQ,CACR,IAAIC,EAAe,MAAM,UAAU,QAAQ,KAAKD,EAAO,WAAW,SAAUA,CAAM,EAAGtG,EAAWuG,GAAgBnF,EAAM,QAAU,IAAKoF,EAAW,KAAK,WAAW,qBAAqB,IAAI,EAAE,OACvLxG,EAAW,EACXA,EAAWwG,EAAW,EAEjBxG,GAAYwG,IACjBxG,EAAW,GAEfsG,EAAO,UAAU,OAAO,QAAQ,EAChCA,EAAO,cAAc,SAAS,KAAKtG,CAAQ,EAAE,UAAU,IAAI,QAAQ,CAC3F,MAC6BqG,GAAQjF,EAAM,SAAW,GAC9BiF,EAAK,UAAU,IAAI,QAAQ,EAEtBtF,GACLA,EAAM,UAAU,IAAI,QAAQ,CAEnC,EACD,SAAU+D,EAAkB,GAC5B,MAAOC,EAAU,KACpB,EACD,SAAY,CACR,WAAY,CAAC,CACL,GAAI,GACJ,IAAK,EAC7B,EAAuB,CACC,KAAM,GACN,GAAI,GACJ,IAAK,EAC7B,CAAqB,EACL,SAAU,UAAY,CAClB,IAAI0B,EAAW,KAAK,MAAM,aAAa,6BAA6B,EAAGC,EAAe,KAAK,KAAM,EAC7FA,IAAiB,IAAMA,EAAa,QAAU,KAAK,cAC/C,CAACD,GAAYC,GAAgBD,IAC7B,KAAK,WAAW,aAAa,QAAS,mBAAmB,EAE7DzB,EAAa,UAAU,MAAM,MAAM,SAAUpI,EAAU,CACnD,KAAK,QAAQ,KAAK,MAAMA,CAAQ,CAAC,EACjC,KAAK,MAAO,CACf,GAAC,KAAK,IAAI,EAAG,KAAK,MAAM,GAGzB,KAAK,OAAQ,CAEpB,EACD,SAAUkI,EAAkB,IAC5B,MAAOC,EAAU,KACjC,CACS,EACD,WAAY,KACZ,QAAS,KACT,MAAO,KAIP,cAAe,UAAY,CACvB,IAAI4B,EAAe,GACnB,OAAI,KAAK,MAAM,aAAa,iCAAiC,EACzDA,EAAe,KAAK,MAAM,aAAa,iCAAiC,EAEnE,KAAK,eAAiB,GAC3BA,EAAe,KAAK,aAGpBA,EAAe,GAEZA,CACV,EAID,OAAQ,UAAY,CAChB,IAAIC,EAAQ,KAAK,MAAM,aAAa,yBAAyB,EAC7D,OAAI,MAAMA,CAAK,GAAKA,IAAU,KACnB,KAAK,MAET,SAASA,EAAO,EAAE,CAC5B,EAID,UAAW,UAAY,CACnB,IAAIC,EAAW,KAAK,MAAM,aAAa,4BAA4B,EACnE,OAAI,MAAMA,CAAQ,GAAKA,IAAa,KACzB,KAAK,SAET,SAASA,EAAU,EAAE,CAC/B,EAID,WAAY,SAAUC,EAAO,CACzB,OAAOA,EAAM,QAAQ,KAAK,UAAU,SAAS,KAAK,MAAM,EAAG,KAAK,UAAU,SAAS,CACtF,EAID,YAAa,UAAY,CACrB,OAAI,KAAK,MAAM,aAAa,0BAA0B,EAC3C,KAAK,MAAM,aAAa,0BAA0B,EAEtD,KAAK,UACf,EAID,UAAW,UAAY,CACnB,OAAI,KAAK,MAAM,aAAa,8BAA8B,EAC/C,KAAK,MAAM,aAAa,8BAA8B,EAE1D,KAAK,QACf,EAID,KAAM,UAAY,CACd,OAAI,KAAK,MAAM,aAAa,mBAAmB,EACpC,KAAK,MAAM,aAAa,mBAAmB,EAE/C,KAAK,GACf,EAID,MAAO,SAAUC,EAAK,CAElB,GADIA,IAAQ,SAAUA,EAAM,IACxBA,EACA,KAAK,OAAQ,MAEZ,CACD,IAAI9B,EAAS,KACb,WAAW,UAAY,CACnBA,EAAO,MAAM,EAAI,CACpB,EAAE,GAAG,CACtB,CACS,EAID,OAAQ,SAAUkB,EAAO,CACrB,OAAO,KAAK,OAAOA,CAAK,CAC3B,EAID,OAAQ,UAAY,CAChB,IAAIM,EAAW,KAAK,MAAM,aAAa,6BAA6B,GAC/D,CAACA,GAAY,KAAK,MAAM,OAASA,IAAa,KAAK,UAAS,GAAM,KAAK,MAAM,MAAM,QACpF,KAAK,WAAW,aAAa,QAAS,mBAAmB,CAEhE,EAID,MAAO,UAAY,CACf,IAAIxB,EAAS,KACb,MAAM,UAAU,QAAQ,KAAK,KAAK,WAAW,qBAAqB,IAAI,EAAG,SAAU+B,EAAI,CAC/EA,EAAG,aAAa,OAAO,GAAK,WAC5BA,EAAG,QAAU,UAAY,CACrB/B,EAAO,QAAQ+B,CAAE,CACpB,EAErB,CAAa,CACJ,EACD,OAAQ,UAAY,CAChB,KAAK,WAAW,aAAa,QAAS,cAAc,CACvD,EAID,UAAW,UAAY,CACnB,KAAK,WAAW,aAAa,QAAS,cAAc,EACpD,KAAK,WAAW,aAAa,QAAS,QAAU,KAAK,MAAM,UAAY,KAAK,MAAM,cAAgB,WAAa,KAAK,MAAM,WAAa,YAAc,KAAK,MAAM,YAAc,KAAK,CACtL,EAID,QAAS,SAAUpK,EAAU,CACzB,IAAIqK,EACA,OAAOrK,GAAY,SACnBqK,EAAK,KAAK,WAAWrK,CAAQ,EAG7BqK,EAAK,KAAK,qBAAqBrK,CAAQ,EAEvC,KAAK,WAAW,iBAChB,KAAK,WAAW,YAAY,KAAK,WAAW,WAAW,CAAC,CAAC,EAE7D,KAAK,WAAW,YAAYqK,CAAE,CACjC,EAID,qBAAsB,SAAUrK,EAAU,CACtC,IAAIqK,EAAK,SAAS,cAAc,IAAI,EAAGD,EAAK,SAAS,cAAc,IAAI,EAAGJ,EAAQ,KAAK,OAAQ,EAE3FA,EAAQ,EACRhK,EAAWA,EAAS,QAAS,EAExBgK,IAAU,IACfA,EAAQhK,EAAS,QAErB,QAASsK,EAAO,EAAGA,EAAO,KAAK,IAAI,KAAK,IAAIN,CAAK,EAAGhK,EAAS,MAAM,EAAGsK,IAClEF,EAAG,UAAYpK,EAASsK,CAAI,EAAE,MAC9BF,EAAG,aAAa,0BAA2BpK,EAASsK,CAAI,EAAE,KAAK,EAC/DD,EAAG,YAAYD,CAAE,EACjBA,EAAK,SAAS,cAAc,IAAI,EAEpC,OAAOC,CACV,EAID,WAAY,SAAUrK,EAAU,CAC5B,IAAIqK,EAAK,SAAS,cAAc,IAAI,EAAGD,EAAK,SAAS,cAAc,IAAI,EACvE,GAAIpK,EAAS,OAAS,EAClB,KAAK,WAAW,UAAYA,MAE3B,CACD,IAAI+J,EAAe,KAAK,cAAe,EACnCA,IAAiB,KACjBK,EAAG,UAAYL,EACfK,EAAG,aAAa,QAAS,QAAQ,EACjCC,EAAG,YAAYD,CAAE,EAErC,CACY,OAAOC,CACV,EAID,MAAO,SAAUrK,EAAU,CACvB,GAAI,CACA,IAAIuK,EAAiB,CAAE,EAEnBC,EAAO,KAAK,MAAMxK,CAAQ,EAC9B,GAAI,OAAO,KAAKwK,CAAI,EAAE,SAAW,EAC7B,MAAO,GAEX,GAAI,MAAM,QAAQA,CAAI,EAClB,QAAS7M,EAAI,EAAGA,EAAI,OAAO,KAAK6M,CAAI,EAAE,OAAQ7M,IAC1C4M,EAAeA,EAAe,MAAM,EAAI,CAAE,MAASC,EAAK7M,CAAC,EAAG,MAAS,KAAK,WAAW6M,EAAK7M,CAAC,CAAC,CAAG,MAInG,SAAS4L,KAASiB,EACdD,EAAe,KAAK,CAChB,MAAShB,EACT,MAAS,KAAK,WAAWiB,EAAKjB,CAAK,CAAC,CAChE,CAAyB,EAGT,OAAOgB,CACvB,MAC0B,CAEV,OAAOvK,CACvB,CACS,EAID,KAAM,UAAY,CACd,OAAO,KAAK,MAAM,KACrB,EAID,QAAS,SAAUsK,EAAM,CACjBA,EAAK,aAAa,yBAAyB,EAC3C,KAAK,MAAM,MAAQA,EAAK,aAAa,yBAAyB,EAG9D,KAAK,MAAM,MAAQA,EAAK,UAE5B,KAAK,MAAM,aAAa,8BAA+B,KAAK,MAAM,KAAK,CAC1E,EAID,OAAQ,UAAY,CACnB,EACD,WAAY,KACZ,OAAQ,CAAE,EACV,WAAY,CAAA,CACf,EACMlC,CACX,IACAZ,EAAO,QAAUY,CAEjB,EAAE,CAAA,CAAE,CAAC,EAAE,CAAA,EAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAChB,CAAC,yCCthBA,SAAU9K,EAAG,EAAGW,EAAS,CAGxB,IAAIwM,EAAY,IAAKC,EAErB,MAAMC,EAAW,OAAO,WAAW,mCAAmC,EAAE,QAExE,SAASC,GAAiB,CACxB,GAAIF,EAAO,MAAM,OAAU,EAAG,CAC5B,IAAIG,EAAS,SAAS,eAAe,QAAQ,EAC7C,WAAWA,EAAO,OAAO,KAAKA,CAAM,EAAG,CAAC,CAC9C,CACA,CAEE,SAASC,EAAmBJ,EAAQ,CAClC,IAAIK,EAAK,SAAS,eAAe,cAAc,EAC3CC,EAAoB,UAAY,CAC9BN,EAAO,MAAM,SAAW,EAC1BK,EAAG,UAAU,IAAI,OAAO,EAExBA,EAAG,UAAU,OAAO,OAAO,CAE9B,EAGDC,EAAmB,EACnBD,EAAG,iBAAiB,QAAS,SAAUE,EAAI,CACzCP,EAAO,MAAQ,GACfA,EAAO,MAAO,EACdM,EAAmB,EACnBC,EAAG,eAAgB,CACzB,CAAK,EACDP,EAAO,iBAAiB,QAASM,EAAmB,EAAK,CAC7D,CAEE/M,EAAQ,MAAM,UAAY,CACxByM,EAAS,EAAE,eAAeD,CAAS,EAE/BC,IAAW,OAEbI,EAAkBJ,CAAM,EAGpBzM,EAAQ,SAAS,eACnBA,EAAQ,aAAemK,EAAa,KAAK9K,EAAG,CAC1C,IAAK,kBACL,aAAcW,EAAQ,SAAS,aAAa,cAC5C,WAAYA,EAAQ,SAAS,OAC7B,YAAa,CACX,eAAgB,oCAChB,mBAAoB,gBACrB,EACD,SAAUA,EAAQ,SAAS,iBAC3B,MAAO,IACP,UAAW,UAAY,CAAE,EACzB,MAAO,UAAY,CACjB,IAAIoK,EAAS,KACb,MAAM,UAAU,QAAQ,KAAK,KAAK,WAAW,qBAAqB,IAAI,EAAG,SAAU+B,EAAI,CACjFA,EAAG,aAAa,OAAO,GAAK,WAC9BA,EAAG,YAAc,UAAY,CAC3B/B,EAAO,QAAQ+B,CAAE,CAClB,EAEjB,CAAa,CACF,EACD,QAAS,SAAUE,EAAM,CACvBlC,EAAa,SAAS,QAAQ,KAAK,KAAMkC,CAAI,EAC7C,IAAIxK,EAAOwK,EAAK,QAAQ,MAAM,EAC1BxK,GACFA,EAAK,OAAQ,CAEhB,EACD,UAAW,UAAY,CACrB,OAAI,KAAK,MAAM,MAAM,QAAQ,GAAG,EAAI,GAC3B,EAEAsI,EAAa,SAAS,UAAU,KAAK,IAAI,CAEnD,EACD,iBAAkB,OAAO,OAAO,CAAE,EAAEA,EAAa,SAAS,iBAAkB,CAC1E,gBAAmB,OAAO,OAAO,CAAA,EAAIA,EAAa,SAAS,iBAAiB,gBAAiB,CAC3F,SAAU,SAAU5D,EAAO,CACzB4D,EAAa,SAAS,iBAAiB,gBAAgB,SAAS,KAAK,KAAM5D,CAAK,EAChF,IAAIgF,EAAW,KAAK,WAAW,cAAc,WAAW,EACpDA,GACFpB,EAAa,SAAS,QAAQ,KAAK,KAAMoB,CAAQ,CAEpD,CACf,CAAa,EACD,IAAO,OAAO,OAAO,CAAA,EAAIpB,EAAa,SAAS,iBAAiB,MAAO,CACrE,WAAY,CAAC,CACX,GAAI,EACJ,IAAK,EACrB,CAAe,EACD,SAAU,SAAU5D,EAAO,CACzB,GAAI,KAAK,WAAW,aAAa,OAAO,EAAE,QAAQ,MAAM,GAAK,GAAI,CAC/D,IAAIgF,EAAW,KAAK,WAAW,cAAc,WAAW,EACpDA,IAAa,OACfpB,EAAa,SAAS,QAAQ,KAAK,KAAMoB,CAAQ,EACjDhF,EAAM,eAAgB,EAE1C,CACe,CACF,CAAA,CACb,CAAW,CACX,EAAW,IAAMiG,CAAS,GAwBpBrC,EAAa,UAAU,KAAO,SAAUC,EAAQY,EAASG,EAAS,CAC5DA,IAAY,SAAUA,EAAU,IAChCf,EAAO,YACT,OAAO,aAAaA,EAAO,UAAU,EAEnCe,IAAY,GACdf,EAAO,WAAa,OAAO,WAAWD,EAAa,UAAU,KAAK,KAAK,KAAMC,EAAQY,EAAS,EAAK,EAAGZ,EAAO,KAAK,GAE9GA,EAAO,SACTA,EAAO,QAAQ,MAAO,EAExBA,EAAO,QAAUY,EACjBZ,EAAO,QAAQ,KAAK,mBAAmBA,EAAO,WAAW,EAAI,IAAM,mBAAmBA,EAAO,KAAM,CAAA,CAAC,EAEvG,EAEG,CAACsC,GAAY,SAAS,cAAc,iBAAiB,GACvDD,EAAO,MAAO,GAShBA,IAAW,MACNzM,EAAQ,SAAS,2BAGjB,EAAE,cAAc,iBAAiB,GAAK,OAE3CA,EAAQ,GAAG,EAAE,eAAe,YAAY,EAAG,SAAU2M,CAAa,EAClE3M,EAAQ,GAAG,EAAE,eAAe,YAAY,EAAG,SAAU2M,CAAa,EAClE3M,EAAQ,GAAG,EAAE,eAAe,UAAU,EAAG,SAAU2M,CAAa,GAGlE,MAAMM,EAAkB,EAAE,iBAAiB,wBAAwB,EACnE,QAASrI,KAAUqI,EACjBjN,EAAQ,GAAG4E,EAAQ,QAAU2B,GAAU,CACrC,GAAIA,EAAM,SAAU,CAClBA,EAAM,eAAgB,EACtB3B,EAAO,UAAU,OAAO,UAAU,EAClC,MACV,CAGQ,MAAMsI,EAAqB,EAAE,iBAAiB,iCAAiC,EAC/E,QAASC,KAAkBD,EACzBC,EAAe,UAAU,OAAO,UAAU,EAE5CvI,EAAO,UAAU,IAAI,UAAU,CAChC,CAAA,EAIH,MAAM/C,EAAO,EAAE,cAAc,SAAS,EAClCA,GAAQ,MACV7B,EAAQ,GAAG6B,EAAM,SAAW0E,GAAU,CACpCA,EAAM,eAAgB,EACtB,MAAM6G,EAAsB,EAAE,cAAc,sBAAsB,EAClE,GAAIA,EAAqB,CACvB,IAAIC,EAAiB,CAAE,EACvB,QAASF,KAAkBF,EACrBE,EAAe,UAAU,SAAS,UAAU,GAC9CE,EAAe,KAAKF,EAAe,KAAK,QAAQ,YAAa,EAAE,CAAC,EAGpEC,EAAoB,MAAQC,EAAe,KAAK,GAAG,CAC7D,CACQxL,EAAK,OAAQ,CACrB,CAAO,CAEP,CAAG,CAEH,GAAG,OAAQ,SAAU,OAAO,OAAO","x_google_ignoreList":[6]} \ No newline at end of file