code: function verMatchVal(i) {
  		var v = self.versionMatch[i];
  		var vr = 0;
  		var vl = self.prev.versionMatch && self.prev.versionMatch.length > i && self.prev.versionMatch[i] ? +self.prev.versionMatch[i]
  				: vr;
  		si++;
  		// reset the last index so the tests will be accurate
  		regexVerBump.lastIndex = 0;
  		regexVerCurr.lastIndex = 0;
  		if (v && regexVerBump.test(v)) {
  			// increment the value for the given slot
  			self.versionBumpedIndices.push(si);
  			var bcnt = 0;
  			v.replace(regexVerBump, function vBump(m) {
  				bcnt += m.length;
  			});
  			vr = vl + bcnt;
  		} else if (v && regexVerCurr.test(v)) {
  			// use the last release value for the given slot
  			self.versionPrevIndices.push(si);
  			vr = vl;
  		} else if (v) {
  			// faster parseInt using unary operator
  			vr = +v;
  		}
  		vt += vr;
  		return vr;
  	}
docs: parse out bump/current version characters from version slot