<commit_before>var isMobile = {
    Android   : function () {
        return navigator.userAgent.match(/Android/i);
    },
    BlackBerry: function () {
        return navigator.userAgent.match(/BlackBerry/i);
    },
    iOS       : function () {
        return navigator.userAgent.match(/iPhone|iPod|iPad/i);
    },
    Opera     : function () {
        return navigator.userAgent.match(/Opera Mini/i);
    },
    Windows   : function () {
        return navigator.userAgent.match(/IEMobile/i);
    },
    any       : function () {
        return (
            isMobile.Android() ||
                isMobile.BlackBerry() ||
                isMobile.iOS() ||
                isMobile.Opera() ||
                isMobile.Windows() );
    }
};
var popupCenter = function(url, title, w, h) {
	// Fixes dual-screen position                         Most browsers      Firefox
	var dualScreenLeft = window.screenLeft !== undefined ? window.screenLeft : screen.left;
	var dualScreenTop = window.screenTop !== undefined ? window.screenTop : screen.top;

	var width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width;
	var height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height;

	var left = ((width / 2) - (w / 2)) + dualScreenLeft;
	var top = ((height / 3) - (h / 3)) + dualScreenTop;

	var newWindow = window.open(url, title, 'scrollbars=yes, width=' + w + ', height=' + h + ', top=' + top + ', left=' + left);

	// Puts focus on the newWindow
	if (window.focus) {
		newWindow.focus();
	}
};

/** For mobile friendliness, use touchstart for mobile devices, and click events for desktops**/
var handleClick = (isMobile.any() !== null) ? "touchstart" : "click";
//var functions = '';
$ = jQuery;
var functions = {
	offsetHeader: 0,
	debug: true,
	log: function(){
		var _args = Array.prototype.slice.call(arguments);
		if(this.debug){
			if (typeof console !== "undefined" || typeof console.log !== "undefined") {
				console.log(_args);
			}
		}
	},
	pushUpdate: function(){
		var _footer = $('.main-footer'),
			_bottomPush = $('.bottom-push'),
			_site = $('body > .site'),
			_offset = _footer.outerHeight();

		_bottomPush.css('height', _offset);
		_site.attr('style','margin-bottom:-'+_offset+'px');
	},
	getWindowWidth  : function () {
		return window.outerWidth;
	},
	pageScroll: function(_tag){
		var totalScroll = $(_tag).offset().top-functions.offsetHeader;
		setTimeout(function(){
			$('html,body').scrollTo(totalScroll, 500 );
		}, 100)
	},
	emailReplace: function(){
		/** Use JavaScript to replace <a> with a mail link, to reduce potential spam**/
		var _varPre = "mailto:",
			_varMid = '',
			_varEnd = '',
			_varText = '',
			_selector = ".js-replacer-text";

		if ($(_selector).length > 0) {
			$(_selector).each(function(){
				var _modifyText = $(this).data('modify');
				_varEnd = $(this).data('domain');
				_varMid = $(this).data('extra');
				_varText = $(this).data('text');
				$(this).attr('href', _varPre + _varMid + '@' + _varEnd);
				if(typeof _modifyText == 'boolean' && _modifyText != true){
<commit_msg>footers dont always exist, eh?<commit_after>var isMobile = {
    Android   : function () {
        return navigator.userAgent.match(/Android/i);
    },
    BlackBerry: function () {
        return navigator.userAgent.match(/BlackBerry/i);
    },
    iOS       : function () {
        return navigator.userAgent.match(/iPhone|iPod|iPad/i);
    },
    Opera     : function () {
        return navigator.userAgent.match(/Opera Mini/i);
    },
    Windows   : function () {
        return navigator.userAgent.match(/IEMobile/i);
    },
    any       : function () {
        return (
            isMobile.Android() ||
                isMobile.BlackBerry() ||
                isMobile.iOS() ||
                isMobile.Opera() ||
                isMobile.Windows() );
    }
};
var popupCenter = function(url, title, w, h) {
	// Fixes dual-screen position                         Most browsers      Firefox
	var dualScreenLeft = window.screenLeft !== undefined ? window.screenLeft : screen.left;
	var dualScreenTop = window.screenTop !== undefined ? window.screenTop : screen.top;

	var width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width;
	var height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height;

	var left = ((width / 2) - (w / 2)) + dualScreenLeft;
	var top = ((height / 3) - (h / 3)) + dualScreenTop;

	var newWindow = window.open(url, title, 'scrollbars=yes, width=' + w + ', height=' + h + ', top=' + top + ', left=' + left);

	// Puts focus on the newWindow
	if (window.focus) {
		newWindow.focus();
	}
};

/** For mobile friendliness, use touchstart for mobile devices, and click events for desktops**/
var handleClick = (isMobile.any() !== null) ? "touchstart" : "click";
//var functions = '';
$ = jQuery;
var functions = {
	offsetHeader: 0,
	debug: true,
	log: function(){
		var _args = Array.prototype.slice.call(arguments);
		if(this.debug){
			if (typeof console !== "undefined" || typeof console.log !== "undefined") {
				console.log(_args);
			}
		}
	},
	pushUpdate: function(){
		var _footer = $('.main-footer'),
			_bottomPush = $('.bottom-push'),
			_site = $('body > .site'),
			_offset = _footer.outerHeight();
		if(_offset !== null){
			_bottomPush.css('height', _offset);
			_site.attr('style','margin-bottom:-'+_offset+'px');
		}
	},
	getWindowWidth  : function () {
		return window.outerWidth;
	},
	pageScroll: function(_tag){
		var totalScroll = $(_tag).offset().top-functions.offsetHeader;
		setTimeout(function(){
			$('html,body').scrollTo(totalScroll, 500 );
		}, 100)
	},
	emailReplace: function(){
		/** Use JavaScript to replace <a> with a mail link, to reduce potential spam**/
		var _varPre = "mailto:",
			_varMid = '',
			_varEnd = '',
			_varText = '',
			_selector = ".js-replacer-text";

		if ($(_selector).length > 0) {
			$(_selector).each(function(){
				var _modifyText = $(this).data('modify');
				_varEnd = $(this).data('domain');
				_varMid = $(this).data('extra');
				_varText = $(this).data('text');
				$(this).attr('href', _varPre + _varMid + '@' + _varEnd);
				if(typeof _modifyText == 'boolean' && _modifyText != true){

{'fraction_non_alphanumeric': 0.16589219330855018, 'fraction_numerical': 0.0037174721189591076, 'mean_word_length': 3.050815558343789, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '67564', 'n_tokens_mistral': 2171, 'n_tokens_neox': 1986, 'n_words': 444}