{"version":3,"sources":["webpack:///./assets/javascripts/modules/abstracts/Component.js","webpack:///./assets/javascripts/modules/utils/ajaxUtil.js","webpack:///./assets/javascripts/modules/utils/DependencyInjector.js","webpack:///./node_modules/bootstrap/js/src lazy ^\\.\\/.*$ namespace object","webpack:///./node_modules/flatpickr/dist/l10n lazy ^\\.\\/.*\\.js$ namespace object","webpack:///./assets/javascripts/modules/utils/FocusableElementUtils.js","webpack:///./assets/javascripts/modules/components/CarouselComponent.js","webpack:///./node_modules/es6-crawler-detect/src/lib/crawler/provider.js","webpack:///./assets/javascripts/modules/components/RecommendationEngineComponent.js","webpack:///./node_modules/es6-crawler-detect/src/index.js","webpack:///./node_modules/es6-crawler-detect/src/lib/crawler.js","webpack:///./node_modules/es6-crawler-detect/src/lib/crawler/crawlers.js","webpack:///./node_modules/es6-crawler-detect/src/lib/crawler/exclusions.js","webpack:///./node_modules/es6-crawler-detect/src/lib/crawler/headers.js"],"names":["Component","_classCallCheck","this","moduleLoader","DependencyInjector","$customEvents","CustomEvents","$matchMedia","Matchmq","$on","on","$emit","emit","$off","off","$one","one","$doAjax","doAjax","$getFirstFocusable","getFirstFocusable","$importComponent","importComponent","logStr","arguments","length","undefined","params","myName","constructor","name","console","log","warn","component","$","append","options","extend","cache","async","type","ajax","ajaxAction","classEl","source","target","functionName","context","args","namespaces","Array","prototype","slice","call","split","func","pop","i","apply","uri","key","value","re","RegExp","separator","indexOf","match","replace","query","ajaxConf","url","res","_this","contentname","fallbacks","response","DOMParser","parseFromString","querySelector","SELECTORS","document","innerHTML","AJAX_EVENTS","loaded","updated","isArray","forEach","callback","executeFunctionByName","window","loadedDependency","existingDependency","saveDependency","lib","Promise","resolve","reject","e","debug","componentName","thenPromise","catchPromise","__webpack_require__","then","catch","t","bind","err","error","locale","widgetName","script","createElement","src","addEventListener","body","appendChild","stack","map","./","./alert","./alert.js","./button","./button.js","./carousel","./carousel.js","./collapse","./collapse.js","./dropdown","./dropdown.js","./index","./index.js","./modal","./modal.js","./popover","./popover.js","./scrollspy","./scrollspy.js","./tab","./tab.js","./toast","./toast.js","./tools/sanitizer","./tools/sanitizer.js","./tooltip","./tooltip.js","./util","./util.js","webpackAsyncContext","req","o","Error","code","ids","id","all","keys","Object","module","exports","./ar.js","./at.js","./az.js","./be.js","./bg.js","./bn.js","./bs.js","./cat.js","./cs.js","./cy.js","./da.js","./de.js","./default.js","./eo.js","./es.js","./et.js","./fa.js","./fi.js","./fo.js","./fr.js","./ga.js","./gr.js","./he.js","./hi.js","./hr.js","./hu.js","./id.js","./is.js","./it.js","./ja.js","./ka.js","./km.js","./ko.js","./kz.js","./lt.js","./lv.js","./mk.js","./mn.js","./ms.js","./my.js","./nl.js","./no.js","./pa.js","./pl.js","./pt.js","./ro.js","./ru.js","./si.js","./sk.js","./sl.js","./sq.js","./sr-cyr.js","./sr.js","./sv.js","./th.js","./tr.js","./uk.js","./uz.js","./uz_latn.js","./vn.js","./zh-tw.js","./zh.js","d","__webpack_exports__","parent","CarouselComponent","_possibleConstructorReturn","__proto__","getPrototypeOf","main","whatchRes","elem","_this2","loadCarouselAndExecute","initCarousels","selector","carousels","getElementsByClassName","querySelectorAll","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","Symbol","iterator","next","done","carousel","slides","dataset","Number","visibleItemsMobile","visibleItemsXs","visibleItemsTablet","visibleItemsMd","visibleItemsDesktop","visibleItemsLg","isDots","dots","isFade","fade","isCenter","centerslick","isArrows","arrows","prevArrow","customarrows","nextArrow","isAccessible","accessibility","isAutoplay","autoplay","isDraggable","draggable","infinite","centerMode","autoplaySpeed","slidesToShow","slidesToScroll","variableWidth","variablewidth","responsiveArray","setResponsiveArray","responsive","editMode","onlyMobile","checkItems","matchMedia","matches","children","is","slick","return","push","breakpoint","settings","_this3","MODAL_EVENTS","afterOpen","carouselsIntoVex","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","CAROUSEL","triggerCarousel","data","importLibrary","payload","_get","bindEvents","[object Object]","require","Crawler","RecommendationEngineComponent","middleware","recommendationComponent","RECOMMENDATION_ENGINE_CONTAINER","setup","RECOMMENDATION_ENGINE_PRODUCTS_CONTAINER","RECOMMENDATION_ENGINE_URL","GET","opts","template","codes","paramsObj","callBackOnSuccess","callBackOnFailure","timeoutTime","xhttp","XMLHttpRequest","URLSearchParams","timeout","open","CONSTANTS","toString","onreadystatechange","readyState","status","ontimeout","onerror","send","recommendationProductsComponent","responseText","render","callServer","getSimilarOpts","renderData","hideComponent","CrawlerDetector","userAgentString","navigator","userAgent","isCrawler","getMarketingOpts","tryAgain","Crawlers","Exclusions","Headers","request","headers","_init","compiledRegexList","compileRegex","crawlers","getAll","compiledExclusions","exclusions","setHttpHeaders","setUserAgent","patterns","flags","join","trim","httpHeaders","header","getUaHttpHeaders","toLowerCase","agent","exec","Provider","super"],"mappings":"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A,IACA,KAGA,SAAAC,EAAAC,GACA,IAAA/C,EAAAgD,EAAAhC,EAAA+B,GACA,OAAAvD,QAAAC,UAAAQ,KAAA,WACA,IAAAN,EAAA,IAAAsD,MAAA,uBAAAF,EAAA,KAEA,MADApD,EAAAuD,KAAA,mBACAvD,IAIA,IAAAwD,EAAAnC,EAAA+B,GAAAK,EAAAD,EAAA,GACA,OAAA3D,QAAA6D,IAAAF,EAAArG,MAAA,GAAAkE,IAAAhB,EAAAL,IAAAM,KAAA,WACA,OAAAD,EAAAoD,KAGAN,EAAAQ,KAAA,WACA,OAAAC,OAAAD,KAAAtC,IAEA8B,EAAAM,GAAA,IACAI,EAAAC,QAAAX,uBCjJA,IAAA9B,GACA0C,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,YACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,gBACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAvD,cACA,IACA,KAEAwD,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KA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","file":"components-RecommendationEngineComponent.chunks.js","sourcesContent":["import DependencyInjector from '../utils/DependencyInjector';\nimport { CustomEvents } from '../utils/CustomEvents';\nimport { Matchmq } from '../utils/ResolutionHandler';\nimport { getFirstFocusable } from '../utils/FocusableElementUtils';\nimport { on, emit, off, one } from '../utils/EventsBus';\nimport { doAjax } from '../utils/ajaxUtil';\n\n/**\n * Generic web component that expose a render method\n */\nexport default class Component {\n constructor() {\n this.moduleLoader = new DependencyInjector(); // Use this class to lazy load modules!!\n this.$customEvents = CustomEvents;\n this.$matchMedia = Matchmq;\n this.$on = on;\n this.$emit = emit;\n this.$off = off;\n this.$one = one;\n this.$doAjax = doAjax;\n this.$getFirstFocusable = getFirstFocusable;\n this.$importComponent = this.importComponent;\n }\n\n /**\n * Log utility\n * @param logStr\n */\n log(logStr = '', params = '') {\n if (logStr != '') {\n let myName = this.constructor.name;\n console.log(`[${myName}] ${logStr} ${params}`);\n }\n }\n\n /**\n * Log utility\n * @param logStr\n */\n warn(logStr = '', params = '') {\n if (logStr != '') {\n let myName = this.constructor.name;\n console.warn(`[${myName}] ${logStr} ${params}`);\n }\n }\n\n importComponent(component) {\n $('body').append(`
`);\n return true;\n }\n\n /*\n Main method that execute the render logic of the component\n */\n render() {\n let myName = this.constructor.name;\n console.log(`[${myName}] Rendering..`);\n }\n}\n","import {on, emit} from './EventsBus';\nimport { CustomEvents } from './CustomEvents';\n\nexport const doAjax = options => {\n options = $.extend(\n true,\n {},\n {\n cache: false,\n async: true,\n type: 'GET'\n },\n options\n );\n return $.ajax(options);\n};\n\nexport default class ajaxAction {\n\n static get SELECTORS() {\n return {\n source: '[data-ajax-source]',\n target: '[data-ajax-target]'\n };\n }\n\n constructor(classEl) {\n this.classEl = classEl;\n }\n\n // basics\n executeFunctionByName(functionName, context , args = false ) {\n var args = Array.prototype.slice.call(arguments, 2);\n var namespaces = functionName.split(\".\");\n var func = namespaces.pop();\n for(var i = 0; i < namespaces.length; i++) {\n context = context[namespaces[i]];\n }\n return context[func].apply(context, args);\n }\n\n updateQueryStringParameter(uri, key, value) {\n var re = new RegExp(\"([?&])\" + key + \"=.*?(&|$)\", \"i\");\n var separator = uri.indexOf('?') !== -1 ? \"&\" : \"?\";\n if (uri.match(re)) {\n return uri.replace(re, '$1' + key + \"=\" + value + '$2');\n }\n else {\n return uri + separator + key + \"=\" + value;\n }\n }\n\n // ajax function\n getPage(query) {\n // json configuration\n let ajaxConf = {\n type: 'GET',\n url: query,\n };\n // returns\n return $.ajax(ajaxConf);\n }\n\n // content replacing function\n renderContent(res, contentname = false , fallbacks = false ){\n // response\n const response = new DOMParser ().parseFromString(res, 'text/html');\n // update content\n let source = (contentname) ? response.querySelector('[data-ajax-source='+contentname+']') : response.querySelector(this.SELECTORS.source);\n let target = (contentname) ? document.querySelector('[data-ajax-target='+contentname+']') : document.querySelector(this.SELECTORS.target);\n if(typeof source !== 'undefined' && source != null && typeof target !== 'undefined' && target != null ) {\n // update the html pager\n target.innerHTML = source.innerHTML;\n emit(CustomEvents.AJAX_EVENTS.loaded);\n emit(CustomEvents.AJAX_EVENTS.updated);\n }\n //\n if(fallbacks && fallbacks.isArray()){\n fallbacks.forEach(callback => {\n this.executeFunctionByName(callback, window);\n })\n }\n //\n }\n}\n","const loadedDependency = {};\n\nconst existingDependency = (name) => {\n return (name in loadedDependency) ? loadedDependency[name] : false;\n};\n\nconst saveDependency = (name, lib) => {\n return new Promise((resolve, reject) => {\n try {\n if (!existingDependency(name)) {\n loadedDependency[name] = lib;\n resolve(false);\n } else {\n resolve(true);\n }\n } catch (e) {\n reject(e);\n }\n });\n};\n\n/**\n * This utility class is injected in all components that extends Component\n * and is used to lazy load third-part libraries\n */\nexport default class DependencyInjector {\n static get CUSTOM_STYLES() {\n return '../../../stylesheets';\n }\n\n static defaultCatchPromise(error) {\n console.error(\"Failed to inject dependency\", error.stack);\n }\n\n /**\n * Log utility\n * @param logStr\n */\n log(logStr = \"\") {\n if (logStr != \"\") {\n let myName = this.constructor.name;\n console.debug(`[${myName}] ${logStr}`);\n }\n }\n\n /**\n * Load a single bootstrap component from library\n * The SCSS file shoul be created due to the impossibility to import from bootstrap package\n * @param thenPromise\n * @param catchPromise\n */\n loadBootstrapJsComponentAndExecute(componentName, thenPromise, catchPromise) {\n this.log(`Loading Bootstrap ${componentName}`);\n\n import(/* webpackChunkName: `boostrap-js` */ `bootstrap/js/src/${componentName}`).then(thenPromise).catch(catchPromise);\n }\n\n // loadAos(thenPromise, catchPromise) {\n // this.log('Loading aos');\n\n // import(/* webpackChunkName: `aos` */ 'aos/dist/aos.css').then(\n // () => {\n // import(/* webpackChunkName: `aos` */ 'aos').then(thenPromise).catch(catchPromise);\n // }).catch(catchPromise);\n // }\n\n loadModalAndExecute(thenPromise, catchPromise) {\n this.log('Loading Modal');\n if (existingDependency('vex')) return thenPromise(existingDependency('vex'));\n\n import(/* webpackChunkName: `vex` */ 'vex-js/dist/js/vex.js').then((res) => {\n saveDependency('vex', res);\n thenPromise(res);\n }).catch(catchPromise);\n }\n\n loadCarouselAndExecute(thenPromise, catchPromise) {\n this.log('Loading Slick Carousel');\n if (existingDependency('carousel')) return thenPromise(existingDependency('carousel'));\n\n import(/* webpackChunkName: `slick-carousel` */ 'slick-carousel/slick/slick.scss').then( () => {\n import(/* webpackChunkName: `slick-carousel` */ \"slick-carousel/slick/slick-theme.scss\").then(() => {\n import(/* webpackChunkName: `slick-carousel` */ 'slick-carousel/slick/slick.js').then((res) => {\n saveDependency('carousel', res);\n thenPromise(res);\n }).catch(catchPromise);\n }).catch(err => {\n console.error('Failed slick css import')\n }); // js library\n }).catch(err => {\n console.error('Failed slick css theme')\n });\n }\n\n loadStickyAndExecute(thenPromise, catchPromise) {\n this.log('Loading stickybits');\n import(/* webpackChunkName: `stickybits` */ 'stickybits').then(thenPromise).catch(catchPromise);\n }\n\n loadFlatpickrLocale(locale, thenPromise, catchPromise) {\n import(/* webpackChunkName: `flatpickr-locale` */ `flatpickr/dist/l10n/${locale}.js`).then(thenPromise).catch(catchPromise)\n }\n\n loadFlatpickr(thenPromise, catchPromise) {\n this.log('Loading Flatpickr');\n\n import(/* webpackChunkName: `flatpickr` */ 'flatpickr/src/style/flatpickr.styl').then(\n () => {\n import(/* webpackChunkName: `flatpickr` */ 'flatpickr/src/style/themes/airbnb.styl');\n import(/* webpackChunkName: `flatpickr` */ 'flatpickr/dist/flatpickr.js').then(thenPromise).catch(catchPromise); // js library\n }).catch(catchPromise);\n }\n\n /**\n * This method load the query-string library and execute the given promises\n * when loaded\n * @param thenPromise the code that must be executed when jscroll is ready\n * @param catchPromise the code that must be executed when jscrol fails to load\n */\n // loadQueryStringAndExecute(thenPromise, catchPromise) {\n // this.log(\"Loading query-string\");\n // import(/* webpackChunkName: `query-string` */ \"query-string\").then(thenPromise).catch(catchPromise);\n // }\n\n /**\n * This method load the jscroll library and execute the given promises\n * when loaded\n * @param thenPromise the code that must be executed when jscroll is ready\n * @param catchPromise the code that must be executed when jscroll fails to load\n */\n // loadJscrollAndExecute(thenPromise, catchPromise) {\n // this.log(\"Loading jscroll\");\n // import(/* webpackChunkName: `jscroll` */ \"jscroll\").then(thenPromise).catch(catchPromise);\n // }\n\n /**\n * This method load the blueimp-file-upload library and execute the given promises\n * when loaded\n * @param thenPromise the code that must be executed when blueimp-file-upload is ready\n * @param catchPromise the code that must be executed when blueimp-file-upload fails to load\n */\n // loadBlueimpFileUploadAndExecute(thenPromise, catchPromise) {\n // this.log(\"Loading BlueimpFileUpload\");\n // import(/* webpackChunkName: `blueimp-file-upload` */ \"blueimp-file-upload\").then(\n // () => {\n // import(/* webpackChunkName: `blueimp-file-upload` */ 'blueimp-file-upload/css/jquery.fileupload.css').then(thenPromise).catch(catchPromise); // js library\n // }).catch(catchPromise);\n // }\n\n loadJqueryValidationAndExecute(thenPromise, catchPromise) {\n this.log(\"Loading jquery-validation\");\n import( /* webpackChunkName: `jquery-validation` */ \"jquery-validation\").then(thenPromise).catch(catchPromise);\n }\n\n loadSimpleBarAndExecute(thenPromise, catchPromise) {\n this.log(\"Loading SimpleBar\");\n if (existingDependency('simplebar')) return thenPromise(existingDependency('simplebar'));\n import( /* webpackChunkName: `simplebar` */ \"simplebar\").then((res) => {\n saveDependency('simplebar', res);\n thenPromise(res);\n }).catch(catchPromise);\n }\n\n\n /**\n * Load all jquery ui js (1.5kb gzipped)\n * @param widgetName the name of jquery wigget\n * @param thenPromise the code that must be executed when the widget is ready\n * @param catchPromise the code that must be executed when the widget fails to load\n */\n loadJqueryUIWidgetAndExecute(widgetName, thenPromise, catchPromise) {\n this.log(`Loading jQuery UI dist for ${widgetName}`);\n\n import(\n /* webpackChunkName: `jquery-ui` */\n 'jquery-ui-dist/jquery-ui').then(thenPromise).catch(catchPromise);\n }\n\n loadExternalScript(url) {\n return new Promise((resolve, reject) => {\n let script = document.createElement('script');\n script.type = 'text/javascript';\n script.src = url;\n script.addEventListener('load', () => resolve(script), false);\n script.addEventListener('error', () => reject(script), false);\n document.body.appendChild(script);\n });\n }\n}\n","var map = {\n\t\"./\": [\n\t\t265,\n\t\t2,\n\t\t8\n\t],\n\t\"./alert\": [\n\t\t271,\n\t\t10\n\t],\n\t\"./alert.js\": [\n\t\t271,\n\t\t10\n\t],\n\t\"./button\": [\n\t\t272,\n\t\t15\n\t],\n\t\"./button.js\": [\n\t\t272,\n\t\t15\n\t],\n\t\"./carousel\": [\n\t\t273,\n\t\t20\n\t],\n\t\"./carousel.js\": [\n\t\t273,\n\t\t20\n\t],\n\t\"./collapse\": [\n\t\t274,\n\t\t21\n\t],\n\t\"./collapse.js\": [\n\t\t274,\n\t\t21\n\t],\n\t\"./dropdown\": [\n\t\t275,\n\t\t2,\n\t\t22\n\t],\n\t\"./dropdown.js\": [\n\t\t275,\n\t\t2,\n\t\t22\n\t],\n\t\"./index\": [\n\t\t265,\n\t\t2,\n\t\t8\n\t],\n\t\"./index.js\": [\n\t\t265,\n\t\t2,\n\t\t8\n\t],\n\t\"./modal\": [\n\t\t276,\n\t\t11\n\t],\n\t\"./modal.js\": [\n\t\t276,\n\t\t11\n\t],\n\t\"./popover\": [\n\t\t277,\n\t\t2,\n\t\t12\n\t],\n\t\"./popover.js\": [\n\t\t277,\n\t\t2,\n\t\t12\n\t],\n\t\"./scrollspy\": [\n\t\t278,\n\t\t13\n\t],\n\t\"./scrollspy.js\": [\n\t\t278,\n\t\t13\n\t],\n\t\"./tab\": [\n\t\t279,\n\t\t14\n\t],\n\t\"./tab.js\": [\n\t\t279,\n\t\t14\n\t],\n\t\"./toast\": [\n\t\t280,\n\t\t16\n\t],\n\t\"./toast.js\": [\n\t\t280,\n\t\t16\n\t],\n\t\"./tools/sanitizer\": [\n\t\t269,\n\t\t17\n\t],\n\t\"./tools/sanitizer.js\": [\n\t\t269,\n\t\t17\n\t],\n\t\"./tooltip\": [\n\t\t268,\n\t\t2,\n\t\t18\n\t],\n\t\"./tooltip.js\": [\n\t\t268,\n\t\t2,\n\t\t18\n\t],\n\t\"./util\": [\n\t\t267,\n\t\t19\n\t],\n\t\"./util.js\": [\n\t\t267,\n\t\t19\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 284;\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./ar.js\": [\n\t\t299,\n\t\t158\n\t],\n\t\"./at.js\": [\n\t\t300,\n\t\t159\n\t],\n\t\"./az.js\": [\n\t\t301,\n\t\t170\n\t],\n\t\"./be.js\": [\n\t\t302,\n\t\t180\n\t],\n\t\"./bg.js\": [\n\t\t303,\n\t\t191\n\t],\n\t\"./bn.js\": [\n\t\t304,\n\t\t202\n\t],\n\t\"./bs.js\": [\n\t\t305,\n\t\t213\n\t],\n\t\"./cat.js\": [\n\t\t306,\n\t\t217\n\t],\n\t\"./cs.js\": [\n\t\t307,\n\t\t218\n\t],\n\t\"./cy.js\": [\n\t\t308,\n\t\t219\n\t],\n\t\"./da.js\": [\n\t\t309,\n\t\t160\n\t],\n\t\"./de.js\": [\n\t\t310,\n\t\t161\n\t],\n\t\"./default.js\": [\n\t\t311,\n\t\t162\n\t],\n\t\"./eo.js\": [\n\t\t312,\n\t\t163\n\t],\n\t\"./es.js\": [\n\t\t313,\n\t\t164\n\t],\n\t\"./et.js\": [\n\t\t314,\n\t\t165\n\t],\n\t\"./fa.js\": [\n\t\t315,\n\t\t166\n\t],\n\t\"./fi.js\": [\n\t\t316,\n\t\t167\n\t],\n\t\"./fo.js\": [\n\t\t317,\n\t\t168\n\t],\n\t\"./fr.js\": [\n\t\t318,\n\t\t169\n\t],\n\t\"./ga.js\": [\n\t\t319,\n\t\t171\n\t],\n\t\"./gr.js\": [\n\t\t320,\n\t\t172\n\t],\n\t\"./he.js\": [\n\t\t321,\n\t\t173\n\t],\n\t\"./hi.js\": [\n\t\t322,\n\t\t174\n\t],\n\t\"./hr.js\": [\n\t\t323,\n\t\t175\n\t],\n\t\"./hu.js\": [\n\t\t324,\n\t\t176\n\t],\n\t\"./id.js\": [\n\t\t325,\n\t\t177\n\t],\n\t\"./index.js\": [\n\t\t326,\n\t\t227\n\t],\n\t\"./is.js\": [\n\t\t327,\n\t\t178\n\t],\n\t\"./it.js\": [\n\t\t328,\n\t\t179\n\t],\n\t\"./ja.js\": [\n\t\t329,\n\t\t181\n\t],\n\t\"./ka.js\": [\n\t\t330,\n\t\t182\n\t],\n\t\"./km.js\": [\n\t\t331,\n\t\t183\n\t],\n\t\"./ko.js\": [\n\t\t332,\n\t\t184\n\t],\n\t\"./kz.js\": [\n\t\t333,\n\t\t185\n\t],\n\t\"./lt.js\": [\n\t\t334,\n\t\t186\n\t],\n\t\"./lv.js\": [\n\t\t335,\n\t\t187\n\t],\n\t\"./mk.js\": [\n\t\t336,\n\t\t188\n\t],\n\t\"./mn.js\": [\n\t\t337,\n\t\t189\n\t],\n\t\"./ms.js\": [\n\t\t338,\n\t\t190\n\t],\n\t\"./my.js\": [\n\t\t339,\n\t\t192\n\t],\n\t\"./nl.js\": [\n\t\t340,\n\t\t193\n\t],\n\t\"./no.js\": [\n\t\t341,\n\t\t194\n\t],\n\t\"./pa.js\": [\n\t\t342,\n\t\t195\n\t],\n\t\"./pl.js\": [\n\t\t343,\n\t\t196\n\t],\n\t\"./pt.js\": [\n\t\t344,\n\t\t197\n\t],\n\t\"./ro.js\": [\n\t\t345,\n\t\t198\n\t],\n\t\"./ru.js\": [\n\t\t346,\n\t\t199\n\t],\n\t\"./si.js\": [\n\t\t347,\n\t\t200\n\t],\n\t\"./sk.js\": [\n\t\t348,\n\t\t201\n\t],\n\t\"./sl.js\": [\n\t\t349,\n\t\t203\n\t],\n\t\"./sq.js\": [\n\t\t350,\n\t\t204\n\t],\n\t\"./sr-cyr.js\": [\n\t\t351,\n\t\t205\n\t],\n\t\"./sr.js\": [\n\t\t352,\n\t\t206\n\t],\n\t\"./sv.js\": [\n\t\t353,\n\t\t207\n\t],\n\t\"./th.js\": [\n\t\t354,\n\t\t208\n\t],\n\t\"./tr.js\": [\n\t\t355,\n\t\t209\n\t],\n\t\"./uk.js\": [\n\t\t356,\n\t\t210\n\t],\n\t\"./uz.js\": [\n\t\t357,\n\t\t211\n\t],\n\t\"./uz_latn.js\": [\n\t\t358,\n\t\t212\n\t],\n\t\"./vn.js\": [\n\t\t359,\n\t\t214\n\t],\n\t\"./zh-tw.js\": [\n\t\t360,\n\t\t215\n\t],\n\t\"./zh.js\": [\n\t\t361,\n\t\t216\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__.t(id, 7);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 285;\nmodule.exports = webpackAsyncContext;","const focusableSelectors = 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"]), [role=\"button\"]';\nexport const getFirstFocusable = (parent) => {\n return parent.querySelector(focusableSelectors);\n};\n","import Component from '../abstracts/Component';\n\nexport default class CarouselComponent extends Component {\n\n get SELECTORS() {\n return {\n main: '[data-carousel=\"true\"]:not(.slick-initialized)',\n };\n }\n\n constructor() {\n super();\n this.main = $(this.SELECTORS.main);\n this.whatchRes = [];\n }\n\n importLibrary(elem) {\n this.moduleLoader.loadCarouselAndExecute(\n module => {\n this.initCarousels(elem);\n },\n error => {\n console.error('failed to load slick ', error.stack);\n }\n );\n }\n\n initCarousels(elem) {\n let selector = this.SELECTORS.main;\n let carousels = [];\n if (elem != null && typeof elem != 'undefined' && document.getElementsByClassName(elem).length)\n carousels = document.getElementsByClassName(elem);\n else carousels = document.querySelectorAll(selector);\n\n for (let carousel of carousels) {\n const slides = typeof carousel.dataset.slides != 'undefined' ? Number(carousel.dataset.slides) : 1;\n const visibleItemsMobile = typeof carousel.dataset.visibleItemsXs != 'undefined' ? Number(carousel.dataset.visibleItemsXs) : slides;\n const visibleItemsTablet = typeof carousel.dataset.visibleItemsMd != 'undefined' ? Number(carousel.dataset.visibleItemsMd) : slides;\n const visibleItemsDesktop = typeof carousel.dataset.visibleItemsLg != 'undefined' ? Number(carousel.dataset.visibleItemsLg) : slides;\n const isDots = carousel.dataset.dots === 'true' ? true : false;\n const isFade = carousel.dataset.fade === 'true' ? true : false;\n const isCenter = carousel.dataset.centerslick === 'true' ? true : false;\n const isArrows = carousel.dataset.arrows === 'true' ? true : false;\n const prevArrow = carousel.dataset.customarrows === 'true' ? '' : '';\n const nextArrow = carousel.dataset.customarrows === 'true' ? '' : ''\n const isAccessible = carousel.dataset.accessibility === 'true' ? true : false;\n const isAutoplay = carousel.dataset.autoplay === 'true' ? true : false;\n const isDraggable = carousel.dataset.draggable === 'false' ? false : true;\n const isInfinite = carousel.dataset.infinite === 'true' ? true : false;\n const autoplaySpeed = typeof carousel.dataset.autoplaySpeed != 'undefined' ? carousel.dataset.autoplaySpeed : 3000;\n const slidesToScroll = typeof carousel.dataset.slidesToScroll != 'undefined' ? Number(carousel.dataset.slidesToScroll) : 1;\n const isVariableWidth = carousel.dataset.variablewidth === 'true' ? true : false;\n\n let options = {\n dots: isDots,\n arrows: isArrows,\n prevArrow: prevArrow,\n nextArrow: nextArrow,\n infinite: isInfinite,\n centerMode: isCenter,\n autoplay: isAutoplay,\n autoplaySpeed: autoplaySpeed,\n accessibility: isAccessible,\n draggable: isDraggable,\n slidesToShow: slides,\n slidesToScroll: slidesToScroll,\n fade: isFade,\n variableWidth: isVariableWidth\n };\n\n let responsiveArray = this.setResponsiveArray(visibleItemsMobile, visibleItemsTablet, visibleItemsDesktop);\n\n options = $.extend({}, options, {\n responsive: responsiveArray\n });\n\n const editMode = carousel.dataset.editMode === 'true' ? true : false;\n if (editMode) return false;\n\n const onlyMobile = carousel.dataset.onlyMobile === 'true' ? true : false;\n\n let checkItems = slides;\n if(window.matchMedia('(max-width:767px)').matches || onlyMobile)\n checkItems = visibleItemsMobile;\n else if(window.matchMedia('(max-width:1280px)').matches)\n checkItems = visibleItemsTablet;\n\n if ( (carousel.children.length < checkItems) || !$(carousel).is(':visible')) {\n this.log('Carousel not triggered');\n } else if (window.matchMedia('(max-width:767px)').matches && onlyMobile) {\n $(carousel).slick(options);\n this.log('Carousel Triggered');\n } else if (!onlyMobile) {\n $(carousel).slick(options);\n this.log('Carousel Triggered');\n }\n }\n }\n\n setResponsiveArray(visibleItemsMobile, visibleItemsTablet, visibleItemsDesktop) {\n let responsiveArray = [];\n if (visibleItemsMobile == 'unslick') {\n responsiveArray.push({\n breakpoint: 767,\n settings: visibleItemsMobile\n });\n } else {\n responsiveArray.push({\n breakpoint: 767,\n settings: {\n slidesToShow: visibleItemsMobile,\n }\n });\n }\n if (visibleItemsTablet == 'unslick') {\n responsiveArray.push({\n breakpoint: 1279,\n settings: visibleItemsTablet\n });\n } else {\n responsiveArray.push({\n breakpoint: 1279,\n settings: {\n slidesToShow: visibleItemsTablet,\n }\n });\n }\n //set only if not a carousel in desktop else use default configs\n if (visibleItemsDesktop == 'unslick') {\n responsiveArray.push({\n breakpoint: 60000,\n settings: visibleItemsDesktop\n });\n }\n return responsiveArray;\n }\n\n bindEvents() {\n this.$on(this.$customEvents.MODAL_EVENTS.afterOpen, () => {\n console.log('afterOpen Modal')\n let carouselsIntoVex = document.querySelector('.vex').querySelectorAll('[data-carousel=\"in-vex\"]');\n if (carouselsIntoVex.length > 0) {\n for(let carouselInVex of carouselsIntoVex){\n carouselInVex.dataset.carousel = 'true';\n }\n this.initCarousels();\n }\n });\n\n this.$on(this.$customEvents.CAROUSEL.triggerCarousel, data => {\n this.importLibrary(data.payload);\n });\n }\n\n render() {\n super.render();\n if (document.querySelectorAll('[data-carousel]').length)\n this.importLibrary();\n this.bindEvents();\n }\n}\n","'use strict';\r\n\r\nclass Provider\r\n{\r\n\tconstructor(){}\r\n\r\n\tgetAll()\r\n\t{\r\n\t\treturn this.data;\r\n\t}\r\n}\r\n\r\nmodule.exports = Provider;","import Component from '../abstracts/Component';\nconst {Crawler, middleware} = require('./../../../../node_modules/es6-crawler-detect/src')\nimport CarouselComponent from \"./CarouselComponent\";\n/**\n Recommendation Engine Component\n */\nexport default class RecommendationEngineComponent extends Component {\n\n static get SELECTORS() {\n return {\n RECOMMENDATION_ENGINE_CONTAINER: '.recommendation-engine-container',\n RECOMMENDATION_ENGINE_PRODUCTS_CONTAINER: '.recommendation-engine-products-container',\n };\n }\n\n static get CONSTANTS() {\n return {\n RECOMMENDATION_ENGINE_URL: \"/ajax/recommendation\",\n GET: \"GET\",\n };\n }\n\n render() {\n let recommendationComponent = document.querySelector(RecommendationEngineComponent.SELECTORS.RECOMMENDATION_ENGINE_CONTAINER);\n\n if(recommendationComponent != null){\n this.setup(recommendationComponent);\n }\n }\n\n constructor() {\n super();\n }\n\n getMarketingOpts(recommendationComponent) {\n let opts = {};\n opts.webRecommendationHtmlData = true;\n opts.template = recommendationComponent.dataset.template;\n opts.codes = recommendationComponent.dataset.codes;\n return opts;\n }\n\n getSimilarOpts(recommendationComponent) {\n let opts = {};\n opts.similarHtmlData = true;\n opts.template = recommendationComponent.dataset.template;\n opts.codes = recommendationComponent.dataset.codes;\n return opts;\n }\n\n callServer(paramsObj, callBackOnSuccess, callBackOnFailure, timeoutTime) {\n let xhttp = new XMLHttpRequest();\n let params = new URLSearchParams();\n\n for(let key in paramsObj) {\n params.append(key, paramsObj[key]);\n }\n\n if(timeoutTime != null) {\n xhttp.timeout = timeoutTime;\n }\n\n xhttp.open(RecommendationEngineComponent.CONSTANTS.GET, RecommendationEngineComponent.CONSTANTS.RECOMMENDATION_ENGINE_URL + \"?\" + params.toString().replace(/\\+/gi ,\"%20\"), true);\n\n xhttp.onreadystatechange = function() {\n if (this.readyState === 4 && this.status === 200) {\n callBackOnSuccess(this);\n }else{\n if (this.readyState === 4 && (this.status === 500 || this.status === 404)) {\n callBackOnFailure();\n }\n }\n };\n\n xhttp.ontimeout = function () {\n callBackOnFailure();\n };\n\n xhttp.onerror = function () {\n callBackOnFailure();\n };\n\n xhttp.send();\n }\n\n renderData(data) {\n let recommendationProductsComponent = document.querySelector(RecommendationEngineComponent.SELECTORS.RECOMMENDATION_ENGINE_PRODUCTS_CONTAINER);\n\n if(recommendationProductsComponent != null){\n recommendationProductsComponent.innerHTML = data.responseText;\n let carousel = new CarouselComponent();\n carousel.render();\n }\n }\n\n tryAgain() {\n let recommendationComponent = document.querySelector(RecommendationEngineComponent.SELECTORS.RECOMMENDATION_ENGINE_CONTAINER);\n this.callServer(this.getSimilarOpts(recommendationComponent), this.renderData.bind(this), this.hideComponent.bind(this), null);\n }\n\n hideComponent() {\n let recommendationComponent = document.querySelector(RecommendationEngineComponent.SELECTORS.RECOMMENDATION_ENGINE_CONTAINER);\n\n if(recommendationComponent != null){\n recommendationComponent.innerHTML = \"\";\n }\n }\n\n setup (recommendationComponent) {\n let timeout = recommendationComponent.dataset.timeout;\n let template = recommendationComponent.dataset.template;\n let CrawlerDetector = new Crawler();\n let userAgentString = navigator.userAgent;\n\n if(!CrawlerDetector.isCrawler(userAgentString)) {\n this.callServer(this.getMarketingOpts(recommendationComponent), this.renderData.bind(this), template === \"t-product\" ? this.tryAgain.bind(this) : this.hideComponent.bind(this), timeout);\n }else{\n this.hideComponent();\n }\n }\n\n}\n","const Crawler = require(\"./lib/crawler\")\r\n\r\nmodule.exports = {\r\n Crawler,\r\n\r\n middleware (req, res, next) {\r\n req.Crawler = new Crawler(req)\r\n next()\r\n }\r\n}","'use strict';\r\n\r\nconst Crawlers = require('./crawler/crawlers');\r\nconst Exclusions = require('./crawler/exclusions');\r\nconst Headers = require('./crawler/headers');\r\n\r\nclass Crawler\r\n{\r\n\tconstructor(request, headers, userAgent)\r\n\t{\r\n\t\t/**\r\n\t\t * Init classes\r\n\t\t */\r\n\t\tthis._init();\r\n\r\n\t\t/**\r\n\t\t * This request must be an object\r\n\t\t */\r\n\t\tthis.request = typeof request === 'object' ? request : {};\r\n\r\n\t\t// The regex-list must not be used with g-flag!\r\n\t\t// See: https://stackoverflow.com/questions/1520800/why-does-a-regexp-with-global-flag-give-wrong-results\r\n\t\tthis.compiledRegexList = this.compileRegex(this.crawlers.getAll(), 'i');\r\n\r\n\t\t// The exclusions should be used with g-flag in order to remove each value.\r\n\t\tthis.compiledExclusions = this.compileRegex(this.exclusions.getAll(), 'g');\r\n\r\n\t\t/**\r\n\t\t * Set http headers\r\n\t\t */\r\n\t\tthis.setHttpHeaders(headers);\r\n\r\n\t\t/**\r\n\t\t * Set userAgent\r\n\t\t */\r\n\t\tthis.userAgent = this.setUserAgent(userAgent);\r\n\t}\r\n\r\n\t/**\r\n\t * Init Classes Instances\r\n\t */\r\n\t_init()\r\n\t{\r\n\t\tthis.crawlers = new Crawlers();\r\n\t\tthis.headers = new Headers();\r\n\t\tthis.exclusions = new Exclusions();\r\n\t}\r\n\r\n\tcompileRegex(patterns, flags) {\r\n\t\treturn new RegExp(patterns.join('|').trim(), flags);\r\n\t}\r\n\r\n\t/**\r\n\t * Set HTTP headers.\r\n\t */\r\n\tsetHttpHeaders(headers)\r\n\t{\r\n\t\t// Use the Request headers if httpHeaders is not defined\r\n if ( typeof headers === 'undefined' || Object.keys(headers).length === 0 )\r\n {\r\n \theaders = Object.keys(this.request).length ? this.request.headers : {};\r\n }\r\n\r\n\t\t// Clear existing headers.\r\n\t\tthis.httpHeaders = [];\r\n\r\n // Only save HTTP headers.\r\n\t\tfor ( const key in headers )\r\n\t\t{\r\n\t\t\tthis.httpHeaders[key] = headers[key];\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Set user agent\r\n\t */\r\n\tsetUserAgent(userAgent)\r\n\t{\r\n\t\tif ( typeof userAgent === 'undefined' || userAgent === null || ! userAgent.length )\r\n\t\t{\r\n\t\t\tfor ( const header of this.getUaHttpHeaders() )\r\n\t\t\t{\r\n\t\t\t\tif ( Object.keys(this.httpHeaders).indexOf(header.toLowerCase()) >= 0 )\r\n\t\t\t\t{\r\n\t\t\t\t\tuserAgent += this.httpHeaders[header] + ' ';\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn userAgent;\r\n\t}\r\n\r\n\t/**\r\n\t * Get user agent headers\r\n\t */\r\n\tgetUaHttpHeaders()\r\n\t{\r\n\t\treturn this.headers.getAll();\r\n\t}\r\n\r\n\t/**\r\n\t * Check user agent string against the regex.\r\n\t */\r\n\tisCrawler(userAgent = undefined)\r\n\t{\r\n\t\tvar agent = (typeof userAgent === 'undefined' || userAgent === null ? this.userAgent : userAgent);\r\n\r\n\t\t// test on compiled regx\r\n\t\tagent = agent.replace(this.compiledExclusions, '');\r\n\r\n\t\tif ( agent.trim().length === 0 )\r\n\t\t{\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tvar matches = this.compiledRegexList.exec(agent.trim());\r\n\r\n\t\tif ( matches )\r\n\t\t{\r\n\t\t\tthis.matches = matches;\r\n\t\t}\r\n\r\n\t\treturn matches !== null ? (matches.length ? true : false) : false;\r\n\t}\r\n\r\n\t/**\r\n\t * Return the matches.\r\n\t */\r\n\tgetMatches()\r\n\t{\r\n\t\treturn this.matches !== undefined ? (this.matches.length ? this.matches[0] : null) : {};\r\n\t}\r\n}\r\n\r\nmodule.exports = Crawler;\r\n","'use strict';\r\n\r\nconst Provider = require(\"./provider\");\r\n\r\nclass Crawlers extends Provider\r\n{\r\n\tconstructor()\r\n\t{\r\n\t\tsuper();\r\n\t\t\r\n\t\tthis.data = [\".*Java.*outbrain\",\" YLT\",\"^b0t$\",\"^bluefish \",\"^Calypso v\\\\\\/\",\"^COMODO DCV\",\"^DangDang\",\"^DavClnt\",\"^FDM \",\"^git\\\\\\/\",\"^Goose\\\\\\/\",\"^Grabber\",\"^HTTPClient\\\\\\/\",\"^Java\\\\\\/\",\"^Jeode\\\\\\/\",\"^Jetty\\\\\\/\",\"^Mail\\\\\\/\",\"^Mget\",\"^Microsoft URL Control\",\"^NG\\\\\\/[0-9\\\\.]\",\"^NING\\\\\\/\",\"^PHP\\\\\\/[0-9]\",\"^RMA\\\\\\/\",\"^Ruby|Ruby\\\\\\/[0-9]\",\"^VSE\\\\\\/[0-9]\",\"^WordPress\\\\.com\",\"^XRL\\\\\\/[0-9]\",\"^ZmEu\",\"008\\\\\\/\",\"13TABS\",\"192\\\\.comAgent\",\"2ip\\\\.ru\",\"404enemy\",\"7Siters\",\"80legs\",\"a\\\\.pr-cy\\\\.ru\",\"a3logics\\\\.in\",\"A6-Indexer\",\"Abonti\",\"Aboundex\",\"aboutthedomain\",\"Accoona-AI-Agent\",\"acoon\",\"acrylicapps\\\\.com\\\\\\/pulp\",\"Acunetix\",\"AdAuth\\\\\\/\",\"adbeat\",\"AddThis\",\"ADmantX\",\"AdminLabs\",\"adressendeutschland\",\"adreview\\\\\\/\",\"adscanner\",\"Adstxtaggregator\",\"adstxt-worker\",\"adstxt\\\\.com\",\"agentslug\",\"AHC\",\"aihit\",\"aiohttp\\\\\\/\",\"Airmail\",\"akka-http\\\\\\/\",\"akula\\\\\\/\",\"alertra\",\"alexa site audit\",\"Alibaba\\\\.Security\\\\.Heimdall\",\"Alligator\",\"allloadin\",\"AllSubmitter\",\"alyze\\\\.info\",\"amagit\",\"^Amazon Simple Notification Service Agent$\",\"Anarchie\",\"AndroidDownloadManager\",\"Anemone\",\"AngleSharp\",\"annotate_google\",\"Ant\\\\.com\",\"Anturis Agent\",\"AnyEvent-HTTP\\\\\\/\",\"Apache Droid\",\"Apache OpenOffice\",\"Apache-HttpAsyncClient\",\"Apache-HttpClient\",\"ApacheBench\",\"Apexoo\",\"APIs-Google\",\"AportWorm\\\\\\/\",\"AppBeat\\\\\\/\",\"AppEngine-Google\",\"AppleSyndication\",\"Aprc\\\\\\/[0-9]\",\"Arachmo\",\"arachnode\",\"Arachnophilia\",\"aria2\",\"Arukereso\",\"asafaweb\",\"AskQuickly\",\"Ask Jeeves\",\"ASPSeek\",\"Asterias\",\"Astute\",\"asynchttp\",\"Attach\",\"attohttpc\",\"autocite\",\"AutomaticWPTester\",\"Autonomy\",\"axios\\\\\\/\",\"AWS Security Scanner\",\"B-l-i-t-z-B-O-T\",\"Backlink-Ceck\",\"backlink-check\",\"BacklinkHttpStatus\",\"BackStreet\",\"BackWeb\",\"Bad-Neighborhood\",\"Badass\",\"baidu\\\\.com\",\"Bandit\",\"basicstate\",\"BatchFTP\",\"Battleztar Bazinga\",\"baypup\\\\\\/\",\"BazQux\",\"BBBike\",\"BCKLINKS\",\"BDFetch\",\"BegunAdvertising\",\"Bewica-security-scan\",\"Bidtellect\",\"BigBozz\",\"Bigfoot\",\"biglotron\",\"BingLocalSearch\",\"BingPreview\",\"binlar\",\"biNu image cacher\",\"Bitacle\",\"biz_Directory\",\"Black Hole\",\"Blackboard Safeassign\",\"BlackWidow\",\"BlockNote\\\\.Net\",\"BlogBridge\",\"Bloglines\",\"Bloglovin\",\"BlogPulseLive\",\"BlogSearch\",\"Blogtrottr\",\"BlowFish\",\"boitho\\\\.com-dc\",\"Boost\\\\.Beast\",\"BPImageWalker\",\"Braintree-Webhooks\",\"Branch Metrics API\",\"Branch-Passthrough\",\"Brandprotect\",\"BrandVerity\",\"Brandwatch\",\"Brodie\\\\\\/\",\"Browsershots\",\"BUbiNG\",\"Buck\\\\\\/\",\"Buddy\",\"BuiltWith\",\"Bullseye\",\"BunnySlippers\",\"Burf Search\",\"Butterfly\\\\\\/\",\"BuzzSumo\",\"CAAM\\\\\\/[0-9]\",\"CakePHP\",\"Calculon\",\"Canary%20Mail\",\"CaretNail\",\"catexplorador\",\"CC Metadata Scaper\",\"Cegbfeieh\",\"censys\",\"Cerberian Drtrs\",\"CERT\\\\.at-Statistics-Survey\",\"cg-eye\",\"changedetection\",\"ChangesMeter\",\"Charlotte\",\"CheckHost\",\"checkprivacy\",\"CherryPicker\",\"ChinaClaw\",\"Chirp\\\\\\/\",\"chkme\\\\.com\",\"Chlooe\",\"Chromaxa\",\"CirrusExplorer\",\"CISPA Vulnerability Notification\",\"Citoid\",\"CJNetworkQuality\",\"Clarsentia\",\"clips\\\\.ua\\\\.ac\\\\.be\",\"Cloud mapping\",\"CloudEndure\",\"CloudFlare-AlwaysOnline\",\"Cloudflare-Healthchecks\",\"Cloudinary\",\"cmcm\\\\.com\",\"coccoc\",\"cognitiveseo\",\"colly -\",\"CommaFeed\",\"Commons-HttpClient\",\"commonscan\",\"contactbigdatafr\",\"contentkingapp\",\"convera\",\"CookieReports\",\"copyright sheriff\",\"CopyRightCheck\",\"Copyscape\",\"cortex\\\\\\/\",\"Cosmos4j\\\\.feedback\",\"Covario-IDS\",\"Craw\\\\\\/\",\"Crescent\",\"Crowsnest\",\"Criteo\",\"CSHttp\",\"CSSCheck\",\"curb\",\"Curious George\",\"curl\",\"cuwhois\\\\\\/\",\"cybo\\\\.com\",\"DAP\\\\\\/NetHTTP\",\"DareBoost\",\"DatabaseDriverMysqli\",\"DataCha0s\",\"Datafeedwatch\",\"Datanyze\",\"DataparkSearch\",\"dataprovider\",\"DataXu\",\"Daum(oa)?[ \\\\\\/][0-9]\",\"dBpoweramp\",\"ddline\",\"deeris\",\"delve\\\\.ai\",\"Demon\",\"DeuSu\",\"developers\\\\.google\\\\.com\\\\\\/\\\\+\\\\\\/web\\\\\\/snippet\\\\\\/\",\"Devil\",\"Digg\",\"Digincore\",\"DigitalPebble\",\"Dirbuster\",\"Discourse Forum Onebox\",\"Disqus\\\\\\/\",\"Dispatch\\\\\\/\",\"DittoSpyder\",\"dlvr\",\"DMBrowser\",\"DNSPod-reporting\",\"docoloc\",\"Dolphin http client\",\"DomainAppender\",\"DomainLabz\",\"Donuts Content Explorer\",\"dotMailer content retrieval\",\"dotSemantic\",\"downforeveryoneorjustme\",\"Download Wonder\",\"downnotifier\",\"DowntimeDetector\",\"Drip\",\"drupact\",\"Drupal \\\\(\\\\+http:\\\\\\/\\\\\\/drupal\\\\.org\\\\\\/\\\\)\",\"DTS Agent\",\"dubaiindex\",\"DuplexWeb-Google\",\"DynatraceSynthetic\",\"EARTHCOM\",\"Easy-Thumb\",\"EasyDL\",\"Ebingbong\",\"ec2linkfinder\",\"eCairn-Grabber\",\"eCatch\",\"ECCP\",\"eContext\\\\\\/\",\"Ecxi\",\"EirGrabber\",\"ElectricMonk\",\"elefent\",\"EMail Exractor\",\"EMail Wolf\",\"EmailWolf\",\"Embarcadero\",\"Embed PHP Library\",\"Embedly\",\"endo\\\\\\/\",\"europarchive\\\\.org\",\"evc-batch\",\"EventMachine HttpClient\",\"Everwall Link Expander\",\"Evidon\",\"Evrinid\",\"ExactSearch\",\"ExaleadCloudview\",\"Excel\\\\\\/\",\"exif\",\"ExoRank\",\"Exploratodo\",\"Express WebPictures\",\"Extreme Picture Finder\",\"EyeNetIE\",\"ezooms\",\"facebookexternalhit\",\"facebookexternalua\",\"facebookplatform\",\"fairshare\",\"Faraday v\",\"fasthttp\",\"Faveeo\",\"Favicon downloader\",\"faviconkit\",\"faviconarchive\",\"FavOrg\",\"Feed Wrangler\",\"Feedable\\\\\\/\",\"Feedbin\",\"FeedBooster\",\"FeedBucket\",\"FeedBunch\\\\\\/\",\"FeedBurner\",\"feeder\",\"Feedly\",\"FeedshowOnline\",\"Feedspot\",\"Feedwind\\\\\\/\",\"FeedZcollector\",\"feeltiptop\",\"Fetch API\",\"Fetch\\\\\\/[0-9]\",\"Fever\\\\\\/[0-9]\",\"FHscan\",\"Filestack\",\"Fimap\",\"findlink\",\"findthatfile\",\"FlashGet\",\"FlipboardBrowserProxy\",\"FlipboardProxy\",\"FlipboardRSS\",\"Flock\\\\\\/\",\"fluffy\",\"Flunky\",\"flynxapp\",\"forensiq\",\"FoundSeoTool\",\"http:\\\\\\/\\\\\\/www.neomo.de\\\\\\/\",\"free thumbnails\",\"Freeuploader\",\"Funnelback\",\"Fuzz Faster U Fool\",\"G-i-g-a-b-o-t\",\"g00g1e\\\\.net\",\"ganarvisitas\",\"geek-tools\",\"Genieo\",\"GentleSource\",\"GetCode\",\"Getintent\",\"GetLinkInfo\",\"getprismatic\",\"GetRight\",\"getroot\",\"GetURLInfo\\\\\\/\",\"GetWeb\",\"Geziyor\",\"Ghost Inspector\",\"GigablastOpenSource\",\"GIS-LABS\",\"github-camo\",\"github\\\\.com\",\"Goldfire Server\",\"Go [\\\\d\\\\.]* package http\",\"Go http package\",\"Go-Ahead-Got-It\",\"Go-http-client\",\"Go!Zilla\",\"gobyus\",\"gofetch\",\"GomezAgent\",\"gooblog\",\"Goodzer\\\\\\/\",\"Google AppsViewer\",\"Google Desktop\",\"Google favicon\",\"Google Keyword Suggestion\",\"Google Keyword Tool\",\"Google Page Speed Insights\",\"Google PP Default\",\"Google Search Console\",\"Google Web Preview\",\"Google-Ads-Overview\",\"Google-Adwords\",\"Google-Apps-Script\",\"Google-Calendar-Importer\",\"Google-HotelAdsVerifier\",\"Google-HTTP-Java-Client\",\"Google-Publisher-Plugin\",\"Google-Read-Aloud\",\"Google-SearchByImage\",\"Google-Site-Verification\",\"Google-speakr\",\"Google-Structured-Data-Testing-Tool\",\"Google-Youtube-Links\",\"google-xrawler\",\"GoogleDocs\",\"GoogleHC\\\\\\/\",\"GoogleProducer\",\"GoogleSites\",\"Google-Transparency-Report\",\"Gookey\",\"GoSpotCheck\",\"gosquared-thumbnailer\",\"Gotit\",\"GoZilla\",\"grabify\",\"GrabNet\",\"Grafula\",\"Grammarly\",\"GrapeFX\",\"GreatNews\",\"Gregarius\",\"GRequests\",\"grokkit\",\"grouphigh\",\"grub-client\",\"gSOAP\\\\\\/\",\"GT::WWW\",\"GTmetrix\",\"GuzzleHttp\",\"gvfs\\\\\\/\",\"HAA(A)?RTLAND http client\",\"Haansoft\",\"hackney\\\\\\/\",\"Hadi Agent\",\"HappyApps-WebCheck\",\"Hatena\",\"Havij\",\"HaxerMen\",\"HeadlessChrome\",\"HEADMasterSEO\",\"HeartRails_Capture\",\"help@dataminr\\\\.com\",\"heritrix\",\"Hexometer\",\"historious\",\"hkedcity\",\"hledejLevne\\\\.cz\",\"Hloader\",\"HMView\",\"Holmes\",\"HonesoSearchEngine\",\"HootSuite Image proxy\",\"Hootsuite-WebFeed\",\"hosterstats\",\"HostTracker\",\"ht:\\\\\\/\\\\\\/check\",\"htdig\",\"HTMLparser\",\"htmlyse\",\"HTTP Banner Detection\",\"HTTP_Compression_Test\",\"http_request2\",\"http_requester\",\"http-get\",\"HTTP-Header-Abfrage\",\"http-kit\",\"http-request\\\\\\/\",\"HTTP-Tiny\",\"HTTP::Lite\",\"http\\\\.rb\\\\\\/\",\"http_get\",\"HttpComponents\",\"httphr\",\"HTTPMon\",\"HTTPie\",\"httpRequest\",\"httpscheck\",\"httpssites_power\",\"httpunit\",\"HttpUrlConnection\",\"httrack\",\"huaweisymantec\",\"HubSpot \",\"Humanlinks\",\"i2kconnect\\\\\\/\",\"Iblog\",\"ichiro\",\"Id-search\",\"IdeelaborPlagiaat\",\"IDG Twitter Links Resolver\",\"IDwhois\\\\\\/\",\"Iframely\",\"igdeSpyder\",\"IlTrovatore\",\"Image Fetch\",\"Image Sucker\",\"ImageEngine\\\\\\/\",\"ImageVisu\\\\\\/\",\"Imagga\",\"imagineeasy\",\"imgsizer\",\"InAGist\",\"inbound\\\\.li parser\",\"InDesign%20CC\",\"Indy Library\",\"InetURL\",\"infegy\",\"infohelfer\",\"InfoTekies\",\"InfoWizards Reciprocal Link\",\"inpwrd\\\\.com\",\"instabid\",\"Instapaper\",\"Integrity\",\"integromedb\",\"Intelliseek\",\"InterGET\",\"internet_archive\",\"Internet Ninja\",\"InternetSeer\",\"internetVista monitor\",\"internetwache\",\"intraVnews\",\"IODC\",\"IOI\",\"iplabel\",\"ips-agent\",\"IPS\\\\\\/[0-9]\",\"IPWorks HTTP\\\\\\/S Component\",\"iqdb\\\\\\/\",\"Iria\",\"Irokez\",\"isitup\\\\.org\",\"iskanie\",\"isUp\\\\.li\",\"iThemes Sync\\\\\\/\",\"IZaBEE\",\"iZSearch\",\"JAHHO\",\"janforman\",\"Jaunt\\\\\\/\",\"Jbrofuzz\",\"Jersey\\\\\\/\",\"JetCar\",\"Jigsaw\",\"Jobboerse\",\"JobFeed discovery\",\"Jobg8 URL Monitor\",\"jobo\",\"Jobrapido\",\"Jobsearch1\\\\.5\",\"JoinVision Generic\",\"JolokiaPwn\",\"Joomla\",\"Jorgee\",\"JS-Kit\",\"JustView\",\"Kaspersky Lab CFR link resolver\",\"Kelny\\\\\\/\",\"Kerrigan\\\\\\/\",\"KeyCDN\",\"Keyword Density\",\"Keywords Research\",\"khttp\\\\\\/\",\"KickFire\",\"KimonoLabs\\\\\\/\",\"Kml-Google\",\"knows\\\\.is\",\"KOCMOHABT\",\"kouio\",\"kubectl\",\"kube-probe\",\"kulturarw3\",\"KumKie\",\"L\\\\.webis\",\"Larbin\",\"Lavf\\\\\\/\",\"LeechFTP\",\"LeechGet\",\"letsencrypt\",\"Lftp\",\"LibVLC\",\"LibWeb\",\"Libwhisker\",\"libwww\",\"Licorne\",\"Liferea\\\\\\/\",\"Lightspeedsystems\",\"Lighthouse\",\"Likse\",\"limber\\\\.io\",\"Link Valet\",\"link_thumbnailer\",\"LinkAlarm\\\\\\/\",\"linkCheck\",\"linkdex\",\"LinkExaminer\",\"linkfluence\",\"linkpeek\",\"LinkPreviewGenerator\",\"LinkScan\",\"LinksManager\",\"LinkTiger\",\"LinkWalker\",\"Lipperhey\",\"Litemage_walker\",\"livedoor ScreenShot\",\"LoadImpactRload\",\"localsearch-web\",\"LongURL API\",\"longurl-r-package\",\"looid\\\\.com\",\"looksystems\\\\.net\",\"ltx71\",\"lua-resty-http\",\"lwp-request\",\"lwp-trivial\",\"LWP::Simple\",\"lycos\",\"LYT\\\\.SR\",\"mabontland\",\"Mag-Net\",\"MagpieRSS\",\"Mail\\\\.Ru\",\"MailChimp\",\"Majestic12\",\"makecontact\\\\\\/\",\"Mandrill\",\"MapperCmd\",\"marketinggrader\",\"MarkMonitor\",\"MarkWatch\",\"Mass Downloader\",\"masscan\\\\\\/\",\"Mata Hari\",\"Mediametric\",\"Mediapartners-Google\",\"mediawords\",\"MegaIndex\\\\.ru\",\"MeltwaterNews\",\"Melvil Rawi\",\"MemGator\",\"Metaspinner\",\"MetaURI\",\"MFC_Tear_Sample\",\"MicroMessenger\\\\\\/\",\"Microsearch\",\"Microsoft Office \",\"Microsoft Outlook\",\"Microsoft Windows Network Diagnostics\",\"Microsoft-WebDAV-MiniRedir\",\"Microsoft Data Access\",\"MIDown tool\",\"MIIxpc\",\"Mindjet\",\"Miniature\\\\.io\",\"Miniflux\",\"Mister PiX\",\"mixdata dot com\",\"mixed-content-scan\",\"Mixmax-LinkPreview\",\"mixnode\",\"Mnogosearch\",\"mogimogi\",\"Mojeek\",\"Mojolicious \\\\(Perl\\\\)\",\"Monit\\\\\\/\",\"monitis\",\"Monitority\\\\\\/\",\"montastic\",\"MonTools\",\"Moreover\",\"Morfeus Fucking Scanner\",\"Morning Paper\",\"MovableType\",\"mowser\",\"Mr\\\\.4x3 Powered\",\"Mrcgiguy\",\"MS Web Services Client Protocol\",\"MSFrontPage\",\"mShots\",\"MuckRack\\\\\\/\",\"muhstik-scan\",\"MVAClient\",\"MxToolbox\\\\\\/\",\"nagios\",\"Najdi\\\\.si\",\"Name Intelligence\",\"Nameprotect\",\"Navroad\",\"NearSite\",\"Needle\",\"Nessus\",\"Net Vampire\",\"NetAnts\",\"NETCRAFT\",\"NetLyzer\",\"NetMechanic\",\"NetNewsWire\",\"Netpursual\",\"netresearch\",\"NetShelter ContentScan\",\"Netsparker\",\"NetTrack\",\"Netvibes\",\"NetZIP\",\"Neustar WPM\",\"NeutrinoAPI\",\"NewRelicPinger\",\"NewsBlur .*Finder\",\"NewsGator\",\"newsme\",\"newspaper\\\\\\/\",\"NetSystemsResearch\",\"Nexgate Ruby Client\",\"NG-Search\",\"Nibbler\",\"NICErsPRO\",\"Nikto\",\"nineconnections\",\"NLNZ_IAHarvester\",\"Nmap Scripting Engine\",\"node-superagent\",\"node-urllib\",\"node\\\\.io\",\"Nodemeter\",\"NodePing\",\"nominet\\\\.org\\\\.uk\",\"nominet\\\\.uk\",\"Norton-Safeweb\",\"Notifixious\",\"notifyninja\",\"NotionEmbedder\",\"nuhk\",\"nutch\",\"Nuzzel\",\"nWormFeedFinder\",\"nyawc\\\\\\/\",\"Nymesis\",\"NYU\",\"Ocelli\\\\\\/\",\"Octopus\",\"oegp\",\"Offline Explorer\",\"Offline Navigator\",\"OgScrper\",\"okhttp\",\"omgili\",\"OMSC\",\"Online Domain Tools\",\"OpenCalaisSemanticProxy\",\"Openfind\",\"OpenLinkProfiler\",\"Openstat\\\\\\/\",\"OpenVAS\",\"OPPO A33\",\"Optimizer\",\"Orbiter\",\"OrgProbe\\\\\\/\",\"orion-semantics\",\"Outlook-Express\",\"Outlook-iOS\",\"ow\\\\.ly\",\"Owler\",\"ownCloud News\",\"OxfordCloudService\",\"Page Valet\",\"page_verifier\",\"page scorer\",\"page2rss\",\"PageFreezer\",\"PageGrabber\",\"PagePeeker\",\"PageScorer\",\"Pagespeed\\\\\\/\",\"Panopta\",\"panscient\",\"Papa Foto\",\"parsijoo\",\"Pavuk\",\"PayPal IPN\",\"pcBrowser\",\"Pcore-HTTP\",\"Pearltrees\",\"PECL::HTTP\",\"peerindex\",\"Peew\",\"PeoplePal\",\"Perlu -\",\"PhantomJS Screenshoter\",\"PhantomJS\\\\\\/\",\"Photon\\\\\\/\",\"phpservermon\",\"Pi-Monster\",\"Picscout\",\"Picsearch\",\"PictureFinder\",\"Pimonster\",\"ping\\\\.blo\\\\.gs\",\"Pingability\",\"PingAdmin\\\\.Ru\",\"Pingdom\",\"Pingoscope\",\"PingSpot\",\"pinterest\\\\.com\",\"Pixray\",\"Pizilla\",\"Plagger\\\\\\/\",\"Ploetz \\\\+ Zeller\",\"Plukkie\",\"plumanalytics\",\"PocketImageCache\",\"PocketParser\",\"Pockey\",\"POE-Component-Client-HTTP\",\"Polymail\\\\\\/\",\"Pompos\",\"Porkbun\",\"Port Monitor\",\"postano\",\"PostmanRuntime\",\"PostPost\",\"postrank\",\"PowerPoint\\\\\\/\",\"Prebid\",\"Priceonomics Analysis Engine\",\"PrintFriendly\",\"PritTorrent\",\"Prlog\",\"probethenet\",\"Project 25499\",\"prospectb2b\",\"Protopage\",\"ProWebWalker\",\"proximic\",\"PRTG Network Monitor\",\"pshtt, https scanning\",\"PTST \",\"PTST\\\\\\/[0-9]+\",\"Pump\",\"python-httpx\",\"Python-httplib2\",\"python-requests\",\"Python-urllib\",\"Qirina Hurdler\",\"QQDownload\",\"QrafterPro\",\"Qseero\",\"Qualidator\",\"QueryN Metasearch\",\"queuedriver\",\"Quora Link Preview\",\"Qwantify\",\"Radian6\",\"RankActive\",\"RankFlex\",\"RankSonicSiteAuditor\",\"Re-re Studio\",\"ReactorNetty\",\"Readability\",\"RealDownload\",\"RealPlayer%20Downloader\",\"RebelMouse\",\"Recorder\",\"RecurPost\\\\\\/\",\"redback\\\\\\/\",\"ReederForMac\",\"Reeder\\\\\\/\",\"ReGet\",\"RepoMonkey\",\"request\\\\.js\",\"reqwest\\\\\\/\",\"ResponseCodeTest\",\"RestSharp\",\"Riddler\",\"Rival IQ\",\"Robosourcer\",\"Robozilla\",\"ROI Hunter\",\"RPT-HTTPClient\",\"RSSOwl\",\"RyowlEngine\",\"safe-agent-scanner\",\"SalesIntelligent\",\"Saleslift\",\"Sendsay\\\\.Ru\",\"SauceNAO\",\"SBIder\",\"sc-downloader\",\"scalaj-http\",\"Scamadviser-Frontend\",\"scan\\\\.lol\",\"ScanAlert\",\"Scoop\",\"scooter\",\"ScoutJet\",\"ScoutURLMonitor\",\"ScrapeBox Page Scanner\",\"Scrapy\",\"Screaming\",\"ScreenShotService\",\"Scrubby\",\"Scrutiny\\\\\\/\",\"search\\\\.thunderstone\",\"Search37\",\"searchenginepromotionhelp\",\"Searchestate\",\"SearchExpress\",\"SearchSight\",\"Seeker\",\"semanticdiscovery\",\"semanticjuice\",\"Semiocast HTTP client\",\"Semrush\",\"sentry\\\\\\/\",\"SEO Browser\",\"Seo Servis\",\"seo-nastroj\\\\.cz\",\"seo4ajax\",\"Seobility\",\"SEOCentro\",\"SeoCheck\",\"SEOkicks\",\"SEOlizer\",\"Seomoz\",\"SEOprofiler\",\"SEOsearch\",\"seoscanners\",\"seositecheckup\",\"SEOstats\",\"servernfo\",\"sexsearcher\",\"Seznam\",\"Shelob\",\"Shodan\",\"Shoppimon\",\"ShopWiki\",\"shortURL lengthener\",\"ShortLinkTranslate\",\"shrinktheweb\",\"Sideqik\",\"SimplePie\",\"SimplyFast\",\"Siphon\",\"SISTRIX\",\"Site-Shot\\\\\\/\",\"Site Sucker\",\"Site24x7\",\"SiteBar\",\"Sitebeam\",\"Sitebulb\\\\\\/\",\"SiteCondor\",\"SiteExplorer\",\"SiteGuardian\",\"Siteimprove\",\"SiteIndexed\",\"Sitemap(s)? Generator\",\"SitemapGenerator\",\"SiteMonitor\",\"Siteshooter B0t\",\"SiteSnagger\",\"SiteSucker\",\"SiteTruth\",\"Sitevigil\",\"sitexy\\\\.com\",\"SkypeUriPreview\",\"Slack\\\\\\/\",\"slider\\\\.com\",\"slurp\",\"SlySearch\",\"SmartDownload\",\"SMRF URL Expander\",\"SMUrlExpander\",\"Snake\",\"Snappy\",\"SnapSearch\",\"Snarfer\\\\\\/\",\"SniffRSS\",\"sniptracker\",\"Snoopy\",\"SnowHaze Search\",\"sogou web\",\"SortSite\",\"Sottopop\",\"sovereign\\\\.ai\",\"SpaceBison\",\"SpamExperts\",\"Spammen\",\"Spanner\",\"spaziodati\",\"SPDYCheck\",\"Specificfeeds\",\"speedy\",\"SPEng\",\"Spinn3r\",\"spray-can\",\"Sprinklr \",\"spyonweb\",\"sqlmap\",\"Sqlworm\",\"Sqworm\",\"SSL Labs\",\"ssl-tools\",\"StackRambler\",\"Statastico\\\\\\/\",\"StatusCake\",\"Steeler\",\"Stratagems Kumo\",\"Stroke\\\\.cz\",\"StudioFACA\",\"StumbleUpon\",\"suchen\",\"Sucuri\",\"summify\",\"SuperHTTP\",\"Surphace Scout\",\"Suzuran\",\"Symfony BrowserKit\",\"Symfony2 BrowserKit\",\"SynHttpClient-Built\",\"Sysomos\",\"sysscan\",\"Szukacz\",\"T0PHackTeam\",\"tAkeOut\",\"Tarantula\\\\\\/\",\"Taringa UGC\",\"TarmotGezgin\",\"Teleport\",\"Telesoft\",\"Telesphoreo\",\"Telesphorep\",\"Tenon\\\\.io\",\"teoma\",\"terrainformatica\",\"Test Certificate Info\",\"testuri\",\"Tetrahedron\",\"TextRazor Downloader\",\"The Drop Reaper\",\"The Expert HTML Source Viewer\",\"The Knowledge AI\",\"The Intraformant\",\"theinternetrules\",\"TheNomad\",\"Thinklab\",\"Thumbshots\",\"ThumbSniper\",\"Thumbor\",\"timewe\\\\.net\",\"TinEye\",\"Tiny Tiny RSS\",\"TLSProbe\\\\\\/\",\"Toata\",\"topster\",\"touche\\\\.com\",\"Traackr\\\\.com\",\"tracemyfile\",\"Trackuity\",\"TrapitAgent\",\"Trendiction\",\"Trendsmap\",\"trendspottr\",\"truwoGPS\",\"TryJsoup\",\"TulipChain\",\"Turingos\",\"Turnitin\",\"tweetedtimes\",\"Tweetminster\",\"Tweezler\\\\\\/\",\"twibble\",\"Twice\",\"Twikle\",\"Twingly\",\"Twisted PageGetter\",\"Typhoeus\",\"ubermetrics-technologies\",\"uclassify\",\"UdmSearch\",\"unchaos\",\"unirest-java\",\"UniversalFeedParser\",\"Unshorten\\\\.It\",\"Untiny\",\"UnwindFetchor\",\"updated\",\"updown\\\\.io daemon\",\"Upflow\",\"Uptimia\",\"Urlcheckr\",\"URL Verifier\",\"URLitor\",\"urlresolver\",\"Urlstat\",\"URLTester\",\"UrlTrends Ranking Updater\",\"URLy Warning\",\"URLy\\\\.Warning\",\"Vacuum\",\"Vagabondo\",\"VB Project\",\"vBSEO\",\"VCI\",\"via ggpht\\\\.com GoogleImageProxy\",\"Virusdie\",\"visionutils\",\"vkShare\",\"VoidEYE\",\"Voil\",\"voltron\",\"voyager\\\\\\/\",\"VSAgent\\\\\\/\",\"VSB-TUO\\\\\\/\",\"Vulnbusters Meter\",\"VYU2\",\"w3af\\\\.org\",\"W3C_Unicorn\",\"W3C-checklink\",\"W3C-mobileOK\",\"WAC-OFU\",\"Wallpapers\\\\\\/[0-9]+\",\"WallpapersHD\",\"wangling\",\"Wappalyzer\",\"WatchMouse\",\"WbSrch\\\\\\/\",\"WDT\\\\.io\",\"web-capture\\\\.net\",\"Web-sniffer\",\"Web Auto\",\"Web Collage\",\"Web Enhancer\",\"Web Fetch\",\"Web Fuck\",\"Web Pix\",\"Web Sauger\",\"Web spyder\",\"Web Sucker\",\"Webalta\",\"Webauskunft\",\"WebAuto\",\"WebCapture\",\"WebClient\\\\\\/\",\"webcollage\",\"WebCookies\",\"WebCopier\",\"WebCorp\",\"WebDataStats\",\"WebDoc\",\"WebEnhancer\",\"WebFetch\",\"WebFuck\",\"WebGazer\",\"WebGo IS\",\"WebImageCollector\",\"WebImages\",\"WebIndex\",\"webkit2png\",\"WebLeacher\",\"webmastercoffee\",\"webmon \",\"WebPix\",\"WebReaper\",\"WebSauger\",\"webscreenie\",\"Webshag\",\"Webshot\",\"Website Quester\",\"websitepulse agent\",\"WebsiteQuester\",\"Websnapr\",\"WebSniffer\",\"Webster\",\"WebStripper\",\"WebSucker\",\"Webthumb\\\\\\/\",\"WebThumbnail\",\"WebWhacker\",\"WebZIP\",\"WeLikeLinks\",\"WEPA\",\"WeSEE\",\"wf84\",\"Wfuzz\\\\\\/\",\"wget\",\"WhatsApp\",\"WhatsMyIP\",\"WhatWeb\",\"WhereGoes\\\\?\",\"Whibse\",\"WhoRunsCoinHive\",\"Whynder Magnet\",\"WinHttp-Autoproxy-Service\",\"Windows-RSS-Platform\",\"WinPodder\",\"wkhtmlto\",\"wmtips\",\"Woko\",\"Wolfram HTTPClient\",\"woorankreview\",\"Word\\\\\\/\",\"WordPress\\\\\\/\",\"worldping-api\",\"WordupinfoSearch\",\"wotbox\",\"WP Engine Install Performance API\",\"wpif\",\"wprecon\\\\.com survey\",\"WPScan\",\"wscheck\",\"Wtrace\",\"WWW-Collector-E\",\"WWW-Mechanize\",\"WWW::Document\",\"WWW::Mechanize\",\"www\\\\.monitor\\\\.us\",\"WWWOFFLE\",\"x09Mozilla\",\"x22Mozilla\",\"XaxisSemanticsClassifier\",\"Xenu Link Sleuth\",\"XING-contenttabreceiver\",\"xpymep([0-9]?)\\\\.exe\",\"Y!J-(ASR|BSC)\",\"Y\\\\!J-BRW\",\"Yaanb\",\"yacy\",\"Yahoo Link Preview\",\"YahooCacheSystem\",\"YahooYSMcm\",\"YandeG\",\"Yandex(?!Search)\",\"yanga\",\"yeti\",\"Yo-yo\",\"Yoleo Consumer\",\"yoogliFetchAgent\",\"YottaaMonitor\",\"Your-Website-Sucks\",\"yourls\\\\.org\",\"YoYs\\\\.net\",\"YP\\\\.PL\",\"Zabbix\",\"Zade\",\"Zao\",\"Zauba\",\"Zemanta Aggregator\",\"Zend_Http_Client\",\"Zend\\\\\\\\Http\\\\\\\\Client\",\"Zermelo\",\"Zeus \",\"zgrab\",\"ZnajdzFoto\",\"ZnHTTP\",\"Zombie\\\\.js\",\"Zoom\\\\.Mac\",\"ZyBorg\",\"[a-z0-9\\\\-_]*(bot|crawl|archiver|transcoder|spider|uptime|validator|fetcher|cron|checker|reader|extractor|monitoring|analyzer|scraper)\"];\r\n\t}\r\n}\r\n\r\nmodule.exports = Crawlers;","'use strict';\r\n\r\nconst Provider = require(\"./provider\");\r\n\r\nclass Exclusions extends Provider\r\n{\r\n\tconstructor()\r\n\t{\r\n\t\tsuper();\r\n\r\n\t\tthis.data = [\"Safari.[\\\\d\\\\.]*\",\"Firefox.[\\\\d\\\\.]*\",\" Chrome.[\\\\d\\\\.]*\",\"Chromium.[\\\\d\\\\.]*\",\"MSIE.[\\\\d\\\\.]\",\"Opera\\\\\\/[\\\\d\\\\.]*\",\"Mozilla.[\\\\d\\\\.]*\",\"AppleWebKit.[\\\\d\\\\.]*\",\"Trident.[\\\\d\\\\.]*\",\"Windows NT.[\\\\d\\\\.]*\",\"Android [\\\\d\\\\.]*\",\"Macintosh.\",\"Ubuntu\",\"Linux\",\"[ ]Intel\",\"Mac OS X [\\\\d_]*\",\"(like )?Gecko(.[\\\\d\\\\.]*)?\",\"KHTML,\",\"CriOS.[\\\\d\\\\.]*\",\"CPU iPhone OS ([0-9_])* like Mac OS X\",\"CPU OS ([0-9_])* like Mac OS X\",\"iPod\",\"compatible\",\"x86_..\",\"i686\",\"x64\",\"X11\",\"rv:[\\\\d\\\\.]*\",\"Version.[\\\\d\\\\.]*\",\"WOW64\",\"Win64\",\"Dalvik.[\\\\d\\\\.]*\",\" \\\\.NET CLR [\\\\d\\\\.]*\",\"Presto.[\\\\d\\\\.]*\",\"Media Center PC\",\"BlackBerry\",\"Build\",\"Opera Mini\\\\\\/\\\\d{1,2}\\\\.\\\\d{1,2}\\\\.[\\\\d\\\\.]*\\\\\\/\\\\d{1,2}\\\\.\",\"Opera\",\" \\\\.NET[\\\\d\\\\.]*\",\"cubot\",\"; M bot\",\"; CRONO\",\"; B bot\",\"; IDbot\",\"; ID bot\",\"; POWER BOT\",\";\"];\r\n\t}\r\n}\r\n\r\nmodule.exports = Exclusions;","'use strict';\r\n\r\nconst Provider = require(\"./provider\");\r\n\r\nclass Headers extends Provider\r\n{\r\n\tconstructor()\r\n\t{\r\n\t\tsuper();\r\n\r\n\t\tthis.data = [\"USER-AGENT\",\"X-OPERAMINI-PHONE-UA\",\"X-DEVICE-USER-AGENT\",\"X-ORIGINAL-USER-AGENT\",\"X-SKYFIRE-PHONE\",\"X-BOLT-PHONE-UA\",\"DEVICE-STOCK-UA\",\"X-UCBROWSER-DEVICE-UA\",\"FROM\",\"X-SCANNER\"];\r\n\t}\r\n}\r\n\r\nmodule.exports = Headers;"],"sourceRoot":""}