# Source: math/UUID.js

    /**
     * Class to implement UUID generation methods.
     *
     * @class
     */
    function UUID(){}

    /**
     * Generates a new random UUID v4 as string.
     *
     * @static
     * @return {string} UUID generated as string.
     */
    UUID.generate = (function ()
    {
    	var lut = [];
    	for(var i = 0; i < 256; i++)
    	{
    		lut[i] = (i < 16 ? "0" : "") + (i).toString(16);
    	}

    	return function generateUUID()
    	{
    		var d0 = Math.random() * 0XFFFFFFFF | 0;
    		var d1 = Math.random() * 0XFFFFFFFF | 0;
    		var d2 = Math.random() * 0XFFFFFFFF | 0;
    		var d3 = Math.random() * 0XFFFFFFFF | 0;

    		var uuid = lut[d0 & 0xff] + lut[d0 >> 8 & 0xff] + lut[d0 >> 16 & 0xff] + lut[d0 >> 24 & 0xff] + "-" +
    			lut[d1 & 0xff] + lut[d1 >> 8 & 0xff] + "-" + lut[d1 >> 16 & 0x0f | 0x40] + lut[d1 >> 24 & 0xff] + "-" +
    			lut[d2 & 0x3f | 0x80] + lut[d2 >> 8 & 0xff] + "-" + lut[d2 >> 16 & 0xff] + lut[d2 >> 24 & 0xff] +
    			lut[d3 & 0xff] + lut[d3 >> 8 & 0xff] + lut[d3 >> 16 & 0xff] + lut[d3 >> 24 & 0xff];

    		return uuid.toUpperCase();
    	};
    })();

    export {UUID};