| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 | (function (global, factory) {	typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :	typeof define === 'function' && define.amd ? define(['exports'], factory) :	(global = global || self, factory(global.sourcemapCodec = {}));}(this, function (exports) { 'use strict';	var charToInteger = {};	var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';	for (var i = 0; i < chars.length; i++) {	    charToInteger[chars.charCodeAt(i)] = i;	}	function decode(mappings) {	    var decoded = [];	    var line = [];	    var segment = [	        0,	        0,	        0,	        0,	        0,	    ];	    var j = 0;	    for (var i = 0, shift = 0, value = 0; i < mappings.length; i++) {	        var c = mappings.charCodeAt(i);	        if (c === 44) { // ","	            segmentify(line, segment, j);	            j = 0;	        }	        else if (c === 59) { // ";"	            segmentify(line, segment, j);	            j = 0;	            decoded.push(line);	            line = [];	            segment[0] = 0;	        }	        else {	            var integer = charToInteger[c];	            if (integer === undefined) {	                throw new Error('Invalid character (' + String.fromCharCode(c) + ')');	            }	            var hasContinuationBit = integer & 32;	            integer &= 31;	            value += integer << shift;	            if (hasContinuationBit) {	                shift += 5;	            }	            else {	                var shouldNegate = value & 1;	                value >>>= 1;	                if (shouldNegate) {	                    value = value === 0 ? -0x80000000 : -value;	                }	                segment[j] += value;	                j++;	                value = shift = 0; // reset	            }	        }	    }	    segmentify(line, segment, j);	    decoded.push(line);	    return decoded;	}	function segmentify(line, segment, j) {	    // This looks ugly, but we're creating specialized arrays with a specific	    // length. This is much faster than creating a new array (which v8 expands to	    // a capacity of 17 after pushing the first item), or slicing out a subarray	    // (which is slow). Length 4 is assumed to be the most frequent, followed by	    // length 5 (since not everything will have an associated name), followed by	    // length 1 (it's probably rare for a source substring to not have an	    // associated segment data).	    if (j === 4)	        line.push([segment[0], segment[1], segment[2], segment[3]]);	    else if (j === 5)	        line.push([segment[0], segment[1], segment[2], segment[3], segment[4]]);	    else if (j === 1)	        line.push([segment[0]]);	}	function encode(decoded) {	    var sourceFileIndex = 0; // second field	    var sourceCodeLine = 0; // third field	    var sourceCodeColumn = 0; // fourth field	    var nameIndex = 0; // fifth field	    var mappings = '';	    for (var i = 0; i < decoded.length; i++) {	        var line = decoded[i];	        if (i > 0)	            mappings += ';';	        if (line.length === 0)	            continue;	        var generatedCodeColumn = 0; // first field	        var lineMappings = [];	        for (var _i = 0, line_1 = line; _i < line_1.length; _i++) {	            var segment = line_1[_i];	            var segmentMappings = encodeInteger(segment[0] - generatedCodeColumn);	            generatedCodeColumn = segment[0];	            if (segment.length > 1) {	                segmentMappings +=	                    encodeInteger(segment[1] - sourceFileIndex) +	                        encodeInteger(segment[2] - sourceCodeLine) +	                        encodeInteger(segment[3] - sourceCodeColumn);	                sourceFileIndex = segment[1];	                sourceCodeLine = segment[2];	                sourceCodeColumn = segment[3];	            }	            if (segment.length === 5) {	                segmentMappings += encodeInteger(segment[4] - nameIndex);	                nameIndex = segment[4];	            }	            lineMappings.push(segmentMappings);	        }	        mappings += lineMappings.join(',');	    }	    return mappings;	}	function encodeInteger(num) {	    var result = '';	    num = num < 0 ? (-num << 1) | 1 : num << 1;	    do {	        var clamped = num & 31;	        num >>>= 5;	        if (num > 0) {	            clamped |= 32;	        }	        result += chars[clamped];	    } while (num > 0);	    return result;	}	exports.decode = decode;	exports.encode = encode;	Object.defineProperty(exports, '__esModule', { value: true });}));//# sourceMappingURL=sourcemap-codec.umd.js.map
 |