(function(root,factory){if(typeof exports=="object"){module.exports=factory(root)}else if(typeof define=="function"&&define.amd){define([],factory.bind(root,root))}else{factory(root)}})(typeof global!="undefined"?global:this,function(root){if(root.CSS&&root.CSS.escape){return root.CSS.escape}var cssEscape=function(value){if(arguments.length==0){throw new TypeError("`CSS.escape` requires an argument.")}var string=String(value);var length=string.length;var index=-1;var codeUnit;var result="";var firstCodeUnit=string.charCodeAt(0);while(++index<length){codeUnit=string.charCodeAt(index);if(codeUnit==0){result+="�";continue}if(codeUnit>=1&&codeUnit<=31||codeUnit==127||index==0&&codeUnit>=48&&codeUnit<=57||index==1&&codeUnit>=48&&codeUnit<=57&&firstCodeUnit==45){result+="\\"+codeUnit.toString(16)+" ";continue}if(index==0&&length==1&&codeUnit==45){result+="\\"+string.charAt(index);continue}if(codeUnit>=128||codeUnit==45||codeUnit==95||codeUnit>=48&&codeUnit<=57||codeUnit>=65&&codeUnit<=90||codeUnit>=97&&codeUnit<=122){result+=string.charAt(index);continue}result+="\\"+string.charAt(index)}return result};if(!root.CSS){root.CSS={}}root.CSS.escape=cssEscape;return cssEscape});