1(function () {//file scope 2 3 4function is_bot () { 5 const bot_pattern = '(Googlebot|APIs-Google|Mediapartners-Google|AdsBot-Google-Mobile|AdsBot-Google|Googlebot-Image|Googlebot-News|Googlebot-Video|AdsBot-Google-Mobile-Apps|bingbot|slurp|nutch|phpcrawl|msnbot|jyxobot|FAST-WebCrawler|biglotron|teoma|convera|seekbot|gigablast|exabot|ngbot|ia_archiver|GingerCrawler|webmon |httrack|webcrawler|UsineNouvelleCrawler|antibot|netresearchserver|speedy|fluffy|findlink|msrbot|panscient|yacybot|AISearchBot|tagoobot|MJ12bot|dotbot|woriobot|yanga|buzzbot|mlbot|yandexbot|purebot|Linguee Bot|Voyager|CyberPatrol|voilabot|baiduspider|citeseerxbot|spbot|twengabot|postrank|turnitinbot|scribdbot|page2rss|sitebot|linkdex|Adidxbot|blekkobot|ezooms|dotbot|Mail.RU_Bot|discobot|heritrix|domaincrawler|wbsearchbot|summify|ccbot|edisterbot|seznambot|ec2linkfinder|gslfbot|aihitbot|intelium_bot|facebookexternalhit|yeti|RetrevoPageAnalyzer|lb-spider|sogou|lssbot|careerbot|wotbox|wocbot|ichiro|DuckDuckBot|lssrocketcrawler|drupact|webcompanycrawler|acoonbot|openindexspider|gnam gnam spider|web-archive-net.com.bot|backlinkcrawler|coccoc|integromedb|content crawler spider|toplistbot|seokicks-robot|it2media-domain-crawler|ip-web-crawler.com|siteexplorer.info|elisabot|proximic|changedetection|blexbot|arabot|WeSEE:Search|niki-bot|CrystalSemanticsBot|rogerbot|360Spider|psbot|InterfaxScanBot|Lipperhey SEO Service|CC Metadata Scaper|g00g1e.net|GrapeshotCrawler|urlappendbot|brainobot|fr-crawler|binlar|SimpleCrawler|Livelapbot|Twitterbot|cXensebot|smtbot|bnf.fr_bot|A6-Indexer|ADmantX|Facebot|Twitterbot|OrangeBot|memorybot|AdvBot|MegaIndex|SemanticScholarBot|ltx71|nerdybot|xovibot|BUbiNG|Qwantify|archive.org_bot|Applebot|TweetmemeBot|crawler4j|findxbot|SemrushBot|yoozBot|lipperhey|y!j-asr|Domain Re-Animator Bot|AddThis)'; 6 const re = new RegExp(bot_pattern, 'i'); 7 if (re.test(navigator.userAgent)) { 8 return true; 9 } else { 10 return false; 11 } 12} 13 14 15function days_between (start_in_milli, end_in_milli) { 16 return (end_in_milli - start_in_milli) / 8.64e7; 17} 18 19 20function was_recently_shown () { 21 return (localStorage.getItem('ack') && days_between(localStorage.getItem('ack'), Date.now()) < 10); 22} 23 24 25function parse_query (q) { 26 return ( 27 q 28 .slice(1) 29 .split('&') 30 .map((part) => (part.split('='))) 31 .filter(x => x.length == 2) 32 .reduce((obj, keyValue) => (Object.assign({}, obj, { 33 [keyValue[0]]: decodeURIComponent(keyValue[1]), 34 })), {}) 35 ) 36} 37 38 39function suppress_ack () { 40 try { 41 localStorage.setItem('ack', Date.now()); 42 } catch (e) { 43 // private mode set 44 } 45} 46 47 48let acknowledgement_cont; 49let acknowledgement_header; 50 51 52function handle_acknowledgement_click () { 53 acknowledgement_cont.parentNode.removeChild(acknowledgement_cont); 54 acknowledgement_header.style.background = '#fff'; 55 document.body.style.overflow = 'visible'; 56 suppress_ack(); 57} 58 59function render_ack () { 60 document.body.style.overflow = 'hidden'; 61 62 acknowledgement_cont = document.createElement('div'); 63 document.body.appendChild(acknowledgement_cont); 64 65 acknowledgement_cont.innerHTML = ` 66 <div class='acknowledgement_cont' id='acknowledgement_cont'> 67 <div class='acknowledgement_header' id='acknowledgement_header'> 68 <img class='logo' src='/static/avalon/images/logo_white.svg' width='51' height='51'/> 69 </div> 70 71 <div class='acknowledgement_inner'> 72 <div class='close_acknowledgement_cont clearfix' id='close_acknowledgement_cont'> 73 <div class='close_acknowledgement'></div> 74 </div> 75 76 <div class='acknowledgement'> 77 We acknowledge the Traditional Owners of the land, the Wurundjeri Woi Wurrung and Bunurong People, and recognises their continuing connection to the land and waterways.<br><br>We pay our respects to their Elders past, present and emerging and extend this to all Aboriginal and Torres Strait Islander People. 78 </div> 79 <div class='acknowledgement_proceed_cont'> 80 <a href='#' class='acknowledgement_proceed' id='acknowledgement_proceed'> 81 Proceed to site 82 </a> 83 </div> 84 </div> 85 </div> 86 `; 87 88 const acknowledgement_proceed = document.getElementById('acknowledgement_proceed');
89 const close_acknowledgement_cont = document.getElementById('close_acknowledgement_cont'); 90 acknowledgement_header = document.getElementById('acknowledgement_header'); 91 92 close_acknowledgement_cont.addEventListener('click', handle_acknowledgement_click); 93 acknowledgement_proceed.addEventListener('click', handle_acknowledgement_click); 94} 95 96 97function main () { 98 const q = parse_query(window.location.search); 99 100 if (is_bot() || was_recently_shown() || q.suppress_ack == 'true') return; 101 102 // Acknowledgment OFF 103 // render_ack(); 104} 105 106main(); 107 108})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.