diff options
| author | Alexandre Flament <alex@al-f.net> | 2021-10-01 18:07:27 +0200 |
|---|---|---|
| committer | Alexandre Flament <alex@al-f.net> | 2021-10-01 18:09:37 +0200 |
| commit | a53a4d5012a3aa5bcabbe0d7db8805fdf342d896 (patch) | |
| tree | 6624deb9186ef9979230e8e63a871b96a4dd38b1 /searx/static/themes/simple/js | |
| parent | 74b08303622c5545f04a3faf52f6c6962a43ea5f (diff) | |
[build] /static
Diffstat (limited to 'searx/static/themes/simple/js')
| -rw-r--r-- | searx/static/themes/simple/js/searx.head.min.js | 2 | ||||
| -rw-r--r-- | searx/static/themes/simple/js/searx.head.min.js.map | 1 | ||||
| -rw-r--r-- | searx/static/themes/simple/js/searx.min.js | 24 | ||||
| -rw-r--r-- | searx/static/themes/simple/js/searx.min.js.map | 1 | ||||
| -rw-r--r-- | searx/static/themes/simple/js/searxng.head.js (renamed from searx/static/themes/simple/js/searx.head.js) | 25 | ||||
| -rw-r--r-- | searx/static/themes/simple/js/searxng.head.min.js | 8 | ||||
| -rw-r--r-- | searx/static/themes/simple/js/searxng.head.min.js.map | 1 | ||||
| -rw-r--r-- | searx/static/themes/simple/js/searxng.js (renamed from searx/static/themes/simple/js/searx.js) | 175 | ||||
| -rw-r--r-- | searx/static/themes/simple/js/searxng.min.js | 30 | ||||
| -rw-r--r-- | searx/static/themes/simple/js/searxng.min.js.map | 1 |
10 files changed, 107 insertions, 161 deletions
diff --git a/searx/static/themes/simple/js/searx.head.min.js b/searx/static/themes/simple/js/searx.head.min.js deleted file mode 100644 index 692083d59..000000000 --- a/searx/static/themes/simple/js/searx.head.min.js +++ /dev/null @@ -1,2 +0,0 @@ -(function(t,e){"use strict";var a=e.currentScript||function(){var t=e.getElementsByTagName("script");return t[t.length-1]}();t.searx={touch:"ontouchstart"in t||t.DocumentTouch&&document instanceof DocumentTouch||false,method:a.getAttribute("data-method"),autocompleter:a.getAttribute("data-autocompleter")==="true",search_on_category_select:a.getAttribute("data-search-on-category-select")==="true",infinite_scroll:a.getAttribute("data-infinite-scroll")==="true",static_path:a.getAttribute("data-static-path"),translations:JSON.parse(a.getAttribute("data-translations"))};e.getElementsByTagName("html")[0].className=t.searx.touch?"js touch":"js"})(window,document); -//# sourceMappingURL=searx.head.min.js.map
\ No newline at end of file diff --git a/searx/static/themes/simple/js/searx.head.min.js.map b/searx/static/themes/simple/js/searx.head.min.js.map deleted file mode 100644 index 69490193e..000000000 --- a/searx/static/themes/simple/js/searx.head.min.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"searx.head.min.js","sources":["searx.head.js"],"names":["w","d","script","currentScript","scripts","getElementsByTagName","length","searx","touch","DocumentTouch","document","method","getAttribute","autocompleter","search_on_category_select","infinite_scroll","static_path","translations","JSON","parse","className","window"],"mappings":"CAkBA,SAAUA,EAAGC,gBAIT,IAAIC,EAASD,EAAEE,eAAkB,WAC7B,IAAIC,EAAUH,EAAEI,qBAAqB,UACrC,OAAOD,EAAQA,EAAQE,OAAS,GAFH,GAMjCN,EAAEO,MAAQ,CACNC,MAAS,iBAAkBR,GAAMA,EAAES,eAAiBC,oBAAoBD,eAAkB,MAC1FE,OAAQT,EAAOU,aAAa,eAC5BC,cAAeX,EAAOU,aAAa,wBAA0B,OAC7DE,0BAA2BZ,EAAOU,aAAa,oCAAsC,OACrFG,gBAAiBb,EAAOU,aAAa,0BAA4B,OACjEI,YAAad,EAAOU,aAAa,oBACjCK,aAAcC,KAAKC,MAAMjB,EAAOU,aAAa,uBAIjDX,EAAEI,qBAAqB,QAAQ,GAAGe,UAAapB,EAAEO,MAAW,MAAE,WAAW,MArB7E,CAsBGc,OAAQX"}
\ No newline at end of file diff --git a/searx/static/themes/simple/js/searx.min.js b/searx/static/themes/simple/js/searx.min.js deleted file mode 100644 index 30b89899c..000000000 --- a/searx/static/themes/simple/js/searx.min.js +++ /dev/null @@ -1,24 +0,0 @@ -window.searx=function(t,o){"use strict";if(t.Element){(function(e){e.matches=e.matches||e.matchesSelector||e.webkitMatchesSelector||e.msMatchesSelector||function(e){var t=this,n=(t.parentNode||t.document).querySelectorAll(e),i=-1;while(n[++i]&&n[i]!=t);return!!n[i]}})(Element.prototype)}function a(e,t,n){try{e.call(t,n)}catch(e){console.log(e)}}var s=window.searx||{};s.on=function(i,e,r,t){t=t||false;if(typeof i!=="string"){i.addEventListener(e,r,t)}else{o.addEventListener(e,function(e){var t=e.target||e.srcElement,n=false;while(t&&t.matches&&t!==o&&!(n=t.matches(i)))t=t.parentElement;if(n)a(r,t,e)},t)}};s.ready=function(e){if(document.readyState!="loading"){e.call(t)}else{t.addEventListener("DOMContentLoaded",e.bind(t))}};s.http=function(e,t){var n=new XMLHttpRequest,i=function(){},r=function(){},o={then:function(e){i=e;return o},catch:function(e){r=e;return o}};try{n.open(e,t,true);n.onload=function(){if(n.status==200){i(n.response,n.responseType)}else{r(Error(n.statusText))}};n.onerror=function(){r(Error("Network Error"))};n.onabort=function(){r(Error("Transaction is aborted"))};n.send()}catch(e){r(e)}return o};s.loadStyle=function(e){var t=s.static_path+e,n="style_"+e.replace(".","_"),i=o.getElementById(n);if(i===null){i=o.createElement("link");i.setAttribute("id",n);i.setAttribute("rel","stylesheet");i.setAttribute("type","text/css");i.setAttribute("href",t);o.body.appendChild(i)}};s.loadScript=function(e,t){var n=s.static_path+e,i="script_"+e.replace(".","_"),r=o.getElementById(i);if(r===null){r=o.createElement("script");r.setAttribute("id",i);r.setAttribute("src",n);r.onload=t;r.onerror=function(){r.setAttribute("error","1")};o.body.appendChild(r)}else if(!r.hasAttribute("error")){try{t.apply(r,[])}catch(e){console.log(e)}}else{console.log("callback not executed : script '"+n+"' not loaded.")}};s.insertBefore=function(e,t){t.parentNode.insertBefore(e,t)};s.insertAfter=function(e,t){t.parentNode.insertAfter(e,t.nextSibling)};s.on(".close","click",function(){this.parentNode.classList.add("invisible")});return s}(window,document);searx.ready(function(){searx.on(".result","click",function(){n(this)(true)});searx.on(".result a","focus",function(e){var t=e.target;while(t!==undefined){if(t.classList.contains("result")){if(t.getAttribute("data-vim-selected")===null){n(t)(true)}break}t=t.parentNode}},true);var d={27:{key:"Escape",fun:t,des:"remove focus from the focused input",cat:"Control"},73:{key:"i",fun:l,des:"focus on the search input",cat:"Control"},66:{key:"b",fun:a(-window.innerHeight),des:"scroll one page up",cat:"Navigation"},70:{key:"f",fun:a(window.innerHeight),des:"scroll one page down",cat:"Navigation"},85:{key:"u",fun:a(-window.innerHeight/2),des:"scroll half a page up",cat:"Navigation"},68:{key:"d",fun:a(window.innerHeight/2),des:"scroll half a page down",cat:"Navigation"},71:{key:"g",fun:s(-document.body.scrollHeight,"top"),des:"scroll to the top of the page",cat:"Navigation"},86:{key:"v",fun:s(document.body.scrollHeight,"bottom"),des:"scroll to the bottom of the page",cat:"Navigation"},75:{key:"k",fun:n("up"),des:"select previous search result",cat:"Results"},74:{key:"j",fun:n("down"),des:"select next search result",cat:"Results"},80:{key:"p",fun:o(),des:"go to previous page",cat:"Results"},78:{key:"n",fun:r(),des:"go to next page",cat:"Results"},79:{key:"o",fun:u(false),des:"open search result",cat:"Results"},84:{key:"t",fun:u(true),des:"open the result in a new tab",cat:"Results"},82:{key:"r",fun:e,des:"reload page from the server",cat:"Control"},72:{key:"h",fun:p,des:"toggle help window",cat:"Other"}};searx.on(document,"keydown",function(e){if(Object.prototype.hasOwnProperty.call(d,e.keyCode)&&!e.ctrlKey&&!e.altKey&&!e.shiftKey&&!e.metaKey){var t=e.target.tagName.toLowerCase();if(e.keyCode===27){if(t==="input"||t==="select"||t==="textarea"){d[e.keyCode].fun()}}else{if(e.target===document.body||t==="a"||t==="button"){e.preventDefault();d[e.keyCode].fun()}}}});function n(d){return function(e){var t=document.querySelector(".result[data-vim-selected]"),n=d;if(t===null){t=document.querySelector(".result");if(t===null){return}if(d==="down"||d==="up"){n=t}}var i,r=document.querySelectorAll(".result");if(typeof n!=="string"){i=n}else{switch(n){case"visible":var o=document.documentElement.scrollTop||document.body.scrollTop;var a=o+document.documentElement.clientHeight;for(var s=0;s<r.length;s++){i=r[s];var l=i.offsetTop;var u=l+i.clientHeight;if(u<=a&&l>o){break}}break;case"down":i=t.nextElementSibling;if(i===null){i=r[0]}break;case"up":i=t.previousElementSibling;if(i===null){i=r[r.length-1]}break;case"bottom":i=r[r.length-1];break;case"top":default:i=r[0]}}if(i){t.removeAttribute("data-vim-selected");i.setAttribute("data-vim-selected","true");var c=i.querySelector("h3 a")||i.querySelector("a");if(c!==null){c.focus()}if(!e){f()}}}}function e(){document.location.reload(true)}function t(){if(document.activeElement){document.activeElement.blur()}}function i(t){return function(){var e=document.querySelector(t);if(e){e.click()}}}function r(){return i('nav#pagination .next_page button[type="submit"]')}function o(){return i('nav#pagination .previous_page button[type="submit"]')}function f(){var e=document.querySelector(".result[data-vim-selected]");if(e===null){return}var t=document.documentElement.scrollTop||document.body.scrollTop,n=document.documentElement.clientHeight,i=e.offsetTop,r=i+e.clientHeight,o=120;if(e.previousElementSibling===null&&r<n){window.scroll(window.scrollX,0);return}if(t>i-o){window.scroll(window.scrollX,i-o)}else{var a=t+n;if(a<r+o){window.scroll(window.scrollX,r-n+o)}}}function a(e){return function(){window.scrollBy(0,e);n("visible")()}}function s(e,t){return function(){window.scrollTo(0,e);n(t)()}}function l(){window.scrollTo(0,0);document.querySelector("#q").focus()}function u(n){return function(){var e=document.querySelector(".result[data-vim-selected] h3 a");if(e!==null){var t=e.getAttribute("href");if(n){window.open(t)}else{window.location.href=t}}}}function c(e){var n={};for(var t in d){var i=d[t];n[i.cat]=n[i.cat]||[];n[i.cat].push(i)}var r=Object.keys(n).sort(function(e,t){return n[t].length-n[e].length});if(r.length===0){return}var o='<a href="#" class="close" aria-label="close" title="close">×</a>';o+="<h3>How to navigate searx with Vim-like hotkeys</h3>";o+="<table>";for(var a=0;a<r.length;a++){var s=n[r[a]];var l=a===r.length-1;var u=a%2===0;if(u){o+="<tr>"}o+="<td>";o+="<h4>"+s[0].cat+"</h4>";o+='<ul class="list-unstyled">';for(var c in s){o+="<li><kbd>"+s[c].key+"</kbd> "+s[c].des+"</li>"}o+="</ul>";o+="</td>";if(!u||l){o+="</tr>"}}o+="</table>";e.innerHTML=o}function p(){var e=document.querySelector("#vim-hotkeys-help");console.log(e);if(e===undefined||e===null){e=document.createElement("div");e.id="vim-hotkeys-help";e.className="dialog-modal";e.style="width: 40%";c(e);c(e);c(e);var t=document.getElementsByTagName("body")[0];t.appendChild(e)}else{e.classList.toggle("invisible");return}}});(function(e,t,n){"use strict";n.ready(function(){n.on(".searx_init_map","click",function(e){this.classList.remove("searx_init_map");var d=this.dataset.leafletTarget;var f=parseFloat(this.dataset.mapLon);var p=parseFloat(this.dataset.mapLat);var h=parseFloat(this.dataset.mapZoom);var m=JSON.parse(this.dataset.mapBoundingbox);var g=JSON.parse(this.dataset.mapGeojson);n.loadStyle("css/leaflet.css");n.loadScript("js/leaflet.js",function(){var e=null;if(m){var t=L.latLng(m[0],m[2]);var n=L.latLng(m[1],m[3]);e=L.latLngBounds(t,n)}var i=L.map(d);var r="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png";var o='Map data © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors';var a=new L.TileLayer(r,{minZoom:1,maxZoom:19,attribution:o});var s="https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png";var l='Wikimedia maps | Maps data © <a href="https://openstreetmap.org">OpenStreetMap contributors</a>';var u=new L.TileLayer(s,{minZoom:1,maxZoom:19,attribution:l});if(e){setTimeout(function(){i.fitBounds(e,{maxZoom:17})},0)}else if(f&&p){if(h){i.setView(new L.latLng(p,f),h)}else{i.setView(new L.latLng(p,f),8)}}i.addLayer(a);var c={"OSM Mapnik":a,"OSM Wikimedia":u};L.control.layers(c).addTo(i);if(g){L.geoJson(g).addTo(i)}});e.preventDefault()})})})(window,document,window.searx);(function(e,o,a){"use strict";a.ready(function(){let r=null;function e(){if(r==null){a.http("GET","engine_descriptions.json").then(function(e){r=JSON.parse(e);for(const[t,n]of Object.entries(r)){let e=o.querySelectorAll('[data-engine-name="'+t+'"] .engine-description');for(const i of e){let e=" (<i>"+a.translations["Source"]+": "+n[1]+"</i>)";i.innerHTML=n[0]+e}}})}}if(o.querySelector('body[class="preferences_endpoint"]')){for(const t of o.querySelectorAll("[data-engine-name]")){a.on(t,"mouseenter",e)}}})})(window,document,window.searx);(function(e,o,t){"use strict";t.ready(function(){t.image_thumbnail_layout=new t.ImageLayout("#urls","#urls .result-images","img.image_thumbnail",10,200);t.image_thumbnail_layout.watch();t.on(".btn-collapse","click",function(){var e=this.getAttribute("data-btn-text-collapsed");var t=this.getAttribute("data-btn-text-not-collapsed");var n=this.getAttribute("data-target");var i=o.querySelector(n);var r=this.innerHTML;if(this.classList.contains("collapsed")){r=r.replace(e,t)}else{r=r.replace(t,e)}this.innerHTML=r;this.classList.toggle("collapsed");i.classList.toggle("invisible")});t.on(".media-loader","click",function(){var e=this.getAttribute("data-target");var t=o.querySelector(e+" > iframe");var n=t.getAttribute("src");if(n===null||n===undefined||n===false){t.setAttribute("src",t.getAttribute("data-src"))}});e.addEventListener("scroll",function(){var e=o.getElementById("backToTop"),t=document.documentElement.scrollTop||document.body.scrollTop;if(e!==null){if(t>=200){e.style.opacity=1}else{e.style.opacity=0}}})})})(window,document,window.searx);(function(t,n,i){"use strict";var r=true,o="q",a;function s(e){if(e.setSelectionRange){var t=e.value.length;e.setSelectionRange(t,t)}}function l(){if(a.value.length>0){var e=document.getElementById("search");setTimeout(e.submit.bind(e),0)}}function u(e){var t=document.getElementById("clear_search");var n=function(){if(e.value.length===0){t.classList.add("empty")}else{t.classList.remove("empty")}};n();t.addEventListener("click",function(){e.value="";e.focus();n()});e.addEventListener("keyup",n,false)}i.ready(function(){a=n.getElementById(o);function e(){if(r){s(a);r=false}else{}}if(a!==null){u(a);if(i.autocompleter){i.autocomplete=AutoComplete.call(t,{Url:"./autocompleter",EmptyMessage:i.translations.no_item_found,HttpMethod:i.method,HttpHeaders:{"Content-type":"application/x-www-form-urlencoded","X-Requested-With":"XMLHttpRequest"},MinChars:4,Delay:300},"#"+o);t.addEventListener("resize",function(){var e=new CustomEvent("position");a.dispatchEvent(e)})}a.addEventListener("focus",e,false);a.focus()}if(a!==null&&n.querySelector(".help")!=null&&i.search_on_category_select){n.querySelector(".help").className="invisible";i.on("#categories input","change",function(){var e,t=n.querySelectorAll('#categories input[type="checkbox"]');for(e=0;e<t.length;e++){if(t[e]!==this&&t[e].checked){t[e].click()}}if(!this.checked){this.click()}l();return false});i.on(n.getElementById("time_range"),"change",l);i.on(n.getElementById("language"),"change",l)}})})(window,document,window.searx); -/** -* -* Google Image Layout v0.0.1 -* Description, by Anh Trinh. -* Heavily modified for searx -* https://ptgamr.github.io/2014-09-12-google-image-layout/ -* https://ptgamr.github.io/google-image-layout/src/google-image-layout.js -* -* @license Free to use under the MIT License. -* -*/ -(function(a,c){function e(e,t,n,i,r){this.container_selector=e;this.results_selector=t;this.img_selector=n;this.margin=i;this.maxHeight=r;this.isAlignDone=true}e.prototype._getHeigth=function(e,t){var n,i;var r=0;for(n=0;n<e.length;n++){i=e[n];if(i.naturalWidth>0&&i.naturalHeight>0){r+=i.naturalWidth/i.naturalHeight}else{r+=1}}return(t-e.length*this.margin)/r};e.prototype._setSize=function(e,t){var n,i,r;var o=e.length,a;for(n=0;n<o;n++){i=e[n];if(i.naturalWidth>0&&i.naturalHeight>0){r=t*i.naturalWidth/i.naturalHeight}else{r=t}i.style.width=r+"px";i.style.height=t+"px";i.style.marginLeft="3px";i.style.marginTop="3px";i.style.marginRight=this.margin-7+"px";i.style.marginBottom=this.margin-7+"px";a=i.parentNode.parentNode;if(!a.classList.contains("js")){a.classList.add("js")}}};e.prototype._alignImgs=function(e){var t,n,i,r;var o=c.querySelector(this.container_selector);var a=window.getComputedStyle(o);var s=parseInt(a.getPropertyValue("padding-left"),10);var l=parseInt(a.getPropertyValue("padding-right"),10);var u=o.clientWidth-s-l;while(e.length>0){t=true;for(i=1;i<=e.length&&t;i++){n=e.slice(0,i);r=this._getHeigth(n,u);if(r<this.maxHeight){this._setSize(n,r);e=e.slice(i);t=false}}if(t){this._setSize(n,Math.min(this.maxHeight,r));break}}};e.prototype.align=function(){var e;var t=c.querySelectorAll(this.results_selector);var n=t.length;var i=null;var r=null;var o=[];for(e=0;e<n;e++){r=t[e];if(r.previousElementSibling!==i&&o.length>0){this._alignImgs(o);o=[]}o.push(r.querySelector(this.img_selector));i=r}if(o.length>0){this._alignImgs(o)}};e.prototype.watch=function(){var e,t;var n=this;var i=c.querySelectorAll(this.results_selector);var r=i.length;function o(){if(n.isAlignDone){n.isAlignDone=false;setTimeout(function(){n.align();n.isAlignDone=true},100)}}a.addEventListener("pageshow",o);a.addEventListener("load",o);a.addEventListener("resize",o);for(e=0;e<r;e++){t=i[e].querySelector(this.img_selector);if(t!==null&&t!==undefined){t.addEventListener("load",o);t.addEventListener("error",o)}}};a.searx.ImageLayout=e})(window,document);(function(e){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=e()}else if(typeof define==="function"&&define.amd){define([],e)}else{var t;if(typeof window!=="undefined"){t=window}else if(typeof global!=="undefined"){t=global}else if(typeof self!=="undefined"){t=self}else{t=this}t.AutoComplete=e()}})(function(){var e,t,n;return function(){function c(o,a,s){function l(n,e){if(!a[n]){if(!o[n]){var t="function"==typeof require&&require;if(!e&&t)return t(n,!0);if(u)return u(n,!0);var i=new Error("Cannot find module '"+n+"'");throw i.code="MODULE_NOT_FOUND",i}var r=a[n]={exports:{}};o[n][0].call(r.exports,function(e){var t=o[n][1][e];return l(t||e)},r,r.exports,c,o,a,s)}return a[n].exports}for(var u="function"==typeof require&&require,e=0;e<s.length;e++)l(s[e]);return l}return c}()({1:[function(e,t,n){ -/* - * @license MIT - * - * Autocomplete.js v2.7.1 - * Developed by Baptiste Donaux - * http://autocomplete-js.com - * - * (c) 2017, Baptiste Donaux - */ -"use strict";var l;(function(e){e[e["AND"]=0]="AND";e[e["OR"]=1]="OR"})(l||(l={}));var o;(function(e){e[e["KEYDOWN"]=0]="KEYDOWN";e[e["KEYUP"]=1]="KEYUP"})(o||(o={}));var i=function(){function s(t,e){if(t===void 0){t={}}if(e===void 0){e="[data-autocomplete]"}if(Array.isArray(e)){e.forEach(function(e){new s(t,e)})}else if(typeof e=="string"){var n=document.querySelectorAll(e);Array.prototype.forEach.call(n,function(e){new s(t,e)})}else{var i=s.merge(s.defaults,t,{DOMResults:document.createElement("div")});s.prototype.create(i,e);return i}}s.prototype.create=function(e,t){e.Input=t;if(e.Input.nodeName.match(/^INPUT$/i)&&(e.Input.hasAttribute("type")===false||e.Input.getAttribute("type").match(/^TEXT|SEARCH$/i))){e.Input.setAttribute("autocomplete","off");e._Position(e);e.Input.parentNode.appendChild(e.DOMResults);e.$Listeners={blur:e._Blur.bind(e),destroy:s.prototype.destroy.bind(null,e),focus:e._Focus.bind(e),keyup:s.prototype.event.bind(null,e,o.KEYUP),keydown:s.prototype.event.bind(null,e,o.KEYDOWN),position:e._Position.bind(e)};for(var n in e.$Listeners){e.Input.addEventListener(n,e.$Listeners[n])}}};s.prototype.getEventsByType=function(e,t){var n={};for(var i in e.KeyboardMappings){var r=o.KEYUP;if(e.KeyboardMappings[i].Event!==undefined){r=e.KeyboardMappings[i].Event}if(r==t){n[i]=e.KeyboardMappings[i]}}return n};s.prototype.event=function(e,t,n){var i=function(e){if(a===true&&o.Operator==l.AND||a===false&&o.Operator==l.OR){e=s.merge({Not:false},e);if(e.hasOwnProperty("Is")){if(e.Is==n.keyCode){a=!e.Not}else{a=e.Not}}else if(e.hasOwnProperty("From")&&e.hasOwnProperty("To")){if(n.keyCode>=e.From&&n.keyCode<=e.To){a=!e.Not}else{a=e.Not}}}};for(var r in s.prototype.getEventsByType(e,t)){var o=s.merge({Operator:l.AND},e.KeyboardMappings[r]),a=l.AND==o.Operator;o.Conditions.forEach(i);if(a===true){o.Callback.call(e,n)}}};s.prototype.makeRequest=function(e,t,n){var i=Object.getOwnPropertyNames(e.HttpHeaders),r=new XMLHttpRequest,o=e._HttpMethod(),a=e._Url(),s=e._Pre(),l=encodeURIComponent(e._QueryArg())+"="+encodeURIComponent(s);if(o.match(/^GET$/i)){if(a.indexOf("?")!==-1){a+="&"+l}else{a+="?"+l}}r.open(o,a,true);for(var u=i.length-1;u>=0;u--){r.setRequestHeader(i[u],e.HttpHeaders[i[u]])}r.onreadystatechange=function(){if(r.readyState==4&&r.status==200){e.$Cache[s]=r.response;t(r.response)}else if(r.status>=400){n()}};return r};s.prototype.ajax=function(e,t,n){if(n===void 0){n=true}if(e.$AjaxTimer){window.clearTimeout(e.$AjaxTimer)}if(n===true){e.$AjaxTimer=window.setTimeout(s.prototype.ajax.bind(null,e,t,false),e.Delay)}else{if(e.Request){e.Request.abort()}e.Request=t;e.Request.send(e._QueryArg()+"="+e._Pre())}};s.prototype.cache=function(e,t,n){var i=e._Cache(e._Pre());if(i===undefined){var r=s.prototype.makeRequest(e,t,n);s.prototype.ajax(e,r)}else{t(i)}};s.prototype.destroy=function(e){for(var t in e.$Listeners){e.Input.removeEventListener(t,e.$Listeners[t])}e.DOMResults.parentNode.removeChild(e.DOMResults)};s.merge=function(){var e={},t;for(var n=0;n<arguments.length;n++){for(t in arguments[n]){e[t]=arguments[n][t]}}return e};s.defaults={Delay:150,EmptyMessage:"No result here",Highlight:{getRegex:function(e){return new RegExp(e,"ig")},transform:function(e){return"<strong>"+e+"</strong>"}},HttpHeaders:{"Content-type":"application/x-www-form-urlencoded"},Limit:0,MinChars:0,HttpMethod:"GET",QueryArg:"q",Url:null,KeyboardMappings:{Enter:{Conditions:[{Is:13,Not:false}],Callback:function(e){if(this.DOMResults.getAttribute("class").indexOf("open")!=-1){var t=this.DOMResults.querySelector("li.active");if(t!==null){e.preventDefault();this._Select(t);this.DOMResults.setAttribute("class","autocomplete")}}},Operator:l.AND,Event:o.KEYDOWN},KeyUpAndDown_down:{Conditions:[{Is:38,Not:false},{Is:40,Not:false}],Callback:function(e){e.preventDefault()},Operator:l.OR,Event:o.KEYDOWN},KeyUpAndDown_up:{Conditions:[{Is:38,Not:false},{Is:40,Not:false}],Callback:function(e){e.preventDefault();var t=this.DOMResults.querySelector("li:first-child:not(.locked)"),n=this.DOMResults.querySelector("li:last-child:not(.locked)"),i=this.DOMResults.querySelector("li.active");if(i){var r=Array.prototype.indexOf.call(i.parentNode.children,i),o=r+(e.keyCode-39),a=this.DOMResults.getElementsByTagName("li").length;if(o<0){o=a-1}else if(o>=a){o=0}i.classList.remove("active");i.parentElement.children.item(o).classList.add("active")}else if(n&&e.keyCode==38){n.classList.add("active")}else if(t){t.classList.add("active")}},Operator:l.OR,Event:o.KEYUP},AlphaNum:{Conditions:[{Is:13,Not:true},{From:35,To:40,Not:true}],Callback:function(){var e=this.Input.getAttribute("data-autocomplete-old-value"),t=this._Pre();if(t!==""&&t.length>=this._MinChars()){if(!e||t!=e){this.DOMResults.setAttribute("class","autocomplete open")}s.prototype.cache(this,function(e){this._Render(this._Post(e));this._Open()}.bind(this),this._Error)}else{this._Close()}},Operator:l.AND,Event:o.KEYUP}},DOMResults:null,Request:null,Input:null,_EmptyMessage:function(){var e="";if(this.Input.hasAttribute("data-autocomplete-empty-message")){e=this.Input.getAttribute("data-autocomplete-empty-message")}else if(this.EmptyMessage!==false){e=this.EmptyMessage}else{e=""}return e},_Limit:function(){var e=this.Input.getAttribute("data-autocomplete-limit");if(isNaN(e)||e===null){return this.Limit}return parseInt(e,10)},_MinChars:function(){var e=this.Input.getAttribute("data-autocomplete-minchars");if(isNaN(e)||e===null){return this.MinChars}return parseInt(e,10)},_Highlight:function(e){return e.replace(this.Highlight.getRegex(this._Pre()),this.Highlight.transform)},_HttpMethod:function(){if(this.Input.hasAttribute("data-autocomplete-method")){return this.Input.getAttribute("data-autocomplete-method")}return this.HttpMethod},_QueryArg:function(){if(this.Input.hasAttribute("data-autocomplete-param-name")){return this.Input.getAttribute("data-autocomplete-param-name")}return this.QueryArg},_Url:function(){if(this.Input.hasAttribute("data-autocomplete")){return this.Input.getAttribute("data-autocomplete")}return this.Url},_Blur:function(e){if(e===void 0){e=false}if(e){this._Close()}else{var t=this;setTimeout(function(){t._Blur(true)},150)}},_Cache:function(e){return this.$Cache[e]},_Focus:function(){var e=this.Input.getAttribute("data-autocomplete-old-value");if((!e||this.Input.value!=e)&&this._MinChars()<=this.Input.value.length){this.DOMResults.setAttribute("class","autocomplete open")}},_Open:function(){var t=this;Array.prototype.forEach.call(this.DOMResults.getElementsByTagName("li"),function(e){if(e.getAttribute("class")!="locked"){e.onclick=function(){t._Select(e)}}})},_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;if(typeof e=="string"){t=this._RenderRaw(e)}else{t=this._RenderResponseItems(e)}if(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"),i=this._Limit();if(i<0){e=e.reverse()}else if(i===0){i=e.length}for(var r=0;r<Math.min(Math.abs(i),e.length);r++){n.innerHTML=e[r].Label;n.setAttribute("data-autocomplete-value",e[r].Value);t.appendChild(n);n=document.createElement("li")}return t},_RenderRaw:function(e){var t=document.createElement("ul"),n=document.createElement("li");if(e.length>0){this.DOMResults.innerHTML=e}else{var i=this._EmptyMessage();if(i!==""){n.innerHTML=i;n.setAttribute("class","locked");t.appendChild(n)}}return t},_Post:function(t){try{var e=[];var n=JSON.parse(t);if(Object.keys(n).length===0){return""}if(Array.isArray(n)){for(var i=0;i<Object.keys(n).length;i++){e[e.length]={Value:n[i],Label:this._Highlight(n[i])}}}else{for(var r in n){e.push({Value:r,Label:this._Highlight(n[r])})}}return e}catch(e){return t}},_Pre:function(){return this.Input.value},_Select:function(e){if(e.hasAttribute("data-autocomplete-value")){this.Input.value=e.getAttribute("data-autocomplete-value")}else{this.Input.value=e.innerHTML}this.Input.setAttribute("data-autocomplete-old-value",this.Input.value)},_Error:function(){},$AjaxTimer:null,$Cache:{},$Listeners:{}};return s}();t.exports=i},{}]},{},[1])(1)}); -//# sourceMappingURL=searx.min.js.map
\ No newline at end of file diff --git a/searx/static/themes/simple/js/searx.min.js.map b/searx/static/themes/simple/js/searx.min.js.map deleted file mode 100644 index 0dadd577f..000000000 --- a/searx/static/themes/simple/js/searx.min.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"searx.min.js","sources":["searx.js"],"names":["window","searx","w","d","Element","ElementPrototype","matches","matchesSelector","webkitMatchesSelector","msMatchesSelector","selector","node","this","nodes","parentNode","document","querySelectorAll","i","prototype","callbackSafe","callback","el","e","call","exception","console","log","on","obj","eventType","useCapture","addEventListener","target","srcElement","found","parentElement","ready","readyState","bind","http","method","url","req","XMLHttpRequest","resolve","reject","promise","then","catch","open","onload","status","response","responseType","Error","statusText","onerror","onabort","send","ex","loadStyle","src","path","static_path","id","replace","s","getElementById","createElement","setAttribute","body","appendChild","loadScript","hasAttribute","apply","insertBefore","newNode","referenceNode","insertAfter","nextSibling","classList","add","highlightResult","undefined","contains","getAttribute","vimKeys","27","key","fun","removeFocus","des","cat","73","searchInputFocus","66","scrollPage","innerHeight","70","85","68","71","scrollPageTo","scrollHeight","86","75","74","80","GoToPreviousPage","78","GoToNextPage","79","openResult","84","82","reloadPage","72","toggleHelp","Object","hasOwnProperty","keyCode","ctrlKey","altKey","shiftKey","metaKey","tagName","toLowerCase","preventDefault","which","noScroll","current","querySelector","effectiveWhich","next","results","top","documentElement","scrollTop","bot","clientHeight","length","etop","offsetTop","ebot","nextElementSibling","previousElementSibling","removeAttribute","link","focus","scrollPageToSelected","location","reload","activeElement","blur","pageButtonClick","css_selector","button","click","sel","wtop","wheight","offset","scroll","scrollX","wbot","amount","scrollBy","position","nav","scrollTo","newTab","href","initHelpContent","divElement","categories","k","push","sorted","keys","sort","a","b","html","lastCategory","first","cj","innerHTML","helpPanel","className","style","getElementsByTagName","toggle","event","remove","leaflet_target","dataset","leafletTarget","map_lon","parseFloat","mapLon","map_lat","mapLat","map_zoom","mapZoom","map_boundingbox","JSON","parse","mapBoundingbox","map_geojson","mapGeojson","map_bounds","southWest","L","latLng","northEast","latLngBounds","map","osmMapnikUrl","osmMapnikAttrib","osmMapnik","TileLayer","minZoom","maxZoom","attribution","osmWikimediaUrl","osmWikimediaAttrib","osmWikimedia","setTimeout","fitBounds","setView","addLayer","baseLayers","OSM Mapnik","OSM Wikimedia","control","layers","addTo","geoJson","engine_descriptions","load_engine_descriptions","content","engine_name","description","entries","elements","element","source","translations","image_thumbnail_layout","ImageLayout","watch","btnLabelCollapsed","btnLabelNotCollapsed","targetElement","iframe_load","srctest","opacity","firstFocus","qinput_id","qinput","placeCursorAtEnd","setSelectionRange","len","value","submitIfQuery","search","submit","createClearButton","cs","updateClearButton","placeCursorAtEndOnce","autocompleter","autocomplete","AutoComplete","Url","EmptyMessage","no_item_found","HttpMethod","HttpHeaders","Content-type","X-Requested-With","MinChars","Delay","CustomEvent","dispatchEvent","search_on_category_select","checked","container_selector","results_selector","img_selector","margin","maxHeight","isAlignDone","_getHeigth","images","width","img","r","naturalWidth","naturalHeight","_setSize","height","imgWidth","imagesLength","resultNode","marginLeft","marginTop","marginRight","marginBottom","_alignImgs","imgGroup","isSearching","slice","h","containerElement","containerCompStyles","getComputedStyle","containerPaddingLeft","parseInt","getPropertyValue","containerPaddingRight","containerWidth","clientWidth","Math","min","align","results_selectorNode","results_length","previous","results_nodes","throttleAlign","f","exports","module","define","amd","g","global","self","n","t","o","c","require","u","code","p","1","ConditionOperator","EventType","params","Array","isArray","forEach","input","specificParams","merge","defaults","DOMResults","create","Input","nodeName","match","_Position","$Listeners","_Blur","destroy","_Focus","keyup","KEYUP","keydown","KEYDOWN","getEventsByType","type","mappings","KeyboardMappings","Event","eventIdentifier","condition","mapping","Operator","AND","OR","Not","Is","From","To","name","Conditions","Callback","makeRequest","callbackErr","propertyHttpHeaders","getOwnPropertyNames","request","_HttpMethod","_Url","queryParams","_Pre","queryParamsStringify","encodeURIComponent","_QueryArg","indexOf","setRequestHeader","onreadystatechange","$Cache","ajax","timeout","$AjaxTimer","clearTimeout","Request","abort","cache","_Cache","removeEventListener","removeChild","tmp","arguments","Highlight","getRegex","RegExp","transform","Limit","QueryArg","Enter","liActive","_Select","KeyUpAndDown_down","KeyUpAndDown_up","last","active","currentIndex","children","lisCount","item","AlphaNum","oldValue","currentValue","_MinChars","_Render","_Post","_Open","_Error","_Close","_EmptyMessage","emptyMessage","_Limit","limit","isNaN","minchars","_Highlight","label","now","li","onclick","offsetHeight","offsetLeft","ul","_RenderRaw","_RenderResponseItems","hasChildNodes","childNodes","reverse","abs","Label","Value","returnResponse","json"],"mappings":"AAiBAA,OAAOC,MAAQ,SAAUC,EAAGC,gBAQ1B,GAAID,EAAEE,QAAS,EACb,SAAUC,GACRA,EAAiBC,QAAUD,EAAiBC,SAC5CD,EAAiBE,iBACjBF,EAAiBG,uBACjBH,EAAiBI,mBACjB,SAASC,GACP,IAAIC,EAAOC,KAAMC,GAASF,EAAKG,YAAcH,EAAKI,UAAUC,iBAAiBN,GAAWO,GAAK,EAC7F,MAAOJ,IAAQI,IAAMJ,EAAMI,IAAMN,GACjC,QAASE,EAAMI,KARnB,CAUGb,QAAQc,WAGb,SAASC,EAAaC,EAAUC,EAAIC,GAClC,IACEF,EAASG,KAAKF,EAAIC,GAClB,MAAOE,GACPC,QAAQC,IAAIF,IAIhB,IAAIvB,EAAQD,OAAOC,OAAS,GAE5BA,EAAM0B,GAAK,SAASC,EAAKC,EAAWT,EAAUU,GAC5CA,EAAaA,GAAc,MAC3B,UAAWF,IAAQ,SAAU,CAE3BA,EAAIG,iBAAiBF,EAAWT,EAAUU,OACrC,CAEL3B,EAAE4B,iBAAiBF,EAAW,SAASP,GACrC,IAAID,EAAKC,EAAEU,QAAUV,EAAEW,WAAYC,EAAQ,MAC3C,MAAOb,GAAMA,EAAGf,SAAWe,IAAOlB,KAAO+B,EAAQb,EAAGf,QAAQsB,IAAOP,EAAKA,EAAGc,cAC3E,GAAID,EAAOf,EAAaC,EAAUC,EAAIC,IACrCQ,KAIP7B,EAAMmC,MAAQ,SAAShB,GACrB,GAAIL,SAASsB,YAAc,UAAW,CACpCjB,EAASG,KAAKrB,OACT,CACLA,EAAE6B,iBAAiB,mBAAoBX,EAASkB,KAAKpC,MAIzDD,EAAMsC,KAAO,SAASC,EAAQC,GAC5B,IAAIC,EAAM,IAAIC,eACdC,EAAU,aACVC,EAAS,aACTC,EAAU,CACRC,KAAM,SAAS3B,GAAYwB,EAAUxB,EAAU,OAAO0B,GACtDE,MAAO,SAAS5B,GAAYyB,EAASzB,EAAU,OAAO0B,IAGxD,IACEJ,EAAIO,KAAKT,EAAQC,EAAK,MAGtBC,EAAIQ,OAAS,WACX,GAAIR,EAAIS,QAAU,IAAK,CACrBP,EAAQF,EAAIU,SAAUV,EAAIW,kBACrB,CACLR,EAAOS,MAAMZ,EAAIa,eAKrBb,EAAIc,QAAU,WACZX,EAAOS,MAAM,mBAGfZ,EAAIe,QAAU,WACZZ,EAAOS,MAAM,4BAIfZ,EAAIgB,OACJ,MAAOC,GACPd,EAAOc,GAGT,OAAOb,GAGT7C,EAAM2D,UAAY,SAASC,GACzB,IAAIC,EAAO7D,EAAM8D,YAAcF,EAC/BG,EAAK,SAAWH,EAAII,QAAQ,IAAK,KACjCC,EAAI/D,EAAEgE,eAAeH,GACrB,GAAIE,IAAM,KAAM,CACdA,EAAI/D,EAAEiE,cAAc,QACpBF,EAAEG,aAAa,KAAML,GACrBE,EAAEG,aAAa,MAAO,cACtBH,EAAEG,aAAa,OAAQ,YACvBH,EAAEG,aAAa,OAAQP,GACvB3D,EAAEmE,KAAKC,YAAYL,KAIvBjE,EAAMuE,WAAa,SAASX,EAAKzC,GAC/B,IAAI0C,EAAO7D,EAAM8D,YAAcF,EAC/BG,EAAK,UAAYH,EAAII,QAAQ,IAAK,KAClCC,EAAI/D,EAAEgE,eAAeH,GACrB,GAAIE,IAAM,KAAM,CACdA,EAAI/D,EAAEiE,cAAc,UACpBF,EAAEG,aAAa,KAAML,GACrBE,EAAEG,aAAa,MAAOP,GACtBI,EAAEhB,OAAS9B,EACX8C,EAAEV,QAAU,WACVU,EAAEG,aAAa,QAAS,MAE1BlE,EAAEmE,KAAKC,YAAYL,QACd,IAAKA,EAAEO,aAAa,SAAU,CACnC,IACErD,EAASsD,MAAMR,EAAG,IAClB,MAAO1C,GACPC,QAAQC,IAAIF,QAET,CACLC,QAAQC,IAAI,mCAAqCoC,EAAO,mBAI5D7D,EAAM0E,aAAe,SAAUC,EAASC,GACtCA,EAAc/D,WAAW6D,aAAaC,EAASC,IAGjD5E,EAAM6E,YAAc,SAASF,EAASC,GACpCA,EAAc/D,WAAWgE,YAAYF,EAASC,EAAcE,cAG9D9E,EAAM0B,GAAG,SAAU,QAAS,WAC1Bf,KAAKE,WAAWkE,UAAUC,IAAI,eAGhC,OAAOhF,EAhJM,CAiJZD,OAAQe,UAGXd,MAAMmC,MAAM,WAEVnC,MAAM0B,GAAG,UAAW,QAAS,WAC3BuD,EAAgBtE,KAAhBsE,CAAsB,QAGxBjF,MAAM0B,GAAG,YAAa,QAAS,SAASL,GACtC,IAAID,EAAKC,EAAEU,OACX,MAAOX,IAAO8D,UAAW,CACvB,GAAI9D,EAAG2D,UAAUI,SAAS,UAAW,CACnC,GAAI/D,EAAGgE,aAAa,uBAAyB,KAAM,CACjDH,EAAgB7D,EAAhB6D,CAAoB,MAEtB,MAEF7D,EAAKA,EAAGP,aAET,MAEH,IAAIwE,EAAU,CACZC,GAAI,CACFC,IAAK,SACLC,IAAKC,EACLC,IAAK,sCACLC,IAAK,WAEPC,GAAI,CACFL,IAAK,IACLC,IAAKK,EACLH,IAAK,4BACLC,IAAK,WAEPG,GAAI,CACFP,IAAK,IACLC,IAAKO,GAAYhG,OAAOiG,aACxBN,IAAK,qBACLC,IAAK,cAEPM,GAAI,CACFV,IAAK,IACLC,IAAKO,EAAWhG,OAAOiG,aACvBN,IAAK,uBACLC,IAAK,cAEPO,GAAI,CACFX,IAAK,IACLC,IAAKO,GAAYhG,OAAOiG,YAAc,GACtCN,IAAK,wBACLC,IAAK,cAEPQ,GAAI,CACFZ,IAAK,IACLC,IAAKO,EAAWhG,OAAOiG,YAAc,GACrCN,IAAK,0BACLC,IAAK,cAEPS,GAAI,CACFb,IAAK,IACLC,IAAKa,GAAcvF,SAASuD,KAAKiC,aAAc,OAC/CZ,IAAK,gCACLC,IAAK,cAEPY,GAAI,CACFhB,IAAK,IACLC,IAAKa,EAAavF,SAASuD,KAAKiC,aAAc,UAC9CZ,IAAK,mCACLC,IAAK,cAEPa,GAAI,CACFjB,IAAK,IACLC,IAAKP,EAAgB,MACrBS,IAAK,gCACLC,IAAK,WAEPc,GAAI,CACFlB,IAAK,IACLC,IAAKP,EAAgB,QACrBS,IAAK,4BACLC,IAAK,WAEPe,GAAI,CACFnB,IAAK,IACLC,IAAKmB,IACLjB,IAAK,sBACLC,IAAK,WAEPiB,GAAI,CACFrB,IAAK,IACLC,IAAKqB,IACLnB,IAAK,kBACLC,IAAK,WAEPmB,GAAI,CACFvB,IAAK,IACLC,IAAKuB,EAAW,OAChBrB,IAAK,qBACLC,IAAK,WAEPqB,GAAI,CACFzB,IAAK,IACLC,IAAKuB,EAAW,MAChBrB,IAAK,+BACLC,IAAK,WAEPsB,GAAI,CACF1B,IAAK,IACLC,IAAK0B,EACLxB,IAAK,8BACLC,IAAK,WAEPwB,GAAI,CACF5B,IAAK,IACLC,IAAK4B,EACL1B,IAAK,qBACLC,IAAK,UAIT3F,MAAM0B,GAAGZ,SAAU,UAAW,SAASO,GAErC,GAAIgG,OAAOpG,UAAUqG,eAAehG,KAAK+D,EAAShE,EAAEkG,WAAalG,EAAEmG,UAAYnG,EAAEoG,SAAWpG,EAAEqG,WAAarG,EAAEsG,QAAS,CACpH,IAAIC,EAAUvG,EAAEU,OAAO6F,QAAQC,cAC/B,GAAIxG,EAAEkG,UAAY,GAAI,CACpB,GAAIK,IAAY,SAAWA,IAAY,UAAYA,IAAY,WAAY,CACzEvC,EAAQhE,EAAEkG,SAAS/B,WAEhB,CACL,GAAInE,EAAEU,SAAWjB,SAASuD,MAAQuD,IAAY,KAAOA,IAAY,SAAU,CACzEvG,EAAEyG,iBACFzC,EAAQhE,EAAEkG,SAAS/B,WAM3B,SAASP,EAAgB8C,GACvB,OAAO,SAASC,GACd,IAAIC,EAAUnH,SAASoH,cAAc,8BACrCC,EAAiBJ,EACjB,GAAIE,IAAY,KAAM,CAEpBA,EAAUnH,SAASoH,cAAc,WACjC,GAAID,IAAY,KAAM,CAEpB,OAGF,GAAIF,IAAU,QAAUA,IAAU,KAAM,CACtCI,EAAiBF,GAIrB,IAAIG,EAAMC,EAAUvH,SAASC,iBAAiB,WAE9C,UAAWoH,IAAmB,SAAU,CACtCC,EAAOD,MACF,CACL,OAAQA,GACN,IAAK,UACL,IAAIG,EAAMxH,SAASyH,gBAAgBC,WAAa1H,SAASuD,KAAKmE,UAC9D,IAAIC,EAAMH,EAAMxH,SAASyH,gBAAgBG,aAEzC,IAAK,IAAI1H,EAAI,EAAGA,EAAIqH,EAAQM,OAAQ3H,IAAK,CACvCoH,EAAOC,EAAQrH,GACf,IAAI4H,EAAOR,EAAKS,UAChB,IAAIC,EAAOF,EAAOR,EAAKM,aAEvB,GAAKI,GAAQL,GAASG,EAAON,EAAM,CACjC,OAGJ,MACA,IAAK,OACLF,EAAOH,EAAQc,mBACf,GAAIX,IAAS,KAAM,CACjBA,EAAOC,EAAQ,GAEjB,MACA,IAAK,KACLD,EAAOH,EAAQe,uBACf,GAAIZ,IAAS,KAAM,CACjBA,EAAOC,EAAQA,EAAQM,OAAS,GAElC,MACA,IAAK,SACLP,EAAOC,EAAQA,EAAQM,OAAS,GAChC,MACA,IAAK,MAEL,QACAP,EAAOC,EAAQ,IAInB,GAAID,EAAM,CACRH,EAAQgB,gBAAgB,qBACxBb,EAAKhE,aAAa,oBAAqB,QACvC,IAAI8E,EAAOd,EAAKF,cAAc,SAAWE,EAAKF,cAAc,KAC5D,GAAIgB,IAAS,KAAM,CACjBA,EAAKC,QAEP,IAAKnB,EAAU,CACboB,OAMR,SAASlC,IACPpG,SAASuI,SAASC,OAAO,MAG3B,SAAS7D,IACP,GAAI3E,SAASyI,cAAe,CAC1BzI,SAASyI,cAAcC,QAI3B,SAASC,EAAgBC,GACvB,OAAO,WACL,IAAIC,EAAS7I,SAASoH,cAAcwB,GACpC,GAAIC,EAAQ,CACVA,EAAOC,UAKb,SAAS/C,IACP,OAAO4C,EAAgB,mDAGzB,SAAS9C,IACP,OAAO8C,EAAgB,uDAGzB,SAASL,IACP,IAAIS,EAAM/I,SAASoH,cAAc,8BACjC,GAAI2B,IAAQ,KAAM,CAChB,OAEF,IAAIC,EAAOhJ,SAASyH,gBAAgBC,WAAa1H,SAASuD,KAAKmE,UAC/DuB,EAAUjJ,SAASyH,gBAAgBG,aACnCE,EAAOiB,EAAIhB,UACXC,EAAOF,EAAOiB,EAAInB,aAClBsB,EAAS,IAET,GAAKH,EAAIb,yBAA2B,MAAUF,EAAOiB,EAAU,CAG7DhK,OAAOkK,OAAOlK,OAAOmK,QAAS,GAC9B,OAEF,GAAIJ,EAAQlB,EAAOoB,EAAS,CAC1BjK,OAAOkK,OAAOlK,OAAOmK,QAAStB,EAAOoB,OAChC,CACL,IAAIG,EAAOL,EAAOC,EAClB,GAAII,EAAQrB,EAAOkB,EAAS,CAC1BjK,OAAOkK,OAAOlK,OAAOmK,QAASpB,EAAOiB,EAAUC,KAKrD,SAASjE,EAAWqE,GAClB,OAAO,WACLrK,OAAOsK,SAAS,EAAGD,GACnBnF,EAAgB,UAAhBA,IAIJ,SAASoB,EAAaiE,EAAUC,GAC9B,OAAO,WACLxK,OAAOyK,SAAS,EAAGF,GACnBrF,EAAgBsF,EAAhBtF,IAIJ,SAASY,IACP9F,OAAOyK,SAAS,EAAG,GACnB1J,SAASoH,cAAc,MAAMiB,QAG/B,SAASpC,EAAW0D,GAClB,OAAO,WACL,IAAIvB,EAAOpI,SAASoH,cAAc,mCAClC,GAAIgB,IAAS,KAAM,CACjB,IAAI1G,EAAM0G,EAAK9D,aAAa,QAC5B,GAAIqF,EAAQ,CACV1K,OAAOiD,KAAKR,OACP,CACLzC,OAAOsJ,SAASqB,KAAOlI,KAM/B,SAASmI,EAAgBC,GACvB,IAAIC,EAAa,GAEjB,IAAK,IAAIC,KAAKzF,EAAS,CACrB,IAAIE,EAAMF,EAAQyF,GAClBD,EAAWtF,EAAII,KAAOkF,EAAWtF,EAAII,MAAQ,GAC7CkF,EAAWtF,EAAII,KAAKoF,KAAKxF,GAG3B,IAAIyF,EAAS3D,OAAO4D,KAAKJ,GAAYK,KAAK,SAASC,EAAGC,GACpD,OAAOP,EAAWO,GAAGzC,OAASkC,EAAWM,GAAGxC,SAG9C,GAAIqC,EAAOrC,SAAW,EAAG,CACvB,OAGF,IAAI0C,EAAO,mEACXA,GAAQ,uDACRA,GAAQ,UAER,IAAK,IAAIrK,EAAI,EAAGA,EAAIgK,EAAOrC,OAAQ3H,IAAK,CACtC,IAAI2E,EAAMkF,EAAWG,EAAOhK,IAE5B,IAAIsK,EAAetK,IAAOgK,EAAOrC,OAAS,EAC1C,IAAI4C,EAAQvK,EAAI,IAAM,EAEtB,GAAIuK,EAAO,CACTF,GAAQ,OAEVA,GAAQ,OAERA,GAAQ,OAAS1F,EAAI,GAAGA,IAAM,QAC9B0F,GAAQ,6BAER,IAAK,IAAIG,KAAM7F,EAAK,CAClB0F,GAAQ,YAAc1F,EAAI6F,GAAIjG,IAAM,UAAYI,EAAI6F,GAAI9F,IAAM,QAGhE2F,GAAQ,QACRA,GAAQ,QAER,IAAKE,GAASD,EAAc,CAC1BD,GAAQ,SAIZA,GAAQ,WAEPT,EAAWa,UAAYJ,EAG1B,SAASjE,IACL,IAAIsE,EAAY5K,SAASoH,cAAc,qBACvC1G,QAAQC,IAAIiK,GACd,GAAIA,IAAcxG,WAAawG,IAAc,KAAM,CAEjDA,EAAY5K,SAASqD,cAAc,OAChCuH,EAAU3H,GAAK,mBAChB2H,EAAUC,UAAU,eACpBD,EAAUE,MAAM,aAClBjB,EAAgBe,GACnBf,EAAgBe,GACbf,EAAgBe,GAChB,IAAIrH,EAAOvD,SAAS+K,qBAAqB,QAAQ,GACjDxH,EAAKC,YAAYoH,OACZ,CAELA,EAAU3G,UAAU+G,OAAO,aAC3B,YAsBN,SAAW7L,EAAGC,EAAGF,gBAGfA,EAAMmC,MAAM,WACVnC,EAAM0B,GAAG,kBAAmB,QAAS,SAASqK,GAE5CpL,KAAKoE,UAAUiH,OAAO,kBAGtB,IAAIC,EAAiBtL,KAAKuL,QAAQC,cAClC,IAAIC,EAAUC,WAAW1L,KAAKuL,QAAQI,QACtC,IAAIC,EAAUF,WAAW1L,KAAKuL,QAAQM,QACtC,IAAIC,EAAWJ,WAAW1L,KAAKuL,QAAQQ,SACvC,IAAIC,EAAkBC,KAAKC,MAAMlM,KAAKuL,QAAQY,gBAC9C,IAAIC,EAAcH,KAAKC,MAAMlM,KAAKuL,QAAQc,YAE1ChN,EAAM2D,UAAU,mBAChB3D,EAAMuE,WAAW,gBAAiB,WAChC,IAAI0I,EAAa,KACjB,GAAGN,EAAiB,CAClB,IAAIO,EAAYC,EAAEC,OAAOT,EAAgB,GAAIA,EAAgB,IAC7D,IAAIU,EAAYF,EAAEC,OAAOT,EAAgB,GAAIA,EAAgB,IAC7DM,EAAaE,EAAEG,aAAaJ,EAAWG,GAIzC,IAAIE,EAAMJ,EAAEI,IAAItB,GAEhB,IAAIuB,EAAa,qDACjB,IAAIC,EAAgB,gFACpB,IAAIC,EAAY,IAAIP,EAAEQ,UAAUH,EAAc,CAACI,QAAS,EAAGC,QAAS,GAAIC,YAAaL,IACrF,IAAIM,EAAgB,sDACpB,IAAIC,EAAqB,kGACzB,IAAIC,EAAe,IAAId,EAAEQ,UAAUI,EAAiB,CAACH,QAAS,EAAGC,QAAS,GAAIC,YAAaE,IAE3F,GAAGf,EAAY,CAGbiB,WAAW,WACTX,EAAIY,UAAUlB,EAAY,CACxBY,QAAQ,MAET,QACE,GAAIzB,GAAWG,EAAS,CAC7B,GAAGE,EAAU,CACXc,EAAIa,QAAQ,IAAIjB,EAAEC,OAAOb,EAASH,GAASK,OACtC,CACLc,EAAIa,QAAQ,IAAIjB,EAAEC,OAAOb,EAASH,GAAS,IAI/CmB,EAAIc,SAASX,GAEb,IAAIY,EAAa,CACfC,aAAcb,EACdc,gBAAiBP,GAGnBd,EAAEsB,QAAQC,OAAOJ,GAAYK,MAAMpB,GAEnC,GAAGR,EAAa,CACdI,EAAEyB,QAAQ7B,GAAa4B,MAAMpB,MAOjCxB,EAAMjE,sBApEZ,CAuEG/H,OAAQe,SAAUf,OAAOC,QAC3B,SAAWC,EAAGC,EAAGF,gBAGdA,EAAMmC,MAAM,WACR,IAAI0M,EAAsB,KAC1B,SAASC,IACL,GAAID,GAAuB,KAAM,CAC7B7O,EAAMsC,KAAK,MAAO,4BAA4BQ,KAAK,SAASiM,GACxDF,EAAsBjC,KAAKC,MAAMkC,GACjC,IAAK,KAAM,CAACC,EAAaC,KAAgB5H,OAAO6H,QAAQL,GAAsB,CAC1E,IAAIM,EAAWjP,EAAEa,iBAAiB,sBAAwBiO,EAAc,0BACxE,IAAI,MAAMI,KAAWD,EAAU,CAC3B,IAAIE,EAAS,QAAUrP,EAAMsP,aAAa,UAAY,UAAYL,EAAY,GAAK,QACnFG,EAAQ3D,UAAYwD,EAAY,GAAKI,OAOzD,GAAInP,EAAEgI,cAAc,sCAAuC,CACvD,IAAI,MAAM9G,KAAMlB,EAAEa,iBAAiB,sBAAuB,CACtDf,EAAM0B,GAAGN,EAAI,aAAc0N,QAtB1C,CA0BE/O,OAAQe,SAAUf,OAAOC,QAiB5B,SAAUC,EAAGC,EAAGF,gBAGdA,EAAMmC,MAAM,WACVnC,EAAMuP,uBAAyB,IAAIvP,EAAMwP,YAAY,QAAS,uBAAwB,sBAAuB,GAAI,KACjHxP,EAAMuP,uBAAuBE,QAE7BzP,EAAM0B,GAAG,gBAAiB,QAAS,WACjC,IAAIgO,EAAoB/O,KAAKyE,aAAa,2BAC1C,IAAIuK,EAAuBhP,KAAKyE,aAAa,+BAC7C,IAAIrD,EAASpB,KAAKyE,aAAa,eAC/B,IAAIwK,EAAgB1P,EAAEgI,cAAcnG,GACpC,IAAIsJ,EAAO1K,KAAK8K,UAChB,GAAI9K,KAAKoE,UAAUI,SAAS,aAAc,CACxCkG,EAAOA,EAAKrH,QAAQ0L,EAAmBC,OAClC,CACLtE,EAAOA,EAAKrH,QAAQ2L,EAAsBD,GAE5C/O,KAAK8K,UAAYJ,EACjB1K,KAAKoE,UAAU+G,OAAO,aACtB8D,EAAc7K,UAAU+G,OAAO,eAGjC9L,EAAM0B,GAAG,gBAAiB,QAAS,WACjC,IAAIK,EAASpB,KAAKyE,aAAa,eAC/B,IAAIyK,EAAc3P,EAAEgI,cAAcnG,EAAS,aAC3C,IAAI+N,EAAUD,EAAYzK,aAAa,OACvC,GAAI0K,IAAY,MAAQA,IAAY5K,WAAa4K,IAAY,MAAO,CAClED,EAAYzL,aAAa,MAAOyL,EAAYzK,aAAa,gBAI7DnF,EAAE6B,iBAAiB,SAAU,WAC3B,IAAIT,EAAInB,EAAEgE,eAAe,aACzBsE,EAAY1H,SAASyH,gBAAgBC,WAAa1H,SAASuD,KAAKmE,UAChE,GAAInH,IAAM,KAAM,CACd,GAAImH,GAAa,IAAK,CACpBnH,EAAEuK,MAAMmE,QAAU,MACb,CACL1O,EAAEuK,MAAMmE,QAAU,SAvC5B,CA8CGhQ,OAAQe,SAAUf,OAAOC,QAkB5B,SAAUC,EAAGC,EAAGF,gBAGd,IAAIgQ,EAAa,KAAMC,EAAY,IAAKC,EAExC,SAASC,EAAiBf,GACxB,GAAIA,EAAQgB,kBAAmB,CAC7B,IAAIC,EAAMjB,EAAQkB,MAAM3H,OACxByG,EAAQgB,kBAAkBC,EAAKA,IAInC,SAASE,IACP,GAAIL,EAAOI,MAAM3H,OAAU,EAAG,CAC5B,IAAI6H,EAAS1P,SAASoD,eAAe,UACrCgK,WAAWsC,EAAOC,OAAOpO,KAAKmO,GAAS,IAI3C,SAASE,EAAkBR,GACzB,IAAIS,EAAK7P,SAASoD,eAAe,gBACjC,IAAI0M,EAAoB,WACtB,GAAIV,EAAOI,MAAM3H,SAAW,EAAG,CACpCgI,EAAG5L,UAAUC,IAAI,aACL,CACZ2L,EAAG5L,UAAUiH,OAAO,WAKjB4E,IACAD,EAAG7O,iBAAiB,QAAS,WAC3BoO,EAAOI,MAAM,GACbJ,EAAO/G,QACPyH,MAEFV,EAAOpO,iBAAiB,QAAS8O,EAAmB,OAGtD5Q,EAAMmC,MAAM,WACV+N,EAAShQ,EAAEgE,eAAe+L,GAE1B,SAASY,IACP,GAAIb,EAAY,CACdG,EAAiBD,GACjBF,EAAa,UACR,GAKT,GAAIE,IAAW,KAAM,CAEnBQ,EAAkBR,GAGlB,GAAIlQ,EAAM8Q,cAAe,CACvB9Q,EAAM+Q,aAAeC,aAAa1P,KAAKrB,EAAG,CACxCgR,IAAK,kBACLC,aAAclR,EAAMsP,aAAa6B,cACjCC,WAAYpR,EAAMuC,OAClB8O,YAAa,CACXC,eAAgB,oCAChBC,mBAAoB,kBAEtBC,SAAU,EACVC,MAAO,KACN,IAAMxB,GAGThQ,EAAE6B,iBAAiB,SAAU,WAC3B,IAAIiK,EAAQ,IAAI2F,YAAY,YAC5BxB,EAAOyB,cAAc5F,KAIzBmE,EAAOpO,iBAAiB,QAAS+O,EAAsB,OACvDX,EAAO/G,QAIT,GAAI+G,IAAW,MAAQhQ,EAAEgI,cAAc,UAAY,MAAQlI,EAAM4R,0BAA2B,CAC1F1R,EAAEgI,cAAc,SAASyD,UAAU,YAEnC3L,EAAM0B,GAAG,oBAAqB,SAAU,WACtC,IAAIV,EAAG6J,EAAa3K,EAAEa,iBAAiB,sCACvC,IAAIC,EAAE,EAAGA,EAAE6J,EAAWlC,OAAQ3H,IAAK,CACjC,GAAI6J,EAAW7J,KAAOL,MAAQkK,EAAW7J,GAAG6Q,QAAS,CACnDhH,EAAW7J,GAAG4I,SAGlB,IAAMjJ,KAAKkR,QAAS,CAClBlR,KAAKiJ,QAEP2G,IACA,OAAO,QAGTvQ,EAAM0B,GAAGxB,EAAEgE,eAAe,cAAe,SAAUqM,GACnDvQ,EAAM0B,GAAGxB,EAAEgE,eAAe,YAAa,SAAUqM,OAnGvD,CAwGGxQ,OAAQe,SAAUf,OAAOC;;;;;;;;;;;;CAa3B,SAAUC,EAAGC,GACZ,SAASsP,EAAYsC,EAAoBC,EAAkBC,EAAcC,EAAQC,GAC/EvR,KAAKmR,mBAAqBA,EAC1BnR,KAAKoR,iBAAmBA,EACxBpR,KAAKqR,aAAeA,EACpBrR,KAAKsR,OAASA,EACdtR,KAAKuR,UAAYA,EACjBvR,KAAKwR,YAAc,KAcrB3C,EAAYvO,UAAUmR,WAAa,SAAUC,EAAQC,GACnD,IAAItR,EAAGuR,EACP,IAAIC,EAAI,EAER,IAAKxR,EAAI,EAAGA,EAAIqR,EAAO1J,OAAQ3H,IAAK,CAClCuR,EAAMF,EAAOrR,GACb,GAAKuR,EAAIE,aAAe,GAAOF,EAAIG,cAAgB,EAAI,CACrDF,GAAKD,EAAIE,aAAeF,EAAIG,kBACvB,CAELF,GAAK,GAIT,OAAQF,EAAQD,EAAO1J,OAAShI,KAAKsR,QAAUO,GAGjDhD,EAAYvO,UAAU0R,SAAW,SAAUN,EAAQO,GACjD,IAAI5R,EAAGuR,EAAKM,EACZ,IAAIC,EAAeT,EAAO1J,OAAQoK,EAElC,IAAK/R,EAAI,EAAGA,EAAI8R,EAAc9R,IAAK,CACjCuR,EAAMF,EAAOrR,GACb,GAAKuR,EAAIE,aAAe,GAAOF,EAAIG,cAAgB,EAAI,CACrDG,EAAWD,EAASL,EAAIE,aAAeF,EAAIG,kBACtC,CAELG,EAAWD,EAEbL,EAAI3G,MAAM0G,MAAQO,EAAW,KAC7BN,EAAI3G,MAAMgH,OAASA,EAAS,KAC5BL,EAAI3G,MAAMoH,WAAa,MACvBT,EAAI3G,MAAMqH,UAAY,MACtBV,EAAI3G,MAAMsH,YAAcvS,KAAKsR,OAAS,EAAI,KAC1CM,EAAI3G,MAAMuH,aAAexS,KAAKsR,OAAS,EAAI,KAC3Cc,EAAaR,EAAI1R,WAAWA,WAC5B,IAAKkS,EAAWhO,UAAUI,SAAS,MAAO,CACxC4N,EAAWhO,UAAUC,IAAI,SAK/BwK,EAAYvO,UAAUmS,WAAa,SAAUC,GAC3C,IAAIC,EAAaC,EAAOvS,EAAGwS,EAC3B,IAAIC,EAAmBvT,EAAEgI,cAAcvH,KAAKmR,oBAC5C,IAAI4B,EAAsB3T,OAAO4T,iBAAiBF,GAClD,IAAIG,EAAuBC,SAASH,EAAoBI,iBAAiB,gBAAiB,IAC1F,IAAIC,EAAwBF,SAASH,EAAoBI,iBAAiB,iBAAkB,IAC5F,IAAIE,EAAiBP,EAAiBQ,YAAcL,EAAuBG,EAE3E,MAAOV,EAAS1K,OAAS,EAAG,CAC1B2K,EAAc,KACd,IAAKtS,EAAI,EAAGA,GAAKqS,EAAS1K,QAAU2K,EAAatS,IAAK,CACpDuS,EAAQF,EAASE,MAAM,EAAGvS,GAC1BwS,EAAI7S,KAAKyR,WAAWmB,EAAOS,GAC3B,GAAIR,EAAI7S,KAAKuR,UAAW,CACtBvR,KAAKgS,SAASY,EAAOC,GAErBH,EAAWA,EAASE,MAAMvS,GAC1BsS,EAAc,OAGlB,GAAIA,EAAa,CACf3S,KAAKgS,SAASY,EAAOW,KAAKC,IAAIxT,KAAKuR,UAAWsB,IAC9C,SAKNhE,EAAYvO,UAAUmT,MAAQ,WAC5B,IAAIpT,EACJ,IAAIqT,EAAuBnU,EAAEa,iBAAiBJ,KAAKoR,kBACnD,IAAIuC,EAAiBD,EAAqB1L,OAC1C,IAAI4L,EAAW,KACf,IAAItM,EAAU,KACd,IAAIoL,EAAW,GAEf,IAAKrS,EAAI,EAAGA,EAAIsT,EAAgBtT,IAAK,CACnCiH,EAAUoM,EAAqBrT,GAC/B,GAAIiH,EAAQe,yBAA2BuL,GAAYlB,EAAS1K,OAAS,EAAG,CAItEhI,KAAKyS,WAAWC,GAEhBA,EAAW,GAGbA,EAAStI,KAAK9C,EAAQC,cAAcvH,KAAKqR,eAEzCuC,EAAWtM,EAGb,GAAIoL,EAAS1K,OAAS,EAAG,CACvBhI,KAAKyS,WAAWC,KAIpB7D,EAAYvO,UAAUwO,MAAQ,WAC5B,IAAIzO,EAAGuR,EACP,IAAI5Q,EAAMhB,KACV,IAAI6T,EAAgBtU,EAAEa,iBAAiBJ,KAAKoR,kBAC5C,IAAIuC,EAAiBE,EAAc7L,OAEnC,SAAS8L,IACP,GAAI9S,EAAIwQ,YAAa,CACnBxQ,EAAIwQ,YAAc,MAClBjE,WAAW,WACTvM,EAAIyS,QACJzS,EAAIwQ,YAAc,MACjB,MAIPlS,EAAE6B,iBAAiB,WAAY2S,GAC/BxU,EAAE6B,iBAAiB,OAAQ2S,GAC3BxU,EAAE6B,iBAAiB,SAAU2S,GAE7B,IAAKzT,EAAI,EAAGA,EAAIsT,EAAgBtT,IAAK,CACnCuR,EAAMiC,EAAcxT,GAAGkH,cAAcvH,KAAKqR,cAC1C,GAAIO,IAAQ,MAAQA,IAAQrN,UAAW,CACrCqN,EAAIzQ,iBAAiB,OAAQ2S,GAC7BlC,EAAIzQ,iBAAiB,QAAS2S,MAKpCxU,EAAED,MAAMwP,YAAcA,GApJxB,CAsJEzP,OAAQe,WACT,SAAU4T,GAAG,UAAUC,UAAU,iBAAiBC,SAAS,YAAY,CAACA,OAAOD,QAAQD,SAAS,UAAUG,SAAS,YAAYA,OAAOC,IAAI,CAACD,OAAO,GAAGH,OAAO,CAAC,IAAIK,EAAE,UAAUhV,SAAS,YAAY,CAACgV,EAAEhV,YAAY,UAAUiV,SAAS,YAAY,CAACD,EAAEC,YAAY,UAAUC,OAAO,YAAY,CAACF,EAAEE,SAAS,CAACF,EAAEpU,KAAKoU,EAAE/D,aAAe0D,MAAjU,CAAwU,WAAW,IAAIG,EAAOD,EAAOD,EAAQ,OAAO,WAAY,SAASnC,EAAEnR,EAAE6T,EAAEC,GAAG,SAASC,EAAEpU,EAAE0T,GAAG,IAAIQ,EAAElU,GAAG,CAAC,IAAIK,EAAEL,GAAG,CAAC,IAAIqU,EAAE,mBAAmBC,SAASA,QAAQ,IAAIZ,GAAGW,EAAE,OAAOA,EAAErU,GAAG,GAAG,GAAGuU,EAAE,OAAOA,EAAEvU,GAAG,GAAG,IAAImK,EAAE,IAAI9H,MAAM,uBAAuBrC,EAAE,KAAK,MAAMmK,EAAEqK,KAAK,mBAAmBrK,EAAE,IAAIsK,EAAEP,EAAElU,GAAG,CAAC2T,QAAQ,IAAItT,EAAEL,GAAG,GAAGM,KAAKmU,EAAEd,QAAQ,SAASnC,GAAG,IAAI0C,EAAE7T,EAAEL,GAAG,GAAGwR,GAAG,OAAO4C,EAAEF,GAAG1C,IAAIiD,EAAEA,EAAEd,QAAQnC,EAAEnR,EAAE6T,EAAEC,GAAG,OAAOD,EAAElU,GAAG2T,QAAQ,IAAI,IAAIY,EAAE,mBAAmBD,SAASA,QAAQtU,EAAE,EAAEA,EAAEmU,EAAExM,OAAO3H,IAAIoU,EAAED,EAAEnU,IAAI,OAAOoU,EAAE,OAAO5C,EAAtc,EAAA,CAA4c,CAACkD,EAAE,CAAC,SAASJ,EAAQV,EAAOD;;;;;;;;;;aAW71B,IAAIgB,GACJ,SAAWA,GACPA,EAAkBA,EAAkB,OAAS,GAAK,MAClDA,EAAkBA,EAAkB,MAAQ,GAAK,MAFrD,CAGGA,IAAsBA,EAAoB,KAC7C,IAAIC,GACJ,SAAWA,GACPA,EAAUA,EAAU,WAAa,GAAK,UACtCA,EAAUA,EAAU,SAAW,GAAK,SAFxC,CAGGA,IAAcA,EAAY,KAO7B,IAAI5E,EAA8B,WAE9B,SAASA,EAAa6E,EAAQpV,GAC1B,GAAIoV,SAAgB,EAAG,CAAEA,EAAS,GAClC,GAAIpV,SAAkB,EAAG,CAAEA,EAAW,sBACtC,GAAIqV,MAAMC,QAAQtV,GAAW,CACzBA,EAASuV,QAAQ,SAAU/R,GACvB,IAAI+M,EAAa6E,EAAQ5R,UAG5B,UAAWxD,GAAY,SAAU,CAClC,IAAI0O,EAAWrO,SAASC,iBAAiBN,GACzCqV,MAAM7U,UAAU+U,QAAQ1U,KAAK6N,EAAU,SAAU8G,GAC7C,IAAIjF,EAAa6E,EAAQI,SAG5B,CACD,IAAIC,EAAiBlF,EAAamF,MAAMnF,EAAaoF,SAAUP,EAAQ,CACnEQ,WAAYvV,SAASqD,cAAc,SAEvC6M,EAAa/P,UAAUqV,OAAOJ,EAAgBzV,GAC9C,OAAOyV,GAGflF,EAAa/P,UAAUqV,OAAS,SAAUT,EAAQzG,GAC9CyG,EAAOU,MAAQnH,EACf,GAAIyG,EAAOU,MAAMC,SAASC,MAAM,cAAgBZ,EAAOU,MAAM/R,aAAa,UAAY,OAASqR,EAAOU,MAAMnR,aAAa,QAAQqR,MAAM,mBAAoB,CACvJZ,EAAOU,MAAMnS,aAAa,eAAgB,OAC1CyR,EAAOa,UAAUb,GACjBA,EAAOU,MAAM1V,WAAWyD,YAAYuR,EAAOQ,YAC3CR,EAAOc,WAAa,CAChBnN,KAAMqM,EAAOe,MAAMvU,KAAKwT,GACxBgB,QAAS7F,EAAa/P,UAAU4V,QAAQxU,KAAK,KAAMwT,GACnD1M,MAAO0M,EAAOiB,OAAOzU,KAAKwT,GAC1BkB,MAAO/F,EAAa/P,UAAU8K,MAAM1J,KAAK,KAAMwT,EAAQD,EAAUoB,OACjEC,QAASjG,EAAa/P,UAAU8K,MAAM1J,KAAK,KAAMwT,EAAQD,EAAUsB,SACnE5M,SAAUuL,EAAOa,UAAUrU,KAAKwT,IAEpC,IAAK,IAAI9J,KAAS8J,EAAOc,WAAY,CACjCd,EAAOU,MAAMzU,iBAAiBiK,EAAO8J,EAAOc,WAAW5K,OAInEiF,EAAa/P,UAAUkW,gBAAkB,SAAUtB,EAAQuB,GACvD,IAAIC,EAAW,GACf,IAAK,IAAI9R,KAAOsQ,EAAOyB,iBAAkB,CACrC,IAAIvL,EAAQ6J,EAAUoB,MACtB,GAAInB,EAAOyB,iBAAiB/R,GAAKgS,QAAUrS,UAAW,CAClD6G,EAAQ8J,EAAOyB,iBAAiB/R,GAAKgS,MAEzC,GAAIxL,GAASqL,EAAM,CACfC,EAAS9R,GAAOsQ,EAAOyB,iBAAiB/R,IAGhD,OAAO8R,GAEXrG,EAAa/P,UAAU8K,MAAQ,SAAU8J,EAAQuB,EAAMrL,GACnD,IAAIyL,EAAkB,SAAUC,GAC5B,GAAKhB,IAAU,MAAQiB,EAAQC,UAAYhC,EAAkBiC,KAASnB,IAAU,OAASiB,EAAQC,UAAYhC,EAAkBkC,GAAK,CAChIJ,EAAYzG,EAAamF,MAAM,CAC3B2B,IAAK,OACNL,GACH,GAAIA,EAAUnQ,eAAe,MAAO,CAChC,GAAImQ,EAAUM,IAAMhM,EAAMxE,QAAS,CAC/BkP,GAASgB,EAAUK,QAElB,CACDrB,EAAQgB,EAAUK,UAGrB,GAAIL,EAAUnQ,eAAe,SAAWmQ,EAAUnQ,eAAe,MAAO,CACzE,GAAIyE,EAAMxE,SAAWkQ,EAAUO,MAAQjM,EAAMxE,SAAWkQ,EAAUQ,GAAI,CAClExB,GAASgB,EAAUK,QAElB,CACDrB,EAAQgB,EAAUK,QAKlC,IAAK,IAAII,KAAQlH,EAAa/P,UAAUkW,gBAAgBtB,EAAQuB,GAAO,CACnE,IAAIM,EAAU1G,EAAamF,MAAM,CAC7BwB,SAAUhC,EAAkBiC,KAC7B/B,EAAOyB,iBAAiBY,IAAQzB,EAAQd,EAAkBiC,KAAOF,EAAQC,SAC5ED,EAAQS,WAAWnC,QAAQwB,GAC3B,GAAIf,IAAU,KAAM,CAChBiB,EAAQU,SAAS9W,KAAKuU,EAAQ9J,MAI1CiF,EAAa/P,UAAUoX,YAAc,SAAUxC,EAAQ1U,EAAUmX,GAC7D,IAAIC,EAAsBlR,OAAOmR,oBAAoB3C,EAAOxE,aAAcoH,EAAU,IAAI/V,eAAkBH,EAASsT,EAAO6C,cAAelW,EAAMqT,EAAO8C,OAAQC,EAAc/C,EAAOgD,OAAQC,EAAuBC,mBAAmBlD,EAAOmD,aAAe,IAAMD,mBAAmBH,GACpR,GAAIrW,EAAOkU,MAAM,UAAW,CACxB,GAAIjU,EAAIyW,QAAQ,QAAU,EAAG,CACzBzW,GAAO,IAAMsW,MAEZ,CACDtW,GAAO,IAAMsW,GAGrBL,EAAQzV,KAAKT,EAAQC,EAAK,MAC1B,IAAK,IAAIxB,EAAIuX,EAAoB5P,OAAS,EAAG3H,GAAK,EAAGA,IAAK,CACtDyX,EAAQS,iBAAiBX,EAAoBvX,GAAI6U,EAAOxE,YAAYkH,EAAoBvX,KAE5FyX,EAAQU,mBAAqB,WACzB,GAAIV,EAAQrW,YAAc,GAAKqW,EAAQvV,QAAU,IAAK,CAClD2S,EAAOuD,OAAOR,GAAeH,EAAQtV,SACrChC,EAASsX,EAAQtV,eAEhB,GAAIsV,EAAQvV,QAAU,IAAK,CAC5BoV,MAGR,OAAOG,GAEXzH,EAAa/P,UAAUoY,KAAO,SAAUxD,EAAQ4C,EAASa,GACrD,GAAIA,SAAiB,EAAG,CAAEA,EAAU,KACpC,GAAIzD,EAAO0D,WAAY,CACnBxZ,OAAOyZ,aAAa3D,EAAO0D,YAE/B,GAAID,IAAY,KAAM,CAClBzD,EAAO0D,WAAaxZ,OAAOmO,WAAW8C,EAAa/P,UAAUoY,KAAKhX,KAAK,KAAMwT,EAAQ4C,EAAS,OAAQ5C,EAAOpE,WAE5G,CACD,GAAIoE,EAAO4D,QAAS,CAChB5D,EAAO4D,QAAQC,QAEnB7D,EAAO4D,QAAUhB,EACjB5C,EAAO4D,QAAQhW,KAAKoS,EAAOmD,YAAc,IAAMnD,EAAOgD,UAG9D7H,EAAa/P,UAAU0Y,MAAQ,SAAU9D,EAAQ1U,EAAUmX,GACvD,IAAInV,EAAW0S,EAAO+D,OAAO/D,EAAOgD,QACpC,GAAI1V,IAAa+B,UAAW,CACxB,IAAIuT,EAAUzH,EAAa/P,UAAUoX,YAAYxC,EAAQ1U,EAAUmX,GACnEtH,EAAa/P,UAAUoY,KAAKxD,EAAQ4C,OAEnC,CACDtX,EAASgC,KAGjB6N,EAAa/P,UAAU4V,QAAU,SAAUhB,GACvC,IAAK,IAAI9J,KAAS8J,EAAOc,WAAY,CACjCd,EAAOU,MAAMsD,oBAAoB9N,EAAO8J,EAAOc,WAAW5K,IAE9D8J,EAAOQ,WAAWxV,WAAWiZ,YAAYjE,EAAOQ,aAEpDrF,EAAamF,MAAQ,WACjB,IAAIA,EAAQ,GAAI4D,EAChB,IAAK,IAAI/Y,EAAI,EAAGA,EAAIgZ,UAAUrR,OAAQ3H,IAAK,CACvC,IAAK+Y,KAAOC,UAAUhZ,GAAI,CACtBmV,EAAM4D,GAAOC,UAAUhZ,GAAG+Y,IAGlC,OAAO5D,GAEXnF,EAAaoF,SAAW,CACpB3E,MAAO,IACPP,aAAc,iBACd+I,UAAW,CACPC,SAAU,SAAU5J,GAChB,OAAO,IAAI6J,OAAO7J,EAAO,OAE7B8J,UAAW,SAAU9J,GACjB,MAAO,WAAaA,EAAQ,cAGpCe,YAAa,CACTC,eAAgB,qCAEpB+I,MAAO,EACP7I,SAAU,EACVJ,WAAY,MACZkJ,SAAU,IACVrJ,IAAK,KACLqG,iBAAkB,CACdiD,MAAS,CACLpC,WAAY,CAAC,CACLJ,GAAI,GACJD,IAAK,QAEbM,SAAU,SAAUrM,GAChB,GAAIpL,KAAK0V,WAAWjR,aAAa,SAAS6T,QAAQ,UAAY,EAAG,CAC7D,IAAIuB,EAAW7Z,KAAK0V,WAAWnO,cAAc,aAC7C,GAAIsS,IAAa,KAAM,CACnBzO,EAAMjE,iBACNnH,KAAK8Z,QAAQD,GACb7Z,KAAK0V,WAAWjS,aAAa,QAAS,mBAIlDuT,SAAUhC,EAAkBiC,IAC5BL,MAAO3B,EAAUsB,SAErBwD,kBAAqB,CACjBvC,WAAY,CAAC,CACLJ,GAAI,GACJD,IAAK,OAET,CACIC,GAAI,GACJD,IAAK,QAEbM,SAAU,SAAUrM,GAChBA,EAAMjE,kBAEV6P,SAAUhC,EAAkBkC,GAC5BN,MAAO3B,EAAUsB,SAErByD,gBAAmB,CACfxC,WAAY,CAAC,CACLJ,GAAI,GACJD,IAAK,OAET,CACIC,GAAI,GACJD,IAAK,QAEbM,SAAU,SAAUrM,GAChBA,EAAMjE,iBACN,IAAIyD,EAAQ5K,KAAK0V,WAAWnO,cAAc,+BAAgC0S,EAAOja,KAAK0V,WAAWnO,cAAc,8BAA+B2S,EAASla,KAAK0V,WAAWnO,cAAc,aACrL,GAAI2S,EAAQ,CACR,IAAIC,EAAehF,MAAM7U,UAAUgY,QAAQ3X,KAAKuZ,EAAOha,WAAWka,SAAUF,GAASvQ,EAAWwQ,GAAgB/O,EAAMxE,QAAU,IAAKyT,EAAWra,KAAK0V,WAAWxK,qBAAqB,MAAMlD,OAC3L,GAAI2B,EAAW,EAAG,CACdA,EAAW0Q,EAAW,OAErB,GAAI1Q,GAAY0Q,EAAU,CAC3B1Q,EAAW,EAEfuQ,EAAO9V,UAAUiH,OAAO,UACxB6O,EAAO3Y,cAAc6Y,SAASE,KAAK3Q,GAAUvF,UAAUC,IAAI,eAE1D,GAAI4V,GAAQ7O,EAAMxE,SAAW,GAAI,CAClCqT,EAAK7V,UAAUC,IAAI,eAElB,GAAIuG,EAAO,CACZA,EAAMxG,UAAUC,IAAI,YAG5B2S,SAAUhC,EAAkBkC,GAC5BN,MAAO3B,EAAUoB,OAErBkE,SAAY,CACR/C,WAAY,CAAC,CACLJ,GAAI,GACJD,IAAK,MACN,CACCE,KAAM,GACNC,GAAI,GACJH,IAAK,OAEbM,SAAU,WACN,IAAI+C,EAAWxa,KAAK4V,MAAMnR,aAAa,+BAAgCgW,EAAeza,KAAKkY,OAC3F,GAAIuC,IAAiB,IAAMA,EAAazS,QAAUhI,KAAK0a,YAAa,CAChE,IAAKF,GAAYC,GAAgBD,EAAU,CACvCxa,KAAK0V,WAAWjS,aAAa,QAAS,qBAE1C4M,EAAa/P,UAAU0Y,MAAMhZ,KAAM,SAAUwC,GACzCxC,KAAK2a,QAAQ3a,KAAK4a,MAAMpY,IACxBxC,KAAK6a,SACPnZ,KAAK1B,MAAOA,KAAK8a,YAElB,CACD9a,KAAK+a,WAGb/D,SAAUhC,EAAkBiC,IAC5BL,MAAO3B,EAAUoB,QAGzBX,WAAY,KACZoD,QAAS,KACTlD,MAAO,KAIPoF,cAAe,WACX,IAAIC,EAAe,GACnB,GAAIjb,KAAK4V,MAAM/R,aAAa,mCAAoC,CAC5DoX,EAAejb,KAAK4V,MAAMnR,aAAa,wCAEtC,GAAIzE,KAAKuQ,eAAiB,MAAO,CAClC0K,EAAejb,KAAKuQ,iBAEnB,CACD0K,EAAe,GAEnB,OAAOA,GAKXC,OAAQ,WACJ,IAAIC,EAAQnb,KAAK4V,MAAMnR,aAAa,2BACpC,GAAI2W,MAAMD,IAAUA,IAAU,KAAM,CAChC,OAAOnb,KAAK0Z,MAEhB,OAAOxG,SAASiI,EAAO,KAK3BT,UAAW,WACP,IAAIW,EAAWrb,KAAK4V,MAAMnR,aAAa,8BACvC,GAAI2W,MAAMC,IAAaA,IAAa,KAAM,CACtC,OAAOrb,KAAK6Q,SAEhB,OAAOqC,SAASmI,EAAU,KAK9BC,WAAY,SAAUC,GAClB,OAAOA,EAAMlY,QAAQrD,KAAKsZ,UAAUC,SAASvZ,KAAKkY,QAASlY,KAAKsZ,UAAUG,YAK9E1B,YAAa,WACT,GAAI/X,KAAK4V,MAAM/R,aAAa,4BAA6B,CACrD,OAAO7D,KAAK4V,MAAMnR,aAAa,4BAEnC,OAAOzE,KAAKyQ,YAKhB4H,UAAW,WACP,GAAIrY,KAAK4V,MAAM/R,aAAa,gCAAiC,CACzD,OAAO7D,KAAK4V,MAAMnR,aAAa,gCAEnC,OAAOzE,KAAK2Z,UAKhB3B,KAAM,WACF,GAAIhY,KAAK4V,MAAM/R,aAAa,qBAAsB,CAC9C,OAAO7D,KAAK4V,MAAMnR,aAAa,qBAEnC,OAAOzE,KAAKsQ,KAKhB2F,MAAO,SAAUuF,GACb,GAAIA,SAAa,EAAG,CAAEA,EAAM,MAC5B,GAAIA,EAAK,CACLxb,KAAK+a,aAEJ,CACD,IAAI7F,EAASlV,KACbuN,WAAW,WACP2H,EAAOe,MAAM,OACd,OAMXgD,OAAQ,SAAUtJ,GACd,OAAO3P,KAAKyY,OAAO9I,IAKvBwG,OAAQ,WACJ,IAAIqE,EAAWxa,KAAK4V,MAAMnR,aAAa,+BACvC,KAAM+V,GAAYxa,KAAK4V,MAAMjG,OAAS6K,IAAaxa,KAAK0a,aAAe1a,KAAK4V,MAAMjG,MAAM3H,OAAQ,CAC5FhI,KAAK0V,WAAWjS,aAAa,QAAS,uBAM9CoX,MAAO,WACH,IAAI3F,EAASlV,KACbmV,MAAM7U,UAAU+U,QAAQ1U,KAAKX,KAAK0V,WAAWxK,qBAAqB,MAAO,SAAUuQ,GAC/E,GAAIA,EAAGhX,aAAa,UAAY,SAAU,CACtCgX,EAAGC,QAAU,WACTxG,EAAO4E,QAAQ2B,QAK/BV,OAAQ,WACJ/a,KAAK0V,WAAWjS,aAAa,QAAS,iBAK1CsS,UAAW,WACP/V,KAAK0V,WAAWjS,aAAa,QAAS,gBACtCzD,KAAK0V,WAAWjS,aAAa,QAAS,QAAUzD,KAAK4V,MAAM1N,UAAYlI,KAAK4V,MAAM+F,cAAgB,WAAa3b,KAAK4V,MAAMgG,WAAa,YAAc5b,KAAK4V,MAAMtC,YAAc,QAKlLqH,QAAS,SAAUnY,GACf,IAAIqZ,EACJ,UAAWrZ,GAAY,SAAU,CAC7BqZ,EAAK7b,KAAK8b,WAAWtZ,OAEpB,CACDqZ,EAAK7b,KAAK+b,qBAAqBvZ,GAEnC,GAAIxC,KAAK0V,WAAWsG,gBAAiB,CACjChc,KAAK0V,WAAWyD,YAAYnZ,KAAK0V,WAAWuG,WAAW,IAE3Djc,KAAK0V,WAAW/R,YAAYkY,IAKhCE,qBAAsB,SAAUvZ,GAC5B,IAAIqZ,EAAK1b,SAASqD,cAAc,MAAOiY,EAAKtb,SAASqD,cAAc,MAAO2X,EAAQnb,KAAKkb,SAEvF,GAAIC,EAAQ,EAAG,CACX3Y,EAAWA,EAAS0Z,eAEnB,GAAIf,IAAU,EAAG,CAClBA,EAAQ3Y,EAASwF,OAErB,IAAK,IAAIsS,EAAO,EAAGA,EAAO/G,KAAKC,IAAID,KAAK4I,IAAIhB,GAAQ3Y,EAASwF,QAASsS,IAAQ,CAC1EmB,EAAG3Q,UAAYtI,EAAS8X,GAAM8B,MAC9BX,EAAGhY,aAAa,0BAA2BjB,EAAS8X,GAAM+B,OAC1DR,EAAGlY,YAAY8X,GACfA,EAAKtb,SAASqD,cAAc,MAEhC,OAAOqY,GAKXC,WAAY,SAAUtZ,GAClB,IAAIqZ,EAAK1b,SAASqD,cAAc,MAAOiY,EAAKtb,SAASqD,cAAc,MACnE,GAAIhB,EAASwF,OAAS,EAAG,CACrBhI,KAAK0V,WAAW5K,UAAYtI,MAE3B,CACD,IAAIyY,EAAejb,KAAKgb,gBACxB,GAAIC,IAAiB,GAAI,CACrBQ,EAAG3Q,UAAYmQ,EACfQ,EAAGhY,aAAa,QAAS,UACzBoY,EAAGlY,YAAY8X,IAGvB,OAAOI,GAKXjB,MAAO,SAAUpY,GACb,IACI,IAAI8Z,EAAiB,GAErB,IAAIC,EAAOtQ,KAAKC,MAAM1J,GACtB,GAAIkE,OAAO4D,KAAKiS,GAAMvU,SAAW,EAAG,CAChC,MAAO,GAEX,GAAImN,MAAMC,QAAQmH,GAAO,CACrB,IAAK,IAAIlc,EAAI,EAAGA,EAAIqG,OAAO4D,KAAKiS,GAAMvU,OAAQ3H,IAAK,CAC/Cic,EAAeA,EAAetU,QAAU,CAAEqU,MAASE,EAAKlc,GAAI+b,MAASpc,KAAKsb,WAAWiB,EAAKlc,UAG7F,CACD,IAAK,IAAIsP,KAAS4M,EAAM,CACpBD,EAAelS,KAAK,CAChBiS,MAAS1M,EACTyM,MAASpc,KAAKsb,WAAWiB,EAAK5M,OAI1C,OAAO2M,EAEX,MAAOlR,GAEH,OAAO5I,IAMf0V,KAAM,WACF,OAAOlY,KAAK4V,MAAMjG,OAKtBmK,QAAS,SAAUQ,GACf,GAAIA,EAAKzW,aAAa,2BAA4B,CAC9C7D,KAAK4V,MAAMjG,MAAQ2K,EAAK7V,aAAa,+BAEpC,CACDzE,KAAK4V,MAAMjG,MAAQ2K,EAAKxP,UAE5B9K,KAAK4V,MAAMnS,aAAa,8BAA+BzD,KAAK4V,MAAMjG,QAKtEmL,OAAQ,aAERlC,WAAY,KACZH,OAAQ,GACRzC,WAAY,IAEhB,OAAO3F,EA3fsB,GA6fjC4D,EAAOD,QAAU3D,GAEf,KAAK,GAAG,CAAC,GA1hB0W,CA0hBtW"}
\ No newline at end of file diff --git a/searx/static/themes/simple/js/searx.head.js b/searx/static/themes/simple/js/searxng.head.js index 0a4fafbce..4406b764e 100644 --- a/searx/static/themes/simple/js/searx.head.js +++ b/searx/static/themes/simple/js/searxng.head.js @@ -1,20 +1,9 @@ /** -* searx is free software: you can redistribute it and/or modify -* it under the terms of the GNU Affero General Public License as published by -* the Free Software Foundation, either version 3 of the License, or -* (at your option) any later version. -* -* searx is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU Affero General Public License for more details. -* -* You should have received a copy of the GNU Affero General Public License -* along with searx. If not, see < http://www.gnu.org/licenses/ >. -* -* (C) 2019 by Alexandre Flament -* -*/ + * @license + * (C) Copyright Contributors to the SearXNG project. + * (C) Copyright Contributors to the searx project (2014 - 2021). + * SPDX-License-Identifier: AGPL-3.0-or-later + */ /* global DocumentTouch:readonly */ (function(w, d) { 'use strict'; @@ -26,7 +15,7 @@ })(); // try to detect touch screen - w.searx = { + w.searxng = { touch: (("ontouchstart" in w) || w.DocumentTouch && document instanceof DocumentTouch) || false, method: script.getAttribute('data-method'), autocompleter: script.getAttribute('data-autocompleter') === 'true', @@ -37,5 +26,5 @@ }; // update the css - d.getElementsByTagName("html")[0].className = (w.searx.touch)?"js touch":"js"; + d.getElementsByTagName("html")[0].className = (w.searxng.touch)?"js touch":"js"; })(window, document);
\ No newline at end of file diff --git a/searx/static/themes/simple/js/searxng.head.min.js b/searx/static/themes/simple/js/searxng.head.min.js new file mode 100644 index 000000000..a914a2be2 --- /dev/null +++ b/searx/static/themes/simple/js/searxng.head.min.js @@ -0,0 +1,8 @@ +/** + * @license + * (C) Copyright Contributors to the SearXNG project. + * (C) Copyright Contributors to the searx project (2014 - 2021). + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +(function(t,e){"use strict";var a=e.currentScript||function(){var t=e.getElementsByTagName("script");return t[t.length-1]}();t.searxng={touch:"ontouchstart"in t||t.DocumentTouch&&document instanceof DocumentTouch||false,method:a.getAttribute("data-method"),autocompleter:a.getAttribute("data-autocompleter")==="true",search_on_category_select:a.getAttribute("data-search-on-category-select")==="true",infinite_scroll:a.getAttribute("data-infinite-scroll")==="true",static_path:a.getAttribute("data-static-path"),translations:JSON.parse(a.getAttribute("data-translations"))};e.getElementsByTagName("html")[0].className=t.searxng.touch?"js touch":"js"})(window,document); +//# sourceMappingURL=searxng.head.min.js.map
\ No newline at end of file diff --git a/searx/static/themes/simple/js/searxng.head.min.js.map b/searx/static/themes/simple/js/searxng.head.min.js.map new file mode 100644 index 000000000..adb1fd0ab --- /dev/null +++ b/searx/static/themes/simple/js/searxng.head.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"searxng.head.min.js","sources":["searxng.head.js"],"names":["w","d","script","currentScript","scripts","getElementsByTagName","length","searxng","touch","DocumentTouch","document","method","getAttribute","autocompleter","search_on_category_select","infinite_scroll","static_path","translations","JSON","parse","className","window"],"mappings":";;;;;;CAOA,SAAUA,EAAGC,gBAIT,IAAIC,EAASD,EAAEE,eAAkB,WAC7B,IAAIC,EAAUH,EAAEI,qBAAqB,UACrC,OAAOD,EAAQA,EAAQE,OAAS,GAFH,GAMjCN,EAAEO,QAAU,CACRC,MAAS,iBAAkBR,GAAMA,EAAES,eAAiBC,oBAAoBD,eAAkB,MAC1FE,OAAQT,EAAOU,aAAa,eAC5BC,cAAeX,EAAOU,aAAa,wBAA0B,OAC7DE,0BAA2BZ,EAAOU,aAAa,oCAAsC,OACrFG,gBAAiBb,EAAOU,aAAa,0BAA4B,OACjEI,YAAad,EAAOU,aAAa,oBACjCK,aAAcC,KAAKC,MAAMjB,EAAOU,aAAa,uBAIjDX,EAAEI,qBAAqB,QAAQ,GAAGe,UAAapB,EAAEO,QAAa,MAAE,WAAW,MArB/E,CAsBGc,OAAQX"}
\ No newline at end of file diff --git a/searx/static/themes/simple/js/searx.js b/searx/static/themes/simple/js/searxng.js index 94e4b3426..8f0c0cd97 100644 --- a/searx/static/themes/simple/js/searx.js +++ b/searx/static/themes/simple/js/searxng.js @@ -1,21 +1,10 @@ /** -* searx is free software: you can redistribute it and/or modify -* it under the terms of the GNU Affero General Public License as published by -* the Free Software Foundation, either version 3 of the License, or -* (at your option) any later version. -* -* searx is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU Affero General Public License for more details. -* -* You should have received a copy of the GNU Affero General Public License -* along with searx. If not, see < http://www.gnu.org/licenses/ >. -* -* (C) 2017 by Alexandre Flament, <alex@al-f.net> -* -*/ -window.searx = (function(w, d) { + * @license + * (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(w, d) { 'use strict'; @@ -45,9 +34,9 @@ window.searx = (function(w, d) { } } - var searx = window.searx || {}; + var searxng = window.searxng || {}; - searx.on = function(obj, eventType, callback, useCapture) { + searxng.on = function(obj, eventType, callback, useCapture) { useCapture = useCapture || false; if (typeof obj !== 'string') { // obj HTMLElement, HTMLDocument @@ -62,7 +51,7 @@ window.searx = (function(w, d) { } }; - searx.ready = function(callback) { + searxng.ready = function(callback) { if (document.readyState != 'loading') { callback.call(w); } else { @@ -70,7 +59,7 @@ window.searx = (function(w, d) { } }; - searx.http = function(method, url) { + searxng.http = function(method, url) { var req = new XMLHttpRequest(), resolve = function() {}, reject = function() {}, @@ -109,8 +98,8 @@ window.searx = (function(w, d) { return promise; }; - searx.loadStyle = function(src) { - var path = searx.static_path + src, + searxng.loadStyle = function(src) { + var path = searxng.static_path + src, id = "style_" + src.replace('.', '_'), s = d.getElementById(id); if (s === null) { @@ -123,8 +112,8 @@ window.searx = (function(w, d) { } }; - searx.loadScript = function(src, callback) { - var path = searx.static_path + src, + searxng.loadScript = function(src, callback) { + var path = searxng.static_path + src, id = "script_" + src.replace('.', '_'), s = d.getElementById(id); if (s === null) { @@ -147,29 +136,30 @@ window.searx = (function(w, d) { } }; - searx.insertBefore = function (newNode, referenceNode) { + searxng.insertBefore = function (newNode, referenceNode) { referenceNode.parentNode.insertBefore(newNode, referenceNode); }; - searx.insertAfter = function(newNode, referenceNode) { + searxng.insertAfter = function(newNode, referenceNode) { referenceNode.parentNode.insertAfter(newNode, referenceNode.nextSibling); }; - searx.on('.close', 'click', function() { + searxng.on('.close', 'click', function() { this.parentNode.classList.add('invisible'); }); - return searx; + return searxng; })(window, document); -;/*global searx*/ +;/* SPDX-License-Identifier: AGPL-3.0-or-later */ +/*global searxng*/ -searx.ready(function() { +searxng.ready(function() { - searx.on('.result', 'click', function() { + searxng.on('.result', 'click', function() { highlightResult(this)(true); }); - searx.on('.result a', 'focus', function(e) { + searxng.on('.result a', 'focus', function(e) { var el = e.target; while (el !== undefined) { if (el.classList.contains('result')) { @@ -281,7 +271,7 @@ searx.ready(function() { } }; - searx.on(document, "keydown", function(e) { + searxng.on(document, "keydown", function(e) { // check for modifiers so we don't break browser's hotkeys if (Object.prototype.hasOwnProperty.call(vimKeys, e.keyCode) && !e.ctrlKey && !e.altKey && !e.shiftKey && !e.metaKey) { var tagName = e.target.tagName.toLowerCase(); @@ -531,31 +521,15 @@ searx.ready(function() { } } }); -;/** -* searx is free software: you can redistribute it and/or modify -* it under the terms of the GNU Affero General Public License as published by -* the Free Software Foundation, either version 3 of the License, or -* (at your option) any later version. -* -* searx is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU Affero General Public License for more details. -* -* You should have received a copy of the GNU Affero General Public License -* along with searx. If not, see < http://www.gnu.org/licenses/ >. -* -* (C) 2014 by Thomas Pointhuber, <thomas.pointhuber@gmx.at> -* (C) 2017 by Alexandre Flament, <alex@al-f.net> -*/ +;/* SPDX-License-Identifier: AGPL-3.0-or-later */ /* global L */ -(function (w, d, searx) { +(function (w, d, searxng) { 'use strict'; - searx.ready(function () { - searx.on('.searx_init_map', 'click', function(event) { + searxng.ready(function () { + searxng.on('.searxng_init_map', 'click', function(event) { // no more request - this.classList.remove("searx_init_map"); + this.classList.remove("searxng_init_map"); // var leaflet_target = this.dataset.leafletTarget; @@ -565,8 +539,8 @@ searx.ready(function() { var map_boundingbox = JSON.parse(this.dataset.mapBoundingbox); var map_geojson = JSON.parse(this.dataset.mapGeojson); - searx.loadStyle('css/leaflet.css'); - searx.loadScript('js/leaflet.js', function() { + searxng.loadStyle('css/leaflet.css'); + searxng.loadScript('js/leaflet.js', function() { var map_bounds = null; if(map_boundingbox) { var southWest = L.latLng(map_boundingbox[0], map_boundingbox[2]); @@ -620,20 +594,21 @@ searx.ready(function() { event.preventDefault(); }); }); -})(window, document, window.searx); -;(function (w, d, searx) { +})(window, document, window.searxng); +;/* SPDX-License-Identifier: AGPL-3.0-or-later */ +(function (w, d, searxng) { 'use strict'; - searx.ready(function() { + searxng.ready(function() { let engine_descriptions = null; function load_engine_descriptions() { if (engine_descriptions == null) { - searx.http("GET", "engine_descriptions.json").then(function(content) { + searxng.http("GET", "engine_descriptions.json").then(function(content) { engine_descriptions = JSON.parse(content); for (const [engine_name, description] of Object.entries(engine_descriptions)) { let elements = d.querySelectorAll('[data-engine-name="' + engine_name + '"] .engine-description'); for(const element of elements) { - let source = ' (<i>' + searx.translations['Source'] + ': ' + description[1] + '</i>)'; + let source = ' (<i>' + searxng.translations['Source'] + ': ' + description[1] + '</i>)'; element.innerHTML = description[0] + source; } } @@ -643,35 +618,20 @@ searx.ready(function() { if (d.querySelector('body[class="preferences_endpoint"]')) { for(const el of d.querySelectorAll('[data-engine-name]')) { - searx.on(el, 'mouseenter', load_engine_descriptions); + searxng.on(el, 'mouseenter', load_engine_descriptions); } } }); -})(window, document, window.searx); -;/** -* searx is free software: you can redistribute it and/or modify -* it under the terms of the GNU Affero General Public License as published by -* the Free Software Foundation, either version 3 of the License, or -* (at your option) any later version. -* -* searx is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU Affero General Public License for more details. -* -* You should have received a copy of the GNU Affero General Public License -* along with searx. If not, see < http://www.gnu.org/licenses/ >. -* -* (C) 2017 by Alexandre Flament, <alex@al-f.net> -*/ -(function(w, d, searx) { +})(window, document, window.searxng); +;/* SPDX-License-Identifier: AGPL-3.0-or-later */ +(function(w, d, searxng) { 'use strict'; - searx.ready(function() { - searx.image_thumbnail_layout = new searx.ImageLayout('#urls', '#urls .result-images', 'img.image_thumbnail', 10, 200); - searx.image_thumbnail_layout.watch(); + searxng.ready(function() { + searxng.image_thumbnail_layout = new searxng.ImageLayout('#urls', '#urls .result-images', 'img.image_thumbnail', 10, 200); + searxng.image_thumbnail_layout.watch(); - searx.on('.btn-collapse', 'click', function() { + searxng.on('.btn-collapse', 'click', function() { var btnLabelCollapsed = this.getAttribute('data-btn-text-collapsed'); var btnLabelNotCollapsed = this.getAttribute('data-btn-text-not-collapsed'); var target = this.getAttribute('data-target'); @@ -687,7 +647,7 @@ searx.ready(function() { targetElement.classList.toggle('invisible'); }); - searx.on('.media-loader', 'click', function() { + searxng.on('.media-loader', 'click', function() { var target = this.getAttribute('data-target'); var iframe_load = d.querySelector(target + ' > iframe'); var srctest = iframe_load.getAttribute('src'); @@ -710,25 +670,10 @@ searx.ready(function() { }); -})(window, document, window.searx); -;/** -* searx is free software: you can redistribute it and/or modify -* it under the terms of the GNU Affero General Public License as published by -* the Free Software Foundation, either version 3 of the License, or -* (at your option) any later version. -* -* searx is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU Affero General Public License for more details. -* -* You should have received a copy of the GNU Affero General Public License -* along with searx. If not, see < http://www.gnu.org/licenses/ >. -* -* (C) 2017 by Alexandre Flament, <alex@al-f.net> -*/ +})(window, document, window.searxng); +;/* SPDX-License-Identifier: AGPL-3.0-or-later */ /* global AutoComplete */ -(function(w, d, searx) { +(function(w, d, searxng) { 'use strict'; var firstFocus = true, qinput_id = "q", qinput; @@ -767,7 +712,7 @@ searx.ready(function() { qinput.addEventListener('keyup', updateClearButton, false); } - searx.ready(function() { + searxng.ready(function() { qinput = d.getElementById(qinput_id); function placeCursorAtEndOnce() { @@ -784,11 +729,11 @@ searx.ready(function() { createClearButton(qinput); // autocompleter - if (searx.autocompleter) { - searx.autocomplete = AutoComplete.call(w, { + if (searxng.autocompleter) { + searxng.autocomplete = AutoComplete.call(w, { Url: "./autocompleter", - EmptyMessage: searx.translations.no_item_found, - HttpMethod: searx.method, + EmptyMessage: searxng.translations.no_item_found, + HttpMethod: searxng.method, HttpHeaders: { "Content-type": "application/x-www-form-urlencoded", "X-Requested-With": "XMLHttpRequest" @@ -809,10 +754,10 @@ searx.ready(function() { } // vanilla js version of search_on_category_select.js - if (qinput !== null && d.querySelector('.help') != null && searx.search_on_category_select) { + if (qinput !== null && d.querySelector('.help') != null && searxng.search_on_category_select) { d.querySelector('.help').className='invisible'; - searx.on('#categories input', 'change', function() { + searxng.on('#categories input', 'change', function() { var i, categories = d.querySelectorAll('#categories input[type="checkbox"]'); for(i=0; i<categories.length; i++) { if (categories[i] !== this && categories[i].checked) { @@ -826,13 +771,13 @@ searx.ready(function() { return false; }); - searx.on(d.getElementById('time_range'), 'change', submitIfQuery); - searx.on(d.getElementById('language'), 'change', submitIfQuery); + searxng.on(d.getElementById('time_range'), 'change', submitIfQuery); + searxng.on(d.getElementById('language'), 'change', submitIfQuery); } }); -})(window, document, window.searx); +})(window, document, window.searxng); ;/** * * Google Image Layout v0.0.1 @@ -993,7 +938,7 @@ searx.ready(function() { } }; - w.searx.ImageLayout = ImageLayout; + w.searxng.ImageLayout = ImageLayout; }(window, document)); ;(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<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){ diff --git a/searx/static/themes/simple/js/searxng.min.js b/searx/static/themes/simple/js/searxng.min.js new file mode 100644 index 000000000..c2e27c37c --- /dev/null +++ b/searx/static/themes/simple/js/searxng.min.js @@ -0,0 +1,30 @@ +/** + * @license + * (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(t,o){"use strict";if(t.Element){(function(e){e.matches=e.matches||e.matchesSelector||e.webkitMatchesSelector||e.msMatchesSelector||function(e){var t=this,n=(t.parentNode||t.document).querySelectorAll(e),i=-1;while(n[++i]&&n[i]!=t);return!!n[i]}})(Element.prototype)}function a(e,t,n){try{e.call(t,n)}catch(e){console.log(e)}}var s=window.searxng||{};s.on=function(i,e,r,t){t=t||false;if(typeof i!=="string"){i.addEventListener(e,r,t)}else{o.addEventListener(e,function(e){var t=e.target||e.srcElement,n=false;while(t&&t.matches&&t!==o&&!(n=t.matches(i)))t=t.parentElement;if(n)a(r,t,e)},t)}};s.ready=function(e){if(document.readyState!="loading"){e.call(t)}else{t.addEventListener("DOMContentLoaded",e.bind(t))}};s.http=function(e,t){var n=new XMLHttpRequest,i=function(){},r=function(){},o={then:function(e){i=e;return o},catch:function(e){r=e;return o}};try{n.open(e,t,true);n.onload=function(){if(n.status==200){i(n.response,n.responseType)}else{r(Error(n.statusText))}};n.onerror=function(){r(Error("Network Error"))};n.onabort=function(){r(Error("Transaction is aborted"))};n.send()}catch(e){r(e)}return o};s.loadStyle=function(e){var t=s.static_path+e,n="style_"+e.replace(".","_"),i=o.getElementById(n);if(i===null){i=o.createElement("link");i.setAttribute("id",n);i.setAttribute("rel","stylesheet");i.setAttribute("type","text/css");i.setAttribute("href",t);o.body.appendChild(i)}};s.loadScript=function(e,t){var n=s.static_path+e,i="script_"+e.replace(".","_"),r=o.getElementById(i);if(r===null){r=o.createElement("script");r.setAttribute("id",i);r.setAttribute("src",n);r.onload=t;r.onerror=function(){r.setAttribute("error","1")};o.body.appendChild(r)}else if(!r.hasAttribute("error")){try{t.apply(r,[])}catch(e){console.log(e)}}else{console.log("callback not executed : script '"+n+"' not loaded.")}};s.insertBefore=function(e,t){t.parentNode.insertBefore(e,t)};s.insertAfter=function(e,t){t.parentNode.insertAfter(e,t.nextSibling)};s.on(".close","click",function(){this.parentNode.classList.add("invisible")});return s}(window,document);searxng.ready(function(){searxng.on(".result","click",function(){n(this)(true)});searxng.on(".result a","focus",function(e){var t=e.target;while(t!==undefined){if(t.classList.contains("result")){if(t.getAttribute("data-vim-selected")===null){n(t)(true)}break}t=t.parentNode}},true);var d={27:{key:"Escape",fun:t,des:"remove focus from the focused input",cat:"Control"},73:{key:"i",fun:l,des:"focus on the search input",cat:"Control"},66:{key:"b",fun:a(-window.innerHeight),des:"scroll one page up",cat:"Navigation"},70:{key:"f",fun:a(window.innerHeight),des:"scroll one page down",cat:"Navigation"},85:{key:"u",fun:a(-window.innerHeight/2),des:"scroll half a page up",cat:"Navigation"},68:{key:"d",fun:a(window.innerHeight/2),des:"scroll half a page down",cat:"Navigation"},71:{key:"g",fun:s(-document.body.scrollHeight,"top"),des:"scroll to the top of the page",cat:"Navigation"},86:{key:"v",fun:s(document.body.scrollHeight,"bottom"),des:"scroll to the bottom of the page",cat:"Navigation"},75:{key:"k",fun:n("up"),des:"select previous search result",cat:"Results"},74:{key:"j",fun:n("down"),des:"select next search result",cat:"Results"},80:{key:"p",fun:o(),des:"go to previous page",cat:"Results"},78:{key:"n",fun:r(),des:"go to next page",cat:"Results"},79:{key:"o",fun:u(false),des:"open search result",cat:"Results"},84:{key:"t",fun:u(true),des:"open the result in a new tab",cat:"Results"},82:{key:"r",fun:e,des:"reload page from the server",cat:"Control"},72:{key:"h",fun:p,des:"toggle help window",cat:"Other"}};searxng.on(document,"keydown",function(e){if(Object.prototype.hasOwnProperty.call(d,e.keyCode)&&!e.ctrlKey&&!e.altKey&&!e.shiftKey&&!e.metaKey){var t=e.target.tagName.toLowerCase();if(e.keyCode===27){if(t==="input"||t==="select"||t==="textarea"){d[e.keyCode].fun()}}else{if(e.target===document.body||t==="a"||t==="button"){e.preventDefault();d[e.keyCode].fun()}}}});function n(d){return function(e){var t=document.querySelector(".result[data-vim-selected]"),n=d;if(t===null){t=document.querySelector(".result");if(t===null){return}if(d==="down"||d==="up"){n=t}}var i,r=document.querySelectorAll(".result");if(typeof n!=="string"){i=n}else{switch(n){case"visible":var o=document.documentElement.scrollTop||document.body.scrollTop;var a=o+document.documentElement.clientHeight;for(var s=0;s<r.length;s++){i=r[s];var l=i.offsetTop;var u=l+i.clientHeight;if(u<=a&&l>o){break}}break;case"down":i=t.nextElementSibling;if(i===null){i=r[0]}break;case"up":i=t.previousElementSibling;if(i===null){i=r[r.length-1]}break;case"bottom":i=r[r.length-1];break;case"top":default:i=r[0]}}if(i){t.removeAttribute("data-vim-selected");i.setAttribute("data-vim-selected","true");var c=i.querySelector("h3 a")||i.querySelector("a");if(c!==null){c.focus()}if(!e){f()}}}}function e(){document.location.reload(true)}function t(){if(document.activeElement){document.activeElement.blur()}}function i(t){return function(){var e=document.querySelector(t);if(e){e.click()}}}function r(){return i('nav#pagination .next_page button[type="submit"]')}function o(){return i('nav#pagination .previous_page button[type="submit"]')}function f(){var e=document.querySelector(".result[data-vim-selected]");if(e===null){return}var t=document.documentElement.scrollTop||document.body.scrollTop,n=document.documentElement.clientHeight,i=e.offsetTop,r=i+e.clientHeight,o=120;if(e.previousElementSibling===null&&r<n){window.scroll(window.scrollX,0);return}if(t>i-o){window.scroll(window.scrollX,i-o)}else{var a=t+n;if(a<r+o){window.scroll(window.scrollX,r-n+o)}}}function a(e){return function(){window.scrollBy(0,e);n("visible")()}}function s(e,t){return function(){window.scrollTo(0,e);n(t)()}}function l(){window.scrollTo(0,0);document.querySelector("#q").focus()}function u(n){return function(){var e=document.querySelector(".result[data-vim-selected] h3 a");if(e!==null){var t=e.getAttribute("href");if(n){window.open(t)}else{window.location.href=t}}}}function c(e){var n={};for(var t in d){var i=d[t];n[i.cat]=n[i.cat]||[];n[i.cat].push(i)}var r=Object.keys(n).sort(function(e,t){return n[t].length-n[e].length});if(r.length===0){return}var o='<a href="#" class="close" aria-label="close" title="close">×</a>';o+="<h3>How to navigate searx with Vim-like hotkeys</h3>";o+="<table>";for(var a=0;a<r.length;a++){var s=n[r[a]];var l=a===r.length-1;var u=a%2===0;if(u){o+="<tr>"}o+="<td>";o+="<h4>"+s[0].cat+"</h4>";o+='<ul class="list-unstyled">';for(var c in s){o+="<li><kbd>"+s[c].key+"</kbd> "+s[c].des+"</li>"}o+="</ul>";o+="</td>";if(!u||l){o+="</tr>"}}o+="</table>";e.innerHTML=o}function p(){var e=document.querySelector("#vim-hotkeys-help");console.log(e);if(e===undefined||e===null){e=document.createElement("div");e.id="vim-hotkeys-help";e.className="dialog-modal";e.style="width: 40%";c(e);c(e);c(e);var t=document.getElementsByTagName("body")[0];t.appendChild(e)}else{e.classList.toggle("invisible");return}}});(function(e,t,n){"use strict";n.ready(function(){n.on(".searxng_init_map","click",function(e){this.classList.remove("searxng_init_map");var d=this.dataset.leafletTarget;var f=parseFloat(this.dataset.mapLon);var p=parseFloat(this.dataset.mapLat);var h=parseFloat(this.dataset.mapZoom);var m=JSON.parse(this.dataset.mapBoundingbox);var g=JSON.parse(this.dataset.mapGeojson);n.loadStyle("css/leaflet.css");n.loadScript("js/leaflet.js",function(){var e=null;if(m){var t=L.latLng(m[0],m[2]);var n=L.latLng(m[1],m[3]);e=L.latLngBounds(t,n)}var i=L.map(d);var r="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png";var o='Map data © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors';var a=new L.TileLayer(r,{minZoom:1,maxZoom:19,attribution:o});var s="https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png";var l='Wikimedia maps | Maps data © <a href="https://openstreetmap.org">OpenStreetMap contributors</a>';var u=new L.TileLayer(s,{minZoom:1,maxZoom:19,attribution:l});if(e){setTimeout(function(){i.fitBounds(e,{maxZoom:17})},0)}else if(f&&p){if(h){i.setView(new L.latLng(p,f),h)}else{i.setView(new L.latLng(p,f),8)}}i.addLayer(a);var c={"OSM Mapnik":a,"OSM Wikimedia":u};L.control.layers(c).addTo(i);if(g){L.geoJson(g).addTo(i)}});e.preventDefault()})})})(window,document,window.searxng);(function(e,o,a){"use strict";a.ready(function(){let r=null;function e(){if(r==null){a.http("GET","engine_descriptions.json").then(function(e){r=JSON.parse(e);for(const[t,n]of Object.entries(r)){let e=o.querySelectorAll('[data-engine-name="'+t+'"] .engine-description');for(const i of e){let e=" (<i>"+a.translations["Source"]+": "+n[1]+"</i>)";i.innerHTML=n[0]+e}}})}}if(o.querySelector('body[class="preferences_endpoint"]')){for(const t of o.querySelectorAll("[data-engine-name]")){a.on(t,"mouseenter",e)}}})})(window,document,window.searxng);(function(e,o,t){"use strict";t.ready(function(){t.image_thumbnail_layout=new t.ImageLayout("#urls","#urls .result-images","img.image_thumbnail",10,200);t.image_thumbnail_layout.watch();t.on(".btn-collapse","click",function(){var e=this.getAttribute("data-btn-text-collapsed");var t=this.getAttribute("data-btn-text-not-collapsed");var n=this.getAttribute("data-target");var i=o.querySelector(n);var r=this.innerHTML;if(this.classList.contains("collapsed")){r=r.replace(e,t)}else{r=r.replace(t,e)}this.innerHTML=r;this.classList.toggle("collapsed");i.classList.toggle("invisible")});t.on(".media-loader","click",function(){var e=this.getAttribute("data-target");var t=o.querySelector(e+" > iframe");var n=t.getAttribute("src");if(n===null||n===undefined||n===false){t.setAttribute("src",t.getAttribute("data-src"))}});e.addEventListener("scroll",function(){var e=o.getElementById("backToTop"),t=document.documentElement.scrollTop||document.body.scrollTop;if(e!==null){if(t>=200){e.style.opacity=1}else{e.style.opacity=0}}})})})(window,document,window.searxng);(function(t,n,i){"use strict";var r=true,o="q",a;function s(e){if(e.setSelectionRange){var t=e.value.length;e.setSelectionRange(t,t)}}function l(){if(a.value.length>0){var e=document.getElementById("search");setTimeout(e.submit.bind(e),0)}}function u(e){var t=document.getElementById("clear_search");var n=function(){if(e.value.length===0){t.classList.add("empty")}else{t.classList.remove("empty")}};n();t.addEventListener("click",function(){e.value="";e.focus();n()});e.addEventListener("keyup",n,false)}i.ready(function(){a=n.getElementById(o);function e(){if(r){s(a);r=false}else{}}if(a!==null){u(a);if(i.autocompleter){i.autocomplete=AutoComplete.call(t,{Url:"./autocompleter",EmptyMessage:i.translations.no_item_found,HttpMethod:i.method,HttpHeaders:{"Content-type":"application/x-www-form-urlencoded","X-Requested-With":"XMLHttpRequest"},MinChars:4,Delay:300},"#"+o);t.addEventListener("resize",function(){var e=new CustomEvent("position");a.dispatchEvent(e)})}a.addEventListener("focus",e,false);a.focus()}if(a!==null&&n.querySelector(".help")!=null&&i.search_on_category_select){n.querySelector(".help").className="invisible";i.on("#categories input","change",function(){var e,t=n.querySelectorAll('#categories input[type="checkbox"]');for(e=0;e<t.length;e++){if(t[e]!==this&&t[e].checked){t[e].click()}}if(!this.checked){this.click()}l();return false});i.on(n.getElementById("time_range"),"change",l);i.on(n.getElementById("language"),"change",l)}})})(window,document,window.searxng); +/** +* +* Google Image Layout v0.0.1 +* Description, by Anh Trinh. +* Heavily modified for searx +* https://ptgamr.github.io/2014-09-12-google-image-layout/ +* https://ptgamr.github.io/google-image-layout/src/google-image-layout.js +* +* @license Free to use under the MIT License. +* +*/ +(function(a,c){function e(e,t,n,i,r){this.container_selector=e;this.results_selector=t;this.img_selector=n;this.margin=i;this.maxHeight=r;this.isAlignDone=true}e.prototype._getHeigth=function(e,t){var n,i;var r=0;for(n=0;n<e.length;n++){i=e[n];if(i.naturalWidth>0&&i.naturalHeight>0){r+=i.naturalWidth/i.naturalHeight}else{r+=1}}return(t-e.length*this.margin)/r};e.prototype._setSize=function(e,t){var n,i,r;var o=e.length,a;for(n=0;n<o;n++){i=e[n];if(i.naturalWidth>0&&i.naturalHeight>0){r=t*i.naturalWidth/i.naturalHeight}else{r=t}i.style.width=r+"px";i.style.height=t+"px";i.style.marginLeft="3px";i.style.marginTop="3px";i.style.marginRight=this.margin-7+"px";i.style.marginBottom=this.margin-7+"px";a=i.parentNode.parentNode;if(!a.classList.contains("js")){a.classList.add("js")}}};e.prototype._alignImgs=function(e){var t,n,i,r;var o=c.querySelector(this.container_selector);var a=window.getComputedStyle(o);var s=parseInt(a.getPropertyValue("padding-left"),10);var l=parseInt(a.getPropertyValue("padding-right"),10);var u=o.clientWidth-s-l;while(e.length>0){t=true;for(i=1;i<=e.length&&t;i++){n=e.slice(0,i);r=this._getHeigth(n,u);if(r<this.maxHeight){this._setSize(n,r);e=e.slice(i);t=false}}if(t){this._setSize(n,Math.min(this.maxHeight,r));break}}};e.prototype.align=function(){var e;var t=c.querySelectorAll(this.results_selector);var n=t.length;var i=null;var r=null;var o=[];for(e=0;e<n;e++){r=t[e];if(r.previousElementSibling!==i&&o.length>0){this._alignImgs(o);o=[]}o.push(r.querySelector(this.img_selector));i=r}if(o.length>0){this._alignImgs(o)}};e.prototype.watch=function(){var e,t;var n=this;var i=c.querySelectorAll(this.results_selector);var r=i.length;function o(){if(n.isAlignDone){n.isAlignDone=false;setTimeout(function(){n.align();n.isAlignDone=true},100)}}a.addEventListener("pageshow",o);a.addEventListener("load",o);a.addEventListener("resize",o);for(e=0;e<r;e++){t=i[e].querySelector(this.img_selector);if(t!==null&&t!==undefined){t.addEventListener("load",o);t.addEventListener("error",o)}}};a.searxng.ImageLayout=e})(window,document);(function(e){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=e()}else if(typeof define==="function"&&define.amd){define([],e)}else{var t;if(typeof window!=="undefined"){t=window}else if(typeof global!=="undefined"){t=global}else if(typeof self!=="undefined"){t=self}else{t=this}t.AutoComplete=e()}})(function(){var e,t,n;return function(){function c(o,a,s){function l(n,e){if(!a[n]){if(!o[n]){var t="function"==typeof require&&require;if(!e&&t)return t(n,!0);if(u)return u(n,!0);var i=new Error("Cannot find module '"+n+"'");throw i.code="MODULE_NOT_FOUND",i}var r=a[n]={exports:{}};o[n][0].call(r.exports,function(e){var t=o[n][1][e];return l(t||e)},r,r.exports,c,o,a,s)}return a[n].exports}for(var u="function"==typeof require&&require,e=0;e<s.length;e++)l(s[e]);return l}return c}()({1:[function(e,t,n){ +/* + * @license MIT + * + * Autocomplete.js v2.7.1 + * Developed by Baptiste Donaux + * http://autocomplete-js.com + * + * (c) 2017, Baptiste Donaux + */ +"use strict";var l;(function(e){e[e["AND"]=0]="AND";e[e["OR"]=1]="OR"})(l||(l={}));var o;(function(e){e[e["KEYDOWN"]=0]="KEYDOWN";e[e["KEYUP"]=1]="KEYUP"})(o||(o={}));var i=function(){function s(t,e){if(t===void 0){t={}}if(e===void 0){e="[data-autocomplete]"}if(Array.isArray(e)){e.forEach(function(e){new s(t,e)})}else if(typeof e=="string"){var n=document.querySelectorAll(e);Array.prototype.forEach.call(n,function(e){new s(t,e)})}else{var i=s.merge(s.defaults,t,{DOMResults:document.createElement("div")});s.prototype.create(i,e);return i}}s.prototype.create=function(e,t){e.Input=t;if(e.Input.nodeName.match(/^INPUT$/i)&&(e.Input.hasAttribute("type")===false||e.Input.getAttribute("type").match(/^TEXT|SEARCH$/i))){e.Input.setAttribute("autocomplete","off");e._Position(e);e.Input.parentNode.appendChild(e.DOMResults);e.$Listeners={blur:e._Blur.bind(e),destroy:s.prototype.destroy.bind(null,e),focus:e._Focus.bind(e),keyup:s.prototype.event.bind(null,e,o.KEYUP),keydown:s.prototype.event.bind(null,e,o.KEYDOWN),position:e._Position.bind(e)};for(var n in e.$Listeners){e.Input.addEventListener(n,e.$Listeners[n])}}};s.prototype.getEventsByType=function(e,t){var n={};for(var i in e.KeyboardMappings){var r=o.KEYUP;if(e.KeyboardMappings[i].Event!==undefined){r=e.KeyboardMappings[i].Event}if(r==t){n[i]=e.KeyboardMappings[i]}}return n};s.prototype.event=function(e,t,n){var i=function(e){if(a===true&&o.Operator==l.AND||a===false&&o.Operator==l.OR){e=s.merge({Not:false},e);if(e.hasOwnProperty("Is")){if(e.Is==n.keyCode){a=!e.Not}else{a=e.Not}}else if(e.hasOwnProperty("From")&&e.hasOwnProperty("To")){if(n.keyCode>=e.From&&n.keyCode<=e.To){a=!e.Not}else{a=e.Not}}}};for(var r in s.prototype.getEventsByType(e,t)){var o=s.merge({Operator:l.AND},e.KeyboardMappings[r]),a=l.AND==o.Operator;o.Conditions.forEach(i);if(a===true){o.Callback.call(e,n)}}};s.prototype.makeRequest=function(e,t,n){var i=Object.getOwnPropertyNames(e.HttpHeaders),r=new XMLHttpRequest,o=e._HttpMethod(),a=e._Url(),s=e._Pre(),l=encodeURIComponent(e._QueryArg())+"="+encodeURIComponent(s);if(o.match(/^GET$/i)){if(a.indexOf("?")!==-1){a+="&"+l}else{a+="?"+l}}r.open(o,a,true);for(var u=i.length-1;u>=0;u--){r.setRequestHeader(i[u],e.HttpHeaders[i[u]])}r.onreadystatechange=function(){if(r.readyState==4&&r.status==200){e.$Cache[s]=r.response;t(r.response)}else if(r.status>=400){n()}};return r};s.prototype.ajax=function(e,t,n){if(n===void 0){n=true}if(e.$AjaxTimer){window.clearTimeout(e.$AjaxTimer)}if(n===true){e.$AjaxTimer=window.setTimeout(s.prototype.ajax.bind(null,e,t,false),e.Delay)}else{if(e.Request){e.Request.abort()}e.Request=t;e.Request.send(e._QueryArg()+"="+e._Pre())}};s.prototype.cache=function(e,t,n){var i=e._Cache(e._Pre());if(i===undefined){var r=s.prototype.makeRequest(e,t,n);s.prototype.ajax(e,r)}else{t(i)}};s.prototype.destroy=function(e){for(var t in e.$Listeners){e.Input.removeEventListener(t,e.$Listeners[t])}e.DOMResults.parentNode.removeChild(e.DOMResults)};s.merge=function(){var e={},t;for(var n=0;n<arguments.length;n++){for(t in arguments[n]){e[t]=arguments[n][t]}}return e};s.defaults={Delay:150,EmptyMessage:"No result here",Highlight:{getRegex:function(e){return new RegExp(e,"ig")},transform:function(e){return"<strong>"+e+"</strong>"}},HttpHeaders:{"Content-type":"application/x-www-form-urlencoded"},Limit:0,MinChars:0,HttpMethod:"GET",QueryArg:"q",Url:null,KeyboardMappings:{Enter:{Conditions:[{Is:13,Not:false}],Callback:function(e){if(this.DOMResults.getAttribute("class").indexOf("open")!=-1){var t=this.DOMResults.querySelector("li.active");if(t!==null){e.preventDefault();this._Select(t);this.DOMResults.setAttribute("class","autocomplete")}}},Operator:l.AND,Event:o.KEYDOWN},KeyUpAndDown_down:{Conditions:[{Is:38,Not:false},{Is:40,Not:false}],Callback:function(e){e.preventDefault()},Operator:l.OR,Event:o.KEYDOWN},KeyUpAndDown_up:{Conditions:[{Is:38,Not:false},{Is:40,Not:false}],Callback:function(e){e.preventDefault();var t=this.DOMResults.querySelector("li:first-child:not(.locked)"),n=this.DOMResults.querySelector("li:last-child:not(.locked)"),i=this.DOMResults.querySelector("li.active");if(i){var r=Array.prototype.indexOf.call(i.parentNode.children,i),o=r+(e.keyCode-39),a=this.DOMResults.getElementsByTagName("li").length;if(o<0){o=a-1}else if(o>=a){o=0}i.classList.remove("active");i.parentElement.children.item(o).classList.add("active")}else if(n&&e.keyCode==38){n.classList.add("active")}else if(t){t.classList.add("active")}},Operator:l.OR,Event:o.KEYUP},AlphaNum:{Conditions:[{Is:13,Not:true},{From:35,To:40,Not:true}],Callback:function(){var e=this.Input.getAttribute("data-autocomplete-old-value"),t=this._Pre();if(t!==""&&t.length>=this._MinChars()){if(!e||t!=e){this.DOMResults.setAttribute("class","autocomplete open")}s.prototype.cache(this,function(e){this._Render(this._Post(e));this._Open()}.bind(this),this._Error)}else{this._Close()}},Operator:l.AND,Event:o.KEYUP}},DOMResults:null,Request:null,Input:null,_EmptyMessage:function(){var e="";if(this.Input.hasAttribute("data-autocomplete-empty-message")){e=this.Input.getAttribute("data-autocomplete-empty-message")}else if(this.EmptyMessage!==false){e=this.EmptyMessage}else{e=""}return e},_Limit:function(){var e=this.Input.getAttribute("data-autocomplete-limit");if(isNaN(e)||e===null){return this.Limit}return parseInt(e,10)},_MinChars:function(){var e=this.Input.getAttribute("data-autocomplete-minchars");if(isNaN(e)||e===null){return this.MinChars}return parseInt(e,10)},_Highlight:function(e){return e.replace(this.Highlight.getRegex(this._Pre()),this.Highlight.transform)},_HttpMethod:function(){if(this.Input.hasAttribute("data-autocomplete-method")){return this.Input.getAttribute("data-autocomplete-method")}return this.HttpMethod},_QueryArg:function(){if(this.Input.hasAttribute("data-autocomplete-param-name")){return this.Input.getAttribute("data-autocomplete-param-name")}return this.QueryArg},_Url:function(){if(this.Input.hasAttribute("data-autocomplete")){return this.Input.getAttribute("data-autocomplete")}return this.Url},_Blur:function(e){if(e===void 0){e=false}if(e){this._Close()}else{var t=this;setTimeout(function(){t._Blur(true)},150)}},_Cache:function(e){return this.$Cache[e]},_Focus:function(){var e=this.Input.getAttribute("data-autocomplete-old-value");if((!e||this.Input.value!=e)&&this._MinChars()<=this.Input.value.length){this.DOMResults.setAttribute("class","autocomplete open")}},_Open:function(){var t=this;Array.prototype.forEach.call(this.DOMResults.getElementsByTagName("li"),function(e){if(e.getAttribute("class")!="locked"){e.onclick=function(){t._Select(e)}}})},_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;if(typeof e=="string"){t=this._RenderRaw(e)}else{t=this._RenderResponseItems(e)}if(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"),i=this._Limit();if(i<0){e=e.reverse()}else if(i===0){i=e.length}for(var r=0;r<Math.min(Math.abs(i),e.length);r++){n.innerHTML=e[r].Label;n.setAttribute("data-autocomplete-value",e[r].Value);t.appendChild(n);n=document.createElement("li")}return t},_RenderRaw:function(e){var t=document.createElement("ul"),n=document.createElement("li");if(e.length>0){this.DOMResults.innerHTML=e}else{var i=this._EmptyMessage();if(i!==""){n.innerHTML=i;n.setAttribute("class","locked");t.appendChild(n)}}return t},_Post:function(t){try{var e=[];var n=JSON.parse(t);if(Object.keys(n).length===0){return""}if(Array.isArray(n)){for(var i=0;i<Object.keys(n).length;i++){e[e.length]={Value:n[i],Label:this._Highlight(n[i])}}}else{for(var r in n){e.push({Value:r,Label:this._Highlight(n[r])})}}return e}catch(e){return t}},_Pre:function(){return this.Input.value},_Select:function(e){if(e.hasAttribute("data-autocomplete-value")){this.Input.value=e.getAttribute("data-autocomplete-value")}else{this.Input.value=e.innerHTML}this.Input.setAttribute("data-autocomplete-old-value",this.Input.value)},_Error:function(){},$AjaxTimer:null,$Cache:{},$Listeners:{}};return s}();t.exports=i},{}]},{},[1])(1)}); +//# sourceMappingURL=searxng.min.js.map
\ No newline at end of file diff --git a/searx/static/themes/simple/js/searxng.min.js.map b/searx/static/themes/simple/js/searxng.min.js.map new file mode 100644 index 000000000..d0c875f23 --- /dev/null +++ b/searx/static/themes/simple/js/searxng.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"searxng.min.js","sources":["searxng.js"],"names":["window","searxng","w","d","Element","ElementPrototype","matches","matchesSelector","webkitMatchesSelector","msMatchesSelector","selector","node","this","nodes","parentNode","document","querySelectorAll","i","prototype","callbackSafe","callback","el","e","call","exception","console","log","on","obj","eventType","useCapture","addEventListener","target","srcElement","found","parentElement","ready","readyState","bind","http","method","url","req","XMLHttpRequest","resolve","reject","promise","then","catch","open","onload","status","response","responseType","Error","statusText","onerror","onabort","send","ex","loadStyle","src","path","static_path","id","replace","s","getElementById","createElement","setAttribute","body","appendChild","loadScript","hasAttribute","apply","insertBefore","newNode","referenceNode","insertAfter","nextSibling","classList","add","highlightResult","undefined","contains","getAttribute","vimKeys","27","key","fun","removeFocus","des","cat","73","searchInputFocus","66","scrollPage","innerHeight","70","85","68","71","scrollPageTo","scrollHeight","86","75","74","80","GoToPreviousPage","78","GoToNextPage","79","openResult","84","82","reloadPage","72","toggleHelp","Object","hasOwnProperty","keyCode","ctrlKey","altKey","shiftKey","metaKey","tagName","toLowerCase","preventDefault","which","noScroll","current","querySelector","effectiveWhich","next","results","top","documentElement","scrollTop","bot","clientHeight","length","etop","offsetTop","ebot","nextElementSibling","previousElementSibling","removeAttribute","link","focus","scrollPageToSelected","location","reload","activeElement","blur","pageButtonClick","css_selector","button","click","sel","wtop","wheight","offset","scroll","scrollX","wbot","amount","scrollBy","position","nav","scrollTo","newTab","href","initHelpContent","divElement","categories","k","push","sorted","keys","sort","a","b","html","lastCategory","first","cj","innerHTML","helpPanel","className","style","getElementsByTagName","toggle","event","remove","leaflet_target","dataset","leafletTarget","map_lon","parseFloat","mapLon","map_lat","mapLat","map_zoom","mapZoom","map_boundingbox","JSON","parse","mapBoundingbox","map_geojson","mapGeojson","map_bounds","southWest","L","latLng","northEast","latLngBounds","map","osmMapnikUrl","osmMapnikAttrib","osmMapnik","TileLayer","minZoom","maxZoom","attribution","osmWikimediaUrl","osmWikimediaAttrib","osmWikimedia","setTimeout","fitBounds","setView","addLayer","baseLayers","OSM Mapnik","OSM Wikimedia","control","layers","addTo","geoJson","engine_descriptions","load_engine_descriptions","content","engine_name","description","entries","elements","element","source","translations","image_thumbnail_layout","ImageLayout","watch","btnLabelCollapsed","btnLabelNotCollapsed","targetElement","iframe_load","srctest","opacity","firstFocus","qinput_id","qinput","placeCursorAtEnd","setSelectionRange","len","value","submitIfQuery","search","submit","createClearButton","cs","updateClearButton","placeCursorAtEndOnce","autocompleter","autocomplete","AutoComplete","Url","EmptyMessage","no_item_found","HttpMethod","HttpHeaders","Content-type","X-Requested-With","MinChars","Delay","CustomEvent","dispatchEvent","search_on_category_select","checked","container_selector","results_selector","img_selector","margin","maxHeight","isAlignDone","_getHeigth","images","width","img","r","naturalWidth","naturalHeight","_setSize","height","imgWidth","imagesLength","resultNode","marginLeft","marginTop","marginRight","marginBottom","_alignImgs","imgGroup","isSearching","slice","h","containerElement","containerCompStyles","getComputedStyle","containerPaddingLeft","parseInt","getPropertyValue","containerPaddingRight","containerWidth","clientWidth","Math","min","align","results_selectorNode","results_length","previous","results_nodes","throttleAlign","f","exports","module","define","amd","g","global","self","n","t","o","c","require","u","code","p","1","ConditionOperator","EventType","params","Array","isArray","forEach","input","specificParams","merge","defaults","DOMResults","create","Input","nodeName","match","_Position","$Listeners","_Blur","destroy","_Focus","keyup","KEYUP","keydown","KEYDOWN","getEventsByType","type","mappings","KeyboardMappings","Event","eventIdentifier","condition","mapping","Operator","AND","OR","Not","Is","From","To","name","Conditions","Callback","makeRequest","callbackErr","propertyHttpHeaders","getOwnPropertyNames","request","_HttpMethod","_Url","queryParams","_Pre","queryParamsStringify","encodeURIComponent","_QueryArg","indexOf","setRequestHeader","onreadystatechange","$Cache","ajax","timeout","$AjaxTimer","clearTimeout","Request","abort","cache","_Cache","removeEventListener","removeChild","tmp","arguments","Highlight","getRegex","RegExp","transform","Limit","QueryArg","Enter","liActive","_Select","KeyUpAndDown_down","KeyUpAndDown_up","last","active","currentIndex","children","lisCount","item","AlphaNum","oldValue","currentValue","_MinChars","_Render","_Post","_Open","_Error","_Close","_EmptyMessage","emptyMessage","_Limit","limit","isNaN","minchars","_Highlight","label","now","li","onclick","offsetHeight","offsetLeft","ul","_RenderRaw","_RenderResponseItems","hasChildNodes","childNodes","reverse","abs","Label","Value","returnResponse","json"],"mappings":"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"}
\ No newline at end of file |