1var BrowserDetect={sixtyfour:function(){var res="";if(navigator.userAgent.indexOf("WOW64")>-1||window.navigator.platform=="Win64"){res="x86"}else{res="x86"}return res},init:function(){this.arch=this.sixtyfour();this.browser=this.searchString(this.dataBrowser)||"Unknown";this.version=this.searchVersion(navigator.userAgent)||this.searchVersion(navigator.appVersion)||"an unknown version";this.OS=this.searchString(this.dataOS)||"Unknown";if(this.OS=="Linux"){this.OS=this.searchString(this.dataLinux)||"Linux"}},searchString:function(data){for(var i=0;i<data.length;i++){var dataString=data[i].string;var dataProp=data[i].prop;this.versionSearchString=data[i].versionSearch||data[i].identity;if(dataString){if(dataString.indexOf(data[i].subString)!=-1)return data[i].identity}else if(dataProp)return data[i].identity}},searchVersion:function(dataString){var index=dataString.indexOf(this.versionSearchString);if(index==-1)return;return parseFloat(dataString.substring(index+this.versionSearchString.length+1))},dataBrowser:[{string:navigator.userAgent,subString:"Chrome",identity:"Chrome"},{string:navigator.userAgent,subString:"OmniWeb",versionSearch:"OmniWeb/",identity:"OmniWeb"},{string:navigator.vendor,subString:"Apple",identity:"Safari",versionSearch:"Version"},{prop:window.opera,identity:"Opera",versionSearch:"Version"},{string:navigator.vendor,subString:"iCab",identity:"iCab"},{string:navigator.vendor,subString:"KDE",identity:"Konqueror"},{string:navigator.userAgent,subString:"Firefox",identity:"Firefox"},{string:navigator.vendor,subString:"Camino",identity:"Camino"},{string:navigator.userAgent,subString:"Netscape",identity:"Netscape"},{string:navigator.userAgent,subString:"MSIE",identity:"Explorer",versionSearch:"MSIE"},{string:navigator.userAgent,subString:"Gecko",identity:"Mozilla",versionSearch:"rv"},{string:navigator.userAgent,subString:"Mozilla",identity:"Netscape",versionSearch:"Mozilla"}],dataLinux:[{string:navigator.userAgent,subString:"buntu",identity:"Debian"}
1,{string:navigator.userAgent,subString:"edora",identity:"RedHat"},{string:navigator.userAgent,subString:"ebian",identity:"Debian"}],dataOS:[{string:navigator.platform,subString:"Win",identity:"Windows"},{string:navigator.platform,subString:"Mac",identity:"Mac"},{string:navigator.userAgent,subString:"iPhone",identity:"iOS"},{string:navigator.userAgent,subString:"FreeBSD",identity:"FreeBSD"},{string:navigator.platform,subString:"Linux",identity:"Linux"}]};BrowserDetect.init();function multi_arch(OS){return OS=="Linux"}function make_name(elt){var text="Download Opa ";if(elt.build.indexOf(".")!==-1){text+=elt.build}else{text+="Build "+elt.build}text+=" for "+elt.OS;if(multi_arch(elt.OS)){text+=" ("+elt.arch+")"}return text}function make_link(elt){var link="http://doc.opalang.org/dl";if(elt.OS=="Mac"){link=link+"/mac/opa-"+elt.build+".dmg"}else if(elt.OS=="Windows"){link=link+"/windows/opa-"+elt.build+"."+elt.arch+".exe"}else if(elt.OS=="Linux"){link=link+"/linux/opa-"+elt.build+"."+elt.arch+".run"}else if(elt.OS=="Debian"){link=link+"/ubuntu/opa-"+elt.build+"."+elt.arch+".deb"}else if(elt.OS=="RedHat"){link=link+"."+elt.arch+".rpm"}else if(elt.OS=="FreeBSD"){link="http://www.freshports.org/lang/opa/"}return link}function html_link(elt){return'<a href="'+make_link(elt)+'">'+make_name(elt)+"</a>"}var nightly_to_show=5;function make_nightlies(a){var list="<ul>";var displayed=0;a.sort(function(x,y){return y.build-x.build});var exc={};try{a.forEach(function(elt){if(elt.OS==BrowserDetect.OS){list+="<li>"+html_link(elt)+"</li>";displayed++;if(displayed>=nightly_to_show)throw exc}})}catch(e){if(e!==exc)throw e}list+="</ul>";return list}function make_other(platforms,version){var list="<ul>";platforms.forEach(function(OS){["x86","x64"].forEach(function(arch){if(!multi_arch(OS)&&arch=="x64"){}else{list+="<li>"+html_link({OS:OS,build:version,arch:arch})+"</li>"}})});list+="</ul>";return list}function make_downloads(data){var html="";if(BrowserDetect.OS=="iOS"){html="Download from a desktop";$(".downloads_btns").html=""}else if(BrowserDetect.OS=="Unknown"){html="Download from links below"}else{html=html_link({OS:BrowserDetect.OS,build:data.version,arch:BrowserDetect.arch})}$(".download_text").html(html);$("#nightly_btn").click(function(){$("#nightly_content").html(make_nightlies(data.nightly));$("#nightly_div").toggle("slow");return false});$("#other_btn").click(function(){$("#other_content").html(make_other(data.platforms,data.version));$("#other_div").toggle("slow");return false});$("#source_btn").click(function(){window.location="https://github.com/MLstate/opalang"})}function make_photos(){$(".photo").hover(function(){$("#photo_caption").html($(this).attr("alt"))});$(".photos").mouseover(function(){$("#photo_caption").show("slow");return false});$(".photos").mouseleave(function(){$("#photo_caption").hide("slow",function(){$("#photo_caption").stop(true,true)});return false})}function media_quotes(){$(document).ready(function(){var li_quotes=$("#quotes ul li");var p_quotes=$(li_quotes).find("p");var qt=$("#quote-content");var len=li_quotes.length;li_quotes.filter(":first").addClass("selected");qt.html(p_quotes.filter(":first").clone());p_quotes.hide();function f(index){setTimeout(function(){qt.html(p_quotes[index]);qt.find("p").fadeIn(1e3);$(li_quotes.removeClass("selected")[index]).addClass("selected");f((index+1)%len)},5e3)}f(1)})}var social_isVisible=false;var social_clickedAway=false;function social_popover(){$(".social-popover").each(function(){$(this).popover({html:"true",trigger:"manual",animation:"true",placement:"bottom",delay:{show:500,hide:100}}).click(function(e){$(this).popover("show");social_isVisible=true})});$(document).click(function(e){if(social_isVisible&social_clickedAway){$(".social-popover").each(function(){$(this).popover("hide")});social_isVisible=false;social_clickedAway=false}else{social_clickedAway=true}})}$(document).ready(function(){make_photos();social_popover();media_quotes()});
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.