<commit_before>(function () {
	'use strict';
	
	var isArray = require('util').isArray;
	var analyzers = require('./lib/analyzers');

	var analyzersMapping = {
		numeric:			analyzers.NumericAnalyzer,
		mixedalpha:			analyzers.MixedAlphaAnalyzer,
		upperalpha:			analyzers.UpperAlphaAnalyzer,
		loweralpha:			analyzers.LowerAlphaAnalyzer,
		loweralphanum:		analyzers.LowerAlphaNumAnalyzer,
		mixedalphanum:		analyzers.MixedAlphaNumAnalyzer,
		upperalphanum:		analyzers.UpperAlphaNumAnalyzer,
		special:			analyzers.SpecialAnalyzer,
		specialnum:			analyzers.SpecialNumAnalyzer,
		months:				analyzers.MonthsAnalyzer,
		bylength:			analyzers.PasswordLengthAnalyzer
	};

	function PasswordAnalyzer () {
		this._groups = [];
		this._total = 0;
	}

	PasswordAnalyzer.prototype.addGroup = function (name, analyzersOrFn) {
		if (!analyzersOrFn) { 
			throw new Error('Analyzers are required');
		}
		var group;

		for (var i = this._groups.length - 1; i >= 0; i--) {
			if(this._groups[i].name === name) {
				group = this._groups[i];<commit_msg>Analyzer short names added to PasswordAnalyzer<commit_after>(function () {
	'use strict';
	
	var isArray = require('util').isArray;
	var analyzers = require('./lib/analyzers');

	var analyzersMapping = {
		numeric:				analyzers.NumericAnalyzer,
		mixedalpha:				analyzers.MixedAlphaAnalyzer,
		upperalpha:				analyzers.UpperAlphaAnalyzer,
		loweralpha:				analyzers.LowerAlphaAnalyzer,
		loweralphanum:			analyzers.LowerAlphaNumAnalyzer,
		mixedalphanum:			analyzers.MixedAlphaNumAnalyzer,
		upperalphanum:			analyzers.UpperAlphaNumAnalyzer,
		special:				analyzers.SpecialAnalyzer,
		specialnum:				analyzers.SpecialNumAnalyzer,
		months:					analyzers.MonthsAnalyzer,
		bylength:				analyzers.PasswordLengthAnalyzer,
		loweralphaspecialnum: 	analyzers.LowerAlphaSpecialNumAnalyzer,
		mixedalphaspecial: 		analyzers.MixedAlphaSpecialAnalyzer,
		upperalphaspecialnum: 	analyzers.UpperAlphaSpecialNumAnalyzer,
		loweralphaspecial: 		analyzers.LowerAlphaSpecialAnalyzer,
		upperalphaspecial: 		analyzers.UpperAlphaSpecialAnalyzer,
		all: 					analyzers.AllCharsAnalyzer
	};

	function PasswordAnalyzer () {
		this._groups = [];
		this._total = 0;
	}

	PasswordAnalyzer.prototype.addGroup = function (name, analyzersOrFn) {
		if (!analyzersOrFn) { 
			throw new Error('Analyzers are required');
		}
		var group;

		for (var i = this._groups.length - 1; i >= 0; i--) {
			if(this._groups[i].name === name) {
				group = this._groups[i];
{'fraction_non_alphanumeric': 0.10445344129554655, 'fraction_numerical': 0.0024291497975708503, 'mean_word_length': 4.565315315315315, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, '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': '2662581', 'n_tokens_mistral': 978, 'n_tokens_neox': 873, 'n_words': 142}